Linux】Linux cat 命令都包含哪些参数

2021-04-28 17:12发布

8条回答
722
1楼 · 2021-04-29 10:13.采纳回答

命令格式
cat [选项] [文件]...

命令功能
cat主要有三大功能:
一次显示整个文件:cat filename
从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.
将几个文件合并为一个文件:cat file1 file2 > file

命令参数
-n 或 --number 对输出的所有行编号,由1开始对所有输出的行数编号
-b 或 --number-nonblank  和 -n 相似,只不过对于空白行不编号
-s 或 --squeeze-blank  当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外

范例
实例一:把linuxeye.css的文件内容加上行号后输入linux.css这个文件里
cat -n linuxeye.css > linux.css

实例二:把file1.txt和file2.txt的档案内容加上行号(空白行不加)之后将内容附加到file3.txt里。
cat -b file1.txt file2.txt > file3.txt

实例三:cat和EOF
EOF是“end of file”,表示文本结束符。
结合这两个标识,即可避免使用多行echo命令的方式,并实现多行输出的结果。
# cat > linuxeye.txt << EOF>
> Hello
> www.linuxeye.com
> Linuxeye
> EOF
# ls -l linuxeye.txt
-rw-r--r-- 1 root root 32 Jun  5 18:43 linuxeye.txt
# cat linuxeye.txt
Hello
www.linuxeye.com
Linuxeye

tac (反向行显示)
# echo -e "1111\n22222\n345678" > tac.txt
# tac tac.txt
345678
22222
1111
tac 是将 cat 反写过来,所以他的功能就跟 cat 相反, cat 是由第一行到最后一行连续显示在萤幕上,而 tac 则是由最后一行到第一行反向在萤幕上显示出来!

summer
2楼 · 2021-04-28 17:43

参数说明:

-n 或 --number:由 1 开始对所有输出的行数编号。

-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。

-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。

-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。

-E 或 --show-ends : 在每行结束处显示 $。

-T 或 --show-tabs: 将 TAB 字符显示为 ^I。

-A, --show-all:等价于 -vET。

-e:等价于"-vE"选项;

-t:等价于"-vT"选项


小磊子
3楼 · 2021-04-29 10:15

cat是Linux系统下用来查看文件连续内容用的指令,字面上的含意是“concatenate”(连续)的缩写。除了用来作为显示文件内容外,cat指令也可用于标准流上的处理,如将显示的信息转入或附加另一文件上。

命令格式
cat [选项] [文件]...

命令功能
cat主要有三大功能:
一次显示整个文件:cat filename
从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.
将几个文件合并为一个文件:cat file1 file2 > file

命令参数
-n 或 --number 对输出的所有行编号,由1开始对所有输出的行数编号
-b 或 --number-nonblank  和 -n 相似,只不过对于空白行不编号
-s 或 --squeeze-blank  当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外

范例
实例一:把linuxeye.css的文件内容加上行号后输入linux.css这个文件里
cat -n linuxeye.css > linux.css

实例二:把file1.txt和file2.txt的档案内容加上行号(空白行不加)之后将内容附加到file3.txt里。
cat -b file1.txt file2.txt > file3.txt

实例三:cat和EOF
EOF是“end of file”,表示文本结束符。
结合这两个标识,即可避免使用多行echo命令的方式,并实现多行输出的结果。
# cat > linuxeye.txt << EOF>
> Hello
> www.linuxeye.com
> Linuxeye
> EOF
# ls -l linuxeye.txt
-rw-r--r-- 1 root root 32 Jun  5 18:43 linuxeye.txt
# cat linuxeye.txt
Hello
www.linuxeye.com
Linuxeye

tac (反向行显示)
# echo -e "1111\n22222\n345678" > tac.txt
# tac tac.txt
345678
22222
1111
tac 是将 cat 反写过来,所以他的功能就跟 cat 相反, cat 是由第一行到最后一行连续显示在萤幕上,而 tac 则是由最后一行到第一行反向在萤幕上显示出来!

猫的想法不敢猜
4楼 · 2021-04-30 20:04

-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 显示此帮助信息并离开

希希
5楼 · 2021-05-02 00:01

参数说明:


-n 或 --number:由 1 开始对所有输出的行数编号。

-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。

-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。

-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。

-E 或 --show-ends : 在每行结束处显示 $。

-T 或 --show-tabs: 将 TAB 字符显示为 ^I。

-A, --show-all:等价于 -vET。

-e:等价于"-vE"选项;

-t:等价于"-vT"选项


我的网名不再改
6楼 · 2021-05-08 12:07

使用权限:所有用户(即root帐号和所有普通帐号)
使用方法:cat [参数] 文件名

说明:
cat 是一个文本文件查看和连接工具。查看一个文件的内容,用cat比较简单,就是cat 后面直接接文件名,如cat linuxyw.txt
cat --help可以查看cat帮助信息,如各种参数使用方法,当然也可以用man cat来查看,建议大家养成遇到命令不懂用法时,用--help或man来查看帮助信息,养成好习惯。filename为文件名,即系统中需要查看的文件名字。
与这个命令相似功能的命令有:tac,less,tail,more


参数说明: 
-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 显示此帮助信息并离开



使用范例:(在以下的例子中,linuxyw.txt是文件的名字)
cat linuxyw.txt 查看文件名为linuxyw.txt的内容,如下图所示默认为三行内容:


-A 带上参数示范:(--show-all 等价于 -vET),不常用
cat -A linuxyw.txt


-b 对非空行输出行号:
cat -b linuxyw.txt



-e 等价于 -vE(--show-ends 在每行结束处显示 $),不常用
cat -e linuxyw.txt



-n 对所有行显示行号
cat -n linuxyw.txt


-s --squeeze-blank 不输出多行空行,其实就是当多行空格在一起的时候,只输出一行空格。不常用,其它参数不作演示,可自行操作下,有利于自己学习。

--help
(以后对于不懂的命令或软件安装时,都可以用--help来获取帮助)


cat 创建文件或连接文件范例:
用cat创建文件时,需要使用EOF结束(非必须用EOF,推荐初学者只管知道用EOF就行)
如果手动用cat创建文件时,结束时需要按Ctrl+D组合键。
如图:

当输完www.linuxyw.com后,按键盘Ctrl+D结束输入,这样文件就被创建,文件里面的内容就是输入的i love linuxyw.com和www.linuxyw.com这2行内容:

在用cat > linuxyw.com时,用到>符号,这个符号是重定向的意思,会覆盖原来文件的内容,没有文件时会自动创建。如果用>>符号,即表进追加内容,不会覆盖原文件内容,只会在原文件内容下面追加你所输入的内容。>和>>千万别搞混了,用错可能会出大问题的。

如果不用手动,则用EOF符号即可,如图:
当第一行用<和>>,如上例。

如果你是初学者,以下内容看不懂的话,可以先略过,日后再回来。
如果在写shell脚本的时候,需要生成一个配置文件,但这配置文件带变量,这时就需要把EOF用单引号括起来,否则变量会被解析掉。而且在写脚本时,EOF后面不能带空格等其它符号,否则会出错。
以下图是我在写脚本时,要求原本不动地把cat下的内容生成到脚本配置文件中,如果EOF不用单引号引起来,就会使下面的${VIP}等变量被解析掉,就造成生成一个错误的配置文件了。

下面这个脚本是我需要在生成配置文件时,在cat时去解析变量,这样则不需要使用单引号引起来。

用个简单的方法示例吧:
以下是写的shell脚本内容:上面cat是生成linux_cat1.txt文件,下面cat是生成linux_cat2.txt文件。

执行完脚本后,我们cat查看这二个文件。

cat把一个或多个文件合并成一个文件:
如把文件1,文件2,文件3的内容,重新合并到文件4中。如下图示例。


回答: 2021-12-02 14:45

使用权限:所有用户(即root帐号和所有普通帐号)
使用方法:cat [参数] 文件名

说明:
cat 是一个文本文件查看和连接工具。查看一个文件的内容,用cat比较简单,就是cat 后面直接接文件名,如cat linuxyw.txt
cat --help可以查看cat帮助信息,如各种参数使用方法,当然也可以用man cat来查看,建议大家养成遇到命令不懂用法时,用--help或man来查看帮助信息,养成好习惯。filename为文件名,即系统中需要查看的文件名字。
与这个命令相似功能的命令有:tac,less,tail,more


参数说明: 
-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 显示此帮助信息并离开



使用范例:(在以下的例子中,linuxyw.txt是文件的名字)
cat linuxyw.txt 查看文件名为linuxyw.txt的内容,如下图所示默认为三行内容:


-A 带上参数示范:(--show-all 等价于 -vET),不常用
cat -A linuxyw.txt


-b 对非空行输出行号:
cat -b linuxyw.txt



-e 等价于 -vE(--show-ends 在每行结束处显示 $),不常用
cat -e linuxyw.txt



-n 对所有行显示行号
cat -n linuxyw.txt


-s --squeeze-blank 不输出多行空行,其实就是当多行空格在一起的时候,只输出一行空格。不常用,其它参数不作演示,可自行操作下,有利于自己学习。

--help
(以后对于不懂的命令或软件安装时,都可以用--help来获取帮助)


cat 创建文件或连接文件范例:
用cat创建文件时,需要使用EOF结束(非必须用EOF,推荐初学者只管知道用EOF就行)
如果手动用cat创建文件时,结束时需要按Ctrl+D组合键。
如图:

当输完www.linuxyw.com后,按键盘Ctrl+D结束输入,这样文件就被创建,文件里面的内容就是输入的i love linuxyw.com和www.linuxyw.com这2行内容:

在用cat > linuxyw.com时,用到>符号,这个符号是重定向的意思,会覆盖原来文件的内容,没有文件时会自动创建。如果用>>符号,即表进追加内容,不会覆盖原文件内容,只会在原文件内容下面追加你所输入的内容。>和>>千万别搞混了,用错可能会出大问题的。

如果不用手动,则用EOF符号即可,如图:
当第一行用<和>>,如上例。

如果你是初学者,以下内容看不懂的话,可以先略过,日后再回来。
如果在写shell脚本的时候,需要生成一个配置文件,但这配置文件带变量,这时就需要把EOF用单引号括起来,否则变量会被解析掉。而且在写脚本时,EOF后面不能带空格等其它符号,否则会出错。
以下图是我在写脚本时,要求原本不动地把cat下的内容生成到脚本配置文件中,如果EOF不用单引号引起来,就会使下面的${VIP}等变量被解析掉,就造成生成一个错误的配置文件了。

下面这个脚本是我需要在生成配置文件时,在cat时去解析变量,这样则不需要使用单引号引起来。

用个简单的方法示例吧:
以下是写的shell脚本内容:上面cat是生成linux_cat1.txt文件,下面cat是生成linux_cat2.txt文件。

执行完脚本后,我们cat查看这二个文件。

cat把一个或多个文件合并成一个文件:
如把文件1,文件2,文件3的内容,重新合并到文件4中。如下图示例。


ablabla
7楼 · 2021-05-13 22:15

命令功能
cat主要有三大功能:
一次显示整个文件:cat filename
从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.
将几个文件合并为一个文件:cat file1 file2 > file

yuixan
8楼 · 2021-05-14 14:13

Red Hat Linux 有一个工具程序,它能够帮助你保留简短列表,将这些列表收集起来,甚至向你透漏一点你的系统信息。下面就是Linux Cat命令及主要功能。

Linux Cat命令主要有三大功能:
1.Linux Cat命令一次显示整个文件。$ cat  
filename
2.Linux Cat命令从键盘创建一个文件。$ cat > filename
只能创建新文件,不能编辑已有文件.
3.Linux Cat命令将几个文件合并为一个文件。
$cat  
file1   file2 >
file
参数:
-n 或 --number 由 1 开始对所有输出的行数编号
-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 --squeeze-blank
当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 --show-nonprinting
范例:
cat -n textfile1 > textfile2 把 textfile1
的档案内容加上行号后输入 textfile2 这个档案里
cat -b textfile1 textfile2 >> textfile3 把 textfile1 和
textfile2 的档案内容加上行号(空白行不加)之后将内容附加到
textfile3 里。
范例:
把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里
cat -n textfile1 > textfile2
把 textfile1 和 textfile2
的档案内容加上行号(空白行不加)之后将内容附加到 textfile3
里。
cat -b textfile1 textfile2 >> textfile3
cat /dev/null > /etc/test.txt
此为清空/etc/test.txt档案内容
cat 也可以用来制作 image file。例如要制作软碟的 image
file,将软碟放好后打
cat /dev/fd0 > OUTFILE
相反的,如果想把 image file 写到软碟,请打
cat IMG_FILE > /dev/fd0
注:
1. OUTFILE 指输出的 image 档名。
2. IMG_FILE 指 image file。
3. 若从 image file 写回 device 时,device 容量需与相当。
4. 通常用在制作开机磁片。

相关问题推荐

  • 回答 7

    使用命令:chmod 744 myflile就可以实现以上的操作。

  • 回答 4

    关于CLOSE_WAIT和TIME_WAIT状态,服务器端都有可能出现,TIME_WAIT出现应该是短连接较多,需要通过修改内核参数解决,CLOSE_WAIT状态则是服务器程序可能有问题,服务器需要主动close,以及epoll多路复用模型中使用linger调整关闭等待时间分析解决这类问题,关...

  • 回答 6
    已采纳

    chmod 命令:chmod命令是非常重要的,用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。1. 文字设定法:chmod [who] [+ | - | =] ...

  • 回答 3
    已采纳

    Linux chattr 命令一般,chattr命令用于更改Linux文件上属性。以下是它的语法:chattr [ -RVf ] [ -v version ] [ mode ] files...下面是man手册对它的描述:chattr 改变一个Linux文件系统上的文件属性。一个通用格式是:+-=[aAcCdDeijsStTu]‘+’选项,将给...

  • 回答 3

    shell的执行过程: 首先,脚本是从上至下从左至右执行每一行的语句的。 其次,当执行脚本时会进入一个新的shell,也成为nologin shell,在该shell下执行完成后,再返回执行前的shell。更加详细的讲解请楼主参考鸟哥linux网站中的bash shell章节有图能让您更...

  • 回答 3

    学习linux为什么要学习Shell: 1、首先我们了解一下shell编程是什么,其实shell编程就是一坨linux命令的集合再加上一些控制语句而已 2、为什么要学习linux下的shell编程,我们平时在做运维工作时总会遇到一些重复的工作,如果我们会shell编程的话就可以将这些...

  • 回答 6

    1.服务器一般情况下只有在进行项目部署或者是出现问题的时候才需要进行远程连接操作,在进行连接的时候我们一般都是使用的外部连接软件2.启动软件,点击快速连接,我们要选择连接的协议3.协议选择要然后填写服务器的IP地址和用户名,然后点击连接4.在通过验证...

  • 回答 6

    1.正确的关机流程为:sysnc ? shutdown ? reboot ? halt;2.sync 将数据由内存同步到硬盘中。3.shutdown 关机指令,你可以man shutdown 来看一下帮助文档。例如你可以运行如下命令关机:4.shutdown –h 10 ‘This server will shutdown after 10 mins’ ...

  • 回答 12
    已采纳

    一个典型的Linux发行版包括:Linux核心,一些GNU库和工具,命令行shell,图形界面的X窗口系统和相应的桌面环境,如KDE或GNOME,并包含数千种从办公包,编译器,文本编辑器到科学工具的应用软件。主流的Linux发行版:Ubuntu, DebianGNU/Linux ,Fedora,Gento...

  • 回答 8
    已采纳

    1、Linux操作系统使用虚拟文件系统(VFS)向上和用户进程文件访问系统调用接口,向下和具体不同文件系统的实现接口。VFS屏蔽了具体文件的实现细节,向上提供统一的操作接口。通过VFS可以实现任意的文件系统,这些文件系统通过文件访问系统调用都可以访问。所...

  • 回答 7
    已采纳

    linux的基础启动流程1. 加载BIOS的硬件信息,并获取第一个启动设备的代号。2. 读取第一个启动设备的MBR的引导加载程序(即lilo、grub、spfdisk等)的启动信息。3. 加载操作系统的核心信息,核心开始解压,并尝试驱动所有的硬件设备。4. 核心执行init程序并获...

  • 回答 9
    已采纳

    点击运行或者win+R调出运行窗口,输入regedit打开Windows注册表在注册表找到如下位置HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config找到AnnounceFlags 双击修改值为5保存1.  在注册表找到如下位置HKEY_LOCAL_MACHINE\SYSTEM\CurrentC...

  • 回答 11
    已采纳

    你可以经常去一些linux的论坛!~那里有许多知识的~你也可以下载一些自学教程!~当然是从入门开始了!~安装和使用的基本命令什么的!~和你学windows开始一样,由浅入深!~http://www.linux8.net/http://www.chinalinuxpub.com/http://linux.chinaitlab.com/Lin...

  • 回答 15
    已采纳

    1、cd命令这是一个非常基本,也是大家经常需要使用的命令,它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径。如:cd /root/Docements # 切换到目录/root/Docementscd ./path          # 切换到当前目录下的path...

  • 回答 7
    已采纳

    目录/bin存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里。/etc存放系统管理和配置文件/home存放所有用户文件的根目录,是用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示 /usr用于存放系统应用程序,比较重要的目录/u...

没有解决我的问题,去提问