嗨,伙計(jì)們,今天我們再次帶來一系列可以多方面幫助到你的復(fù)雜的命令。 通過操作命令,可以幫助您計(jì)數(shù)當(dāng)前目錄中的文件和目錄、遞歸計(jì)數(shù),統(tǒng)計(jì)特定用戶創(chuàng)建的文件列表等。
在本教程中,我們將向您展示如何使用多個命令,并使用 ls、egrep、wc 和 find 命令執(zhí)行一些高級操作。 下面的命令將可用在多個方面。
為了實(shí)驗(yàn),我打算總共創(chuàng)建 7 個文件和 2 個文件夾(5 個常規(guī)文件和 2 個隱藏文件)。 下面的 tree 命令的輸出清楚的展示了文件和文件夾列表。
# tree -a /opt
/opt
├──magi
│└──2g
│├──test5.txt
│└──.test6.txt
├──test1.txt
├──test2.txt
├──test3.txt
├──.test4.txt
└──test.txt
2directories,7files
示例 1
統(tǒng)計(jì)當(dāng)前目錄的文件(不包括隱藏文件)。 運(yùn)行以下命令以確定當(dāng)前目錄中有多少個文件,并且不計(jì)算點(diǎn)文件(LCTT 譯注:點(diǎn)文件即以“.” 開頭的文件,它們在 Linux 默認(rèn)是隱藏的)。
# ls -l . | egrep -c '^-'
4
細(xì)節(jié):
ls: 列出目錄內(nèi)容
-l: 使用長列表格式
.: 列出有關(guān)文件的信息(默認(rèn)為當(dāng)前目錄)
|: 將一個程序的輸出發(fā)送到另一個程序進(jìn)行進(jìn)一步處理的控制操作符
egrep: 打印符合模式的行
-c: 通用輸出控制
'^-': 以“-”開頭的行(ls -l列出長列表時,行首的 “-” 代表普通文件)
示例 2
統(tǒng)計(jì)當(dāng)前目錄包含隱藏文件在內(nèi)的文件。 包括當(dāng)前目錄中的點(diǎn)文件。
# ls -la . | egrep -c '^-'
5
示例 3
運(yùn)行以下命令來計(jì)數(shù)當(dāng)前目錄的文件和文件夾。 它會計(jì)算所有的文件和目錄。
# ls -l | wc -l
5
細(xì)節(jié):
ls: 列出目錄內(nèi)容
-l: 使用長列表格式
|: 將一個程序的輸出發(fā)送到另一個程序進(jìn)行進(jìn)一步處理的控制操作符
wc: 這是一個統(tǒng)計(jì)每個文件的換行符、單詞和字節(jié)數(shù)的命令
-l: 輸出換行符的數(shù)量
示例 4
統(tǒng)計(jì)當(dāng)前目錄包含隱藏文件和目錄在內(nèi)的文件和文件夾。
# ls -la | wc -l
8
示例 5
遞歸計(jì)算當(dāng)前目錄的文件,包括隱藏文件。
# find . -type f | wc -l
7
細(xì)節(jié) :
find: 搜索目錄結(jié)構(gòu)中的文件
-type: 文件類型
f: 常規(guī)文件
wc: 這是一個統(tǒng)計(jì)每個文件的換行符、單詞和字節(jié)數(shù)的命令
-l: 輸出換行符的數(shù)量
示例 6
使用tree命令輸出目錄和文件數(shù)(不包括隱藏文件)。
# tree | tail -1
2directories,5files
示例 7
使用包含隱藏文件的 tree 命令輸出目錄和文件計(jì)數(shù)。
# tree -a | tail -1
2directories,7files
示例 8
運(yùn)行下面的命令遞歸計(jì)算包含隱藏目錄在內(nèi)的目錄數(shù)。
# find . -type d | wc -l
3
示例 9
根據(jù)文件擴(kuò)展名計(jì)數(shù)文件數(shù)量。 這里我們要計(jì)算 .txt 文件。
# find . -name "*.txt" | wc -l
7
示例 10
組合使用 echo 命令和 wc 命令統(tǒng)計(jì)當(dāng)前目錄中的所有文件。 4 表示當(dāng)前目錄中的文件數(shù)量。
# echo *.* | wc
1 439
示例 11
組合使用 echo 命令和 wc 命令來統(tǒng)計(jì)當(dāng)前目錄中的所有目錄。 第二個 1 表示當(dāng)前目錄中的目錄數(shù)量。
# echo */ | wc
1 1 6
示例 12
組合使用 echo 命令和 wc 命令來統(tǒng)計(jì)當(dāng)前目錄中的所有文件和目錄。 5 表示當(dāng)前目錄中的目錄和文件的數(shù)量。
# echo * | wc
1544
示例 13
統(tǒng)計(jì)系統(tǒng)(整個系統(tǒng))中的文件數(shù)。
# find / -type f | wc -l
69769
示例-14
統(tǒng)計(jì)系統(tǒng)(整個系統(tǒng))中的文件夾數(shù)。
# find / -type d | wc -l
8819
示例-15
運(yùn)行以下命令來計(jì)算系統(tǒng)(整個系統(tǒng))中的文件、文件夾、硬鏈接和符號鏈接數(shù)。
# 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
8779dirs
69343files
20hardlinks
11646symlinks
-
Linux
+關(guān)注
關(guān)注
87文章
11292瀏覽量
209322 -
tree
+關(guān)注
關(guān)注
0文章
9瀏覽量
8560 -
文件夾
+關(guān)注
關(guān)注
0文章
14瀏覽量
8162
原文標(biāo)題:如何統(tǒng)計(jì) Linux 中文件和文件夾/目錄的數(shù)量
文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論