cat命令 – 在终端设备上显示文件内容

Linux系统中有很多个用于查看文件内容的命令,每个命令又都有自己的特点,比如这个cat命令就是用于查看内容较少的纯文本文件的。cat这个命令也很好记,因为cat在英语中是“猫”的意思,小猫咪是不是给您一种娇小、可爱的感觉呢?

注意:当文件内容较大时,文本内容会在屏幕上快速闪动(滚屏),用户往往看不清所显示的具体内容。因此对于较长文件内容可以按Ctrl+S键,停止滚屏;以及Ctrl+Q键可以恢复滚屏;而按Ctrl+C(中断)键则可以终止该命令的执行。或者对于大文件,干脆用more命令吧!

语法格式:cat [参数] [文件]

常用参数:

-n    显示行数(空行也编号)
-s    显示行数(多个空行算一个编号)
-b    显示行数(空行不编号)
-E    每行结束处显示$符号
-T    将TAB字符显示为 ^I符号
-v    使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
-e    等价于”-vE”组合
-t

等价于”-vT”组合

-A    等价于 -vET组合
--help    显示帮助信息
--version    显示版本信息

参考实例

查看文件的内容:

[root@linuxcool ~]# cat filename.txt

查看文件的内容,并显示行数编号:

[root@linuxcool ~]# cat -n filename.txt

查看文件的内容,并添加行数编号后输出到另外一个文件中:

[root@linuxcool ~]# cat -n linuxcool.log > linuxprobe.log 

清空文件的内容:

[root@linuxcool ~]# cat /dev/null > /root/filename.txt

持续写入文件内容,碰到EOF符后结束并保存:

[root@linuxcool ~]# cat > filename.txt <<EOF
> Hello, World 
> Linux!
> EOF

将软盘设备制作成镜像文件:

[root@linuxcool ~]# cat /dev/fd0 > fdisk.iso

echo命令 – 输出字符串或提取Shell变量的值

echo命令用于在终端设备上输出字符串或变量提取后的值,这是在Linux系统中最常用的几个命令之一,但操作却非常简单。

人们一般使用在变量前加上$符号的方式提取出变量的值,例如:$PATH,然后再用echo命令予以输出。或者直接使用echo命令输出一段字符串到屏幕上,起到给用户提示的作用。

语法格式:echo [参数] [字符串]

常用参数:

-n    不输出结尾的换行符
-e “\a”    发出警告音
-e “\b”    删除前面的一个字符
-e “\c”    结尾不加换行符
-e “\f”    换行,光标扔停留在原来的坐标位置
-e “\n”    换行,光标移至行首
-e “\r”    光标移至行首,但不换行
-E    禁止反斜杠转移,与-e参数功能相反
—version    查看版本信息
--help    查看帮助信息

参考实例

输出一段字符串:

[root@linuxcool ~]#  echo "LinuxCool.com" 
LinuxCool.com 

输出变量提取后的值:

[root@linuxcool ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

对内容进行转义,不让$符号的提取变量值功能生效:

[root@linuxcool ~]# echo \$PATH
$PATH

结合输出重定向符,将字符串信息导入文件中:

[root@linuxcool ~]# echo "It is a test" > linuxcool

使用反引号符执行命令,并输出其结果到终端:

[root@linuxcool ~]# echo `date`

输出带有换行符的内容

[root@linuxcool ~]#echo -e "a\nb\nc"
a
b
c

输出信息中删除某个字符,注意看数字3消失了:

[root@linuxcool ~]# echo -e "123\b456" 
12456

rm命令 – 移除文件或目录

rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。 rm也是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm * -rf)。所以,我们在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑。

语法格式:rm [参数] [文件]

常用参数:

-f    忽略不存在的文件,不会出现警告信息
-i    删除前会询问用户是否操作
-r/R    递归删除
-v    显示指令的详细执行过程

参考实例

删除前逐一询问确认:

[root@linuxcool ~]# rm -i test.txt.bz2 
rm: remove regular file `test.txt.bz2'? 

直接删除,不会有任何提示:

[root@linuxcool ~]# rm -f test.txt.bz2 

递归删除目录及目录下所有文件:

[root@linuxcool ~]# mkdir /data/log
[root@linuxcool ~]# rm -rf /data/log

删除当前目录下所有文件:

[root@linuxcool ~]# rm -rf *

清空系统中所有的文件(谨慎):

[root@linuxcool ~]# rm -rf /*

tail命令 – 查看文件尾部内容

tail用于显示文件尾部的内容,默认在屏幕上显示指定文件的末尾10行。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为“-”,则读取标准输入。

语法格式:tail [参数]

常用参数:

--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    显示指令的版本信息

参考实例

显示文件file的最后10行:

[root@linuxcool ~ ]  tail file

显示文件file的内容,从第20行至文件末尾:

[root@linuxcool ~ ]  tail +20 file 

显示文件file的最后10个字符:

[root@linuxcool ~ ]  tail -c 10 file 

一直变化的文件总是显示后10行:

[root@linuxcool ~ ]  tail -f 10 file

显示帮助信息:

[root@linuxcool ~ ]  tail --help

rmdir命令 – 删除空目录

rmdir命令作用是删除空的目录,英文全称:“remove directory”。

注意:rmdir命令只能删除空目录。当要删除非空目录时,就要使用带有“-R”选项的rm命令。

rmdir命令的“-p”参数可以递归删除指定的多级目录,但是要求每个目录也必须是空目录。

语法格式 : rmdir [参数] [目录名称]

常用参数:

-p    用递归的方式删除指定的目录路径中的所有父级目录,非空则报错
-- -- ignore-fail-on-non-empty    忽略由于删除非空目录时导致命令出错而产生的错误信息
-v    显示命令的详细执行过程
-- -- help    显示命令的帮助信息
-- -- version    显示命令的版本信息

参考实例

删除空目录:

[root@linuxcool ~]# rmdir dir

递归删除指定的目录树:

[root@linuxcool ~]# rmdir -p dir/dir_1/dir_2

显示指令详细执行过程:

[root@linuxcool ~]# rmdir -v dir
rmdir: 正在删除目录 'dir'
[root@linuxcool ~]# rmdir -p -v dir/dir_1/dir_2
rmdir: 正在删除目录 'dir/dir_1/dir_2
rmdir: 正在删除目录 'dir/dir_1'
rmdir: 正在删除目录 'dir_2'

显示命令的版本信息:

[root@linuxcool ~]# rmdir --version
rmdir (GNU coreutils) 8.30
Copyright (C) 2018 Free Software Foundation, Inc.
许可证 GPLv3+:GNU 通用公共许可证第 3 版或更新版本https://gnu.org/licenses/gpl.html。
本软件是自由软件:您可以自由修改和重新发布它。
在法律范围内没有其他保证。
Last modification:December 29, 2021
If you think my article is useful to you, please feel free to appreciate