常用命令
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语言命令解释器