Linuxにおけるファイルとフォルダ/ディレクトリの数(例コード)を統計します。

4048 ワード

こんにちは、店員さん、今日はもう一つのシリーズを持ってきました。いろいろお世話になります。コマンドを操作することで、現在のディレクトリのファイルとディレクトリ、再帰的なカウント、特定のユーザが作成したファイルリストなどを集計することができます。
本教程では、複数のコマンドをどのように使用するかを示し、ls、egrep、wc、およびfindコマンドを使用していくつかの高度な動作を実行します。次のコマンドは、複数の態様で使用できます。
実験のために、全部で7つのファイルと2つのフォルダ(5つの一般ファイルと2つの隠しファイル)を作成するつもりです。以下のtreeコマンドの出力は、ファイルとフォルダリストを明確に示しています。

# tree -a /opt
/opt
├── magi
│  └── 2g
│  ├── test5.txt
│  └── .test6.txt
├── test1.txt
├── test2.txt
├── test3.txt
├── .test4.txt
└── test.txt
 directories, 7 files
例-1
現在のディレクトリのファイルを統計します。隠しファイルは含まれません。現在のディレクトリにいくつのファイルがあるかを確認し、ポイントファイルを計算しません。

# ls -l . | egrep -c '^-'
# ls -l . | egrep -c '^-'
詳細:
  • ls:ディレクトリの内容を一覧表示する
  • -l:長いリスト形式を使う
  • .ファイルに関する情報(デフォルトは現在のディレクトリ)
  • を一覧表示します。
  • |:1つのプログラムの出力を他のプログラムに送信し、さらに処理する制御オペレータ
  • egrep:適合モードを印刷する行
  • -c:汎用出力制御
  • '^-':「-」で始まる行(ls-lが長いリストを並べたとき、行頭の「-」は普通のファイルを表します)
  • 例-2
    現在のディレクトリに隠しファイルが含まれているファイルを統計します。現在のディレクトリのポイントファイルが含まれます。
    
    # ls -la . | egrep -c '^-'
    # ls -la . | egrep -c '^-' 
    例-3
    以下のコマンドを実行して、現在のディレクトリのファイルとフォルダをカウントします。すべてのファイルとディレクトリを計算します。
    
    # ls -l | wc -l
    # ls -l | wc -l
    詳細:
  • ls:ディレクトリの内容を一覧表示する
  • -l:長いリスト形式を使う
  • |:1つのプログラムの出力を他のプログラムに送信し、さらに処理する制御オペレータ
  • wc:各ファイルの改行、単語、バイト数を統計するコマンド
  • です。
  • -l:出力改行数
  • 例-4
    現在のディレクトリを統計すると、隠しファイルとディレクトリを含むファイルとフォルダが含まれます。
    
    # ls -la | wc -l
    # ls -la | wc -l
    例-5
    隠しファイルを含む現在のディレクトリのファイルを再帰的に計算します。
    
    # find . -type f | wc -l
    # find . -type f | wc -l 
    詳細:
  • find:ディレクトリ構造内のファイルを検索する
  • -type:ファイルタイプ
  • f:一般ファイル
  • wc:各ファイルの改行、単語、バイト数を統計するコマンド
  • です。
  • -l:出力改行数
  • 例-6
    treeコマンドを使ってディレクトリとファイル数を出力します。隠しファイルは含まれません。
    
    # tree | tail -1
     directories, 5 files
    # tree | tail -1
    directories, 5 files
    例-7
    隠しファイルを含むtreeコマンドを使ってディレクトリとファイルカウントを出力します。
    
    # tree -a | tail -1
     directories, 7 files
    # tree -a | tail -1
    2 directories, 7 files
    例-8
    次のコマンドを実行して、隠しディレクトリを含むディレクトリ数を再帰的に計算します。
    
    # find . -type d | wc -l
    # find . -type d | wc -l
    例-9
    ファイルの拡張子からファイルの数をカウントします。ここで計算します。txtファイル。
    
    # find . -name "*.txt" | wc -l
    # find . -name "*.txt" | wc -l 
    例-10
    コンビネーションは、echoコマンドとwcコマンドを使用して、現在のディレクトリのすべてのファイルを統計します。4は現在のディレクトリのファイル数を表します。
    
    # echo *.* | wc
    1    4   39
    # echo *.* | wc
    1    4   39
    例-11
    echoコマンドとwcコマンドを組み合わせて、現在のディレクトリのすべてを統計します。第二の1は現在のディレクトリのディレクトリ数を表します。
    
    # echo */ | wc
    1    1    6
    # echo */ | wc
    1    1    6 
    例-12
    echoコマンドとwcコマンドを組み合わせて、現在のディレクトリのすべてのファイルとディレクトリを統計します。5は現在のディレクトリのディレクトリとファイルの数を表します。
    
    # echo * | wc
    1 5 44
    # echo * | wc
    1 5 44 
    例-13
    システム全体のファイル数を統計します。
    
    # find / -type f | wc -l
    69769
    # find / -type f | wc -l
    69769
    例-14
    システム全体のフォルダ数を統計します。
    
    # find / -type d | wc -l
    8819
    # find / -type d | wc -l
    8819 
    例-15
    システム全体のファイル、フォルダ、ハードリンク、シンボルリンクの数を計算するために、以下のコマンドを実行します。
    
    # find / -type d -exec echo dirs \; -o -type l -exec echo symlinks \; -o -type f -links +1 -exec echo hardlinks \; -o -type f -exec echo files \; | sort | uniq -c
      8779 dirs
     69343 files
       20 hardlinks
     11646 symlinks
    # find / -type d -exec echo dirs \; -o -type l -exec echo symlinks \; -o -type f -links +1 -exec echo hardlinks \; -o -type f -exec echo files \; | sort | uniq -c
      8779 dirs
     69343 files
       20 hardlinks
     11646 symlinks
    締め括りをつける
    以上はLinuxのファイルとフォルダ/ディレクトリの数をまとめてご紹介しました。皆様に何かご質問がありましたら、メッセージをください。編集はすぐにご返事します。ここでも私たちのサイトを応援してくれてありがとうございます。