目录
查看管理文件内容
在Linux中大量的文件内容,占用巨大内存的文件许许多多,尤其是在日常生活工作学习当中,在那么多的文件中,怎样筛选出我们需要去修改,删除,移动,查看的文件,就要用到许许多多基础的筛选查看修改的命令。
1.查看文件
全量查看文件内容(过大的文件会造成虚机卡顿)
命令:cat 查看文件内容
cat -n 对内容增添行号进行查看
cat -b 对空白行不进行编辑行号查看
代码如下(示例):
localhost opt]# ls
1.txt
[root@localhost opt]# vim 1.txt
我们先随便创建一个文件,然后在里面随随便便输入一些内容
代码如下(示例):
[root@localhost opt]# ls
1.txt
[root@localhost opt]# cat 1.txt
ahdkjasvjksad
vncjanjkai
cmanvjiadugnasd
cvkncoad
当我们用cat去查看此文件,我们在里面输入的一些内容也会在下面以每行的形式显示出来
后面尝试一下拓展命令 cat -n
代码如下(示例):
[root@localhost opt]# cat -n 1.txt
1 ahdkjasvjksad
2 vncjanjkai
3 cmanvjiadugnasd
4 cvkncoad
5
给内容每行前面添加上了行号,包括空白格的那一行,也会有行号
如果不想给空白的行添加行号,我们使用cat -b
代码如下(示例):
[root@localhost opt]# cat -b 1.txt
1 ahdkjasvjksad
2 vncjanjkai
3 cmanvjiadugnasd
4 cvkncoad
空白格前面不会出现行号,但是这个空白的行依然存在,并不是删除
2.分页查看内容
分页查看文件内容
命令:more /绝对路径
回车可以一行一行往下查看,空格则是查看下面整页内容
当看完文件内容后,会自动退出文件,而且不可搜索指定文件内容
代码如下(示例):
[root@localhost /]# cd /var/log
[root@localhost log]# ls
anaconda dnf.log maillog speech-dispatcher vmware-network.log
audit dnf.rpm.log messages spooler vmware-vgauthsvc.log.0
boot.log firewalld ppp sssd vmware-vmsvc-root.log
btmp gdm private swtpm vmware-vmtoolsd-root.log
chrony glusterfs qemu-ga tuned vmware-vmusr-root.log
cron insights-client rhsm vmware wtmp
cups lastlog samba vmware-network.1.log
dnf.librepo.log libvirt secure vmware-network.2.log
[root@localhost /]# more /var/log/messages
Apr 2 21:32:05 localhost kernel: Linux version 4.18.0-193.el8.x86_64 (mockbuild@x86-vm-08.build.e
ng.bos.redhat.com) (gcc version 8.3.1 20191121 (Red Hat 8.3.1-5) (GCC)) #1 SMP Fri Mar 27 14:35:58
UTC 2020
Apr 2 21:32:05 localhost kernel: Command line: BOOT_IMAGE=(hd0,msdos1)/vmlinuz-4.18.0-193.el8.x86
_64 root=UUID=7c32b41c-76da-470a-8843-6542f6a04d7a ro crashkernel=auto resume=UUID=fe0dfa4c-4cd9-4
e81-8149-e5ce86c58340 rhgb quiet
Apr 2 21:32:05 localhost kernel: x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point reg
isters'
Apr 2 21:32:05 localhost kernel: x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
Apr 2 21:32:05 localhost kernel: x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
Apr 2 21:32:05 localhost kernel: x86/fpu: Supporting XSAVE feature 0x020: 'AVX-512 opmask'
Apr 2 21:32:05 localhost kernel: x86/fpu: Supporting XSAVE feature 0x040: 'AVX-512 Hi256'
Apr 2 21:32:05 localhost kernel: x86/fpu: Supporting XSAVE feature 0x080: 'AVX-512 ZMM_Hi256'
Apr 2 21:32:05 localhost kernel: x86/fpu: Supporting XSAVE feature 0x200: 'Protection Keys User r
egisters'
Apr 2 21:32:05 localhost kernel: x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]: 256
Apr 2 21:32:05 localhost kernel: x86/fpu: xstate_offset[5]: 832, xstate_sizes[5]: 64
Apr 2 21:32:05 localhost kernel: x86/fpu: xstate_offset[6]: 896, xstate_sizes[6]: 512
Apr 2 21:32:05 localhost kernel: x86/fpu: xstate_offset[7]: 1408, xstate_sizes[7]: 1024
Apr 2 21:32:05 localhost kernel: x86/fpu: xstate_offset[9]: 2432, xstate_sizes[9]: 8
Apr 2 21:32:05 localhost kernel: x86/fpu: Enabled xstate features 0x2e7, context size is 2440 byt
es, using 'compacted' format.
Apr 2 21:32:05 localhost kernel: BIOS-provided physical RAM map:
Apr 2 21:32:05 localhost kernel: BIOS-e820: [mem 0x0000000000000000-0x000000000009e7ff] usable
Apr 2 21:32:05 localhost kernel: BIOS-e820: [mem 0x000000000009e800-0x000000000009ffff] reserved
Apr 2 21:32:05 localhost kernel: BIOS-e820: [mem 0x00000000000dc000-0x00000000000fffff] reserved
Apr 2 21:32:05 localhost kernel: BIOS-e820: [mem 0x0000000000100000-0x000000007fedffff] usable
Apr 2 21:32:05 localhost kernel: BIOS-e820: [mem 0x000000007fee0000-0x000000007fefefff] ACPI data
--More--(0%)
后面的--More--(0%)代表已经浏览百分之多少的内容
由于文件内容过大,一页的内容不到1%
命令:less /绝对路径
也可以进行分页查看,区别在于看完文件内容后不会自动退出,需要按q手动退出,浏览完后也可返回翻看,同时可以搜索指定内容。
代码如下(示例):
[root@localhost /]# less /var/log/messages
Apr 2 21:32:05 localhost kernel: Linux version 4.18.0-193.el8.x86_64 (mockbuild@x86-vm-08.build.eng.bos.redhat.com) (gcc version 8.3.1 20191121 (Red Hat 8.3.1-5) (GCC)) #1 SMP Fri Mar 27 14:35:58 UTC 2020
Apr 2 21:32:05 localhost kernel: Command line: BOOT_IMAGE=(hd0,msdos1)/vmlinuz-4.18.0-193.el8.x86_64 root=UUID=7c32b41c-76da-470a-8843-6542f6a04d7a ro crashkernel=auto resume=UUID=fe0dfa4c-4cd9-4e81-8149-e5ce86c58340 rhgb quiet
Apr 2 21:32:05 localhost kernel: x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'
Apr 2 21:32:05 localhost kernel: x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
Apr 2 21:32:05 localhost kernel: x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
Apr 2 21:32:05 localhost kernel: x86/fpu: Supporting XSAVE feature 0x020: 'AVX-512 opmask'
Apr 2 21:32:05 localhost kernel: x86/fpu: Supporting XSAVE feature 0x040: 'AVX-512 Hi256'
Apr 2 21:32:05 localhost kernel: x86/fpu: Supporting XSAVE feature 0x080: 'AVX-512 ZMM_Hi256'
Apr 2 21:32:05 localhost kernel: x86/fpu: Supporting XSAVE feature 0x200: 'Protection Keys User registers'
Apr 2 21:32:05 localhost kernel: x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]: 256
Apr 2 21:32:05 localhost kernel: x86/fpu: xstate_offset[5]: 832, xstate_sizes[5]: 64
Apr 2 21:32:05 localhost kernel: x86/fpu: xstate_offset[6]: 896, xstate_sizes[6]: 512
Apr 2 21:32:05 localhost kernel: x86/fpu: xstate_offset[7]: 1408, xstate_sizes[7]: 1024
Apr 2 21:32:05 localhost kernel: x86/fpu: xstate_offset[9]: 2432, xstate_sizes[9]: 8
Apr 2 21:32:05 localhost kernel: x86/fpu: Enabled xstate features 0x2e7, context size is 2440 bytes, using 'compacted' format.
Apr 2 21:32:05 localhost kernel: BIOS-provided physical RAM map:
Apr 2 21:32:05 localhost kernel: BIOS-e820: [mem 0x0000000000000000-0x000000000009e7ff] usable
Apr 2 21:32:05 localhost kernel: BIOS-e820: [mem 0x000000000009e800-0x000000000009ffff] reserved
Apr 2 21:32:05 localhost kernel: BIOS-e820: [mem 0x00000000000dc000-0x00000000000fffff] reserved
Apr 2 21:32:05 localhost kernel: BIOS-e820: [mem 0x0000000000100000-0x000000007fedffff] usable
:
底行有一个:我们可以在后面进行指令操作,或者按q退出文件
3.动态查看
命令:tail -f /绝对路径
从文件内容底部开始向上查看,不指定行数的情况下默认显示十行内容
实时显示可以随时查看错误,定位操作问题,每进行一步操作下面则会显示操作的步骤日志
代码如下(示例):
[root@localhost /]# tail -f /var/log/messages
Apr 6 23:36:16 localhost NetworkManager[1300]: <info> [1680849376.9738] dhcp4 (ens160): option requested_static_routes => '1'
Apr 6 23:36:16 localhost NetworkManager[1300]: <info> [1680849376.9738] dhcp4 (ens160): option requested_subnet_mask => '1'
Apr 6 23:36:16 localhost NetworkManager[1300]: <info> [1680849376.9738] dhcp4 (ens160): option requested_time_offset => '1'
Apr 6 23:36:16 localhost NetworkManager[1300]: <info> [1680849376.9738] dhcp4 (ens160): option requested_wpad => '1'
Apr 6 23:36:16 localhost NetworkManager[1300]: <info> [1680849376.9738] dhcp4 (ens160): option routers => '192.168.8.2'
Apr 6 23:36:16 localhost NetworkManager[1300]: <info> [1680849376.9738] dhcp4 (ens160): option subnet_mask => '255.255.255.0'
Apr 6 23:36:16 localhost NetworkManager[1300]: <info> [1680849376.9738] dhcp4 (ens160): state changed bound -> extended
Apr 6 23:36:16 localhost systemd[1]: Starting Network Manager Script Dispatcher Service...
Apr 6 23:36:16 localhost dbus-daemon[1072]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
Apr 6 23:36:16 localhost systemd[1]: Started Network Manager Script Dispatcher Service.
拓展命令
命令:tail -n /绝对路径 展示指定的固定行数内容(不实时显示)
代码如下(示例):
[root@localhost /]# tail -n 5 /var/log/messages
Apr 6 23:36:16 localhost NetworkManager[1300]: <info> [1680849376.9738] dhcp4 (ens160): option subnet_mask => '255.255.255.0'
Apr 6 23:36:16 localhost NetworkManager[1300]: <info> [1680849376.9738] dhcp4 (ens160): state changed bound -> extended
Apr 6 23:36:16 localhost systemd[1]: Starting Network Manager Script Dispatcher Service...
Apr 6 23:36:16 localhost dbus-daemon[1072]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
Apr 6 23:36:16 localhost systemd[1]: Started Network Manager Script Dispatcher Service.
我们输入tail -n 5 /var/log/messages 后面展示了五条内容
拓展命令
命令 :tail -fn /绝对路径 动态查看指定固定数量的内容
代码如下(示例):
[root@localhost /]# tail -fn 5 /var/log/messages
Apr 6 23:36:16 localhost NetworkManager[1300]: <info> [1680849376.9738] dhcp4 (ens160): option subnet_mask => '255.255.255.0'
Apr 6 23:36:16 localhost NetworkManager[1300]: <info> [1680849376.9738] dhcp4 (ens160): state changed bound -> extended
Apr 6 23:36:16 localhost systemd[1]: Starting Network Manager Script Dispatcher Service...
Apr 6 23:36:16 localhost dbus-daemon[1072]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
Apr 6 23:36:16 localhost systemd[1]: Started Network Manager Script Dispatcher Service.
从顶部往下查看文件内容,不指定数量的情况下也是默认十行
命令:head
代码如下(示例):
[root@localhost /]# tail -fn 5 /var/log/messages
Apr 6 23:36:16 localhost NetworkManager[1300]: <info> [1680849376.9738] dhcp4 (ens160): option subnet_mask => '255.255.255.0'
Apr 6 23:36:16 localhost NetworkManager[1300]: <info> [1680849376.9738] dhcp4 (ens160): state changed bound -> extended
Apr 6 23:36:16 localhost systemd[1]: Starting Network Manager Script Dispatcher Service...
Apr 6 23:36:16 localhost dbus-daemon[1072]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
Apr 6 23:36:16 localhost systemd[1]: Started Network Manager Script Dispatcher Service.
^C
[root@localhost /]# head /var/log/messages
Apr 2 21:32:05 localhost kernel: Linux version 4.18.0-193.el8.x86_64 (mockbuild@x86-vm-08.build.eng.bos.redhat.com) (gcc version 8.3.1 20191121 (Red Hat 8.3.1-5) (GCC)) #1 SMP Fri Mar 27 14:35:58 UTC 2020
Apr 2 21:32:05 localhost kernel: Command line: BOOT_IMAGE=(hd0,msdos1)/vmlinuz-4.18.0-193.el8.x86_64 root=UUID=7c32b41c-76da-470a-8843-6542f6a04d7a ro crashkernel=auto resume=UUID=fe0dfa4c-4cd9-4e81-8149-e5ce86c58340 rhgb quiet
Apr 2 21:32:05 localhost kernel: x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'
Apr 2 21:32:05 localhost kernel: x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
Apr 2 21:32:05 localhost kernel: x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
Apr 2 21:32:05 localhost kernel: x86/fpu: Supporting XSAVE feature 0x020: 'AVX-512 opmask'
Apr 2 21:32:05 localhost kernel: x86/fpu: Supporting XSAVE feature 0x040: 'AVX-512 Hi256'
Apr 2 21:32:05 localhost kernel: x86/fpu: Supporting XSAVE feature 0x080: 'AVX-512 ZMM_Hi256'
Apr 2 21:32:05 localhost kernel: x86/fpu: Supporting XSAVE feature 0x200: 'Protection Keys User registers'
Apr 2 21:32:05 localhost kernel: x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]: 256
head 因为从顶部开始向下显示,所以不存在实时显示,因为新操作的日志都是在下面更新新的日志,顶部不会更新日志
拓展命令:head -n /绝对路径
从顶部开始固定显示指定数量的文件内容
代码如下(示例):
[root@localhost /]# head -n 5 /var/log/messages
Apr 2 21:32:05 localhost kernel: Linux version 4.18.0-193.el8.x86_64 (mockbuild@x86-vm-08.build.eng.bos.redhat.com) (gcc version 8.3.1 20191121 (Red Hat 8.3.1-5) (GCC)) #1 SMP Fri Mar 27 14:35:58 UTC 2020
Apr 2 21:32:05 localhost kernel: Command line: BOOT_IMAGE=(hd0,msdos1)/vmlinuz-4.18.0-193.el8.x86_64 root=UUID=7c32b41c-76da-470a-8843-6542f6a04d7a ro crashkernel=auto resume=UUID=fe0dfa4c-4cd9-4e81-8149-e5ce86c58340 rhgb quiet
Apr 2 21:32:05 localhost kernel: x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'
Apr 2 21:32:05 localhost kernel: x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
Apr 2 21:32:05 localhost kernel: x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
这个指令和less的用法一样,操作顺序也一样,区别在于head顶部开始显示,并没有实时显示的功能,不能用来排错和定位操作错误。
平时所用到的以上排查文件命令并不能更改修改文件内容
仅仅用于排查错误操作和错误定位
cat 、more 、tail 、less 主要用于生活工作中排查错误日志文件与配置文件