2021-05-12 14:32:11
清空檔案內容命令之echo和/dev/null區別?
2020-06-16 16:56:58
我們知道清空檔案內容有很多種方法,本文只談論echo "" 和 /dev/null這兩種有什麼區別。
一、黑洞裝置/dev/null是什麼?
在 Linux 中, null 裝置基本上被用來丟棄某個進程不再需要的輸出流,或者作為某個輸入流的空白檔案,這些通常可以利用重定向機制來達到。
所以 /dev/null 裝置檔案是一個特殊的檔案,它將清空送到它這裡來的所有輸入,而它的輸出則可被視為一個空檔案。
另外,你可以通過使用 cat 命令 顯示 /dev/null 的內容然後重定向輸出到某個檔案,以此來達到清空該檔案的目的。通過使用cat /dev/null,檔案大小為0位元組。
二、兩者主要區別?
空字串並不等同於 null 。字串表明它是一個具體的事物,只不過它的內容可能是空的,但 null 則意味著某個事物並不存在。
基於這個原因,當你將 echo 命令 的輸出作為輸入重定向到檔案後,使用 cat 命令 來檢視該檔案的內容時,你將看到一個空白行(即一個空字串)。
要將 null 做為輸出輸入到檔案中,你應該使用 -n 選項,這個選項將告訴 echo 不再像上面的那個命令那樣輸出結尾的那個新行。
三、實操
使用cat /dev/null,檔案大小為0
而使用echo "" ,檔案大小為1,這是因為echo只是寫入了一個空字串到檔案中去。如果想讓檔案大小為0,則使用echo -n ""
本文永久更新連結地址:http://www.linuxidc.com/Linux/2018-01/150087.htm
相關文章