「貓」有什麼用?

「貓」有什麼用?

我在一些在線內容中看到了 cat 命令,我很好奇它的作用cat以及它在只做一些簡單命令行操作的人的上下文中的用途。

答案1

cat的主要目的是生成文件。將依序顯示、和其他內容cat file1 file2 ...的內容,就好像這些內容位於單一文件中一樣。請參閱filefile2線上說明頁:

NAME
       cat - concatenate and print files

它適用於以下任一情況:

  • 目標命令無法從檔案中讀取,您需要將多個檔案傳遞給它。一個例子是tr公用事業。通常,對於一個文件,您可以執行以下操作:

    tr < file
    

    但對於多個文件,無法使用重定向,所以你必須這樣做:

    cat file1 file2 ... | tr
    
  • 目標指令從多個文件讀取,但當給定多個文件時,其行為可能會改變。一個例子是wc,它會列印每個文件的計數以及文件名,您可能只需要總數,而不需要文件名。

請記住,您遇到的大多數命令(grepsedawksort...)都可以很好地讀取文件。

如果你想看法文件的內容,用一個呼叫器-lessmore兩者都能夠出色地呈現文件以供查看,並且使用起來更加方便。

答案2

cat是類 Unix 作業系統上最常用的指令之一。它具有三個與文字檔案相關的函數:

  1. 顯示它們
  2. 合併它們的副本
  3. 創造新的。
  4. 複製文件

cat 的一般語法是:

cat [options] [filenames] [-] [filenames]

讀取文件

cat 最常見的用途是讀取檔案的內容,而 cat 通常是用於此目的的最方便的程式。若要開啟文字檔案以便在顯示器上查看,只需鍵入單字 cat,後面跟著空格和檔案名,然後按 ENTER 鍵。例如,以下命令將顯示名為 file1 的檔案的內容:

cat file1

級聯

cat 的第二個作用是串聯。 (這就是貓的好奇名字的來源。)對原始文件沒有影響。

例如,下列指令將連接三個檔案 file1、file2 和 file3 的內容副本:

cat file1 file2 file3

每個文件的內容將顯示在監視器螢幕上。使用輸出重定向運算子可以輕鬆地將輸出重定向到另一個文件,例如 file4,使用以下命令:

cat file1 file2 file3 > file4

文件創建

謝謝@穆魯評論 :cat 能夠根據 shell 重定向功能而不是其本身創建新文件

對於小文件,這通常比使用 vi、gedit 或其他文字編輯器更容易。這是透過鍵入 cat 後跟輸出重定向運算子和要建立的檔案的名稱,然後按下ENTER並最後同時按Ctrl&d鍵來完成的。

例如,可以透過鍵入以下命令來建立名為 file1 的新文件

cat > file1

然後按ENTER並同時按Ctrl&d鍵。

PS1:如果名為file1的檔案已經存在,就會被覆蓋

PS2:您可以使用附加運算子附加到退出的檔案>>範例 cat >> file1

複製文件

也可以使用 cat 指令(取決於shell 重新導向功能)建立一個新檔案並將現有檔案中的資料傳輸到其中。範例:製作文件的副本oldfile.txt

cat oldfile.txt > newfile.txt

參考:

答案3

它可用於顯示文件的內容。例如:cat "my file.txt"。您也可以man cat向您展示有關cat用途的詳細資訊。

答案4

這是其他方式使用 shell 重定向(或管道)建立檔案cat

cat << EOF > foo.sh
#!/bin/sh
echo 'Hello World!'
EOF

cat << EOF將輸出以下行,直到EOF再次遇到該字串。然後>( >>) 會將輸出重定向到檔案foo.sh。或者,如果您需要以 root 身分建立文件,則可以將輸出透過管道傳輸到命令tee( tee -a),由下列命令執行sudo

cat << EOF | sudo tee foo.sh && sudo chmod +x foo.sh
#!/bin/sh
HELLO='Hello World!'
echo "\$HELLO"
EOF
  • chmod +x如果成功建立 ( ) ,上面的內容將使檔案可執行 ( ) &&
  • 某些字元 (as ) 的特殊意義$\在 的輸出中轉義 (with ) cat

相關內容