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

linux cat

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

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x

      {/ }% T, H1 r1、cat 显示文件连接文件内容的工具;2 ^: f! L) t9 M; ~* p8 z
    % W: k$ G- w$ }# H

    ! b+ R* b0 t' t$ K( ~: o0 ocat 是一个文本文件查看和连接工具。查看一个文件的内容,用cat比较简单,就是cat 后面直接接文件名。
    ' n: D6 T; _& {" x* C- {9 P. x1 Z2 }' ~, p  w- }/ W
    比如:$ b0 _; g* \8 i0 i/ L' c7 Q
    ( f7 m2 F& z2 R7 e' k$ g- O, `
    de>[root@localhost ~]# cat /etc/fstabde>) @  @, M5 m- Q: i% Q
    为了便于新手弟兄灵活掌握这个工具,我们多说一点常用的参数;
    " r0 |# l* n+ I) V( T# r8 B- l+ ^: \! x0 J" h& f+ d1 c7 |
    1 c- k* u6 s# Z! {* ?* o
    1.0 cat 语法结构;
    : o& L) @9 @( l" W1 S) I6 [1 P8 m7 b! K/ T
    de>cat [选项] [文件]...de>. f8 u0 r9 e+ F4 n. s
    选项
    # L# I/ K2 t# o  E1 b+ c1 z& a-A, --show-all 等价于 -vET# x9 v4 q# W* \6 n4 V8 r$ e. i/ Y
    -b, --number-nonblank 对非空输出行编号, I0 c3 k' F, p  u# r
    -e 等价于 -vE4 ~1 f, L4 g. J- o
    -E, --show-ends 在每行结束处显示 $
    6 Y# m) o- m8 O/ j/ b1 P: g-n, --number 对输出的所有行编号
    ! `1 N9 J- @0 ~) p; E: o2 c+ L-s, --squeeze-blank 不输出多行空行! D: ^* }& m2 h+ M0 o
    -t 与 -vT 等价+ ?2 \  `7 M. h8 k* o- i" u
    -T, --show-tabs 将跳 字符显示为 ^I
    # t, `' M, C3 l* T0 o-u (被忽略)
    # U2 J. d! V9 ?-v, --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
    % l% O0 A( n- u1 T, g--help 显示此帮助信息并离开
    1 j% M6 f7 w0 H! N- H+ i) ?
    # B& [6 e- A* F( Z1.1 cat 查看文件内容实例;' k) w. M; \  W8 c

    8 J- X% W* d; D+ Kde>[root@localhost ~]# cat /etc/profile    注:查看/etc/目录下的profile文件内容;
    ' Z, d' {% J4 w: ?. D7 t[root@localhost ~]# cat -b /etc/fstab   注:查看/etc/目录下的profile内容,并且对非空白行进行编号,行号从1开始;
    # w: k7 c' _$ V7 E( q4 j4 q, v[root@localhost ~]# cat -n /etc/profile    注:对/etc目录中的profile的所有的行(包括空白行)进行编号输出显示;
    + x  r5 }+ v: M4 v[root@localhost ~]# cat  -E /etc/profile     注:查看/etc/下的profile内容,并且在每行的结尾处附加$符号;de>: k6 T8 x; {' u/ D0 C8 x1 x1 W, U4 f
    cat 加参数-n 和nl工具差不多,文件内容输出的同时,都会在每行前面加上行号;* K6 O4 i& e0 h- z

    2 S: s! }7 L( l+ j4 v0 e5 xde>[root@localhost ~]# cat -n /etc/profile% ?0 a% \4 t* N, G8 B
    [root@localhost ~]# nl  /etc/profilede>! `8 T& F* n" A
    cat 可以同时显示多个文件的内容,比如我们可以在一个cat命令上同时显示两个文件的内容;
    % X* V9 g7 N, i4 i. M6 j
    - N% H' G9 [4 ~6 M) G# O& ]de>[root@localhost ~]# cat /etc/fstab /etc/profilede>
    7 z8 `1 P8 h" Z2 [cat 对于内容极大的文件来说,可以通过管道|传送到more 工具,然后一页一页的查看;- G# e) v1 @% R9 u

    ( @0 l  `4 M9 ^7 hde>[root@localhost ~]# cat /etc/fstab /etc/profile | morede>$ b. d4 w5 a0 y- i' F  H

    ; W* h' O# |! Z) S. @. \% h$ {1.2 cat 的创建、连接文件功能实例;
    $ F9 U) ]8 j- i: B& U! X$ c8 F
    2 g  F9 H- C8 ~, p9 G
    - P, P2 E: D& I( zcat 有创建文件的功能,创建文件后,要以EOF或STOP结束;
    " H# r5 _" a6 @
    ( q% F6 ~0 v, ?, _- I  ~  K& Hde>[root@localhost ~]# cat >  linuxsir.org.txt  << EOF  注:创建linuxsir.org.txt文件;
    / C: K' o! m& r0 \1 h/ U6 M> 我来测试 cat 创建文件,并且为文件输入内容;       注:这是为linuxsir.org.txt文件输入内容;/ A, g: }& w2 a( U% d7 s* s
    > 北南南北 测试;                   注:这是为linuxsir.org.txt文件输入内容;
    ) d' B6 ?! W4 Z7 U9 p> EOF   注:退出编辑状态;$ B/ ]) x: }) ]. t" _& q( h- f
    8 Y8 \1 Z; H8 i1 a/ e; {6 I
    [root@localhost ~]# cat linuxsir.org.txt  注:我们查看一下linuxsir.org.txt文件的内容;
    , D8 w* {# r) Z, h6 J8 z- g3 k
    1 m. [: I2 w8 a3 t! I4 Q我来测试 cat 创建文件,并且为文件输入内容;8 \2 U2 n5 I- S& G
    北南南北 测试;de>
    ! o( x9 \' N  i' H# V5 Bcat 还有向已存在的文件追加内容的功能;  I* k! T, @; i6 C# j* r

    ; O8 e0 T1 \7 T! p9 c5 ^  pde>[root@localhost ~]# cat  linuxsir.txt 注:查看已存在的文件linuxsir.txt 内容;
    , _5 A% Z& J6 d+ PI am BeiNanNanBei From LinuxSir.Org .    注:内容行
    ) A! Z2 d1 {4 u. q我正在为cat命令写文档% W. _( O0 n; o2 D8 D6 R: d

    % F8 V& E6 q1 O7 P+ s
    3 [0 Q, K& T) ]8 a[root@localhost ~]# cat >> linuxsir.txt << EOF   注:我们向linuxsir.txt文件追加内容;( }2 X2 i2 }5 C/ |5 K5 |
    > 我来测试cat向文档追加内容的功能;       注:这是追回的内容
    2 m; g8 s; {! M$ `> OK?$ `1 T: B9 `3 F
    > OK~
    + j# l$ B. G2 }# {: J- j6 ^$ g/ Z> 北南 呈上9 h: W2 \- }/ l1 H4 W- G! G
    > EOF   注:以EOF退出;1 g  m6 s' g- d

    3 o& s$ C4 ~9 U, A0 T, Z1 V, b& Y- w" L
    [root@localhost ~]# cat linuxsir.txt  注:查看文件内容,看是否追回成功。& f( v/ R/ |# f& c  d0 j
    I am BeiNanNanBei From LinuxSir.Org .
    % o3 [, @* B: w我正在为cat命令写文档
    1 R& E3 L4 O5 P& i! |
    0 Y7 y  Z/ o# @- ]% k! s* J我来测试cat向文档追加内容的功能;  
    * g% `. V) W! U% C  i$ D: pOK?
    1 y* E& }# K, M! Z2 |& JOK~
    & z) w: S& B6 @北南 呈上de>
    ) `* I: E# k0 H; ]: c+ ?, q, C9 j7 s; _
      U( ^% a2 E4 [7 Q/ \( p

    4 W& |' o# x- W; ncat 连接多个文件的内容并且输出到一个新文件中;3 a# j$ s7 J- J" |8 i
    假设我们有sir01.txt、sir02.tx和sir03.txt ,并且内容如下;
    1 d$ f3 k5 N. g" T  \% ?9 e: F( s0 F9 c
    de>[root@localhost ~]# cat sir01.txt  0 S3 B1 i0 {( y) v+ ]2 m) K
    123456) R0 ?4 ]: }) j7 |( B
    i am testing
    ' C3 \% ?: E; {% i$ `
    1 R$ X8 l8 g) T1 V. R8 {: }[root@localhost ~]# cat sir02.txt
    9 k- f' r6 l* Q3 ?* n56789- g: v# D( E' B/ o" t$ I6 x5 Z
    BeiNan Tested# t$ q; `; d4 G) z

    0 V0 F) X0 e8 ~. l5 J( l[root@localhost ~]# cat sir03.txt( [" \* H" O( i( f
    09876/ P8 _$ p: P; Y3 z& l
    linuxsir.org testingde>5 e6 }1 D/ d- O9 E3 s$ x
    我想通过cat 把sir01.txt、sir02.txt及sir03.txt 三个文件连接在一起(也就是说把这三个文件的内容都接在一起)并输出到一个新的文件sir04.txt 中。
    # p5 A, T7 q$ P8 {7 Q# q# n' n9 q& j
    % z3 Z8 `5 b# A' T注意:其原理是把三个文件的内容连接起来,然后创建sir04.txt文件,并且把几个文件的内容同时写入sir04.txt中。特别值得一提的是,如果您输入到一个已经存在的sir04.txt 文件,会把sir04.txt内容清空。$ x& `  I2 P) b' g
    ; p6 Y0 y9 ~! O: k7 J0 j
    de>[root@localhost ~]# cat sir01.txt sir02.txt sir03.txt > sir04.txt  Y# A$ J' L# A. S4 T, g2 g1 b
    2 u3 |5 Y, y3 V. [& p. a. G
    [root@localhost ~]# more sir04.txt
    5 R* V. \+ j+ y* ~! `123456  h- U" V1 [. C7 b$ y
    i am testing
    % G2 W; L/ z0 P$ v4 p) F56789
    , C; n" T# ?3 B8 J: LBeiNan Tested/ ]! d2 s% M: k; f9 p4 U% F3 A
    09876
    # n/ y' m/ h- I% M* |linuxsir.org testingde>
    1 P- F- M' x8 I7 Y7 Zcat 把一个或多个已存在的文件内容,追加到一个已存在的文件中% M. |, n2 @: k$ U: m/ `
    ' U7 l' }" Q/ M; i$ W( R! ^
    de>[root@localhost ~]# cat sir00.txt
    7 D; z' T2 J# z/ i" jlinuxsir.org forever; f' w# {" _( L! D5 w) N

    # l. f) l- G* J; W& \7 I7 U7 J; d[root@localhost ~]# cat sir01.txt sir02.txt sir03.txt >> sir00.txt
    8 T/ n, m7 c0 c' }$ X6 R, ^' }/ \: T. {; b8 ~2 I: d
    [root@localhost ~]# cat sir00.txt
    " p% `) ~- Y+ Z5 p6 l+ Alinuxsir.org forever+ f8 R: C; `7 H9 y5 Z( x
    123456
    * d2 H3 Q3 s0 p2 j, U! Ci am testing+ M$ D1 U4 t' O
    56789: _6 L0 A+ a5 I: E$ C  `3 i# t. N) m
    BeiNan Tested
    - K/ Y$ t" `' T4 ?! ]$ D3 `09876/ O! V9 _( W" R8 Y1 w+ f3 y3 Y
    linuxsir.org testingde># W, m6 J% E/ q" q$ P5 R  f: r
    警告:我们要知道>意思是创建,>>是追加。千万不要弄混了。造成失误可不是闹着玩的;
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

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

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

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

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