Linux常用命令之文件处理

艺帆风顺 发布于 2025-04-07 15 次阅读


本篇分享一下文件处理的相关常用命令。

cat命令——查看文件内容


语法:

cat 选项 文件

选项:

-n 
输出行号
-b
输出行号,并忽略空白行,统计的是非空白行数

常用操作:

[root@localhost ~]# cat /etc/passwd //查看文件内容root:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologin

[root@localhost ~]# cat >> /etc/fstab > /dev/sdb /data xfs defaults 0 0> EOF
[root@localhost ~]# cat /dev/null > file.txt //清空文件内容

more命令——分页显示文件内容



cat命令是查看所有内容,对于内容较长的文件无法一屏显示所有内容,所以就需要分页显示内容,more命令就有这种分页显示功能。

常用操作:

[root@localhost ~]# more /var/log/messages //分页查看

常用按键:

空格键
查看下一页
回车键
查看下一行
b键
查看前一页
q键

退出查看页面

/file
查看包含file的内容

less命令——分页显示文件内容



less命令和more命令的功能相似,都是分页显示文件内容,但是less命令在交互界面有更灵活的操作

[root@localhost ~]# less /var/log/messages //分页查看
空格键
查看下一页
回车键
查看下一行
b键
查看前一页
q键

退出查看页面

/字符串
向下查看包含file的内容
?字符串
向上搜索内容
n
向后查找下一个匹配的文本
g
移动到第一行
G
移动到最后一行

总结下more 和 less的区别:

  • less可以按键盘上下方向键显示上下内容,more不能通过上下方向键控制显示

  • less不必读整个文件,加载速度会比more更快

  • less退出后shell不会留下刚显示的内容,而more退出后会在shell上留下刚显示的内容

head命令——显示文件内容头部


默认显示文件的前10行。

常用操作:

[root@localhost ~]# head /etc/passwd //默认显示文件10行[root@localhost ~]# head -n 20 /etc/passwd  //显示文件的前20行

tail命令——显示文件内容尾部

默认显示文件最后10行。

选项:

-f
实时输出文件变化后追加的数据
-n 
指定显示行数

常用操作

[root@localhost ~]# tail -n 20 /var/log/messages //显示文件的最后20行[root@localhost ~]# tail -f /var/log/messages //动态追踪日志信息

cut命令——从文件中提取一段文字并输出


选项:

-c以字符为单位进行分割
-d
自定义分隔符,默认以tab键为分隔符
-f
指定显示哪个区域,常和-d使用

常用操作:

cut -c 2-10 test.txt   //剪切每行2-10位置的字符cut -d :  -f 1  /etc/passwd     //指定以:作为分割符,-f指定显示第一个区域

split命令——分割文件


选项:

-l
指定分割后文件的最大行数
-b
-d
以数字为后缀

常用操作:

split -l  10  test.txt   new_        //每10行分割一次,分割的文件名以new_开头split -l  10  -d  test.txt   new_     //参数-d使用数字后缀split -b 500M -d   test.txt   new_    //每500M分割一次

paste命令——合并文件



-d    :指定合并的分隔符,默认是TAB

sort命令——文件排序


选项:

-n
依照数值大小进行排序
-r倒序排序
-t
指定分隔符
-k按指定区间排序

常用操作:

sort -n test.txt //按照数值大小进行排序sort -nr test.txt //sort默认按照从小到大排序,使用-r选项就可以实现从大到小sort -t " " -k2 test.txt //以空格为分隔符,按照第二列进行排序

uniq命令——去除重复行


选项:

-c去除重复行,并计算每行出现的次数

常用操作:

uniq -c test.txt sort -n test.txt | uniq -c   //结合sort使用,先排序后去重

wc命令——统计文件的行数、单词或字节数



选项:

-l
统计行数
-c
统计字节数
-w
统计单词数
-L
打印最长行的长度

常用操作:

[root@localhost ~]# wc /etc/passwd   //不加任何参数会打印出行数,单词数据,字节数等三个参数20 28 901 /etc/passwd[root@localhost ~]# cat /var/log/messages |wc -l   //通过管道符来统计文件的行数

tee命令——多重定向


用于将数据重定向到文件,同时提供一份重定向数据的副本输出到屏幕上

常用操作:

ls   | tee -a  ls.txt     //将输出内容记录到ls.txt文件中,并输出到屏幕上

iconv命令——转换文件的编码格式


语法:

iconv 选项 原编码 新编码 输入文件

选项

-f  编码A从编码A转换

-t  编码B转变成编码B
-l显示系统支持的编码
-o将输出输入到

常用操作:

iconv -f gbk -t utf-8 test.txt # 将test.txt文档的编码从gbk改为utf-8

diff:比较两个文件的不同

vimdiff:可视化比较工具  

vim:文本编辑器,后续会在单独篇章详细讲解