diff --git a/docs/运维/Linux/常用命令/文件文本编辑.md b/docs/运维/Linux/常用命令/文件文本编辑.md new file mode 100644 index 00000000..6920af56 --- /dev/null +++ b/docs/运维/Linux/常用命令/文件文本编辑.md @@ -0,0 +1,212 @@ +--- +id: 文件文本编辑 +title: 文件文本编辑 +sidebar_position: 5 +data: 2022年2月28日 +--- + +## cat + +cat命令用于查看纯文本文件(内容较少的),英文全称为“concatenate”,语法格式: + +```shell +cat [参数] 文件名称 +``` + +常用参数: + +| -n | 显示行数(空行也编号) | +| --------- | --------------------------------------- | +| -s | 显示行数(多个空行算一个编号) | +| -b | 显示行数(空行不编号) | +| -E | 每行结束处显示$符号 | +| -T | 将TAB字符显示为 ^I符号 | +| -v | 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外 | +| -e | 等价于”-vE”组合 | +| -t | 等价于”-vT”组合 | +| -A | 等价于 -vET组合 | +| --help | 显示帮助信息 | +| --version | 显示版本信息 | + +## more + +more 命令用于查看纯文本文件(内容较多的),语法格式: + +```shell +more [参数] 文件名称 +``` + +常用参数: + +| -num | 指定每屏显示的行数 | +| --------- | ------------------------------------------------------------ | +| -l | more在通常情况下把 **^L** 当作特殊字符, 遇到这个字符就会暂停,-l选项可以阻止这种特性 | +| -f | 计算实际的行数,而非自动换行的行数 | +| -p | 先清除屏幕再显示文本文件的剩余内容 | +| -c | 与-p相似,不滚屏,先显示内容再清除旧内容 | +| -s | 多个空行压缩成一行显示 | +| -u | 禁止下划线 | +| +/pattern | 在每个文档显示前搜寻该字(pattern),然后从该字串之后开始显示 | +| +num | 从第 num 行开始显示 | + +## head + +head命令以行为单位,取文件的内容,后面不接参数时默认打印前10行。 + +```shell +head [参数] [文件] +``` + +常用参数: + +| -n | 后面接数字,代表显示几行的意思 | +| ---- | ------------------------------ | +| -c | 指定显示头部内容的字符数 | +| -v | 总是显示文件名的头信息 | +| -q | 不显示文件名的头信息 | + +## tail + +tail 命令用于查看纯文本文件的后*N*行或持续刷新文件的最新内容,语法格式: + +```shell +tail [参数] 文件名称 +``` + +## tr + +tr 命令用于替换文本内容中的字符,英文全称为“transform”,支持正则匹配。语法格式: + +```shell +tr [原始字符] [目标字符] +``` + +## wc + +wc 命令用于统计指定文本文件的行数、字数或字节数,英文全称为“word counts”,语法格式: + +```shell +wc [参数] 文件名称 +``` + +wc 命令中的参数以及作用 + +| 参数 | 作用 | +| ---- | ------------ | +| -l | 只显示行数 | +| -w | 只显示单词数 | +| -c | 只显示字节数 | + +## stat + +stat命令用于查看文件的具体存储细节和时间等信息,英文全称为“status”,语法格式: + +```shell +stat 文件名称 +``` + +常用参数: + +| -L | 支持符号链接 | +| --------- | ------------------ | +| -f | 显示文件系统的信息 | +| -t | 以简洁的方式输出 | +| --help | 显示命令帮助信息 | +| --version | 显示命令版本信息 | + +## grep + +grep命令用于按行提取文本内容,语法格式: + +```shell +grep [参数] 文件名称 +``` + +参数及其作用 + +| 参数 | 作用 | +| ---- | ---------------------------------------------- | +| -b | 将可执行文件(binary)当作文本文件(text)来搜索 | +| -c | 仅显示找到的行数 | +| -i | 忽略大小写 | +| -n | 显示行号 | +| -v | 反向选择——仅列出没有“关键词”的行。 | + +## cut + +cut 令用于按“列”提取文本内容,语法格式: + +```shell +cut [参数] 文件名称 +``` + +常用参数: + +| -b | 以字节为单位进行分割 ,仅显示行中指定直接范围的内容 | +| --------------- | -------------------------------------------------- | +| -c | 以字符为单位进行分割 , 仅显示行中指定范围的字符 | +| -d | 自定义分隔符,默认为制表符”TAB” | +| -f | 显示指定字段的内容 , 与-d一起使用 | +| -n | 取消分割多字节字符 | +| --complement | 补足被选择的字节、字符或字段 | +| --out-delimiter | 指定输出内容是的字段分割符 | + +## diff + +diff 命令用于比较多个文件之间内容的差异,英文全称为“different”,语法格式: + +```shell +diff [参数] 文件名称A 文件名称B +``` + +常用参数: + +| -a | diff预设只会逐行比较文本文件 | +| ----------------------- | ------------------------------------------------------------ | +| -b | 不检查空格字符的不同 | +| -W | 在使用-y参数时,指定栏宽 | +| -x | 不比较选项中所指定的文件或目录 | +| -X | 您可以将文件或目录类型存成文本文件,然后在=<文件>中指定此文本文件 | +| -y | 以并列的方式显示文件的异同之处 | +| --help | 查看帮助信息 | +| --left-column | 在使用-y参数时,若两个文件某一行内容相同,则仅在左侧的栏位显示该行内容 | +| --suppress-common-lines | 在使用-y参数时,仅显示不同之处 | + +## uniq + +uniq命令用于去除文本中连续的重复行,英文全称为“unique”,语法格式: + +```shell +uniq [参数] 文件名称 +``` + +常用参数: + +| -c | 打印每行在文本中重复出现的次数 | +| ---- | ------------------------------------------ | +| -d | 只显示有重复的纪录,每个重复纪录只出现一次 | +| -u | 只显示没有重复的纪录 | + +## sort + +sort命令用于对文本内容进行再排序,语法格式: + +```shell +sort [参数] 文件名称 +``` + +常用参数: + +| -b | 忽略每行前面开始出的空格字符 | +| ------------- | ------------------------------------------------------ | +| -c | 检查文件是否已经按照顺序排序 | +| -d | 排序时,处理英文字母、数字及空格字符外,忽略其他的字符 | +| -f | 排序时,将小写字母视为大写字母 | +| -i | 排序时,除了040至176之间的ASCII字符外,忽略其他的字符 | +| -m | 将几个排序号的文件进行合并 | +| -M | 将前面3个字母依照月份的缩写进行排序 | +| -n | 依照数值的大小排序 | +| -o <输出文件> | 将排序后的结果存入制定的文件 | +| -r | 以相反的顺序来排序 | +| -t <分隔字符> | 指定排序时所用的栏位分隔字符 | +| -k | 指定需要排序的栏位 | \ No newline at end of file