找回密码
 注册
关于网站域名变更的通知
查看: 346|回复: 1
打印 上一主题 下一主题

linux cat

[复制链接]
  • TA的每日心情

    2019-11-19 15:32
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2020-11-18 15:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x

    * D! U: x9 d% C" o1、cat 显示文件连接文件内容的工具;
    # Q8 q" ^3 l6 n& z/ g$ W- F
    5 T0 j) }; S+ q4 d/ T, ]. I' [# z$ N3 l
    cat 是一个文本文件查看和连接工具。查看一个文件的内容,用cat比较简单,就是cat 后面直接接文件名。
    9 k1 L" b2 L+ d& ~2 m, b
    ) z9 S, p" D8 f6 `比如:
    . p, j# x6 V" H" u
    : Q. P4 @* \' p% W- Q6 ^3 ode>[root@localhost ~]# cat /etc/fstabde>
    ' \) T+ k5 y1 J- ]. @5 Y8 n! i为了便于新手弟兄灵活掌握这个工具,我们多说一点常用的参数;$ Y7 Q1 e( H5 g* w, N
    % O3 n; C, u( L8 X+ q8 r
    - W, J. [5 a2 _& A" h
    1.0 cat 语法结构;
      S, S% w' X2 X, S6 H2 h- i2 u! X! `, a0 R- E
    de>cat [选项] [文件]...de>
    3 U7 f9 P8 |# r2 o, y! X; B- m! Y选项6 }$ t! U, w7 v8 E: r2 H
    -A, --show-all 等价于 -vET' a7 p) \! f; x7 x' F
    -b, --number-nonblank 对非空输出行编号2 c3 }, z8 D" i* f! t% P
    -e 等价于 -vE
    ' ?7 ]% i$ \. `6 a( l4 j-E, --show-ends 在每行结束处显示 $' l7 \" S0 s. O1 E& p
    -n, --number 对输出的所有行编号
    8 e7 @1 v: d1 [  O" T9 P+ v5 b-s, --squeeze-blank 不输出多行空行8 |# d! O% ]3 {: M. s
    -t 与 -vT 等价
    0 W: h4 x% G0 b# R" J! M-T, --show-tabs 将跳 字符显示为 ^I
    5 e$ K, E0 E$ D, q8 M-u (被忽略)  L0 T/ I" N( I
    -v, --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外* C7 }; p' S( e6 \' [8 e; d8 c
    --help 显示此帮助信息并离开
    6 o3 f+ O# H7 o, `6 {) \/ Q4 k6 J$ D
    1.1 cat 查看文件内容实例;# V# Y2 V2 t3 E* y5 ~
    2 \; U- \' r  S
    de>[root@localhost ~]# cat /etc/profile    注:查看/etc/目录下的profile文件内容;& T( p5 W" p/ |
    [root@localhost ~]# cat -b /etc/fstab   注:查看/etc/目录下的profile内容,并且对非空白行进行编号,行号从1开始;
    4 i8 d( d( C+ A9 i2 W* r+ h[root@localhost ~]# cat -n /etc/profile    注:对/etc目录中的profile的所有的行(包括空白行)进行编号输出显示;
    $ n1 B/ r/ l5 M' n; ^[root@localhost ~]# cat  -E /etc/profile     注:查看/etc/下的profile内容,并且在每行的结尾处附加$符号;de>% ]& F+ J# L! c+ Y6 x/ i) T
    cat 加参数-n 和nl工具差不多,文件内容输出的同时,都会在每行前面加上行号;
    ; Z8 M  P6 M( \% y# D
    ' i" z+ d+ Q" F2 W3 cde>[root@localhost ~]# cat -n /etc/profile
      J0 x* \6 {& P6 p3 s[root@localhost ~]# nl  /etc/profilede>
    9 w9 ?/ r& R; I& scat 可以同时显示多个文件的内容,比如我们可以在一个cat命令上同时显示两个文件的内容;
    1 v& b5 n5 D4 r" q: z' u2 t& h$ \6 d5 t6 J: S+ H
    de>[root@localhost ~]# cat /etc/fstab /etc/profilede>
    0 N2 T  ~) ]9 Z& n0 }0 h  H* Dcat 对于内容极大的文件来说,可以通过管道|传送到more 工具,然后一页一页的查看;
    9 i2 a- a0 D4 H* f0 k2 s
    ' k9 D! Z3 A! T& [0 {3 g. fde>[root@localhost ~]# cat /etc/fstab /etc/profile | morede>! @! O: h( B6 d7 ^6 B% Q. c( x9 }

    5 R, l. |  n) j" o* d% _& B1.2 cat 的创建、连接文件功能实例;- Q9 f, C( u( S- ^
    # t' r  E" Z( m2 L- @* o0 S: n
    2 d; B9 m% r! W: s! G
    cat 有创建文件的功能,创建文件后,要以EOF或STOP结束;4 p/ x* Y0 C. m' p

    8 g& x9 f9 i4 r8 e/ w; _# u0 |3 gde>[root@localhost ~]# cat >  linuxsir.org.txt  << EOF  注:创建linuxsir.org.txt文件;
    + i5 E+ y. S3 |/ m. i. ]> 我来测试 cat 创建文件,并且为文件输入内容;       注:这是为linuxsir.org.txt文件输入内容;
    2 n- q% j! ^7 \6 ^# F> 北南南北 测试;                   注:这是为linuxsir.org.txt文件输入内容;
    & Z7 g/ o- N2 y> EOF   注:退出编辑状态;
    ; R$ W' v4 O! `. `0 P( _6 ]8 h+ g. M# I: |: }3 U. Y& Z; q; C
    [root@localhost ~]# cat linuxsir.org.txt  注:我们查看一下linuxsir.org.txt文件的内容;% C4 m+ v2 B6 L) f
    ; @1 @7 Z& g# a4 [
    我来测试 cat 创建文件,并且为文件输入内容;
    . L3 ?+ u0 T6 i北南南北 测试;de>
    : r" D3 N7 U  r# S) h' Qcat 还有向已存在的文件追加内容的功能;2 M, J( c8 R/ O2 _

    . L3 _6 _9 ^% B% S( P8 Ide>[root@localhost ~]# cat  linuxsir.txt 注:查看已存在的文件linuxsir.txt 内容;3 V+ C% y  b: f) R! _; F
    I am BeiNanNanBei From LinuxSir.Org .    注:内容行. E8 d" D6 _. P4 _7 m5 x
    我正在为cat命令写文档- T( ]  X8 _$ [
    % W& z+ ?7 c4 H. h) O" H1 i
    % {  u$ B7 R2 W3 u& K6 J& q
    [root@localhost ~]# cat >> linuxsir.txt << EOF   注:我们向linuxsir.txt文件追加内容;
    9 u* k) k3 l4 {% Z- j> 我来测试cat向文档追加内容的功能;       注:这是追回的内容
    4 U# a# s2 P6 p0 n9 U  j> OK?* ]2 i  @5 t# n
    > OK~
    . w' ?; v- B" D) v1 g> 北南 呈上- m% X  Z$ D# ]6 ~5 m4 s* _* a1 U- W
    > EOF   注:以EOF退出;" O+ k  j& d. {& @5 t6 B

    # J9 U  f$ v5 H# D6 q3 F3 |& [/ N7 K; X4 \0 M
    [root@localhost ~]# cat linuxsir.txt  注:查看文件内容,看是否追回成功。
    1 J1 N6 ^" C2 W  S) _& HI am BeiNanNanBei From LinuxSir.Org .$ {1 m3 Y$ [  n0 U1 [0 X- `1 Q
    我正在为cat命令写文档5 ^* {4 V4 F/ N
    0 i) d- A/ G& ?+ c
    我来测试cat向文档追加内容的功能;  
    1 j8 i& f- P  ^6 @8 r" F* B  dOK?
    , F3 [. G* d3 m+ N/ k! S) ~* W9 vOK~. v1 v0 F% b2 D4 @+ F4 E, y, t
    北南 呈上de>: u! `. U" x( X8 B: i& g" y; H5 j
    # A: ~6 q3 f. Q) Y) V

    8 @$ V/ z" M2 P, k& u
    2 x7 f$ R4 k# f6 @; Ncat 连接多个文件的内容并且输出到一个新文件中;% b6 |$ j6 {% }! L1 @
    假设我们有sir01.txt、sir02.tx和sir03.txt ,并且内容如下;# \0 {9 [. K' @1 g8 r% Q
    $ D7 m; j5 R% J/ H( x
    de>[root@localhost ~]# cat sir01.txt  
    7 N5 O' @# W8 L( U9 Z& M2 c1234560 p6 S6 V3 L# z9 o' r; i3 I/ f
    i am testing
    + K! E) P9 W/ R" j2 k
    5 y4 U2 Z! q" t. M1 x0 h" P[root@localhost ~]# cat sir02.txt
    5 @6 H. y2 `5 \; O1 [6 P7 B567897 K. h2 ?* V& P0 O5 b3 s
    BeiNan Tested
    3 V% I5 n0 b+ L4 F0 u
    $ ^& e* r; c$ f/ n8 E  k5 k" b[root@localhost ~]# cat sir03.txt
    8 \- z3 z$ `  t! M# M; g098763 T3 ^" E7 X3 M( c* T) S" S
    linuxsir.org testingde>
    . ?  C% b! U8 w我想通过cat 把sir01.txt、sir02.txt及sir03.txt 三个文件连接在一起(也就是说把这三个文件的内容都接在一起)并输出到一个新的文件sir04.txt 中。7 D% F0 H# S6 i3 x# ^) X" D
    & q( `' c; f# a( ?* i
    注意:其原理是把三个文件的内容连接起来,然后创建sir04.txt文件,并且把几个文件的内容同时写入sir04.txt中。特别值得一提的是,如果您输入到一个已经存在的sir04.txt 文件,会把sir04.txt内容清空。3 [* q2 q8 p* ]
    1 ]. v) ]* S" f4 ]: E! y
    de>[root@localhost ~]# cat sir01.txt sir02.txt sir03.txt > sir04.txt) w3 G+ ~3 z" ?, S

    . l* i0 k; B$ X3 ][root@localhost ~]# more sir04.txt$ ^1 A9 V5 e' I8 u, o3 `$ @! e7 B
    123456
      z; d# J. }3 n8 L- {i am testing
    . m2 C. \" Y3 b1 g56789  @9 O3 R/ h( S, i( I! X
    BeiNan Tested
    5 S. G) Z5 q* q9 L8 X: h3 x8 V09876
    8 m- r) J$ Y% x0 b4 @linuxsir.org testingde>, k3 s+ m# o- E6 j
    cat 把一个或多个已存在的文件内容,追加到一个已存在的文件中9 M: P5 c) s) T, B% c* P

    * u# {. |7 K: zde>[root@localhost ~]# cat sir00.txt- ]3 ~9 \' }% h
    linuxsir.org forever
      [& G2 n$ Y. w! {7 d( [& s9 H( B6 i+ Q  C  O
    [root@localhost ~]# cat sir01.txt sir02.txt sir03.txt >> sir00.txt7 P, g0 O8 E9 {  x7 g3 I
    , g2 n9 S7 X7 ?3 n2 N- g* b
    [root@localhost ~]# cat sir00.txt
    # a4 ~: C4 k6 T5 b6 M. M0 wlinuxsir.org forever. T* l% z* q. T" Y$ ~6 @/ ^: l
    123456
    2 p, V/ |; K4 h# j- y8 Di am testing5 r6 I# o& n8 h7 E1 ]" F
    56789
    & x. Z: j- W0 m0 t5 o: aBeiNan Tested# M' e8 n9 I' Y. \9 `; n
    09876
    9 I( k" T3 E+ F  Q0 ~" _linuxsir.org testingde>
    . R5 S- {/ l7 P9 z  R1 Y警告:我们要知道>意思是创建,>>是追加。千万不要弄混了。造成失误可不是闹着玩的;
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-24 20:46 , Processed in 0.156250 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表