Linux中國

如何統計 Linux 中文件和文件夾/目錄的數量

嗨,夥計們,今天我們再次帶來一系列可以多方面幫助到你的複雜的命令。 通過操作命令,可以幫助您計數當前目錄中的文件和目錄、遞歸計數,統計特定用戶創建的文件列表等。

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

為了實驗,我打算總共創建 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

2 directories, 7 files

示例-1

統計當前目錄的文件(不包括隱藏文件)。 運行以下命令以確定當前目錄中有多少個文件,並且不計算點文件(LCTT 譯註:點文件即以「.」 開頭的文件,它們在 Linux 默認是隱藏的)。

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

細節:

  • ls : 列出目錄內容
  • -l : 使用長列表格式
  • . : 列出有關文件的信息(默認為當前目錄)
  • | : 將一個程序的輸出發送到另一個程序進行進一步處理的控制操作符
  • egrep : 列印符合模式的行
  • -c : 通用輸出控制
  • '^-' : 以「-」開頭的行(ls -l 列出長列表時,行首的 「-」 代表普通文件)

示例-2

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

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

示例-3

運行以下命令來計數當前目錄的文件和文件夾。 它會計算所有的文件和目錄。

# ls -l | wc -l
5

細節:

  • ls : 列出目錄內容
  • -l : 使用長列表格式
  • | : 將一個程序的輸出發送到另一個程序進行進一步處理的控制操作符
  • wc : 這是一個統計每個文件的換行符、單詞和位元組數的命令
  • -l : 輸出換行符的數量

示例-4

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

# ls -la | wc -l
8

示例-5

遞歸計算當前目錄的文件,包括隱藏文件。

# find . -type f | wc -l
7

細節 :

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

示例-6

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

# tree | tail -1
2 directories, 5 files

示例-7

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

# tree -a | tail -1
2 directories, 7 files

示例-8

運行下面的命令遞歸計算包含隱藏目錄在內的目錄數。

# find . -type d | wc -l
3

示例-9

根據文件擴展名計數文件數量。 這裡我們要計算 .txt 文件。

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

示例-10

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

# echo *.* | wc
1       4      39

示例-11

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

# echo */ | wc
1       1       6

示例-12

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

# echo * | wc
1 5 44

示例-13

統計系統(整個系統)中的文件數。

# find / -type f | wc -l
69769

示例-14

統計系統(整個系統)中的文件夾數。

# 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

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

作者:Magesh Maruthamuthu 譯者:Flowsnow 校對:wxy

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


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國