Linuxサーバーでlsのコマンドの使い方をまとめます。
- Linuxサーバーでディレクトリ配下のファイルも表示したい
- ファイルの種類をわかるように表示したい
- 更新時間順にわかりやすく表示したい
そういった悩みはないでしょうか?
というわけでディレクトリやファイルを表示する、lsコマンドのオプションなど詳しく見ていきます。
筆者はWindowsサーバーやLinuxサーバーの運用構築を11年間以上おこなってきました。その経験を元に知識を公開していきます!
Linuxサーバーでファイルなどの表示が、lsコマンドで自由自在におこなえる様になります。
Linuxサーバーでlsコマンドの使い方
Linuxサーバーでディレクトリやファイルを表示するコマンドはlsコマンドです。
[root@localhost ~]# ls
anaconda-ks.cfg blog_test enforcy~ memory_usage_check.log thinclient_drives
backup enforce~ enforcz~ sh_test vmstat.log
bash-completion enforcx~ file1.txt startup.log workspace
現在いるディレクトリにあるディレクトリやファイルが表示されます。
しかしどれがディレクトリなのかもわかりずらいし、更新日時やファイルサイズなども表示して欲しい時もあります。
そんな時にオプションが必要となります。
lsコマンドのオプションについて
lsコマンドのオプションについてまとめます。
lsコマンドのオプション | 効果 |
---|---|
-l | ディレクトリやファイルの詳細を表示 |
-1 | ディレクトリやファイルを一列に表示 |
-a | 全てのディレクトリやファイルを表示。隠しファイルなど |
-R | ディレクトリ配下も表示 |
-r | 順序を逆に表示。デフォルトは名前の順 |
-t | 更新日時が新しい順で表示 |
–full-time | 更新日時を詳細に表示 |
-S | ファイルサイズ順に表示 |
-h | ファイルサイズを丁度良い単位で表示 |
-i | i-node番号を表示 |
-F | ファイルの種類を表示 |
ディレクトリやファイルの詳細を表示
lsコマンドのlオプションで、ディレクトリやファイルの詳細を表示する事が可能です。
[root@localhost ~]# ls -l
合計 80
-rw-------. 1 root root 1257 1月 7 2023 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 4月 25 2023 backup
drwxr-xr-x. 3 root root 48 4月 13 2023 bash-completion
drwxr-xr-x. 2 root root 75 12月 4 19:32 blog_test
-rw-r--r--. 1 root root 1 11月 18 23:24 enforce~
-rw-r--r--. 1 root root 1 11月 19 00:43 enforcx~
-rw-r--r--. 1 root root 1 11月 19 00:43 enforcy~
-rw-r--r--. 1 root root 1 11月 19 00:42 enforcz~
-rw-r--r-- 1 root root 42 4月 25 23:01 file1.txt
-rw-r--r-- 1 root root 0 5月 6 23:22 link.ln
-rw-r--r-- 1 root root 911 4月 29 18:29 memory_usage_check.log
drwxr-xr-x. 12 root root 4096 4月 27 2023 sh_test
-rw-r--r-- 1 root root 0 5月 4 17:27 startup.log
drwxr-xr-x 2 root root 19 5月 8 18:42 symbolic-link
drwxr-xr-x 2 root root 6 5月 8 19:48 symbolic-link-dir
-rw-r--r-- 1 root root 29 5月 8 18:24 symbolic-link-file1
lrwxrwxrwx 1 root root 25 5月 8 21:08 symbolic-link-file1.ln -> /root/symbolic-link-file1
-rw-r--r-- 1 root root 29 5月 8 18:33 symbolic-link-file2
drwxr-xr-t 2 root root 6 12月 21 22:58 thinclient_drives
-rw-r--r-- 1 root root 28327 4月 29 19:21 vmstat.log
drwxr-xr-x. 2 root root 4096 4月 24 2023 workspace
オプション無しと比べると、パーミッションや所有するユーザーやグループ、ファイルサイズ、更新日付などが表示されています。
ディレクトリやファイルを一列に表示
lsコマンドの1オプションで、ディレクトリやファイルを一列に表示する事が可能です。
[root@localhost ~]# ls -1
anaconda-ks.cfg
backup
bash-completion
blog_test
enforce~
enforcx~
enforcy~
enforcz~
file1.txt
link.ln
memory_usage_check.log
sh_test
startup.log
symbolic-link
symbolic-link-dir
symbolic-link-file1
symbolic-link-file1.ln
symbolic-link-file2
thinclient_drives
vmstat.log
workspace
オプション無しと比べると、縦並びで見やすくなっています。
全てのディレクトリやファイルを表示
lsコマンドのaオプションで、全てのディレクトリやファイルを表示する事が可能です。
[root@localhost ~]# ls -a
. .cshrc .rnd bash-completion link.ln symbolic-link-file1.ln
.. .dbus .ssh blog_test memory_usage_check.log symbolic-link-file2
.Xauthority .file1.txt.swo .tcshrc enforce~ sh_test thinclient_drives
.bash_history .file1.txt.swp .vnc enforcx~ startup.log vmstat.log
.bash_logout .local .xsession-errors enforcy~ symbolic-link workspace
.bash_profile .mysql_history anaconda-ks.cfg enforcz~ symbolic-link-dir
.bashrc .pki backup file1.txt symbolic-link-file1
オプション無しと比べると、ファイル数などが増えています。隠しファイルも表示されています。
ディレクトリ配下も表示
lsコマンドのRオプションで、ディレクトリ配下も全て表示する事が可能です。
[root@localhost ~]# ls -R
.:
anaconda-ks.cfg enforce~ file1.txt startup.log symbolic-link-file1.ln workspace
backup enforcx~ link.ln symbolic-link symbolic-link-file2
bash-completion enforcy~ memory_usage_check.log symbolic-link-dir thinclient_drives
blog_test enforcz~ sh_test symbolic-link-file1 vmstat.log
./backup:
./bash-completion:
bash_completion completions
./bash-completion/completions:
findgrep_getopt trash
./blog_test:
comment_out.sh echo.sh test.txt text.txt
./sh_test:
args.sh
./sh_test/16test:
16nonetest.txt 16nonetest2.txt
./sh_test/18test:
18_testtext.txt
./sh_test/64_backup_after:
./sh_test/64_backup_before:
back1 back2
./sh_test/66_log:
66_1.txt 66_2.txt
./sh_test/67_myapp:
67_app1.txt 67_app2.txt 67_test.svn
./sh_test/74_dir1:
file1 file2 file3 file_ex
./sh_test/74_dir2:
file1 file2 file3
./sh_test/file_exist:
file_exist.sh file_exist.txt
./sh_test/output:
59_body.txt 59_menu.txt
./symbolic-link:
link2
./symbolic-link-dir:
./thinclient_drives:
./workspace:
test.txt
配下のファイルが一覧された後に、ディレクトリ配下のファイルまで表示されています。
順序を逆に表示
lsコマンドのrオプションで、ディレクトリの表示順を逆にできます。
[root@localhost ~]# ls -l
合計 80
-rw-------. 1 root root 1257 1月 7 2023 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 4月 25 2023 backup
drwxr-xr-x. 3 root root 48 4月 13 2023 bash-completion
drwxr-xr-x. 2 root root 75 12月 4 19:32 blog_test
-rw-r--r--. 1 root root 1 11月 18 23:24 enforce~
-rw-r--r--. 1 root root 1 11月 19 00:43 enforcx~
-rw-r--r--. 1 root root 1 11月 19 00:43 enforcy~
-rw-r--r--. 1 root root 1 11月 19 00:42 enforcz~
-rw-r--r-- 1 root root 42 4月 25 23:01 file1.txt
-rw-r--r-- 1 root root 0 5月 6 23:22 link.ln
-rw-r--r-- 1 root root 911 4月 29 18:29 memory_usage_check.log
drwxr-xr-x. 12 root root 4096 4月 27 2023 sh_test
-rw-r--r-- 1 root root 0 5月 4 17:27 startup.log
drwxr-xr-x 2 root root 19 5月 8 18:42 symbolic-link
drwxr-xr-x 2 root root 6 5月 8 19:48 symbolic-link-dir
-rw-r--r-- 1 root root 29 5月 8 18:24 symbolic-link-file1
lrwxrwxrwx 1 root root 25 5月 8 21:08 symbolic-link-file1.ln -> /root/symbolic-link-file1
-rw-r--r-- 1 root root 29 5月 8 18:33 symbolic-link-file2
drwxr-xr-t 2 root root 6 12月 21 22:58 thinclient_drives
-rw-r--r-- 1 root root 28327 4月 29 19:21 vmstat.log
drwxr-xr-x. 2 root root 4096 4月 24 2023 workspace
[root@localhost ~]# ls -rl
合計 80
drwxr-xr-x. 2 root root 4096 4月 24 2023 workspace
-rw-r--r-- 1 root root 28327 4月 29 19:21 vmstat.log
drwxr-xr-t 2 root root 6 12月 21 22:58 thinclient_drives
-rw-r--r-- 1 root root 29 5月 8 18:33 symbolic-link-file2
lrwxrwxrwx 1 root root 25 5月 8 21:08 symbolic-link-file1.ln -> /root/symbolic-link-file1
-rw-r--r-- 1 root root 29 5月 8 18:24 symbolic-link-file1
drwxr-xr-x 2 root root 6 5月 8 19:48 symbolic-link-dir
drwxr-xr-x 2 root root 19 5月 8 18:42 symbolic-link
-rw-r--r-- 1 root root 0 5月 4 17:27 startup.log
drwxr-xr-x. 12 root root 4096 4月 27 2023 sh_test
-rw-r--r-- 1 root root 911 4月 29 18:29 memory_usage_check.log
-rw-r--r-- 1 root root 0 5月 6 23:22 link.ln
-rw-r--r-- 1 root root 42 4月 25 23:01 file1.txt
-rw-r--r--. 1 root root 1 11月 19 00:42 enforcz~
-rw-r--r--. 1 root root 1 11月 19 00:43 enforcy~
-rw-r--r--. 1 root root 1 11月 19 00:43 enforcx~
-rw-r--r--. 1 root root 1 11月 18 23:24 enforce~
drwxr-xr-x. 2 root root 75 12月 4 19:32 blog_test
drwxr-xr-x. 3 root root 48 4月 13 2023 bash-completion
drwxr-xr-x. 2 root root 6 4月 25 2023 backup
-rw-------. 1 root root 1257 1月 7 2023 anaconda-ks.cfg
「ls -l」コマンドと「ls-rl」コマンドを比較すると、表示順が逆になっているのがわかります。
更新日時が新しい順で表示
lsコマンドのtオプションで、更新日時順に表示する事が可能です。
[root@localhost ~]# ls -tl
合計 80
lrwxrwxrwx 1 root root 25 5月 8 21:08 symbolic-link-file1.ln -> /root/symbolic-link-file1
drwxr-xr-x 2 root root 6 5月 8 19:48 symbolic-link-dir
drwxr-xr-x 2 root root 19 5月 8 18:42 symbolic-link
-rw-r--r-- 1 root root 29 5月 8 18:33 symbolic-link-file2
-rw-r--r-- 1 root root 29 5月 8 18:24 symbolic-link-file1
-rw-r--r-- 1 root root 0 5月 6 23:22 link.ln
-rw-r--r-- 1 root root 0 5月 4 17:27 startup.log
-rw-r--r-- 1 root root 28327 4月 29 19:21 vmstat.log
-rw-r--r-- 1 root root 911 4月 29 18:29 memory_usage_check.log
-rw-r--r-- 1 root root 42 4月 25 23:01 file1.txt
drwxr-xr-t 2 root root 6 12月 21 22:58 thinclient_drives
drwxr-xr-x. 2 root root 75 12月 4 19:32 blog_test
-rw-r--r--. 1 root root 1 11月 19 00:43 enforcx~
-rw-r--r--. 1 root root 1 11月 19 00:43 enforcy~
-rw-r--r--. 1 root root 1 11月 19 00:42 enforcz~
-rw-r--r--. 1 root root 1 11月 18 23:24 enforce~
drwxr-xr-x. 12 root root 4096 4月 27 2023 sh_test
drwxr-xr-x. 2 root root 6 4月 25 2023 backup
drwxr-xr-x. 2 root root 4096 4月 24 2023 workspace
drwxr-xr-x. 3 root root 48 4月 13 2023 bash-completion
-rw-------. 1 root root 1257 1月 7 2023 anaconda-ks.cfg
更新日時が新しい順に表示されています。
更新日時を詳細に表示
先程のtオプションでは更新日時が月と日だけで詳細な更新日時がわかりません。そんなときは「–full-time」オプションをつけてあげましょう!
[root@localhost ~]# ls --full-time -t
合計 80
lrwxrwxrwx 1 root root 25 2024-05-08 21:08:30.984000000 +0900 symbolic-link-file1.ln -> /root/symbolic-link-file1
drwxr-xr-x 2 root root 6 2024-05-08 19:48:39.173000000 +0900 symbolic-link-dir
drwxr-xr-x 2 root root 19 2024-05-08 18:42:02.484000000 +0900 symbolic-link
-rw-r--r-- 1 root root 29 2024-05-08 18:33:17.071000000 +0900 symbolic-link-file2
-rw-r--r-- 1 root root 29 2024-05-08 18:24:55.993000000 +0900 symbolic-link-file1
-rw-r--r-- 1 root root 0 2024-05-06 23:22:53.597000000 +0900 link.ln
-rw-r--r-- 1 root root 0 2024-05-04 17:27:30.070000000 +0900 startup.log
-rw-r--r-- 1 root root 28327 2024-04-29 19:21:45.766000000 +0900 vmstat.log
-rw-r--r-- 1 root root 911 2024-04-29 18:29:59.609000000 +0900 memory_usage_check.log
-rw-r--r-- 1 root root 42 2024-04-25 23:01:15.694000000 +0900 file1.txt
drwxr-xr-t 2 root root 6 2023-12-21 22:58:46.774000000 +0900 thinclient_drives
drwxr-xr-x. 2 root root 75 2023-12-04 19:32:23.632000000 +0900 blog_test
-rw-r--r--. 1 root root 1 2023-11-19 00:43:44.000000000 +0900 enforcx~
-rw-r--r--. 1 root root 1 2023-11-19 00:43:17.000000000 +0900 enforcy~
-rw-r--r--. 1 root root 1 2023-11-19 00:42:58.000000000 +0900 enforcz~
-rw-r--r--. 1 root root 1 2023-11-18 23:24:08.000000000 +0900 enforce~
drwxr-xr-x. 12 root root 4096 2023-04-27 10:24:18.580000000 +0900 sh_test
drwxr-xr-x. 2 root root 6 2023-04-25 11:21:39.897000000 +0900 backup
drwxr-xr-x. 2 root root 4096 2023-04-24 17:36:35.843000000 +0900 workspace
drwxr-xr-x. 3 root root 48 2023-04-13 14:30:01.922000000 +0900 bash-completion
-rw-------. 1 root root 1257 2023-01-07 20:59:41.775000000 +0900 anaconda-ks.cfg
更新日時が詳細に表示されて、新しい順になっている事が確認しやすくなりました。
ファイルサイズ順に表示
lsコマンドのSオプションで、ファイルサイズ順に表示する事が可能です。
[root@localhost ~]# ls -Sl
合計 80
-rw-r--r-- 1 root root 28327 4月 29 19:21 vmstat.log
drwxr-xr-x. 12 root root 4096 4月 27 2023 sh_test
drwxr-xr-x. 2 root root 4096 4月 24 2023 workspace
-rw-------. 1 root root 1257 1月 7 2023 anaconda-ks.cfg
-rw-r--r-- 1 root root 911 4月 29 18:29 memory_usage_check.log
drwxr-xr-x. 2 root root 75 12月 4 19:32 blog_test
drwxr-xr-x. 3 root root 48 4月 13 2023 bash-completion
-rw-r--r-- 1 root root 42 4月 25 23:01 file1.txt
-rw-r--r-- 1 root root 29 5月 8 18:24 symbolic-link-file1
-rw-r--r-- 1 root root 29 5月 8 18:33 symbolic-link-file2
lrwxrwxrwx 1 root root 25 5月 8 21:08 symbolic-link-file1.ln -> /root/symbolic-link-file1
drwxr-xr-x 2 root root 19 5月 8 18:42 symbolic-link
drwxr-xr-x. 2 root root 6 4月 25 2023 backup
drwxr-xr-x 2 root root 6 5月 8 19:48 symbolic-link-dir
drwxr-xr-t 2 root root 6 12月 21 22:58 thinclient_drives
-rw-r--r--. 1 root root 1 11月 18 23:24 enforce~
-rw-r--r--. 1 root root 1 11月 19 00:43 enforcx~
-rw-r--r--. 1 root root 1 11月 19 00:43 enforcy~
-rw-r--r--. 1 root root 1 11月 19 00:42 enforcz~
-rw-r--r-- 1 root root 0 5月 6 23:22 link.ln
-rw-r--r-- 1 root root 0 5月 4 17:27 startup.log
ファイルサイズが大きい順に表示されました。ディスク領域圧迫の原因を調査する場合によく使用します。
ファイルサイズを丁度良い単位で表示
lsコマンドのhオプションで、ファイルサイズを丁度良い単位で表示する事が可能です。
[root@localhost ~]# ls -hSl
合計 80K
-rw-r--r-- 1 root root 28K 4月 29 19:21 vmstat.log
drwxr-xr-x. 12 root root 4.0K 4月 27 2023 sh_test
drwxr-xr-x. 2 root root 4.0K 4月 24 2023 workspace
-rw-------. 1 root root 1.3K 1月 7 2023 anaconda-ks.cfg
-rw-r--r-- 1 root root 911 4月 29 18:29 memory_usage_check.log
drwxr-xr-x. 2 root root 75 12月 4 19:32 blog_test
drwxr-xr-x. 3 root root 48 4月 13 2023 bash-completion
-rw-r--r-- 1 root root 42 4月 25 23:01 file1.txt
-rw-r--r-- 1 root root 29 5月 8 18:24 symbolic-link-file1
-rw-r--r-- 1 root root 29 5月 8 18:33 symbolic-link-file2
lrwxrwxrwx 1 root root 25 5月 8 21:08 symbolic-link-file1.ln -> /root/symbolic-link-file1
drwxr-xr-x 2 root root 19 5月 8 18:42 symbolic-link
drwxr-xr-x. 2 root root 6 4月 25 2023 backup
drwxr-xr-x 2 root root 6 5月 8 19:48 symbolic-link-dir
drwxr-xr-t 2 root root 6 12月 21 22:58 thinclient_drives
-rw-r--r--. 1 root root 1 11月 18 23:24 enforce~
-rw-r--r--. 1 root root 1 11月 19 00:43 enforcx~
-rw-r--r--. 1 root root 1 11月 19 00:43 enforcy~
-rw-r--r--. 1 root root 1 11月 19 00:42 enforcz~
-rw-r--r-- 1 root root 0 5月 6 23:22 link.ln
-rw-r--r-- 1 root root 0 5月 4 17:27 startup.log
ファイルサイズ順に並べています。大きい方は自動でキロバイトで表示されました。ファイルサイズが見にくい場合に使用します。
i-node番号を表示
lsコマンドのiオプションで、i-node番号を表示する事が可能です。
[root@localhost ~]# ls -il
合計 80
8409154 -rw-------. 1 root root 1257 1月 7 2023 anaconda-ks.cfg
10839619 drwxr-xr-x. 2 root root 6 4月 25 2023 backup
10839616 drwxr-xr-x. 3 root root 48 4月 13 2023 bash-completion
10839593 drwxr-xr-x. 2 root root 75 12月 4 19:32 blog_test
10841135 -rw-r--r--. 1 root root 1 11月 18 23:24 enforce~
10841138 -rw-r--r--. 1 root root 1 11月 19 00:43 enforcx~
10841137 -rw-r--r--. 1 root root 1 11月 19 00:43 enforcy~
10841136 -rw-r--r--. 1 root root 1 11月 19 00:42 enforcz~
8903766 -rw-r--r-- 1 root root 42 4月 25 23:01 file1.txt
10766005 -rw-r--r-- 1 root root 0 5月 6 23:22 link.ln
8903768 -rw-r--r-- 1 root root 911 4月 29 18:29 memory_usage_check.log
1994778 drwxr-xr-x. 12 root root 4096 4月 27 2023 sh_test
10766006 -rw-r--r-- 1 root root 0 5月 4 17:27 startup.log
41946946 drwxr-xr-x 2 root root 19 5月 8 18:42 symbolic-link
41946947 drwxr-xr-x 2 root root 6 5月 8 19:48 symbolic-link-dir
10797424 -rw-r--r-- 1 root root 29 5月 8 18:24 symbolic-link-file1
10797421 lrwxrwxrwx 1 root root 25 5月 8 21:08 symbolic-link-file1.ln -> /root/symbolic-link-file1
10797425 -rw-r--r-- 1 root root 29 5月 8 18:33 symbolic-link-file2
10864482 drwxr-xr-t 2 root root 6 12月 21 22:58 thinclient_drives
8903769 -rw-r--r-- 1 root root 28327 4月 29 19:21 vmstat.log
10839594 drwxr-xr-x. 2 root root 4096 4月 24 2023 workspace
始めの列にi-node番号が表示されました。
ファイルの種類を表示
lsコマンドのFオプションで、ファイルの種類を表示する事が可能です。
[root@localhost ~]# ls -F
anaconda-ks.cfg blog_test/ enforcy~ link.ln* startup.log symbolic-link-file1 thinclient_drives/
backup/ enforce~ enforcz~ memory_usage_check.log symbolic-link/ symbolic-link-file1.ln@ vmstat.log
bash-completion/ enforcx~ file1.txt sh_test/ symbolic-link-dir/ symbolic-link-file2 workspace/
ファイルやディレクトリ名の後に文字がついているものがあります。ファイルの種類を表しています。
- 「/」が付いているもの・・・ディレクトリ
- 「@」が付いているもの・・・シンボリックリンク
- 「*」が付いているもの・・・実行可能なファイル
まとめ:Linuxサーバーでlsコマンドの使い方
Linuxサーバーでディレクトリやファイルを表示するコマンドはlsコマンドです。
lsコマンドのオプションについてまとめます。
lsコマンドのオプション | 効果 |
---|---|
-l | ディレクトリやファイルの詳細を表示 |
-1 | ディレクトリやファイルを一列に表示 |
-a | 全てのディレクトリやファイルを表示。隠しファイルなど |
-R | ディレクトリ配下も表示 |
-r | 順序を逆に表示。デフォルトは名前の順 |
-t | 更新日時が新しい順で表示 |
–full-time | 更新日時を詳細に表示 |
-S | ファイルサイズ順に表示 |
-h | ファイルサイズを丁度良い単位で表示 |
-i | i-node番号を表示 |
-F | ファイルの種類を表示 |