Files
ls 和實際文件大小,不使用“長列表格式”
Linux
ls
命令帶有這些選項。--block-size=SIZE scale sizes by SIZE before printing them; e.g., '--block-size=M' prints sizes in units of 1,048,576 bytes; see SIZE format below -l use a long listing format list subdirectories recursively -s, --size print the allocated size of each file, in blocks
我認為這
ls -l
是實際文件大小,ls -s --block-size=1
是分配給儲存文件的磁碟空間量。(在這種情況下,991232 = 968x1024 = 968K。)$ ls -s --block-size=1 summary.pdf 991232 summary.pdf $ ls -l summary.pdf -rwxrwx---. 1 chris chris 989838 May 1 2015 summary.pdf
是否可以在沒有“長列表格式”的附加資訊的情況下以字節為單位獲取文件大小?
您可以使用
stat
自定義格式。stat -c'%s' summary.pdf
將以字節為單位輸出實際文件大小。如果要分配塊,請使用分配的塊
%b
數和%B
每個塊的塊大小(以字節為單位)。這也適用於萬用字元和附加
%n
的文件名。有關更多格式選項,請參見手冊頁。
如果你想要一種只顯示大小和文件名的替代
ls
格式,這個 hack 就可以了。ls -l | sed "s/ */ /g" | cut -d ' ' -f 5,9-
或許:
alias size_plus_name="sed 's/ */ /g' | cut -d ' ' -f 5,9-" ls -l | size_plus_name
ls
以這種方式與任何開關或命令行參數一起使用。不要忘記包括-l
.*注意力!*這僅適用於文件名不包含任何空格的情況。
但是,
5-9-
(而不是5-9
)嘗試處理包含 wsp 的文件名。(參見下面@Scott 的評論)