Linux筆記(5)—— 文字內容編輯命令
阿新 • • 發佈:2021-10-10
重定向符號說明
>:重定向符號,表示清楚原檔案裡面的所有內容,然後把內容追加到檔案的末尾。
>>:為追加重定向符號,即追加內容到檔案的尾部。
echo:顯示輸出文字的內容
將 指定文字 中現在Linux命令列上或者通過重定向符寫入到指定的檔案中。
# 語法格式
echo [選項] [文字]
[root@local ~]# echo hello world! # 其中hello world!也可以使用單引號或雙引號括起來(建議括起來,規範) hello world! [root@local ~]# echo "hello world" >>hello.txt # 使用追加重定向符號>>將文字寫入檔案 [root@local ~]# cat hello.txt hello world [root@local ~]# echo -e "hello\tworld" # 使用選項 -e 可以識別\t特殊字元 hello world [root@local ~]# echo -n "12345"; echo "12345" # 使用-n選項可以輸出一行,不換行 1234512345 # 此外,還可以列印變數內容 [root@oldboy ~]# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
cat:合併檔案或檢視檔案內容
- 連線多個檔案並且列印到螢幕輸出,可以顯示單個檔案內容,也可以將幾個檔案內容連線起來一起顯示;
- 或者重定向到指定檔案中。常與重定向或追加符號配合使用;
# 語法格式
cat [選項] [檔案] # 每個元素之間至少有一個空格
cat命令常用功能 |
cat命令引數選項及說明 |
# cat 命令在生產環境中使用非互動式編輯檔案或追加內容 [root@local ~]# cat >test.txt<<EOF # 這裡使用>的話,如果不是空檔案的話,編輯的內容會覆蓋原內容,追加的話,可以使用>> > hello boy > hello gril > EOF # 必須使用EOF結尾。不然會一直出現輸入提示符 [root@local ~]# cat test.txt hello boy hello gril # 使用-n或-b可以顯示行號,不過-b 會去掉空白行 [root@oldboy ~]# cat test.txt hello boy hello gril [root@oldboy ~]# cat test.txt -n [root@oldboy ~]# cat test.txt -b [root@oldboy ~]# cat test.txt -b 1 hello boy 2 3 hello gril # cat 連線顯示多個檔案 [root@oldboy ~]# cat test.txt test2.txt hello boy hello gril hello boy # 兩個檔案一起顯示,有優先順序,靠前的文字先顯示 hello gril
more:分頁顯示檔案內容
more命令會一頁一頁的顯示檔案的內容。
# 語法格式
more [選項] [檔案]
more命令引數的選項及說明
[root@local ~]# more -5 /etc/profile
# /etc/profile
# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc
--------# 只會顯示檔案的5行內容----------------
more命令的互動式子命令及說明
互動模式下,使用more命令開啟文字後,會進入一個互動介面,在這個介面可以使用部分vi編輯器的功能。
less:分頁顯示檔案內容
less命令是more命令的更高階版本。
# 語法格式
less [選項] [檔案]
less命令的引數選項及說明 |
less命令的互動式子命令及說明 |
head/tail :顯示檔案內容頭部/尾部
- head命令用於顯示檔案頭部,預設執行head命令會輸出檔案的開頭前十行。
- tail命令用於顯示檔案尾部,預設執行head命令會輸出檔案的最後十行。
# 語法格式
head/tail [選項] [檔案]
tac 按行翻轉檔案內容(和cat相反)不常用
tac命令不僅在外型上與cat命令相反,其功能也是如此。
cat是將檔案內容順序輸出到螢幕上,而tac命令是將文字內容,按行反向輸出到螢幕上。(每行的字元反向輸出,行序也是倒的。)
[root@local ~]# cat test.txt
123456
abcdef
[root@local ~]# tac test.txt
fedcba
654321
-a,—append:將內容追加到檔案的末尾;
-i,—ignore-interrupts:忽略中斷訊號。
-b, --before: 在行前新增分隔符。
-r, --regex: 把分隔符當作正則表示式來解析。
-s, --separator=STRING: 使用指定字串代替新行作為分隔符。
rev 左右按字元翻轉行的內容
類似tac命令,但是行序不會變化,只是每一行的字元順序會反轉。
[root@local ~]# cat test.txt
123456
abcdef
[root@local ~]# rev test.txt
654321
fedcba
tr:替換或刪除字元
tr命令從標準輸入中替換、縮減、刪除字元,並將結果寫到標準輸出。
# 語法格式
tr [option] [set1] [set2]
[root@local ~]# tr 'abc' '123' < test.txt # 將測試檔案中的"abc"替換為"123",<為重定向符號。
# 最後結果不僅僅是字串abc替換成字串123,其中a-1;b-2;c-3,會依次對應
# 如果字串set1的字元比字串set2的多,則會從頭迴圈,重新將字串set2再替換一遍,以此類推。
[root@local ~]# tr -d '123' < test.txt # 使用引數-d,將檔案中的123都刪除掉,包活1,2,3