拡張子ごとにファイルを並べて表示する方法|ls -Xオプションの使い方と実践例


この記事の監修:宮崎智広(Linux教育歴15年以上・受講者3,100名超)
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)Linuxtips, ディレクトリ・ファイル操作 > 拡張子ごとにファイルを並べて表示する方法|ls -Xオプションの使い方と実践例
「Linuxで拡張子ごとにファイルを並べて表示したい」
「lsコマンドで拡張子順にソートする方法がわからない」
Linuxの ls コマンドには、ファイルを拡張子順に並べて表示する -X オプション(大文字のX)があります。
ファイル数が多いディレクトリで、種類別にファイルを把握したい場面に役立ちます。

この記事では、ls -Xオプションの使い方と、拡張子でソートする実践的な方法を解説します。

【この記事でわかること】
・ls -Xで拡張子順にファイルを並べる方法
・-lオプションとの組み合わせで詳細情報も表示する方法
・ls以外でファイルを拡張子別にグループ分けする方法
・特定の拡張子のファイルだけを一覧表示する方法

「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

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

拡張子のアルファベット順(BMP→TIFF→PNG→doc→pdf→ps→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

同じ拡張子(BMP・PNG・TIFF・doc・pdf・ps・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 では、拡張子がないファイル(例:MakefileDockerfile)はリストの先頭に表示されます。

本記事のまとめ

やりたいこと コマンド
拡張子順にファイルを表示 ls -X
拡張子順+詳細情報を表示 ls -lX
拡張子の逆順に表示 ls -lXr
特定の拡張子だけを表示 ls -lh *.jpg(globパターン)
サブディレクトリ含めて検索 find . -name "*.jpg" -type f

Linuxのlsコマンドをはじめ、基本コマンドを体系的に学びませんか?

lsコマンドひとつをとっても、オプションの組み合わせで見え方が大きく変わります。基礎をしっかり理解することが、現場での作業効率を高めます。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。

「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。


暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録

宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として15年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。