1.pwd:显示用户当前所处的工作目录
举例:[root@Centos ~]# pwd
/root
2.cd:切换工作路径
“cd -”命令返回到上一次所处的目录
“cd..”命令进入上级目录
“cd ~”命令切换到当前用户的家目录
“cd ~username”切换到其他用户的家目录
3.ls:显示目录中的文件信息。
使用ls 命令的“-a”参数看到全部文件(包括隐藏文件),使用“-l”参数可以查看文件的属性、大小等详细信息。将这两个参数整合之后,再执行ls 命令即可查看当前目录中的所有文件并输出这些文件的属性信息。
举例:
如果想要查看目录属性信息,则需要额外添加一个-d 参数。例如,可使用如下命令查看/etc 目录的权限与属性信息:
[root@Centos ~]# ls -ald /etc drwxr-xr-x. 132 root root 8192 Aug 3 18:27 /etc
4.cat:查看内容较少的纯文本文件 -n表示显示行号
[root@Centos ~]# cat -n /etc/sysconfig/network-scripts/ifcfg-ens32 1 TYPE=Ethernet 2 PROXY_METHOD=none 3 BROWSER_ONLY=no 4 BOOTPROTO=static 5 DEFROUTE=yes 6 IPV4_FAILURE_FATAL=no 7 IPV6INIT=yes 8 IPV6_AUTOCONF=yes 9 IPV6_DEFROUTE=yes 10 IPV6_FAILURE_FATAL=no 11 IPV6_ADDR_GEN_MODE=stable-privacy 12 NAME=ens32 13 UUID=330f66b2-9db2-40fb-a496-e086582b7f59 14 DEVICE=ens32 15 ONBOOT=yes 16 17 GATEWAY=192.168.137.2 18 IP ADDR=192.168.137.1 19 NETMASK=255.255.255.0 20 DNS=223.5.5.5
5.more:查看内容较多的纯文本文件。
Enter 默认向下1行,行数可以定义。
空格 向下滚动一屏
= 输出当前行的行号
q 取消
6.head:查看纯文本文档的前n行
举例:
[root@Centos ~]# head -n 10 anaconda-ks.cfg #version=DEVEL # System authorization information auth --enableshadow --passalgo=sha512 # Use CDROM installation media cdrom # Use graphical install graphical # Run the Setup Agent on first boot firstboot --enable # Keyboard layouts
7.tail:查看纯文本文档的后N 行或持续刷新内容
实用功能:实时查看最新日志文件
[root@Centos ~]# tail -f /var/log/messages Aug 4 11:49:52 Centos dbus[769]: [system] Activating via systemd: service name='org.freedesktop.nm_dispatcher' unit='dbus-org.freedesktop.nm-dispatcher.service' Aug 4 11:49:52 Centos dbus-daemon: dbus[769]: [system] Activating via systemd: service name='org.freedesktop.nm_dispatcher' unit='dbus-org.freedesktop.nm-dispatcher.service' Aug 4 11:49:52 Centos dhclient[56056]: bound to 192.168.137.113 -- renewal in 295 seconds. Aug 4 11:49:52 Centos systemd: Starting Network Manager Script Dispatcher Service... Aug 4 11:49:52 Centos dbus-daemon: dbus[769]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher' Aug 4 11:49:52 Centos dbus[769]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher' Aug 4 11:49:52 Centos nm-dispatcher: req:1 'dhcp4-change' [ens32]: new request (4 scripts) Aug 4 11:49:52 Centos systemd: Started Network Manager Script Dispatcher Service. Aug 4 11:49:52 Centos nm-dispatcher: req:1 'dhcp4-change' [ens32]: start running ordered scripts... Aug 4 11:49:52 Centos nm-dispatcher: /etc/sysconfig/network-scripts/ifcfg-ens32: line 18: IP: command not found Aug 4 11:50:01 Centos systemd: Started Session 642 of user root. Aug 4 11:50:01 Centos systemd: Starting Session 642 of user root.
8.tr:替换文本文件中的字符,格式为“tr [原始字符] [目标字符]”。
如,将cat读取到的文本全部改为大写
[root@Centos etc]# cat centos-release | tr [a-z] [A-Z]
CENTOS LINUX RELEASE 7.4.1708 (CORE)
9.wc :统计指定文本的行数、字数、字节数
举例:统计当前系统有多少个用户 (passwd文件一行表示一个用户)。
[root@Centos ~]# wc -l /etc/passwd 40 /etc/passwd
或者
[root@Centos ~]# more /etc/passwd | wc -l 40
10.stat :查看文件的具体存储信息和时间等信息
[root@Centos ~]# stat /etc/passwd File: ‘/etc/passwd’ Size: 2065 Blocks: 8 IO Block: 4096 regular file Device: fd00h/64768d Inode: 16787341 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Context: system_u:object_r:passwd_file_t:s0 Access: 2020-08-05 00:00:50.510997353 +0800 Modify: 2020-07-30 01:45:45.209380705 +0800 Change: 2020-08-01 01:01:51.603993917 +0800 Birth: -
11.cut :按“列”提取文本字符
-f 参数来设置需要看的列数,使用-d 参数来设置间隔符号。
举例:passwd 在保存用户数据信息时,用户信息的每一项值之间是采用冒号来间隔的,接下来我们使用下述命令尝试提取出passwd 文件中的用户名信息,即提取以冒号(:)为间隔符号的第一列内容:
[root@Centos ~]# head -n 2 /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin
[root@Centos ~]# cut -f 1 -d : /etc/passwd root bin daemon adm lp sync
...
12.diff:比较多个文本文件的差异
--brief 参数来确认两个文件是否不同
-c参数来详细比较出多个文件的差异之处
[root@Centos test]# diff --brief A.txt B.txt
Files A.txt and B.txt differ
[root@Centos test]# diff -c A.txt B.txt *** A.txt 2020-08-04 14:53:40.897692451 +0800 --- B.txt 2020-08-04 14:53:18.563340871 +0800 *************** *** 1,6 **** Hello,I am Xinghen1216 ! I'm from hebei ! I'm a network administrator ! I like Linux GO and UP! --- 1,6 ---- Hello,I am Xinghen1216 ! I'm from sjz ! I'm a network engineer ! I like linux GO and UP!