介紹各種在 Bash 指令稿中檢查與取得檔案大小的方法,並提供範例程式碼。
stat
指令
stat
指令搭配 -c %s
參數即可取得指定檔案的大小,單位為位元組(bytes):
# 取得 mydoc.pdf 的檔案大小(單位為位元組 bytes) stat -c %s mydoc.pdf
19725
以下是將 stat
指令應用於 bash shell 指令稿中,取得檔案大小的範例:
#!/bin/bash # 檔案名稱 FILENAME=mydoc.pdf # 取得檔案大小 FILESIZE=$(stat -c%s "$FILENAME") # 輸出檔案大小資訊 echo "$FILENAME 大小為 $FILESIZE 位元組"
mydoc.pdf 大小為 19725 位元組
ls
指令
ls
指令的輸出終究有包含檔案大小的資訊,我們可以搭配 awk
這類的簡單工具,將檔案大小的資訊取出:
# 透過 ls 與 awk 取得檔案大小 ls -la mydoc.pdf | awk '{print $5}'
19725
ls
若搭配 -h
參數,可以輸出比較容易閱讀的檔案大小格式:
# 取得易讀的檔案大小資訊 ls -lah mydoc.pdf | awk '{print $5}'
20K
以下是應用於 bash shell 指令稿中的範例:
#!/bin/bash # 檔案名稱 FILENAME=mydoc.pdf # 取得檔案大小 FILESIZE=$(ls -lah $FILENAME | awk '{print $5}') # 輸出檔案大小資訊 echo "$FILENAME 大小為 $FILESIZE"
mydoc.pdf 大小為 20K