Linux系统基础命令

系统管理命令

man 命令

man 命令用来查看指定命令的帮助信息。

其语法格式如下:

man [命令名称]

实例:用命令查看cd命令的帮助信息。

[root@test ~]# man cd

ls 命令

ls 命令用来显示指定目录下的内容,列出指定目录下所含的文件及子目录。此命令与Windows系统中的dir命令功能相似。

语法格式:

ls [选项] [目录或文件]

常用选项:

  • -a 显示指定目录下的所有文件及子目录,包含隐藏文件。
  • -A 显示指定目录下的(除“.”和“…”之外)所有文件及子目录。
  • -d 显示指定目录的属性信息。
  • -l 显示指定目录下的文件及子目录的详细信息。
  • -r 倒序显示指定目录下的文件及子目录。
  • -t 以时间顺序显示指定目录下的文件及子目录。

实例:

  1. 列出/root目录下的文件及子目录的详细信息。
    [root@test ~]# ls -l /root/
    
  2. 以时间顺序倒序显示/root目录下的文件及子目录,并显示其详细信息。
    [root@test ~]# ls -lrt /root/
    

type 命令

type 命令用来查询命令的类型。
语法格式:

type [命令名称]

实例:

  1. 查看cd命令的类型
    [root@test ~]# type cd
    
    屏幕返回:
    cd is a shell builtin 表示这个命令是内部命令。
  2. 查看date命令的类型。
    [root@test ~]# type date
    
    屏幕返回:
    date is /usr/bin/date 表示这个命令是外部命令。

date 命令

date 命令用来显示时间和修改时间。
语法格式:

date [选项] [+格式化]

常用选项:

  • -d [datestr] 显示datestr中设定的时间
  • -s [datestr] 将系统时间设置为datestr中设定的时间
  • -u 显示目前的格林威治时间

常用格式化格式:

  • +%D 仅显示 月/日/年。
  • +%d 仅显示 日。
  • +%y 仅显示 年。
  • +%Y 仅显示带一句话的年。
  • +%T 仅显示小时、分钟、秒。
  • +%F 仅显示 年-月-日。
  • +%S 仅显示 秒。
  • +%s 仅显示从1970年1月1日0点0分0秒 UTC开始到现在的秒。

实例:

  1. 在一段话中的查询年月日
    [root@test ~]# date +"Today is %y-%m-%d"
    
  2. 设置系统时间为制定的日期。
    [root@test ~]# date -s "2021-02-20 11:07:30"
    

clock 命令

clock 命令用来显示系统时间。
语法格式:

clock

hwclock 命令

clock 命令用来显示硬件时间。
语法格式:

hwclock [选项]

常用格式化格式:

  • -s 将硬件时间同步到系统时间。
  • -w 将系统时间同步到硬件时间。

clear 命令

clear 命令用来清屏。
语法格式:

clear

实例:

  1. 清屏
    [root@test ~]# clear
    

printenv 命令

printenv 命令用来查询系统环境。
语法格式:

printenv

实例:

  1. 查询当前系统环境,查看PATH等。
    [root@test ~]# printenv
    

hash 命令

hash 查看缓存。
语法格式:

hash

实例:

  1. 查询当前缓存。
    [root@test ~]# hash
    
    屏幕返回:
    两列数据,hits列表示该命令被运行了多少次,command表示命令的路径。

cd 命令

cd 命令用于切换目录。
语法格式:

cd [选项]

常用选项:

  • cd [目录名] 切换到指定目录下。
  • cd / 切换到根目录下。
  • cd … 切换到上级目录下,与**cd …/**功能相同。
  • cd ~ 切换到当前登陆用户的家目录下。
  • cd - 与上一个目录互相切换。

实例:

  1. 切换到/usr/local目录下。
    [root@test ~]# cd /usr/local/
    
  2. 切换到当前登录用户的家目录下。
    [root@test ~]# cd ~
    

useradd 命令

useradd 命令用于创建新的系统用户。

语法格式:

useradd [选项] 用户名

常用选项:

  • -d 指定用户的家目录,默认用户家目录为/home/用户名,root用户家目录为/root
  • -g 指定用户的所属组。
  • -M 不自动建立用户登陆的目录,默认的用户登陆目录是用户家目录。
  • -u 指定用户ID。

实例:

  1. 创建一个名为mingong的新用户。
    [root@test ~]# useradd mingong
    
    上面命令输出结果可以看出,创建新用户时,默认用户家目录为/home/用户名
  2. 创建一个名为mgg的新用户,并指定其家目录为/root/mgg,用户ID为 9999。
    [root@test ~]# useradd mgg -d /root/mgg -u 9999
    
  3. 输入以上命令后,可以立即使用命令tail -l /tec/passwd命令来检查是否添加成功。

passwd 命令

passwd 命令用于设置/修改用户密码。

语法格式:

passwd [用户名]

实例:

  1. 管理员用户修改普通用户的密码。
    [root@test ~]# passwd mingong
    
  2. 普通用户修改自己的密码。
    [mingong@test ~]# passwd
    

free 命令

free 命令用于查看系统内存状态,包括系统物理内存、虚拟内存、系统缓存。

语法格式:

free [选项]

常用选项:

  • -b 指定以字节为单位显示系统内存使用情况。
  • -m 指定以MB为单位显示系统内存使用情况。
  • -K 指定以KB为单位显示系统内存使用情况。
  • -h 以友好的格式输出结果,配合上述3个选项一同使用。
  • -s<间隔秒数> 持续观察内存使用状态。
  • -t 显示内存总和。
  • -V 显示版本信息。

实例:

  1. 以MB为单位显示当前系统内存的使用情况。
    [root@test ~]# free -m
    
  2. 以总和的形式显示当前系统内存的使用情况,默认单位为KB。
    [root@test ~]# free -t
    

whoami 命令

whoami 命令用于显示当前登录到系统的用户名。

语法格式:

whoami [选项]

常用选项:

  • –help 在线查看帮助信息。
  • –version 查看版本信息。

ps 命令

ps 命令用于显示当前进程的状态。

语法格式:

ps [选项]

常用选项:

  • a 显示所有用户的进程,并包含每个进程的完整路径。
  • -A 显示所有的进程。
  • -u 显示使用者的名称和起始时间,常与a选项配合使用。
  • -f 全格式详细输出进程信息。
  • -e 显示除系统内核以外的所有进程的信息。
  • PID 查看指定PID的进程信息。

ps命令的选项特别多,可以自行使用man ps命令查看其帮助信息。


实例:

  1. 查看系统所有进程信息
    [root@test ~]# ps -ef
    
    显示信息中的各部分含义:
    • UID: 使用此进程的用户ID。
    • PID: 进程的进程ID。
    • PPID: 进程的父进程ID。
    • C: 运行此进程CPU占用率。
    • STIME: 此进程开始运行时间。
    • TTY: 开启此进程的终端。
    • TIME: 此进程运行的总时间。
    • CMD: 正在执行的命令行。

date 命令

date 命令用于显示或修改系统时间与日期。

语法格式:

date [选项] 显示时间格式(以“+”开头,后面接时间格式参数)

常用选项:

  • -d STRING 显示STRING中指定的时间,而非系统时间。
  • -s STRING 将系统时间设置为STRING中指定的时间。

常用时间格式:

  • %H 显示小时,显示范围00~23。
  • %M 显示分钟,显示范围00~59。
  • %m 显示月份,显示范围01~12。
  • %S 显示秒钟(以“+”开头,后接时间格式),显示范围00~59。
  • %T 以hh:mm:ss格式显示时间。
  • %d 显示一个月的第几天。
  • %D 以mm/dd/yy显示年份和月份。
  • %Y/%y 显示年份,%Y显示完整的年份,%y显示年份后两位。

实例:

  1. 显示系统当前时间
    [root@test ~]# date
    
  2. 指定的格式显示时间和日期
    [root@test ~]# date '+Today is :%D, now is :%T'
    [root@test ~]# date +%Y
    
  3. 修改系统当前时间
    [root@test ~]# date -s 20200715
    
    注意:修改时间必须使用root账号!
  4. 显示当前时间5天前和5天后的时间
    [root@test ~]# date -d '5 day ago'
    [root@test ~]# date -d '+5 days'
    

pwd 命令

pwd 命令用于显示或打印当前工作目录。执行pwd命令后可知当前所在工作目录的绝对路径。

语法格式:

pwd [选项]

shutdown 命令

shutdown 命令用于对系统执行关机操作。

语法格式:

shutdown [选项]

常用选项:

  • -t<秒数> 推迟多少秒的时间。
  • -f 重新启动时不执行fsck命令。
  • -h 将系统关机。
  • -r 关机之后重新启动。

实例:

  1. 将系统立即关机。
    [root@test ~]# shutdown -h now
    

文件目录管理命令

touch 命令

touch 命令用于修改文件的时间属性,若文件不存在,系统会自动创建此文件,因此也可以使用touch命令来创建新空白文件,且此文件创建时间为当前系统时间。

语法格式:

touch [选项] 文件名

常用选项:

  • -a 修改文件的访问时间为系统当前时间。
  • -m 修改文件的修改时间为系统当前时间。
  • -d 将文件的修改时间修改为指定的时间。
  • -r<参考文件> 将文件的时间修改为参考文件的时间。

实例:

  1. 创建一个新的空白文件并查看其创建时间。
    [root@test ~]# touch newfile
    [root@test ~]# ls -l
    
  2. 修改文件的访问时间为系统当前时间。
    [root@test ~]# touch -a TestNewFile.txt
    [root@test ~]# ls -lu
    
  3. 修改文件的修改时间为系统当前时间。
    [root@test ~]# touch -m TestNewFile.txt
    [root@test ~]# ls -lu
    
  4. 修改文件的访问时间为参考文件时间。
    [yoni@localhost ~]$ touch -r /usr/lib64/yelp TestNewFile.txt
    [yoni@localhost ~]$ ls -lu
    

cat 命令

cat 命令用于查看文件内容,还可以合并文件,如果合并后的文件不存在,则自动创建。

语法格式:

cat [选项] 文件名
cat 文件a 文件b >文件c

常用选项:

  • -n 从1开始对文件所有输出的行数编号。
  • -b 从1开始对文件所有输出的行数编号,空白行不编号。
  • -s 当文件输出内容有连续两行以上的空白行时,替换成一行空白行。

实例:

  1. 查看文件TestNewFile.txt的内容并对所有输出行数编号。
    [yoni@localhost ~]$ cat -n TestNewFile.txt
    
  2. 将TestNewFile.txt文件的内容加上行号后输入文件TestFile01.txt。
    [yoni@localhost ~]$ cat -n TestNewFile.txt >TestFile01.txt
    
  3. 将TestNewFile.txt和TestFile01.txt文件合并到TestFile02.txt中。
    [yoni@localhost ~]$ cat TestNewFile.txt TestFile01.txt >TestFile02.txt
    

tac 命令

tac 命令与cat相同,仅文件显示相反,从最下面一行开始显示。

tail 命令

tail 命令用于查看文件尾部内容,默认查看10行。

语法格式:

tail [选项] 文件名

常用选项:

  • -n 后面可以跟数字,表示查看文件最后几行。
  • -f 当文件发生变化时,立即刷新显示文件,一般用来查看日志。

实例:

  1. 查看文件TestNewFile.txt的最后3行内容。
    [yoni@localhost ~]$ tail -n 3 TestNewFile.txt
    

mkdir 命令

mkdir 命令用于创建一个新目录

语法格式:

mkdir [选项] 目录名

常用选项:

  • -m 创建目录的同时设置目录的权限。
  • -p 递归创建目录。

实例:

  1. 在test目录下创建新目录file,同时设置文件属主有读写和执行的权限,属组有读写权限,其他人只有读权限。
    [yoni@localhost ~]$ mkdir -m 746 test/file
    
  2. 在test目录下创建testfile目录并在testfile目录下创建filetest目录。
    [yoni@localhost ~]$ mkdir -p test/testfile/filetest
    [yoni@localhost ~]$ tree test
    
  3. 在test目录下创建a_b,a_c,d_b,d_c四个目录
    [yoni@localhost ~]$ mkdir -p test/{a,d}_{b,c}
    

tree 命令

tree 命令用于以树状图列出目录的内容。

语法格式:

tree [选项] <范本样式> [目录]

常用选项:

  • -a 显示所有文件和目录。
  • -A 使用ASNI绘图字符显示树状图而非以ASCII字符组合。
  • -C 在文件和目录清单加上色彩,便于区分各种类型。
  • -d 显示目录名称而非内容。
  • -D 列出文件或目录的更改时间。
  • -f 在每个文件或目录之前,显示完整的相对路径名称。
  • -F 在执行文件,目录,Socket,符号连接,管道名称名称,各自加上"*","/","=","@","|"号。
  • -g 列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。
  • -i 不以阶梯状列出文件或目录名称。
  • -L level 限制目录显示层级。
  • -l 如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录。
  • -n 不在文件和目录清单加上色彩。
  • -N 直接列出文件和目录名称,包括控制字符。
  • -p 列出权限标示。
  • -P <范本样式> 只显示符合范本样式的文件或目录名称。
  • -q 用"?"号取代控制字符,列出文件和目录名称。
  • -s 列出文件或目录大小。
  • -t 用文件和目录的更改时间排序。
  • -u 列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码。
  • -x 将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该子目录予以排除在寻找范围外。

实例:

  1. 以树状图列出当前目录结构。
    [yoni@localhost ~]$ tree
    

rm 命令

rm 命令用于删除文件或目录。


注意:一旦文件或目录被删除,就无法再恢复了。
如果删除文件夹,还可以使用rmdir命令


语法格式:

rm [选项] 文件或目录

常用选项:

  • -i 删除文件或目录之前进行确认
  • -f 强制删除文件或目录,不进行确认
  • -r 递归方式删除目录及其子目录
  • -v 显示命令执行的详细过程

实例:

  1. 删除文件test.txt和文件test1.txt,并再删除前进行确认。
    [yoni@localhost ~]$ rm -i test.txt test1.txt
    
  2. 删除/test目录下的所有目录,在删除前不进行确认。
    [yoni@localhost ~]$ rm -rf /test/
    

cp 命令

cp 命令用于复制,它可以将单个文件复制成一个指定文件名的文件或将其复制到一个存在的目录下,还可以同时复制多个文件或目录。

语法格式:

cp [选项] [文件名或目录名]
cp [选项] 源文件或目录 目标文件或目录

常用选项:

  • -a 复制目录时使用,保留其所有信息,包括文件链接、文件属性,并可递归复制目录。
  • -f 强制复制文件或目录,无论目标文件或目录是否存在
  • -i 覆盖文件之前进行确认
  • -p 保留源文件或目录的属性
  • -r/-R 递归复制,将指定目录下所有文件与子目录一同复制

实例:

  1. 将但钱目录下的file文件复制到test/file2/目录,并改名为filetest
    [yoni@localhost ~]$ cp file test/file2/filetest
    
  2. test目录下所有文件及其子目录复制到backup目录下。
    [yoni@localhost ~]$ cp -r test backup/
    

mv 命令

mv 命令用于将文件或目录由一个目录移动到另外一个目录中。如果源为文件,而目标为目录,那么 mv 命令将移动文件。如果源为目录,则目标只能是目录,mv将重命名目录。

语法格式:

mv [选项] 源文件或目录 目录文件或目录

常用选项:

  • -f 若目标文件或目录与需要移动的文件或目录重复,则直接覆盖
  • -b 若目标文件存在,则覆盖前为其创建一个备份
  • -i 覆盖文件之前进行确认

实例:

  1. test改名为testfile
    [yoni@localhost ~]$ mv test testfile
    
  2. backup目录下所有文件及其子目录复制到test目录下。
    [yoni@localhost ~]$ mv -f backup/* test/
    

file 命令

file 命令用于检测并显示文件类型。

语法格式:

fife [选项] 文件名

常用选项:

  • -b 列出辨识结果时,不显示文件名称。
  • -c 详细显示指令执行过程,便于排错或分析程序执行的情形。
  • -f <文件名> 指定名称文件,其内容有一个或多个文件名称呢感,让file依序辨识这些文件,格式为每列一个文件名称。
  • -L 直接显示符号连接所指向的文件的类别。
  • -m <魔法数字文件> 指定魔法数字文件。
  • -v 显示版本信息。
  • -z 尝试去解读压缩文件的内容。

实例:

  1. 显示文件类型,普通显示、不显示文件名、显示MIME类别。
    [yoni@localhost ~]$ file embeddedlinux.org.cn
    [yoni@localhost ~]$ file -b embeddedlinux.org.cn
    [yoni@localhost ~]$ file -i embeddedlinux.org.cn
    

find 命令

find 命令用于查找指定目录下的文件。

语法格式:

find [目录路径] [选项] 文件名

常用选项:

  • -name<字符串> 查找文件名匹配指定字符串的文件
  • -type<文件类型> 查找指定文件类型的文件
  • -mtime<+d/-d> 按照时间查找文件,+d表示d天之前,-d表示今天到第d之前的时间
  • -size 在指定目录下按大小查找文件
  • -depth 从指定目录的最深的子目录下开始查找
  • -maxdepth 从指定目录的最大第n级子目录开始查找
  • -uid 查找匹配指定UID的文件或目录
  • -empty 查找大小为0的文件

实例:

  1. 查找test目录下以t开头的文件和目录。
    [yoni@localhost ~]$ find test -name "t*" -type f
    [yoni@localhost ~]$ find test -name "t*" -type d
    
  2. 查找test目录下30天前、大小为1KB的文件。
    [yoni@localhost ~]$ find test -mtime +30 -size 1k -type f
    
  3. 查找test目录下大小为0的文件,并将其全部移动到/tmp目录下。
    [yoni@localhost ~]$ find test -empty -type f -exec mv {} /tmp/\;
    

    ??????

文件压缩与解压命令

tar命令

tar 命令用于对文件或目录创建归档。

语法格式:

tar [选项] 文件名或目录名

常用选项:

  • -c 创建归档文件
  • -C 此选项在解压缩时使用,将文件解压至指定目录
  • -f<文件名> 指定归档文件
  • -v 显示命令执行的详细过程
  • -t 列出归档文件里的内容
  • -z 通过gzip指令处理归档文档
  • -x 从归档文件中将文件解压出来
  • -p 保持原来文件的属性信息
  • –exclude=<文件名> 将符合的文件排除

实例:

  1. test.txt文件打包成tar包。
    [yoni@localhost ~]$ tar -cf test.tar test.txt
    
  2. test.txt文件打包成tar包,然后以gzip方式进行压缩。
    [yoni@localhost ~]$ tar -zcf test.tar.gz test.txt
    
  3. 列出压缩文件test.tar.gz中有哪些文件。
    [yoni@localhost ~]$ tar -ztf test.tar.gz
    

zip命令

zip 命令用于解压缩文件或者对文件进行打包操作。

语法格式:

zip [选项] 文件名

常用选项:

  • -b<目录名> 指定存放文件的目录
  • -d 从压缩文件删除指定的文件
  • -o 将枷锁文件的更改时间设置成与压缩文件内最新更改文件的时间相同
  • -x<文件名> 压缩时排除符合条件的文件
  • -t<日期时间> 将压缩文件日期设置成指定的日期

实例:

  1. 将当前目录下所有文件打包成test.zip包。
    [yoni@localhost ~]$ zip test.zip ./*
    

unzip命令

unzip 命令用于解压缩由zip命令压缩的压缩包。

语法格式:

unzip [选项] 文件名

常用选项:

  • -l 显示压缩包内所包含的文件
  • -t 检查压缩文件是否正确
  • -o 解压时直接覆盖原有的文件
  • -n 解压时不覆盖原有的文件
  • -d<目录> 将压缩文件解压至指定目录下

实例:

  1. 查看test.zip中所有文件,并检查压缩文件是否正确。
    [yoni@localhost ~]$ unzip -lt test.zip
    
  2. test.zip压缩文件解压至opt目录下。
    [yoni@localhost ~]$ unzip test.zip -d opt/
    

磁盘管理命令

df命令

df 命令用于查看系统磁盘空间的使用情况,默认单位为KB。

语法格式:

df [选项]

常用选项:

  • -h 以可以读的格式输出磁盘分区使用情况
  • -k 以KB为单位输出磁盘分区使用情况
  • -m 以MB为单位输出磁盘分区使用情况
  • -i 显示磁盘分区文件系统的inode信息
  • -T 显示磁盘分区文件系统的类型

实例:

  1. 查看当前系统磁盘分区使用情况,以MB为单位且以可读的格式输出。
    [yoni@localhost ~]$ df -hm
    
  2. 显示当前系统磁盘分区文件系统的类型及其inode信息。
    [yoni@localhost ~]$ df -iT
    

du命令

du 命令用于显示文件或目录占用磁盘空间情况。

语法格式:

du [选项] 文件名或目录名

常用选项:

  • -h 以可读的格式输出文件或目录大小
  • -b 以字节为单位输出文件或目录大小
  • -m 以MB为单位输出文件或目录大小
  • -s 显示文件或整个目录的大小,单位为KB
  • –exclude=<文件名或目录名> 忽略指定的文件或目录

实例:

  1. 显示系统根目录的总大小,忽略/usr目录。
    [yoni@localhost ~]$ du -sh / --exclude=/usr
    

fdisk命令

fdisk 命令用于对系统磁盘进行分区创建与维护。

语法格式:

fdisk [选项] [磁盘名称]

常用选项:

  • -l 用于列出所有分区表信息

菜单操作说明

  • m:显示菜单和帮助信息
  • d:删除分区
  • n:创建分区
  • p:打印分区表信息
  • q:退出不保存
  • w:保存修改

实例:

  1. 显示当前系统的磁盘分区表信息。
    [yoni@localhost ~]$ fdisk -l
    

mount命令

mount 命令用于挂载文件系统到指定的挂载点。

语法格式:

mount [选项] 文件系统 挂载点

实例:

  1. /dev/cdrom挂载到/mnt/cdrom
    [yoni@localhost ~]$ mount -t auto /dev/cdrom /mnt/cdrom
    

网络管理命令

ping命令

ping 命令用于测试主机之间网络的连通性。


此命令使用ICMP协议,向测试的目标主机发出要求回应的信息,若与目标主机之间网络通畅,则会收到回应信息,从而能够判断该目标主机运行正常。


语法格式:

ping [选项] 目标主机名或IP地址

常用选项:

  • -c<完成次数> 设置要求目标主机回应的次数
  • -i<间隔秒数> 指定收发信息的时间间隔
  • -s<数据包大小> 指定发送数据的大小
  • -t<TTL值大小> 设置TTL值的大小
  • -v 显示命令执行的过程信息

实例:

  1. 检查本机与www.baidu.com之间的连通性。
    [yoni@localhost ~]$ ping www.baidu.com
    

wget命令

wget 命令用于从网络上下载指定的软件。

语法格式:

wget 软件的网址

实例:

  1. 从阿里云镜像网站下载CentOS7的Yum源文件。
    [yoni@localhost ~]$ wget http://mirrors.aliyun.com/repo/Centos-7.repo
    

telnet命令

telnet 命令用于通过telnet协议来登陆远程主机,还可以用于查看与远程主机端口之间的通信情况。

语法格式:

telnet [远程主机名或IP地址] [远程主机端口]

实例:

  1. 通过telnet命令测试与IP地址为192.168.1.254的目标主机22端口之间的通信情况。
    [yoni@localhost ~]$ telnet 192.168.1.254 22
    

netstat命令

netstat 命令用于显示Linux中的网络系统状态信息。

语法格式:

netstat [选项]

常用选项:

  • -a 显示所有网络连接和监听端口
  • -l 只显示状态为“LISTEN”的网络连接
  • -n 以IP地址的形式显示
  • -t 显示所有TCP协议的连接信息
  • -u 显示所有UDP协议的连接信息
  • -p 显示连接对应的PID与程序名称
  • -r 显示系统路由表信息

实例:

  1. 显示所有TCP协议且连接状态为“LISTEN”的连接信息。
    [yoni@localhost ~]$ netstat -lt
    
  2. 显示系统当前处于连接状态的所有连接信息。
    [yoni@localhost ~]$ netstat -atunp
    
  3. 查看当前系统的路由表信息。
    [yoni@localhost ~]$ netstat -rn
    

curl命令

curl 命令是一个利用URL规则再命令行下工作的文件传输工具。

语法格式:

curl [选项] [URL]

常用选项:

  • -l 只显示响应报文的头部信息
  • -H 自定义头部信息传递给服务器
  • -G 以GET方式发送数据
  • -o 把输出信息写入文件中
  • -O 把输出信息写入文件中,且保留远端文件的文件名
  • -X 指定用什么命令

实例:

  1. 显示URLwww.baidu.com的头部信息。
    [yoni@localhost ~]$ curl -l http://www.baidu.com
    
  2. 分别指定执行PUT、POST、GET、DELETE命令操作
    [yoni@localhost ~]$ curl -x PUT http://www.baidu.com
    [yoni@localhost ~]$ curl -x POST http://www.baidu.com
    [yoni@localhost ~]$ curl -x GET http://www.baidu.com
    [yoni@localhost ~]$ curl -x DELETE http://www.baidu.com
    

ss命令

curl 命令是socket statistics的缩写。ss 命令可以用来获取socket统计信息,它可以显示与netstat命令类似的内容。ss 命令的优势在于它能够显示更多、更详细的有关TCP和连接状态的信息,而且比netstat命令更快速、高效。

语法格式:

ss [选项]

常用选项:

  • -n 不解析服务名称
  • -r 解析主机名
  • -l 显示监听状态套接字
  • -a 显示所有的套接字信息
  • -O 显示计时器信息
  • -e 显示套接字详细的内存使用情况
  • -p 显示使用套接字的进程
  • -i 显示TCP内部信息
  • -s 显示套接字使用情况
  • -4 只显示IPv4的套接字
  • -t 只显示TCP套接字
  • -u 只显示UDP套接字
  • -d 只显示DCCP套接字
  • -F 使用此选项指定的过滤规则文件,过滤某种状态的连接

实例:

  1. 显示TCP连接。
    [yoni@localhost ~]$ ss -ta
    
  2. 显示套接字的使用情况
    [yoni@localhost ~]$ ss -s
    

系统性能管理命令

uptime命令

uptime 命令用于打印或显示系统总共运行时长和系统的平均负载。


uptime 命令显示信息一次为现在时间,系统已运行时间,目前登陆用户数,系统最近1分钟、5分钟、15分钟内的平均负载。


语法格式:

uptime [选项]

常用选项:

  • -V 显示版本信息

实例:

  1. 查看当前系统负载信息
    [yoni@localhost ~]$ uptime
    

top命令

top 命令用于实时动态查看系统整体运行情况,是一个多方位监测系统新能的使用工具。

语法格式:

top [选项]

常用选项:

  • -d 指定刷新间隔时间
  • -u<用户名> 指定用户名
  • -i<时间> 设置时间间隔
  • -p<进程号> 指定进程
  • -n<次数> 指定循环显示的次数

在执行top命令的过程中,还可以使用一些交互式的命令。

  • h 显示帮助信息
  • k 终止或杀死一个进程
  • l 切换显示平均负载和启动时间信息
  • q 退出
  • m 切换显示内存信息
  • t 切换显示进程和CPU状态信息
  • P 根据CPU使用百分比大小排序
  • T 根据时间/累计时间排序

实例:

  1. 执行top命令,显示系统当前状态信息。
    [yoni@localhost ~]$ top
    

显示结果:

  • Top显示内容等同于命令uptime的结果。
  • Tasks显示的进程相关内容,total总进程数,running正在运行的进程数,sleeping休眠的进程数,topped停止的进程数,zombie冻结的进程数。
  • %Cpu(s)显示的CPU相关信息,us用户占用CPU百分比,sy内核空间占用CPU百分比,ni用户进程空间内改变过优先级的进程占用CPU百分比,id空闲CPU百分比,wa等待输入/输出的CPU百分比,hi处理硬件中断的CPU百分比,si处理软件中断的CPU百分比,st虚拟机被hypervisor偷取的CPU百分比。
  • KiB Mem显示的内存相关信息,total物理内存总量,free未使用的物理内存总量,used使用的物理内存总量,buff/cache缓存的内存总量。
  • kiB Swap显示交换分区相关信息,total交换分区总量,free空闲交换分区总量,used使用的交换分区总量,avail Mem系统可用内存总量。

iostat命令

iostat 命令用于监控系统输入/输出设备和CPU的使用情况。


CentOS 8.1里没有iostat,所以需要安装iostat。iostat不能直接安装,需要安装sysstat。

[root@localhost ~]# yum install sysstat

语法格式:

iostat [选项]

常用选项:

  • -c 仅显示cpu的使用情况
  • -d 仅显示设备使用频率
  • -m 以兆字节每秒为单位显示
  • -p 仅显示块设备和所有被使用的其他分区的信息
  • -x 显示详细信息

实例:

  1. 仅显示当前系统CPU的使用情况。
    [yoni@localhost ~]$ iostat -c
    
  2. 显示/dev/sda1磁盘I/O的详细信息。
    [yoni@localhost ~]$ iostat -x /dev/sda1
    

    • 第一行是系统版本、主机名与监测时间信息。
    • 第二行和第三行是CPU的使用情况。
    • 第四行和第五行是磁盘I/O相关的信息。
      • rrqm/s 每秒需要读取请求的数量
      • wrqm/s 每秒需要写入请求的数量
      • r/s 每秒实际读取请求的数量
      • w/s 每秒实际写入请求的数量
      • rKB/s 每秒实际读取的大小,单位为KB
      • wKB/s 每秒实际写入的大小,单位为KB
      • avgrq-sz 请求的平均大小
      • Avgqu-sz 请求的平均列队长度
      • await 等待I/O的平均时间
      • svctm I/O请求完成的平均时间
      • %util 被I/O请求消耗的CPU百分比

  3. 显示当前系统设备的使用率情况。
    [yoni@localhost ~]$ iostat -d
    

    • Device 系统设备名称
    • tps 对应设备每秒的传输次数
    • kB_read/s 每秒从对应设备读取的数据量
    • kB_wrtn/s 每秒向对应设备写入的数据量
    • kB_read 读取的总数据量
    • kB_wrtn 写入的总数据量

ifstat命令

ifstat 命令用于监测网络接口的状态。

语法格式:

ifstat [选项]

常用选项:

  • -a 监测能检测到的所有网络接口状态
  • -i 指定需要监测的网络接口
  • -t 在每一行开头显示时间戳
  • -T 显示所有监测的网络接口的全部带宽
  • -h 显示帮助信息

实例:

  1. 监测系统所有网络接口的状态。
    [yoni@localhost ~]$ ifstat -a
    

lsof命令

lsof 命令用于查看进程打开的文件或文件打开的进程,也可用于查看端口是否为打开状态。


lsof 命令是系统核心命令,只有root用户才能执行。


语法格式:

losf [选项]

常用选项:

  • -c<进程名> 列出指定进程名打开的文件
  • -g 列出GID号进程的详细信息
  • -i<条件> 列出符合条件的进程
  • -u 列出UID号进程的详细信息
  • -p<进程号> 列出指定进程号所打开的文件

实例:

  1. lsof命令直接显示信息,仅显示10行。
    [yoni@localhost ~]$ lsof |head -10
    

    • COMMAND 进程的名称
    • PID 进程标识符
    • USER 进程的所有者
    • FD 文件描述符
    • TYPE 文件类型
    • DEVICE 磁盘设备名称
    • SIZE/OFF 文件大小
    • NODE 索引节点
    • TID 线程标识符

time命令

time 命令用于统计执行指定指令所花费的总时间。

语法格式:

time [选项] 命令名

常用选项:

  • -f 格式化时间输出
  • -a 将显示信息追加到文件
  • -o 将显示信息写入文件中

实例:

  1. 显示iostat命令执行所需的总时间。
    [yoni@localhost ~]$ time iostat
    

    前面几行信息是iostat显示的。
    • real 命令从开始执行到结束的时间。
    • user 进程花费在用户模式中的CPU时间,也是真正用于执行进程所花费的时间。
    • sys 花费在内核模式中的CPU时间。

软件包管理命令

yum命令

yum 命令是基于RPM的软件包管理器,它能够从指定的服务器自动下载RPM包并且安装,还可以自动处理软件之间的所有依赖关系,且能一次安装所有依赖的软件包。

语法格式:

yum [选项] [参数] 软件名

常用选项:

  • -y 对所有安装过程中的提示都回复“yes”确认
  • -c 指定配置文件
  • -C 从缓存中运行,而不是去下载或更新任何文件
  • -v 详细模式
  • -q 静默模式

常用参数:

  • install 安装rpm软件包
  • update 更新rpm软件包
  • check-update 检查是否有可用的更新rpm软件包
  • remove 删除指定的rpm软件包
  • list 列出软件包的信息
  • clean 清除yum过期的缓存
  • info 显示指定rpm软件包的详细信息
  • localinstall 安装本地的rpm软件包
  • search 检查rpm软件包的信息

实例:

  1. 安装telnettreelrzsz这三个服务。
    [root@localhost ~]# yum install telnet tree lrzsz -y
    
  2. 显示指定软件包的详细信息。
    [root@localhost ~]# yum info zlib-devel.x86_64
    

rpm命令

rpm 命令是rpm软件包的管理工具

语法格式:

rpm [选项] 软件包名

常用选项:

  • -a 查询所有软件包
  • -i 显示软件包相关信息
  • -h 安装时列出标记
  • -v 显示命令执行过程
  • -q 使用查询模式

实例:

  1. 安装指定软件安装包。
    [root@localhost ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值