技術ノート Linux Linux 上のディレクトリ内のファイルを数える 5 つの方法

Linux 上のディレクトリ内のファイルを数える 5 つの方法

重要なポイント

  • Linux の「ls」コマンドは、ファイルとディレクトリを一覧表示します。 「wc -l」にパイプすると、隠しファイルを含むファイルとディレクトリの合計がカウントされます。
  • 「tree」コマンドは、ディレクトリ構造全体を再帰的に表示し、最後にファイル数を要約します。 「-a」オプションを追加すると、隠しファイルも表示されます。
  • -type、-min Depth、-max Depth などのオプションを指定した「find」コマンドは、ファイルとディレクトリを再帰的にカウントできます。ファイルのみをカウントするには「-type f」を使用し、ディレクトリのみをカウントするには「-type d」を使用します。

Linux などの オペレーティング システム を使用する場合、ファイルの管理は基本的なタスクの 1 つです。あなたが Linux 管理者であれば、対処しなければならないファイル数を想像してみてください。また、ファイルが大量のディスク領域を消費する場合、それを解読するのは困難になります。厄介な 隠しファイル を含む、これらのファイルを数えるいくつかの方法について説明します。

Linux でファイルをカウントする必要があるのはなぜですか?

Linux 管理者であるか、 Linux コマンドを使い始めた ばかりの場合は、最終的には Linux ディレクトリ内のファイルを数える必要があります。 システム上のスペースを解放したり システム ファイルのバックアップ を計画してバックアップするデータ量を見積もったり、単にファイルを整理したりする必要がある場合があります。これは、すべての Linux ユーザーがその方法を知っておく必要があるタスクです。

作業中にシステムの i ノードが不足したとします 。突然、恐ろしい「デバイスに空き領域がありません」というエラーが表示され、新しいファイルやディレクトリを作成できなくなります。このときこそ、力を入れて、 ディスクを消費するファイルとディレクトリを 数えて管理しましょう。幸いなことに、これを実行するための Linux コマンドがいくつか存在します。

Linux 上のディレクトリ内のファイルを数える 5 つの方法

wc コマンドを使用した隠しファイルを含むファイルとディレクトリの数のカウント

Linux では、 ls コマンドを 使用してすべてのファイルとディレクトリを一覧表示できます。このコマンドを wc コマンドと パイプ (|) で接続すると、非表示のものを含むファイルとディレクトリの合計数が表示されます。

ファイルのカウントに移る前に、 ls コマンドを使用して ~/HTG ディレクトリ内の実際のファイルを一覧表示しましょう。ここでは、~/HTG メイン ディレクトリ内に 4 つのサブディレクトリを含む合計 10 個のファイルがあります。隠しファイルが 1 つ、テキスト ファイルが 1 つ、テスト ファイルが 4 つあります。

ファイルを一覧表示するには、 ls -a の代わりに ls -A を使用することをお勧めします。 -a オプションを指定した ls コマンドには、(.) 現在のディレクトリと (..) 親ディレクトリという特別なエントリが含まれています。これにより、全体的なファイル数が増加します。

ファイルとディレクトリの数をカウントするには、まずディレクトリに移動し、次のコマンドを実行します。

 ls |トイレ -l

まず、 ls コマンドは、フォーマット オプションを指定せずに、~/HTG ディレクトリ内のすべてのファイルとディレクトリを一覧表示します。 ls の出力は、ファイル名とディレクトリ名の単純なリストで構成され、それぞれの名前が別の行に表示されます。

ls コマンドでリストされたファイルをカウントするには、その出力を wc -l コマンドにパイプ (|) します。 wc コマンドは 、リストされたこれらのファイルをカウントし、ファイル カウント数を出力します。 ~/HTG ディレクトリに存在する隠しファイルが 1 つ含まれていないため、このコマンドの出力は 9 であることに注意してください。

ls コマンドで使用できるさまざまなオプションがあります。たとえば、 ls -l ロングリスト形式 (-l) を使用して、現在のディレクトリ内のファイルとディレクトリを一覧表示します。権限、所有者、サイズ、変更日など、各ファイルに関する詳細情報が表示されます。

 ls -l |トイレ -l

このコマンドには隠しファイルは含まれませんが、ディレクトリ自体のエントリ (. で表されます) が長いリスト形式で含まれています (この場合は ~/HTG ディレクトリです)。その結果、全体のカウントが 1 つ増加します。

リスト形式に関係なく一貫したカウントが必要な場合は、 ls で -A オプションを使用して、カウント時に特殊なエントリ (.) 現在のディレクトリと (..) 親ディレクトリを除外できます。

 ls -A |トイレ -l

これにより、 ls -l コマンドと同じカウントが得られるはずです。このコマンドには隠しファイルも 1 つ含まれているため、出力は 10 になります。

隠しファイル、親ディレクトリ (..)、および現在のディレクトリ (.) を合計数に含めるコマンドが必要な場合は、 wc コマンドで ls -a オプションを使用します。

 ls -a |トイレ -l 

Linux 上のディレクトリ内のファイルを数える 5 つの方法

Treeコマンドを使用したファイルとディレクトリの数のカウント

すべてのサブディレクトリ内のファイルとディレクトリの数をカウントするには、 tree コマンド を使用できます。 Tree コマンドはディレクトリ構造全体を再帰的に出力し、出力の最後に概要を表示します。

 <ディレクトリ> ツリー

ツリー コマンドが見つからないというエラーが見つかる場合があります。これを解決するには、次のコマンドを使用してツリー コマンドをインストールします。

Ubuntu / Debian ホストの場合: sudo apt インストール ツリー CentOS / RHEL ホストの場合: sudo yum install ツリー

デフォルトでは、tree コマンドは隠しファイルを出力しません。隠しファイルを表示するには、tree コマンドで -a オプションを使用します。

木-a

これで、非表示のファイルも含め、すべてのファイルがリストされ、カウントされます。

Linux 上のディレクトリ内のファイルを数える 5 つの方法

find コマンドを使用してファイルを再帰的にカウントする

Linux の find コマンド -type -mindepth -maxdepth などのさまざまなオプションを使用すると、再帰的なカウントを簡単に実行できます。各サブディレクトリに手動で移動して 1 つずつカウントすることなく、ディレクトリ構造内のアイテムの総数を決定します。

 find <ディレクトリ> <オプション> |トイレ -l

find コマンドはデフォルトですべてのサブディレクトリをカウントするため、検索が再帰的になります。最初の深さで検索を停止しません。

ディレクトリ内のすべてのエントリ (ファイルとフォルダーの両方) をカウントするには、次を使用します。

 HTGを見つける |トイレ -l

このコマンドは、現在のディレクトリ (この場合は ~/HTG) もカウントします。全体として、検索結果は 1 つ増えます。

特定の条件を指定しない find コマンドには、デフォルトで通常のファイルと隠しファイルの両方が検索に含まれます。

「 Linux 上のディレクトリ内のファイルを数える 5 つの方法」に関するベスト動画選定!

Linuxコマンド入門 02.ディレクトリ
【Linuxの基礎#2】ファイルとディレクトリの基本操作

ファイルのみをカウントするには、次を使用します。

 HTG タイプ f を見つけます |トイレ -l

現在のディレクトリ (この場合は ~/HTG) を含むディレクトリのみをカウントするには、次を使用します。

 HTG タイプ d を見つけます |トイレ -l

find コマンドは、特定のパターン (「.txt」、「.pdf」、「.sh」) に一致するファイルを検索することもできます。

探す 。 -type f -name "*.txt" |トイレ -l

このコマンドは、現在のディレクトリ内の拡張子「.txt」で終わるファイルの数を出力します。

フォルダーとそのサブフォルダー内のファイルをカウントする場合、すべてのサブフォルダーを参照することが許可されない場合があるため、システムに「 アクセス許可が拒否されました 」のようなエラーが表示されることがあります。

「出力リダイレクト」と呼ばれる手法を使用して、これらのエラー メッセージをリダイレクトできます。

 /etc -type f 2> /dev/null | を見つけます。トイレ -l

「min Depth」および「max Depth」オプションを使用して検索結果を変更することもできます。

 HTG -最小深さ 1 -最大深さ 1 | を見つけます。トイレ -l

この場合、 -mindepth 1 、検索が最小深さ 1 で開始され、 ルート ディレクトリ 自体をスキップして、その直下のサブディレクトリで検索を開始することを意味します。

-maxdepth 1 オプションは、最大深さ 1 で検索を実行します。直接のサブディレクトリのサブディレクトリは検索されません。

Linux 上のディレクトリ内のファイルを数える 5 つの方法

Bash スクリプトを使用して Linux ディレクトリ内のファイルを数える

Linux では、 Bash スクリプトを 使用して反復的なタスクを自動化できます。ここでも同様で、bash スクリプトを作成し、その中に存在するファイルを数えるディレクトリを定義できます。

指定された bash スクリプトは、wc でパイプされた find コマンドを使用して、~/HTG ディレクトリ内のすべてのファイルをカウントします。このスクリプトを実行すると、現在のディレクトリもカウントされ、結果が 1 つ増えるため、11 が出力されます。

 #!/bin/bash
dir= "HTG"
count=$(find "$dir" ; | wc -l)
echo "There are $count files in the $dir directory."

find コマンドで説明したように、最終的なカウントから特殊ディレクトリを除外するには、find コマンドに -mindepth 1 オプションを追加します。

Linux 上のディレクトリ内のファイルを数える 5 つの方法

GUIを使用したファイルのカウント

KDE GNOME などのデスクトップ インターフェイスを使用して Linux 上でファイルを数えるのは非常に簡単です。 Windows でファイルを数えるのと同じです。

アクティビティ メニューに移動するか、「ホーム」ディレクトリを使用して、確認するディレクトリまたはフォルダを開きます。

フォルダーを右クリックし、「プロパティ」オプションを選択します。

新しいウィンドウがポップアップし、フォルダー内のアイテムの総数が表示されます。

この方法では、すべての項目 (「テキスト ファイル」、「.sh ファイル」、「ディレクトリ」など) の合計数が表示されるだけであり、個々のファイルはカウントされないことに注意してください。少なくとも、Ubuntu のデフォルトのファイル ブラウザである Nautilus には表示されませんが、ドルフィン ブラウザなどの他のブラウザではより多くのデータが表示されます。

Linux 上のディレクトリ内のファイルを数える 5 つの方法

ファイルカウントに必要な権限を確認する

これらすべてのコマンドを実行するときは、作業フォルダーに必要なアクセス許可が付与されていることを確認してください。権限エラーが発生した場合は、コマンドの前に「 sudo 」と入力します。また、エラーが発生した場合はコマンドの構文を確認してください。これらのコマンドを最大限に活用するには、「 man 」コマンドを使用してそれぞれのヘルプ ガイドを参照してください。