linux可以導出文件內容,在linux中可以用cat命令導出文件內容;cat命令常用來顯示文件內容,或者將幾個文件連接起來顯示,或者從標準輸入讀取內容并顯示,其使用語法是“cat [xuanxiang] [wenjian]”。
本教程操作環境:linux5.9.8系統、Dell G3電腦。
linux可以導出文件內容嗎?
可以。
Linux 中 用cat 輸出文件內容
功能:把一個或者多個文件(或者標準輸入)連接在一起,并標準輸出。(Concatenate FILE(s), or standard input, to standard output.)
cat命令常用來顯示文件內容,或者將幾個文件連接起來顯示,或者從標準輸入讀取內容并顯示。它常與重定向符號配合使用。cat是Concatenate的縮寫。
Linux 有三個特別文件,分別 ?
-標準輸入 即 STDIN , 在 /dev/stdin ?
? ?一般指鍵盤輸入, shell里代號是 0 ?
-標準輸出 STDOUT, 在 /dev/stdout ?
? ?一般指終端(terminal), 就是顯示器, shell里代號是 1 ?
-標準錯誤 STDERR, 在 /dev/stderr ?
? ?也是指終端(terminal), 不同的是, 錯誤信息送到這里 ?
? ?shell里代號是 2
語法:cat [選項] [文件]
短選項 | 長選項 | 涵義 |
---|---|---|
-A | –show-all | 等于-vET |
-b | –number-nonblank | 對非空輸出行編號 |
-e | ? | 等于-vE |
-E | –show-ends | 在每行結束處顯示”$” |
-n | –number | 對輸出的所有行編號 |
-s | –squeeze-blank | 不輸出多行空行 |
-t | ? | 與-vT 等價 |
-T | –show-tabs | 將跳格字符顯示為^I |
-v | –show-nonprinting | 使用^ 和M- 引用,除了LFD和 TAB 之外 |
輸出文件內容 顯示文件FILE的內容 cat FILE 顯示文件FILE的內容加上行號,需要加上參數-n。行號從1開始。使用-n參數時,所有空行也會顯示行號 cat -n FILE 忽略掉空行,用-b cat -b FILE 當遇到有連續兩行以上的空白行,就代換為一行的空白行,可以使用-s參數 cat -s FILE 保存內容 將標準輸入保存到文件FILE中,如果文件已經存在,則覆蓋掉原來的 cat >FILE 將標準輸入追加到文件FILE末尾 cat >>FILE 合并文件 將兩個文件FILE1和FILE2的內容合并為一個文件FILE cat FILE1 FILE2 >FILE
cat 使用實例
從標準輸入創建文件 [root@web setup]# code>cat >1.txt Hello Bash Linux 鍵盤(快捷鍵)Ctrl+D 保存文件 [root@web setup]# ls -l 1.txt -rw-r--r-- 1 root root 17 11-02 21:32 1.txt [root@web setup]# cat 1.txt 顯示1.txt文本內容。標準輸出 Hello Bash Linux [root@web setup]# cat <1.txt Hello Bash Linux [root@web setup]# 使用heredoc來生成文件 注意:粗體部分、here doc可以進行字符串替換 [root@web setup]# cat >2.txt <<EOF > Hello > Bash > Linux > PWD=$(pwd) > EOF [root@web setup]# ls -l 2.txt -rw-r--r-- 1 root root 33 11-02 21:35 2.txt [root@web setup]# cat 2.txt Hello Bash Linux PWD=/root/setup [root@web setup]# 輸出行號 [root@web setup]# cat -n 1.txt 1 Hello 2 Bash 3 Linux [root@web setup]# nl 1.txt 1 Hello 2 Bash 3 Linux [root@web setup]# 在bash腳本中把文件內容加載到變量中 [root@web ~]# TEXT=$(cat .bash_profile) [root@web ~]# [root@web ~]# echo "$TEXT" # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH unset USERNAME [root@web ~]#
heredoc文檔
在linux shell腳本中我們經常見到類似于cat
(內容)
EOF
- EOF在這里沒有特殊的含義,你可以使用FOE或OOO等(當然也不限制在三個字符或大寫字符)。
- 可以把EOF替換成其他東西,意思是把內容當作標準輸入傳給程
- 結合這兩個標識,即可避免使用多行echo命令的方式,并實現多行輸出的結果。
接下來,簡單描述一下幾種常見的使用方式及其作用:
- cat
- cat >filename,創建文件,并把標準輸入輸出到filename文件中,以ctrl+d作為輸入。
- cat >filename
# cat >test.sh <<EOF > #!/bin/bash > #you Shell script writes here. > EOF
其他寫法
1、追加文件
#?cat >test.sh
2、追加文件,換一種寫法
#?cat >>test.sh
3、EOF只是標識,不是固定的。這里的“HHH”就代替了“EOF”的功能。結果是相同的。
#?cat?iii.txt
> sdlkfjksl
> sdkjflk
> asdlfj
>?HHH
4、非腳本中。如果不是在腳本中,我們可以用Ctrl+D輸出EOF的標識
#?cat >iii.txt
skldjfklj
sdkfjkl
kljkljklj
kljlk
Ctrl+D
相關推薦:《Linux視頻教程》