在Linux中顯示文件大小的時候,通常的做法是使用“ls -l”,顯示的大小是文件的字節大小。
但是,如果文件比較大的話,顯示起來不是特別易讀,這個時候,可以使用“ls -lh”,就可以使用比較接近文件大小的單位顯示文件的大小,如下:
[www.linuxidc.com@linux 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”參數,如下:
[www.linuxidc.com@linux 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
[www.linuxidc.com@linux 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
[www.linuxidc.com@linux 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
[www.linuxidc.com@linux 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顯示的相關描述:
[www.linuxidc.com@linux 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.
【排序文件大小】
在我們可以顯示文件大小之后,我們希望以文件大小排序。我們可以使用-S參數來這么做。這列表會從大到校排序。
ls -lhS
【測量大小】
ls可以通過使用-block-size=SIZE改單位大小。這里的SIZE是:
K = Kilobyte M = Megabyte G = Gigabyte T = Terabyte P = Petabyte E = Exabyte Z = Zettabyte Y = Yottabyte
比如,我們希望使用MB作為單位大小。所以語法就會像這樣:
ls -l --block-size=M
【只列出目錄條目】
如果我們希望只列出目錄,我們可以使用-d選項。
ls -d */