首頁 > 軟體

清空檔案內容命令之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


IT145.com E-mail:sddin#qq.com