find
を使用 指図。デフォルトでは、現在のディレクトリから下にあるすべてのファイルとフォルダーが、完全な (相対) パスで再帰的に一覧表示されます。
フルパスが必要な場合は、次を使用します:find "$(pwd)"
.
- ファイルまたはフォルダーのみに制限する場合は、
find -type f
を使用します またはfind -type d
- 特定のディレクトリの深さで停止する場合は、
find -maxdepth 2
を使用します
GNU find
に関する詳細なマニュアルについては、Finding Files を参照してください。 、Linux のデフォルトです。
$ pwd
/home/victoria
$ find $(pwd) -maxdepth 1 -type f -not -path '*/\.*' | sort
/home/victoria/new
/home/victoria/new1
/home/victoria/new2
/home/victoria/new3
/home/victoria/new3.md
/home/victoria/new.md
/home/victoria/package.json
/home/victoria/Untitled Document 1
/home/victoria/Untitled Document 2
$ find . -maxdepth 1 -type f -not -path '*/\.*' | sed 's/^\.\///g' | sort
new
new1
new2
new3
new3.md
new.md
package.json
Untitled Document 1
Untitled Document 2
注:
.
:現在のフォルダ-maxdepth 1
を削除 再帰的に検索する-type f
:ディレクトリではなく、ファイルを検索します (d
)-not -path '*/\.*'
:.hidden_files
を返さないsed 's/^\.\///g'
:先頭に追加された./
を削除します 結果リストから
完全を期すために、ls -lR /
コマンドは、各ファイルの名前、ファイルタイプ、ファイルモードビット、ハードリンクの数、所有者名、グループ名、サイズ、およびすべてのファイル (アクセス権限がある) のタイムスタンプをルートディレクトリから下に一覧表示します。 (l
長いリスト、つまりすべての情報、R
です。 ディレクトリを再帰することです /
ファイルシステムのルートから始まります。)
出力情報を dir /S /A
に近づけるためのパラメーターがいくつかあります。 、しかし、私は /B
を翻訳する方法を理解できないことを認めなければなりません .
有用な情報については、 ls -lAFGR --si /
を試してみます。
どこで
- l =長いリスト (前述のとおり)
- A =ほぼすべてのファイル (各ディレクトリに . および .. は含まれませんが、隠しファイルはすべて表示されます)
- F =ファイル インジケータを表示 (
*
のいずれか) exe ファイルの場合、/
ディレクトリの場合、@
シンボリック リンクの場合、|
FIFO の場合、=
ソケットの場合、および>
fordoors) - G =グループ情報を表示しない (表示したい場合は削除してください)
- R =ディレクトリ (サブディレクトリ) を再帰的にリストし、
- --si =人間が読める形式 (例:1M 形式) でファイル サイズを表示 (1M =1000B)
ls
find
のように、ディレクトリとそれらのディレクトリ内のファイルの概要を読みやすくすることができます の出力は、ファイルが非常に長いディレクトリ構造 (複数行にまたがる) に含まれている場合、スキャンするのが難しい場合があります。当然のことながら、各ファイルは個別に (つまり、ディレクトリ パス情報なしで) リストされ、特定のファイルが配置されているディレクトリを見つけるために、数ページ/画面に戻る必要がある場合があります。
また、find には DIR コマンドの /A 情報が含まれていません。私が示したコマンドでいくつかの属性を提案しました (これは偶然にも、特定のプロプライエタリ システムで Linux から得られる特別な有用性を示しています)。しかし、man
と info
ls
のページ 、何を含めるか含めないかを確認できます。