【Linux常用命令5】文本文件编辑命令
  NeaqzGoOdBMm 2023年11月13日 36 0

stat命令:查看文件详细信息的命令

stat [选项] 文件
参数     含义
-L      支持符号链接
-f      显示文件系统的信息
-t      以简洁的方式输出
--help  显示命令帮助信息
--version   显示命令版本信息
示例:
[root@izb1j05w8ldmtn1ylavvdfz mpaas]# stat zhuque2tj.json
  File: ‘zhuque2tj.json’ #文件
  Size: 6180063 #大小     Blocks: 12072 #块      IO Block: 4096 #io块   regular file #文件类型
Device: fd11h/64785d #设备    Inode: 22020173    Links: 1 #硬链接
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root) #权限
Access: 2023-01-29 16:35:55.038199408 +0800 #最近访问时间
Modify: 2023-01-29 16:32:46.000000000 +0800 #最近数据修改时间
Change: 2023-01-29 16:35:53.565196120 +0800 #最近状态修改时间
 Birth: - #创建时间
​
显示文件系统信息
[root@izb1j05w8ldmtn1ylavvdfz mpaas]# stat -f stdout.log 
  File: "stdout.log"
    ID: 5b4274238c63243b Namelen: 255     Type: ext2/ext3
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 206390758  Free: 84209414   Available: 75117835
Inodes: Total: 52428800   Free: 52421268

cat:用于查看文件内容

cat [选项] 文件
cat -n 输出行号
示例:
查看文件输出行号
[root@izb1j05w8ldmtn1ylavvdfz ~]# cat -n t.json
     1  {
     2      "images":[
     3          "acs-reg.alipay.com/lookout/after-product-console:0.1.2",
     4          "acs-reg.alipay.com/acloud/ddsconsole:EI62373611_20220602_20220606114728_9094fc96",
     5          "acs-reg.alipay.com/antquality/ddstest:1.3.1"
     6      ],
     7      "targetRegistryDomain":"acs-reg.alipay.com",
     8      "version":"730420221008095559958220000"
     9  }
查看文件的内容,并添加行数编号后输出到另外一个文件中:
[root@linuxcool ~]# cat -n linuxcool.log > linuxprobe.log
持续写入文件内容,碰到EOF符后结束并保存:
[root@linuxcool ~]# cat > filename.txt << EOF
> Hello, World 
> Linux!
> EOF

more:分屏显示文件内容命令

more [选项] 文件
参数     含义
-num    指定每屏显示的行数
+num    从第 num 行开始显示
-l      more在通常情况下把 ^L 当作特殊字符, 遇到这个字符就会暂停,-l选项可以阻止这种特性
-f      计算实际的行数,而非自动换行的行数
-p      先清除屏幕再显示文本文件的剩余内容
-c      与-p相似,不滚屏,先显示内容再清除旧内容
-s      多个空行压缩成一行显示
-u      禁止下划线
+/pattern   在每个文档显示前搜寻该字(pattern),然后从该字串之后开始显示
​
#交互命令
Enter    向下 n 行,需要定义。默认为 1 行
Ctrl+F   向下滚动一屏
空格键    向下滚动一屏
Ctrl+B   返回上一屏
=        输出当前行的行号
:f       输出文件名和当前行的行号
V        调用vi编辑器
!命令     调用Shell,并执行命令
q        退出more
示例:
[root@izb1j05w8ldmtn1ylavvdfz mpaas]# more stdout.log

less: less与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动

less [选项] 文件
less [文件名]
#交互命令
b  向后翻一页
d  向后翻半页
h  显示帮助界面
Q  退出less 命令
u  向前滚动半页
y  向前滚动一行
空格键 滚动一行
回车键 滚动一页
示例:
[root@izb1j05w8ldmtn1ylavvdfz mpaas]# less stdout.log

head:用来查看文件开头的命令,默认打印开头10行文件内容

head [选项] 文件
参数  含义
-n   后面接数字,代表显示几行的意思
-c   指定显示头部内容的字符数
-v   总是显示文件名的头信息
-q   不显示文件名的头信息
示例:
显示文件名信息,并显示文件前两行:
[root@linuxcool ~]# head -v -n 2 test.txt 
==> test.txt <==
hello world
hello linuxcool
​
显示文件前5个字符:
[root@linuxcool ~]# head -c 5 test.txt 
hello

tail命令:用于显示文件末尾内容,默认打印末尾10行文件内容

tail [选项] 文件
参数  含义
-n   后面接数字,代表显示几行的意思
-f   监听显示文件新增内容
示例:
显示最后15行内容:
[root@izb1j05w8ldmtn1ylavvdfz mpaas]# tail -n 15 stdout.log
实时查看后续文件输出内容:
[root@izb1j05w8ldmtn1ylavvdfz mpaas]# tail -f stdout.log

cut:按列提取文本字符

cut [选项] 文件
参数  含义
-b   以字节为单位进行分割 ,仅显示行中指定直接范围的内容
-c   以字符为单位进行分割 , 仅显示行中指定范围的字符
-d   自定义分隔符,默认为制表符”TAB”
-f   显示指定字段的内容 , 与-d一起使用
-n   取消分割多字节字符
--complement    补足被选择的字节、字符或字段
--out-delimiter 指定输出内容是的字段分割符
示例:
假设有一个学生报表信息,包含 No、Name、Mark、Percent:
[root@linuxcool ~]# cat student.txt
No Name Mark Percent 
01 tom   69   91 
02 jack  71   87 
03 alex  68   98
使用 -f 选项提取指定字段(这里的 f 参数可以简单记忆为 --fields的缩写):
[root@linuxcool ~]# cut -f 2 student.txt
Name
tom 
jack
alex 
使用 -d 选项指定字段分隔符:
[root@linuxcool ~]# cat student2.txt 
No;Name;Mark;Percent 
01;tom;69;91 
02;jack;71;87 
03;alex;68;98 
[root@linuxcool ~]# cut -f2 -d";" student2.txt 
Name 
tom 
jack 
alex 

diff:用于比较多个文本文件的差异

diff [选项] 文件
参数  含义
-a   diff预设只会逐行比较文本文件
-b   不检查空格字符的不同
-W   在使用-y参数时,指定栏宽
-x   不比较选项中所指定的文件或目录
-X   您可以将文件或目录类型存成文本文件,然后在=<文件>中指定此文本文件
-y   以并列的方式显示文件的异同之处
--help  查看帮助信息
--left-column   在使用-y参数时,若两个文件某一行内容相同,则仅在左侧的栏位显示该行内容
--suppress-common-lines 在使用-y参数时,仅显示不同之处 
示例:
比较两个文件:
[root@linuxcool ~]# diff log2014.log log2013.log 
3c3
< 2014-03
---
> 2013-03
8c8
< 2013-07
---
> 2013-08
11,12d10
< 2013-11
< 2013-12
上面的"3c3"和"8c8"表示log2014.log和log20143log文件在3行和第8行内容有所不同;"11,12d10"表示第一个文件比第二个文件多了第11和12行。
并排格式输出:
[root@localhost test3]# diff log2014.log log2013.log  -y -W 50
2013-01                 2013-01
2013-02                 2013-02
2014-03               | 2013-03
2013-04                 2013-04
2013-05                 2013-05
2013-06                 2013-06
2013-07                 2013-07
2013-07               | 2013-08
2013-09                 2013-09
2013-10                 2013-10
2013-11               <
2013-12               <
                      > 2013-11
                      > 2013-12
"|"表示前后2个文件内容有不同
"<"表示后面文件比前面文件少了1行内容
">"表示后面文件比前面文件多了1行内容

wc:用于统计指定文本的行数、字数、字节数

wc [选项] 文件
参数  含义
-w   统计字数,或–words:只显示字数。一个字被定义为由空白、跳格或换行字符分隔的字符串
-c   统计字节数,或–bytes或–chars:只显示Bytes数
-l   统计行数,或–lines:只显示列数
-m   统计字符数
-L   打印最长行的长度
--help  显示帮助信息
--version   显示版本信息
示例:
统计字数:
[root@linuxcool ~]# cat test.txt 
 hello world
 hello world
 hello world
 hello world hello world
[root@linuxcool ~]# wc -w test.txt 
 10 test.txt
统计字节数:
[root@linuxcool ~]# wc -c test.txt 
 60 test.txt
统计字符数:
[root@linuxcool ~]# wc -m test.txt 
 60 test.txt
统计行数:
[root@linuxcool ~]# wc -l test.txt 
 4 test.txt
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月13日 0

暂无评论

推荐阅读
  6YY0QMPUXEwu   2023年12月10日   29   0   0 linux网卡
  Ex81gqy3LOX7   2023年12月07日   19   0   0 linux
  nIt0XG0acU8j   2023年12月11日   29   0   0 linuxhtop
  nIt0XG0acU8j   2023年12月09日   33   0   0 linuxsort
NeaqzGoOdBMm