如何在Linux中將文本內(nèi)容追加到文件末尾?
在Linux中處理配置文件時(shí),有時(shí)您需要將諸如配置參數(shù)之類的文本附加到現(xiàn)有文件中。追加只是意味著將文本添加到文件的末尾。
在這篇簡短的文章中,我會(huì)手把手教你在Linux中將文本內(nèi)容追加到文件末尾的不同方法。
使用>>運(yùn)算符附加文本
運(yùn)算符會(huì)將輸出重定向到文件,如果文件不存在,則創(chuàng)建該文件,但如果存在,則輸出就會(huì)附加在文件的末尾。
例如,您可以使用echo命令將文本附加到文件的末尾,如圖所示。
- #echo“ / mnt / pg_master / wal_archives 10.20.20.5(rw,sync,no_root_squash)” >> / etc / exports#echo“ / mnt / pg_master / wal_archives 10.20.20.5(rw,sync,no_root_squash)” >> / etc / exports
或者,您可以使用printf命令(不要忘記使用\ n字符添加下一行)。
- #printf“ / mnt / pg_master / wal_archives 10.20.20.5(rw,sync,no_root_squash)\ n” >> / etc / exports#printf“ / mnt / pg_master / wal_archives 10.20.20.5(rw,sync,no_root_squash)\ n” >> / etc / exports
您還可以使用cat命令連接一個(gè)或多個(gè)文件中的文本,并將其附加到另一個(gè)文件中。
在以下示例中,要添加到/ etc / exports配置文件中的其他文件系統(tǒng)共享被添加到名為shares.txt的文本文件中。
- # cat /etc/exports
- # cat shares.txt
- # cat shares.txt >> /etc/exports
- # cat /etc/exports# cat /etc/exports# cat shares.txt# cat shares.txt >> /etc/exports# cat /etc/exports
此外,您還可以使用以下此處的文檔將配置文本附加到文件的末尾,如下所示。
- # cat /etc/exports
- # cat >>/etc/exports<s<EOF
- > /backups 10.20.20.0/24(rw,sync)
- > /mnt/nfs_all 10.20.20.5(rw,sync)
- > EOF
- # cat /etc/exports# cat /etc/exports# cat >>/etc/exports<s<EOF> /backups 10.20.20.0/24(rw,sync)> /mnt/nfs_all 10.20.20.5(rw,sync)> EOF# cat /etc/exports
注意:不要將>重定向運(yùn)算符誤認(rèn)為是>>;對(duì)現(xiàn)有文件使用>會(huì)刪除該文件的內(nèi)容,然后將其覆蓋,這可能會(huì)導(dǎo)致數(shù)據(jù)丟失。
使用tee命令附加文本
tee命令從標(biāo)準(zhǔn)輸入中復(fù)制文本,并將其粘貼/寫入到標(biāo)準(zhǔn)輸出和文件。您可以使用它的-a標(biāo)志將文本附加到文件的末尾,如下所示。
- # echo "/mnt/pg_master/wal_archives 10.20.20.5(rw,sync,no_root_squash)" | tee -a /etc/exports
- OR
- # cat shares.txt | tee -a /etc/exports# echo "/mnt/pg_master/wal_archives 10.20.20.5(rw,sync,no_root_squash)" | tee -a /etc/exportsOR# cat shares.txt | tee -a /etc/exports# echo "/mnt/pg_master/wal_archives 10.20.20.5(rw,sync,no_root_squash)" | tee -a /etc/exportsOR# cat shares.txt | tee -a /etc/exports# echo "/mnt/pg_master/wal_archives 10.20.20.5(rw,sync,no_root_squash)" | tee -a /etc/exportsOR# cat shares.txt | tee -a /etc/export
您還可以使用帶有tee命令的here文檔。
- # cat <<EOF | tee -a /etc/exports
- >/backups 10.20.20.0/24(rw,sync)
- >/mnt/nfs_all 10.20.20.5(rw,sync)
- EOF# cat <<EOF | tee -a /etc/exports>/backups 10.20.20.0/24(rw,sync)>/mnt/nfs_all 10.20.20.5(rw,sync)EOF