CentOS8命令汇总

本CentOS8教程主要介绍CentOS8命令和一些CentOS8常用命令。

  CentOS8命令汇总
更新时间:2022-01-12

一、系统管理命令

1.1、systemctl命令:用于向系统发出查询或者管理命令。

systemctl list-unit-files  //通过如下命令查看我们可管理的服务列表


systemctl管理防火墙示例,systemctl作为CentOS8常用命令,可以设置开机启动、停止、重启、查看状态等。

systemctl start firewalld.service  //示例,启动防火墙,.service可以省略
systemctl stop firewalld  //示例,停止防火墙
systemctl restart firewalld  //示例,重启防火墙
systemctl status firewalld //示例,查看防火墙状态
systemctl enable firewalld  //示例,设置开机启动防火墙
systemctl disable firewalld  //示例,取消开机启动防火墙


1.2、date命令:显示或设定系统的日期与时间

其中参数 -d <字符串> ,显示字符串所指的日期与时间,字符串前后必须加上双引号。

date +%Y%m%d  //显示今天的日期
date +%Y%m%d --date="+1 day"  //显示明天的日期
date -d "nov 22"  //-d 参数使用


1.3、free命令:用于显示系统内存使用情况,包括物理内存、交互区内存(swap)和内核缓冲区内存

其中参数 -b 以 Byte 为单位显示内存使用情况,-k 以KB为单位来显示内存的信息,-m 以MB为单位来显示内存的信息,-g 以GB为单位来显示内存的信息,-h 人性化显示。返回参数详细解析如下。

  • total: 内存总数;
  • used: 已经使用内存数;
  • free: 完全空闲内存;
  • shared: 多个进程共享的内存;
  • buffers: 用于块设备数据缓冲,记录文件系统metadata(目录,权限,属性等);
  • cached: 用于文件内容的缓冲;
  • available:真正剩余的可被程序应用的内存数。
free  //显示内存
free -t  //以总和的形式显示全部内存的使用信息
free -h  //使用易读的人性化方式显示


1.4、kill命令:用于删除执行中的程序或工作

参数 -l 信号,列出全部的信号名称。一般使用 ps 命令可以查看进程号,然后使用 kill 命令进行相关操作。

ps -ef | grep firewalld  //查看 firewalld 的进程号,例如防火墙的进程返回1147
kill 1147  //停止进程1147
kill -9 1147  //强制彻底干掉进程
kill -l  //显示所有的信号,其中 参数 -9 代表的是SIGKILL


1.5、ps命令:用来查看当前运行的进程状态,英文为 process status

了解 ps 命令前,首先了解下 CentOS8 的五种进程状态:

  1. 运行(正在运行或在运行队列中等待);
  2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号);
  3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生);
  4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放);
  5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)。
ps -ef  //显示当前所有进程环境变量及进程间关系
ps -A  //显示当前所有进程
ps -ef | grep firewalld  //配合 grep 命令查找某个进程


1.6、rpm命令:用于管理套件

其中参数 -i 显示套件的相关信息,-v 显示指令执行过程,-h列出标记。

rpm -hvi xxx.noarch.rpm //安装软件包,并显示安装进度
rpm -Uvh xxx.noarch.rpm //升级软件包
rpm -qpl xxx.noarch.rpm //列出RPM软件包内的文件信息
rpm -Va xxx.noarch.rpm //校验所有的RPM软件包,查找丢失的文件
rpm -e xxx.noarch.rpm //删除包


1.7、top命令:显示当前系统正在执行的进程的相关信息,包括进程 ID、内存占用率、CPU 占用率等

其中常用的参数 -c 显示完整的进程命令。返回结果详细解析。

第一行,任务队列

  • 16:54:21 #当前系统时间;
  • up 9 days, 1:05, #系统已经连续运行了9天1小时5分钟;
  • 1 users #当前有1个用户登录系统;
  • load average: 0.00, 0.00, 0.00 #后面的三个数分别是1分钟、5分钟、15分钟的负载情况。load average 数据是每隔5秒钟检查一次活跃的进程数,如果这个数除逻辑CPU的数量后结果高于5的时候就表明系统在超负荷运转了。

第二行,进程信息

返回结果:Tasks: 203 total,  1 running, 202 sleeping,  0 stopped,  0 zombie。一共203个进程,其中处于运行中的有1个,202个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸进程)的有0个。


第三行,CPU信息

返回结果:%Cpu(s): 0.2 us, 0.2 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st。

  • us 用户空间占用CPU百分比;
  • sy 内核空间占用CPU百分比;
  • ni 用户进程空间内改变过优先级的进程占用CPU百分比;
  • id 空闲CPU百分比;
  • wa 等待输入输出的CPU时间百分比;
  • hi 硬件中断;
  • si 软件中断 ;
  • st: 实时。

第四行,内存信息

返回结果:MiB Mem :  3757.5 total,  2979.7 free,  286.4 used,  491.4 buff/cache。


第五行,交换分区

返回结果:MiB Swap:   0.0 total,   0.0 free,   0.0 used.  3180.1 avail Mem。


第六行,空行用于分割,第七行和以下行,进程状态

  • PR:进程优先级;
  • NI:负值表示高优先级,正值表示低优先级;
  • VIRT:Virtual memory usage 虚拟内存;
  • RES:Resident memory usage 常驻内存;
  • SHR:Shared memory 共享内存;
  • S : Process status 进程状态。 D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程;
  • %CPU:上次更新到现在的CPU时间占用百分比;
  •  %MEM:进程使用的物理内存百分比;
  • TIME+:进程使用的CPU时间总计,单位1/100秒;
  • COMMAN:进程名称(命令名/命令行)。


1.8、dnf命令:用于CentOS8发行版软件包的管理

dnf install xxx  //安装软件xxx
dnf update xxx  //升级软件xxx
dnf remove xxx  //卸载软件xxx


二、文件管理命令

2.1、cat命令:用于连接文件并打印到标准输出设备上

cat /try8/test.log  //示例,try8 为根目录下的文件夹,此处打印一个文件
cat > /try8/test.log  //示例,创建一个文件,不能编辑
cat -n /try8/test1.log /try8/test.log  //示例,合并多个文件,中间用空格隔开,例如将 test1.log 合并到 test.log 中,并自动添加行号


2.2、chmod命令:用于改变 linux 系统文件或目录的访问权限

chmod -R 777 /try8  //示例,为文件夹 try8 设置权限 777


2.3、chown命令:将指定文件的拥有者改为指定的用户或组

如果加上参数 -c 显示更改的部分信息,-R 递归子目录。

chown -cR test:test /try8


2.4、cp命令:将源文件复制至目标文件,或将多个源文件复制至目标目录

如果加上参数,-a 是递归拷贝, -i 系统提醒,下面展示复制到 data 文件夹。

cp -ai try8/test.log /data


2.5、find命令:于在文件树中查找文件,并作出相应的处理

格式为:find pathname -options [-name -print -exec -ok ...]。pathname 是 find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。-name 按照文件名查找文件。-exec 后面跟的是 command 命令,它的终止是以 ; 为结束标志,这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。{} 花括号代表前面 find 查找出来的文件名。

find ./ -name '*.log'  //在当前目录查找 以 .log 结尾的文件
find /try8 -perm 755  //查看 try8 目录下为 755 权限的文件
find ./ -type f -size +100M -exec ls -lh {} \; | awk '{ print $9 ":" $5 }';  //查找当前目录下大于100M的文件


2.6、head命令:用来显示输出档案的开头,默认 head 命令打印文件的前十行

格式为:head -n 行数,其中参数 -n 后面紧跟行数,如果行数为负数表示从最后向前数。

head /try8/test.log -n 10  //输出显示 test.log 文件的前十行
head -n -10 /try8/test.log  //输出显示 test.log 文件的后十行


2.7、tail命令:用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理,常用查看日志文件

参数 -f 循环读取,常用于查看递增的日志文件。

tail -f /try8/test.log


2.8、less命令:用来随意浏览文件,less在查看之前不会加载整个文件

切换多个文件时,先输入冒号等待命令,然后使用 n 键来查看下一个,使用 p 键查看前一个,按键 q 退出。

less /try8/test.log  //查看一个文件
less /try8/test.log test1.log  //查看多个文件


2.9、more命令:分页显示

方便使用者逐页阅读,最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,参数 +n 从笫 n 行开始显示。

more +2 /try8/test.log  //显示输出文件,从第二行开始


2.10、ln命令:是为了创建软件链接及硬链接

ln 功能是为文件在另外一个位置建立一个同步的链接,当在不同目录需要时,就不需要为每一个目录创建同样的文件,通过 ln 创建的链接(link)减少磁盘占用量。ln的链接又分软链接和硬链接两种,软链接格式为:ln –s 源文件 目标文件,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接格式为:ln 源文件 目标文件,没有参数 -s, 它会在你选定的位置上生成一个和源文件大小相同的文件,硬链接不支持给目录创建,无论是软链接还是硬链接,文件都保持同步变化,其中参数 -b 删除,覆盖以前建立的链接,参数 -v 显示操作信息。

#给文件创建软链接,新增的文件 test.link.log 相当于 windows 里面的快捷方式,并不会实际占用磁盘空间
ln -sv /try8/test.log /try8/test.link.log
ln -v /try8/test.log /try8/test.link.log  //给文件创建硬链接,并显示详细信息
ln -sv /try8/test /try8/test_link  //给目录创建软链接,并显示详细信息


2.11、mv命令:是移动文件或修改文件名

根据第二参数类型,如果是目录则移动文件,如果为文件则重命令该文件。

mv /try8/test.log /try8/test.txt  //将文件 test.log 重命名为 test.txt
mv /try8/test.log /try8/test.txt /try8/test  //将文件 test.log,test.txt 移动到 test 目录中
mv * ../  //移动当前文件夹下的所有文件到上一级目录


2.12、rm命令:删除一个目录中的一个或多个文件或目录

如果没有使用 -r 选项,则 rm 不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。

rm -i /try8/*.log  //删除所有以 .log结尾的文件,删除前系统会逐一询问确认该操作
rm -rf /try8/test  //直接删除 test 子目录及子目录中所有文件删除,不用挨个确认


2.13、 touch命令:用于修改文件或者目录的时间属性,包括存取时间和更改时间

若文件不存在,系统会建立一个新的空白文件。

touch /try8/test.log  //创建一个名为“file”的新的空白文件


2.14、whereis命令:只能用于程序名的搜索

参数 -b 只搜索二进制文件、参数 -m 只搜索man说明文件、参数 -s 搜索源代码文件,如果省略参数,则返回所有信息。

whereis locate  //查找 locate 程序相关文件
whereis -s locate  //查找 locate 的源码文件
whereis -m locate  //查找 lcoate 的帮助文件


2.15、which命令:用于查找文件

which 是在 PATH 指定的路径中,搜索系统命令的位置,并返回第一个搜索结果。使用 which 命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

which which //查看 which 命令本身


三、文档编辑命令

3.1、grep命令:是文本搜索命令

grep(Global Regular Expression Print) 全局正则表达式搜索。

ps -ef | grep firewalld  //查找指定的进程
ps -ef | grep firewalld -c  //查找指定进程个数
grep -E 'insert|update' /try8/test.log  //在 test.log 中显示包含 insert 或者 update 字符的内容行


3.2、wc命令:统计指定的文件中字节数、字数、行数,并将统计结果输出

格式为:wc [option] file..,参数 -c 统计字节数。

wc /try8/test.log  //查找文件的 行数 单词数 字节数 文件名


四、磁盘管理命令

4.1、cd命令:用于切换目录

cd /  //进入根目录
cd ~  //进入 home 目录
cd -  //进入上一个目录
cd cd !$  //把上个命令的参数作为cd参数使用


4.2、df命令:用于显示磁盘使用情况

-a 全部文件系统列表。

df -l  //显示磁盘使用
df -hT  //人性化显示


4.3、du命令:是对文件和目录磁盘使用的空间的查看

格式为:du [选项] [文件],其中参数 -a 显示目录中所有文件的大小。

du -h /try8  //以易读方式显示文件夹内及子文件夹大小
du -ah /try8  //以易读方式显示文件夹内及所有子文件夹大小
du -hc /data /try8  //显示几个文件或目录各自占用磁盘空间的大小,还统计它们的总和
du -hc --max-depth=1 /try8  //输出 try8 目录下各个子目录所使用的空间


4.4、 ls命令:list的缩写,查看 linux 文件夹包含的文件、文件权限、目录信息等

ls -a //列出目录所有文件,包含以.开始的隐藏文件
ls -lrS  //按大小反序显示文件详细信息
ls -lhrt  //按易读方式按时间反序排序,并显示文件详细信息
ls -l try8*  //列出当前目录中所有以 try8 开头的目录的详细内容


4.5、mkdir命令:用于创建文件夹

参数 -m::对新建目录设置存取权限。 -p: 可以是一个路径名称,此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不在的目录,即一次可以建立多个目录。

mkdir try8.cn  //在根目录下创建名为 try8.cn 的文件夹。
mkdir -p try8.cn/test  //在 try8.cn 目录下创建路径为 try8.cn/test/ 的目录,若不存在,则创建。


4.6、pwd命令:用于查看当前工作目录路径

pwd  //查看当前路径
pwd -P //查看软链接的实际路径


4.7、rmdir命令:从一个目录中删除一个或多个子目录项

不能删除非空目录,删除某目录时也必须具有对其父目录的写权限。

rmdir -p try8.cn/test  //try8.cn 子目录 test 被删除后使它也成为空目录的话,则一并删除


五、总结

本CentOS8教程,主要介绍CentOS8命令汇总、CentOS8常用命令。通过本章的学习,你应该能轻松在 CentOS8 下使用各种命令。本教程欢迎转载,转载请注明出处,谢谢。


本全栈教程系列《CentOS8教程》跟随软件版本更新不断完善,主打原创、全部免费,欢迎学习和转载,如有转载请注明出处:CentOS8命令汇总,谢谢支持。