見通しよくファイルの一覧を確認する(シェルスクリプト)

課題

ls コマンドでファイルの一覧を確認するとき、ファイルの数やファイル名の長さによって表示がまちまちになり、分かりづらい。

$ pwd
/
$ ls
Applications Users        cores        home         sbin         var
Library      Volumes      dev          opt          tmp
System       bin          etc          private      usr

解決法

ls コマンドの -1 オプションを利用する。 -1オプションはPOSIXにも規定されているオプションである(ls - The Open Group Publications Catalog)。

$ pwd
/
$ ls -1
Applications
Library
System
Users
Volumes
bin
cores
dev
etc
home
opt
private
sbin
tmp
usr
var

所感

オプション無しの ls コマンドの出力は、一行中に複数の情報が表示されるという意味で、情報が把握しにくくやっかいである。 そのときの状況によって一行中にいくつのファイル名が出力されるか変わるというのも困る。 確実に一行あたりひとつの表示にしたいときはやはり多い。

ちなみに ls コマンドの出力をパイプラインで後続に接続すると、一行あたりひとつの表示になる模様(手元のMacOSの場合で確認)。 丁寧なんだか丁寧じゃないんだか...。 ただし個人的には ls コマンドの出力をパイプラインに入力することはほとんどない。

$ pwd
/
$ ls | cat
Applications
Library
System
Users
Volumes
bin
cores
dev
etc
home
opt
private
sbin
tmp
usr
var