共計(jì) 2628 個(gè)字符,預(yù)計(jì)需要花費(fèi) 7 分鐘才能閱讀完成。
本篇內(nèi)容主要講解“l(fā)inux 可不可以導(dǎo)出文件內(nèi)容”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓丸趣 TV 小編來(lái)帶大家學(xué)習(xí)“l(fā)inux 可不可以導(dǎo)出文件內(nèi)容”吧!
linux 可以導(dǎo)出文件內(nèi)容,在 linux 中可以用 cat 命令導(dǎo)出文件內(nèi)容;cat 命令常用來(lái)顯示文件內(nèi)容,或者將幾個(gè)文件連接起來(lái)顯示,或者從標(biāo)準(zhǔn)輸入讀取內(nèi)容并顯示,其使用語(yǔ)法是“cat [xuanxiang] [wenjian]”。
Linux 中 用 cat 輸出文件內(nèi)容
功能:把一個(gè)或者多個(gè)文件(或者標(biāo)準(zhǔn)輸入)連接在一起,并標(biāo)準(zhǔn)輸出。(Concatenate FILE(s), or standard input, to standard output.)
cat 命令常用來(lái)顯示文件內(nèi)容,或者將幾個(gè)文件連接起來(lái)顯示,或者從標(biāo)準(zhǔn)輸入讀取內(nèi)容并顯示。它常與重定向符號(hào)配合使用。cat 是 Concatenate 的縮寫(xiě)。
Linux 有三個(gè)特別文件,分別
- 標(biāo)準(zhǔn)輸入 即 STDIN , 在 /dev/stdin
一般指鍵盤(pán)輸入, shell 里代號(hào)是 0
- 標(biāo)準(zhǔn)輸出 STDOUT, 在 /dev/stdout
一般指終端 (terminal), 就是顯示器, shell 里代號(hào)是 1
- 標(biāo)準(zhǔn)錯(cuò)誤 STDERR, 在 /dev/stderr
也是指終端 (terminal), 不同的是, 錯(cuò)誤信息送到這里
shell 里代號(hào)是 2
語(yǔ)法:cat [選項(xiàng)] [文件]
短選項(xiàng)長(zhǎng)選項(xiàng)涵義 -A–show-all 等于 -vET-b–number-nonblank 對(duì)非空輸出行編號(hào) -e
等于 -vE-E–show-ends 在每行結(jié)束處顯示 $ -n–number 對(duì)輸出的所有行編號(hào) -s–squeeze-blank 不輸出多行空行 -t
與 -vT 等價(jià) -T–show-tabs 將跳格字符顯示為 ^I-v–show-nonprinting 使用 ^ 和 M - 引用,除了 LFD 和 TAB 之外
輸出文件內(nèi)容
顯示文件 FILE 的內(nèi)容 cat FILE
顯示文件 FILE 的內(nèi)容加上行號(hào),需要加上參數(shù) -n。行號(hào)從 1 開(kāi)始。使用 - n 參數(shù)時(shí),所有空行也會(huì)顯示行號(hào) cat -n FILE
忽略掉空行,用 -b cat -b FILE
當(dāng)遇到有連續(xù)兩行以上的空白行,就代換為一行的空白行,可以使用 - s 參數(shù) cat -s FILE
保存內(nèi)容
將標(biāo)準(zhǔn)輸入保存到文件 FILE 中,如果文件已經(jīng)存在,則覆蓋掉原來(lái)的 cat FILE
將標(biāo)準(zhǔn)輸入追加到文件 FILE 末尾 cat FILE
合并文件
將兩個(gè)文件 FILE1 和 FILE2 的內(nèi)容合并為一個(gè)文件 FILE cat FILE1 FILE2 FILE
undefined
cat 使用實(shí)例
從標(biāo)準(zhǔn)輸入創(chuàng)建文件
[root@web setup]# code cat 1.txt
Hello
Bash
Linux
鍵盤(pán)(快捷鍵)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 文本內(nèi)容。標(biāo)準(zhǔn)輸出
Hello
Bash
Linux
[root@web setup]# cat 1.txt
Hello
Bash
Linux
[root@web setup]#
使用 heredoc 來(lái)生成文件
注意:粗體部分、here doc 可以進(jìn)行字符串替換
[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]#
輸出行號(hào)
[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 腳本中把文件內(nèi)容加載到變量中
[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 腳本中我們經(jīng)常見(jiàn)到類(lèi)似于 cat EOF 的語(yǔ)句,不熟悉的童鞋可能覺(jué)得很奇怪:EOF 好像是文件的結(jié)束符,用在這里起到什么作用?EOF 是“end of file”,表示文本結(jié)束符。
EOF
(內(nèi)容)
EOF
EOF 在這里沒(méi)有特殊的含義,你可以使用 FOE 或 OOO 等(當(dāng)然也不限制在三個(gè)字符或大寫(xiě)字符)。
可以把 EOF 替換成其他東西,意思是把內(nèi)容當(dāng)作標(biāo)準(zhǔn)輸入傳給程
結(jié)合這兩個(gè)標(biāo)識(shí),即可避免使用多行 echo 命令的方式,并實(shí)現(xiàn)多行輸出的結(jié)果。
接下來(lái),簡(jiǎn)單描述一下幾種常見(jiàn)的使用方式及其作用:
cat EOF,以 EOF 輸入字符為標(biāo)準(zhǔn)輸入開(kāi)始
cat filename,創(chuàng)建文件,并把標(biāo)準(zhǔn)輸入輸出到 filename 文件中,以 ctrl+ d 作為輸入。
cat filename EOF,以 EOF 作為輸入結(jié)束,和 ctrl+ d 的作用一樣。
# cat test.sh EOF
#!/bin/bash
#you Shell script writes here.
EOF
undefined
其他寫(xiě)法
1、追加文件
# cat EOF test.sh
2、追加文件, 換一種寫(xiě)法
# cat test.sh EOF
3、EOF 只是標(biāo)識(shí),不是固定的。這里的“HHH”就代替了“EOF”的功能。結(jié)果是相同的。
# cat HHH iii.txt
sdlkfjksl
sdkjflk
asdlfj
HHH
4、非腳本中。如果不是在腳本中,我們可以用 Ctrl+ D 輸出 EOF 的標(biāo)識(shí)
# cat iii.txt
skldjfklj
sdkfjkl
kljkljklj
kljlk
Ctrl+D
到此,相信大家對(duì)“l(fā)inux 可不可以導(dǎo)出文件內(nèi)容”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是丸趣 TV 網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!