精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何在Linux清空文件內容

CHANBAEK ? 來源:myfreax ? 作者:myfreax ? 2022-12-06 17:11 ? 次閱讀

在某些情況下,您可能希望將現有文件截斷,即減少或者縮小文件的大小。清空文件比刪除文件后重新創建文件并設置正確的權限和所有權。更快,更容易。

還有一點就是,如果要刪除的文件已經被其它進程打開,如果你此時刪除文件可能會導致使用該文件的進程沒有響應。但你可以嘗試清空文件內容。

教程說明如何在Linux 清空文件內容。

truncate 命令清空文件

隨著時間的流逝,您的磁盤驅動器可能會堆滿很多大型日志文件,這些日志文件會占用大量磁盤空間。

此時,你可以運行命令sudo truncate -s 0 /var/log/**/*.log清空清空/var/log目錄以.log結尾的文件。

另一個更好的選擇是使用logrotate工具壓縮和刪除日志文件。

sudo truncate -s 0 /var/log/**/*.log

Shell 重定向清空文件

清空文件最簡單,最常用的方法是使用Shell重定向操作符>。使用重定向清空文件的命令是: > filename

:返回零字節的空字符串,也可以理解為不產生任何輸出。重定向操作符>將命令:的輸出重定向到指定文件。

filename是您要清空的文件。如果文件存在,它將被清空為零的大小,即空文件,否則創建零字節的文件。

現在大多數Shell程序,例如Bash或Zsh,都可以在重定向符號之前省略命令,因此你可以將: > filename寫成> filename

: > filename
> filename

除了:命令,你還可以使用另一個不產生任何輸出的命令cat /dev/null/dev/null是空設備文件。

然后使用重定向操作符> 重定向到你要清空的文件,例如命令cat /dev/null > filename會清空文件filename

此外還可以使用echo命令和-n選項。-n選項表示不輸出尾隨的換行符。例如命令echo -n > filename

cat /dev/null > filename
echo -n > filename

Sudo與Shell 重定向清空文件

要能夠清空文件,您需要對文件具有寫權限。通常您可能會因為權限問題而使用 sudo命令。

但是使用sudo提升權限不適用于重定向操作符>,例如命令sudo : > /var/log/syslog

你的終端將會打印錯誤消息bash: /var/log/syslog: Permission denied。

sudo : > /var/log/syslog
bash: /var/log/syslog: Permission denied

遇到此問題時可以有幾種解決方案。第一種是使用sudo和sh命令啟動子shell運行命令。

另一種解決方案是將命令的標準輸出通過管道傳遞給tee命令,然后使用sudo將提升權限運行tee命令晴空文件。例如命令: | sudo tee filename

sh命令的-c選項允許用戶指定要運行的命令,命令將會shell的子進程運行。命令sudo sh -c '> filename'創建shell子進程運行> filename命令。

sudo sh -c '> filename'
: | sudo tee filename

結論

要在Linux 清空文件,請使用重定向操作符>,后跟文件名或者使用truncate命令。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11227

    瀏覽量

    208920
  • 文件
    +關注

    關注

    1

    文章

    561

    瀏覽量

    24697
  • 命令
    +關注

    關注

    5

    文章

    678

    瀏覽量

    21984
  • Shell
    +關注

    關注

    1

    文章

    363

    瀏覽量

    23294
收藏 人收藏

    評論

    相關推薦

    請教Labview如何實現清空一個指定的文件

    時自動清理)需要清空這個文件夾目前清空文件夾這個不會實現。。。或者對于上述我的想法大神們有什么更好的辦法?
    發表于 08-01 20:36

    如何清空數組內容

    我用插入元素加for循環的方法生成數組,想每次用完之后清空再使用。我用了條件結構把空數組輸入到數組中,數組顯示為零,但是再次使用數組的時候原來的值還是沒有清除,數據又接在原數組后面繼續生成,請問怎么才能徹底刪除數組中的內容
    發表于 04-23 04:33

    求教,labview怎么清空文本文件中的內容

    求教,labview怎么清空文本文件中的內容。重新運行程序后,清空文本文件中原有的字符。
    發表于 11-23 14:59

    Linux下如何清空或刪除大文件和大量文件

    快速刪除大文件1. 通過重定向到 Null 來清空文件內容清空或者讓一個文件成為空白的最簡單方式,是像下面那樣,通過 shell 重定向 n
    發表于 07-11 07:50

    Linux文件內容查詢命令

    Linux文件內容查詢命令 Linux文件內容查詢命令  grep、fgrep和egrep命令
    發表于 01-18 12:45 ?840次閱讀

    Linux基礎教程之如何在linux不解壓tar.gz文件查看的文件大小資料概述

    本文檔的主要內容詳細介紹的是Linux基礎教程之如何在linux不解壓tar.gz文件查看的文件
    發表于 10-31 17:06 ?2次下載

    何在Win7與linux雙系統時卸載linux詳細方法概述

    本文檔的主要內容詳細介紹的是如何在Win7與linux雙系統時卸載linux詳細方法概述
    發表于 11-07 15:49 ?21次下載
    如<b class='flag-5'>何在</b>Win7與<b class='flag-5'>linux</b>雙系統時卸載<b class='flag-5'>linux</b>詳細方法概述

    何在Linux下如何刪除大量文件的詳細資料概述

    本文檔的主要內容詳細介紹的是如何在Linux下刪除大量文件的過程詳細資料概述免費下載。
    發表于 11-14 17:10 ?7次下載

    LINUX系統教程之如何在Linux系統下進行編程

    本文檔的主要內容詳細介紹的是LINUX系統教程之如何在Linux系統下進行編程主要內容包括了:程序開發過程 ,
    發表于 12-18 19:09 ?9次下載

    怎樣恢復回收站已清空文件

    回收站被清空了怎么辦?網上經常能看到一些方法,比如修改注冊表、下載某收費軟件等等。但這些方法,要么太麻煩,要么需要用戶花錢。最關鍵的是,你花了錢,卻未必能找回自己想要的東東。
    的頭像 發表于 03-24 10:06 ?3545次閱讀

    虛擬機:Linux查看tar包文件內容的方法

    虛擬機:Linux查看tar包文件內容的方法
    的頭像 發表于 06-22 16:49 ?6682次閱讀

    何在Linux中查看隱藏文件

    在windows可以查看隱藏的文件。在Linux中也可以查看隱藏文件且非常容易。要查看隱藏文件運行`ls -a`命令即可。
    的頭像 發表于 01-04 17:31 ?1.6w次閱讀

    何在Linux上使用Pigz來更快地壓縮文件

    Pigz是一款快速壓縮文件的工具,它能夠使用多個CPU核心進行壓縮,使得壓縮速度得到了極大的提升。在本文中,我們將介紹如何在Linux上使用Pigz來更快地壓縮文件
    的頭像 發表于 05-12 16:42 ?2172次閱讀
    如<b class='flag-5'>何在</b><b class='flag-5'>Linux</b>上使用Pigz來更快地壓縮<b class='flag-5'>文件</b>

    恒訊科技分析:如何在Linux上使用rm命令刪除文件和目錄?

    本指南展示了如何在Linux中使用rm命令行刪除文件、目錄和其他內容
    的頭像 發表于 06-09 17:02 ?1155次閱讀

    java如何清空obj文件內容

    清空一個文件內容可以通過以下步驟來完成。 首先,你需要指定要清空文件的路徑。你可以使用Java的File類來操作
    的頭像 發表于 11-21 10:29 ?459次閱讀