Linux的命令


常用命令

ls命令

  显示目录中的文件及其属性信息,默认不添加任何参数时会列出当前工作目录中的文件信息,常与cd或pwd搭配使用

  语法格式:ls 参数 文件名

  常用参数:

参数 说明 参数 说明
-a 显示所有文件及目录 -r 依据首字母将文件以相反次序显示
-A 不显示当前目录和父目录 -R 递归显示所有子文件
-d 显示目录自身的属性信息 -S 依据内容大小将文件排序显示
-i 显示文件的inode属性信息 -t 依据最后修改时间将文件排序显示
-l 显示文件的详细属性信息 -X 依据扩展名将文件排序显示
-m 以逗号为间隔符,水平显示文件信息 -color 以彩色显示信息

  使用示例:

1.显示当前目录中的文件名(默认不包含隐藏文件)
[root@vm ~]# ls
grep.log  sed.log  server

2.显示当前目录中的文件名(含隐藏文件)
[root@vm ~]# ls -a
.  ..  .bash_history  .bash_logout  .bash_profile  .bashrc  .cshrc  .ctimage  grep.log  .pki  sed.log  server  .ssh  .tcshrc  .viminfo  .viminfo.tmp

3.以详细信息模式输出文件名及其属性信息
[root@vm ~]# ls -l
total 12
-rw-r--r-- 1 root root   17 Jan  9  2025 grep.log
-rw-r--r-- 1 root root   17 Jan  9  2025 sed.log
drwxr-xr-x 2 root root 4096 Apr  3 21:08 server

4.显示指定目录中的文件列表
[root@vm ~]# ls /etc
acpi               crypttab                 gcrypt            kdump-adv-conf  my.cnf          profile.d         sasl2            system-release
adjtime            csh.cshrc                gnupg             kdump.conf      netconfig       protocols         securetty        system-release-cpe
aliases            csh.login                group             krb5.conf       NetworkManager  rc                security         terminfo
......

5.显示当前目录中的文件名及inode属性信息
[root@vm ~]# ls -i
2490381 grep.log  2490382 sed.log  2490383 server

6.结合通配符一起使用,显示指定目录中所有以vd开头的文件列表
[root@vm ~]# ls /dev/vd*
/dev/vda  /dev/vda1

7.依据文件内容大小进行排序,显示指定目录中文件名及其属性详细信息
[root@vm ~]# ls -Sl /etc
total 1252
-rw-r--r--.  1 root root   692252 Jun 23  2020 services
-rw-r--r--.  1 root root    67454 Apr 22  2020 mime.types
-rw-r--r--.  1 root root    32539 May 27 09:42 ld.so.cache
-rw-r--r--.  1 root root    10373 Dec 11  2024 nanorc
......

cp命令

  复制文件或目录,cp命令能将一个或多个文件或目录复制到指定位置,常用于文件的备份

  语法格式: cp 参数 源文件名 目标文件名

  常用参数:

参数 说明 参数 说明
-a 功能等价于pdr参数组合 -l 对源文件建立硬链接,而非复制文件
-b 覆盖目标文件前先进行备份 -p 保留源文件或目录的所有属性信息
-d 复制链接文件时,将目标文件也建立为链接文件 -r 递归复制所有子文件
-f 若目标文件已存在,则会直接覆盖 -a 对源文件建立软链接,而非复制文件
-i 若目标文件已存在,则会询问是否覆盖 -v 显示执行过程详细信息

  使用示例:

1.复制指定的源文件,并定义新文件的名称
[root@vm ~]# cp File1.cfg File2.cfg

2.复制指定的源目录,并定义新目录的名称
[root@vm ~]# cp -r Dir1 Dir2

3.复制文件时,保留其原始权限及用户归属信息
[root@vm ~]# cp -a File1.cfg File3.cfg

4.将指定文件复制到/etc目录,并覆盖已有文件,不进行询问
[root@vm ~]# cp -a File1.cfg /etc

5.将多个文件一同复制到/etc目录,如已有目标文件名称则默认询问是否覆盖
[root@vm ~]# cp File1.cfg File2.cfg /etc
cp: overwrite '/etc/File1.cfg'? y

grep命令

  强大的文本搜索工具

  grep命令是标准的搜索命令,egrep是扩展搜索命令,等价于grep -E命令,支持扩展的正则表达式。fgrep是快速搜索命令,等价于grep -F命令,不支持正则表达式

  语法格式: grep 参数 文件名

  常用参数:

参数 说明 参数 说明
-b 显示匹配行距文件头部的偏移量 -o 显示匹配词距文件头部的偏移量
-c 只显示匹配的行数 -q 静默执行模式
-E 支持扩展正则表达式 -r 递归搜索模式
-F 匹配固定字符串的内容 -s 不显示没有匹配文本的错误信息
-h 搜索多文件时不显示文件名 -v 显示不包含匹配文本的所有行
-i 忽略关键词大小写 -w 精确匹配整词
-l 只显示符合匹配条件的文件名 -x 精确匹配整行
-n 显示所有匹配行及行号

  使用示例:

1.搜索指定文件中包含某个关键词的内容行
[root@vm ~]# grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin

2.搜索指定文件中以某个关键词开头的内容行
[root@vm ~]# grep ^root /etc/passwd
root:x:0:0:root:/root:/bin/bash

3.搜索多个文件中包含某个关键词的内容行
[root@vm ~]# grep root /etc/passwd /etc/shadow
/etc/passwd:root:x:0:0:root:/root:/bin/bash
/etc/passwd:operator:x:11:0:operator:/root:/sbin/nologin
/etc/shadow:root:$6$rounds=100000$cL5rTx/.BryblOrx$pkvsA.Xajd3T36sPwbQPEKyUypL/hm1Z3rIOzWYnyoEluSMqn8S69vGQjMVRmwoFqN7J.MPNz4yT4V7mP711B.:20242:0:99999:7:::

4.搜索多个文件中包含某个关键词的内容,不显示文件名称
[root@vm ~]# grep -h root /etc/passwd /etc/shadow
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
root:$6$rounds=100000$cL5rTx/.BryblOrx$pkvsA.Xajd3T36sPwbQPEKyUypL/hm1Z3rIOzWYnyoEluSMqn8S69vGQjMVRmwoFqN7J.MPNz4yT4V7mP711B.:20242:0:99999:7:::

5.显示指定文件中包含某个关键词的行数量
[root@vm ~]# grep -c root /etc/passwd /etc/shadow
/etc/passwd:2
/etc/shadow:1

6.搜索指定文件中包含某个关键词位置的行号及内容行
[root@vm ~]# grep -n root /etc/passwd /etc/shadow
/etc/passwd:1:root:x:0:0:root:/root:/bin/bash
/etc/passwd:10:operator:x:11:0:operator:/root:/sbin/nologin
/etc/shadow:1:root:$6$rounds=100000$cL5rTx/.BryblOrx$pkvsA.Xajd3T36sPwbQPEKyUypL/hm1Z3rIOzWYnyoEluSMqn8S69vGQjMVRmwoFqN7J.MPNz4yT4V7mP711B.:20242:0:99999:7:::

7.搜索指定文件中不包含某个关键词的内容行
[root@vm ~]# 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
luoyu:x:1000:1000:luoyu:/home/luoyu:/bin/bash

8.搜索当前工作目录中包含某个关键词内容的文件,未找到则提示
[root@vm ~]# grep -i root *
anaconda-ks.cfg:# Root password
anaconda-ks.cfg:rootpw --iscrypted --lock --allow-ssh $6$7rflusN/.3BPQNru$3x8fCD7FTyk6.sSoFs28D0tXDMUgiv/usk14Ys8wuW46vBp95kfoOeSaMVhoHpj4KZeoCiCJ.iG6oPSjcAzM2/
grep: Dir1: Is a directory
grep: Dir2: Is a directory

9.搜索当前工作目录中包含某个关键词内容的文件,未找到也不提示
[root@vm ~]# grep -sl root *
anaconda-ks.cfg   

sed命令

  批量编辑文本文件,利用语法/脚本对文本文件进行批量的编辑操作,能够通过正则表达式对文件进行批量编辑

  语法格式: sed 参数 文件名

  常用参数:

参数 说明 参数 说明
-e 使用指定脚本处理输入的文本文件 -n 仅显示脚本处理后的结果
-f 使用指定脚本文件处理输入的文本文件 -r 支持扩展正则表达式
-h 显示帮助信息 -V 显示版本信息
-i 直接修改文件内容,而不输出到终端

  使用示例:

1.查找指定文件中带有某个关键词的行
[root@vm ~]# cat -n File.cfg | sed -n '/root/p'
       
2.将指定文件中某个关键词替换成大写形式
[root@vm ~]# sed 's/root/ROOT/g' File.cfg

3.读取指定文件,删除所有带有某个关键词的行
[root@vm ~]# sed '/root/d' File.cfg

4.读取指定文件,在第4行后插入一行新内容
[root@vm ~]# sed -e 4a\NewLine File.cfg

5.读取指定文件,在第4行后插入多行新内容
[root@vm ~]# cat File.cfg | sed -e '4a\NewLine1\nNewLine2\nNewLine3'

6.读取指定文件,删除第2-5行的内容
[root@vm ~]# cat -n /etc/passwd | sed '2,5d'

7.读取指定文件,替换第2-5行的内容
[root@vm ~]# sed '2,5c NewSentence' /etc/passwd

8.读取指定文件的第3-7行
[root@vm ~]# sed -n '3,7p' /etc/passwd

awk命令

  对文本和数据进行处理的编程语言,使用awk命令可以让用户自定义函数或正则 表达式,对文本内容进行高效管理,awk与sed、grep并称为Linux系统中的”文本三剑客”。

  语法格式: awk 参数 文件名

  常用参数:

参数 说明 参数 说明
-c 使用兼容模式 -h 显示帮助信息
-C 显示版权信息 -m 对指定值进行限制
-e 指定源码文件 -n 识别输入数据中的八进制和十六进制数
-f 从脚本中读取awk命令 -O 启用程序优化
-F 设置输入时的字段分隔符 -v 定义一个变量并赋值
-v 自定义变量信息 -V 显示版本信息

  内置变量:

参数 说明 参数 说明
ARGC 命令行参数个数 NF 浏览记录域的个数
ARGV 命令行参数排列 NR 已读的记录数
ENVIRON 支持在队列中使用系统环境变量 OFS 输出域分隔符
FILENAME awk浏览的文件名 ORS 输出记录分隔符
FNR 浏览文件的记录数 RS 控制记录分隔符
FS 设置输入域分隔符

  使用示例:

1.仅显示指定文件中第1、2列的内容(默认以空格为间隔符)
[root@vm ~]# awk '{print $1,$2}' File.cfg

2.以冒号为间隔符,仅显示指定文件中第1列的内容
[root@vm ~]# awk -F : '{print $1}' /etc/passwd

3.以冒号为间隔符,显示系统中所有UID号码大于500的用户信息(第3列)
[root@vm ~]# awk -F : '$3>=500' /etc/passwd

4.仅显示指定文件中含有指定关键词root的内容
[root@vm ~]# awk '/root/{print}' File.cfg

5.以冒号为间隔符,仅显示指定文件中最后一个字段的内容
[root@vm ~]# awk -F : '{print $NF}' /etc/passwd

mkdir命令

  创建目录文件,若创建的目标目录已存在,则会提示已存在而不继续创建,不覆盖已有文件。若目录不存在,但具有嵌套的依赖关系时,例如/Dir1/Dir2/Dir3/Dir4/Dir5,要想一次性创建则需要加入-p参数,进行递归操作

  语法格式: mkdir 参数 目录名

  常用参数:

参数 说明 参数 说明
-m 创建目录的同时设置权限 -v 显示执行过程详细信息
-p 递归创建多级目录 -z 设置目录安全上下文

  使用示例:

1.建立一个目录文件
[root@vm ~]# mkdir Dir1

2.创建一个目录文件并设置700权限,不让除所有主以外的任何人读、写、执行它
[root@vm ~]# mkdir -m 700 Dir2

3.一次性创建多个目录文件
[root@vm ~]# mkdir Dir3 Dir4 Dir5

4.在系统根目录中,一次性创建多个有嵌套关系的目录文件
[root@vm ~]# mkdir -p Dir1/Dir2/Dir3/Dir4/Dir5

cat命令

  在终端设备上显示文件内容,Linux中有很多用于查看文件内容的命令,例如more、tail、head等。cat命令适合查看内容较少的纯文本文件

  语法格式: cat 参数 文件名

  常用参数:

参数 说明 参数 说明
-A 等价于-vET参数组合 -t 等价于-vT参数组合
-b 显示行数(空行不编号) -T 将TAB字符显示为^I符号
-e 等价于-vE参数组合 -v 使用^和M-引用,LFD和TAB除外
-E 每行结束处显示$符号 –help 显示帮助信息
-n 显示行数(空行也编号) –version 显示版本信息
-s 显示行数(多个空行算一个编号)

  使用示例:

1.查看指定文件的内容
[root@vm ~]# cat anaconda-ks.cfg

2.查看指定文件的内容并显示行号
[root@vm ~]# cat -n anaconda-ks.cfg

3.搭配空设备文件和输出重定向操作符,清空指定文件的内容
[root@vm ~]# cat /dev/null > anaconda-ks.cfg
[root@vm ~]# cat anaconda-ks.cfg

4.持续写入文件内容,直到碰到EOF终止符后结束并保存
[root@vm ~]# cat > anaconda-ks.cfg << EOF
> Hello,World
> Linux!~
> EOF
[root@vm ~]# cat anaconda-ks.cfg
Hello,World
Linux!~

5.搭配输出重定向操作符,将光盘设备制作成镜像文件
[root@vm ~]# cat /dev/cdrom > rhel.iso
[root@vm ~]# ls rhel.iso -lh
-rw-r--r--. 1 root root 11G Aug 14 18:38 rhel.iso
[root@vm ~]# file rhel.iso
rhel.iso: # ISO 9660 CD-ROM filesystem data 'CentOS 7 x86_64' (bootable)

more命令

  分页显示文本文件内容,该命令可以把文本内容一页一页地显示在终端界面上,用户每按一次Enter键即向下一行,每按一次空格键即向下一页,直到看完为止

  语法格式: more 参数 文件名

  常用参数:

参数 说明 参数 说明
-c 不滚屏,先显示内容再清除旧内容 -s 将多个空行压缩成一行显示
-d 显示提醒信息,关闭响铃功能 -u 禁止下划线
-f 统计实际的行数,而非自动换行的行数 -数字 设置每屏显示的最大行数
-l 将”^L”当作普通字符处理,而不暂停输出信息 +数字 设置从指定的行开始显示内容
-p 先清除屏幕再显示文本文件的剩余内容 +/关键词 从指定关键词开始显示文件内容

  使用示例:

1.分页显示指定的文本文件内容
[root@vm ~]# more anaconda-ks.cfg

2.先进行清屏操作,随后以每次10行内容的格式显示指定的文本文件内容
[root@vm ~]# more -c -10 anaconda-ks.cfg

3.分页显示指定的文本文件内容,若遇到连续两行及以上空白行的情况,则以一行空白行显示
[root@vm ~]# more -s anaconda-ks.cfg

4.从第10行开始,分页显示指定的文本文件内容
[root@vm ~]# more +10 anaconda-ks.cfg

less命令

  less命令的功能是分页显示文件内容,Less命令分页显示的功能与more命令很相似,但more命令只能从前向后浏览文件内容,而less命令不仅能从前向后浏览(按PageDown键),还可以从后向前浏览(按PageUp键)

  语法格式: less 参数 文件名

  常用参数:

参数 说明 参数 说明
-b 设置缓冲区大小 -Q 不使用警告音
-e 当文件显示结束后自动退出 -r 显示原始字符
-f 强制打开文件 -s 将连续多个空行视为一行
-g 仅标识最后搜索的关键词 -S 在每行显示较多的内容。而不换行
-i 忽略搜索时的大小写 -V 显示版本信息
-k 收到中断字符时,立即退出 -x 将Tab字符显示为指定个数的空格字符
-m 显示阅读进度百分比 -y 设置向前滚动的最大行数
-N 显示文件内容时带行号 –help 显示帮助信息
-o 将要输出的内容写入指定文件

  使用示例:

1.分页查看指定文件的内容
[root@vm ~]# less anaconda-ks.cfg

2.分页查看指定文件的内容及行号
[root@vm ~]# less -N anaconda-ks.cfg

3.分页显示指定命令的输出结果
[root@vm ~]# history | less

find命令

  根据路径和条件搜索指定文件,find命令是根据给定的路径和条件查找相关文件或目录,支持正则表达式,结合管道符后能实现更加复杂的功能

  find命令通常进行的是从根目录(/)开始的全盘搜索,有别于whereis、which、locate等有条件或部分文件的搜索

  服务器在高峰期使用find命令的模糊搜索,会相对消耗较多的系统资源

语法格式: find 路径 条件 文件名

常用参数:

参数 说明 参数 说明
–name 匹配文件名 -nouser 匹配无所属主的文件
-perm 匹配文件权限 -nogroup 匹配无所属组的文件
-user 匹配文件所属主 -newer 匹配比指定文件更新的文件
-group 匹配文件所属组 -type 匹配文件类型
-mtime 匹配最后修改文件内容时间 -size 匹配文件大小
-atime 匹配最后读取文件内容时间 -prune 不搜索指定目录
-ctime 匹配最后修改文件属主时间 -ecec…… {}; 进一步处理搜索结果

  使用示例:

1.全盘搜索系统中所有以.conf结尾的文件
[root@vm ~]# find / -name *.conf

2.在/etc目录中搜索所有大于1MB的文件
[root@vm ~]# find /etc -size +1M
/etc/udev/hwdb.bin
/etc/selinux/targeted/active/policy.kern
/etc/selinux/targeted/contexts/files/file_contexts.bin
/etc/selinux/targeted/policy/policy.31

3.在/home目录中搜索所有属于指定用户的文件
[root@vm ~]# find /home -user root
/home

4.列出当前工作目录中的所有文件、目录以及子文件信息
[root@vm ~]# find .

5.在/var/log目录下搜索所有指定后缀的文件
[root@vm ~]# find /var/log -name "*.log"

6.在/var/log目录下搜索所有不是以.log结尾的文件
[root@vm ~]# find /var/log ! -name "*.log"

7.搜索当前工作目录中所有近7天被修改过的文件
[root@vm ~]# find . -mtime +7
./.bash_logout
./.bash_profile
./.bashrc
./.cshrc
./.tcshrc

mv命令

扩展命令

tune2fs命令

  管理文件系统参数,Linux系统若出现意外断电或宕机的情况,下次开机时会自动调用tune2fs命令进行系统自检工作,管理员亦可根据需要周期性地对文件系统进行检查,以保障系统的稳定。

  语法格式:tune2fs 参数 设备名

  常用参数:

命令 说明 命令 说明
-c 设置最大加载次数 -m 显示文件保留块的百分比
-C 显示已被加载的次数 -M 设置文件系统被加载到的目录
-e 设置检测到错误时的行为 -o 设置文件系统加载的特性
-f 强制执行修改操作而不询问 -O 设置文件系统的特性
-i 设置两次检查的相隔时间 -r 设置文件系统保留块的大小
-j 将EXT2文件格式转换为EXT3 -T 设置上次被检查的时间
-l 显示文件超级块内容 -u 设置可以使用文件系统保留块的用户
-L 设置文件系统卷标 -U 设置文件系统的UUID

  使用示例:

1.查看指定设备的文件系统详细信息
[root@vm ~]# tune2fs -l /dev/sdb
tune2fs 1.42.9 (28-Dec-2013)
Filesystem volume name:   <none>
Last mounted on:          <not available>
Filesystem UUID:          92da1c5e-2690-43a0-b774-79568fc608ac
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
......

2.设置强制检查前,文件系统还可以挂载的最大次数
[root@vm ~]# tune2fs -c 15 /dev/sdb
tune2fs 1.42.9 (28-Dec-2013)
Setting maximal mount count to 15

3.设置10天后将自动检查文件系统
[root@vm ~]# tune2fs -i 10d /dev/sdb
tune2fs 1.42.9 (28-Dec-2013)
Setting interval between checks to 864000 seconds

4.设置3周后将自动检查文件系统
[root@vm ~]# tune2fs -i 3w /dev/sdb
tune2fs 1.42.9 (28-Dec-2013)
Setting interval between checks to 1814400 seconds

5.设置6个月后将自动检查文件系统
[root@vm ~]# tune2fs -i 6m /dev/sdb
tune2fs 1.42.9 (28-Dec-2013)
Setting interval between checks to 15552000 seconds

6.添加日志功能,将EXT2转换成EXT3文件系统
[root@vm ~]# tune2fs -j /dev/sdb
tune2fs 1.42.9 (28-Dec-2013)
The filesystem already has a journal.

7.将指定的磁盘分区文件系统的保留空间设置为40000个磁盘块
[root@vm ~]# tune2fs -r 40000 /dev/sdb
tune2fs 1.42.9 (28-Dec-2013)
Setting reserved blocks count to 40000

split命令

  分割文件内容,使用split命令对指定的大文件进行内容分割,默认会按照每1000行切割成一个小文件,也可自定义分割大小,以方便阅读和传输。

  语法格式: split 参数 文件名

  常用参数:

参数 说明 参数 说明
-数字 设置要分割的行数 -l 设置每个分割文件的行数
-a 设置后缀长度 -t 设置间隔符
-b 设置要分割的字节大小 –help 显示帮助信息
-C 保持每行的完整性 –verbose 显示执行过程详细信息
-d 使用数字后缀而不是字母 –version 显示版本信息

  使用示例:

1.将指定的文件内容以每6行分割成一个小文件
[root@vm ~]# split -6 File.cfg

2.将指定的文件内容以每60个字节分割成一个小文件
[root@vm ~]# split -b 60 File.cfg

3.以数字为后缀,将指定的文件内容以每10行分割成一个小文件
[root@vm ~]# split -d -l 10 File.cfg

semodule命令

  管理SELinux策略模块,使用semodule命令对SELinux策略模块进行查看、安装、重装、升级、删除、激活或禁用等操作,并能够强制重新加载策略而不执行其他任务。

  语法格式: semodule 参数 模块名

  常用参数:

参数 说明 参数 说明
-b 安装新的基本模块 -n 不要重新加载策略
-e 激活策略模块 -r 删除策略模块
-h 显示帮助信息 -u 升级策略模块
-i 安装新的非基本模块 -v 显示执行过程详细信息
-l 显示安装的模块列表

  使用示例:

1.显示已安装的SELinux策略模块列表
[root@vm ~]# semodule -l
abrt    1.4.1
accountsd       1.1.0
acct    1.6.0
afs     1.9.0
aiccu   1.1.0
aide    1.7.1
ajaxterm        1.0.0
......

2.禁用指定的SELinux策略模块
[root@vm ~]# semodule -d apache

3.激活指定的SELinux策略模块
[root@vm ~]# semodule -e apache

4.安装或替换指定的基本策略模块
[root@vm ~]# semodule -b base.pp

5.安装或替换指定的非基本策略模块
[root@vm ~]# semodule -i base.pp

ipcalc命令

  简单的IP地址计算器,功能是简单的计算IP地址

  语法格式: ipcalc 参数 IP地址

  常用参数:

参数 说明 参数 说明
-b 由IP地址和网络掩码计算出广播地址 -p 显示掩码或IP地址的前缀
-c 验证指定的IP地址 -s 静默执行模式
-h 由IP地址找出所对应的主机名 –ipv4 基于IPv4网络协议
-m 由IP地址计算出网络掩码 –ipv6 基于IPv6网络协议
-n 由IP地址和网络掩码计算出网络地址 –help 显示帮助信息

  使用示例:

1.由指定的IP地址和子网掩码显示对应的子网掩码
[root@vm ~]# ipcalc -p 192.168.8.52 255.255.255.0
PREFIX=24

2.由指定的IP地址和子网掩码计算出网络地址
[root@vm ~]# ipcalc -n 192.168.8.52 255.255.255.0
NETWORK=192.168.8.0

3.由指定的IP地址找出所对应的主机名
[root@vm ~]# ipcalc -h 192.168.8.52
HOSTNAME=vm

4.由指定的信息计算出IP地址的子网掩码、广播地址和网络地址
[root@vm ~]# ipcalc -m -b -n 192.168.8.52/24
NETMASK=255.255.255.0
BROADCAST=192.168.8.255
NETWORK=192.168.8.0

swapoff命令

  关闭交换(swap)分区,swapoff命令用于关闭Linux系统中指定的交换分区。与swapon命令的功能相反,但都是仅当前生效,永久启用或关闭指定的交换分区设备,需要修改/etc/fstab文件。

  语法格式: swapoff 参数 设备名

  常用参数:

参数 说明 参数 说明
-a 关闭/etc/fstab文件中全部的交换设备 -U 指定设备UUID
-h 显示帮助信息 -v 显示版本信息
-L 指定设备卷标

  使用示例:

1.关闭指定的交换分区设备
[root@vm ~]# swapoff /dev/sda

2.关闭指定的交换分区文件
[root@vm ~]# swapoff /swapfile

vim-cmd命令

  控制虚拟机状态,vim-cmd是ESXI命令,可在命令行下控制虚拟机的注册、启动等

  vim-cmd允许最终用户调用几乎所有的vSphere API

  vim-cmd提供了一些ESXi子命令,用于管理不同的虚拟基础设施,而且和vimsh相比,更容易使用

  语法格式: vim-cmd 参数 对象

  常用参数:

参数 说明 参数 说明
hostsvc 显示与主机相关的状态 vmsvc 显示与虚拟机相关的状态

  使用示例:

1.查看当前已有的虚拟机列表
[root@vm ~]# vim-cmd vmsvc/getallvms

2.查看当前已有的虚拟机状态
[root@vm ~]# vim-cmd vmsvc/power.getstate vmid

3.打开指定的虚拟机
[root@vm ~]# vim-cmd vmsvc/power.on vmid

4.进入维护模式
[root@vm ~]# vim-cmd hostsvc/maintenance_mode_enter

5.退出维护模式
[root@vm ~]# vim-cmd hostsvc/maintenance_mode_exit

xhost命令

  xhost命令是X服务器的访问控制工具,运行xhost命令前需先启动X-window图形界面服务

  语法格式: xhost 参数 域名或IP地址

  常用参数:

参数 说明 参数 说明
+ 允许指定的主机访问本地X服务器 - 禁止指定的主机访问本地X服务器

  使用示例:

1.显示当前X服务器上的授权配置
[root@vm ~]# xhost

2.允许指定IP地址的主机访问X服务器
[root@vm ~]# xhost + 192.168.8.52

view命令

  编辑文本文件,view实际上并不是一个真实存在的命令,而是vi命令的别名命令,因此使用方法与vi编辑器完全一致。

  语法格式: view 参数 文件名

  常用参数:

参数 说明 参数 说明
+数字 设置从文件的指定行开始编辑 -T 设置使用的终端
-b 使用二进制模式 -u 使用vimrc,而不是.vimrc
-c 加载文件后执行指定命令 -v 使用vi编辑模式
-e 使用ex底层编辑模式 -y 使用简易模式
-m 不允许修改文件内容 -Z 使用受限模式
-n 不使用交换分区,只使用物理内存 –help 显示帮助信息
-o 打开指定数量的窗口 –literal 不扩展通配符
-p 打开指定数量的标签页 –noplugin 跳过指定插件
-R 使用只读模式 –remote 连接至远程服务器
-s 静默执行模式 –version 显示版本信息

  使用示例:

1.编辑指定的文件
[root@vm ~]# view File.cfg

2.从第2行开始编辑制指定的文件
[root@vm ~]# view +2 File.cfg

3.以只读模式打开指定的文件
[root@vm ~]# view -R File.cfg

reboot命令

  reboot命令是重新启动计算机,与halt和shutdown命令相似,reboot命令的作用就是用于重启系统

  语法格式: reboot 参数

  常用参数:

参数 说明 参数 说明
-d 不将重启系统的过程写入日志 -n 直接重启系统,不保存当前资料
-f 强制重启系统而不询问 -w 仅模拟重启过程,将过程写入日志
-i 关闭所有的网络服务然后重启系统

  使用示例:

1.直接重启当前系统
[root@vm ~]# reboot

2.模拟重启当前系统
[root@vm ~]# reboot -w

iperf3命令

  进行网络吞吐量测试,在建立好客户端和服务器后,iperf3可以测试TCP和UDP的吞吐量

  语法格式: iper3 参数 IP地址

  常用参数:

参数 说明 参数 说明
-B 设置绑定的接口 -J 使用JSON格式显示信息
-d 显示调试信息 -p 设置服务端监听端口
-f 格式化带宽输出 -s 启动服务端监听功能
-F 传输或接收指定的文件 -v 显示版本信息
-h 显示帮助信息 -V 显示执行过程详细信息
-i 设置周期性输出带宽报告(秒)

  使用示例:

1.开启服务器监听
[root@vm ~]# iperf3 -s
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------

2.开启服务端监听并设置自定义监听端口
[root@vm ~]# iperf3 -s -p 6688
-----------------------------------------------------------
Server listening on 6688
-----------------------------------------------------------

3.启动调试模式
[root@vm ~]# iperf3 -s -d
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------

4.启动服务器监听并显示更多详细的输出信息
[root@vm ~]# iperf3 -s -V
iperf 3.1.7
Linux vm 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------

5.作为客户端,连接服务端ip地址192.168.8.52,报告回显间隔1s,测试时间10s,带宽限制为7M
[root@vm ~]# iperf3 -s -V
iperf 3.1.7
Linux vm 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Time: Tue, 12 Aug 2025 07:11:51 GMT
Accepted connection from 192.168.8.139, port 55266
      Cookie: vm.1754982711.656620.0f818f6d6f0757f
      TCP MSS: 0 (default)
[  5] local 192.168.8.52 port 5201 connected to 192.168.8.139 port 55268
Starting Test: protocol: TCP, 1 streams, 131072 byte blocks, omitting 0 seconds, 10 second test
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-1.00   sec   896 KBytes  7.34 Mbits/sec
......

[root@vm ~]# iperf3 -c 192.168.8.52 -i 1 -t 10 -b 7M
Connecting to host 192.168.8.52, port 5201
[  4] local 192.168.8.139 port 55268 connected to 192.168.8.52 port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec   896 KBytes  7.34 Mbits/sec    0    639 KBytes
[  4]   1.00-2.00   sec   768 KBytes  6.29 Mbits/sec    0    639 KBytes
......

bash命令

  命令解释器,bash是绝大多数Linux系统默认的命令解释器,能处理用户所输入的命令以及执行指定的shell脚本文件。

  语法格式: bash 参数 文件名

  常用参数:

参数 说明 参数 说明
-c 从字符串中读入命令 -x 显示执行过程详细信息
-i 使用交互模式 –help 显示帮助信息
-n 检查脚本是否正确 –version 显示版本信息

  使用示例:

1.检查脚本语法是否正确
[root@vm ~]# vim File.sh
#!/bin/bash
echo "Hello, World!"

[root@vm ~]# bash -n File.sh

2.执行脚本文件并输出执行过程信息
[root@vm ~]# bash -x File.sh
+ echo 'Hello, World!'
Hello, World!

grub-install命令

  在设备上安装GRUB服务,GRUB是一个多重启动加载器服务,具有模块化和移植性强等特点,用户可使用grub-install命令将GRUB安装到指定硬盘或分区上。

  语法格式: grub-install 参数 设备名

  常用参数:

参数 说明 参数 说明
–force-lba 强制使用LBA模式 –recheck 探测设备映射
–grub-shell 使用指定文件作为GRUB shell –root-directory 在指定目录安装GRUB镜像
–help 显示帮助信息 –version 显示版本信息
–no-floppy 不探测任何软盘驱动器

  使用示例:

1.安装GRUB到指定的硬盘中
[root@vm ~]# grub-install /dev/sdb

2.安装GRUB到指定的硬盘中,不探测任何软盘
[root@vm ~]# grub-install --no-floppy /dev/sdb

3.安装GRUB到指定的硬盘中,并指定镜像目录
[root@vm ~]# grub-install --root-directory=/Dir --no-floppy /dev/sdb

sh命令

shell语言命令解释器


文章作者: 罗宇
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 罗宇 !
  目录