Bashプログラミング
 Computer >> コンピューター >  >> プログラミング >> Bashプログラミング

効率的なファイル管理のための Unix 'ls' コマンドの 15 の実践例

効率的なファイル管理のための Unix  ls  コマンドの 15 の実践例 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
  • 最初の文字 – ファイルの種類: 最初の文字はファイルの種類を指定します。
    上の例では、最初の文字のハイフン (-) は、これが通常のファイルであることを示しています。 ls -l 出力の最初の文字で使用できるファイル タイプ オプションは次のとおりです。
    • フィールドの説明
    • – 通常のファイル
    • d ディレクトリ
    • ソケット ファイル
    • ファイルをリンクします
  • フィールド 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 を使用してファイルの i ノード番号を表示する

内部メンテナンスのためにファイルの番号を知りたい場合があります。 1 つの数値を表示するには、以下に示すように -i オプションを使用します。 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 Find コマンドの例
  • Linux コマンドラインの歴史をマスターするための 15 の例

  1. このBashスクリプトを使用して画像処理を自動化する

    作家は言葉だけでなく、画像を扱う必要があります。テクニカルライティングでは、テクノロジーとプロセスを伝えるために多くのスクリーンショットを提示します。公開プラットフォームが異なれば、画像の形式やファイルサイズなど、画像に関するさまざまな要件があります。 ITコンサルタントおよびシステムエンジニアとして、私はクライアントの成果物として多くの技術文書を作成しました。通常、必要な形式はMicrosoft Word(.doc)です。コンテンツが追加されると、どのドキュメントも急速に成長する可能性があります。初期のスクリーンショットはビットマップ(.bmp)であることが多く、ファイルサイズが非常に大き

  2. シェルスクリプトでBreakandContinueステートメントを使用する方法

    この記事では、ブレークの使用方法を見ていきます。 および続行 bashスクリプトで。 bashには、3つの主要なループ構造があります( for 、ながら 、まで )。 休憩 および続行 ステートメントはbashに組み込まれており、ループのフローを変更するために使用されます。このブレークアンドコンティニューの概念は、 Pythonなどの一般的なプログラミング言語で利用できます。 。 $ type -a break continue Breakステートメントでループを終了します 休憩 ステートメントはループを終了し、制御はループ内の次のステートメントに渡されます。 ヘルプを実行できます ブレ