Bash
ファイルを一覧表示する
サーチ…
構文
- ls [オプション] ... [ファイル] ...
パラメーター
オプション | 説明 |
---|---|
-a 、 -a --all | ドットで始まるものを含むすべてのエントリを一覧表示する |
-A 、 -A --almost-all | 除外するすべてのエントリをリストします. そして.. |
-c | 変更時間でファイルをソートする |
-d 、-- --directory | ディレクトリエントリを一覧表示する |
-h 、 - --human-readable | 人間が判読可能な形式でサイズを表示する(例: K 、 M ) |
-H | 1024の代わりに1000の累乗でのみ上記と同じです |
-l | 内容を長いリスト形式で表示する |
-o | グループ情報のない長いリスト形式 |
-r 、-- --reverse | 内容を逆順に表示する |
-s 、-- --size | 各ファイルのブロック単位の印刷サイズ |
-S | ファイルサイズで並べ替える |
--sort=WORD | 内容を単語で並べ替えます。 (サイズ、バージョン、ステータス) |
-t | 変更時間で並べ替え |
-u | 前回のアクセス時間で並べ替え |
-v | バージョンで並べ替え |
-1 | 1行に1ファイルを一覧表示する |
リストファイル
ls
コマンドは、指定されたディレクトリの内容を表示します(ドットファイルは除く )。ディレクトリが指定されていない場合、デフォルトでは、現在のディレクトリの内容が一覧表示されます。
リストされたファイルは、デフォルトでアルファベット順にソートされ、1行に収まらない場合は列に整列されます。
$ ls
apt configs Documents Fonts Music Programming Templates workspace
bin Desktop eclipse git Pictures Public Videos
長いリスト形式のファイルを一覧表示する
ls
コマンドの-l
オプションは、指定されたディレクトリの内容を長いリスト形式で出力します。ディレクトリが指定されていない場合、デフォルトでは、現在のディレクトリの内容が一覧表示されます。
ls -l /etc
出力例:
total 1204
drwxr-xr-x 3 root root 4096 Apr 21 03:44 acpi
-rw-r--r-- 1 root root 3028 Apr 21 03:38 adduser.conf
drwxr-xr-x 2 root root 4096 Jun 11 20:42 alternatives
...
出力は最初にtotal
表示します。これは、リストされたディレクトリ内のすべてのファイルの合計サイズをブロック単位で示します。次に、リストされたディレクトリ内の各ファイルの8列の情報を表示します。出力の各列の詳細は以下のとおりです。
列番号 | 例 | 説明 |
---|---|---|
1.1 | d | ファイルタイプ(下記の表を参照) |
1.2 | rwxr-xr-x | 許可文字列 |
2 | 3 | ハードリンクの数 |
3 | root | 所有者名 |
4 | root | 所有者グループ |
5 | 4096 | ファイルサイズ(バイト単位) |
6 | Apr 21 03:44 | 変更時刻 |
7 | acpi | ファイル名 |
ファイルの種類
ファイルタイプは、次のいずれかの文字のいずれかになります。
キャラクター | ファイルの種類 |
---|---|
- | 通常のファイル |
b | 特殊ファイルをブロックする |
c | 文字特殊ファイル |
C | 高性能(「連続データ」)ファイル |
d | ディレクトリ |
D | Door(Solaris 2.5以降の特別なIPCファイルのみ) |
l | シンボリックリンク |
M | オフライン(「移行済み」)ファイル(Cray DMF) |
n | ネットワーク特殊ファイル(HP-UX) |
p | FIFO(名前付きパイプ) |
P | Port(Solaris 10以降の特別なシステムファイルのみ) |
s | ソケット |
? | その他のファイルタイプ |
サイズでソートされたリストファイル
ls
コマンドの-S
オプションは、ファイルサイズの大きい順にファイルをソートします。
$ ls -l -S ./Fruits
total 444
-rw-rw-rw- 1 root root 295303 Jul 28 19:19 apples.jpg
-rw-rw-rw- 1 root root 102283 Jul 28 19:19 kiwis.jpg
-rw-rw-rw- 1 root root 50197 Jul 28 19:19 bananas.jpg
-r
オプションと一緒に使用すると、ソート順が逆になります。
$ ls -l -S -r /Fruits
total 444
-rw-rw-rw- 1 root root 50197 Jul 28 19:19 bananas.jpg
-rw-rw-rw- 1 root root 102283 Jul 28 19:19 kiwis.jpg
-rw-rw-rw- 1 root root 295303 Jul 28 19:19 apples.jpg
`ls`を使わないでファイルを一覧表示する
Bashシェルのファイル名展開と中括弧拡張機能を使用して、ファイル名を取得します。
# display the files and directories that are in the current directory
printf "%s\n" *
# display only the directories in the current directory
printf "%s\n" */
# display only (some) image files
printf "%s\n" *.{gif,jpg,png}
処理のためにファイルのリストを変数に取り込むには、通常、 bash配列を使用することをお勧めします。
files=( * )
# iterate over them
for file in "${files[@]}"; do
echo "$file"
done
最新の10個のファイルを一覧表示する
以下は、長いリスト形式( -l
)と時刻( -t
)でソートされた、現在のディレクトリ内の最も最近修正されたファイルを最大10個リストします。
ls -lt | head
ドットファイルを含むすべてのファイルを一覧表示する
ドットファイルは、名前がaで始まるファイルです.
。これらは通常ls
によって隠され、要求されない限りリストされません。
たとえば、次のようなls
出力があります。
$ ls
bin pki
-a
または--all
オプションを-a
すると、ドットファイルを含むすべてのファイルが一覧表示されます。
$ ls -a
. .ansible .bash_logout .bashrc .lesshst .puppetlabs .viminfo
.. .bash_history .bash_profile bin pki .ssh
-A
または--almost-all
オプションは、ドットファイルを含むすべてのファイルをリストしますが、暗黙指定されていません.
そして..
注意してください.
現在のディレクトリであり、 ..
は親ディレクトリです。
$ ls -A
.ansible .bash_logout .bashrc .lesshst .puppetlabs .viminfo
.bash_history .bash_profile bin pki .ssh
ツリー形式のファイルを一覧表示する
tree
コマンドは、指定されたディレクトリの内容をツリー形式で一覧表示します。ディレクトリが指定されていない場合、デフォルトでは、現在のディレクトリの内容が一覧表示されます。
出力例:
$ tree /tmp
/tmp
├── 5037
├── adb.log
└── evince-20965
└── image.FPWTJY.png
表示の深さを制限するには、 tree
コマンドの-L
オプションを使用し、リストディレクトリのみに-d
オプションを使用します。
出力例:
$ tree -L 1 -d /tmp
/tmp
└── evince-20965