文本文件编辑命令
查看纯文本文件
cat [参数] 文件名称
-n :显示行号
查看纯文本文件(内容较多的时候)
cat命令查看内容较少的文件
用于查看文本文件的前n行
//以下命令为查看文本文件前10行
[root@localhost ~]# head -n 10 /etc/aliases
查看纯文本文件后N行或者持续刷新文件最新内容
tail [ 参数] 文件名称
//查看文本文件后几行内容用法和head完全相同
[root@localhost ~]# tail -n 10 /etc/aliases
-f :持续刷新文件最新的内容 //可以实时查看最新的日志文件
替换文本内容中的字符
tr [原始字符] [目标字符]
显示指定文本文件的行数字数或者字节数
wc [参数] 文件名称
参数 | 作用 |
---|---|
-l | 只显示行数 |
-w | 只显示单词数 |
-c | 只显示字节数 |
[root@localhost ~]# wc -l -w -c /etc/aliases
97 239 1529 /etc/aliases
查看文件的存储细节和时间等信息
stat 文件名称
Access | 内容最后一次被访问的时间 |
---|---|
Modify | 内容最后一次被修改的时间 |
Change | 文件属性最后一次背修改的时间 |
[root@localhost ~]# stat /etc/aliases
文件:"/etc/aliases"
大小:1529 块:8 IO 块:4096 普通文件
设备:fd00h/64768d Inode:16779608 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
环境:system_u:object_r:etc_aliases_t:s0
最近访问:2022-10-24 20:17:26.761458441 +0800
最近更改:2020-04-01 12:29:32.000000000 +0800
最近改动:2022-10-18 19:46:10.694000630 +0800
创建时间:-
搜索文本中的某个关键词
-n | 显示搜索到的信息的行号 |
---|---|
-v | 反选信息(即没有包含关键词的所有信息行) |
- i | 忽略大小写 |
-c | 仅显示找到的行数 |
-b | 将可执行的文件(binary)当作文本文件(text)来搜索 |
#grep -n root /etc/aliases
按列提取内容
-f | 设置需要查看的行数 |
---|---|
-d | 设置间隔符号,将提取以此间隔符号提取的第N列的内容 |
[root@localhost ~]# cut -d : -f 1 /etc/passwd
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
operator
games
ftp
nobody
systemd-network
dbus
polkitd
libstoragemgmt
colord
rpc
gluster
saslauth
abrt
rtkit
pulse
radvd
unbound
chrony
rpcuser
nfsnobody
qemu
tss
usbmuxd
geoclue
ntp
sssd
setroubleshoot
saned
gdm
gnome-initial-setup
sshd
avahi
postfix
tcpdump
liutao
[root@localhost ~]#
//passwd文件中的内容为:
比较多个文件之间内容的差异
diff [参数] 文件名称A 文件名称B
- -brief (注意这里是两个–) | 确认两个文件是否相同 |
---|---|
-c | 详细比较出多个文件的差异之处 |
去除文件中***“连续的重复行”***
uniq [参数] 文件名称
-c | 打印相同内容行在文本中重复出现的次数 |
---|---|
-d | 显示文本文件中存在一模一样内容行的信息 |
-u | 仅显示文件中没有存在一摸一样内容行的信息 |
//对指定的文件进行去重操作:
[root@linuxcool ~]# cat testfile
test 30
test 30
test 30
Hello 95
Hello 95
Hello 95
Hello 95
Linux 85
Linux 85
[root@linuxcool ~]# uniq testfile
test 30
Hello 95
Linux 85
//统计相同内容行在文件中重复出现的次数:
[root@linuxcool ~]# uniq -c testfile
3 test 30
4 Hello 95
2 Linux 85
//仅显示指定文件中存在一摸一样内容行的信息:
[root@linuxcool ~]# uniq -d testfile
test 30
Hello 95
Linux 85
对文本内容进行再排序
sort [参数] 文件名称
-f | 忽略大小写 |
---|---|
-b | 忽略缩进与空格 |
-n | 以数值型排序 |
-r | 反向排序 |
-u | 去除重复行 |
-t | 指定间隔符 |
-k | 设置字段范围 (就是第几列) |
//以冒号(:)为间隔符,对指定的文件内容按照数字大小对第3列进行排序:
[root@linuxprobe ~]# sort -t : -k 3 -n user.txt
rpc:x:32:32:Rpcbind Daemon
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon
qemu:x:107:107:qemu user
usbmuxd:x:113:113:usbmuxd user
pulse:x:171:171:PulseAudio System Daemon
rtkit:x:172:172:RealtimeKit
gluster:x:995:990:GlusterFS daemons
unbound:x:996:991:Unbound DNS resolver
geoclue:x:997:995:User for geoclue
polkitd:x:998:996:User for polkitd
………………省略部分输出信息………………
在执行sort命令后,不加任何参数,后面只加一个文本文件的情况下,会默认按照字母顺序排序。此外,与uniq命令不同,sort命令无论内容行之间是否夹杂有其他内容,只要有两个一摸一样的内容行,即使两个内容行不连续,他立刻就自动使用"-u"参数去除重复行