1、常用系统工作命令
- echo命令
echo 命令用于在终端输出字符串或变量提取后的值,格式为“echo [字符串 | $变量]”。
例如,把指定字符串“xiaojiejie”输出到终端屏幕的命令为:
[root@centos8 ~]#echo xiaojiejie
xiaojiejie
下面,我们使用$变量的方式提取变量 SHELL 的值,并将其输出到屏幕上:
[root@centos8 ~]#echo $SHELL
/bin/bash
- reboot命令
由于重启计算机这种操作会涉及硬件资源的管理权限,因此默认只能使用 root 管理员来
重启,其命令如下:
[root@centos8 ~]#reboot
- poweroff命令
poweroff 命令用于关闭系统,其格式为 poweroff。
该命令与 reboot 命令相同,都会涉及硬件资源的管理权限,因此默认只有 root 管理员才
可以关闭电脑,其命令如下:
[root@centos8 ~]#poweroff
- wget命令
wget 命令用于在终端中下载网络文件,格式为“wget [参数] 下载地址”。
常用参数:
参数 | 作用 |
---|---|
-b | 后台下载模式 |
-P | 下载到指定目录 |
-t | 最大尝试次数 |
-c | 断点续传 |
-p | 下载页面所有资源 |
-r | 递归下载 |
- ps命令
ps 命令用于查看系统中的进程状态,格式为“ps [参数]”。
[root@centos8 ~]#ps
PID TTY TIME CMD
1494 pts/0 00:00:00 bash
1941 pts/0 00:00:00 ps
参数 | 作用 |
---|---|
- a | 显示所有进程(包括其他用户的进程) |
- u | 用户以及其他详细信息 |
-x | 显示没有控制终端的进程 |
[root@centos8 ~]#ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.1 0.7 179396 13888 ? Ss 19:15 0:04 /usr/lib/systemd/systemd --switched-root --system --de
root 2 0.0 0.0 0 0 ? S 19:15 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? I< 19:15 0:00 [rcu_gp]
root 4 0.0 0.0 0 0 ? I< 19:15 0:00 [rcu_par_gp]
root 6 0.0 0.0 0 0 ? I< 19:15 0:00 [kworker/0:0H-kblockd]
root 8 0.0 0.0 0 0 ? I< 19:15 0:00 [mm_percpu_wq]
root 9 0.0 0.0 0 0 ? S 19:15 0:00 [ksoftirqd/0]
root 10 0.1 0.0 0 0 ? I 19:15 0:03 [rcu_sched]
root 11 0.0 0.0 0 0 ? S 19:15 0:00 [migration/0]
root 12 0.0 0.0 0 0 ? S 19:15 0:00 [watchdog/0]
root 13 0.0 0.0 0 0 ? S 19:15 0:00 [cpuhp/0]
root 14 0.0 0.0 0 0 ? S 19:15 0:00 [cpuhp/1]
root 15 0.0 0.0 0 0 ? S 19:15 0:00 [watchdog/1]
root 16 0.0 0.0 0 0 ? S 19:15 0:00 [migration/1]
root 17 0.0 0.0 0 0 ? S 19:15 0:00 [ksoftirqd/1]
root 19 0.0 0.0 0 0 ? I< 19:15 0:00 [kworker/1:0H-kblockd]
Linux 系统中时刻运行着许多进程,如果能够合理地管理它们,则可以优化系统的性能。在Linux 系统中,有 5 种常见的进程状态,分别为运行、中断、不可中断、僵死与停止,其各自
含义如下所示。
- R(运行):进程正在运行或在运行队列中等待。
- S(中断):进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该状态
- D(不可中断):进程不响应系统异步信号,即便用 kill 命令也不能将其中断。
- Z(僵死):进程已经终止,但进程描述符依然存在, 直到父进程调用 wait4()系统函数后将进程释放。
- T(停止):进程收到停止信号后停止运行。
注意:在Linux系统中命令参数有长短格式之分,长格式和长格式之间不能合并,长格式和短格式之间也不能合并,但短格式和短格式之间是可以合并的,合并后仅保留一个-(减号)即可。另外 ps 命令可允许参数不加减号(-),因此可直接写成 ps aux 的子。
- top命令
top 命令用于动态地监视进程活动与系统负载等信息,其格式为 top。
top 命令相当强大,能够动态地查看系统运维状态,完全将它看作 Linux 中的“强化版的Windows 任务管理器”。
top 命令执行结果的前 5 行为系统整体的统计信息,其所代表的含义如下。
- 第 1 行:系统时间、运行时间、登录终端数、系统负载(三个数值分别为 1 分钟、5分钟、15 分钟内的平均值,数值越小意味着负载越低)。
- 第 2 行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数
- 第 3 行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等。
- 第 4 行:物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量。
- 第 5 行:虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、已被提前加载的内存量。
- pidof命令
pidof 命令用于查询某个指定服务进程的 PID 值,格式为“pidof [参数] [服务名称]”。
每个进程的进程号码值(PID)是唯一的,因此可以通过 PID 来区分不同的进程。例如,可以使用如下命令来查询本机上 sshd 服务程序的 PID:
[root@centos8 ~]#pidof sshd
1911 1907 1493 1478 961
- kill命令
kill 命令用于终止某个指定 PID 的服务进程,格式为“kill [参数] [进程 PID]”。
[root@centos8 ~]#kill 961
[root@centos8 ~]#pidof sshd
1911 1907 1493 1478
- killall命令
killall 命令用于终止某个指定名称的服务所对应的全部进程,格式为:“killall [参数] [进程名称]”。
2、系统状态检测命令
作为一名合格的运维人员,想要更快、更好地了解 Linux 服务器,必须具备快速查看 Linux系统运行状态的能力,因此接下来会逐个讲解与网卡网络、系统内核、系统负载、内存使用情况、当前启用终端数量、历史登录记录、命令执行记录以及救援诊断等相关命令的使用方法。
- ifconfig命令
ifconfig 命令用于获取网卡配置与网络状态等信息,格式为“ifconfig [网络设备] [参数]”
使用 ifconfig 命令来查看本机当前的网卡配置与网络状态等信息时,其实主要查看的就是网卡名称、inet 参数后面的 IP 地址、ether 参数后面的网卡物理地址(又称为 MAC 地址),以及 RX、TX 的接收数据包与发送数据包的个数及累计流量:
[root@centos8 ~]#ifcofnig
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:29:5a:a2 brd ff:ff:ff:ff:ff:ff
inet 192.168.10.136/24 brd 192.168.10.255 scope global dynamic noprefixroute ens160
valid_lft 1212sec preferred_lft 1212sec
inet6 fe80::90a3:29a2:16d0:c8f1/64 scope link noprefixroute
valid_lft forever preferred_lft forever
- uname命令
uname 命令用于查看系统内核与系统版本等信息,格式为“uname [-a]”。
在使用 uname 命令时,一般会固定搭配上-a 参数来完整地查看当前系统的内核名称、主机名、内核发行版本、节点名、系统时间、硬件名称、硬件平台、处理器类型以及操作系统名称等信息。
[root@centos8 ~]#uname -a
Linux centos8 4.18.0-240.el8.x86_64 #1 SMP Fri Sep 25 19:48:47 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
如果要查看当前系统版本的详细信息,则需要查看 redhat-release 文件,其命令以及相应的结果如下:
[root@centos8 ~]#cat /etc/redhat-release
CentOS Linux release 8.3.2011
- uptime命令
uptime 用于查看系统的负载信息,格式为 uptime。
uptime 命令真的很棒,它可以显示当前系统时间、系统已运行时间、启用终端数量以及平均负载值等信息。平均负载值指的是系统在最近 1 分钟、5 分钟、15 分钟内的压力情况(下面加粗的信息部分);负载值越低越好,尽量不要长期超过 1,在生产环境中不要
超过 5。
[root@centos8 ~]#uptime
20:15:28 up 59 min, 2 users, load average: 0.39, 0.12, 0.11
- free命令
free 用于显示当前系统中内存的使用量信息,格式为“free [-h]”。
[root@centos8 ~]#free
total used free shared buff/cache available
Mem: 1.7Gi 297Mi 1.1Gi 8.0Mi 359Mi 1.3Gi
Swap: 2.0Gi 0B 2.0Gi
[root@centos8 ~]#free -h
total used free shared buff/cache available
Mem: 1.7Gi 297Mi 1.1Gi 8.0Mi 359Mi 1.3Gi
Swap: 2.0Gi 0B 2.0Gi
加上 -h参数可以更加人性化的输出
- who命令
who 用于查看当前登入主机的用户终端信息,格式为“who [参数]”。
[root@centos8 ~]#who
root pts/0 2021-01-01 19:17 (192.168.10.1)
root pts/1 2021-01-01 19:52 (192.168.10.1)
- last命令
last 命令用于查看所有系统的登录记录,格式为“last [参数]”。
使用 last 命令可以查看本机的登录记录。但是,由于这些信息都是以日志文件的形式保存在系统中,因此黑客可以很容易地对内容进行篡改。千万不要单纯以该命令的输出信息而判断系统有无被恶意入侵!
[root@centos8 ~]#last
root pts/1 192.168.10.1 Fri Jan 1 19:52 still logged in
root pts/0 192.168.10.1 Fri Jan 1 19:17 still logged in
reboot system boot 4.18.0-240.el8.x Fri Jan 1 19:15 still running
root pts/0 192.168.10.1 Thu Dec 31 22:36 - 22:37 (00:00)
root pts/0 192.168.10.1 Thu Dec 31 22:19 - 22:36 (00:16)
root pts/0 192.168.10.1 Thu Dec 31 21:29 - 22:19 (00:50)
root pts/0 192.168.10.1 Thu Dec 31 21:27 - 21:29 (00:01)
root pts/0 192.168.10.1 Thu Dec 31 21:25 - 21:27 (00:01)
- history命令
history 命令用于显示历史执行过的命令,格式为“history [-c]”。
执行 history 命令能显示出当前用户在本地计算机
中执行过的最近 1000 条命令记录。如果觉得 1000 不够用,还可以自定义/etc/profile 文件中的HISTSIZE 变量值。在使用 history 命令时,如果使用-c 参数则会清空所有的命令历史记录。还可以使用“!编码数字”的方式来重复执行某一次的命令。
历史命令会被保存到用户家目录中的.bash_history 文件中。Linux 系统中以点(.)开头的文件均代表隐藏文件,这些文件大多数为系统服务文件,可以用 cat 命令查看其文件内容。
[root@centos8 ~]#cat ~/.bash_history
要清空history的命令可以加-c参数
[root@centos8 ~]#history -c
3、工作目录切换命令
- pwd命令
pwd 命令用于显示用户当前所处的工作目录,格式为“pwd [选项]”。
[root@centos8 ~]#pwd
/root
- cd命令
cd 命令用于切换工作路径,格式为“cd [目录名称]”。
[root@centos8 ~]#cd /etc
[root@centos8 etc]#
返回到上一次的目录(即/etc 目录),可执行如下命令:
[root@centos8 ~]#cd /etc
[root@centos8 etc]#pwd
/etc
[root@centos8 etc]#cd -
/root
还可以通过下面的命令快速切换到用户的家目录:
[root@centos8 ~]#cd ~
- ls命令
ls 命令用于显示目录中的文件信息,格式为“ls [选项] [文件] ”。
所处的工作目录不同,当前工作目录下的文件肯定也不同。使用 ls 命令的“-a”参数看到全部文件(包括隐藏文件),使用“-l”参数可以查看文件的属性、大小等详细信息。
[root@centos8 etc]#ls -al
total 1084
drwxr-xr-x. 79 root root 8192 Jan 1 19:51 .
dr-xr-xr-x. 18 root root 236 Dec 29 22:36 ..
-rw-r--r--. 1 root root 16 Dec 29 22:50 adjtime
-rw-r--r--. 1 root root 1529 May 15 2020 aliases
drwxr-xr-x. 2 root root 129 Dec 29 22:40 alternatives
-rw-r--r--. 1 root root 541 Nov 9 2019 anacrontab
drwxr-x---. 4 root root 100 Dec 29 22:53 audit
如果想要查看目录属性信息,则需要额外添加一个-d 参数
[root@centos8 etc]#ls -ld /etc
drwxr-xr-x. 79 root root 8192 Jan 1 19:51 /etc
4、文本文件编辑命令
1.cat命令
cat 命令用于查看纯文本文件(内容较少的),格式为“cat [选项] [文件]”。
Linux 系统中有多个用于查看文本内容的命令,每个命令都有自己的特点,比如这个 cat命令就是用于查看内容较少的纯文本文件的。
[root@centos8 etc]#cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
-
more命令
more 命令用于查看纯文本文件(内容较多的),格式为“more [选项]文件”。
对于长篇的文本内容,推荐使用 more 命令来查看。more
命令会在最下面使用百分比的形式来提示您已经阅读了多少内容。您还可以使用空格键或回车键向下翻页: -
head命令
head 命令用于查看纯文本文档的前 N 行,格式为“head [选项] [文件]”。
[root@centos8 etc]#head -10 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
- tail命令
tail 命令用于查看纯文本文档的后 N 行或持续刷新内容,格式为“tail [选项] [文件]”。
[root@centos8 etc]#tail -5 /etc/passwd
unbound:x:997:994:Unbound DNS resolver:/etc/unbound:/sbin/nologin
sssd:x:996:993:User for sssd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
rngd:x:995:992:Random Number Generator Daemon:/var/lib/rngd:/sbin/nologin
vyi:x:1000:1000:vyi:/home/vyi:/bin/bash
当我们想要持续刷新内容可以加 -f参数
[root@centos8 etc]#tail -f /var/log/messages
Jan 1 20:31:04 centos8 NetworkManager[947]: <info> [1609504264.0595] dhcp4 (ens160): option requested_time_offset => '1'
Jan 1 20:31:04 centos8 NetworkManager[947]: <info> [1609504264.0595] dhcp4 (ens160): option requested_wpad => '1'
Jan 1 20:31:04 centos8 NetworkManager[947]: <info> [1609504264.0595] dhcp4 (ens160): option routers => '192.168.10.2'
Jan 1 20:31:04 centos8 NetworkManager[947]: <info> [1609504264.0595] dhcp4 (ens160): option subnet_mask => '255.255.255.0'
Jan 1 20:31:04 centos8 NetworkManager[947]: <info> [1609504264.0595] dhcp4 (ens160): state changed extended -> extended
Jan 1 20:31:04 centos8 dbus-daemon[864]: [system] Activating via systemd: service name='org.freedesktop.nm_dispatcher' unit='dbus-org.freedesktop.nm-dispatcher.service' requested by ':1.9' (uid=0 pid=947 comm="/usr/sbin/NetworkManager --no-daemon " label="system_u:system_r:NetworkManager_t:s0")
Jan 1 20:31:04 centos8 systemd[1]: Starting Network Manager Script Dispatcher Service...
- tr命令
tr 命令用于替换文本文件中的字符,格式为“tr [原始字符] [目标字符]”。
[root@centos8 /]#cat anaconda-ks.cfg | tr [a-z] [A-Z]
- wc命令
wc 命令用于统计指定文本的行数、字数、字节数,格式为“wc [参数] 文本”。
参数 | 作用 |
---|---|
-l | 只显示行 |
-w | 只显示单词数 |
-c | 只显示字节数 |
[root@centos8 /]#cat /etc/passwd | wc -l
23 # /etc/passwd 文件中有23行
[root@centos8 /]#cat /etc/passwd | wc -w
51 # /etc/passwd 文件中有51个单词
[root@centos8 /]#cat /etc/passwd | wc -c
1146 # /etc/passwd文件中共有1146个字节
- stat命令
stat 命令用于查看文件的具体存储信息和时间等信息,格式为“stat 文件名称”。
[root@centos8 /]#stat /etc/passwd
File: /etc/passwd
Size: 1146 Blocks: 8 IO Block: 4096 regular file
Device: 802h/2050d Inode: 134722984 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: system_u:object_r:passwd_file_t:s0
Access: 2021-01-01 20:36:01.704355019 +0800
Modify: 2020-12-29 22:50:53.080185157 +0800
Change: 2020-12-29 22:50:53.121185957 +0800
Birth: -
- cut命令
cut 命令用于按“列”提取文本字符,格式为“cut [参数] 文本”。
截取/etc/passwd 文件中以 : 为分隔符的第一行。
[root@centos8 /]#cut -d: -f1 /etc/passwd
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
operator
games
ftp
nobody
dbus
systemd-coredump
systemd-resolve
tss
polkitd
unbound
sssd
sshd
rngd
vyi
- diff命令
diff 命令用于比较多个文本文件的差异,格式为“diff [参数] 文件”。
[root@centos8 /]#cat diff_a.txt
xioa
ashadah
[root@centos8 /]#cat diff_b.txt
xioa
hahah
ashadgaah
使用diff --brief命令,显示比较前后的结果
[root@centos8 /]#diff --brief diff_a.txt diff_b.txt
Files diff_a.txt and diff_b.txt differ
使用带有-c 参数的 diff 命令来描述文件内容具体的不同:
[root@centos8 /]#diff -c diff_a.txt diff_b.txt
*** diff_a.txt 2021-01-01 20:49:03.976336595 +0800
--- diff_b.txt 2021-01-01 20:48:55.115336803 +0800
***************
*** 1,2 ****
xioa
! ashadah
--- 1,3 ----
xioa
! hahah
! ashadgaah
行首带有!就是不同的位置
5、文件目录管理命令
- touch命令
touch 命令用于创建空白文件或设置文件的时间,格式为“touch [选项] [文件]”。
对 touch 命令来讲,有难度的操作主要是体现在设置文件内容的修改时间(mtime)、文件权限或属性的更改时间(ctime)与文件的读取时间(atime)上面。
参数 | 作用 |
---|---|
-a | 仅修改“读取时间”(atime) |
-m | 仅修改“修改时间”(mtime) |
-d | 同时修改 atime 与 mtime |
例如:
[root@centos8 /]#touch xiaojiejie # 用touch创建一个文本
[root@centos8 /]#ls -l xiaojiejie # 查看文本的详细信息
-rw-r--r--. 1 root root 0 Jan 1 20:59 xiaojiejie
[root@centos8 /]#echo "ni hao!" > xiaojiejie # 在文本中写入信息
[root@centos8 /]#ls -l xiaojiejie # 再次查看文本的详细信息,发现时间已经改变
-rw-r--r--. 1 root root 8 Jan 1 21:00 xiaojiejie
[root@centos8 /]#touch -d "2020-12-12 12:12" xiaojiejie 修改文本的atime,ctime
[root@centos8 /]#ls -l xiaojiejie # 可以看到我们刚创建的文本时间已经变为2020-12-12 12:12
-rw-r--r--. 1 root root 8 Dec 12 12:12 xiaojiejie
- mkdir命令
mkdir 命令用于创建空白的目录,格式为“mkdir [选项] 目录”。
在 Linux 系统中,文件夹是最常见的文件类型之一。除了能创建单个空白目录外,mkdir命令还可以结合-p 参数来递归创建出具有嵌套叠层关系的文件目录。
[root@centos8 /]#mkdir xiaoge
[root@centos8 /]#cd xiaoge/
[root@centos8 xiaoge]#mkdir -p a/b/c/d
[root@centos8 c]#pwd
/xiaoge/a/b/c
- cp命令
cp 命令用于复制文件或目录,格式为“cp [选项] 源文件 目标文件”。
大家对文件复制操作应该不陌生,在 Linux 系统中,复制操作具体分为 3 种情况:
- 如果目标文件是目录,则会把源文件复制到该目录中;
- 如果目标文件也是普通文件,则会询问是否要覆盖它;
- 如果目标文件不存在,则执行正常的复制操作。
常用的参数
参数 | 作用 |
---|---|
-p | 保留原始文件的属性 |
-d | 若对象为“链接文件”,则保留该“链接文件”的属性 |
-r | 递归持续复制(用于目录) |
-i | 若目标文件存在则询问是否覆盖 |
-a | 相当于-pdr(p、d、r 为上述参数 |
- mv命令
mv 命令用于剪切文件或将文件重命名,格式为“mv [选项] 源文件 [目标路径|目标文件名]”
剪切操作不同于复制操作,因为它会默认把源文件删除掉,只保留剪切后的文件。如果在同一个目录中对一个文件进行剪切操作,其实也就是对其进行重命名:
[root@centos8 c]#mv xiao.log linux.log
[root@centos8 c]#ls
install.log linux.log
- rm命令
rm 命令用于删除文件或目录,格式为“rm [选项] 文件”。
在 Linux 系统中删除文件时,系统会默认向您询问是否要执行删除操作,如果不想总是看到这种反复的确认信息,可在 rm 命令后跟上-f 参数来强制删除。另外,想要删除一个目录,需要在 rm 命令后面一个-r 参数才可以,否则删除不掉。
rm -rf
- dd命令
dd 命令用于按照指定大小和个数的数据块来复制文件或转换文件,格式为“dd [参数]”。
参数 | 作用
-------- | -----
if | 输入的文件名称
of | 输出的文件名称
bs |设置每个“块”的大小
count |设置要复制“块”的个数
例:从/dev/zero文件中取出一个560m的文件
[root@centos8 c]#dd if=/dev/zero of=560_file bs=1 count=560M
dd 命令的功能也绝不仅限于复制文件这么简单。如果您想把光驱设备中的光盘制作成 iso 格式的镜像文件,在 Windows 系统中需要借助于第三方软件才能做到,但在 Linux 系统中可以直接使用 dd 命令来压制出光盘镜像文件,将它编程一个可立即使用的 iso 镜像:
[root@centos8 c]#dd if=/dev/cdrom if=centos8.0-x86_64xiaoge.ios
- file命令
file 命令用于查看文件的类型,格式为“file 文件名”。
[root@centos8 ~]#file anaconda-ks.cfg
anaconda-ks.cfg: ASCII text
[root@centos8 ~]#file /dev/sda
/dev/sda: block special (8/0)
6、打包压缩和搜索命令
- tar命令
tar 命令用于对文件进行打包压缩或解压,格式为“tar [选项] [文件]”。
- grep命令
grep 命令用于在文本中执行关键词搜索,并显示匹配的结果,格式为“grep [选项] [文件]”。
- find命令
find 命令用于按照指定条件来查找文件,格式为“find [查找路径] 寻找条件 操作”
例如:查找/etc下的以host开头的文件列表
[root@centos8 ~]#find /etc -name "host*"
/etc/host.conf
/etc/hosts
/etc/hostname
在整个系统中搜索权限中包括 SUID 权限的所有文件
[root@centos8 ~]#find / -perm -4000
find: ‘/proc/2170/task/2170/fd/6’: No such file or directory
find: ‘/proc/2170/task/2170/fdinfo/6’: No such file or directory
find: ‘/proc/2170/fd/5’: No such file or directory
find: ‘/proc/2170/fdinfo/5’: No such file or directory
/usr/bin/fusermount
/usr/bin/chage
/usr/bin/gpasswd
/usr/bin/newgrp
/usr/bin/mount
/usr/bin/su
/usr/bin/umount