一、Linux命令
1.文件管理
1.1、ls命令 – 显示指定工作目录下的文件和属性信息
1.2、cp命令 – 复制文件或目录
1.3、mkdir命令 – 创建目录文件
1.4、mv命令 – 移动或更名文件
1.5、pwd命令 – 显示当前工作目录的路径
2.文件编辑
2.1、cat命令 – 文件内容显示在终端设备上
2.2、echo命令 – 输出字符串或提取的变量值
2.3、rm命令 – 删除文件或目录
2.4、tail命令 – 查看文件的尾部内容
2.5、grep命令 – 强大的文本搜索工具
3.系统管理
3.1、rpm命令 – RPM软件包管理器
3.2、find命令 – 根据路径和条件搜索指定文件
3.3、startx命令 – 初始化X-windows系统
3.4、ps命令 – 显示过程状态
3.5、uname命令 – 显示系统内核信息
4.磁盘管理
4.1、df命令 – 显示磁盘空间的使用情况
4.2、fdisk命令 – 磁盘分区的管理
4.3、lsblk命令 – 检查系统磁盘的使用情况
4.4、hdparm命令 – 硬盘参数的显示和设置
4.5、vgextend命令 – 卷组设备设备
5.文件传输
5.1、tftp命令 – 上传和下载文件
5.2、curl命令 – 文件传输工具
5.3、fsck命令 – 检查与修复文件系统
5.4、lprm命令 – 删除打印队列中的打印任务
5.5、ftpwho命令 – 显示ftp会话信息
6、网络通讯
6.1、ssh命令 – 安全的远程连接服务器
6.2、netstat命令 – 显示网络状态
6.3、dhclient命令 – 动态获取或释放IP地址
6.4、ping命令 – 测试主机间网络连通性
6.5、ifconfig命令 – 显示或设置网络设备参数信息
7.设备管理
7.1、mount命令 – 把文件系统挂载到目录
7.2、lspci命令 – 显示当前设备PCI总线设备信息
7.3、MAKEDEV命令 – 建立设备
7.4、sensors命令 – 检测服务器硬件信息
7.5、setleds命令 – 设定键盘上方三个 LED 的状态
8、备份压缩
8.1、zip命令 – 压缩文件
8.2、unzip命令 – 解压缩zip格式文件
8.3、gzip命令 – 压缩和解压文件
8.4、zipinfo命令 – 查看压缩文件信息
8.5、gunzip命令 – 解压提取文件内容
9、其他命令
9.1、hash命令 – 管理命令运行时查询的哈希表
9.2、wait命令 – 等待指令执行完毕
9.3、bc命令 – 数字计算器
9.4、history命令 – 显示与管理历史命令记录
9.5、wget命令 – 下载网络文件
10、扩充内容
10.1、xz命令 – POSIX 平台开发工具
10.2、gpg命令 – 加密工具
10.3、redis-benchmark命令 – Redis基准性能测试
10.4、redis-cli命令 – redis客户端管理工具
10.5、whatis命令 – 查询命令执行功能
10.6、ifplugstatus命令 – 检查网线是否已插到在网络接口
10.7、chronyc命令 – 设置时间与时钟服务器同步
11、还有好多 中间件命令 和 基础命令(敬请期待)
一、Linux命令
1.文件管理
1.1、ls命令 – 显示指定工作目录下的文件及属性信息
是最常被使用到的Linux命令之一,来自于英文单词的缩写,也正如list单词的英文意思,其功能是列举出指定目录下的文件名称及其属性。
默认不加参数的情况下,ls命令会列出当前工作目录中的文件信息,经常与cd和pwd命令搭配使用,十分方便。而带上参数后,我们则可以做更多的事情,作为最基础、最频繁使用的命令,有必要仔细了解下其常用功能。
ls [参数] [文件]
-a | 显示所有文件及目录 (包括以“.”开头的隐藏文件) |
-l | 使用长格式列出文件及目录的详细信息 |
-r | 将文件以相反次序显示(默认依英文字母次序) |
-t | 根据最后的修改时间排序 |
-A | 同 -a ,但不列出 “.” (当前目录) 及 “..” (父目录) |
-S | 根据文件大小排序 |
-R | 递归列出所有子目录 |
-d | 查看目录的信息,而不是里面子文件的信息 |
-i | 输出文件的inode节点信息 |
-m | 水平列出文件,以逗号间隔 |
-X | 按文件扩展名排序 |
--color | 输出信息中带有着色效果 |
[root@linuxcool ~]# ls
anaconda-ks.cfg Documents initial-setup-ks.cfg Pictures Templates
Desktop Downloads Music Public Videos
[root@linuxcool ~]# ls -a
. .bashrc Documents Music Videos
.. .cache Downloads Pictures .viminfo
anaconda-ks.cfg .config .esd_auth .pki
.bash_history .cshrc .ICEauthority Public
.bash_logout .dbus initial-setup-ks.cfg .tcshrc
.bash_profile Desktop .local Templates
[root@linuxcool ~]# ls -l
total 8
-rw-------. 1 root root 1430 Dec 14 08:05 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 Dec 14 08:37 Desktop
drwxr-xr-x. 2 root root 6 Dec 14 08:37 Documents
drwxr-xr-x. 2 root root 6 Dec 14 08:37 Downloads
-rw-r--r--. 1 root root 1585 Dec 14 08:34 initial-setup-ks.cfg
drwxr-xr-x. 2 root root 6 Dec 14 08:37 Music
drwxr-xr-x. 2 root root 6 Dec 14 08:37 Pictures
drwxr-xr-x. 2 root root 6 Dec 14 08:37 Public
drwxr-xr-x. 2 root root 6 Dec 14 08:37 Templates
drwxr-xr-x. 2 root root 6 Dec 14 08:37 Videos
[root@linuxcool ~]# ls /etc
adjtime hosts pulse
aliases hosts.allow qemu-ga
alsa hosts.deny qemu-kvm
alternatives hp radvd.conf
anacrontab idmapd.conf ras
asound.conf init.d rc0.d
at.deny inittab rc1.d
………………省略部分输出信息………………
[root@linuxcool ~]# ls -i
35290115 anaconda-ks.cfg 35290137 initial-setup-ks.cfg 35290164 Templates
1137391 Desktop 17840039 Music 51609597 Videos
1137392 Documents 35290165 Pictures
17840038 Downloads 51609596 Public
[root@linuxcool ~]# ls /dev/sd*
/dev/sda /dev/sda1 /dev/sda2
[root@linuxcool ~]# ls -Sl /etc
total 1348
-rw-r--r--. 1 root root 692241 Sep 10 2018 services
-rw-r--r--. 1 root root 66482 Dec 14 08:34 ld.so.cache
-rw-r--r--. 1 root root 60352 May 11 2017 mime.types
-rw-r--r--. 1 root dnsmasq 26843 Aug 12 2018 dnsmasq.conf
-rw-r--r--. 1 root root 25696 Dec 12 2018 brltty.conf
-rw-r--r--. 1 root root 9450 Aug 12 2018 nanorc
-rw-r--r--. 1 root root 7265 Dec 14 08:03 kdump.conf
-rw-------. 1 tss tss 7046 Aug 13 2018 tcsd.conf
………………省略部分输出信息………………
1.2、cp命令 – 复制文件或目录
命令来自于英文单词的缩写,用于将一个或多个文件或目录复制到指定位置,亦常用于文件的备份工作。-r参数用于递归操作,复制目录时若忘记加则会直接报错,而-f参数则用于当目标文件已存在时会直接覆盖不再询问,这两个参数尤为常用。
cp [参数] 源文件 目标文件
-f | 若目标文件已存在,则会直接覆盖原文件 |
-i | 若目标文件已存在,则会询问是否覆盖 |
-p | 保留源文件或目录的所有属性 |
-r | 递归复制文件和目录 |
-d | 当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录 |
-l | 对源文件建立硬连接,而非复制文件 |
-s | 对源文件建立符号连接,而非复制文件 |
-b | 覆盖已存在的文件目标前将目标文件备份 |
-v | 详细显示cp命令执行的操作过程 |
-a | 等价于“pdr”选项 |
[root@linuxcool ~]# cp anaconda-ks.cfg kickstart.cfg
[root@linuxcool ~]# cp -r Documents Doc
[root@linuxcool ~]# cp -a kickstart.cfg ks.cfg
[root@linuxcool ~]# cp -f ks.cfg /etc
[root@linuxcool ~]# cp anaconda-ks.cfg ks.cfg /etc
cp: overwrite '/etc/ks.cfg'? y
1.3、mkdir命令 – 创建目录文件
命令来自于英文词组“”的缩写,其功能是用来创建目录文件。使用简单,但需要注意若要创建的目标目录已经存在,则会提示已存在而不继续创建,不覆盖已有文件。而目录不存在,但具有嵌套的依赖关系,例如a/b/c/d/e/f,要想一次性创建则需要加入-p参数,进行递归操作。
mkdir [参数] 目录
-p | 递归创建多级目录 |
-m | 建立目录的同时设置目录的权限 |
-z | 设置安全上下文 |
-v | 显示目录的创建过程 |
[root@linuxcool ~]# mkdir dir1
[root@linuxcool ~]# mkdir -m 700 dir2
[root@linuxcool ~]# mkdir dir3 dir4 dir5
[root@linuxcool ~]# mkdir -p /dir1/dir2/dir3/dir4/dir5
1.4、mv命令 – 移动或改名文件
命令来自于英文单词的缩写,其功能与英文含义相同,用于对文件进行剪切和重命名。
这是一个高频使用的文件管理命令,我们需要留意它与复制命令的区别。cp命令是用于文件的复制操作,文件个数是增加的,而mv则为剪切操作,也就是对文件进行移动(搬家)操作,文件位置发生变化,但总个数并无增加。
在同一个目录内对文件进行剪切的操作,实际应理解成重命名操作,例如下面的实例一所示。
mv [参数] 源文件 目标文件
-i | 若存在同名文件,则向用户询问是否覆盖 |
-f | 覆盖已有文件时,不进行任何提示 |
-b | 当文件存在时,覆盖前为其创建一个备份 |
-u | 当源文件比目标文件新,或者目标文件不存在时,才执行移动此操作 |
[root@linuxcool ~]# mv anaconda-ks.cfg ks.cfg
[root@linuxcool ~]# mv ks.cfg /etc
[root@linuxcool ~]# mv Documents /etc/docs
[root@linuxcool ~]# mv -f /home/* .
1.5、pwd命令 – 显示当前工作目录的路径
命令来自于英文词组的缩写,其功能是用于显示当前工作目录的路径,即显示所在位置的绝对路径。
在实际工作中,我们经常会在不同目录之间进行切换,为了防止”迷路“,可以使用pwd命令快速查看当前所处的工作目录路径,方便开展后续工作。
:pwd [参数]
-L | 显示逻辑路径 |
[root@linuxcool ~]# pwd
/root
2.文件编辑
2.1、cat命令 – 在终端设备上显示文件内容
命令来自于英文单词 的缩写,其功能是用于查看文件内容。在Linux系统中有很多用于查看文件内容的命令,例如more、tail、head……等等,每个命令都有各自的特点。cat命令适合查看内容较少的、纯文本的文件。
对于内容较多的文件,使用cat命令查看后会在屏幕上快速滚屏,用户往往看不清所显示的具体内容,只好按Ctrl+c键中断命令的执行,所以对于大文件,干脆用more命令吧~
cat [参数] 文件
-n | 显示行数(空行也编号) |
-s | 显示行数(多个空行算一个编号) |
-b | 显示行数(空行不编号) |
-E | 每行结束处显示$符号 |
-T | 将TAB字符显示为 ^I符号 |
-v | 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外 |
-e | 等价于”-vE”组合 |
-t | 等价于”-vT”组合 |
-A | 等价于 -vET组合 |
--help | 显示帮助信息 |
--version | 显示版本信息 |
[root@linuxcool ~]# cat anaconda-ks.cfg
#version=RHEL8
ignoredisk --only-use=sda
autopart --type=lvm
# Partition clearing information
………………省略部分输出信息………………
[root@linuxcool ~]# cat -n anaconda-ks.cfg
1 #version=RHEL8
2 ignoredisk --only-use=sda
3 autopart --type=lvm
4 # Partition clearing information
5 clearpart --none --initlabel
6 # Use graphical install
………………省略部分输出信息………………
[root@linuxcool ~]# cat /dev/null > anaconda-ks.cfg
[root@linuxcool ~]# cat anaconda-ks.cfg
[root@linuxcool ~]#
[root@linuxcool ~]# cat > anaconda-ks.cfg << EOF
> Hello,World
> Linux!~
> EOF
[root@linuxcool ~]# cat anaconda-ks.cfg
Hello,World
Linux!~
[root@linuxcool ~]# cat /dev/cdrom > rhel.iso
[root@linuxcool ~]# ls rhel.iso -lh
-rw-r--r--. 1 root root 6.7G May 2 00:43 rhel.iso
[root@linuxcool ~]# file rhel.iso
rhel.iso: DOS/MBR boot sector; partition 2 : ID=0xef, start-CHS (0x3ff,254,63), end-CHS (0x3ff,254,63), startsector 23128, 19888 sectors
是用于在终端设备上输出指定字符串或变量提取后值的命令,能够给用户一些简单的提醒信息,也可以将输出的指定字符串内容同管道符一起传递给后续命令作为标准输入信息再来进行二次处理,又或者同输出重定向符一起操作,将信息直接写入到文件中。
如需提取变量值,需在变量名称前加入$符号做提取,变量名称一般均为大写形式。
echo [参数] 字符串/变量
-n | 不输出结尾的换行符 |
-e “\a” | 发出警告音 |
-e “\b” | 删除前面的一个字符 |
-e “\c” | 结尾不加换行符 |
-e “\f” | 换行,光标扔停留在原来的坐标位置 |
-e “\n” | 换行,光标移至行首 |
-e “\r” | 光标移至行首,但不换行 |
-E | 禁止反斜杠转移,与-e参数功能相反 |
—version | 查看版本信息 |
--help | 查看帮助信息 |
[root@linuxcool ~]# echo LinuxCool
LinuxCool
[root@linuxcool ~]# echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/root/bin
[root@linuxcool ~]# echo \$PATH
$PATH
[root@linuxcool ~]# echo "Hello World" > Document
[root@linuxcool ~]# echo `uptime`
16:16:12 up 52 min, 1 user, load average: 0.00, 0.00, 0.00
[root@linuxcool ~]# echo -e "First\nSecond\nThird"
First
Second
Third
[root@linuxcool ~]# echo -e "123\b456"
12456
2.3、rm命令 – 删除文件或目录
命令来自于英文单词 的缩写,其功能是用于删除文件或目录,一次可以删除多个文件,或递归删除目录及其内的所有子文件。
也是一个很危险的命令,使用的时候要特别当心,尤其对于新手更要格外注意,如执行rm -rf /*命令则会清空系统中所有的文件,甚至无法恢复回来。所以我们在执行之前一定要再次确认下在哪个目录中,到底要删除什么文件,考虑好后再敲击回车,时刻保持清醒的头脑。
rm [参数] 文件
-f | 强制删除(不二次询问) |
-i | 删除前会询问用户是否操作 |
-r/R | 递归删除 |
-v | 显示指令的详细执行过程 |
[root@linuxcool ~]# rm anaconda-ks.cfg
rm: remove regular file 'anaconda-ks.cfg'? y
[root@linuxcool ~]# rm -f initial-setup-ks.cfg
[root@linuxcool ~]# rm -rf Documents
[root@linuxcool ~]# rm -f *.txt
[root@linuxcool ~]# rm -rf /*
2.4、tail命令 – 查看文件尾部内容
命令的功能是用于查看文件尾部内容,例如默认会在终端界面上显示出指定文件的末尾十行,如果指定了多个文件,则会在显示的每个文件内容前面加上文件名来加以区分。
高阶玩法的-f参数作用是持续显示文件的尾部最新内容,类似于机场候机厅的大屏幕,总会把最新的消息展示给用户,对阅读日志文件尤为适合,而不需要手动刷新。
语法格式:tail [参数] 文件
-c | 输出文件尾部的N(N为整数)个字节内容 |
-f | 持续显示文件最新追加的内容 |
-F <N> | 与选项“-follow=name”和“--retry”连用时功能相同 |
-n <N> | 输出文件的尾部N(N位数字)行内容 |
--retry | 即是在tail命令启动时,文件不可访问或者文件稍后变得不可访问,都始终尝试打开文件。 |
--pid=<进程号> | 与“-f”选项连用,当指定的进程号的进程终止后,自动退出tail命令 |
--help | 显示指令的帮助信息 |
--version | 显示指令的版本信息 |
[root@linuxcool ~]# tail initial-setup-ks.cfg
%addon com_redhat_subscription_manager
%end
%addon ADDON_placeholder --disable --reserve-mb=auto
%end
%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end
[root@linuxcool ~]# tail -n 5 initial-setup-ks.cfg
%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end
[root@linuxcool ~]# tail -c 30 initial-setup-ks.cfg
t --nochanges --notempty
%end
[root@linuxcool ~]# tail -f /var/log/messages
………………省略输出信息………………
2.5、grep命令 – 强大的文本搜索工具
来自于英文词组“”的缩写,意思是用于全面搜索的正则表达式,并将结果输出。人们通常会将grep命令与正则表达式搭配使用,参数作为搜索过程中的补充或对输出结果的筛选,命令模式十分灵活。
与之容易混淆的是命令和命令。如果把grep命令当作是标准搜索命令,那么egrep则是扩展搜索命令,等价于“grep -E”命令,支持扩展的正则表达式。而fgrep则是快速搜索命令,等价于“grep -F”命令,不支持正则表达式,直接按照字符串内容进行匹配。
grep [参数] 文件
-i | 忽略大小写 |
-c | 只输出匹配行的数量 |
-l | 只列出符合匹配的文件名,不列出具体的匹配行 |
-n | 列出所有的匹配行,显示行号 |
-h | 查询多文件时不显示文件名 |
-s | 不显示不存在、没有匹配文本的错误信息 |
-v | 显示不包含匹配文本的所有行 |
-w | 匹配整词 |
-x | 匹配整行 |
-r | 递归搜索 |
-q | 禁止输出任何结果,已退出状态表示搜索是否成功 |
-b | 打印匹配行距文件头部的偏移量,以字节为单位 |
-o | 与-b结合使用,打印匹配的词据文件头部的偏移量,以字节为单位 |
-F | 匹配固定字符串的内容 |
-E | 支持扩展的正则表达式 |
[root@linuxcool ~]# grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@linuxcool ~]# grep ^root /etc/passwd
root:x:0:0:root:/root:/bin/bash
[root@linuxcool ~]# grep linuxprobe /etc/passwd /etc/shadow
/etc/passwd:linuxprobe:x:1000:1000:linuxprobe:/home/linuxprobe:/bin/bash
/etc/shadow:linuxprobe:$6$9Av/41hCM17T2PrT$hoggWJ3J/j6IqEOSp62elhdOYPLhQ1qDho7hANcm5fQkPCQdib8KCWGdvxbRvDmqyOarKpWGxd8NAmp3j2Ln00::0:99999:7:::
[root@linuxcool ~]# grep -h linuxprobe /etc/passwd /etc/shadow
linuxprobe:x:1000:1000:linuxprobe:/home/linuxprobe:/bin/bash
linuxprobe:$6$9Av/41hCM17T2PrT$hoggWJ3J/j6IqEOSp62elhdOYPLhQ1qDho7hANcm5fQkPCQdib8KCWGdvxbRvDmqyOarKpWGxd8NAmp3j2Ln00::0:99999:7:::
[root@linuxcool ~]# grep -c root /etc/passwd /etc/shadow
/etc/passwd:2
/etc/shadow:1
[root@linuxcool ~]# grep -n network anaconda-ks.cfg
17:network --bootproto=static --device=ens160 --ip=192.168.10.10 --netmask=255.255.255.0 --onboot=off --ipv6=auto --activate
18:network --hostname=linuxcool.com
[root@linuxcool ~]# grep -v nologin /etc/passwd
root:x:0:0:root:/root:/bin/bash
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
linuxprobe:x:1000:1000:linuxprobe:/home/linuxprobe:/bin/bash
[root@linuxcool ~]# grep -l root *
anaconda-ks.cfg
grep: Desktop: Is a directory
grep: Documents: Is a directory
grep: Downloads: Is a directory
initial-setup-ks.cfg
grep: Music: Is a directory
grep: Pictures: Is a directory
grep: Public: Is a directory
grep: Templates: Is a directory
grep: Videos: Is a directory
[root@linuxcool ~]# grep -sl root *
anaconda-ks.cfg
initial-setup-ks.cfg
[root@linuxcool ~]# grep -srl root /etc
/etc/fstab
/etc/X11/xinit/Xclients
/etc/X11/xinit/xinitrc
/etc/libreport/events.d/collect_dnf.conf
/etc/libreport/events.d/bugzilla_anaconda_event.conf
/etc/libreport/forbidden_words.conf
………………省略部分输出信息………………
[root@linuxcool ~]# grep -x cd anaconda-ks.cfg
[root@linuxcool ~]# grep -x cdrom anaconda-ks.cfg
cdrom
[root@linuxcool ~]# grep -q linuxprobe anaconda-ks.cfg
[root@linuxcool ~]# echo $?
0
[root@linuxcool ~]# grep -q linuxcool anaconda-ks.cfg
[root@linuxcool ~]# echo $?
1
[root@linuxcool ~]# grep -c ^$ anaconda-ks.cfg
6
3.系统管理
3.1、rpm命令 – RPM软件包管理器
命令来自于英文词组”“的缩写,中文译为红帽软件包管理器,其功能是用于在Linux系统下对软件包进行安装、卸载、查询、验证、升级等工作。
rpm [参数] 软件包
-a | 查询所有的软件包 |
-b或-t | 设置包装套件的完成阶段,并指定套件档的文件名称; |
-c | 只列出组态配置文件,本参数需配合”-l”参数使用 |
-d | 只列出文本文件,本参数需配合”-l”参数使用 |
-e | 卸载软件包 |
-f | 查询文件或命令属于哪个软件包 |
-h | 安装软件包时列出标记 |
-i | 安装软件包 |
-l | 显示软件包的文件列表 |
-p | 查询指定的rpm软件包 |
-q | 查询软件包 |
-R | 显示软件包的依赖关系 |
-s | 显示文件状态,本参数需配合”-l”参数使用 |
-U | 升级软件包 |
-v | 显示命令执行过程 |
-vv | 详细显示指令执行过程 |
[root@linuxcool ~]# rpm -ivh cockpit-185-2.el8.x86_64.rpm
Verifying... ################################# [100%]
Preparing... ################################# [100%]
package cockpit-185-2.el8.x86_64 is already installed
[root@linuxcool ~]# rpm -qa
qemu-kvm-block-gluster-2.12.0-63.module+el8+2833+c7d6d092.x86_64
boost-atomic-1.66.0-6.el8.x86_64
gnome-session-wayland-session-3.28.1-6.el8.x86_64
grub2-tools-2.02-66.el8.x86_64
lohit-gurmukhi-fonts-2.91.2-3.el8.noarch
liberation-fonts-common-2.00.3-4.el8.noarch
policycoreutils-python-utils-2.8-16.1.el8.noarch
………………省略部分输出信息………………
[root@linuxcool ~]# rpm -ql cockpit
/usr/share/cockpit
/usr/share/doc/cockpit/AUTHORS
/usr/share/doc/cockpit/COPYING
/usr/share/doc/cockpit/README.md
/usr/share/man/man1/cockpit.1.gz
/usr/share/metainfo/cockpit.appdata.xml
/usr/share/pixmaps/cockpit.png
[root@linuxcool ~]# rpm -evh cockpit
Preparing... ################################# [100%]
Cleaning up / removing...
1:cockpit-185-2.el8 ################################# [100%]
[root@linuxcool ~]# rpm -Uvh cockpit-185-2.el8.x86_64.rpm
Verifying... ################################# [100%]
Preparing... ################################# [100%]
Updating / installing...
1:cockpit-185-2.el8 ################################# [100%]
3.2、find命令 – 根据路径和条件搜索指定文件
命令的功能是根据给定的路径和条件查找相关文件或目录,可以使用的参数很多,并且支持正则表达式,结合管道符后能够实现更加复杂的功能,是系统管理员和普通用户日常工作必须掌握的命令之一。
命令通常进行的是从根目录(/)开始的全盘搜索,有别于whereis、which、locate……等等的有条件或部分文件的搜索。对于服务器负载较高的情况,建议不要在高峰时期使用find命令的模糊搜索,会相对消耗较多的系统资源。
:find [路径] [参数]
:
-name | 匹配名称 |
-perm | 匹配权限(mode为完全匹配,-mode为包含即可) |
-user | 匹配所有者 |
-group | 匹配所有组 |
-mtime -n +n | 匹配修改内容的时间(-n指n天以内,+n指n天以前) |
-atime -n +n | 匹配访问文件的时间(-n指n天以内,+n指n天以前) |
-ctime -n +n | 匹配修改文件权限的时间(-n指n天以内,+n指n天以前) |
-nouser | 匹配无所有者的文件 |
-nogroup | 匹配无所有组的文件 |
-newer f1 !f2 | 匹配比文件f1新但比f2旧的文件 |
-type b/d/c/p/l/f | 匹配文件类型(后面的字幕字母依次表示块设备、目录、字符设备、管道、链接文件、文本文件) |
-size | 匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件) |
-prune | 忽略某个目录 |
-exec …… {}\; | 后面可跟用于进一步处理搜索结果的命令 |
[root@linuxcool ~]# find / -name *.conf
/run/tmpfiles.d/kmod.conf
/etc/resolv.conf
/etc/dnf/dnf.conf
/etc/dnf/plugins/copr.conf
/etc/dnf/plugins/debuginfo-install.conf
/etc/dnf/plugins/product-id.conf
/etc/dnf/plugins/subscription-manager.conf
………………省略部分输出信息………………
[root@linuxcool ~]# find /etc -size +1M
/etc/selinux/targeted/policy/policy.31
/etc/udev/hwdb.bin
[root@linuxcool ~]# find /home -user linuxprobe
/home/linuxprobe
/home/linuxprobe/.mozilla
/home/linuxprobe/.mozilla/extensions
/home/linuxprobe/.mozilla/plugins
/home/linuxprobe/.bash_logout
/home/linuxprobe/.bash_profile
/home/linuxprobe/.bashrc
[root@linuxcool ~]# find .
.
./.bash_logout
./.bash_profile
./.bashrc
./.cshrc
./.tcshrc
./anaconda-ks.cfg
………………省略部分输出信息………………
[root@linuxcool ~]# find /var/log -iname "*.log"
/var/log/audit/audit.log
/var/log/rhsm/rhsmcertd.log
/var/log/rhsm/rhsm.log
/var/log/sssd/sssd.log
/var/log/sssd/sssd_implicit_files.log
/var/log/sssd/sssd_nss.log
/var/log/sssd/sssd_kcm.log
/var/log/tuned/tuned.log
/var/log/anaconda/anaconda.log
/var/log/anaconda/X.log
………………省略部分输出信息………………
[root@linuxcool ~]# find /var/log ! -name "*.log"
/var/log
/var/log/lastlog
/var/log/README
/var/log/private
/var/log/wtmp
/var/log/btmp
/var/log/samba
[root@linuxcool ~]# find . -mtime +7
./.bash_logout
./.bash_profile
./.bashrc
./.cshrc
./.tcshrc
………………省略部分输出信息………………
[root@linuxcool ~]# find / -type d -perm 1777
/dev/mqueue
/dev/shm
/var/tmp
/tmp
………………省略部分输出信息………………
[root@linuxcool ~]# find / -type f -perm /a=x
/boot/vmlinuz-4.18.0-80.el8.x86_64
/boot/vmlinuz-0-rescue-c8b04558503242459d908c6c22a2d481
/etc/X11/xinit/xinitrc.d/50-systemd-user.sh
/etc/X11/xinit/xinitrc.d/00-start-message-bus.sh
/etc/X11/xinit/xinitrc.d/localuser.sh
/etc/X11/xinit/Xclients
/etc/X11/xinit/Xsession
/etc/X11/xinit/xinitrc
………………省略部分输出信息………………
[root@linuxcool ~]# find / -name "*.mp4" -exec rm -rf {} \;
3.3、startx命令 – 初始化X-windows系统
命令来自于英文词组”“的缩写,其功能是用于启动X-Windows系统。X-Windows System也被称为X或X11,中文译为X窗口系统,主要工作就是以图形方式显示软件窗口的系统,现在的GNOME和KDE桌面环境都是以X窗口系统为基础构建成的。
startx [参数]
— -depth <数字> | 指定颜色深度 |
-m | 当未找到启动脚本时,启动窗口管理器 |
-r | 当未找到启动脚本时,装入资源文件 |
-w | 强制启动 |
-x | 使用startup脚本启动X-windows会话 |
[root@linuxcool ~]# startx
X.Org X Server 1.20.3
X Protocol Version 11, Revision 0
Build Operating System: 4.14.0-49.el7a.noaead.x86_64
Current Operating System: Linux linuxcool.com 4.18.0-80.el8.x86_64 #1 SMP Wed Mar 13 12:02:46 UTC 2019 x86_64
………………省略部分输出信息………………
[root@linuxcool ~]# startx -- -depth 16
X.Org X Server 1.20.3
X Protocol Version 11, Revision 0
Build Operating System: 4.14.0-49.el7a.noaead.x86_64
Current Operating System: Linux linuxcool.com 4.18.0-80.el8.x86_64 #1 SMP Wed Mar 13 12:02:46 UTC 2019 x86_64
………………省略部分输出信息………………
[root@linuxcool ~]# startx -w
X.Org X Server 1.20.3
X Protocol Version 11, Revision 0
Build Operating System: 4.14.0-49.el7a.noaead.x86_64
Current Operating System: Linux linuxcool.com 4.18.0-80.el8.x86_64 #1 SMP Wed Mar 13 12:02:46 UTC 2019 x86_64
………………省略部分输出信息………………
3.4、ps命令 – 显示进程状态
命令来自于英文词组”“的缩写,其功能是用于显示当前系统的进程状态。使用ps命令可以查看到进程的所有信息,例如进程的号码、发起者、系统资源使用占比(处理器与内存)、运行状态等等。帮助我们及时的发现哪些进程出现”僵死“或”不可中断“等异常情况。
经常会与kill命令搭配使用来中断和删除不必要的服务进程,避免服务器的资源浪费。
ps [参数]
a | 显示现行终端机下的所有程序,包括其他用户的程序 |
-A | 显示所有程序 |
c | 显示每个程序真正的指令名称,而不包含路径 |
-C <指令名称> | 指定执行指令的名称,并列出该指令的程序的状况 |
-d | 显示所有程序,但不包括阶段作业管理员的程序 |
e | 列出程序时,显示每个程序所使用的环境变量 |
-f | 显示UID,PPIP,C与STIME栏位 |
f | 用ASCII字符显示树状结构,表达程序间的相互关系 |
g | 显示现行终端机下的所有程序,包括所属组的程序 |
-G <群组识别码> | 列出属于该群组的程序的状况 |
h | 不显示标题列 |
-H | 显示树状结构,表示程序间的相互关系 |
-j | 采用工作控制的格式显示程序状况 |
-l | 采用详细的格式来显示程序状况 |
L | 列出栏位的相关信息 |
-m | 显示所有的执行绪 |
n | 以数字来表示USER和WCHAN栏位 |
-N | 显示所有的程序,除了执行ps指令终端机下的程序之外 |
-p <程序识别码> | 指定程序识别码,并列出该程序的状况 |
r | 只列出现行终端机正在执行中的程序 |
-s <阶段作业> | 列出隶属该阶段作业的程序的状况 |
s | 采用程序信号的格式显示程序状况 |
S | 列出程序时,包括已中断的子程序资料 |
-t <终端机编号> | 列出属于该终端机的程序的状况 |
-T | 显示现行终端机下的所有程序 |
u | 以用户为主的格式来显示程序状况 |
-U <用户识别码> | 列出属于该用户的程序的状况 |
U <用户名称> | 列出属于该用户的程序的状况 |
v | 采用虚拟内存的格式显示程序状况 |
-V或V | 显示版本信息 |
-w或w | 采用宽阔的格式来显示程序状况 |
x | 显示所有程序,不以终端机来区分 |
X | 采用旧式的Linux i386登陆格式显示程序状况 |
-y | 配合选项”-l”使用时,不显示F(flag)栏位,并以RSS栏位取代ADDR栏位 |
--cols <每列字符数> | 设置每列的最大字符数 |
--headers | 重复显示标题列 |
--help | 在线帮助 |
--info | 显示排错信息 |
--lines <显示列数> | 设置显示画面的列数 |
[root@linuxcool ~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 2 0.0 0.0 0 0 ? S 20:05 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? I< 20:05 0:00 [rcu_gp]
root 4 0.0 0.0 0 0 ? I< 20:05 0:00 [rcu_par_gp]
………………省略部分输出信息………………
[root@linuxcool ~]# ps aux > backup.txt
[root@linuxcool ~]# ps -ef | grep ssh
………………省略输出信息………………
[root@linuxcool ~]# ps -u root
PID TTY TIME CMD
1 ?