ls – Unix ユーザーとシステム管理者は、この 2 文字のコマンドなしでは生きられません。 1 日に 10 回使用する場合でも、1 日 100 回使用する場合でも、ls コマンドの機能を理解すれば、コマンド ラインの旅が楽しくなります。
この記事では、強力な ls コマンドの 15 の実際的な例を確認しましょう。
1. ls -t を使用して最後に編集したファイルを開く
現在のディレクトリで最後に編集したファイルを開くには、以下に示すように、ls、head、および vi コマンドを組み合わせて使用します。
ls -t 最後に編集されたファイルが最初に表示されるように、変更時間でファイルを並べ替えます。 頭 -1 この最初のファイルを取得します。
$ vi first-long-file.txt $ vi second-long-file.txt $ vi `ls -t | head -1` [Note: This will open the last file you edited (i.e second-long-file.txt)]
2. ls -1 を使用して 1 行に 1 ファイルを表示
1 行に 1 つのエントリを表示するには、以下に示すように -1 オプションを使用します。
$ ls -1 bin boot cdrom dev etc home initrd initrd.img lib
3. ls -l を使用してファイル/ディレクトリに関するすべての情報を表示する
ファイル/ディレクトリに関する長いリスト情報を表示します。
$ ls -l -rw-r----- 1 ramesh team-dev 9275204 Jun 13 15:27 mthesaur.txt.gz
- 1 番目の文字 – ファイルの種類: 最初の文字はファイルの種類を指定します。
上記の例では、最初の文字のハイフン (-) は、これが通常のファイルであることを示しています。以下は、ls -l 出力の最初の文字で可能なファイル タイプ オプションです。- フィールドの説明
- – 通常のファイル
- ディレクトリ
- のソケット ファイル
- リンク ファイル
- フィールド 1 – ファイルのアクセス許可: 次の 9 文字は、ファイルのパーミッションを指定します。各 3 文字は、ユーザー、グループ、ワールドの読み取り、書き込み、実行権限を表します。この例では、-rw-r—– は、ユーザーの読み取り/書き込み権限、グループの読み取り権限、その他の権限がないことを示します。
- フィールド 2 – リンク数: 2 番目のフィールドは、そのファイルのリンク数を指定します。この例では、1 はこのファイルへのリンクが 1 つだけであることを示します。
- フィールド 3 – 所有者: 3 番目のフィールドは、ファイルの所有者を指定します。この例では、このファイルはユーザー名「ramesh」が所有しています。
- フィールド 4 – グループ: 4 番目のフィールドは、ファイルのグループを指定します。この例では、このファイルは「team-dev」グループに属しています。
- フィールド 5 – サイズ: 5 番目のフィールドは、ファイルのサイズを指定します。この例では、「9275204」がファイル サイズを示しています。
- フィールド 6 – 最終更新日時: 6 番目のフィールドは、ファイルの最終変更日時を指定します。この例では、「Jun 13 15:27」がファイルの最終変更時刻を示しています。
- フィールド 7 – ファイル名: 最後のフィールドはファイルの名前です。この例では、ファイル名は mthesaur.txt.gz です。
4. ls -lh を使用して、人間が読める形式でファイル サイズを表示する
ls -lh を使用 (h は人間が読める形式を表します)、ファイル サイズを読みやすい形式で表示します。つまり、M は MB、K は KB、G は GB です。
$ ls -l -rw-r----- 1 ramesh team-dev 9275204 Jun 12 15:27 arch-linux.txt.gz* $ ls -lh -rw-r----- 1 ramesh team-dev 8.9M Jun 12 15:27 arch-linux.txt.gz
5. ls -ld を使用してディレクトリ情報を表示する
「ls -l」を使用すると、ディレクトリの内容の詳細が表示されます。ただし、ディレクトリの詳細が必要な場合は、-d オプションを使用できます。たとえば、ls -l /etc を使用すると、etc ディレクトリの下のすべてのファイルが表示されます。ただし、/etc/ ディレクトリに関する情報を表示したい場合は、以下に示すように -ld オプションを使用してください。
$ ls -l /etc total 3344 -rw-r--r-- 1 root root 15276 Oct 5 2004 a2ps.cfg -rw-r--r-- 1 root root 2562 Oct 5 2004 a2ps-site.cfg drwxr-xr-x 4 root root 4096 Feb 2 2007 acpi -rw-r--r-- 1 root root 48 Feb 8 2008 adjtime drwxr-xr-x 4 root root 4096 Feb 2 2007 alchemist $ ls -ld /etc drwxr-xr-x 21 root root 4096 Jun 15 07:02 /etc
6. ls -lt を使用して最終更新時刻に基づいてファイルを並べ替える
表示されるファイル名を最終変更時刻順に並べ替えるには、-t オプションを使用します。 -l オプションと組み合わせて使用すると便利です。
$ ls -lt total 76 drwxrwxrwt 14 root root 4096 Jun 22 07:36 tmp drwxr-xr-x 121 root root 4096 Jun 22 07:05 etc drwxr-xr-x 13 root root 13780 Jun 22 07:04 dev drwxr-xr-x 13 root root 4096 Jun 20 23:12 root drwxr-xr-x 12 root root 4096 Jun 18 08:31 home drwxr-xr-x 2 root root 4096 May 17 21:21 sbin lrwxrwxrwx 1 root root 11 May 17 20:29 cdrom -> media/cdrom drwx------ 2 root root 16384 May 17 20:29 lost+found drwxr-xr-x 15 root root 4096 Jul 2 2008 var
7. ls -ltr を使用して、最終更新時刻に基づいて (逆順で) ファイルを並べ替える
最終更新時刻のファイル名を逆順に並べ替えます。これにより、最後の行に最後に編集されたファイルが表示され、リストがページを超える場合に便利です。これは私のデフォルトの ls 使用法です。 ls を実行するときはいつでも、非常に便利な ls -ltr を使用します。
$ ls -ltr total 76 drwxr-xr-x 15 root root 4096 Jul 2 2008 var drwx------ 2 root root 16384 May 17 20:29 lost+found lrwxrwxrwx 1 root root 11 May 17 20:29 cdrom -> media/cdrom drwxr-xr-x 2 root root 4096 May 17 21:21 sbin drwxr-xr-x 12 root root 4096 Jun 18 08:31 home drwxr-xr-x 13 root root 4096 Jun 20 23:12 root drwxr-xr-x 13 root root 13780 Jun 22 07:04 dev drwxr-xr-x 121 root root 4096 Jun 22 07:05 etc drwxrwxrwt 14 root root 4096 Jun 22 07:36 tmp
8. ls -a (または) ls -A を使用して隠しファイルを表示する
ディレクトリ内のすべての隠しファイルを表示するには、「-a オプション」を使用します。 Unix の隠しファイルは、ファイル名が「.」で始まります。
$ ls -a [rnatarajan@asp-dev ~]$ ls -a . Debian-Info.txt .. CentOS-Info.txt .bash_history Fedora-Info.txt .bash_logout .lftp .bash_profile libiconv-1.11.tar.tar .bashrc libssh2-0.12-1.2.el4.rf.i386.rpm
「.」(現在のディレクトリ)と「..」(親ディレクトリ)を含むすべてのファイルが表示されます。 「.」(現在のディレクトリ) と「..」(親ディレクトリ) ではなく隠しファイルを表示するには、オプション -A を使用します。
$ ls -A Debian-Info.txt Fedora-Info.txt CentOS-Info.txt Red-Hat-Info.txt .bash_history SUSE-Info.txt .bash_logout .lftp .bash_profile libiconv-1.11.tar.tar .bashrc libssh2-0.12-1.2.el4.rf.i386.rpm [Note: . and .. are not displayed here]
9. ls -R を使用してファイルを再帰的に表示する
$ ls /etc/sysconfig/networking devices profiles $ ls -R /etc/sysconfig/networking /etc/sysconfig/networking: devices profiles /etc/sysconfig/networking/devices: /etc/sysconfig/networking/profiles: default /etc/sysconfig/networking/profiles/default:
すべてのファイルを再帰的に表示するには、-R オプションを使用します。 / からこれを行うと、ファイル システム全体で非表示にされていないすべてのファイルが再帰的に表示されます。
10. ls -i を使用してファイルの inode 番号を表示する
内部メンテナンスのために、ファイルの inone 番号を知りたい場合があります。以下に示すように -i オプションを使用して、inone 番号を表示します。 find コマンドの記事の例 6 で説明されているように、inode 番号を使用すると、名前に特殊文字が含まれるファイルを削除できます。
$ ls -i /etc/xinetd.d/ 279694 chargen 279724 cups-lpd 279697 daytime-udp 279695 chargen-udp 279696 daytime 279698 echo
11. ls -q を使用して制御文字を非表示にする
非グラフィック制御文字の代わりにクエスチョン マークを出力するには、-q オプションを使用します。
ls -q
12. ls -n を使用してファイルの UID と GID を表示する
-l のように出力を一覧表示しますが、uid と gid を名前ではなく数値形式で表示します。
$ ls -l ~/.bash_profile -rw-r--r-- 1 ramesh ramesh 909 Feb 8 11:48 /home/ramesh/.bash_profile $ ls -n ~/.bash_profile -rw-r--r-- 1 511 511 909 Feb 8 11:48 /home/ramesh/.bash_profile [Note: This display 511 for uid and 511 for gid]
13. ls -F を使用した特殊文字を含むファイルの視覚的分類
「ls -l」を実行してから、最初の文字をチェックしてファイルの種類を特定する代わりに。 -F を使用すると、さまざまな種類のファイルに対してさまざまな特殊文字でファイルを分類できます。
$ ls -F Desktop/ Documents/ Ubuntu-App@ firstfile Music/ Public/ Templates/
したがって、上記の出力では、
- / – ディレクトリ。
- なし – 通常のファイル
- @ – リンク ファイル。
- * – 実行可能ファイル
14. ls -F を使用した色によるファイルの視覚的分類
表示される色でファイルの種類を認識することは、ファイルの分類の別の種類です。上記の出力ディレクトリでは、青で表示され、ソフト リンクは緑で表示され、通常のファイルはデフォルトの色で表示されます。
$ ls --color=auto Desktop Documents Examples firstfile Music Pictures Public Templates Videos
15.便利な ls コマンドのエイリアス
上記で必要な ls オプションをいくつか取り、それをエイリアスとして作成できます。以下をお勧めします。
- 人間が理解できる形式のサイズでファイルをロング リストします。
alias ll="ls -lh"
- 特殊文字を追加してファイルの種類を分類します。
alias lv="ls -F"
- 色と特殊文字の両方でファイルの種類を分類します。
alias ls="ls -F --color=auto"
すばらしい Linux 記事
以下は素晴らしい 15 の例です。 役に立つと思われる記事
- Grep をつかもう! – 15 の実用的な grep コマンドの例
- Linux Crontab:15 の素晴らしい Cron ジョブの例
- ママ、見つけたよ! — 15 の実用的な Linux 検索コマンドの例
- Linux コマンドラインの歴史をマスターするための 15 の例