如何將 Linux 終端中命令的輸出保存到文件中 | Linux 中國

2020-12-23 騰訊網

導讀:有時你需要將輸出保存到文件中以備將來參考。當然你可以在 Linux 終端中複製和粘貼,但是有更好的方法可以在 Linux 命令行中保存 shell 腳本或命令的輸出,讓我演示給你看。

本文字數:1659,閱讀時長大約:2分鐘

https://linux.cn/article-12920-1.html

作者:Abhishek Prakash

譯者:MjSeven

當你在 Linux 終端中運行命令或腳本時,它會在終端中列印輸出方便你立即查看。

有時你需要將輸出保存到文件中以備將來參考。當然你可以在 Linux 終端中複製和粘貼,但是有更好的方法可以在 Linux 命令行中保存 shell 腳本或命令的輸出,讓我演示給你看。

方法 1:使用重定向將命令輸出保存到文件中

你可以在 Linux 中使用重定向來達成目的。使用重定向操作符,它會將輸出保存到文件中而不是在屏幕上顯示。

會將命令輸出重定向到文件,它會替換文件中的所有內容。

會將命令輸出添加到文件現有內容的末尾。

使用標準輸出重定向運算符 將輸出重定向到文件:

如果 不存在,它會自動創建。如果你使用 再次重定向到相同的文件,文件內容將被替換為新的輸出。

下面的示例將更好地演示它。它首先會保存ls -l命令的輸出,然後,它將用ls *.c命令的輸出替換文件的內容。

將命令輸出重定向到文件

如果你不想在保存腳本或命令的輸出時丟失現有文件的內容,可以使用 :

下面這個例子更好地展示了它:

將命令輸出重定向到文件

即使文件不存在,它也會自動創建。

溫馨提示:將 Linux 命令輸出和錯誤保存到一個文件中。

如果 Linux 命令返回錯誤,那麼錯誤不會保存在文件中。你可以使用 將命令的輸出和錯誤保存到同一個文件中,如下所示:

通常, 代表標準輸入, 代表標準輸出, 代表標準錯誤。在這裡,你要將標準錯誤() 重定向()到與標準輸出()相同的地址。

方法 2:使用 tee 命令顯示輸出並將其保存到文件中

順便說一句,你是否注意到,當你將命令輸出發送到一個文件時,你再也無法在終端上看到它了?Linux 的 tee 命令解決了這個問題。

類似於將水流發送到兩個方向的三通管,tee命令將輸出發送到終端以及文件(或作為另一個命令的輸入)。你可以像這樣使用它:

同樣,如果該文件不存在,它將自動創建。

你還可以使用tee命令 選項進入附加模式:

讓我用一些簡單的例子來演示:

我在例子中使用了簡單的 Linux 命令。但是請放心,你也可以使用這些方法來保存 bash 腳本的輸出。

注意:將命令輸出保存到文件時,避免管道陷阱

你可能對管道重定向很熟悉,可以使用它來組合 Linux 命令,但不能將輸出通過管道傳輸到文件,它顯示找不到 命令:

這是因為管道將一個命令的輸出重定向到另一個命令的輸入。在本例中,你向它傳遞一個了一個文件名而它期望一個命令。

如果你是一個 Linux 命令行新手,我希望這個快速教程對你的 Linux 知識有所幫助。I/O 重定向是一個需要注意的基本概念。

一如既往,歡迎提出問題和建議。

via:https://itsfoss.com/save-command-output-to-file-linux/

作者:Abhishek Prakash選題:lujun9972譯者:MjSeven校對:wxy

本文由LCTT原創編譯,Linux中國榮譽推出

相關焦點

  • linux系統中通過dos2unix命令轉換windows系統中編輯的文件
    使用過linux系統的朋友都知道,linux和windows換行符是不同的,Windows格式文件的換行符為\r\n ,而Unix&Linux文件的換行符為\n. dos2unix命令就是將dos文件轉換為unix、linux格式 ,其實就是dos2unix命令將文件中的\
  • Linux常用命令 - curl
    在其最簡單的形式中,當不使用任何選項調用時,curl 將指定的資源顯示到標準輸出。例如,要檢索示例網站的主頁,你可以運行:curl chasays.github.ioeqklbA該命令將在您的終端窗口中列印示例.com 主頁的原始碼。
  • vim+py文件構造linux後門
    下的標準輸入、輸出、錯誤重定向到套接字中並開啟一個shell,從而實現數據傳輸。執行後會出現黑色的等待連接窗口,在攻擊機成功連接後,連接窗口會變成一個命令輸入窗口,並需要輸入q進行退出操作。然後在我們使用過程中,這個窗口並不需要。那我們就得考慮,如何啟動的時候就不顯示該窗口。這裡我們可以使用linux中nohup功能,用來將命令進行後臺執行。
  • 超級小白帖:如何在Linux終端中複製粘貼
    ※ 如何在Linux終端中複製粘貼文本和命令 方法一:在終端中使用鍵盤快捷鍵進行複製粘貼。如果你從Linuxprobe網站複製一個命令示例(使用通用的Ctrl+C鍵),你可以使用Ctrl+Shift+V將這個命令粘貼到終端中。 同樣,你可以使用Ctrl+shift+C從終端中複製文本,然後使用常規的Ctrl+V快捷鍵在文本編輯器或Web瀏覽器中粘貼。
  • 從串口驅動到Linux驅動模型,想轉Linux的必會!
    設置文件幾乎都屬於這種文件類型。舉例來說,使用命令「cat ~/.bashrc」就可以看到該文件的內容(cat是將文件內容讀出來)。2、二進位文件(binary):系統其實僅認識且可以執行二進位文件(binary file)。Linux中的可執行文件(腳本,文本方式的批處理文件不算)就是這種格式的。舉例來說,命令cat就是一個二進位文件。
  • 幫你精通Linux:簡約卻不簡單的ls命令
    ls 命令即 list directory contents是我們最為熟悉的Linux命令。它就如車載或者手機中的導航地圖,徹底解放了我們的大腦,片刻不能離身。否則我們下樓取個快遞,都得繞18道彎才能勉強找回家。
  • 詮釋Linux中「一切都是文件」概念和相應的文件類型
    這些思想是對 Linux 中的各種事物的重要闡述,因此像文檔、目錄(Mac OS X 和 Windows 系統下稱之為文件夾)、鍵盤、監視器、硬碟、可移動媒體設備、印表機、數據機、虛擬終端,還有進程間通信(IPC)和網絡通信等輸入/輸出資源都是定義在文件系統空間下的字節流。
  • 12個有趣的Linux終端命令
    Linux 終端是用來完成複雜的工作的,我們有很多有用的 linux 命令奇技淫巧來幫助你。但是,你知道你還可以用終端來做很多有趣的事嗎?如果你不知道,沒關係,大多數 Linux 用戶也都只把終端視為一個用來管理系統和開發工作的交互界面。
  • linux各個目錄代表什麼
    ,用ls來查看時,連結文件的標誌用l開頭,而文件後以"->"指向所連結的文件;--特殊文件:如磁碟、終端、印表機等都在文件系統中表示出來,常放在/dev目錄內;可以用file命令來識別。:存放所有用戶都可以使用的linux基本操作命令;(目錄中多是可執行的二進位文件)/dev:設備文件目錄,虛擬文件系統,主要存放所有系統中device的相關信息,不論是使用的或未使用的設備,只要有可能使用到,就會在/dev中建立一個相對應的設備文件;設備文件分為2種類型:字符設備文件和塊設備文件(目錄中基本上都是設備文件,如硬碟設備文件
  • 一張圖看懂Linux內核中Percpu變量的實現
    linux內核在啟動時,會先把vmlinux文件加載到內存中,然後根據cpu的個數,為每個cpu都分配一塊用於存放percpu變量的內存區域,之後把vmlinux中的.data..percpu section裡的內容,拷貝到各個cpu的percpu內存塊的static區域裡,最後將各percpu內存塊的起始地址放到對應cpu的gs寄存器裡。
  • Linux系統下Java通過shell腳本監控重啟服務
    思路 java程序獲取linux進程信息可以通過shell腳本獲取進程信息、通過讀取proc文件系統獲取進程信息。 但是為了系統的安全性、方便維護等角度出發,更多的是java通過shell獲取和linux交互能力。
  • eDEX-UI:一款科幻風格的酷炫 Linux 終端仿真器
    本文字數:1528,閱讀時長大約:2分鐘 https://linux.cn/article-12655-1.html 作者:Ankush Das 譯者:Xingyu.Wang 你可能已經知道了大量有趣的 Linux 命令
  • 學習Linux系統需要明白的一些事情
    第一:掌握Linux命令行Linux的精髓在於熟練使用命令,無論圖形界面發展到什麼水平這都是不會變的真理,Linux命令有許多強大的功能:從簡單的磁碟操作、文件存取、到進行複雜的多媒體圖象和流媒體文件的製作,可以完成非常複雜的操作,如果同樣的操作用圖形界面的工具來完成,恐怕要多花很多時間
  • 「正點原子Linux連載」第三十七章Linux內核移植
    第三十七章Linux內核移植前兩章我們簡單了解了一下Linux內核頂層Makefile和Linux內核的啟動流程,本章我們就來學習一下如何將NXP官方提供的Linux內核移植到正點原子的I.MX6U-ALPHA開發板上。通過本章的學習,我們將掌握如何將半導體廠商提供的Linux BSP包移植到我們自己的平臺上。
  • 友善RK3399 NanoPC-T4開發板Python操作GPIO外設Linux實例-申嵌
    1 wiringPi for Python簡介wiringPi for Python是wiringPi的Python語言擴展,用於在Python程序中操作GPIO/I2C/SPI庫/UART/PWM等硬體資源,功能非常強大。
  • 菜鳥如何玩轉linux?
    上回說到電腦技術愛好者必知的作業系統,提到了linux作業系統,但是對於小白來說linux作業系統像是無字天書,根本不知道哪裡可以下載到,更別說怎麼使用了,今天就來講講我們的linux系統在哪裡可以下載到,怎麼去玩linux。
  • Linux環境配置VS2015詳細教程
    VS2015推出了跨平臺開發,其中包括了對Linux程序開發的支持,最近剛好需要開發linux程序,對其進行了一些研究。進入虛擬機中,打開終端,安裝ssh-server(VS需要通過ssh和虛擬機進行通信),可以通過在終端中鍵入sudo apt-get install openssh-server來安裝 3. 終端鍵入ifconfig命令查看虛擬機ip地址。
  • linux 虛擬主機好嗎
    linux 虛擬主機好嗎?linux 虛擬主機是採用Linux系統搭建的虛擬主機,是企業和個人都非常喜歡使用的虛擬主機種類。運行穩定,對軟體的兼容遠超Windows系統。安全透明linux 虛擬主機因為所有的代碼都是透明可見的,易於查找問題、bug,所以能最大限度的檢查系統中的錯誤,保證系統正常運行。同時由於所有代碼都是可以查看的,一旦發生了問題,也可以第一時間調整代碼,修正錯誤,這是windows系統所不具備的優勢。
  • 「正點原子Linux連載」第五十二章Linux阻塞和非阻塞IO實驗
    新建名為「14_blockio」的文件夾,然後在14_blockio文件夾裡面創建vscode工程,工作區命名為「blockio」。將「13_irq」實驗中的imx6uirq.c複製到14_blockio文件夾中,並重命名為blockio.c。
  • 如何進行Linux作業系統的安全合規性檢查和加固?
    使用命令 vi /etc/pam.d/common-auth修改配置文件,在配置文件中添加 auth required pam_tally.so onerr=fail deny=3 unlock_time=300。  1.4 限制用戶su  限制能su到root的用戶。