嗨,伙計(jì)們,今天我們?cè)俅螏?lái)一系列可以多方面幫助到你的復(fù)雜的命令。 通過(guò)操作命令,可以幫助您計(jì)數(shù)當(dāng)前目錄中的文件和目錄、遞歸計(jì)數(shù),統(tǒng)計(jì)特定用戶創(chuàng)建的文件列表等。
在本教程中,我們將向您展示如何使用多個(gè)命令,并使用 ls、egrep、wc 和 find 命令執(zhí)行一些高級(jí)操作。 下面的命令將可用在多個(gè)方面。
為了實(shí)驗(yàn),我打算總共創(chuàng)建 7 個(gè)文件和 2 個(gè)文件夾(5 個(gè)常規(guī)文件和 2 個(gè)隱藏文件)。 下面的 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)前目錄中有多少個(gè)文件,并且不計(jì)算點(diǎn)文件(LCTT 譯注:點(diǎn)文件即以“.” 開頭的文件,它們?cè)?Linux 默認(rèn)是隱藏的)。
# ls -l . | egrep -c '^-'
4
細(xì)節(jié):
ls: 列出目錄內(nèi)容
-l: 使用長(zhǎng)列表格式
.: 列出有關(guān)文件的信息(默認(rèn)為當(dāng)前目錄)
|: 將一個(gè)程序的輸出發(fā)送到另一個(gè)程序進(jìn)行進(jìn)一步處理的控制操作符
egrep: 打印符合模式的行
-c: 通用輸出控制
'^-': 以“-”開頭的行(ls -l列出長(zhǎng)列表時(shí),行首的 “-” 代表普通文件)
示例 2
統(tǒng)計(jì)當(dāng)前目錄包含隱藏文件在內(nèi)的文件。 包括當(dāng)前目錄中的點(diǎn)文件。
# ls -la . | egrep -c '^-'
5
示例 3
運(yùn)行以下命令來(lái)計(jì)數(shù)當(dāng)前目錄的文件和文件夾。 它會(huì)計(jì)算所有的文件和目錄。
# ls -l | wc -l
5
細(xì)節(jié):
ls: 列出目錄內(nèi)容
-l: 使用長(zhǎng)列表格式
|: 將一個(gè)程序的輸出發(fā)送到另一個(gè)程序進(jìn)行進(jìn)一步處理的控制操作符
wc: 這是一個(gè)統(tǒng)計(jì)每個(gè)文件的換行符、單詞和字節(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: 這是一個(gè)統(tǒng)計(jì)每個(gè)文件的換行符、單詞和字節(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 命令來(lái)統(tǒng)計(jì)當(dāng)前目錄中的所有目錄。 第二個(gè) 1 表示當(dāng)前目錄中的目錄數(shù)量。
# echo */ | wc
1 1 6
示例 12
組合使用 echo 命令和 wc 命令來(lái)統(tǒng)計(jì)當(dāng)前目錄中的所有文件和目錄。 5 表示當(dāng)前目錄中的目錄和文件的數(shù)量。
# echo * | wc
1544
示例 13
統(tǒng)計(jì)系統(tǒng)(整個(gè)系統(tǒng))中的文件數(shù)。
# find / -type f | wc -l
69769
示例-14
統(tǒng)計(jì)系統(tǒng)(整個(gè)系統(tǒng))中的文件夾數(shù)。
# find / -type d | wc -l
8819
示例-15
運(yùn)行以下命令來(lái)計(jì)算系統(tǒng)(整個(gè)系統(tǒng))中的文件、文件夾、硬鏈接和符號(hào)鏈接數(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文章
11345瀏覽量
210391 -
tree
+關(guān)注
關(guān)注
0文章
9瀏覽量
8573 -
文件夾
+關(guān)注
關(guān)注
0文章
14瀏覽量
8193
原文標(biāo)題:如何統(tǒng)計(jì) Linux 中文件和文件夾/目錄的數(shù)量
文章出處:【微信號(hào):LinuxHub,微信公眾號(hào):Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論