您的当前位置:首页linux下cat命令详解

linux下cat命令详解

2024-04-12 来源:乌哈旅游
linux下cat命令详解

简略版:

cat主要有三⼤功能: 1.⼀次显⽰整个⽂件。$ cat filename 2.从键盘创建⼀个⽂件。$ cat > filename 只能创建新⽂件,不能编辑已有⽂件.3.将⼏个⽂件合并为⼀个⽂件: $cat file1 file2 > file

参数: -n 或 --number 由 1 开始对所有输出的⾏数编号 -b 或 --number-nonblank 和 -n 相似,只不过对于空⽩⾏不编号 -s 或 --squeeze-blank 当遇到有连续两⾏以上的空⽩⾏,就代换为⼀⾏的空⽩⾏ -v 或 --show-nonprinting 例: 把 textfile1 的档案内容加上⾏号后输⼊textfile2 这个档案⾥ cat -n textfile1 > textfile2

把 textfile1 和 textfile2 的档案内容加上⾏号(空⽩⾏不加)之后将内容附加到 textfile3 ⾥。 cat -b textfile1 textfile2 >> textfile3

把.txt⽂件扔进垃圾箱,赋空值test.txt cat /dev/null > /etc/test.txt

详细点的:转:

cat 是⼀个⽂本⽂件查看和连接⼯具。查看⼀个⽂件的内容,⽤cat⽐较简单,就是cat 后⾯直接接⽂件名。⽐如:

de>[root@localhost ~]# cat /etc/fstabde>

为了便于新⼿弟兄灵活掌握这个⼯具,我们多说⼀点常⽤的参数;1.0 cat 语法结构;de>cat [选项] [⽂件]...de>

选项-A, --show-all 等价于 -vET-b, --number-nonblank 对⾮空输出⾏编号-e 等价于 -vE-E, --show-ends 在每⾏结束处显⽰ $-n, --number 对输出的所有⾏编号-s, --squeeze-blank 不输出多⾏空⾏-t 与 -vT 等价-T, --show-tabs 将跳 字符显⽰为 ^I-u (被忽略)-v, --show-nonprinting 使⽤ ^ 和 M- 引⽤,除了 LFD 和 TAB 之外--help 显⽰此帮助信息并离开

1.1 cat 查看⽂件内容实例;

de>[root@localhost ~]# cat /etc/profile 注:查看/etc/⽬录下的profile⽂件内容; [root@localhost ~]# cat -b /etc/fstab 注:查看/etc/⽬录下的profile内容,并且对⾮空⽩⾏进⾏编号,⾏号从1开始; [root@localhost ~]# cat -n /etc/profile 注:对/etc⽬录中的profile的所有的⾏(包括空⽩⾏)进⾏编号输出显⽰; [root@localhost ~]# cat -E /etc/profile 注:查看/etc/下的profile内容,并且在每⾏的结尾处附加$符号;de>cat 加参数-n 和nl⼯具差不多,⽂件内容输出的同时,都会在每⾏前⾯加上⾏号;de>[root@localhost ~]# cat -n /etc/profile [root@localhost ~]# nl /etc/profilede>

cat 可以同时显⽰多个⽂件的内容,⽐如我们可以在⼀个cat命令上同时显⽰两个⽂件的内容;de>[root@localhost ~]# cat /etc/fstab /etc/profilede>

cat 对于内容极⼤的⽂件来说,可以通过管道|传送到more ⼯具,然后⼀页⼀页的查看;de>[root@localhost ~]# cat /etc/fstab /etc/profile | morede>1.2 cat 的创建、连接⽂件功能实例;

cat 有创建⽂件的功能,创建⽂件后,要以EOF或STOP结束;

de>[root@localhost ~]# cat > linuxsir.org.txt << EOF 注:创建linuxsir.org.txt⽂件; > 我来测试 cat 创建⽂件,并且为⽂件输⼊内

容; 注:这是为linuxsir.org.txt⽂件输⼊内容; > 北南南北 测试; 注:这是为linuxsir.org.txt⽂件输⼊内容; > EOF 注:退出编辑状态; [root@localhost ~]# cat linuxsir.org.txt 注:我们查看⼀下linuxsir.org.txt⽂件的内容; 我来测试 cat 创建⽂件,并且为⽂件输⼊内容; 北南南北 测试;de>

cat 还有向已存在的⽂件追加内容的功能;

de>[root@localhost ~]# cat linuxsir.txt 注:查看已存在的⽂件linuxsir.txt 内容; I am BeiNanNanBei From LinuxSir.Org . 注:内容⾏ 我正在为cat命令写⽂档 [root@localhost ~]# cat >> linuxsir.txt << EOF 注:我们向linuxsir.txt⽂件追加内容; > 我来测试cat向⽂档追加内容的功能; 注:这是追回的内容 > OK? > OK~ > 北南 呈上 > EOF 注:以EOF退出; [root@localhost ~]# cat linuxsir.txt 注:查看⽂件内容,看是否追回成功。 I am BeiNanNanBei From LinuxSir.Org . 我正在为cat命令写⽂档 我来测试cat向⽂档追加内容的功能; OK? OK~北南 呈上de>

cat 连接多个⽂件的内容并且输出到⼀个新⽂件中;假设我们有sir01.txt、sir02.tx和sir03.txt ,并且内容如下;

de>[root@localhost ~]# cat sir01.txt 123456 i am testing [root@localhost ~]# cat sir02.txt 56789 BeiNan Tested [root@localhost ~]# catsir03.txt 09876 linuxsir.org testingde>

我想通过cat 把sir01.txt、sir02.txt及sir03.txt 三个⽂件连接在⼀起(也就是说把这三个⽂件的内容都接在⼀起)并输出到⼀个新的⽂件sir04.txt 中。

注意:其原理是把三个⽂件的内容连接起来,然后创建sir04.txt⽂件,并且把⼏个⽂件的内容同时写⼊sir04.txt中。特别值得⼀提的是,如果

您输⼊到⼀个已经存在的sir04.txt ⽂件,会把sir04.txt内容清空。

de>[root@localhost ~]# cat sir01.txt sir02.txt sir03.txt > sir04.txt [root@localhost ~]# more sir04.txt 123456 i am testing 56789 BeiNanTested 09876 linuxsir.org testingde>

cat 把⼀个或多个已存在的⽂件内容,追加到⼀个已存在的⽂件中

de>[root@localhost ~]# cat sir00.txt linuxsir.org forever [root@localhost ~]# cat sir01.txt sir02.txt sir03.txt >> sir00.txt [root@localhost ~]# catsir00.txt linuxsir.org forever 123456 i am testing 56789 BeiNan Tested 09876 linuxsir.org testingde>警告:我们要知道>意思是创建,>>是追加。千万不要弄混了。造成失误可不是闹着玩的;

因篇幅问题不能全部显示,请点此查看更多更全内容