よく使うlsコマンドのオプション

今日は雨ですね。ハイボール飲んで気分が良いです。
普段の運用や構築でよく使う「ls」コマンドのオプションを紹介します。

lsも突き詰めればたくさんの便利なオプションがあります。
たくさんのおぷしょんの中でよく使うオプションを紹介します。

ls -l

パーミッション、所有者:グループ表示などできるオプションです。
基本でよく使うコマンドかと思います。

Redhat, CentOS系では「ll」と入力するとこのコマンドが実行されるようにaliasが設定されてあるディストリビューションもありますね。

[[email protected] etc]$ ls -l
total 1256
-rw-r--r-- 1 root root 5090 Oct 20 2017 DIR_COLORS
-rw-r--r-- 1 root root 5725 Oct 20 2017 DIR_COLORS.256color
-rw-r--r-- 1 root root 4669 Oct 20 2017 DIR_COLORS.lightbgcolor
-rw-r--r-- 1 root root 94 Oct 19 2017 GREP_COLORS
-rw-r--r-- 1 root root 842 Oct 19 2017 GeoIP.conf
-rw-r--r-- 1 root root 858 Oct 19 2017 GeoIP.conf.default
...

ls -ltr

ls -lに加え、最後に更新があったファイルをソートして一番下に表示するコマンドです。よく使います。

....
drwxr-xr-x  2 root root       67 Sep 18 23:46 my.cnf.d
drwxr-xr-x  2 root root      117 Sep 18 23:46 logrotate.d
drwxr-xr-x  2 root root      300 Sep 18 23:46 alternatives
drwxr-xr-x  6 root root     4096 Sep 18 23:47 sysconfig
drwxr-xr-x  2 root root      199 Sep 18 23:47 ld.so.conf.d
-rw-r--r--  1 root root    30475 Sep 18 23:47 ld.so.cache
-rw-r--r--  1 root root      131 Sep 18 23:48 resolv.conf
drwxr-xr-x  9 root root      256 Sep 23 00:29 letsencrypt

たくさんファイルがあって表示しきれないんですが・・・

合わせてless オプションを使うと良いでしょう。基本セットが簡素なシステムではlessもないのでmoreを使ったりします。

ls -l | less (|はパイプ)

less を扱うには以下のことを覚えておけば十分でしょう。
j: で下に1行移動
k: で上に1行移動
SPACE: で1ページ下に移動
b: で1ページ上に移動
Shift+g: で一番下に移動
1, Shift+g: で一番上に移動 (ちょっと特殊な操作ですが、1を押した後にShift+gを押すだけです)
q: で終了

[[email protected] etc]$ ls -l |less
...
drwxr-xr-x  2 root root        6 Oct 19  2017 cron.weekly
-rw-r--r--  1 root root      451 Oct 19  2017 crontab
-rw-r--r--  1 root root     1620 Oct 20  2017 csh.cshrc
-rw-r--r--  1 root root      841 Jun  7  2013 csh.login
drwxr-xr-x  4 root root       78 Sep 18 23:46 dbus-1
drwxr-xr-x  2 root root       44 Aug 25 11:17 default
drwxr-xr-x  2 root root        6 Mar 12  2018 depmod.d
drwxr-x---  4 root root       74 May 22 02:40 dhcp
-rw-r--r--  1 root root     1285 Jun 21 08:46 dracut.conf
:
<この状態で上記コマンドで行移動できます>

ファイルサイズでソートしたいんですけど・・・

ls -l | sort -k 5n

lsのオプションでも出来た気がしますが、覚えるのがめんどくさいので、組み合わせでそれぞれの用途にあったコマンドを覚えたほうが、応用が聞くと思います。

sortは表示のカラム(列)を指定して並び替えできますので、他のコマンドと一緒に応用が効きます。例のコマンドではファイルサイズを数字の大きさ順にソートしています。

[[email protected] etc]$ ls -l |sort -k 5n
...
-rw-r--r--  1 root root     5725 Oct 20  2017 DIR_COLORS.256color
-rw-r--r--  1 root root     6545 Jun  7  2013 protocols
-rw-r--r--  1 root root     6722 Oct 20  2017 screenrc
-rw-r--r--  1 root root     8892 Oct 20  2017 nanorc
-rw-r--r--  1 root root    12288 Mar 12  2018 aliases.db
-rw-r--r--  1 root root    30475 Sep 18 23:47 ld.so.cache
-rw-r--r--  1 root root    62221 Dec 13  2017 php.ini.default
-rw-r--r--  1 root root    62359 Mar 14  2018 php.ini
-rw-r--r--  1 root root   670293 Jun  7  2013 services

5番目のカラム(5)を数字の大きさ(n)でソートしています。

ls -l | sort -k 5n | less とか組み合わせても良いですね。