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