如何將可用磁碟空間放入檔案名稱?

如何將可用磁碟空間放入檔案名稱?

我只有一個 SFTP 用戶,我希望它能看到可用空間。

我想製作一個cron每 30 分鐘運行一次的程序,刪除舊檔案並放置新檔案以顯示可用磁碟空間。

我可以直接放df -h > df.txt,但我不想那樣做。我想要一個空文件,文件名如下:3.1G.available,然後在 shell 腳本中刪除*.available並建立新文件 - 該文件由 cron 運行。

提前致謝。

答案1

讓我們從命令開始df,使用-h選項以人類可讀的格式給出大小(在本例中為千兆位元組)

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       226G  2.4G  213G   2% /
udev            1.7G  4.0K  1.7G   1% /dev
tmpfs           691M  324K  690M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            1.7G     0  1.7G   0% /run/shm

現在讓我們grep將該命令的輸出範圍縮小到我們關心的分區 -sda1

$ df -h | grep 'sda1'
/dev/sda1       226G  2.4G  213G   2% /

看起來不錯。讓我們繼續將其範圍縮小到僅“可用”列,使用awk

$ df -h | grep 'sda1' | awk '{print $4}'
213G

那可行。現在我們將指令用反引號括起來,以便輸出回到 shell。然後我們將使用該touch命令使用我們構建的命令的輸出以及字串“.available”創建一個空文件

$ touch `df -h | grep 'sda1' | awk '{print $4}'`.available
$ ls
213G.available

就這樣吧!

答案2

其他方式

touch `df -h --output='avail' / | tail -1`.available

相關內容