全面详细的常用Linux命令汇总(2)
无论是Linux的新手还是老手,掌握一些常用命令都是必不可少的,熟练使用它们可以大大提高工作效率,成为工作中的得力助手。本文是常用Linux命令汇总系列文章的第二篇,全面详细的展示了10个与文档编辑相关的命令。
一览表
序号 | 命令 | 简述 | 分类 |
---|---|---|---|
1 | cat | 连接与查看文件内容 | 文档编辑 |
2 | more | 分页显示大文件 | 文档编辑 |
3 | less | 功能强大的文本查看器 | 文档编辑 |
4 | head | 查看文件开头部分 | 文档编辑 |
5 | tail | 查看文件结尾部分 | 文档编辑 |
6 | vim | 强大的文本编辑器 | 文档编辑 |
7 | sed | 批量编辑文本文件 | 文档编辑 |
8 | awk | 对文本和数据进行处理的编程语言 | 文档编辑 |
9 | grep | 强大的文本搜索工具 | 文档编辑 |
10 | diff | 比较文件内容差异 | 文档编辑 |
1. cat 命令
cat
命令主要用于查看文件内容,也可将多个文件合并输出,还能创建新文件。它会一次性将文件的全部内容输出到标准输出设备(通常是屏幕)。
语法格式
1 | cat [参数] 文件 |
常用参数
1 | -n 显示行号,会在输出的每一行前加上行号 |
实例
(1)显示指定文件内容并显示非空行的行号
1 | cat -b file1 |
(2)把文件A的非空白行内容加上行号,之后将其附加到文件B中
1 | cat -b file2 >> file3 |
注意
cat
命令默认会一次显示整个文件,如果文件过大可能会导致终端卡顿cat
命令可以用来创建新的空文件,但不能编辑文件
2. more 命令
more
命令用于分页显示文件内容,每次显示一屏。当文件内容较多时,使用 more
可以逐屏查看,避免内容过多在屏幕上滚动过快而难以阅读。
语法格式
1 | more [参数] 文件 |
常用参数
1 | +n 从笫n行开始显示 |
操作命令
1 | <回车键> 向下n行,需要定义。默认为1行 |
实例
(1)显示指定文件内容并从第 5 行开始显示
1 | more +5 file1 |
(2)从文件中查找第一个出现 34
字符串的行,并从该处前两行开始显示输出
1 | more +/34 file1 |
(3)设定每屏显示行数为 5
1 | more -5 file1 |
3. less 命令
less
功能更强大,支持向前和向后翻页,在文件中进行搜索,并且可以在查看文件时不加载整个文件到内存,对于非常大的文件更加高效。
语法格式
1 | less [参数] 文件 |
常用参数
1 | -b <缓冲区大小> 设置缓冲区的大小 |
操作命令
1 | /字符串 向下搜索"字符串"的功能 |
实例
(1)ps 查看进程信息并通过 less 分页显示
1 | ps -ef |less |
(2)浏览多个文件
1 | less file1 file2 |
提示:输入 :n
切换到下一个文件,输入 :p
切换上一个文件
4. head 命令
head
命令用于显示文件的开头部分内容。默认情况下会显示文件的前 10 行内容。
语法格式
1 | head [参数] 文件 |
常用参数
1 | -q 隐藏文件名 |
实例
(1)显示指定文件的前 13 行
1 | head -n 13 file1 |
(2)显示指定文件除最后 39 行外的全部内容
1 | head -n -39 file1 |
(3)显示指定文件的前 100 个字节
1 | head -c 100 file1 |
5. tail 命令
tail
命令用于显示文件的结尾部分内容。默认情况下会显示文件的最后 10 行内容。
语法格式
1 | tail [参数] 文件 |
常用参数
1 | -f 循环读取 |
实例
显示指定文件的后 13 行
1 | tail -n 13 file1 |
6. vim 命令
vim
是强大的文本编辑器,支持多种操作模式,包括命令模式、输入模式和命令行模式。
语法格式
1 | vim 文件 |
操作模式
- 命令模式:控制光标移动,可对文本进行复制、粘贴、删除和查找等
- 输入模式:正常的文本输入
- 命令行模式:保存或退出文档,以及设置编辑环境
1. 命令模式
用户启动 vim 便进入了命令模式,此状态下敲击键盘动作会被 vim 识别为命令,而非输入字符,比如按下 i
、a
、o
就进入了输入模式,而按下 :
就进入了命令行模式。
1 | i 切换到输入模式,在光标当前位置开始输入文本 |
2. 输入模式
在输入模式中用户可以随意修改文本内容,当编写完成后可以使用 <ESC>
返回命令模式,进行其它操作。
1 | <ENTER> 回车键,换行 |
3. 命令行模式
在命令模式下按下 :
就进入了命令行模式,在命令行模式通过输入单个或多个字符的命令来实现丰富与连贯的操作。
1 | :w 保存文件 |
实例
使用 vim 打开指定文件
1 | vim file1 |
7. sed 命令
sed
是一种流编辑器,用于对文本进行非交互式的编辑操作,可以进行文本的替换、删除、插入等操作。
语法格式
1 | sed [参数] [事件] 文件 |
常用参数
1 | -e 以选项中指定的事件处理输入的文本文件 |
事件动作
1 | a 新增,a的后面接字串,字串在下一行出现 |
实例
(1)在指定文件第 6 行后添加一行,并将结果输出到标准输出设备
1 | sed -e 6a跟在第6行后的一行 file1 |
(2)在指定文件中搜索包含 13 的行并输出
1 | sed -n 13p file1 |
(3)替换指定文件中的内容更改为新内容
1 | sed -e s/13/130/ file1 |
8. awk 命令
awk
是一种用于处理文本文件的语言,它以行为单位处理文件内容,可以进行复杂的数据提取和分析。
语法格式
1 | awk [参数] [处理规则] 文件 |
常用参数
1 | -F <分隔符> 指定输入字段的分隔符,默认是空格 |
内置变量
1 | $0 保存当前行的内容 |
处理规则
1 | BEGIN{} BEGIN是在awk处理文本之前运行 |
实例
(1)打印指定文件内容的第一列
1 | awk '{print $1}' file3 |
(2)打印指定文件内容的第一列,并用分隔符指定列
1 | awk -F':' '{print $1}' file3 |
(3)打印指定文件内容的行数
1 | awk 'END{print NR}' file3 |
9. grep 命令
grep
命令用于在文件中搜索指定的模式。它可以搜索单个文件或多个文件,并输出包含匹配模式的行。
语法格式
1 | grep [参数] 模式 文件 |
常用参数
1 | -i 忽略大小写进行匹配 |
实例
(1)在指定文件中搜索包含特定字符串的行
1 | grep "/bin" file3 |
(2)使用递归查找指定目录下所有文件包含指定字符串的行
1 | grep -r "12" /linux |
10. diff 命令
diff
用于比较两个文件的差异。它会显示两个文件中不同的行,并可以以不同的格式输出差异信息。
语法格式
1 | diff [参数] 文件1 文件2 |
常用参数
1 | -u 显示完整的差异内容 |
实例
(1)比较两个文件的差异
1 | diff file1 file4 |
(2)比较两个文件的差异,并以并列的方式展示差异
1 | diff -y file1 file4 |
- 感谢您的赞赏。