歡迎光臨
每天分享高質量文章

如何統計 Linux 中檔案和檔案夾/目錄的數量 | Linux 中國

今天我們再次帶來一系列可以多方面幫助到你的複雜的命令。 透過操作命令,可以幫助您計數當前目錄中的檔案和目錄、遞迴計數,統計特定使用者建立的檔案串列等。
— Magesh Maruthamuthu


本文導航
編譯自 | https://www.2daygeek.com/how-to-count-the-number-of-files-and-folders-directories-in-linux/ 
 作者 | Magesh Maruthamuthu
 譯者 | suncle

嗨,夥計們,今天我們再次帶來一系列可以多方面幫助到你的複雜的命令。 透過操作命令,可以幫助您計數當前目錄中的檔案和目錄、遞迴計數,統計特定使用者建立的檔案串列等。

在本教程中,我們將向您展示如何使用多個命令,並使用 lsegrepwc 和 find命令執行一些高階操作。 下麵的命令將可用在多個方面。

為了實驗,我打算總共建立 7 個檔案和 2 個檔案夾(5 個常規檔案和 2 個隱藏檔案)。 下麵的 tree 命令的輸出清楚的展示了檔案和檔案夾串列。

  1. # tree -a /opt

  2. /opt

  3. ├── magi

  4.    └── 2g

  5.    ├── test5.txt

  6.    └── .test6.txt

  7. ├── test1.txt

  8. ├── test2.txt

  9. ├── test3.txt

  10. ├── .test4.txt

  11. └── test.txt

  12. 2 directories, 7 files

示例-1

統計當前目錄的檔案(不包括隱藏檔案)。 執行以下命令以確定當前目錄中有多少個檔案,並且不計算點檔案(LCTT 譯註:點檔案即以“.” 開頭的檔案,它們在 Linux 預設是隱藏的)。

  1. # ls -l . | egrep -c '^-'

  2. 4

細節:

◈ ls : 列出目錄內容
◈ -l : 使用長串列格式
◈ . : 列出有關檔案的資訊(預設為當前目錄)
◈ | : 將一個程式的輸出傳送到另一個程式進行進一步處理的控制運運算元
◈ egrep : 列印符合樣式的行
◈ -c : 通用輸出控制
◈ '^-' : 以“-”開頭的行(ls -l 列出長串列時,行首的 “-” 代表普通檔案)

示例-2

統計當前目錄包含隱藏檔案在內的檔案。 包括當前目錄中的點檔案。

  1. # ls -la . | egrep -c '^-'

  2. 5

示例-3

執行以下命令來計數當前目錄的檔案和檔案夾。 它會計算所有的檔案和目錄。

  1. # ls -l | wc -l

  2. 5

細節:

◈ ls : 列出目錄內容
◈ -l : 使用長串列格式
◈ | : 將一個程式的輸出傳送到另一個程式進行進一步處理的控制運運算元
◈ wc : 這是一個統計每個檔案的換行符、單詞和位元組數的命令
◈ -l : 輸出換行符的數量

示例-4

統計當前目錄包含隱藏檔案和目錄在內的檔案和檔案夾。

  1. # ls -la | wc -l

  2. 8

示例-5

遞迴計算當前目錄的檔案,包括隱藏檔案。

  1. # find . -type f | wc -l

  2. 7

細節 :

◈ find : 搜尋目錄結構中的檔案
◈ -type : 檔案型別
◈ f : 常規檔案
◈ wc : 這是一個統計每個檔案的換行符、單詞和位元組數的命令
◈ -l : 輸出換行符的數量

示例-6

使用 tree 命令輸出目錄和檔案數(不包括隱藏檔案)。

  1. # tree | tail -1

  2. 2 directories, 5 files

示例-7

使用包含隱藏檔案的 tree 命令輸出目錄和檔案計數。

  1. # tree -a | tail -1

  2. 2 directories, 7 files

示例-8

執行下麵的命令遞迴計算包含隱藏目錄在內的目錄數。

  1. # find . -type d | wc -l

  2. 3

示例-9

根據檔案副檔名計數檔案數量。 這裡我們要計算 .txt 檔案。

  1. # find . -name "*.txt" | wc -l

  2. 7

示例-10

組合使用 echo 命令和 wc 命令統計當前目錄中的所有檔案。 4 表示當前目錄中的檔案數量。

  1. # echo *.* | wc

  2. 1       4      39

示例-11

組合使用 echo 命令和 wc 命令來統計當前目錄中的所有目錄。 第二個 1 表示當前目錄中的目錄數量。

  1. # echo */ | wc

  2. 1       1       6

示例-12

組合使用 echo 命令和 wc 命令來統計當前目錄中的所有檔案和目錄。 5 表示當前目錄中的目錄和檔案的數量。

  1. # echo * | wc

  2. 1 5 44

示例-13

統計系統(整個系統)中的檔案數。

  1. # find / -type f | wc -l

  2. 69769

示例-14

統計系統(整個系統)中的檔案夾數。

  1. # find / -type d | wc -l

  2. 8819

示例-15

執行以下命令來計算系統(整個系統)中的檔案、檔案夾、硬連結和符號連結數。

  1. # 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

  2.   8779 dirs

  3.  69343 files

  4.     20 hardlinks

  5.  11646 symlinks


via: https://www.2daygeek.com/how-to-count-the-number-of-files-and-folders-directories-in-linux/

作者:Magesh Maruthamuthu[2] 譯者:Flowsnow 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

LCTT 譯者

suncle(Flowsnow) ? ? ?
共計翻譯:14 篇
貢獻時間:779 天


推薦文章

< 左右滑動檢視相關文章 >

點選圖片、輸入文章 ID 或識別二維碼直達

贊(0)

分享創造快樂