linux 文件大小单位显示

在linux中显示文件大小的时候,通常的做法是使用“ls -l”,显示的大小是文件的字节大小。
但是,如果文件比较大的话,显示起来不是特别易读,这个时候,可以使用“ls -lh”,就可以使用比较接近文件大小的单位显示文件的大小,如下:
[plain]  view plain  copy
  1. [billing_dx@bmcs1 bin]$ ls -lh  
  2. total 565M  
  3. -rwxr-xr-x 1 billing_dx BILLING 1.1M Mar 10 18:56 AcctMgrService  
  4. -rw-r--r-- 1 billing_dx BILLING  364 Mar 10 18:59 AcctMgrService.conf  
  5. -rw------- 1 billing_dx BILLING  11G Mar 13 18:37 core.22836  
  6. -rw-r--r-- 1 billing_dx BILLING  410 Mar 13 17:38 dll_info.conf  
  7. -rwxr-xr-x 1 billing_dx BILLING   39 Mar 10 18:57 go  



使用“-h”参数时,会根据文件的大小选择显示的单位是“K”、“M”还是“G”。如果希望指定显示的单位,可以使用“--block-size”参数,如下:

[plain]  view plain  copy
  1. [billing_dx@bmcs1 bin]$ ls -l  
  2. total 577724  
  3. -rwxr-xr-x 1 billing_dx BILLING     1103862 Mar 10 18:56 AcctMgrService  
  4. -rw-r--r-- 1 billing_dx BILLING         364 Mar 10 18:59 AcctMgrService.conf  
  5. -rw------- 1 billing_dx BILLING 10947788800 Mar 13 18:37 core.22836  
  6. -rw-r--r-- 1 billing_dx BILLING         410 Mar 13 17:38 dll_info.conf  
  7. -rwxr-xr-x 1 billing_dx BILLING          39 Mar 10 18:57 go  
  8.   
  9. [billing_dx@bmcs1 bin]$ ls -l --block-size=k   
  10. total 577724K  
  11. -rwxr-xr-x 1 billing_dx BILLING     1078K Mar 10 18:56 AcctMgrService  
  12. -rw-r--r-- 1 billing_dx BILLING        1K Mar 10 18:59 AcctMgrService.conf  
  13. -rw------- 1 billing_dx BILLING 10691200K Mar 13 18:37 core.22836  
  14. -rw-r--r-- 1 billing_dx BILLING        1K Mar 13 17:38 dll_info.conf  
  15. -rwxr-xr-x 1 billing_dx BILLING        1K Mar 10 18:57 go  
  16.   
  17. [billing_dx@bmcs1 bin]$ ls -l --block-size=m  
  18. total 565M  
  19. -rwxr-xr-x 1 billing_dx BILLING     2M Mar 10 18:56 AcctMgrService  
  20. -rw-r--r-- 1 billing_dx BILLING     1M Mar 10 18:59 AcctMgrService.conf  
  21. -rw------- 1 billing_dx BILLING 10441M Mar 13 18:37 core.22836  
  22. -rw-r--r-- 1 billing_dx BILLING     1M Mar 13 17:38 dll_info.conf  
  23. -rwxr-xr-x 1 billing_dx BILLING     1M Mar 10 18:57 go  
  24.   
  25. [billing_dx@bmcs1 bin]$ ls -l --block-size=g  
  26. total 1G  
  27. -rwxr-xr-x 1 billing_dx BILLING  1G Mar 10 18:56 AcctMgrService  
  28. -rw-r--r-- 1 billing_dx BILLING  1G Mar 10 18:59 AcctMgrService.conf  
  29. -rw------- 1 billing_dx BILLING 11G Mar 13 18:37 core.22836  
  30. -rw-r--r-- 1 billing_dx BILLING  1G Mar 13 17:38 dll_info.conf  
  31. -rwxr-xr-x 1 billing_dx BILLING  1G Mar 10 18:57 go  



同哦过对比可以看到,使用  不同的单位显示的时候,使用的是进一法,所以一个1k的东西,使用G为单位显示的是,会显示为“1G”。所以,还是使用“-h”显示起来,更符合人的习惯。
下面是ls显示的相关描述:
[plain]  view plain  copy
  1. billing_dx@bmcs1 bin]$ man ls  
  2. LS(1)                            User Commands                           LS(1)  
  3.   
  4.   
  5. NAME  
  6.    ls - list directory contents  
  7.   
  8.   
  9. SYNOPSIS  
  10.    ls [OPTION]... [FILE]...  
  11.   
  12.   
  13. DESCRIPTION  
  14.    List  information  about the FILEs (the current directory by default).  Sort entries alphabetically if  
  15.    none of -cftuvSUX nor --sort.  
  16.   
  17.   
  18.    Mandatory arguments to long options are mandatory for short options too.  
  19.   
  20.   
  21.    -h, --human-readable  
  22.           with -l, print sizes in human readable format (e.g., 1K 234M 2G)  
  23.   
  24.   
  25.    -k     like --block-size=1K  
  26.   
  27.   
  28.    -l     use a long listing format  
  29.   
  30.   
  31.    --block-size=SIZE  
  32.           use SIZE-byte blocks.  See SIZE format below  
  33.   
  34.   
  35.    SIZE  may  be  (or  may  be  an  integer optionally followed by) one of following: KB 1000, K 1024, MB  
  36.    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

 
统计输出信息的行数,因为已经过滤得只剩一般文件了,所以统计结果就是一般文件信息的行数,又由于


一行信息对应一个文件,所以也就是文件的个数。

猜你喜欢

转载自blog.csdn.net/huakai_sun/article/details/80620965