![Linux でフルパスを使用してファイルを一覧表示するにはどうすればいいですか?](https://rvso.com/image/1345272/Linux%20%E3%81%A7%E3%83%95%E3%83%AB%E3%83%91%E3%82%B9%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E4%B8%80%E8%A6%A7%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%81%84%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
Linux には、フルパスとファイル名がリストされる場所に相当するものはありますかDir /s /a /b
? 私は Linux 初心者で、GUI がなくても、ハードディスク上の構造を把握したいと思っています。
答え1
コマンドを使用しますfind
。デフォルトでは、現在のディレクトリから下のすべてのファイルとフォルダが完全な (相対) パスで再帰的にリストされます。
完全なパスが必要な場合は、次を使用します。
find "$PWD"
相対パスが必要な場合は、次を使用します。
find .
ここで、は$PWD
現在の作業ディレクトリを含む変数です。
いくつかのオプション:
- ファイルまたはフォルダーのみに制限する場合は、それぞれ
find "$PWD" -type f
または を使用しますfind -type d
。 - 特定のディレクトリの深さで停止したい場合は、
find "$PWD" -maxdepth 2
たとえば を使用します。
読むファイルの検索find
Linux のデフォルトであるGNU に関する詳細なマニュアル。
答え2
今日、同じ質問がありました。「realpath」というコマンドを見つけました。例を示します。
$ realpath ~/.bashrc
/home/harleygolfguy/.bashrc
答え3
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'
:./
結果リストから先頭の文字を削除します
答え4
完全を期すために、このls -lR /
コマンドは、ルート ディレクトリから下まで、各ファイルの名前、ファイル タイプ、ファイル モード ビット、ハード リンクの数、所有者名、グループ名、サイズ、およびすべてのファイル (アクセス権を持つファイル) のタイムスタンプを一覧表示します。 (l
は長いリスト、つまりすべての情報、R
はディレクトリを再帰的に処理し、/
ファイル システムのルートから始まります。)
出力情報を に近づけるためのパラメータは多数ありますdir /S /A
が、 をどのように変換すればよいのかわかりません/B
。
役に立つ情報としては、以下を試してください: ls -lAFGR --si /
どこ
- l = 長いリスト(上記参照)
- A = ほぼすべてのファイル (各ディレクトリに . と .. は含まれませんが、すべての隠しファイルが表示されます)
*
F = ファイルインジケータを表示 ( exe ファイル、/
ディレクトリ、@
シンボリックリンク、|
FIFO、=
ソケット、>
ドアのいずれか)- G = グループ情報を表示しない (表示したい場合はこれを削除してください)
- R = ディレクトリ(サブディレクトリ)を再帰的にリストし、
- --si = 人間が読める形式でファイルサイズを表示します。例: 1M 形式 (1M = 1000B)
ls
は、ディレクトリとそのディレクトリ内のファイルの概要をより簡単に読みやすく提供できます。これは、find
ファイルが非常に長いディレクトリ構造 (複数行にまたがる) 内に含まれている場合、 の出力をスキャンするのが難しい場合があるためです。その結果、各ファイルは個別にリストされ (つまり、ディレクトリ パス情報なしで)、特定のファイルが配置されているディレクトリを見つけるために、数ページ/画面を戻らなければならない場合があります。
また、find には DIR コマンドの /A 情報が含まれていません。私が示したコマンドにはいくつかの属性が提案されています (偶然にも、特定のプロプライエタリ システムよりも Linux から得られる追加の有用性を示しています)。のman
およびinfo
のページを読めばls
、何を含めるべきか、何を含めるべきでないかがわかります。