一般ファイルのみ一覧表示

一般ファイルのみ一覧表示

現在のディレクトリのすべてのinodeをリストしたいと思います。一般ファイル(つまり、ディレクトリ、リンク、特殊ファイルではない)ls -lall)マークがあります。

man ls検索してみると、typeこの点についてよく理解できない内容だけが見つかりました。

--インジケータースタイル=WORD

アイテム名にWORDスタイルインジケータを追加します。なし(デフォルト)、スラッシュ(-p)、ファイルタイプ(--file-type)、カテゴリ(-F)

一般ファイルのみをリストするにはどうすればよいですかls -lallUbuntu 18.04のショートカット)?

答え1

find . -maxdepth 1 -type f -ls

これにより、現在のディレクトリにあるものと同様の形式で通常のファイルが提供されます(ただし、コマンドラインのおかげで通常のファイルのみが表示されますls -lisa)。-type -f

-ls(BSDによって導入された)と-maxdepth(GNUによって導入された)は非find標準(現在は一般的ですが)拡張です。 POSIXlyでは、次のように書くことができます。

find . ! -name . -prune -type f -exec ls -ldi {} +

(これはファイルリストを並べ替えるという利点もありますが、現在のディレクトリに多数のファイルがある場合は、大きな独立チャンクで並べ替えることができます。)

答え2

lsこれを行うオプションはなく、一般ファイルをフィルタリングするために出力を解析しないでください。

find利用できる代わりに、一般ファイルを見つけて一覧表示してくださいls。別のオプションは、Zshとそのファイルを使用することです。グローバル予選:

ls -l -- *(D.)

名前がドットで始まるファイルを含むすべての一般ファイルを一覧表示します。

答え3

-a を使用すると、隠しファイルとフォルダの両方が表示されます。 lsの代わりにfindコマンドを使用することもできます。これにより開始されます。

find -type f -exec ls -la {} \;

まず、検索したいディレクトリに変更する必要があります。

関連情報