トップページ > サーバ構築 > ls コマンドで並び替えや表示する数を指定する方法
ls コマンドで並び替えや表示する数を指定する方法
RedHat や CentOS など Linux 系のサーバでファイルやディレクトリの一覧を表示する ls コマンドの使い方と同時に付与するオプションにより並び替えや表示する数を指定して便利に活用する方法を紹介する。
このページの目次
1. ls コマンドとは
ls コマンドとは Linux 系のサーバに用意されているファイルやディレクトリの一覧を表示する機能で list segments の略である。
ls の後ろにオプション値を付けることで表示形式や表示させたい対象を指定することができる。
また、ls コマンドの後ろに一覧を表示させたいファイルやディレクトリを指定することでディレクトリを移動することなく一覧表示させることが可能である。
2. ファイル名だけ表示する
ファイル名だけを表示する場合は、対象のディレクトリに移動した後に下記のように ls コマンドでファイル等の一覧が表示される。
属性などが無いファイル名だけが表示されるとともに、.(ピリオド)で始まる特殊ファイルは表示されない。
# ls COPYING app composer.json dockerbuild html maintenance.php package.json src var web.config Dockerfile bin composer.lock gulpfile.js index.php package-lock.json robots.txt symfony.lock vendor
3. 全ファイルを表示する(-a オプション)
.(ピリオド)で始まる特殊ファイルを含む全てのファイル名を表示する場合は、ls コマンドの後ろにオプション -a を付与する。
オプションが -a だけの場合は属性等は表示されない。
# ls -a . .env .htaccess app composer.lock html package-lock.json src vendor .. .env.dist COPYING bin dockerbuild index.php package.json symfony.lock web.config .dockerignore .env.install Dockerfile composer.json gulpfile.js maintenance.php robots.txt var
4. ファイルの属性を表示する(-l オプション)
ファイルのパーミッションや所有者、ファイルサイズ、更新日付といった属性を一緒にファイル名を表示する場合は、ls コマンドの後ろにオプション -l を付与する。
表示される一覧はファイルとディレクトリが入り混じった状態で、アルファベットの五十音順で表示される。
# ls -l 合計 652 -rw-r--r-- 1 apache apache 17987 9月 5 2019 COPYING -rw-r--r-- 1 apache apache 2682 9月 5 2019 Dockerfile drwxr-xrwx 9 apache apache 141 5月 4 2020 app drwxr-xrwx 2 apache apache 76 5月 4 2020 bin -rw-r--rw- 1 apache apache 6672 9月 5 2019 composer.json -rw-r--rw- 1 apache apache 355704 9月 5 2019 composer.lock ・ ・ ・
5. ファイルサイズの大きい順で並び替えする(-S オプション)
ファイルの一覧を表示する際にファイルサイズの大きい順に並び替えをする場合は、ls コマンドの後ろにオプション -S を付与する。
下記の例では分かりやすいようにファイルの属性も表示するオプション -l も一緒に付与している。
# ls -lS 合計 652 -rw-r--rw- 1 apache apache 355704 9月 5 2019 composer.lock -rw-r--r-- 1 apache apache 226935 9月 5 2019 package-lock.json -rw-r--r-- 1 apache apache 17987 9月 5 2019 COPYING -rw-r--r-- 1 apache apache 15644 9月 5 2019 symfony.lock -rw-r--rw- 1 apache apache 6672 9月 5 2019 composer.json -rw-r--r-- 1 apache apache 4240 9月 5 2019 web.config drwxr-xrwx 33 apache apache 4096 5月 4 2020 vendor -rw-r--r-- 1 apache apache 2736 9月 5 2019 index.php ・ ・ ・
6. 拡張子ごとにまとめて表示する(-X オプション
ファイルの一覧を表示する際に拡張子ごとにまとめて表示する場合は、ls コマンドの後ろにオプション -X を付与する。
下記の例では分かりやすいようにファイルの属性も表示するオプション -l も一緒に付与している。
拡張子ごとにまとめられる際は拡張子のアルファベットの五十音順に並ぶ。
# ls -lX 合計 652 -rw-r--r-- 1 apache apache 17987 9月 5 2019 COPYING -rw-r--r-- 1 apache apache 2682 9月 5 2019 Dockerfile drwxr-xrwx 9 apache apache 141 5月 4 2020 app drwxr-xrwx 2 apache apache 76 5月 4 2020 bin drwxr-xrwx 2 apache apache 38 5月 4 2020 dockerbuild drwxr-xrwx 6 apache apache 67 5月 4 2020 html drwxr-xrwx 3 apache apache 37 5月 4 2020 src drwxr-xrwx 5 apache apache 62 5月 4 2020 var drwxr-xrwx 33 apache apache 4096 5月 4 2020 vendor -rw-r--r-- 1 apache apache 4240 9月 5 2019 web.config -rw-r--r-- 1 apache apache 1814 9月 5 2019 gulpfile.js -rw-r--rw- 1 apache apache 6672 9月 5 2019 composer.json -rw-r--r-- 1 apache apache 226935 9月 5 2019 package-lock.json -rw-r--r-- 1 apache apache 1379 9月 5 2019 package.json -rw-r--rw- 1 apache apache 355704 9月 5 2019 composer.lock -rw-r--r-- 1 apache apache 15644 9月 5 2019 symfony.lock -rw-r--r-- 1 apache apache 2736 9月 5 2019 index.php -rw-r--r-- 1 apache apache 1548 9月 5 2019 maintenance.php -rw-r--r-- 1 apache apache 18 9月 5 2019 robots.txt
7. ファイルサイズの表示を変える(-h オプション)
ファイルの一覧を表示する際にファイルサイズの単位を変えて表示する場合は、ls コマンドの後ろにオプション -h を付与する。
下記の例では分かりやすいようにファイルの属性も表示するオプション -l も一緒に付与している。
オプション -h はファイルサイズの桁数に応じて動的に変わり、例えば 1,000 バイト以上では K の単位が付き、1,000 バイト未満の場合は単位を示すアルファベットは付かないようになっている。
# ls -lh 合計 652K -rw-r--r-- 1 apache apache 18K 9月 5 2019 COPYING -rw-r--r-- 1 apache apache 2.7K 9月 5 2019 Dockerfile drwxr-xrwx 9 apache apache 141 5月 4 2020 app drwxr-xrwx 2 apache apache 76 5月 4 2020 bin -rw-r--rw- 1 apache apache 6.6K 9月 5 2019 composer.json -rw-r--rw- 1 apache apache 348K 9月 5 2019 composer.lock drwxr-xrwx 2 apache apache 38 5月 4 2020 dockerbuild -rw-r--r-- 1 apache apache 1.8K 9月 5 2019 gulpfile.js drwxr-xrwx 6 apache apache 67 5月 4 2020 html -rw-r--r-- 1 apache apache 2.7K 9月 5 2019 index.php -rw-r--r-- 1 apache apache 1.6K 9月 5 2019 maintenance.php ・ ・ ・
8. 最終更新日時を表示する(--time-style オプション)
ファイルの一覧を表示する際にファイルの更新日時の内、秒まで表示する場合は、ls コマンドの後ろにオプション --time-style を付与する。
下記の例では分かりやすいようにファイルの属性も表示するオプション -l も一緒に付与している。
オプション --time-style は = の後ろにさらに値を入れる利用方法となり、秒まで表示するには full-iso を指定する。
# ls -l --time-style=full-iso 合計 652 -rw-r--r-- 1 apache apache 17987 2019-09-05 15:42:44.000000000 +0900 COPYING -rw-r--r-- 1 apache apache 2682 2019-09-05 15:42:44.000000000 +0900 Dockerfile drwxr-xrwx 9 apache apache 141 2020-05-04 11:23:24.499331520 +0900 app drwxr-xrwx 2 apache apache 76 2020-05-04 11:23:25.171340846 +0900 bin -rw-r--rw- 1 apache apache 6672 2019-09-05 15:42:44.000000000 +0900 composer.json -rw-r--rw- 1 apache apache 355704 2019-09-05 15:42:44.000000000 +0900 composer.lock drwxr-xrwx 2 apache apache 38 2020-05-04 11:23:25.620347077 +0900 dockerbuild -rw-r--r-- 1 apache apache 1814 2019-09-05 15:42:44.000000000 +0900 gulpfile.js drwxr-xrwx 6 apache apache 67 2020-05-04 11:23:45.532623405 +0900 html -rw-r--r-- 1 apache apache 2736 2019-09-05 15:42:44.000000000 +0900 index.php -rw-r--r-- 1 apache apache 1548 2019-09-05 15:42:44.000000000 +0900 maintenance.php ・ ・ ・
また、--time-style で long-iso を指定することでファイルの更新日時の分まで一覧に表示される。
# ls -l --time-style=long-iso 合計 652 -rw-r--r-- 1 apache apache 17987 2019-09-05 15:42 COPYING -rw-r--r-- 1 apache apache 2682 2019-09-05 15:42 Dockerfile drwxr-xrwx 9 apache apache 141 2020-05-04 11:23 app drwxr-xrwx 2 apache apache 76 2020-05-04 11:23 bin -rw-r--rw- 1 apache apache 6672 2019-09-05 15:42 composer.json -rw-r--rw- 1 apache apache 355704 2019-09-05 15:42 composer.lock drwxr-xrwx 2 apache apache 38 2020-05-04 11:23 dockerbuild -rw-r--r-- 1 apache apache 1814 2019-09-05 15:42 gulpfile.js drwxr-xrwx 6 apache apache 67 2020-05-04 11:23 html -rw-r--r-- 1 apache apache 2736 2019-09-05 15:42 index.php -rw-r--r-- 1 apache apache 1548 2019-09-05 15:42 maintenance.php ・ ・ ・
9. 最新更新時間順に表示する(-t オプション)
ファイルの一覧を表示する際にファイルの更新日時の新しい順(降順)で表示する場合は、ls コマンドの後ろにオプション -t を付与する。
下記の例では分かりやすいようにファイルの属性も表示するオプション -l も一緒に付与している。
# ls -lt 合計 652 drwxr-xrwx 5 apache apache 62 5月 4 2020 var drwxr-xrwx 33 apache apache 4096 5月 4 2020 vendor drwxr-xrwx 3 apache apache 37 5月 4 2020 src drwxr-xrwx 6 apache apache 67 5月 4 2020 html drwxr-xrwx 2 apache apache 38 5月 4 2020 dockerbuild drwxr-xrwx 2 apache apache 76 5月 4 2020 bin drwxr-xrwx 9 apache apache 141 5月 4 2020 app -rw-r--r-- 1 apache apache 17987 9月 5 2019 COPYING -rw-r--r-- 1 apache apache 2682 9月 5 2019 Dockerfile -rw-r--rw- 1 apache apache 6672 9月 5 2019 composer.json -rw-r--rw- 1 apache apache 355704 9月 5 2019 composer.lock -rw-r--r-- 1 apache apache 1814 9月 5 2019 gulpfile.js -rw-r--r-- 1 apache apache 2736 9月 5 2019 index.php -rw-r--r-- 1 apache apache 1548 9月 5 2019 maintenance.php ・ ・ ・
10. 表示する数を指定する
ファイルの一覧を表示する際に、表示する数を指定する場合は、ls コマンドの後ろにパイプと数量を付与する。
下記の例では分かりやすいようにファイルの属性も表示するオプション -l も一緒に付与している。
# ls -l | head -5 合計 652 -rw-r--r-- 1 apache apache 17987 9月 5 2019 COPYING -rw-r--r-- 1 apache apache 2682 9月 5 2019 Dockerfile drwxr-xrwx 9 apache apache 141 5月 4 2020 app drwxr-xrwx 2 apache apache 76 5月 4 2020 bin
11. よく使う ls コマンドの例
ファイルを一覧表示する際によく利用する ls コマンドの例は「ls -la」である。
オプション -l でファイルサイズや更新日時を表示させつつ、-a で.(ピリオド)から始まる特殊ファイルも全て表示され、対象ディレクトリの状態が一目瞭然となるためよく利用されるコマンドである。
# ls -la 合計 676 drwxr-xrwx 9 apache apache 4096 5月 4 2020 . drwxr-xr-x 6 root root 116 11月 23 2020 .. -rw-r--r-- 1 apache apache 15 9月 5 2019 .dockerignore -rw-rw-rw- 1 apache apache 2067 2月 9 2021 .env -rw-r--r-- 1 apache apache 1846 9月 5 2019 .env.dist -rw-r--r-- 1 apache apache 96 9月 5 2019 .env.install -rw-r--r-- 1 apache apache 2365 9月 5 2019 .htaccess -rw-r--r-- 1 apache apache 17987 9月 5 2019 COPYING -rw-r--r-- 1 apache apache 2682 9月 5 2019 Dockerfile drwxr-xrwx 9 apache apache 141 5月 4 2020 app drwxr-xrwx 2 apache apache 76 5月 4 2020 bin -rw-r--rw- 1 apache apache 6672 9月 5 2019 composer.json -rw-r--rw- 1 apache apache 355704 9月 5 2019 composer.lock drwxr-xrwx 2 apache apache 38 5月 4 2020 dockerbuild -rw-r--r-- 1 apache apache 1814 9月 5 2019 gulpfile.js ・ ・ ・
12. ls コマンドの応用例
ls コマンドには上記以外にも多くのオプションが用意されており、組み合わすことでサーバ操作が非常に楽になる。
例えば下記の例はファイルの全属性を表示しつつ、更新日時の新しい順に 10 件表示させる場合は下記のように行う。
# ls -lat | head -10 合計 676 -rw-rw-rw- 1 apache apache 2067 2月 9 2021 .env drwxr-xr-x 6 root root 116 11月 23 2020 .. drwxr-xrwx 9 apache apache 4096 5月 4 2020 . drwxr-xrwx 5 apache apache 62 5月 4 2020 var drwxr-xrwx 33 apache apache 4096 5月 4 2020 vendor drwxr-xrwx 3 apache apache 37 5月 4 2020 src drwxr-xrwx 6 apache apache 67 5月 4 2020 html drwxr-xrwx 2 apache apache 38 5月 4 2020 dockerbuild drwxr-xrwx 2 apache apache 76 5月 4 2020 bin
関連記事
サーバ
RedHat や CentOS など Linux 系のサーバにインストールしたパッケージを一覧で確認するために、インストールやアップデートで利用した yum コマンドを活用する方法を紹介する。
RedHat8 / CentOS8 に FTP をインストールして利用できるまでの手順
サーバ
RedHat や CentOS など Linux 系のサーバでファイルをアップロードしたりディレクトリを作成するために FTP サーバが必要になるため、FTP サーバとして提供されている vsftpd のインストールと設定方法について紹介する。
RedHat8 / CentOS8 のインストールと初期セットアップまでの手順
サーバ
数あるサーバ OS の中から RedHat8 とその派生 OS となる CentOS8 のインストールとネットワークやユーザ作成など必要最低限の初期セットアップまでの手順を掲載。
サーバ
OS「CentOS 7」でセキュリティ制御ツールの"SELinux"の一時的停止と恒久的な停止の設定について掲載しています。
サーバ
OS「CentOS 7」でパッケージ管理ツールの"yum"のアップデートと EPEL リポジトリのインストールと設定について掲載しています。