Linux下如何統(tǒng)計(jì)當(dāng)前目錄下文件有多少個(gè),目錄又有多少個(gè)呢?
下面用shell寫一個(gè)腳本,放置在當(dāng)前目錄下,執(zhí)行即可。
復(fù)制代碼 代碼如下:
#!/bin/bash
#腳本名稱 dir
#定義一個(gè)函數(shù)fun_directory
fun_directory() {
let "filenum=0"
let "dirnum=0"
for i in $( ls )
do
if [ -d $i ]
then
let dirnum+=1
else
let filenum+=1
fi
done
echo "The number of directorys is $dirnum"
echo "The number of files is $filenum"
}
#調(diào)用函數(shù)
fun_directory
我們測(cè)試一下:
復(fù)制代碼 代碼如下:
[root@localhost scripts]# pwd
/root/scripts
[root@localhost scripts]# ll |sort
drwxr-xr-x 2 root root 4096 06-12 10:44 charpter8
drwxr-xr-x 2 root root 4096 06-13 12:34 aaa
-rw-r--r-- 1 root root 105 06-13 08:56 file1
-rw-r--r-- 1 root root 106 06-12 14:24 8-9
-rw-r--r-- 1 root root 121 06-12 09:36 jiu
-rw-r--r-- 1 root root 133 06-13 11:09 temp
-rw-r--r-- 1 root root 210 06-12 13:40 8-8
-rw-r--r-- 1 root root 222 06-12 11:51 8-6
-rw-r--r-- 1 root root 247 06-12 11:35 8-5
-rw-r--r-- 1 root root 273 06-12 13:13 8-7
-rw-r--r-- 1 root root 292 06-12 10:57 8-1
-rw-r--r-- 1 root root 309 06-12 14:51 8-11
-rw-r--r-- 1 root root 314 06-12 15:01 8-17
-rw-r--r-- 1 root root 317 06-13 12:10 test
-rw-r--r-- 1 root root 51 06-12 11:00 8-2
-rw-r--r-- 1 root root 53 06-13 08:51 file
-rw-r--r-- 1 root root 67 06-13 10:17 10-4
-rw-r--r-- 1 root root 78 06-13 10:09 test.out
-rwxr-xr-x 1 root root 103 06-12 11:06 8-3
-rwxr-xr-x 1 root root 124 06-13 10:02 10-32
-rwxr-xr-x 1 root root 304 06-13 12:47 dir
-rwxr-xr-x 1 root root 316 06-12 11:21 8-4
#執(zhí)行腳本
[root@localhost scripts]# sh dir
The number of directorys is 2
The number of files is 20
[root@localhost scripts]#
可以看到,數(shù)據(jù)統(tǒng)計(jì)是準(zhǔn)確的。
您可能感興趣的文章:- 通過(guò)shell腳本循環(huán)進(jìn)入目錄執(zhí)行命令的方法
- shell遞歸輸出文件名和目錄名的方法
- shell獲取目錄下所有文件夾的名稱并輸出的實(shí)例
- linux Shell獲取某目錄下所有文件夾的名稱
- 獲取shell腳本自身所在目錄的Shell腳本分享
- Shell腳本遍歷目錄并批量修改文件編碼
- Linux中shell腳本獲取當(dāng)前工作目錄的方法