但是,如果文件比較大的話,顯示起來不是特別易讀,這個時候,可以使用“ls -lh”,就可以使用比較接近文件大小的單位顯示文件的大小,如下:
- [billing_dx@bmcs1 bin]$ ls -lh
- total 565M
- -rwxr-xr-x 1 billing_dx BILLING 1.1M Mar 10 18:56 AcctMgrService
- -rw-r--r-- 1 billing_dx BILLING 364 Mar 10 18:59 AcctMgrService.conf
- -rw------- 1 billing_dx BILLING 11G Mar 13 18:37 core.22836
- -rw-r--r-- 1 billing_dx BILLING 410 Mar 13 17:38 dll_info.conf
- -rwxr-xr-x 1 billing_dx BILLING 39 Mar 10 18:57 go
使用“-h”參數時,會根據文件的大小選擇顯示的單位是“K”、“M”還是“G”。如果希望指定顯示的單位,可以使用“--block-size”參數,如下:
- [billing_dx@bmcs1 bin]$ ls -l
- total 577724
- -rwxr-xr-x 1 billing_dx BILLING 1103862 Mar 10 18:56 AcctMgrService
- -rw-r--r-- 1 billing_dx BILLING 364 Mar 10 18:59 AcctMgrService.conf
- -rw------- 1 billing_dx BILLING 10947788800 Mar 13 18:37 core.22836
- -rw-r--r-- 1 billing_dx BILLING 410 Mar 13 17:38 dll_info.conf
- -rwxr-xr-x 1 billing_dx BILLING 39 Mar 10 18:57 go
- [billing_dx@bmcs1 bin]$ ls -l --block-size=k
- total 577724K
- -rwxr-xr-x 1 billing_dx BILLING 1078K Mar 10 18:56 AcctMgrService
- -rw-r--r-- 1 billing_dx BILLING 1K Mar 10 18:59 AcctMgrService.conf
- -rw------- 1 billing_dx BILLING 10691200K Mar 13 18:37 core.22836
- -rw-r--r-- 1 billing_dx BILLING 1K Mar 13 17:38 dll_info.conf
- -rwxr-xr-x 1 billing_dx BILLING 1K Mar 10 18:57 go
- [billing_dx@bmcs1 bin]$ ls -l --block-size=m
- total 565M
- -rwxr-xr-x 1 billing_dx BILLING 2M Mar 10 18:56 AcctMgrService
- -rw-r--r-- 1 billing_dx BILLING 1M Mar 10 18:59 AcctMgrService.conf
- -rw------- 1 billing_dx BILLING 10441M Mar 13 18:37 core.22836
- -rw-r--r-- 1 billing_dx BILLING 1M Mar 13 17:38 dll_info.conf
- -rwxr-xr-x 1 billing_dx BILLING 1M Mar 10 18:57 go
- [billing_dx@bmcs1 bin]$ ls -l --block-size=g
- total 1G
- -rwxr-xr-x 1 billing_dx BILLING 1G Mar 10 18:56 AcctMgrService
- -rw-r--r-- 1 billing_dx BILLING 1G Mar 10 18:59 AcctMgrService.conf
- -rw------- 1 billing_dx BILLING 11G Mar 13 18:37 core.22836
- -rw-r--r-- 1 billing_dx BILLING 1G Mar 13 17:38 dll_info.conf
- -rwxr-xr-x 1 billing_dx BILLING 1G Mar 10 18:57 go
同哦過對比可以看到,使用 不同的單位顯示的時候,使用的是進一法,所以一個1k的東西,使用G爲單位顯示的是,會顯示爲“1G”。所以,還是使用“-h”顯示起來,更符合人的習慣。
下面是ls顯示的相關描述:
- billing_dx@bmcs1 bin]$ man ls
- LS(1) User Commands LS(1)
- NAME
- ls - list directory contents
- SYNOPSIS
- ls [OPTION]... [FILE]...
- DESCRIPTION
- List information about the FILEs (the current directory by default). Sort entries alphabetically if
- none of -cftuvSUX nor --sort.
- Mandatory arguments to long options are mandatory for short options too.
- -h, --human-readable
- with -l, print sizes in human readable format (e.g., 1K 234M 2G)
- -k like --block-size=1K
- -l use a long listing format
- --block-size=SIZE
- use SIZE-byte blocks. See SIZE format below
- SIZE may be (or may be an integer optionally followed by) one of following: KB 1000, K 1024, MB
- 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.
ls -l|grep "^-"| wc -l)查看某個文件夾下文件的個數。
(ls -lR|grep "^-"| wc -l)查看某個文件夾下文件的個數,包括子文件夾下的文件個數。
(ls -l|grep "^d"| wc -l)查看某個文件夾下文件夾的個數。
(ls -lR|grep "^d"| wc -l)查看某個文件夾下文件夾的個數,包括子文件夾下的文件夾個數。
(ls -l| wc -l)查看文件夾下所有的文件和文件夾。也就是統計ls -l命令所輸出的行數。
說明:
ls -l
長列表輸出該目錄下文件信息(注意這裏的文件,不同於一般的文件,可能是目錄、鏈接、設備文件等)
grep "^-"
這裏將長列表輸出信息過濾一部分,只保留一般文件,如果只保留目錄就是 ^d
wc -l
統計輸出信息的行數,因爲已經過濾得只剩一般文件了,所以統計結果就是一般文件信息的行數,又由於
一行信息對應一個文件,所以也就是文件的個數。