「lsコマンドで拡張子順にソートする方法がわからない」
Linuxの
ls コマンドには、ファイルを拡張子順に並べて表示する -X オプション(大文字のX)があります。ファイル数が多いディレクトリで、種類別にファイルを把握したい場面に役立ちます。
この記事では、ls -Xオプションの使い方と、拡張子でソートする実践的な方法を解説します。
・ls -Xで拡張子順にファイルを並べる方法
・-lオプションとの組み合わせで詳細情報も表示する方法
・ls以外でファイルを拡張子別にグループ分けする方法
・特定の拡張子のファイルだけを一覧表示する方法
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
ls -Xで拡張子順にファイルを表示する(基本)
ls コマンドに -X オプション(大文字のX)を付けると、ファイルが拡張子のアルファベット順に並んで表示されます。$ ls -X custom_install.doc server.BMP server.TIFF custom_install.pdf server.PNG server_60.PNG custom_install.ps server.jpg server_60.jpg server_640x480.jpg server_90.jpg
ls -lXで詳細情報も表示する
-l(詳細表示)と組み合わせると、パーミッション・オーナー・サイズ・更新日時も一緒に確認できます。$ ls -lX 合計 159480 -rw-rw-r-- 1 user user 14745654 12月 26 05:46 2012 server.BMP -rw-rw-r-- 1 user user 7661465 12月 26 05:47 2012 server.PNG -rw-rw-r-- 1 user user 2971456 12月 27 07:02 2012 server_60.PNG -rw-rw-r-- 1 user user 8353071 12月 26 05:47 2012 server.TIFF -rw-r--r-- 1 user user 16452096 1月 10 08:22 2013 custom_install.doc -rw-rw-r-- 1 user user 40830438 1月 10 08:51 2013 custom_install.pdf -rw-rw-r-- 1 user user 66680395 1月 10 08:37 2013 custom_install.ps -rw-r--r-- 1 user user 2302349 12月 26 05:46 2012 server.jpg -rw-rw-r-- 1 user user 885383 12月 27 06:56 2012 server_60.jpg -rw-rw-r-- 1 user user 153010 12月 27 06:55 2012 server_640x480.jpg -rw-rw-r-- 1 user user 2242568 12月 27 06:50 2012 server_90.jpg
応用・実務Tips
1. 逆順で表示する(-r)
-r(reverse)を追加すると、拡張子の逆アルファベット順に並びます。$ ls -lXr # jpg→ps→pdf→doc→TIFF→PNG→BMP の順に表示される
2. 特定の拡張子のファイルだけを一覧表示する
拡張子でフィルタリングするには、glob パターンを使います。# JPGファイルだけを表示 $ ls -lh *.jpg -rw-r--r-- 1 user user 2.3M 12月 26 05:46 server.jpg -rw-rw-r-- 1 user user 865K 12月 27 06:56 server_60.jpg -rw-rw-r-- 1 user user 150K 12月 27 06:55 server_640x480.jpg -rw-rw-r-- 1 user user 2.2M 12月 27 06:50 server_90.jpg # テキストファイルとログファイルを一緒に表示 $ ls -lh *.txt *.log
3. findとlsを組み合わせてサブディレクトリも含めて拡張子別に一覧表示する
# サブディレクトリも含めてJPGファイルをすべて表示 $ find . -name "*.jpg" -type f ./images/photo1.jpg ./archive/server.jpg ./archive/server_60.jpg
トラブルシュート
ls -Xで期待通りの順序にならない
大文字・小文字が混在する拡張子(例:.JPG と .jpg)は、ロケール設定によって並び順が変わることがあります。大文字・小文字を区別しないソートをするには、環境変数
LC_ALL=C を指定します。$ LC_ALL=C ls -lX
拡張子がないファイルの扱い
ls -X では、拡張子がないファイル(例:Makefile、Dockerfile)はリストの先頭に表示されます。本記事のまとめ
| やりたいこと | コマンド |
|---|---|
| 拡張子順にファイルを表示 | ls -X |
| 拡張子順+詳細情報を表示 | ls -lX |
| 拡張子の逆順に表示 | ls -lXr |
| 特定の拡張子だけを表示 | ls -lh *.jpg(globパターン) |
| サブディレクトリ含めて検索 | find . -name "*.jpg" -type f |
Linuxのlsコマンドをはじめ、基本コマンドを体系的に学びませんか?
lsコマンドひとつをとっても、オプションの組み合わせで見え方が大きく変わります。基礎をしっかり理解することが、現場での作業効率を高めます。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら
