統(tǒng)計(jì)Linux 中文件和文件夾/目錄的數(shù)量(示例代碼)
嗨,伙計(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 directories, 7 files
示例-1
統(tǒng)計(jì)當(dāng)前目錄的文件(不包括隱藏文件)。 運(yùn)行以下命令以確定當(dāng)前目錄中有多少個文件,并且不計(jì)算點(diǎn)文件(LCTT 譯注:點(diǎn)文件即以“.” 開頭的文件,它們在 Linux 默認(rèn)是隱藏的)。
# ls -l . | egrep -c '^-' # ls -l . | egrep -c '^-'
細(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 '^-' # ls -la . | egrep -c '^-'
示例-3
運(yùn)行以下命令來計(jì)數(shù)當(dāng)前目錄的文件和文件夾。 它會計(jì)算所有的文件和目錄。
# ls -l | wc -l # ls -l | wc -l
細(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 # ls -la | wc -l
示例-5
遞歸計(jì)算當(dāng)前目錄的文件,包括隱藏文件。
# find . -type f | wc -l # find . -type f | wc -l
細(xì)節(jié) :
- find : 搜索目錄結(jié)構(gòu)中的文件
- -type : 文件類型
- f : 常規(guī)文件
- wc : 這是一個統(tǒng)計(jì)每個文件的換行符、單詞和字節(jié)數(shù)的命令
- -l : 輸出換行符的數(shù)量
示例-6
使用 tree 命令輸出目錄和文件數(shù)(不包括隱藏文件)。
# tree | tail -1 directories, 5 files # tree | tail -1 directories, 5 files
示例-7
使用包含隱藏文件的 tree 命令輸出目錄和文件計(jì)數(shù)。
# tree -a | tail -1 directories, 7 files # tree -a | tail -1 2 directories, 7 files
示例-8
運(yùn)行下面的命令遞歸計(jì)算包含隱藏目錄在內(nèi)的目錄數(shù)。
# find . -type d | wc -l # find . -type d | wc -l
示例-9
根據(jù)文件擴(kuò)展名計(jì)數(shù)文件數(shù)量。 這里我們要計(jì)算 .txt 文件。
# find . -name "*.txt" | wc -l # find . -name "*.txt" | wc -l
示例-10
組合使用 echo 命令和 wc 命令統(tǒng)計(jì)當(dāng)前目錄中的所有文件。 4 表示當(dāng)前目錄中的文件數(shù)量。
# echo *.* | wc 1 4 39 # echo *.* | wc 1 4 39
示例-11
組合使用 echo 命令和 wc 命令來統(tǒng)計(jì)當(dāng)前目錄中的所有目錄。 第二個 1 表示當(dāng)前目錄中的目錄數(shù)量。
# echo */ | wc 1 1 6 # echo */ | wc 1 1 6
示例-12
組合使用 echo 命令和 wc 命令來統(tǒng)計(jì)當(dāng)前目錄中的所有文件和目錄。 5 表示當(dāng)前目錄中的目錄和文件的數(shù)量。
# echo * | wc 1 5 44 # echo * | wc 1 5 44
示例-13
統(tǒng)計(jì)系統(tǒng)(整個系統(tǒng))中的文件數(shù)。
# find / -type f | wc -l 69769 # find / -type f | wc -l 69769
示例-14
統(tǒng)計(jì)系統(tǒng)(整個系統(tǒng))中的文件夾數(shù)。
# find / -type d | wc -l 8819 # 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 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
總結(jié)
以上所述是小編給大家介紹的統(tǒng)計(jì)Linux 中文件和文件夾/目錄的數(shù)量,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
linux 系統(tǒng)忘記密碼的快捷解決方法(圖文詳解)
在學(xué)習(xí)Linux的過程當(dāng)中,想到,萬一自己忘記了linux的密碼該怎么辦?其實(shí)在linux當(dāng)中忘記密碼解決方法非常簡單的,下面小編把linux 系統(tǒng)忘記密碼的快捷解決方法分享到腳本之家平臺供大家參考2017-03-03
利用shell編程實(shí)現(xiàn)DOS風(fēng)格的Linux命令行
利用shell編程實(shí)現(xiàn)DOS風(fēng)格的Linux命令行...2006-10-10
分布式監(jiān)控系統(tǒng)Zabbix3.2添加自動發(fā)現(xiàn)磁盤IO并注冊監(jiān)控(推薦)
zabbix自帶的“Template OS Linux”模板可自動發(fā)現(xiàn)磁盤并監(jiān)控空間利用率,小編這次介紹分布式監(jiān)控系統(tǒng)Zabbix3.2添加自動發(fā)現(xiàn)磁盤IO并注冊監(jiān)控,需要的朋友參考下吧2018-01-01

