端末上でディレクトリ内のファイルやディレクトリを一覧する作業について
ここでは端末の環境におけるディレクトリ内のファイルやディレクトリの一覧を取得する作業についてを扱う。
ls系コマンド
ディレクトリ内のファイルやディレクトリの一覧はls,dir,vdirといったコマンドで取得でき、オプション指定をしない場合の表示形式に違いはあるものの、dirやvdirはlsにオプションを追加したものなので、対応するオプションはlsと共通している。また、これらは色が付かない場合があるので、必要に応じて--colorオプションを付ける。名前が「.」で始まる項目は隠し項目扱いとなり、そのままでは表示されない。
(単純なリスト) $ ls ( [オプション...] ) ( [ディレクトリ(省略時は現在の作業ディレクトリ)...] ) $ dir --color ( [オプション...] ) ( [ディレクトリ(省略時は現在の作業ディレクトリ)...] ) (詳細なリスト) $ ls -l ( [オプション...] ) ( [ディレクトリ(省略時は現在の作業ディレクトリ)...] ) $ vdir --color ( [オプション...] ) ( [ディレクトリ(省略時は現在の作業ディレクトリ)...] )
詳細な形式(-l付き)では
[文字列表記の属性(パーミッション)] [ハードリンク数] [所有者] [所有グループ] [サイズ] [タイムスタンプ] [名前]
の形式で
-rw-r--r-- 1 user group 1234 2009-01-23 01:23 filename.ext
のように表示される。
オプション指定としては
- -h(GNUオプション)*1: 詳細リストにおけるサイズを読みやすく表示(K/M/Gなどを用いる)
- -a(GNUオプション): 「.」で始まる名前の隠しファイル/ディレクトリも表示(付けないと隠れる)
- -c: 詳細リストにおけるタイムスタンプを最終更新(mtime)でなく状態/属性変更(ctime)で表示
- -F: 項目名の末尾に種類ごとのマーク*2を付ける
などが利用できる(一部)。
色付き表示の設定については
を参照。
(2009/9/29)ハードリンクとシンボリックリンクについては「ハードリンクとシンボリックリンクについて」を参照。
シェルの補完を用いる
シェルの補完機能により、コマンドの引数を入力中*3にTabを押すと、候補が1つのときには完全なファイル/ディレクトリ名に置き換わるのだが、複数の候補が存在する場合にはTabやCtrl+D(シェルによって異なる)を押すと候補が下に一覧表示される。bash$ less /usr/s[Tabを押す] (Tabを押した後の表示) bash$ less /usr/s sbin/ share/ src/ bash$ less /usr/s[入力位置]
これを利用してディレクトリの「/」までを入力した状態で候補を表示するとそのディレクトリ内の一覧を得ることができる。ただし、候補が多すぎる場合は確認が出ることがあるので、Y/Nで選択する。
bash$ less /usr/share/[Tabを押す] (Tabを押した後の表示) bash$ less /usr/share/ Display all [候補数] possibilities? (y or n) (Yを押すと/usr/share/内の項目が一気に表示され、Nを押すと戻る)
候補が少なければそのまま表示される。
bash$ less /usr/share/doc/gtk+2.0/ (Tabを押した後の表示) bash$ less /usr/share/doc/gtk+2.0/ NEWS README
1つに絞られると補完される。
bash$ less /usr/share/doc/gtk+2.0/R[Tabを押す] (Tabを押した後の表示) bash$ less /usr/share/doc/gtk+2.0/README [入力位置]
zshを用いて適切な設定を行うとTabを押す度に候補リスト内の次の項目に切り替わるスタイルの補完も利用でき、候補一覧が長くなっても扱いやすくなる。その場合、「bashの設定をベースにしたzshの設定」の「補完」とコメントされている部分の数行の設定が必要。
端末上で動作するファイルマネージャを用いる
端末内で動作するMidnight CommanderなどのファイルマネージャやEmacsのDiredモード*4などを用いると、ディレクトリ階層を簡単にたどりながら(任意のコマンドの実行を含む)各種操作が行える。(2014/9/11)関連URLのリンク先を修正
関連URL:
使用したバージョン:
- coreutils 6.12