-Fオプションをlsに追加する

-Fオプションをlsに追加する

コマンド用ls

   -F, --classify
          append indicator (one of */=>@|) to entries

Wikipedia*は、実行可能ファイルとディレクトリを意味すると言います/。通常のファイルの後には上記の記号はありません。

しかし、*以下にはテキストファイルとPDFファイルもあります。実行ファイルですか?

インジケータは-F常にの最初のフィールドと同じことを意味しますか-rwxrwx---

-Fハードリンクとファイルまたはインジケータの最初のフィールドの間に違いはないようです-rwxrwx---。どのように区別しますか?

ありがとうございます。

ベストアンサー1

ls -F〜する:

ディレクトリである各パス名( '/' )、各実行可能ファイルの後ろ( '*' )、各FIFO( '|')の直後に書き込みます。パス名はat記号( '@')の後に書き込まれます。シンボリックリンク。

GNU ls には追加の信号が含まれています。:

... '='はソケットを意味し、'>'はドアを意味します。

=主なBSDにも存在します(FreeBSDオープンBSDネットワークBSDオペレーティングシステム)。 OpenBSDを除くすべての項目には、%ホワイトニング機能も含まれています。ほとんどの商用Unicesが含まれていますが、=標準ではありません。

*ファイルが実行可能とマークされている場合、つまり実行可能ビットがセットされると、ファイルの後にAが表示されます。これは必ずしも実際にファイルを実行できるという意味ではありません。以下を使用して実行可能ビットの設定を解除できます。chmod -x;通常、テキストファイルとPDFが実行可能であることを望まないので、これを行うことができます。実行ファイルxには出力も含まれますls -l

他の人のために:

  • /非常に単純なディレクトリを表します。
  • |名前付きパイプであるFIFOを表します。mkfifo(データを一度だけ書き込んで再読み込みできます。)
  • @の使用を示します。ln -s、これは別のパスのエイリアスです。
  • =他のプロセスとの通信に使用される特別なファイルであるソケットを表します。
  • >~のためドア一部のシステムの別のプロセス間通信機能です。
  • %forwhiteouts は、連合ファイル・システム・スタックの上位層で行われた削除を表示するために使用される特殊ファイルを表します。

「一般ファイル」とは、通常、データを書き込んで後で再度読み込むファイルと考えられるファイルである。あるいは、上記のカテゴリのいずれかに属さないと考えることもできます。


ls -F出力かどうかにかかわらず、ハードリンクと他のファイルの間に全く違いはありません。実際、各ファイルを独自のハードリンクと考えることができます。出力で特定のファイルへのリンク数を表示できますls -l。 2番目のフィールドはリンクの数です。

-rw-r--r-- 3 root root  92766 Feb 20 11:42 test.txt

このファイルには3つのリンクがあります。どちらも「基本」リンクではなく、どのような方法で元のリンクが何であるかを知ることはできません。ファイルを削除すると数が減りますが、他のファイルは同じファイルを参照し続けます。


-Fdoを除くすべてのマーカーは、*中間モード出力の最初のフィールド値の1つにマップされますls -l追加 価値特に、bブロックデバイス、cキャラクタデバイス、およびその他のシステム固有のインジケータの場合にも表示されることがあります。

おすすめ記事