AnolisOS 8 命令汇总

发布时间 2024-01-06 10:14:13作者: ArongH

一、系统管理命令

1.1、systemctl命令:用于向系统发出查询或者管理命令。
systemctl list-unit-files  //通过如下命令查看我们可管理的服务列表

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

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  //显示今天的日期
[root@anolis8 data]# date +%Y%m%d
20221004
date +%Y%m%d --date="+1 day"  //显示明天的日期
[root@anolis8 data]# date +%Y%m%d --date="+1 day"
20221005
date -d "nov 22"  //-d 参数使用 显示当前年份的 11月22日
[root@anolis8 data]# date -d "nov 22"
2022年 11月 22日 星期二 00:00:00 CST
1.3、free命令:用于显示系统内存使用情况,包括物理内存、交互区内存(swap)和内核缓冲区内存

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

[root@anolis8 ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:          3.6Gi       203Mi       3.0Gi       8.0Mi       465Mi       3.2Gi
Swap:         3.9Gi          0B       3.9Gi

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 命令前,首先了解下 AnolisOS 8 的五种进程状态:

运行(正在运行或在运行队列中等待);
中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号);
不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生);
僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放);
停止(进程收到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 显示完整的进程命令。返回结果详细解析。

[root@anolis8 ~]# top
top - 17:34:31 up 2 days, 23:44,  1 user,  load average: 0.00, 0.00, 0.00
Tasks: 213 total,   1 running, 212 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.1 us,  0.1 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.1 hi,  0.1 si,  0.0 st
MiB Mem :   3736.3 total,   3066.0 free,    204.3 used,    466.1 buff/cache
MiB Swap:   4044.0 total,   4044.0 free,      0.0 used.   3301.9 avail Mem 

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                                                             
    998 root      20   0  278960  13616   9664 S   0.3   0.4   3:31.19 vmtoolsd                                                                                            
   5397 root      20   0   65764   4932   4020 R   0.3   0.1   0:00.04 top                                                                                                 
      1 root      20   0  251620  12040   8756 S   0.0   0.3   0:05.89 systemd                                                                                             
      2 root      20   0       0      0      0 S   0.0   0.0   0:00.23 kthreadd                                                                                            
      3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp                                                                                              
      4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_par_gp                                                                                          
      6 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/0:0H-events_highpri                                                                         
      9 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 mm_percpu_wq              

第一行,任务队列

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

返回结果:

Tasks: 213 total,   1 running, 212 sleeping,   0 stopped,   0 zombie

一共213个进程,其中处于运行中的有1个,212个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸进程)的有0个。

第三行,CPU信息

返回结果:

%Cpu(s):  0.1 us,  0.1 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.1 hi,  0.1 si,  0.0 st。

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

返回结果:

MiB Mem :   3736.3 total,   3066.0 free,    204.3 used,    466.1 buff/cache

第五行,交换分区

返回结果:

MiB Swap:   4044.0 total,   4044.0 free,      0.0 used.   3301.9 avail Mem 

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

 PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                                                             
998  root      20   0    278960  13616  9664 S  0.3  0.4      3:31.19 vmtoolsd     
                 
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 被删除后使它也成为空目录的话,则一并删除


作者:前浪浪奔浪流
链接:https://www.jianshu.com/p/2ce8c8e8d374
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。