在Linux中处理配置文件时,有时您需要将诸如配置参数之类的文本附加到现有文件中。追加只是意味着将文本添加到文件的末尾。在这篇简短的文章中,我会手把手教你在Linux中将文本内容追加到文件末尾的不同方法。
6 H+ T+ a) X2 m5 \4 V3 {4 o/ X使用>>运算符附加文本 运算符会将输出重定向到文件,如果文件不存在,则创建该文件,但如果存在,则输出就会附加在文件的末尾。
: w# e. B$ v+ d7 k例如,您可以使用echo命令将文本附加到文件的末尾,如图所示。
) ]7 Y+ ? S( a3 [1 t7 s* |- #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 / export
复制代码
S! g* ]7 ]0 i5 p7 ~/ |或者,您可以使用printf命令(不要忘记使用\ n字符添加下一行)。- T" g7 b: v( x& _+ q3 G6 v3 s
- <font color="#004000"><font face="Tahoma">
/ m& O/ w* @4 o( } w* 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</font></font>
- ]" b5 I8 R5 H8 D
复制代码 $ A0 {: `! x; }; n6 A# @' z: W
您还可以使用cat命令连接一个或多个文件中的文本,并将其附加到另一个文件中。( |& D) o" U( V4 U' X: m' s4 ]. t
在以下示例中,要添加到/ etc / exports配置文件中的其他文件系统共享被添加到名为shares.txt的文本文件中。- , q/ r4 U# [! K* N5 B$ J. q
- # cat /etc/exports
+ D+ @2 A* l4 G; Y5 K! j - # cat shares.txt' O* R% W1 i/ x8 S$ E$ }
- # cat shares.txt >> /etc/exports/ Z/ p( Z5 e3 U
- # cat /etc/exports# cat /etc/exports# cat shares.txt# cat shares.txt >> /etc/exports# cat /etc/exports
复制代码
( |& c& u8 N6 z0 @
C! ~( a, P# W; L: a9 V
, N5 B0 f% f7 ?% l: R
此外,您还可以使用以下此处的文档将配置文本附加到文件的末尾,如下所示。
! s7 L* D; H' G9 c- T! o- / w h# F q. O+ s0 }
- # cat /etc/exports
) s. `& S3 @ A% Y - # cat >>/etc/exports<s<EOF
1 e: }6 ]- @5 R1 A+ I - > /backups 10.20.20.0/24(rw,sync)3 l e, D2 w, Q5 I$ k2 Y% Q
- > /mnt/nfs_all 10.20.20.5(rw,sync)
m; Z6 s, a2 t. ^& {( L( \" p - > EOF
- o" ]8 V6 z( j2 i) g - # 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
复制代码
8 G8 ?2 N+ {( Y9 r* Z6 V( T. u
5 l* d, G- ^) Z w: S: w" Q' n: u1 i9 b4 V0 g/ t1 n& M
注意:不要将>重定向运算符误认为是>>;对现有文件使用>会删除该文件的内容,然后将其覆盖,这可能会导致数据丢失。3 Z0 [1 L' I4 h! Y% y. A; m" Z) B
使用tee命令附加文本 tee命令从标准输入中复制文本,并将其粘贴/写入到标准输出和文件。您可以使用它的-a标志将文本附加到文件的末尾,如下所示。9 l' ? T3 b/ z3 b$ z' f* N
- 7 A @$ N' x3 F! _
- # echo "/mnt/pg_master/wal_archives 10.20.20.5(rw,sync,no_root_squash)" | tee -a /etc/exports
- N) \7 w3 N3 y+ U0 h( G; Q7 f0 v Z - OR2 @: e- m* I! O$ q
- # 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
复制代码 . q1 H( J- n$ F4 g @; N% h6 l
. _- R& }7 B, T8 }9 `) h
" A4 W0 N! Q( \- m% K
您还可以使用带有tee命令的here文档。
! q, e; E$ f [& Y3 d
8 v$ _5 r& ~ y3 N- # cat <<EOF | tee -a /etc/exports
8 j" Q. S! y0 ]* w - >/backups 10.20.20.0/24(rw,sync)( [% Z* B$ O0 t
- >/mnt/nfs_all 10.20.20.5(rw,sync)
$ D1 b( f2 J- b; c! [& e3 V - 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
复制代码 4 m! A* {* t @, ^: z8 N+ w
+ I9 T$ e) ? G, r8 s
+ C1 L6 R/ ?/ s* _8 S' _ e# p9 i
1 v* S5 y4 k& {3 F
|