cat 命令:在终端设备上显示文件内容
Linux 系统中有很多个用于查看文件内容的命令,每个命令又都有自己的特点,比如这个 cat
命令就是用于查看内容较少的纯文本文件的。cat
这个命令也很好记,因为 cat
在英语中是“猫”的意思,小猫咪是不是给您一种娇小、可爱的感觉呢?
注意:当文件内容较大时,文本内容会在屏幕上快速闪动(滚屏),用户往往看不清所显示的具体内容。因此对于较长文件内容可以按 Ctrl+S
键,停止滚屏;以及 Ctrl+Q
键可以恢复滚屏;而按 Ctrl+C
(中断)键则可以终止该命令的执行。或者对于大文件,干脆用 more
命令吧!
常用参数
参数 | 功能 |
---|---|
-n | 显示行数(空行也编号) |
-s | 显示行数(多个空行算一个编号) |
-b | 显示行数(空行不编号) |
-E | 每行结束处显示$符号 |
-T | 将TAB字符显示为 ^I符号 |
-v | 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外 |
-e | 等价于”-vE”组合 |
-t | 等价于”-vT”组合 |
-A | 等价于 -vET组合 |
–help | 显示帮助信息 |
–version | 显示版本信息 |
参考实例
cat filename.txt # 查看文件的内容
cat -n filename.txt # 查看文件的内容,并显示行数编号
cat -n linuxcool.log > linuxprobe.log # 查看文件的内容,并添加行数编号后输出到另外一个文件中
cat /dev/null > /root/filename.txt # 清空文件的内容
cat > filename.txt <<EOF # 持续写入文件内容,碰到EOF符后结束并保存
cat /dev/fd0 > fdisk.iso # 将软盘设备制作成镜像文件
echo 命令:输出字符串或提取Shell变量的值
echo
命令用于在终端设备上输出字符串或变量提取后的值,这是在 Linux 系统中最常用的几个命令之一,但操作却非常简单。
人们一般使用在变量前加上 $
符号的方式提取出变量的值,例如:PATH
,然后再用 echo
命令予以输出。或者直接使用 echo
命令输出一段字符串到屏幕上,起到给用户提示的作用。
常用参数
参数 | 功能 |
---|---|
-n | 不输出结尾的换行符 |
-e “\a” | 发出警告音 |
-e “\b” | 删除前面的一个字符 |
-e “\c” | 结尾不加换行符 |
-e “\f” | 换行,光标扔停留在原来的坐标位置 |
-e “\n” | 换行,光标移至行首 |
-e “\r” | 光标移至行首,但不换行 |
-E | 禁止反斜杠转移,与-e参数功能相反 |
–version | 查看版本信息 |
–help | 查看帮助信息 |
参考实例
echo "Hello World!" # 输出一段字符串
echo $PATH # 输出变量提取后的值
echo \$PATH # 对内容进行转义,不让$符号的提取变量值功能生效
echo "Hello World!" > linuxcool # 结合输出重定向符,将字符串信息导入文件中
echo `date` # 使用反引号符执行命令,并输出其结果到终端
echo -e "a\nb\nc" # 输出带有换行符的内容
echo -e "123\b456" # 输出信息中删除某个字符,注意看数字3消失了
tail 命令:查看文件尾部内容
tail
用于显示文件尾部的内容,默认在屏幕上显示指定文件的末尾10行。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为 -
,则读取标准输入。
常用参数
参数 | 功能 |
---|---|
–retry | 即是在tail命令启动时,文件不可访问或者文件稍后变得不可访问,都始终尝试打开文件。使用此选项时需要与选项“——follow=name”连用 |
-c<N>或–bytes=<N> | 输出文件尾部的N(N为整数)个字节内容 |
-f<name/descriptor> | –follow<nameldescript>:显示文件最新追加的内容 |
-F | 与选项“-follow=name”和“–retry”连用时功能相同 |
-n<N>或–line=<N> | 输出文件的尾部N(N位数字)行内容 |
–pid=<进程号> | 与“-f”选项连用,当指定的进程号的进程终止后,自动退出tail命令 |
–help | 显示指令的帮助信息 |
–version | 显示指令的版本信息 |
参考实例
tail file # 显示文件file的最后10行
tail +20 file # 显示文件file的内容,从第20行至文件末尾
tail -c 10 file # 显示文件file的最后10个字符
tail -f 10 file # 一直变化的文件总是显示后10行
grep 命令:强大的文本搜索工具
grep
是 global search regular expression and print out the line 的简称,意思是全面搜索正则表达式,并将其打印出来。这个命令可以结合正则表达式使用,它也是Linux使用最为广泛的命令。
grep
命令的选项用于对搜索过程的补充,而其命令的模式十分灵活,可以是变量、字符串、正则表达式。需要注意的是:一当模式中包含了空格,务必要用双引号将其引起来。
Linux 系统支持三种形式的 grep
命令,大儿子就是 grep
,标准,模仿的代表。二儿子兴趣爱好多 -egrep
,简称扩展 grep
命令,其实和 grep -E
等价,支持基本和扩展的正则表达式。小儿子跑的最快 -fgrep
,简称快速 grep
命令,其实和 grep -F
等价,不支持正则表达式,按照字符串表面意思进行匹配。
常用参数
参数 | 功能 |
---|---|
-i | 搜索时,忽略大小写 |
-c | 只输出匹配行的数量 |
-l | 只列出符合匹配的文件名,不列出具体的匹配行 |
-n | 列出所有的匹配行,显示行号 |
-h | 查询多文件时不显示文件名 |
-s | 不显示不存在、没有匹配文本的错误信息 |
-v | 显示不包含匹配文本的所有行 |
-w | 匹配整词 |
-x | 匹配整行 |
-r | 递归搜索 |
-q | 禁止输出任何结果,已退出状态表示搜索是否成功 |
-b | 打印匹配行距文件头部的偏移量,以字节为单位 |
-o | 与-b结合使用,打印匹配的词据文件头部的偏移量,以字节为单位 |
参考实例
grep zwx file_* /etc/hosts # 对所有以file_开头的文件和/etc下的hosts文件匹配zwx
grep -c zwx file_* # 输出匹配字符串行的数量
grep -n zwx file_* # 列出所有的匹配行,并显示行号
grep -vc zwx file_* # 显示不包含模式的所有行