PuTTy では、ディレクトリの直後にある @ 記号は何を意味しますか?
元。
pdf/
public_html/
video@
これはシンボリック リンクですが、別のサーバーでは、同じシンボリック リンクの後に @ 記号が付いていません。
答え1
次の違いがあります:
$ ls
そして
$ ls -F
しかしそれはパテではありません。
答え2
すでに回答されていることは承知していますが、詳細を追加したいのですが、コメント ウィンドウで長い説明をするのは難しいです。
このls
コマンドは-F
、特定のファイルタイプを末尾の文字で装飾するフラグを取ります。ディレクトリは/
、、実行可能ファイル*
、シンボリックリンクを取ります@
。2 台のマシンで入力していて、両方で同じファイルシステムを見ているのに異なるものが表示される場合は、一方のマシンに、もう一方のマシンと一致しないls
エイリアスまたは関数があると思います。両方のマシンで と入力すると、両方のマシンで異なる出力が得られるでしょう。ls
type ls
また、あなたのコメントでは、ハード リンクとシンボリック リンクについて触れられています。これらはまったく異なります。シンボリック リンクは、ファイルまたはディレクトリへのポインタです。これは Windows のショートカットに非常に似ています (ただし、UNIX は Windows よりもうまく機能し、Windows はコピーが下手です)。このディスクでも、別のディスクでも、どこでも指すことができます。指しているものも、そこに存在する場合と存在しない場合があります。存在しないファイル/ディレクトリを指すシンボリック リンクがある場合、それはぶら下がったシンボリック リンクと呼ばれます。
ハード リンクはファイルの名前です。ファイルは実際には 2 つの部分から成り立っていると考えてください。データ、つまりファイルに実際に入れた情報があります。テキスト、曲など、何でもかまいません。空のファイルの場合は何も入っていません。次に、メタデータ、つまりファイルに関する情報について考えてみましょう。名前は何ですか? ファイルの種類は何ですか (ファイル、ディレクトリ、fifo、シンボリック リンクなど)、最後に書き込んだのはいつですか、ファイルのアクセス許可は何ですか? このメタデータがハード リンクです。UNIX では、この名前とその他のメタデータから実際のファイルへの 1 対 1 の関係はありません。異なる名前、異なる場所、異なるアクセス許可など、このようなリンクをさらに作成できます。これをハード リンクと呼びます。ファイルを作成すると、システムは常にこれらのハード リンクの 1 つを作成しますが、hard-linking
通常は を使用して手動で別のリンクを作成する場合にのみ参照されますln
。ハード リンクは、データと同じファイル システム上にのみ存在できます。これは、シンボリック リンクとのもう 1 つの違いです。 Linux システムでは、ディレクトリへのハード リンクも作成できません。ハード リンクを作成すると、ディレクトリ構造にループが発生し、実際の問題が発生する可能性があるためです (MacOSX では、ハード リンクを使用して Time Machine(tm) バックアップをユーザーから見えにくくするため、この規制は少し緩和されています)。
答え3
man ls
ファイルをリストするときに表示される記号の意味については、以下を入力してください。@
は、ファイルがシンボリックリンク。