Shell
cat /dev/null > file
的含義
在前同事創建的文件中,有以下命令:
cat /dev/null > /var/spool/mail/root
它旁邊說它將清理郵箱。
有人可以解釋這些命令如何/為什麼這樣做。在執行命令之前,我需要知道會發生什麼。
我們正在嘗試清理 var 上的空間,截至目前它為 91%。
該命令會將設備中的數據輸出
/dev/null
到給定文件(root 帳戶的郵箱)。由於/dev/null
在讀取文件時僅以文件結尾響應,因此不會將任何內容寫入文件,但是通過重定向>
,shell 已經清除了文件。實際上這相當於只寫> /var/spool/mail/root
(即,沒有
cat
or的情況相同/dev/null
)。
cat /dev/null > /var/spool/mail/root
截斷/var/spool/mail/root
替代方案是
> /var/spool/mail/root