# linux_commands

command_name: pwconv
chinese_name: pwconv命令 – 开启用户的投影密码
syntax: pwconv [参数]
parameters: |-h: 显示帮助信息 | |-R: 在chroot_dir目录中应用更改并使用来自chroot_dir目录的文件配置 |
category: 系统管理(system)
description:
pwconv命令用来开启用户的投影密码。Linux系统里的用户和群组密码，分别存放在名称为passwd和group的文件中， 这两个文件位于/etc目录下。因系统运作所需，任何人都得以读取它们，造成安全上的破绽。投影密码将文件内的密码改存在/etc目录下的shadow和gshadow文件内，只允许系统管理者读取，同时把原密码置换为”x”字符，有效的强化了系统的安全性。

examples:
示例1: 
开启用户的投影密码:
[root@linuxcool ~]# pwconv

示例2: 
查看已经开启投影密码的用户linuxcool:
[root@linuxcool ~]# cat /etc/passwd | grep linuxcool
linuxcool:x:3001:3001::/home/linuxcool:/bin/sh


command_name: at
chinese_name: at命令 – 一次性定时计划任务
syntax: at [参数] [对象]
category: 系统管理(system)
description:
at命令的功能是用于设置一次性定时计划任务，是Linux系统中常用的计划任务工具之一，会以atd守护进程的形式在后台模式运行。对比crond周期性计划任务服务程序来讲，at命令的特点就是计划任务的一次性特征，一旦设置的计划任务被执行，则该任务就会被从任务列表库中删除，因此常被用于仅需执行一次的工作。

parameters:
|-b: 设置批处理命令的别名 |
|-c: 显示指定任务的内容 |
|-d: 删除系统中的等待任务 |
|-f: 将指定文件提交等待任务 |
|-l: 显示系统中的全部任务 |
|-m: 任务完成后给用户发邮件 |
|-M: 从不向用户发邮件 |
|-q: 使用指定的队列 |
|-r: 删除指定的任务作业 |
|-t: 以时间的形式提交运行任务 |
|-v: 显示任务将被执行的时间 |
|-V: 显示版本信息 |

examples:
示例1: 
查看系统中的等待任务作业：
[root@linuxcool ~]#at -l

示例2: 
删除系统中指定编码为1的计划任务作业：
[root@linuxcool ~]#at -r 1

示例3: 
使用计划任务立即执行某指定脚本文件：
[root@linuxcool ~]#at -f File.sh now

示例4: 
使用计划任务设置25分钟后执行某指定脚本文件：
[root@linuxcool ~]#at -f File.sh now+25 min

示例5: 
使用计划任务设置今天10:11分准时执行某指定脚本文件：
[root@linuxcool ~]#at -f File.sh 10:11

示例6: 
使用计划任务设置在2024年5月18日准时执行某脚本文件：
[root@linuxcool ~]#at -f File.sh 05/18/2024


command_name: gpasswd
chinese_name: gpasswd命令 – 设置管理用户组
syntax: gpasswd [参数] [用户组名]
parameters: |-a: 添加用户到指定组 | |-A: 设置管理员 | |-d: 从组中删除用户 | |-r: 删除组密码 | |-R: 限制用户登入组 |
category: 系统管理(system)
description:
gpasswd命令来自英文词组group password的缩写，其功能是设置管理用户组。用户可以使用gpasswd命令对用户组进行充分的管理，例如设置/删除密码、添加/删除组成员、设置组管理员/普通成员等，提高日常工作中对用户组的管理效率。

examples:
示例1: 
将指定用户加入到root管理员用户组：
[root@linuxcool ~]# gpasswd -a linuxprobe root 
Adding user linuxprobe to group root

示例2: 
将指定用户从root管理员用户组中删除：
[root@linuxcool ~]# gpasswd -d root linuxprobe 
Removing user root from group linuxprobe

示例3: 
为指定用户组设置管理密码：
[root@linuxcool ~]# gpasswd root 
Changing the password for group root 
New Password: 输入组管理密码 
Re-enter new password: 再次输入组管理密码

示例4: 
删除指定用户组中的管理密码：
[root@linuxcool ~]# gpasswd -r root


command_name: ssh-copy-id
chinese_name: ssh-copy-id命令 – 复制SSH公钥到远程主机
syntax: ssh-copy-id [参数] [域名或IP地址]
parameters: |-f: 强制复制而不询问 | |-i: 设置公钥文件路径 | |-p: 设置使用的端口号 |
category: 系统管理(system)
description:
ssh-copy-id命令来自英文词组ssh copy id，其功能是将本地生成的SSH公钥信息复制到远程主机。通常情况下，运维人员会先使用ssh-keygen命令生成SSH密钥对（公钥/私钥）文件，随后使用ssh-copy-id命令将公钥文件复制到远程主机上，这样操作后，再进行远程SSH访问时将无须进行账号密码验证，而是通过密钥方式登录。

examples:
示例1: 
将SSH公钥文件复制到远程主机：
[root@linuxcool ~]# ssh-copy-id 192.168.10.10 
The authenticity of host '192.168.10.10 (192.168.10.10)' can't be established. 
ECDSA key fingerprint is SHA256:212/FhZ+6JFs5psuMJx9+5alyW6QDzviE0miulDPiKk. 
Are you sure you want to continue connecting (yes/no)? yes 
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed 
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys 
root@192.168.10.10's password: 此处输入远程主机管理员密码

Number of key(s) added: 1 

Now try logging into the machine, with: "ssh '192.168.10.10'" 
and check to make sure that only the key(s) you wanted were added.


command_name: login
chinese_name: login命令 – 登入系统
syntax: login
examples: 示例1: 使用新的身份登录系统 : [root@linuxcool ~]# login
category: 系统管理(system)
description:
login指令让用户登入系统，您亦可通过它的功能随时更换登入身份。在Slackware发行版中 ，您可在指令后面附加欲登入的用户名称，它会直接询问密码，等待用户输入。当/etc目录里含名称为nologin的文件时，系统只root帐号登入系统，其他用户一律不准登入。


command_name: usermod
chinese_name: usermod命令 – 修改用户信息
syntax: usermod [参数] [用户名]
category: 系统管理(system)
description:
usermod命令来自英文词组user modify的缩写，其功能是修改用户信息中的各项参数。在创建用户后如果发现信息错误，可以不用删除，而是用usermod命令直接修改用户信息，并且参数会立即生效。

parameters:
|-a: 将用户添加至扩展组中 |
|-c: 修改用户的备注文字 |
|-d: 修改用户登录时的家目录 |
|-e: 修改用户的有效期限 |
|-f: 设置在密码过期多少天后关闭该用户 |
|-g: 修改用户所属的基本群 |
|-G: 修改用户所属的扩展群 |
|-l: 修改用户名称 |
|-m: 将用户家目录内容移动到新位置 |
|-o: 允许重复的用户ID |
|-p: 设置用户的新密码 |
|-s: 修改用户登录后使用的Shell终端 |
|-u: 修改用户的ID |
|-U: 解除密码锁定，使密码恢复正常 |
|-Z: 设置用户的SELinux映射用户 |

examples:
示例1: 
修改指定用户的家目录路径：
[root@linuxcool ~]# usermod -d /home linuxprobe

示例2: 
修改指定用户的ID：
[root@linuxcool ~]# usermod -u 6688 linuxprobe

示例3: 
修改指定用户的名称为linuxcool：
[root@linuxcool ~]# usermod -l linuxcool linuxprobe

示例4: 
锁定指定的用户，临时不允许登录系统：
[root@linuxcool ~]# usermod -L linuxcool

示例5: 
解锁指定的用户，再次允许登录系统：
[root@linuxcool ~]# usermod -U linuxcool


command_name: yum-config-manager
chinese_name: yum-config-manager命令 – 管理软件仓库
description: yum-config-manager命令的功能是用于管理软件仓库，可以调整yum的主要配置参数，启动或关闭指定软件源，删除已有软件仓库等工作。
syntax: yum-config-manager [参数] [对象]
category: 系统管理(system)
parameters:
|-c: 设置配置文件的位置 |
|-C: 不更新缓存，直接运行 |
|-d: 设置调试输出级别 |
|-e: 设置错误输出级别 |
|-q: 静默执行模式 |
|-R: 设置最大等待时间 |
|-t: 设置错误宽容 |
|-v: 显示执行过程详细信息 |
|-y: 所有询问均回答自动yes |
|--add-repo: 从指定文件或URL添加软件仓库 |
|--color: 设置是否使用颜色 |
|--disable: 禁用软件仓库 |
|--disableplugin: 禁用指定插件 |
|--disablerepo: 禁用指定软件仓库 |
|--enable: 启用软件仓库 |
|--enableplugin: 启用指定插件 |
|--enablerepo: 启用指定软件仓库 |
|--installroot: 设置安装根路径 |
|--nogpgcheck: 禁用GPG签名检查 |
|--noplugins: 禁用全部插件 |
|--rpmverbosity: 设置调试输出级别 |
|--save: 保存当前选项 |

examples:
示例1: 
显示指定软件仓库的配置信息：
[root@linuxcool ~]#yum-config-manager baseOS

示例2: 
添加指定的软件仓库来源：
[root@linuxcool ~]#yum-config-manager --add-repo https://mirrors.aliyun.com/repo/Centos-7.repo

示例3: 
显示当前已启用的软件仓库信息：
[root@linuxcool ~]#yum-config-manager --enable


command_name: logwatch
chinese_name: logwatch命令 – 遍历系统日志
description: logwatch命令是一个可定制和可插入式的日志监视系统，它通过遍历给定时间范围内的系统日志文件而产生日志报告。logwatch默认每天执行一次，可以从/etc/cron.daily里看到。
syntax: logwatch [参数]
parameters: |--detail: 指定日志报告的详细程度 | |--range: 指定处理日志的日期范围 |
category: 系统管理(system)
examples:
示例1: 
只看sshd的日志情况：
[root@linuxcool ~]# logwatch --service sshd --detail High

示例2: 
查看sshd当天的日志情况：
[root@linuxcool ~]# logwatch --service sshd --detail High --range today

示例3: 
查看sshd昨天的日志情况：
[root@linuxcool ~]# logwatch --service sshd --detail High --range yesterday

示例4: 
查看sshd从2018年10月24日到2019年10月24日的日志情况：
[root@linuxcool ~]# logwatch --service sshd --detail High --range 'between 10/24/2018 and 10/24/2019'


command_name: startx
chinese_name: startx命令 – 初始化X-window系统
syntax: startx [参数] [对象]
parameters: |-m: 当未找到启动脚本时，启动窗口管理器 | |-r: 当未找到启动脚本时，装入资源文件 | |-w: 强制启动而不询问 | |--depth: 设置颜色深度 |
category: 系统管理(system)
description:
startx命令来自英文词组start X-window的缩写，其功能是启动X-window系统。X-window也被称为X或X11，中文译为X窗口系统，用于以图形方式显示软件窗口，现在的GNOME和KDE桌面环境都是以X窗口系统为基础构建成的。

examples:
示例1: 
以默认方式初始化启动X窗口系统：
[root@linuxcool ~]# startx 
X.Org X Server 1.20.3 
X Protocol Version 11, Revision 0 
Build Operating System: 4.14.0-49.el7a.noaead.x86_64 
Current Operating System: Linux linuxcool.com 4.18.0-80.el8.x86_64 #1 SMP Wed May 18 12:02:46 UTC 2019 x86_64 
………………省略部分输出信息………………

示例2: 
指定以16位颜色深度启动X窗口系统：
[root@linuxcool ~]# startx --depth 16 
X.Org X Server 1.20.3 
X Protocol Version 11, Revision 0 
Build Operating System: 4.14.0-49.el7a.noaead.x86_64 
Current Operating System: Linux linuxcool.com 4.18.0-80.el8.x86_64 #1 SMP Wed May 18 12:02:46 UTC 2019 x86_64 
………………省略部分输出信息………………

示例3: 
强制启动X窗口系统：
[root@linuxcool ~]# startx -w 
X.Org X Server 1.20.3 
X Protocol Version 11, Revision 0 
Build Operating System: 4.14.0-49.el7a.noaead.x86_64 
Current Operating System: Linux linuxcool.com 4.18.0-80.el8.x86_64 #1 SMP Wed May 18 12:02:46 UTC 2019 x86_64 
………………省略部分输出信息………………


command_name: tload
chinese_name: tload命令 – 显示系统负载状况
description: tload命令用于显示系统的负载状况。tload命令用ASCII字符简单的以文字模式显示系统负载状态。假设不给予终端机编号，则会在执行tload命令的终端机显示负载情形。
syntax: tload [参数]
parameters: |-d<间隔秒数>: 设置tload检测系统负载的间隔时间，单位以秒计算 | |-s<刻度大小>: 设置图标的垂直刻度大小，单位以列计算 |
category: 系统管理(system)
examples:
示例1: 
显示系统负载：
[root@linuxcool ~]# tload

示例2: 
每10秒显示系统负载情况：
[root@linuxcool ~]# tload -d 10

示例3: 
显示666号终端机系统负载情况的图表垂直刻度为五列：
[root@linuxcool ~]# tload -s 5 666

示例4: 
每1秒显示系统负载情况：
[root@linuxcool ~]# tload -d 1


command_name: metaimport
chinese_name: metaimport命令 – 将磁盘集导入到现有的Solaris Volume Manager配置中
description: metaimport命令允许将磁盘集(包括复制的磁盘集)导入到现有的Solaris卷管理器配置中。复制磁盘集是使用远程复制软件创建的磁盘集。
syntax: metaimport[参数]
category: 系统管理(system)
parameters:
|–f: 即使没有足够数量的导入磁盘集的副本，也可以强制导入 |
|–n: 实际不执行该操作，但是显示如果该操作已运行，则可能导致输出或错误 |
|–r: 报告系统上未配置的磁盘集 |
|–ssetname: 指定导入时要使用的磁盘集名称 |
|-h: 显示帮助信息 |

examples:
示例1: 
创建一个名为blue的磁盘集，并将c1t5d0标识为包含要导入的磁盘集中的状态数据库副本的磁盘：
[root@linuxcool ~]# metaimport -s blue c1t5d0

示例2: 
扫描连接到系统并配置为系统一部分的所有磁盘和LUN：
[root@linuxcool ~]# metaimport -r


command_name: iscsiadm
chinese_name: iscsiadm命令 – iSCSI服务管理工具
syntax: iscsiadm [参数] [域名或IP地址]
category: 系统管理(system)
description:
iscsiadm命令来自英文词组iSCSI administration的缩写，是最常用的iSCSI服务管理工具。iscsiadm是一个命令行工具，能够发现、登录、卸载远程iSCSI目标，还能管理open-iscsi数据库。iSCSI服务的配置过程较复杂，建议参考《Linux就该这么学（第2版）》的17.3节。有些时候，服务器可能未安装iSCSI服务应用程序，此时需要先安装后使用，如执行dnf install targetcli -y命令安装。

parameters:
|-d: 设置排错模式级别 |
|-h: 显示帮助信息 |
|-l: 登录远程设备 |
|-m: 设置discovery或node模式 |
|-o: 开启认证模式 |
|-p: 设置目标服务器的IP地址和端口 |
|-t st: 设置扫描操作的类型 |
|-u: 卸载指定设备 |
|-v: 设置用于更新的值 |
|-V: 显示版本信息 |
|-T: 设置节点名称 |

examples:
示例1: 
发现远程可用的iSCSI服务器节点：
[root@linuxcool ~]# iscsiadm -m discovery -t st -p 192.168.10.10 
192.168.10.10:3260,1 iqn.2003-01.org.linux-iscsi.linuxprobe.x8664:sn.745b21d6cad5

示例2: 
登录远程可用的iSCSI服务器节点：
[root@linuxcool ~]# iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.linuxprobe. x8664:sn.745b21d6cad5 -p 192.168.10.10 --login 
Logging in to [iface: default, target: iqn.2003-01.org.linux-iscsi.linuxprobe. x8664:sn.745b21d6cad5, portal: 192.168.10.10,3260] (multiple) 
Login to [iface: default, target: iqn.2003-01.org.linux-iscsi.linuxprobe.x8664: sn.745b21d6cad5, portal: 192.168.10.10,3260] successful.

示例3: 
卸载本地已挂载的指定iSCSI存储设备：
[root@linuxcool ~]# iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.linuxprobe. x8664:sn.745b21d6cad5 -u 
Logging out of session [sid: 1, target: iqn.2003-01.org.linux-iscsi.linuxprobe. x8664:sn.745b21d6cad5, portal: 192.168.10.10,3260] 
Logout of [sid: 1, target: iqn.2003-01.org.linux-iscsi.linuxprobe.x8664: sn.745b21d6cad5, portal: 192.168.10.10,3260] successful.

示例4: 
卸载本地已挂载的全部iSCSI存储设备：
[root@linuxcool ~]# iscsiadm -m node --logoutall=all


command_name: rht-vmctl
chinese_name: rht-vmctl命令 – 控制虚拟机系统
syntax: rht-vmctl [参数] 虚拟机名
parameters: |poweroff: 关闭虚拟机 | |reset: 重置虚拟机 | |start: 开启虚拟机 | |status: 显示虚拟机状态 | |view: 显示虚拟机列表 |
category: 系统管理(system)
description:
rht-vmctl命令来自英文词组“redhat vmware control”的缩写，其功能是用于控制虚拟机系统。rht-vmctl命令工具由红帽公司开发，主要用于管理红帽培训中使用到的KVM虚拟机系统，控制其虚拟机的开启、关闭、重启、重装等基本操作。

examples:
示例1: 
显示指定虚拟机：
[root@linuxcool ~]#rht-vmctl view desktop

示例2: 
打开指定虚拟机：
[root@linuxcool ~]#rht-vmctl start desktop

示例3: 
关闭指定虚拟机：
[root@linuxcool ~]#rht-vmctl poweroff desktop

示例4: 
重置指定虚拟机：
[root@linuxcool ~]#rht-vmctl reset desktop


command_name: ip6tables
chinese_name: ip6tables命令 – IPv6防火墙策略管理工具
syntax: ip6tables [参数]
category: 系统管理(system)
description:
ip6tables命令来自英文词组“ipv6 iptables”的缩写，其功能是用于Ipv6级别的防火墙策略管理工具。与iptables命令的使用方法一致，都是iptables防火墙服务的策略管理工具，只是TCP/IP协议不同而已，因此本词条不再重复，如有需要请参阅书籍《Linux就该这么学》第8章节的内容。

parameters:
|-A: 向规则链中添加条目 |
|-D: 从规则链中删除条目 |
|-E: 重命名指定名称的用户定义链 |
|-F: 清空规则链中已有的条目 |
|-H: 显示帮助信息 |
|-I: 向规则链中插入条目 |
|-j: 设置要跳转的目标 |
|-L: 显示规则链中已有的条目 |
|-N: 创建指定名称的用户定义链 |
|-p: 设置要匹配的数据包协议类型 |
|-R: 替换规则链中的条目 |
|-s: 设置要匹配的数据包源IP地址 |
|-X: 删除指定名称的用户定义链 |
|-Z: 清空所有规则链中的数据包和字节计数器 |

examples:
示例1: 
查看当前的 IPv6 防火墙策略信息：
[root@linuxcool ~]#ip6tables -L

示例2: 
查看当前的 IPv6 防火墙策略信息并显示行号：
[root@linuxcool ~]#ip6tables -nL --line-numbers

示例3: 
清空当前的 IPv6 防火墙策略信息：
[root@linuxcool ~]#ip6tables -F


command_name: bmodinfo
chinese_name: bmodinfo命令 – 显示给定模块的详细信息
description: bmodinfo命令用于显示给定模块的详细信息。
syntax: bmodinfo [参数] [模块名]
parameters: |-a: 显示模块作者 | |-d: 显示模块的描述信息 | |-l: 显示模块的许可信息 |
category: 系统管理(system)
examples:
示例1: 
显示sg模块的信息：
[root@linuxcool ~]# bmodinfo sg

示例2: 
显示sg模块的作者：
[root@linuxcool ~]# bmodinfo -a sg

示例3: 
显示sg模块的描述信息：
[root@linuxcool ~]# bmodinfo -d sg

示例4: 
显示sg模块的许可信息：
[root@linuxcool ~]# bmodinfo -l sg

示例5: 
显示sg模块的参数信息：
[root@linuxcool ~]# bmodinfo -p sg


command_name: zenity
chinese_name: zenity命令 – 显示图形框
description: zenity命令的功能是用于显示图形框，允许运维人员调用各种Shell终端的弹窗信息，可以查看日历，消息，亦可以让用户输入信息或密码进行保存，玩法很多，可根据需求进行深度开发。
syntax: zenity [参数] [对象]
category: 系统管理(system)
parameters:
|--about: 显示对话信息 |
|--calendar: 显示快速日历框 |
|--error: 显示错误对话框 |
|--entry: 显示一般文本输入对话框 |
|--forms: 显示窗体对话框 |
|--info: 显示信息对话框 |
|--password: 显示密码对话框 |
|--progress: 显示进度栏 |
|--question: 显示问题对话框 |

examples:
示例1: 
显示日历框：
[root@linuxcool ~]#zenity --calendar

示例2: 
弹框显示进度栏：
[root@linuxcool ~]#zenity --progress

示例3: 
显示密码框：
[root@linuxcool ~]#zenity --password


command_name: grub
chinese_name: grub命令 – 交互式的管理GRUB引导程序
syntax: grub [参数] [动作] [对象]
category: 系统管理(system)
description:
grub命令的功能是用于交互式地管理GRUB引导程序。GRUB是一个系统引导程序，可以服务于Linux、Windows、FreeBSD等常见操作系统，配置方式分为交互式和非交互式两种模式，用户只需要键入grub命令即可进入到“grub>”提示状态，然后通过常用命令及参数进行配置工作。

parameters:
|--batch: 使用批处理模式 |
|--boot-drive: 设置stage2的引导驱动器 |
|--config-file: 设置stage2的配置文件 |
|--device-map: 设置设备的映射文件 |
|--help: 显示帮助信息 |
|--install-partition: 设置stage2的安装分区 |
|--no-config-file: 不使用配置文件 |
|--no-pager: 不使用内部分页器 |
|--preset-menu: 使用预设菜单 |
|--probe-second-floppy: 检测第二个软盘驱动器 |
|--read-only: 使用只读模式 |

examples:
示例1: 
GRUB信息损坏，使用命令启动系统：
[root@linuxcool ~]#grubgrub>root (hd0,1)grub>kernel /boot/vmlinuz-2.6.15-26-386 ro dev=/dev/hda3grub>initrd /boot/initrd.img-2.6.15-26-386grub>boot

示例2: 
在指定分区设备上安装GRUB：
[root@linuxcool ~]#grubgrub>root (hd0,1)

示例3: 
指定GRUB引导程序的初始化文件：
[root@linuxcool ~]#grubgrub>initrd /boot/initrd-2.6.11-1.1369_FC4.img[Linux-initrd @ 0x2e1000, 0x10e685 bytes]


command_name: vmstat
chinese_name: vmstat命令 – 监视系统资源状态
syntax: vmstat [参数] [对象]
category: 系统管理(system)
description:
vmstat命令来自英文词组“Virtual Memory Statistics”的缩写，其功能是用于监视系统资源状态。Linux系统工程师可以使用vmstat查看到系统关于进程、内存、硬盘I/O等整体运行状态，但很遗憾无法深入分析。轻量级的性能查看工具，不会给系统带来什么负担。

parameters:
|-a: 显示活动内页 |
|-d: 显示磁盘状态 |
|-D: 显示磁盘活动报告 |
|-f: 显示进程总数 |
|-h: 显示帮助信息 |
|-m: 显示内存分配信息 |
|-n: 设置头信息仅显示一次 |
|-p: 显示指定硬盘分区状态 |
|-s: 使用表格方式显示资源状态 |
|-S: 设置显示信息的单位 |
|-t: 显示时间戳 |
|-V: 显示版本信息 |

examples:
示例1: 
显示系统整体的资源状态：
[root@linuxcool ~]#vmstat -aprocs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free  inact active   si   so    bi    bo   in   cs us sy id wa st
 0  0   1804  91972 446044 770848    0    0   103     7   54   45  1  1 99  0  0

示例2: 
显示自启动后创建的进程总数：
[root@linuxcool ~]#vmstat -f3017 forks

示例3: 
显示指定的硬盘分区状态：
[root@linuxcool ~]#vmstat -p /dev/sda1sda1            reads      read sectors      writes  requested writes
                 1876             14646           3              4096

示例4: 
显示内存分配机制信息（SLAB）：
[root@linuxcool ~]#vmstat -mCache                       Num  Total   Size  Pages
fuse_request                 40     40    400     40
fuse_inode                   39     39    832     39
nf_conntrack                255    255    320     51
AF_VSOCK                     40     40   1600     20
rpc_inode_cache              46     46    704     46
isofs_inode_cache           138    138    704     46
xfs_dqtrx                     0      0    528     62
………………省略部分输出信息………………

示例5: 
以表格方式显示事件计数器和内存状态：
[root@linuxcool ~]#vmstat -s2013304 K total memory
      1400608 K used memory
       774252 K active memory
       409036 K inactive memory
       114132 K free memory
         2156 K buffer memory
       496408 K swap cache
      2097148 K total swap
………………省略部分输出信息………………

示例6: 
设置每间隔1秒刷新显示一次系统整体状态信息：
[root@linuxcool ~]#vmstat  1procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0   3852 125000   2156 496420    0    0    61     5   44   40  0  1 99  0  0
 0  0   3852 124908   2156 496420    0    0     0     2  787  673  1  2 98  0  0
 0  0   3852 124908   2156 496420    0    0     0     0 1282 1038  1  2 97  0  0
 0  0   3852 124908   2156 496420    0    0     0     0 1455 1230  1  3 96  0  0^C[root@linuxcool ~]#


command_name: ps
chinese_name: ps命令 – 显示进程状态
syntax: ps [参数]
category: 系统管理(system)
description:
ps命令来自英文单词process的缩写，中文译为“进程”，其功能是显示当前系统的进程状态。使用ps命令可以查看到进程的所有信息，例如进程的号码、发起者、系统资源（处理器与内存）使用占比、运行状态等。ps命令可帮助我们及时发现哪些进程出现“僵死”或“不可中断”等异常情‍况。
ps命令经常会与kill命令搭配使用，以中断和删除不必要的服务进程，避免服务器的资源浪费。

parameters:
|-a: 显示所有进程信息 |
|-c: 不显示程序路径 |
|-d: 不显示阶段作业程序 |
|-e: 显示环境变量信息 |
|-f: 用ASCII字符显示树状结构 |
|-g: 显示所有程序及其所属组的程序 |
|-h: 不显示标题列信息 |
|-H: 使用树状结构展示程序间的相互关系 |
|-j: 使用工作控制格式显示程序状态 |
|-l: 使用详细格式显示程序状态 |
|-p: 指定程序识别码并显示该程序的状态 |
|-r: 仅显示终端主机正在执行中的程序 |
|-s: 使用程序信号格式显示程序状态 |
|-S: 显示包括已中断的子程序的状态 |
|-T: 显示当前终端主机下的所有程序 |
|-u: 使用用户为主的格式来显示程序状态 |
|-U: 显示属于指定用户的程序状态 |
|-v: 使用虚拟内存的格式显示程序状态 |
|-w: 使用宽阔的格式显示程序状态 |
|-x: 不区分终端主机 |
|-X: 使用旧式登录格式显示程序状态 |
|--cols: 设置每列的最大字符数 |
|--headers: 重复显示标题列 |
|--help: 显示帮助信息 |
|--info: 显示排错信息 |
|--lines: 设置显示画面的列数 |
|--version: 显示版本信息 |

examples:
示例1: 
显示系统中全部的进程信息，含详细信息：
[root@linuxcool ~]# ps aux 
USER        PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND 
root          2  0.0  0.0    0   0 ?   S    20:05 0:00 [kthreadd] 
root          3  0.0  0.0    0   0 ?   I<   20:05 0:00 [rcu_gp] 
root          4  0.0  0.0    0   0 ?   I<   20:05 0:00 [rcu_par_gp] 
………………省略部分输出信息………………

示例2: 
结合输出重定向，将当前进程信息保留备份至指定文件：
[root@linuxcool ~]# ps aux > File.txt

示例3: 
结合管道操作符，将当前系统运行状态中指定的进程信息过滤出来：
[root@linuxcool ~]# ps -ef | grep ssh 
………………省略输出信息………………

示例4: 
结合管道操作符，将当前系统运行状态中指定用户的进程信息过滤出来：
[root@linuxcool ~]# ps -u root 
PID TTY           TIME CMD 
  1 ?         00:00:01 systemd 
  2 ?         00:00:00 kthreadd 
  3 ?         00:00:00 rcu_gp 
  4 ?         00:00:00 rcu_par_gp 
………………省略部分输出信息………………

示例5: 
结合管道操作符与sort命令，依据处理器使用量（第三列）情况降序排序：
[root@linuxcool ~]# ps aux | sort -rnk 3 
USER     PID %CPU %MEM     VSZ   RSS  TTY 	STAT	START TIME COMMAND 
root    2341  0.4  8.1 4504040 164896 tty2 	Sl+ 	20:05 0:24 /usr/bin/gnome-shell 
root    4534  0.3  0.4 220064   8520 ? 		Ssl 	21:37 0:00 /usr/nm-dispatcher 
gdm     1541  0.1  7.3 4211428 147400 tty1 	Sl+ 	20:05 0:06 /usr/bin/gnome-shell 
………………省略部分输出信息………………

示例6: 
结合管道操作符与sort命令，依据内存使用量（第四列）情况降序排序：
[root@linuxcool ~]# ps aux | sort -rnk 4 
USER    PID %CPU %MEM     VSZ   RSS  TTY	STAT	START TIME COMMAND 
root   2341  0.4  8.1 4503976 164828 tty2 	Sl+ 	20:05 0:27 /usr/bin/gnome-shell 
gdm    1541  0.1  7.3 4211428 147556 tty1 	Sl+ 	20:05 0:08 /usr/bin/gnome-shell 
root   2661  0.0  3.1 1271636 63004 tty2 	Sl+ 	20:05 0:01 /usr/bin/gnome-software 
--gapplication-service 
………………省略部分输出信息………………


command_name: enable
chinese_name: enable命令 – 启动或关闭 shell 内建指令
syntax: enable [参数] [内建指令]
parameters: |-n: 关闭指定的shell内建指令 | |-all: 显示shell所有关闭与启动的指令 |
examples: 示例1: 显示shell命令： [root@linuxcool ~]# enable 示例2: 显示所有激活的内部命令： [root@linuxcool ~]# enable -a
category: 系统管理(system)
description:
enable命令可以用于启动或关闭 shell 的内建指令。 如要执行的文件名称与shell内建指令相同，可用enable -n来关闭shell内建指令。若不加-n参数，enable可重新启动关闭的指令。


command_name: esxcfg-advcfg
chinese_name: esxcfg-advcfg命令 – 配置主机
description: esxcfg命令集分为网络管理类、存储管理类、系统管理类等几种类型，esxcfg-advcfg负责配置主机，设置kernel高级选项，属于系统管理类。
syntax: esxcfg-advcfg [参数]
parameters: |-h: 查看帮助文档 | |-g: 获取虚拟网卡的配置信息 |
category: 系统管理(system)
examples:
示例1: 
获取虚拟网卡的配置信息：
[root@linuxcool ~]# esxcfg-advcfg -g

示例2: 
设置虚拟网卡的信息：
[root@linuxcool ~]# esxcfg-advcfg -s

示例3: 
重置虚拟网卡至默认值：
[root@linuxcool ~]# esxcfg-advcfg -d

示例4: 
确定虚拟网卡是否设置并打印：
[root@linuxcool ~]# esxcfg-advcfg -u

示例5: 
查看帮助文档：
[root@linuxcool ~]# esxcfg-advcfg -help


command_name: complete
chinese_name: complete命令 – 自动补全声明
description: complete命令是声明对于每一个NAME名称如何完成读取参数。如果不带选项，现有的补全声明会以可以重用为输入的格式打印出来。
syntax: complete [参数]
category: 系统管理(system)
parameters:
|-p: 以可重用的格式打印现有的补全声明 |
|-D: 对于没有补全声明定义的命令，设定默认的补全动作 |
|-E: 对于 “empty” [命令]设定补全动作，—— 对于空行的补全 |
|-r: 对于每个 NAME 名称删除补全声明，或者如果没有提供 NAME名称，删除所有的补全声明 |

examples:
示例1: 
以可重用的格式打印现有的补全声明：
[root@linuxcool ~]# complete -p

示例2: 
对于没有补全声明定义的命令，设定默认的补全动作：
[root@linuxcool ~]# complete -D

示例3: 
对于 “empty” [命令]设定补全动作，—— 对于空行的补全：
[root@linuxcool ~]# complete -E

示例4: 
对于每个 NAME 名称删除补全声明，或者如果没有提供 NAME名称，删除所有的补全声明：
[root@linuxcool ~]# complete -r


command_name: liloconfig
chinese_name: liloconfig命令 – 设置核心载入
syntax: liloconfig
examples: 示例1: 设置核心载入： [root@linuxcool ~]# liloconfig
category: 系统管理(system)
description:
liloconfig命令用于设置核心载入，开机管理程序。
liloconfig是Slackware发行版专门用来调整lilo设置的程序。它通过互动式操作界面，让用户能够利用键盘上的方向键等，轻易地操控lilo的安装，设置作业，而无须下达各种参数或撰写配置文件。


command_name: iconv
chinese_name: iconv命令 – 转换文件编码
description: iconv命令是Linux系统自带的用于转换文件编码的命令行工具。
syntax: iconv [参数]
category: 系统管理(system)
parameters:
|-f: 输入编码 |
|-t: 输出编码 |
|-c: 忽略不可转换的字符 |
|--unicode-subst=FORMATSTRING: 替代不可转换的 Unicode 字符 |
|--byte-subst=FORMATSTRING: 替代不可转换的字节 |
|--widechar-subst=FORMATSTRING: 替代不可转换的宽字符 |
|-s: 不显示有关转换出错的信息 |
|-l: 列出支持的编码 |
|--version: 显示版本信息并退出 |

examples:
示例1: 
查看支持的编码列表：
[root@linuxcool ~]# iconv -l

示例2: 
转换文件内容编码：
[root@linuxcool ~]# iconv -f ENCODING -t ENCODING INPUTFILE


command_name: pwck
chinese_name: pwck命令 – 验证系统认证文件
description: 使用pwck命令用来验证系统认证文件/etc/passwd和/etc/shadow的内容和格式的完整性。
syntax: pwck [参数]
parameters: |-q: 仅报告错误信息 | |-s: 以用户id排序文件 | |-r: 只读方式运行指令 |
category: 系统管理(system)
examples:
示例1: 
检验用户配置文件/etc/passwd和/etc/shadow的文件内容是否合法、完整:
[root@linuxcool ~]# pwck

示例2: 
验证密码文件完整性，在/etc/passwd和/etc/shadow文件中按UID排序条目:
[root@linuxcool ~]# pwck -s


command_name: seinfo
chinese_name: seinfo命令 – 查询SELinux策略规则
syntax: seinfo [参数]
category: 系统管理(system)
description:
seinfo命令是用来查询SELinux的策略提供多少相关规则，一个主体进程能否读取到目标文件资源的重点是在于SELinux的策略以及策略内的各项规则，然后再通过该规则的定义去处理各项目标文件的安全上下文，尤其是“类型”部分。SELinux的策略与规则管理相关命令：seinfo命令、sesearch命令、getsebool命令、setsebool命令、semanage命令。

parameters:
|-a: 列出SELinux的状态、规则布尔值、身份识别、角色、类型等所有信息 |
|-t: 列出SELinux所有类型(type)的种类 |
|-r: 列出SELinux所有角色(role)的种类 |
|-u: 列出SELinux所有身份识别(user)的种类 |
|-b: 列出所有规则的种类（布尔值） |

examples:
示例1: 
列出SELinux的状态、规则布尔值、身份识别、角色、类型等所有信息：
[root@linuxcool ~]# seinfo -a

示例2: 
列出SELinux所有类型(type)的种类：
[root@linuxcool ~]# seinfo -t

示例3: 
列出SELinux所有角色(role)的种类：
[root@linuxcool ~]# seinfo -r

示例4: 
列出SELinux所有身份识别(user)的种类：
[root@linuxcool ~]# seinfo -u

示例5: 
列出所有规则的种类（布尔值）：
[root@linuxcool ~]# seinfo -b

示例6: 
列出与httpd有关的规则：
[root@linuxcool ~]# seinfo -b | grep httpd


command_name: ip6tables-restore
chinese_name: ip6tables-restore命令 – 还原ip6tables表
description: ip6tables-restore命令用来还原ip6tables表。
syntax: ip6tables-restore [参数]
parameters: |-c: 指定在还原iptables表时候，还原当前的数据包计数器和字节计数器的值 | |-t: 指定要还原表的名称 |
category: 系统管理(system)
examples:
示例1: 
还原iptables配置：
[root@linuxcool ~]# ip6tables-restore < ip6tables.bak

示例2: 
指定在还原iptables表时候，还原当前的数据包计数器和字节计数器的值：
[root@linuxcool ~]# ip6tables-restore -c < ip6tables.bak

示例3: 
指定要还原表的名称：
[root@linuxcool ~]# ip6tables-restore -t filter.bak


command_name: reset
chinese_name: reset命令 – 设定终端机的状态
syntax: reset [参数]
category: 系统管理(system)
description:
Linuxreset命令其实和 tset 是一同个命令，它的用途是设定终端机的状态。一般而言，这个命令会自动的从环境变数、命令列或是其它的组态档决定目前终端机的型态。如果指定型态是 ‘?’ 的话，这个程序会要求使用者输入终端机的型别。
由于这个程序会将终端机设回原始的状态，除了在 login 时使用外，当系统终端机因为程序不正常执行而进入一些奇怪的状态时，你也可以用它来重设终端机o 例如不小心把二进位档用 cat 指令进到终端机，常会有终端机不再回应键盘输入，或是回应一些奇怪字元的问题。此时就可以用 reset 将终端机回复至原始状态。

parameters:
|--help: 在线帮助 |
|--vesion: 显示版本信息 |
|-p: 将终端机类别显示在屏幕上，但不做设定的动作。这个命令可以用来取得目前终端机的类别 |
|-e ch: 将 erase 字元设成 ch |
|-i ch: 将中断字元设成 ch |
|-k ch: 将删除一行的字元设成 ch |
|-l: 不要做设定的动作，如果没有使用选项 -Q 的话，erase、中断及删除字元的目前值依然会送到屏幕上 |
|-Q: 不要显示 erase、中断及删除字元的值到屏幕上 |
|-r: 将终端机类别印在屏幕上 |
|-s: 将设定 TERM 用的命令用字串的型式送到终端机中，通常在 .login 或 .profile 中用 |

examples:
示例1: 
让使用者输入一个终端机型别并将终端机设到该型别的预设状态：
[root@linuxcool ~]# reset ?

示例2: 
将 erase 字元设定 control-h：
[root@linuxcool ~]# reset -e ^B

示例3: 
将设定用的字串显示在屏幕上：
[root@linuxcool ~]# reset -s


command_name: depmod
chinese_name: depmod命令 – 生成模块映射文件
description: depmod命令可产生模块依赖的映射文件，在构建嵌入式系统时，需要由这个命令来生成相应的文件，depmod命令支持内核版本为“2.5.48”以上，比此版本老的内核使用指令“depmod.old”。
syntax: depmod [参数]
category: 系统管理(system)
parameters:
|-a: 分析所有可用的模块 |
|-b<目录>: 指定内核模块目录 |
|-e: 输出无法参照的符号 |
|-F: 提供内核编译时生成的system.map文件 |
|-n: 将各种内核映射文件打印到标准输出 |
|-A: 快速模式 |

examples:
示例1: 
显示可用模块：
[root@linuxcool ~]# depmod -a

示例2: 
列出已挂载但不可用的模块：
[root@linuxcool ~]# depmod -e

示例3: 
列出所有模块的依赖关系，但仅仅是输出出来：
[root@linuxcool ~]# depmod -n


command_name: sgdisk
chinese_name: sgdisk命令 – Linux和Unix的命令行GPT操纵器
description: sgdisk是Linux下操作GPT分区的工具， sgdisk程序使用完全基于命令行的用户界面，使其适用于脚本或想要对磁盘进行一次或两次快速更改的专家。
syntax: sgdisk [参数] [设备]
category: 磁盘管理(disk)
parameters:
|-p: 打印分区表 |
|-d x: 删除分区 |
|-n x:y:z: 创建一个编号 x 的新分区，从 y扇区 开始，到 z扇区 结束 |
|-c x:y: 更改分区 x 的名称为 y |
|-t x:y: -t x:y 将分区 x 的类型更改为 y |
|–list-types: 列出分区类型代码 |

examples:
示例1: 
打印分区表：
[root@linuxcool ~]#  sgdisk -p /dev/sda

示例2: 
删除sda的第一个分区：
[root@linuxcool ~]# sgdisk -d 1 /dev/sda

示例3: 
创建一个编号 1 的新分区，从 1MiB 开始，到 2MiB  结束：
[root@linuxcool ~]# sgdisk -n 1:1MiB:2MiB /dev/sda

示例4: 
把编号为 1 的分区名称改为 grub：
[root@linuxcool ~]#  sgdisk -c 1:grub /dev/sda

示例5: 
将编号为 1 的分区，类型更改为 ef02：
[root@linuxcool ~]# sgdisk -t 1:ef02 /dev/sda

示例6: 
列出分区类型代码：
[root@linuxcool ~]# sgdisk --list-types


command_name: dmsetup
chinese_name: dmsetup命令 – 管理硬盘映射器
syntax: dmsetup [参数] [逻辑卷]名
category: 磁盘管理(disk)
description:
dmsetup命令来自英文词组“Device mapper setup”的缩写，其功能是用于管理硬盘映射器。dmsetup命令是Linux系统平台中一个更加底层的逻辑卷管理工具，能够轻松从设备底层管理LVM逻辑卷管理器中各个设备卷，如果用lvcreate和lvremove无法正常对逻辑卷进行管理了，那么则可以用dmsetup试一下。

parameters:
|deps: 显示设备的依赖关系 |
|info: 显示有关硬盘映射器的概述信息 |
|ls: 显示映射设备的名称列表 |
|remove: 删除指定的硬盘设备 |
|status: 显示指定设备中每个目标的状态信息 |
|table: 显示虚拟设备的映射表 |

examples:
示例1: 
显示系统中各个硬盘设备情况的概述：
[root@linuxcool ~]#dmsetup infoName:              rhel-swap
State:             ACTIVE
Read Ahead:        8192
Tables present:    LIVE
Open count:        2
Event number:      0
Major, minor:      253, 1
Number of targets: 1
UUID: LVM-wgyD2pBMAQl7wEV1wGtZBUpgvrrdR6qd43nqVhkGAVsw0NI0QsycwuOC500MeRIO

Name:              rhel-root
State:             ACTIVE
Read Ahead:        8192
Tables present:    LIVE
Open count:        1
Event number:      0
Major, minor:      253, 0
Number of targets: 1
UUID: LVM-wgyD2pBMAQl7wEV1wGtZBUpgvrrdR6qddQlpzqGLJKXq4GjbdG52P4XWmst2tKT4

示例2: 
显示系统映射的硬盘设备名称列表：
[root@linuxcool ~]#dmsetup lsrhel-swap	(253:1)
rhel-root	(253:0)

示例3: 
移除指定的硬盘设备卷：
[root@linuxcool ~]#dmsetup remove rhel-swap


command_name: vgsplit
chinese_name: vgsplit命令 – 将物理卷移动到新的或现有的卷组中
syntax: vgsplit [参数] [源卷组名] [目标卷组名] [物理卷路径]
category: 磁盘管理(disk)
description:
vgsplit命令的作用是可以从源卷组（物理卷）移动到新的或现有的卷组中。
使用vgsplit命令将一个或多个物理卷时，移动的物理卷可以指定物理卷路径，也可以通过-n逻辑卷名指定，但在这种情况下，只移动指定逻辑卷底层的物理卷。
如果目标卷组名称确实存在，将在移动物理卷之前检查它是否与源卷组名称冲突。 不能在卷组之间分割逻辑卷。 vgsplit命令只移动完整的物理卷。每个现有的逻辑卷必须完全位于构成源卷组或目标卷组的物理卷上。

parameters:
|-d: 启用调试模式 |
|-v: 显示详细信息 |
|-l<最大逻辑卷数>: 指定卷组中最大的逻辑卷数 |
|-- -vgmeladatacopies<数量>: 指定副本数量 |
|-M<1|2>: 指定元数据类型 |
|-n<逻辑卷名>: 指定逻辑卷的名称 |
|-A<y|n>: 是否自动备份 |
|-t: 启用测试模式 |
|-p<最大物理卷数>: 指定卷组中最大的物理卷数 |

examples:
示例1: 
将卷组vg1拆分为两个，生成新卷组vg2，该卷组成员为/dev/sda3：
[root@linuxcool ~]# vgsplit vg1 vg2 /dev/sda3

示例2: 
指定卷组中最大的物理卷数：
[root@linuxcool ~]# vgsplit -p 5 vg1 vg2 /dev/sda3

示例3: 
将/dev/sdg2与dev分离，添加到一个名为“ design”的新卷组：
[root@linuxcool ~]# vgsplit dev design /dev/sdg2


command_name: partx
chinese_name: partx命令 – 显示内核磁盘上分区情况
description: partx命令用来告诉内核当前磁盘的分区情况，对一个磁盘或者分区表类型，尝试解析分区表。可以增加或删除分区。但不是fdisk，增加，删除分区对磁盘造成改变，只是告诉内核当前磁盘的分区情况。
syntax: partx [参数] [设备]
parameters: |-a: 增加制定的分区或读磁盘新增的分区 | |-d: 删除制定或所有的分区 | |-l: 列出分区 | |--type: 指定分区类型 |
category: 磁盘管理(disk)
examples:
示例1: 
列出磁盘的分区表：
[root@linuxcool ~]# partx --show /dev/sda5

示例2: 
指定要显示的分区范围：
[root@linuxcool ~]# partx -a /dev/sdb

示例3: 
列出支持的分区类型：
[root@linuxcool ~]# partx --list-types


command_name: pwd
chinese_name: pwd命令 – 显示当前工作目录的路径
syntax: pwd [参数]
parameters: |-L: 显示逻辑路径 | |-P: 显示实际物理地址 | |--help: 显示帮助信息 |
examples: 示例1: 查看当前工作目录路径： [root@linuxcool ~]# pwd /root
category: 磁盘管理(disk)
description:
pwd命令来自英文词组print working directory的缩写，其功能是显示当前工作目录的路径，即显示所在位置的绝对路‍径。
在实际工作中，我们经常会在不同目录之间进行切换，为了防止“迷路”，可以使用pwd命令快速查看当前所处的工作目录路径，方便开展后续工作。


command_name: lvresize
chinese_name: lvresize命令 – 调整LVM逻辑卷空间大小
description: lvresize命令用于调整LVM逻辑卷的空间大小，可以增大空间和缩小空间。使用lvresize命令调整逻辑卷空间大小和缩小空间时需要谨慎，因为它有可能导致数据丢失。
syntax: lvresize [参数]
parameters: |-L: 指定逻辑卷的大小, 单位为“kKmMgGtT”字节 | |-l: 指定逻辑卷的大小（LE数） |
category: 磁盘管理(disk)
examples:
示例1: 
将逻辑卷空间增加200M：
[root@linuxcool ~]# lvresize -L +200M /dev/vg1000/lvol0
Extending logical volume lvol0 to 280.00 MB Logical volume lvol0 successfully resized


command_name: pvdisplay
chinese_name: pvdisplay命令 – 显示物理卷属性
description: pvdisplay命令用于显示物理卷的属性。显示的物理卷信息包括：物理卷名称、所属的卷组、物理卷大小、PE大小、总PE数、可用PE数、已分配的PE数和UUID。
syntax: pvdisplay [参数]
parameters: |-s: 以短格式输出 | |-m: 显示PE到LE的映射 |
category: 磁盘管理(disk)
examples:
示例1: 
显示物理卷基本信息：
[root@linuxcool ~]# pvdisplay /dev/xvda2
--- Physical volume ---
PV Name               /dev/xvda2
VG Name               VolGroup
PV Size               7.51 GiB / not usable 3.00 MiB
Allocatable           yes (but full)
PE Size               4.00 MiB
Total PE              1922
Free PE               0
Allocated PE          1922
PV UUID               6MQM6I-pgfg-PHVp-0cvz-k2WQ-YwP7-M0ee0b


command_name: quotacheck
chinese_name: quotacheck命令 – 扫描获取磁盘信息
description: quotacheck命令通过扫描指定的文件系统，获取磁盘的使用情况，创建、检查和修复磁盘配额（quota）文件。
syntax: quotacheck [参数]
category: 磁盘管理(disk)
parameters:
|-a: 扫描在/etc/fstab文件里，有加入quota设置的分区 |
|-d: 详细显示指令执行过程，便于排错或了解程序执行的情形 |
|-g: 扫描磁盘空间时，计算每个群组识别码所占用的目录和文件数目 |
|-R: 排除根目录所在的分区 |
|-u: 扫描磁盘空间时，计算每个用户识别码所占用的目录和文件数目 |

examples:
示例1: 
将所有的在/etc/mtab内，含有quota支持的partition进行扫描：
[root@linuxcool ~]# quotacheck -avug

示例2: 
强制扫描已挂载的filesystem：
[root@linuxcool ~]# quotacheck -avug -m


command_name: mdu
chinese_name: mdu命令 – 显示MS-DOS目录所占用的磁盘空间
description: mdu命令用于显示MS-DOS目录所占用的磁盘空间，mdu为mstools工具指令，可显示MS-DOS文件系统中目录所占用的磁盘空间。
syntax: mdu [参数]
parameters: |-a: 显示每个文件及整个目录所占用的空间 | |-s: 仅显示整个目录所占用的空间 |
category: 磁盘管理(disk)
examples:
示例1: 
显示每个文件及整个目录所占用的空间:
[root@linuxcool ~]# mdu -a

示例2: 
仅显示整个目录所占用的空间：
[root@linuxcool ~]# mdu -s


command_name: mknod
chinese_name: mknod命令 – 创建字符及块设备文件
syntax: mknod [参数] [设备名称]
parameters: |c: 设置为字符设备类型 | |b: 设置为设备类型 | |-m: 设置权限模式 | |-Z: 设置安全上下文 | |--help: 显示帮助信息 | |--version: 显示版本信息 |
category: 磁盘管理(disk)
description:
mknod命令的功能是用于创建字符及块设备文件，Linux系统中的一切都是文件，在系统与设备通信之前，都会自动在/dev目录中生成对应的设备文件，如若没有自动完成，则需要管理员手动使用mknod命令建立它们。

examples:
示例1: 
创建一个指定名称的字符设备：
[root@linuxcool ~]#mknod linuxcool c 30 1

示例2: 
创建一个指定名称的块设备：
[root@linuxcool ~]#mknod linuxprobe b 50 0


command_name: vgs
chinese_name: vgs命令 – 显示逻辑卷的卷组信息
syntax: vgs [参数] [卷组名]
category: 磁盘管理(disk)
description:
vgs命令来自英文词组“volume groups display”的缩写，其功能是用于显示逻辑卷的卷组信息。LVM逻辑卷管理器中vg卷组是由一个或多个pv物理卷组成的设备，使用vgs命令能够查看到其基本信息，如若想要看到更详细的参数信息则需要使用vgdisplay命令。

parameters:
|--aligned: 使用分隔符对齐显示结果信息 |
|--all: 显示所有的卷组信息 |
|--help: 显示帮助信息 |
|--nameprefixes: 设置在前缀加上字段名 |
|--noheadings: 不显示标题行 |
|--nosuffix: 设置在输出尺寸上后缀 |
|--rows: 输出的列作为行 |
|--unbuffered: 直接输出内容，无需排序或对齐列 |
|--units: 设置显示卷组大小时的单位 |
|--version: 显示版本信息 |

examples:
示例1: 
查看系统中所有的卷组设备信息：
[root@linuxcool ~]#vgsVG   #PV #LV #SN Attr   VSize   VFree
  rhel   1   2   0 wz--n- <19.00g    0

示例2: 
查看系统中所有的卷组设备信息，不显示标题行：
[root@linuxcool ~]#vgs --noheadingsrhel   1   2   0 wz--n- <19.00g    0

示例3: 
指定以兆（M）为单位输出卷组设备大小信息：
[root@linuxcool ~]#vgs --units=MVG   #PV #LV #SN Attr   VSize     VFree
  rhel   1   2   0 wz--n- 20396.90M    0M


command_name: mkimage
chinese_name: mkimage命令 – 制作可启动镜像文件
syntax: mkimage [参数] [文件名]
category: 磁盘管理(disk)
description:
mkimage命令来自英文词组“Make image”的缩写，其功能是用于制作可启动镜像文件。mkimage命令是u-boot嵌入式系统引导加载程序用于制作系统镜像文件的工具，在使用bootm命令加载内核和根文件系统时都要用到这个工具。

parameters:
|-a: 设置RAM地址 |
|-A: 设置CPU架构 |
|-C: 设置压缩类型 |
|-d: 设置程序文件名 |
|-e: 设置内核的入口地址 |
|-n: 设置镜像文件名 |
|-O: 设置操作系统 |
|-T: 设置镜像类型 |

examples:
示例1: 
指定CPU架构和操作系统，制作系统镜像文件：
[root@linuxcool ~]#mkimage -A arm -O linux -a 0x20008000 -e 0x20008000 -d File.bin.gz uImage

示例2: 
指定压缩格式，制作系统镜像文件：
[root@linuxcool ~]#mkimage -A arm -O linux -C bzip2 -a 0x20008000 -e 0x20008000 -d File.bin.gz uImage


command_name: vgextend
chinese_name: vgextend命令 – 扩展卷组设备
syntax: vgextend [参数] 卷组
category: 磁盘管理(disk)
description:
vgextend命令来自英文词组volume group extend的缩写，其功能是扩展卷组设备。LVM（逻辑卷管理器）技术具有灵活调整卷组与逻辑卷的特点，可以在创建卷组时规定物理卷的数量，亦可在后期使用vgextend命令进行扩展。

parameters:
|-A: 设置是否自动备份 |
|-d: 使用调试模式 |
|-f: 强制进行卷组扩展而不询问 |
|-h: 显示帮助信息 |
|-v: 显示执行过程详细信息 |
|-y: 所有询问均回答自动yes |

examples:
示例1: 
将指定的物理卷加入卷组设备：
[root@linuxcool ~]# vgextend VG01 /dev/sdb 
Volume group "VG01" successfully extended


command_name: e2fsck
chinese_name: e2fsck命令 – 检查使用 Linux ext2档案系统的partition是否正常工作
syntax: e2fsck [参数]
examples: 示例1: 检查 /dev/hda5 是否正常，如果有异常便自动修复，并且设定若有问答，均回答[是]: [root@linuxcool ~]# e2fsck -a -y /dev/hda5
category: 磁盘管理(disk)
description:
e2fsck命令用于检查使用Linuxext2 档案系统的 partition 是否正常工作。 e2fsck命令可以检查ext2、ext3、ext4文件系统，如果系统已经挂载了，那么不建议去检查，因为这样是不安全的。此命令的适用范围：RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

parameters:
|device: 预备检查的硬盘 partition，例如：/dev/sda1 |
|-b: 设定存放 superblock 的位置 |
|-B: 设定单位 block 的大小 |
|-c: 检查该partition 是否有坏轨 |
|-C file: 将检查的结果存到 file 中以便查看 |
|-d: 列印 e2fsck 的 debug 结果 |
|-f: 强制检查 |
|-F: 在开始检查前，将device 的 buffer cache 清空，避免有错误发生 |
|-l bad_blocks_file: 将有坏轨的block资料加到 bad_blocks_file 里面 |
|-L bad_blocks_file: 设定坏轨的block资料存到 bad_blocks_file 里面，若无该档则自动产生 |
|-n: 将档案系统以[唯读]方式开启 |
|-p: 对 partition 做检查，若有问题便自动修复 |
|-v: 详细显示模式 |
|-V: 显示出目前 e2fsck 的版本 |
|-y: 预先设定所有检查时的问题均回答[是] |


command_name: pvremove
chinese_name: pvremove命令 – 删除物理卷
description: pvremove命令用于删除一个存在的物理卷。使用pvremove指令删除物理卷时，它将LVM分区上的物理卷信息删除，使其不再被视为一个物理卷。
syntax: pvremove [参数]
parameters: |-d: 调试模式 | |-f: 强制删除 | |-y: 对提问回答yes |
category: 磁盘管理(disk)
examples:
示例1: 
使用pvremove命令删除物理卷/dev/sdb1：
[root@linuxcool ~]# pvremove /dev/sdb1

示例2: 
使用pvremove命令强制删除物理卷/dev/sdb2：
[root@linuxcool ~]# pvremove -f /dev/sdb2


command_name: partprobe
chinese_name: partprobe命令 – 重读分区表信息
syntax: partprobe [参数] [设备名]
parameters: |-d: 不更新内核 | |-h: 显示帮助信息 | |-v: 显示版本信息 |
category: 磁盘管理(disk)
description:
partprobe命令来自英文词组partition probe的缩写，其功能是重读分区表信息。该命令可将磁盘分区表变化信息通知给系统内核，请求操作系统重新加载分区表。有时我们在创建或删除分区设备后，系统并不会立即生效，这时就需要使用partprobe命令在不重启系统的情况下重新读取分区表信息，使新设备信息与系统同‍步。

examples:
示例1: 
重读系统中全部设备的分区表信息：
[root@linuxcool ~]# partprobe

示例2: 
重读系统中指定设备的分区表信息：
[root@linuxcool ~]# partprobe /dev/sda

示例3: 
查看命令的帮助信息：
[root@linuxcool ~]# partprobe -h
Usage: partprobe [OPTION] [DEVICE]...
Inform the operating system about partition table changes.

  -d, --dry-run    do not actually inform the operating system
  -s, --summary    print a summary of contents
  -h, --help       display this help and exit
  -v, --version    output version information and exit

When no DEVICE is given, probe all partitions.


command_name: lvchange
chinese_name: lvchange命令 – 更改逻辑卷属性
syntax: lvchange [参数] [逻辑卷路径]
category: 磁盘管理(disk)
description:
lvchange命令来自英文词组“LV change”的缩写，其功能是用于更改逻辑卷属性。LVM逻辑卷管理器是Linux系统中常用的磁盘管理方式，但lvchange命令却并不是LVM技术常用的工具，仅用于需要更改LV逻辑卷属性时才会被用到。

parameters:
|-a: 设置逻辑卷的可用性 |
|-C: 设置逻辑卷的连续分配策略 |
|-p: 设置访问权限 |
|-r: 设置预读比逻辑卷的扇区数 |
|--minor: 设置次要号码 |
|--monitor: 启动或停止监控逻辑卷快照 |
|--noudevsync: 禁用udev同步 |
|--refresh: 重新加载其元数据 |
|--resync: 强制镜像完全同步 |
|--sysinit: 使用早期系统初始化脚本 |

examples:
示例1: 
设置指定的逻辑卷设备状态为不可用：
[root@linuxcool ~]#lvchange -a y /dev/vg/linuxcool

示例2: 
设置指定的逻辑卷设备访问权限为只读类型：
[root@linuxcool ~]#lvchange -p r /dev/vg/linuxcool

示例3: 
强制镜像设备重新同步：
[root@linuxcool ~]#lvchange --resync /dev/vg/linuxcool

示例4: 
禁用udev服务同步：
[root@linuxcool ~]#lvchange --noudevsync /dev/vg/linuxcool

示例5: 
重新加载逻辑卷元数据：
[root@linuxcool ~]#lvchange --refresh /dev/vg/linuxcool


command_name: fsck-minix
chinese_name: fsck.minix命令 – 文件系统管理
syntax: fsck.minix [参数]
category: 磁盘管理(disk)
description:
Linuxfsck.minix命令用于检查文件系统并尝试修复错误。
当minix文件系统发生错误时，可用fsck.minix指令尝试加以参考。
MINIX文件系统（英语：MINIX file system），一种文件系统，是MINIX操作系统中的原生文件系统。
MINIX是一个迷你版本的类Unix操作系统，由塔能鲍姆教授为了教学之用而创作，采用微核心设计。它启发了Linux核心的创作。

parameters:
|-a: 自动修复文件系统，不询问任何问题 |
|-f: 强制对该文件系统进行完整检查，纵然该文件系统在慨略检查下没有问题 |
|-l: 列出所有文件名称 |
|-m: 使用类似MINIX操作系统的警告信息 |
|-r: 采用互动模式，在执行修复时询问问题，让用户得以确认并决定处理方式 |
|-s: 显示该分区第一个磁区的相关信息 |
|-v: 显示指令执行过程 |

examples:
示例1: 
自动修复磁盘/etc/hdc1：
[root@linuxcool ~]# fsck.minix -a /etc/hdc1

示例2: 
强制检查磁盘/etc/hdc1：
[root@linuxcool ~]# fsck.minix -f /etc/hdc1

示例3: 
列出磁盘/etc/hdc1所有文件名称：
[root@linuxcool ~]# fsck.minix -l /etc/hdc1


command_name: repquota
chinese_name: repquota命令 – 显示文件系统配额的汇总信息
syntax: repquota [参数] [文件]
category: 磁盘管理(disk)
description:
repquota用于显示指定文件系统的磁盘使用情况与配额设置的汇总信息，对于用户，显示当前创建的文件数量、存储空间使用数量，以及配额的设置信息。
由于需要把所有的用户ID与用户组ID翻译成相应的用户名与用户组名，repquota在显示数据时可能会有时间上的延迟。

parameters:
|-g: 显示基于用户组的配额信息 |
|-i: 忽略automounter守护进程安装的安装点 |
|-a: 显示/etc/mtab文件中已经设置了配额限制的所有文件系统的配额信息 |
|-c: 能把所有的用户id与用户组id一次翻译成用户名和用户名组 |
|-F: 按照指定格式显示配额信息 |
|-s: 采用易于理解的适当单位显示存储空间 |
|-v: 显示详细的配额信息，最后给出汇总统计数据 |

examples:
示例1: 
查询所有用户的配额设置与存储空间的实际使用状况：
[root@linuxcool ~]# repquota -av

示例2: 
采用易于阅读和理解的适当单位显示用户使用空间：
[root@linuxcool ~]# repquota -asv


command_name: lvmdiskscan
chinese_name: lvmdiskscan命令 – 扫描可见LVM2所有设备
parameters: |-l: 只报告物理卷 | |-v: 长格式显示 | |-h: 帮助 | |-d: 调试模式 |
category: 磁盘管理(disk)
description:
lvmdiskscan命令的作用是可以在系统中为LVM物理卷扫描所有的SCSI、IDE磁盘、多种设备和其他块设备。
lvmdiskscan命令会扫描所有可见的LVM2设备，而LVM2比LVM1支持了更多的逻辑卷类型，支持了cluster lvm功能，提供了基于文本格式的元数据信息，提供了更多的命令集和操作命令。
lvmdiskscan命令报告的大小就是实际设备的大小。通常还可以通过lvmdiskscan命令来查看那些设备被做成了物理卷。
常用参数：lvmdiskscan [参数]
常用参数：
参考实例
扫描可见LVM2所有设备，只报告物理卷：
扫描所有可见LVM2设备：
扫描可见LVM2所有设备，以长格式显示：
这篇优质的内容由TA贡献而来
刘遄
《Linux就该这么学》书籍作者，RHCA认证架构师，教育学（计算机专业硕士）。
京ICP备16058923号-1
推荐用书：《Linux就该这么学》
真正好用的Linux命令在线查询手册

examples:
示例1: 
扫描可见LVM2所有设备，只报告物理卷：
[root@linuxcool ~]# lvmdiskscan -l

示例2: 
扫描所有可见LVM2设备：
[root@linuxcool ~]# lvmdiskscan

示例3: 
扫描可见LVM2所有设备，以长格式显示：
[root@linuxcool ~]# lvmdiskscan -v


command_name: quotaoff
chinese_name: quotaoff命令 – 关闭磁盘空间限制
syntax: quotaoff [参数]
parameters: |-a: 关闭在/etc/fstab文件里，有加入quota设置的分区的空间限制 | |-g: 关闭群组的磁盘空间限制 | |-u: 关闭用户的磁盘空间限制 | |-v: 显示指令执行过程 |
category: 磁盘管理(disk)
description:
quotaoff命令关闭磁盘空间限制。
执行quotaoff命令可关闭用户和群组的磁盘空间限制。磁盘配额服务(quota)既然能使用 quotaon [命令]手动开启，那么自然也能手动关闭，使用quotaoff命令即可。quotaoff命令的功能就是关闭 quota 服务，此命令的基本格式同quotaon命令一样。

examples:
示例1: 
关闭配额限制：
[root@linuxcool ~]# mkfs -V -t msdos -c /dev/hda5

示例2: 
将sda6分区格式化为ext3格式：
[root@linuxcool ~]# quotaoff -a


command_name: pvmove
chinese_name: pvmove命令 – 移动PV物理盘
syntax: pvmove [参数] [源物理卷] [目标物理卷]
category: 磁盘管理(disk)
description:
pvmove命令来自英文词组“move physical volume”的缩写，其功能是用于移动PV物理盘。pvmove命令能够将某个指定的物理卷上的物理盘移动至另一个目标物理卷中，只要物理卷不同，就可以同时执行多个pvmove命令进行批量移动，效率还是很高的。

parameters:
|-b: 在后台运行守护进程 |
|-i: 设置报告进度的间隔时间 |
|-n: 仅移动属于指定逻辑卷的物理卷 |
|--noudevsync: 禁用udev同步服务 |
|--abort: 中止进行中的移动操作 |

examples:
示例1: 
将指定源物理卷（/dev/sda）上的物理盘区移动至指定目标物理卷（/dev/sdb）上：
[root@linuxcool ~]#pvmove /dev/sda /dev/sdb

示例2: 
将指定源物理卷（/dev/sda）上的物理盘区1000~1999，移动到目标物理卷（/dev/sdb）上：
[root@linuxcool ~]#pvmove /dev/sda:1000-1999 /dev/sdb

示例3: 
中止正在进行的任何移动工作：
[root@linuxcool ~]#pvmove --abort


command_name: pvs
chinese_name: pvs命令 – 格式化输出物理卷信息报表
description: pvs命令用于格式化输出物理卷信息报表，使用pvs命令仅能得到物理卷的概要信息。
syntax: pvs [参数]
parameters: |--noheadings: 不输出标题头 | |--nosuffix: 不输出空间大小的单位 |
category: 磁盘管理(disk)
examples:
示例1: 
输出物理卷信息报表：
[root@linuxcool ~]# pvs
PV         VG       Fmt  Attr PSize  PFree
/dev/xvda2 VolGroup lvm2 a--u  7.51g    0
/dev/xvda3 VolGroup lvm2 a--u 11.99g 1.99g


command_name: iozone
chinese_name: iozone命令 – 测试磁盘性能
description: iozone命令来自英文词组“I/O zone”的拼写，其功能是用于测试磁盘性能。iozone是一个文件系统的检测工具，能够用来测试不同操作系统中的文件读写性能，通过这些量化的指标更好地调优服务器。
syntax: lozone [参数] [文件名]
category: 磁盘管理(disk)
parameters:
|-a: 使用自动模式 |
|-b: 输出成一个表格文件 |
|-C: 显示测试中每个客户传输的字节数 |
|-E: 进行扩展测试 |
|-f: 设置测试文件名 |
|-g: 设置最大文件大小 |
|-h: 显示帮助信息 |
|-i: 使用测试模式 |
|-n: 设置最小文件大小 |
|-q: 设置最大记录值 |
|-s: 设置测试时文件体积 |
|-t: 设置测试时启动的进程数 |

examples:
示例1: 
测试指定的文件读写性能（/Dir/File），并将结果输出成表格文件（File.xls）：
[root@linuxcool ~]#iozone -a -n 512m -g 4g -i 0 -i 1 -i 5 -f /Dir/File-Rb ./File.xls

示例2: 
指定文件块大小，并进行读写性能测试：
[root@linuxcool ~]#iozone -a -i 0 -i 1 -i 2 -s 8g -r 16m -Rb ./File.xls

示例3: 
对指定的挂载盘进行读写性能测试：
[root@linuxcool ~]#iozone -a -n 1g -g 4g -i 0 -i 1 -f /Dir/File-Rb ./File.xls


command_name: mdadm
chinese_name: mdadm命令 – 管理RAID设备
syntax: mdadm [参数] [设备名]
category: 磁盘管理(disk)
description:
mdadm命令来自英文词组multiple devices admin的缩写，其功能是管理RAID设备。作为Linux系统下软RAID设备的管理神器，mdadm命令可以进行创建、调整、监控、删除等全套管理操作。

parameters:
|-a: 向RAID中添加新设备 |
|-B: 不把RAID信息写入每个成员的超级块中 |
|-c: 设置数据块默认大小 |
|-C: 把RAID信息写入每个成员的超级块中 |
|-D: 显示RAID设备的详细信息 |
|-E: 显示RAID设备成员的详细信息 |
|-f: 将指定RAID设备成员设置为故障模式 |
|-F: 使用监控模式 |
|-G: 设置RAID设备大小 |
|-I: 添加设备到RAID中 |
|-n: 设置RAID中活动设备的数量 |
|-r: 将指定成员移出RAID设备 |
|-R: 开始部分组装RAID设备 |
|-s: 扫描配置文件以搜寻丢失的信息 |
|-S: 停用RAID设备，并释放所有资源 |
|-v: 显示执行过程详细信息 |
|-x: 设置初始RAID设备的备用成员数量 |
|-z: 设置初始化RAID设备后，从每个成员获取的空间容量 |
|--zero-superblock: 使用零覆盖RAID设备中的超级块 |

examples:
示例1: 
使用4块硬盘设备创建一个指定名称且级别为RAID 10的磁盘阵列组：
[root@linuxcool ~]# mdadm -Cv /dev/md0 -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde
mdadm: layout defaults to n2 
mdadm: layout defaults to n2 
mdadm: chunk size defaults to 512K 
mdadm: size set to 20954112K 
mdadm: Defaulting to version 1.2 metadata 
mdadm: array /dev/md0 started.

示例2: 
查看指定RAID设备的简要信息：
[root@linuxcool ~]# mdadm -Q /dev/md0 
/dev/md0: 39.97GiB raid10 4 devices, 0 spares. Use mdadm --detail for more detail.

示例3: 
查看指定RAID设备的详细信息：
[root@linuxcool ~]# mdadm -D /dev/md0 
/dev/md0: 
           Version : 1.2 
     Creation Time : Wed Jan 13 08:24:58 2024 
        Raid Level : raid10 
        Array Size : 41908224 (39.97 GiB 42.91 GB) 
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB) 
      Raid Devices : 4 
     Total Devices : 4 
       Persistence : Superblock is persistent 

       Update Time : Thu Jan 14 04:49:57 2024 
             State : clean 
    Active Devices : 4 
   Working Devices : 4 
    Failed Devices : 0 
     Spare Devices : 0 

            Layout : near=2 
        Chunk Size : 512K 

Consistency Policy : resync 

              Name : localhost.localdomain:0 (local to host linuxprobe.com) 
              UUID : 289f501b:3f5f70f9:79189d77:f51ca11a 
            Events : 17 

Number   Major   Minor   RaidDevice  State 
   0       8       16        0       active sync set-A  /dev/sdb 
   1       8       32        1       active sync set-B  /dev/sdc 
   2       8       48        2       active sync set-A  /dev/sdd 
   3       8       64        3       active sync set-B  /dev/sde

示例4: 
将指定的硬盘从RAID设备中停止：
[root@linuxcool ~]# mdadm /dev/md0 -f /dev/sdb 
mdadm: set /dev/sdb faulty in /dev/md0 
[root@linuxcool ~]# mdadm /dev/md0 -r /dev/sdb 
mdadm: hot removed /dev/sdb from /dev/md0

示例5: 
将指定的硬盘添加至RAID设备中：
[root@linuxcool ~]# mdadm /dev/md0 -a /dev/sdb 
mdadm: added /dev/sdb

示例6: 
彻底停用一个RAID设备：
[root@linuxcool ~]# mdadm --stop /dev/md0 
mdadm: stopped /dev/md0


command_name: quotaon
chinese_name: quotaon命令 – 激活Linux内核中指定文件系统的磁盘配额功能
syntax: quotaon [参数]
parameters: |-a: 开启在/ect/fstab文件里，有加入quota设置的分区的空间限制 | |-g: 开启群组的磁盘空间限制 | |-u: 开启用户的磁盘空间限制 | |-v: 显示指令指令执行过程 |
category: 磁盘管理(disk)
description:
quotaon命令用于激活Linux内核中指定文件系统的磁盘配额功能。执行quotaon指令可开启用户和群组的才磅秒年空间限制，各分区的文件系统根目录必须有quota.user和quota.group配置文件。

examples:
示例1: 
开启在/ect/fstab文件里，有加入quota设置的分区的空间限制：
[root@linuxcool ~]# quotaon -a

示例2: 
开启指定分区的磁盘配额：
[root@linuxcool ~]# quotaon /dev/sdb1


command_name: mpartition
chinese_name: mpartition命令 – 建立或删除MS-DOS的分区
syntax: mpartition [参数]
category: 磁盘管理(disk)
description:
在讲述该命令之前，首先需要明白目录和分区的概念和区别：
Linux的分区是物理上的概念，从物理上将存储空间分开；Linux的目录是逻辑上的概念，Linux的目录树实际上是一个分区之间的数据逻辑结构关系，不是物理结构；一个分区必须挂载在一个目录下才能使用，分区可以挂载到任何目录；
总结：分区是真正存放数据的地方，只有一份数据。目录是分区数据的逻辑映射，就像Windows系统中的快捷方式一样，分区的数据可以挂载到任意多个不同目录，这些目录就像不同名的快捷方式，都指向同样的分区数据；
而mpartition为mtools工具命令，可建立或删除磁盘分区。mpartition命令用于建立或删除MS-DOS的分区。使用该命令正可以很好的进行磁盘分区。

parameters:
|-a: 将分区设置为可开机分区 |
|-b<磁区数>: 建立分区时，指定要从第几个磁区开始建立分区。 |
|-c: 建立分区 |
|-d: 将分区设置为无法开机的分区 |
|-f: 强制地修改分区而不管检查时发生的错误信息 |
|-h<磁头数>: 建立分区时，指定分区的磁头数 |
|-I: 删除全部的分区 |
|-p: 当要重新建立分区时，显示命令列 |
|-r: 删除分区 |

examples:
示例1: 
将/etc/linuxcool设置为可开机分区：
[root@linuxcool ~]# mpartition -a /etc/linuxcool

示例2: 
删除指定分区：
[root@linuxcool ~]# mpartition -r /etc/linuxcool

示例3: 
建立新分区：
[root@linuxcool ~]# mpartition -c /etc/linuxcool


command_name: edquota
chinese_name: edquota命令 – 编辑用户或群组的磁盘配额
description: edquota预设会使用vi来编辑使用者或群组的磁盘配额设置
syntax: edquota [参数] [用户或群组名称…]
parameters: |-u: 设置用户的磁盘配额，这是预设的参 | |-g: 设置群组的磁盘配额 | |-p: 将源用户的磁盘配额设置套用至其他用户或群组 | |-t: 设置宽限期限 |
category: 磁盘管理(disk)
examples:
示例1: 
假设linuxcool是需要定额的系统帐户，来为用户分配磁盘配额：
[root@linuxcool ~]# edquota -u linuxcool

示例2: 
想对Jack、Tom、Chen三个用户使用和linuxcool一样的限额配置：
[root@linuxcool ~]# edquota -p linuxcool -u Jack Tom Chen

示例3: 
对组的配额，除了edquota命令中对应-u选项的改为-g选项，例如下面对webterm1组的操作：
[root@linuxcool ~]# edquota -g webterm1


command_name: lvreduce
chinese_name: lvreduce命令 – 减少LVM逻辑卷所占空间大小
description: lvreduce命令用于减少LVM逻辑卷占用的空间大小。使用lvreduce命令收缩逻辑卷的空间大小有可能会删除逻辑卷上已有的数据，所以在操作前必须进行确认。
syntax: lvreduce [参数]
parameters: |-L: 指定逻辑卷的大小, 单位为“kKmMgGtT”字节 | |-l: 指定逻辑卷的大小（LE数） | |-f: 在不提示的情况下减小空间 |
category: 磁盘管理(disk)
examples:
示例1: 
将逻辑卷的空间大小减少50M：
[root@linuxcool ~]# lvreduce -L -50M /dev/vg1000/lvol0 
................  
Do you really want to reduce lvol0? [y/n]: y       
Reducing logical volume lvol0 to 252.00 MB     
Logical volume lvol0 successfully resized


command_name: lndir
chinese_name: lndir命令 – 连接目录内容
syntax: lndir [参数]
parameters: |-ignorelinks: 直接建立符号连接的符号连接 | |-silent: 不显示指令执行过程 |
examples: 示例1: 给目录下所有的文件或者子文件目录建立链接： [root@linuxcool ~]# lndir /home/uptech abc
category: 磁盘管理(disk)
description:
lndir命令的全称为“ link directory ”，该命令用于连接目录内容。
执行lndir命令可以把源目录底下的文件和子目录统统建立起相互对应的符号连接。lndir命令用于创建目录的符号链接，和ln不同的是lndir会自动为源文件目录下所有的文件和子目录都建立对应的符号链接。


command_name: eject
chinese_name: eject命令 – 退出抽取式设备
description: eject命令用于退出抽取式设备。若设备已挂入，则eject会先将该设备卸除再退出。
syntax: eject [参数] [设备]
examples: 示例1: 不加参数默认弹出： [root@linuxcool ~]# eject 示例2: 指定设备: [root@linuxcool ~]# eject -r /dev/cdrom
category: 磁盘管理(disk)
parameters:
|-a: 控制设备的自动退出功能 |
|-c: 选择光驱柜中的光驱 |
|-d: 显示预设的设备，而不是实际执行动作 |
|-f: 退出抽取式磁盘 |
|-h: 显示帮助 |
|-n: 显示指定的设备 |
|-q: 退出磁带 |
|-r: 退出光盘 |
|-s: 以SCSI指令来退出设备 |
|-t: 关闭光盘的托盘 |
|-v: 执行时，显示详细的说明 |


command_name: mlabel
chinese_name: mlabel命令 – 设定磁盘的标签
syntax: mlabel [参数] [设备]
parameters: |-v: 更多的讯息 | |-c: 清除原有的标签，不出现提示讯息 | |-s: 显示目前的标签，不出现提示讯息 |
examples: 示例1: 将 A 盘的标签更改为 newlabel： [root@linuxcool ~]# mlabel a:newlabel
category: 磁盘管理(disk)
description:
mlabel命令用于设定磁盘的标签 (Label)。
如果磁盘上设定过标签，mlabel 会将他显示给使用者。如果没有指定新标签并且没有指定 c 或 s 选项，mlabel 会提示使用者输入新的标签。如果直接按下 Enter ，就会将原本的标签删除。


command_name: vgimport
chinese_name: vgimport命令 – 导入卷组
description: vgimport命令的作用是可以导入卷组。 从不同的系统移动导出物理卷之后，vgimport命令配合相应map文件可以让系统再次认出导出的卷组。
syntax: vgimport [参数] [卷组名]
category: 磁盘管理(disk)
parameters:
|-a: 导入所有已经存在的卷组 |
|-s: 扫描与系统连接的每个磁盘，并使用具有匹配卷组信息的物理卷更新/etc/lvmtab文件，始终与-m一起使用 |
|-m: 产生一个map文件 |
|-v: 显示详细过程 |
|-N: 在/etc/lvmtab文件中填充持久性设备专用文件来配置卷组，只能与-s一起使用 |

examples:
示例1: 
导入卷组vgl：
[root@linuxcool ~]# vgimport vgl

示例2: 
使用map文件导入并自动搜索相应的硬盘：
[root@linuxcool ~]# vgimport –s –m /tmp/linuxcool_vg.map /dev/linuxcool_vg

示例3: 
显示详细操作过程进行卷组导入：
[root@linuxcool ~]# vgimport -v -s -m /tmp/linuxcool_vg.map /dev/linuxcool_vg


command_name: vgcfgrestore
chinese_name: vgcfgrestore命令 – 还原卷组描述符区域
description: vgcfgrestore命令的作用是可以从一个文件备份中恢复卷组的元数据。可以附加相关参数来指定备份文件，如果没有指定备份文件，使用最近的一次。也可以使用附加参数列出可用的卷组名备份和归档文件。
syntax: vgcfgrestore [参数] [卷组名]
category: 磁盘管理(disk)
parameters:
|-l: 列出有关卷组元数据备份的文件和有关卷组的归档文件 |
|-n<卷组名>: 指定卷组名 |
|-f<文件名>: 指定用于恢复的LVM元数据备份文件 |
|-- -force: 以精简池卷恢复元数据（不进行任何校验，慎用） |

examples:
示例1: 
恢复卷组vg_linuxcool的元数据：
[root@linuxcool ~]# vgcfgrestore vg_linuxcool

示例2: 
使用指定用于恢复元数据备份文件：
[root@linuxcool ~]# vgcfgrestore /dev/vg0 -f /archive/vg0_backup.vg

示例3: 
列出指定卷组名下的备份：
[root@linuxcool ~]# vgcfgrestore -l -n vg_linuxcool


command_name: pvresize
chinese_name: pvresize命令 – 调整LVM中物理卷的容量大小
syntax: pvresize [参数] [物理卷名]
category: 磁盘管理(disk)
description:
pvresize命令来自英文词组physical volume resize的缩写，其功能是调整LVM中物理卷的容量大小。pvresize命令可以调整已在卷组中的物理卷的容量大小，一般在物理卷设备扩容或缩容前进行此操作，并在提前告知操作系统和LVM新的物理卷大小，若要缩小物理卷的容量，则不得低于已使用的容量。

parameters:
|-d: 使用调试模式 |
|-h: 显示帮助信息 |
|-t: 使用测试模式 |
|-v: 显示执行过程详细信息 |
|--reportformat: 设置当前报告的输出格式 |
|--setphysicalvolumesize: 覆盖物理卷自动检测到的尺寸 |

examples:
示例1: 
同步物理卷的容量为最新大小：
[root@linuxcool ~]# pvresize /dev/sda2 
  Physical volume "/dev/sda2" changed 
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized

示例2: 
调整物理卷的容量大小为20GB（需二次确认）：
[root@linuxcool ~]# pvresize --setphysicalvolumesize 20G /dev/sda2 
  WARNING: /dev/sda2: Overriding real size <19.00 GiB. You could lose data. 
/dev/ sda2: Requested size 20.00 GiB exceeds real size <19.00 GiB. Proceed? [y/n]: y 
  WARNING: /dev/sda2: Pretending size is 41943040 not 39843840 sectors. 
  Physical volume "/dev/sda2" changed 
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized

示例3: 
以测试模式运行，同步物理卷的容量为最新大小：
[root@linuxcool ~]# pvresize -t /dev/sda2 
  TEST MODE: Metadata will NOT be updated and volumes will not be (de)activated. 
  WARNING: Device /dev/sda2 has size of 39843840 sectors which is smaller than corresponding PV size of 41940992 sectors. Was device resized? 
  One or more devices used as PVs in VG rhel_linuxprobe have changed sizes. 
  Physical volume "/dev/sda2" changed 
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized


command_name: gdisk
chinese_name: gdisk命令 – 交互式管理GTP分区设备
syntax: gdisk [参数] [设备名]
parameters: |-l: 显示分区表信息 |
category: 磁盘管理(disk)
description:
gdisk命令来自英文词组“GPT fdisk”的缩写，其功能是用于交互式管理GTP分区设备。gdisk是一个基于命令行终端的用于创建和操作分区表的工具，能够将MBR分区转换成较新的GTP分区表格式，普遍认为是fdisk命令的升级版，主要用于GTP分区类型，可以划分容量2T的硬盘。

examples:
示例1: 
显示指定硬盘设备上的GTP分区表信息：
[root@linuxcool ~]#gdisk -l /dev/sda

示例2: 
对指定硬盘分区设备进行交互式管理：
[root@linuxcool ~]#gdisk /dev/sda


command_name: df
chinese_name: df命令 – 显示磁盘空间使用量情况
syntax: df [参数] [对象磁盘/分区]
category: 磁盘管理(disk)
description:
df命令来自英文词组report file system disk space usage的缩写，其功能是显示系统上磁盘空间的使用量情况。df命令显示的磁盘使用量情况含可用、已用及使用率等信息，默认单位为KB，建议使用-h参数进行单位换算，毕竟135MB比138240KB更利于阅读。

parameters:
|-a: 显示所有文件系统 |
|-h: 以更易读的方式显示 |
|-H: 以1KB=1000B为换算单位 |
|-i: 显示索引字节信息 |
|-k: 设置显示时的块大小 |
|-t: 只显示指定类型文件系统 |
|-T: 显示文件系统的类型 |
|--sync: 在获取磁盘使用信息前先执行sync同步命令 |

examples:
示例1: 
显示系统全部磁盘的使用量情况（带容量单位）：
[root@linuxcool ~]# df -h 
Filesystem  	        Size Used Avail Use% 	Mounted on 
devtmpfs 	        969M     0  969M    0%	/dev 
tmpfs 	                984M     0  984M    0%	/dev/shm 
tmpfs 	                984M 9.6M  974M    1%	/run 
tmpfs 	                984M     0  984M    0%	/sys/fs/cgroup 
/dev/mapper/rhel-root   17G 3.9G   14G   23%	/ 
/dev/sr0 	        6.7G 6.7G      0  100%	/media/cdrom 
/dev/sda1               1014M 152M  863M   15%	/boot 
tmpfs 	                197M   16K  197M    1%	/run/user/42 
tmpfs 	                197M 3.5M   194M    2%	/run/user/0

示例2: 
显示指定磁盘分区的使用量情况（带容量单位）：
[root@linuxcool ~]# df -h /boot 
Filesystem   Size   Used   Avail   Use%   Mounted on 
/dev/sda1   1014M   152M    863M    15%   /boot

示例3: 
显示系统中所有文件系统格式为XFS的磁盘分区的使用量情况：
[root@linuxcool ~]# df -t xfs 
Filesystem              1K-blocks    Used Available Use% Mounted on 
/dev/mapper/rhel-root  17811456 4041320  13770136  23% / 
/dev/sda1                  1038336   155556     882780  15% /boot


command_name: lvdisplay
chinese_name: lvdisplay命令 – 显示LVM逻辑卷属性
description: lvdisplay命令用于显示LVM逻辑卷空间大小、读写状态和快照信息等属性。如果省略”逻辑卷”参数，则lvdisplay命令显示所有的逻辑卷属性。否则，仅显示指定的逻辑卷属性。
syntax: lvdisplay [参数]
parameters: |-C: 以列显示输出 | |-c: 使用冒号分隔输出 |
category: 磁盘管理(disk)
examples:
示例1: 
使用lvdisplay命令显示指定逻辑卷的属性：
[root@linuxcool ~]# lvdisplay /dev/vg1000/lvol0 
--- Logical volume ---     
LV Name                /dev/vg1000/lvol0   
...................     
Block device           253:0


command_name: fdformat
chinese_name: fdformat命令 – 对指定的软碟机装置进行低阶格式化
syntax: fdformat [参数]
parameters: |-n: 关闭确认功能。这个选项会关闭格式化之后的确认步骤 |
examples: 示例1: 将磁碟机 A 的磁片格式化成 1.4MB 的磁片，并且省略确认的步骤： [root@linuxcool ~]# fdformat -n /dev/fd0h1440
category: 磁盘管理(disk)
description:
fdformat命令用于对指定的软碟机装置进行低阶格式化。
使用这个指令对软碟格式化的时候，最好指定像是下面的装置：
如果使用像是 /dev/fd0 之类的装置，如果里面的磁碟不是标准容量，格式化可能会失败。在这种情况之下，使用者可以用 setfdprm 指令先行指定必要参数。


command_name: hdparm
chinese_name: hdparm命令 – 显示与设定硬盘参数
description: hdparm命令来自英文词组hard disk parameters的缩写，其功能是显示与设定硬盘参数。在初次接手一块硬盘设备时，了解相关性能属性会有很好的帮助。
syntax: hdparm [参数] [设备名]
category: 磁盘管理(disk)
parameters:
|-a: 设置读取文件时预先存入块区的分区数 |
|-b: 设置总线状态参数 |
|-B: 设置高级电源管理功能 |
|-C: 检查当前的IDE电源模式状态 |
|-D: 启用或禁用硬盘缺陷管理功能 |
|-E: 设置CD/DVD驱动器的速率 |
|-f: 将内存缓冲区的数据写入硬盘，并清空缓冲区 |
|-F: 冲洗驱动器上的写缓存缓冲区 |
|-g: 显示硬盘的磁轨、磁头、磁区等参数 |
|-h: 显示帮助信息 |
|-i: 显示内核驱动的识别信息 |
|-N: 设置最大可见扇区数 |
|-r: 设置设备的只读标识，不允许写入操作 |
|-R: 注册一个IDE接口 |
|-s: 设置待机状态下的开机功能 |
|-S: 使硬盘进入低功耗模式 |
|-t: 评估硬盘读取效率 |
|-W: 管理IDE/SATA设备的写缓存功能 |
|-X: 设置硬盘的传输模式 |
|-z: 强制内核重新读取指定设备的分区表 |

examples:
示例1: 
显示指定硬盘的相关信息：
[root@linuxcool ~]# hdparm /dev/sdb 
/dev/sdb: 
 multcount 	= 255 (on) 
 IO_support 	=  1 (32-bit) 
 readonly 		=  0 (off) 
 readahead 	= 8192 (on) 
 geometry 		= 2610/255/63, sectors = 41943040, start = 0

示例2: 
仅显示指定硬盘的柱面、磁头和扇区数信息：
[root@linuxcool ~]# hdparm -g /dev/sdb

示例3: 
评估指定硬盘的读取效率：
[root@linuxcool ~]# hdparm -t /dev/sdb

示例4: 
读取指定硬盘所提供的硬件规格信息：
[root@linuxcool ~]# hdparm -X /dev/sdb


command_name: blktrace
chinese_name: blktrace命令 – 分析磁盘I/O负载情况
syntax: blktrace [参数] [设备名]
category: 磁盘管理(disk)
description:
blktrace命令来自英文词组block trace的缩写，其功能是分析磁盘I/O负载情况。在查看Linux系统磁盘的负载情况时，我们一般会使用iostat监控工具，其中很重要的参数就是await。await表示单个I/O所需的平均时间，但它同时也包含了I/O 调度器所消耗的时间和硬件所消耗的时间，所以不能作为硬件性能的指标。
那么，如何才能分辨一个I/O从下发到返回的整个时间内，是硬件耗时多还是在I/O调度耗时多呢？如何查看I/O在各个时间段所消耗的时间呢？blktrace命令在这种场合就能派上用场了，因为它能记录I/O所经历的各个步骤，从中可以分析是IO 调度器慢还是硬件响应慢，以及它们各自所用的时间。

parameters:
|-a: 添加到当前过滤器 |
|-A: 设置过滤信息为十六进制掩码 |
|-b: 设置缓存大小 |
|-d: 设置设备追踪 |
|-D: 设置输入文件的基本名称 |
|-h: 设置主机名 |
|-k: 杀掉正在运行的追踪 |
|-n: 设置缓冲池大小 |
|-o: 设置输出文件的名字 |
|-r: 设置debugfs挂载点 |
|-v: 显示版本信息 |
|-w: 设置运行的时间 |

examples:
示例1: 
分析指定磁盘的I/O情况：
[root@linuxcool ~]# blktrace -d /dev/sda

示例2: 
设置运行的时间为30秒，分析指定磁盘的I/O情况：
[root@linuxcool ~]# blktrace -w 30 -d /dev/sda 
=== sda === 
CPU 0: 				 10 events,		1 KiB data 
CPU 1: 				  0 events, 		0 KiB data 
CPU 2: 				  0 events, 		0 KiB data 
CPU 3: 				  0 events, 		0 KiB data 
CPU 4: 				  0 events, 		0 KiB data 
CPU 5: 				  0 events, 		0 KiB data 
CPU 6: 				  0 events, 		0 KiB data 
CPU 7: 				  0 events, 		0 KiB data 
CPU 8: 				150 events, 		8 KiB data 
CPU 9: 				 10 events, 		1 KiB data 
CPU 10: 				  1 events, 		1 KiB data 
CPU 11: 				  0 events, 		0 KiB data 
CPU 12: 				  0 events, 		0 KiB data 
………………省略部分输出信息………………

示例3: 
分析指定磁盘的I/O情况，并指定输出文件名称：
[root@linuxcool ~]# blktrace -d /dev/sda -o File 
[root@linuxcool ~]# ls File.blktrace.* 
File.blktrace.0  File.blktrace.14 File.blktrace.2  File.blktrace.4 
File.blktrace.1  File.blktrace.15 File.blktrace.20 File.blktrace.5 
File.blktrace.10 File.blktrace.16 File.blktrace.21 File.blktrace.6 
File.blktrace.11 File.blktrace.17 File.blktrace.22 File.blktrace.7 
File.blktrace.12 File.blktrace.18 File.blktrace.23 File.blktrace.8 
File.blktrace.13 File.blktrace.19 File.blktrace.3  File.blktrace.9 
………………省略部分输出信息………………


command_name: sfdisk
chinese_name: sfdisk命令 – 硬盘分区工具
syntax: sfdisk [参数] [设备名]
category: 磁盘管理(disk)
description:
sfdisk命令的功能是用于硬盘分区工作，与fdisk命令非常相似。Linux系统管理员使用sfdisk命令能够完成显示当前系统的各个分区信息、判断分区设备是否正常、在硬盘设备中建立和移除分区等操作。并且支持非交互式的配置方式，更适合在Shell脚本中被使用。

parameters:
|-a: 在现有的分区表上添加新分区 |
|-A: 打开指定分区的启动标记 |
|-d: 显示硬盘分区的设置 |
|-f: 禁用所有一致性检查 |
|-F: 显示指定设备上未被分区的剩余空间 |
|-g: 显示模块的载入信息 |
|-h: 显示帮助信息 |
|-J: 使用JSON格式导出指定块设备的分区表 |
|-l: 显示硬盘分区的设置 |
|-n: 模拟操作，并不真正写入块设备 |
|-N: 从标准输入读取，创建指定分区表 |
|-o: 仅显示指定的字段 |
|-q: 静默执行模式 |
|-r: 对现有分区进行重新编号 |
|-s: 显示分区的大小 |
|-T: 显示所有文件系统ID |
|-v: 显示版本信息 |
|-V: 检查硬盘分区是否正常 |
|-x: 显示扩展分区中的逻辑分区 |
|-X: 设置分区表的类型。 |
|--delete: 删除指定分区 |

examples:
示例1: 
显示当前系统的硬盘分区信息：
[root@linuxcool ~]#sfdisk -lDisk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xe2147da7

Device     Boot   Start      End  Sectors Size Id Type
/dev/sda1  *       2048  2099199  2097152   1G 83 Linux
/dev/sda2       2099200 41943039 39843840  19G 8e Linux LVM
………………省略部分输出信息………………

示例2: 
显示指定硬盘设备的分区设置信息：
[root@linuxcool ~]#sfdisk -d /dev/sdalabel: dos
label-id: 0xe2147da7
device: /dev/sda
unit: sectors
/dev/sda1 : start=        2048, size=     2097152, type=83, bootable
/dev/sda2 : start=     2099200, size=    39843840, type=8e

示例3: 
显示指定分区设备的大小信息：
[root@linuxcool ~]#sfdisk -s /dev/sda11048576


command_name: parted
chinese_name: parted命令 – 磁盘分区工具
syntax: parted [参数] [设备名]
parameters: |-h: 显示帮助信息 | |-i: 使用交互式模式 | |-l: 显示设备上的分区列表 | |-s: 使用脚本模式 | |-v: 显示版本信息 |
category: 磁盘管理(disk)
description:
parted命令来自英文单词，中文译为“分开”，其功能是用于磁盘分区。parted命令是由GNU组织开发的一款功能强大的磁盘分区和分区大小调整工具，与fdisk命令不同，它能够调整分区的大小，并且它可以处理最常见的分区格式，包括：ext2、ext3、fat16、fat32、NTFS、ReiserFS、JFS、XFS、UFS、HFS以及Linux交换分区。

examples:
示例1: 
显示系统中的磁盘分区信息：
[root@linuxcool ~]#parted -lModel: ATA VMware Virtual S (scsi)
Disk /dev/sda: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  1075MB  1074MB  primary  xfs          boot
 2      1075MB  21.5GB  20.4GB  primary               lvm

………………省略部分输出信息………………

示例2: 
对指定的磁盘设备进行分区操作：
[root@linuxcool ~]#parted /dev/sda


command_name: lvmetad
chinese_name: lvmetad命令 – 启动LVM元数据高速缓存守护进程
syntax: lvmetad [参数]
parameters: |-l<类型>: 选择日志消息的生成类型，类型可以是all、wire、debug | |-s<路径>: 使用的socket文件的路径 | |-f: 不fork，在前台运行 |
category: 磁盘管理(disk)
description:
lvmetad命令的作用是启动LVM元数据缓存守护进程。
正常情况下，lvmetad命令通过处理来自客户端的提醒消息和系统的uevents来保持缓存处于最新状态。当其他主机改变磁盘上的元数据时，也应该使本机的lvmetad元数据缓存变为过时状态。
当一个命令向lvmetad命令发送获取元数据请求时，在lvmetad命令返回元数据的同时，附带缓存“无效”标志。命令在收到响应后首先检查这个标志，如果无效则扫描磁盘，获取最新的元数据。最后把最新的元数据发送给lvmetad命令，并清除其“无效”标志，后面再有新的命令获取元数据时获取的就是最新的元数据了。

examples:
示例1: 
启动LVM元数据缓存守护进程：
[root@linuxcool ~]# lvmetad

示例2: 
设置日志类型为all：
[root@linuxcool ~]# lvmetad -l all

示例3: 
指定socket文件的路径：
[root@linuxcool ~]# lvmetad -s /linuxcool


command_name: lvs
chinese_name: lvs命令 – 报告有关逻辑卷的信息
syntax: lvs [参数] [卷组名]
category: 磁盘管理(disk)
description:
lvs命令的作用是可以报告有关逻辑卷的信息。
逻辑卷建立在卷组之上，它是从卷组中“切出”的一块空间。它是最终用户使用的逻辑设备。
逻辑卷相对于物理卷来说：可以将多个物理卷，合并为一个逻辑卷，这样一个分区的容量可以突破物理硬盘的限制。逻辑卷可以弹性的扩容和缩容，当我们不太确定一个应用将来所需的容量，可以先分配少一点的空间，这样可以随着业务发展，按需扩容，避免一次性分配过大磁盘空间导致的资源浪费。另外逻辑卷支持快照功能，可在对系统进行关键操作前设置还原点，避免操作失误导致的数据损坏。

parameters:
|-- -all: 包括所有有关内部逻辑卷的输出信息 |
|-- -units<输出单位>: 所有尺寸都在输出这些单位：h、H、b、B、s、S、k、K、m、M、g、G、t、T、p、P、e、E |
|-- -aligned: 使用带--separator分隔符对齐输出列 |
|-- -nosuffix: 在输出大小上后缀 |
|-- -rows: 输出列作为行 |
|-- -segments: 使用默认列强调段信息 |
|-- -nameprefixes: 添加一个“LVM2_”前缀加上字段名输出 |
|-- -unbuffered: 立即产生没有正确排序或对齐列的输出 |
|-- -noheadings: 标题行，这通常是输出的第一行 |

examples:
示例1: 
报告有关逻辑卷的信息：
[root@linuxcool ~]# lvs

示例2: 
输出所有有关内部逻辑卷的信息：
[root@linuxcool ~]# lvs --all fedora
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root fedora -wi-ao---- 15.00g
swap fedora -wi-ao---- <3.04g

示例3: 
输出大小上后缀：
[root@linuxcool ~]# lvs --units M fedora
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root fedora -wi-ao---- 16106.13M
swap fedora -wi-ao---- 3258.97M


command_name: quota
chinese_name: quota命令 – 显示磁盘已使用的空间与限制
category: 磁盘管理(disk)
description:
quota命令用于显示磁盘已使用的空间与限制。执行quota命令可查询磁盘空间的限制，并得知已使用多少空间。
语法参数：quota [参数]
常用参数：
参考实例
显示目前执行者（root ）的 quota 值：
显示 test 这个使用者的 quota 值：
这篇优质的内容由TA贡献而来
刘遄
《Linux就该这么学》书籍作者，RHCA认证架构师，教育学（计算机专业硕士）。
京ICP备16058923号-1
推荐用书：《Linux就该这么学》
真正好用的Linux命令在线查询手册

parameters:
|-g: 列出群组的磁盘空间限制 |
|-q: 简明列表，只列出超过限制的部分 |
|-u: 列出用户的磁盘空间限制 |
|-v: 显示该用户或群组，在所有挂入系统的存储设备的空间限制 |
|-V: 显示版本信息 |

examples:
示例1: 
显示目前执行者（root ）的 quota 值：
[root@linuxcool ~]# quota -guvs

示例2: 
显示 test 这个使用者的 quota 值：
[root@linuxcool ~]# quota -uvs test


command_name: mformat
chinese_name: mformat命令 – 格式化MS-DOS文件系统的磁盘
description: mformat命令可以用于对MS-DOS文件系统的磁盘进行格式化，在已经做过低阶格式化的磁片上建立 DOS 档案系统，此命令支持多种文件系统格式。
syntax: mformat [参数]
category: 磁盘管理(disk)
parameters:
|-t: 磁柱（synlider）数 |
|-h: 磁头（head）数 |
|-s: 每一磁轨的磁区数 |
|-S: 磁区大小代码，计算方式为 sector = 2^(大小代码+7) |
|-c: 磁丛（cluster）的磁区数。如果所给定的数字会导致磁丛数超过 FAT 表的限制，mformat 会自动放大磁区数。 |
|-M: 软件磁区大小。这个数字就是系统回报的磁区大小。通常是和实际的大小相同。 |
|-a: 如果加上这个参数，mformat 会产生一组 Atari 系统的序号给这块软碟。 |
|-X: 将软碟格式化成 XDF 格式。使用前必须先用 xdfcopy 指令对软碟作低阶格式化的动作。 |

examples:
示例1: 
用预设值把 a: （就是 /dev/fd0）里的磁碟片格式化：
[root@linuxcool ~]# mformat a

示例2: 
把 a: 格式化为XDF格式：
[root@linuxcool ~]# mformat -X a

示例3: 
把 a: 格式化为FAT32格式：
[root@linuxcool ~]# mformat -F a


command_name: fio
chinese_name: fio命令 – 对磁盘进行压力测试
syntax: fio [参数] [设备名]
category: 磁盘管理(disk)
description:
fio命令来自英文词组flexible I/O tester的缩写，其功能是对磁盘进行压力测试。硬盘I/O吞吐率是其性能的重要指标之一，运维人员可以使用fio命令对其进行测试，测试又可以细分为顺序读写和随机读写两大类。

parameters:
|--bandwidth-log: 生成每个作业的带宽日志 |
|--client: 设置要完成作业的主机信息 |
|--daemonize: 指定要将PID信息写入到的文件 |
|--debug: 使用调试模式 |
|--eta: 设置何时输出ETA评估值 |
|--help: 显示帮助信息 |
|--latency-log: 生成每个作业的延迟日志 |
|--minimal: 使用简洁格式显示统计信息 |
|--output: 设置输出文件名 |
|--runtime: 限制运行时间 |
|--readonly: 启用只读安全检查 |
|--version: 显示版本信息 |

examples:
示例1: 
进行随机读取测试：
[root@linuxcool ~]# fio -filename=File -direct=1 -iodepth 1 -thread -rw=read -ioengine= psync -bs=16k -size=10G -numjobs=10 -runtime=100 -group_reporting -name=mytest

示例2: 
进行随机写入测试：
[root@linuxcool ~]# fio -filename=File -direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=psync -bs=16k -size=200G -numjobs=30 -runtime=1000 -group_reporting -name=mytest

示例3: 
进行顺序写入测试：
[root@linuxcool ~]# fio -filename=File -direct=1 -iodepth 1 -thread -rw=write -ioengine=psync -bs=16k -size=200G -numjobs=30 -runtime=1000 -group_reporting -name=mytest


command_name: lvmdump
chinese_name: lvmdump命令 – 转储LVM2有关的各种信息
syntax: lvmdump [参数]
category: 磁盘管理(disk)
description:
lvmdump命令的作用是可以用来转储LVM2有关的各种信息。
LVM2是在linux上提供逻辑卷管理功能的用户空间工具集。它可以与原始LVM工具集向下兼容。
要使用LVM2需要三个条件：内核中的device-mapper，用户空间device-mapper支持库（libdevmapper）和用户空间LVM2工具。

parameters:
|-d<目录>: 转储到一个目录，而不是默认情况下的tar压缩包 |
|-c: 如果 clvmd 正在运行，也收集集群数据 |
|-a: 高级集合 |
|-s: 收集系统信息和上下文 |
|-p: 转储包含当前由守护程序监视的所有正在进行的操作以及部分历史记录 |
|-m: 从系统可见的所有pvs中生成1:1的元数据区域转储 |

examples:
示例1: 
转储LVM2有关的各种信息：
[root@linuxcool ~]# lvmdump

示例2: 
收集系统信息和上下文：
[root@linuxcool ~]# lvmdump -s

示例3: 
将信息转储到一个目录：
[root@linuxcool ~]# lvmdump -d /linuxcool


command_name: setquota
chinese_name: setquota命令 – 设置文件系统配额
syntax: setquota [参数]
parameters: |-a: 编辑启用配额限制的所有文件系统 | |-b: 从标准输入读取配额设置信息 | |-u: 设置命令行参数name指定用户的配额 | |-t: 设置用户数据快与信息节点的宽限时间周期 |
category: 磁盘管理(disk)
description:
setquota是一个命令行配额编辑器，可以采用命令行的方式直接设置用户或用户组的配额限制。
若想禁用配额限制，可以把相应参数设置为0。如果多个文件系统需要修改配额设置，每个文件系统需要调用一次setquota命令。

examples:
示例1: 
在文件系统（/dev/sdb2）设置指定用户的配额限制：
[root@linuxcool ~]# setquota -u zwx 20480 40 960 600 1200 /deb/sda1

示例2: 
把数据块与信息节点的宽限时间周期设置为10天（86400秒/每天）：
[root@linuxcool ~]# setquota -tu 864000 86400 /deb/sda1


command_name: fsadm
chinese_name: fsadm命令 – 在设备上调整或检查文件系统
syntax: fsadm [参数] check [设备] ; fsadm [参数] resize [设备] [新的大小]
category: 磁盘管理(disk)
description:
fsadm命令的作用是在设备上调整或检查文件系统。fsadm命令使用相同的API对ext2，ext3，ext4，ReiserFS和XFS文件系统进行操作。
当fsadm命令成功完成后，状态代码为0。状态代码2表示操作已被用户中断。状态代码3表示由于文件系统已安装且不支持在线fsck，无法执行请求的检查操作。其他故障使用状态码1。

parameters:
|-v: 冗长模式 |
|-e: 在调整大小之前卸载文件系统 |
|-f: 省略合理检查 |
|-n: 无需运行，显示命令 |
|-l: 调整指定的设备（如果它是LVM设备） |
|-y: 任何提示回答是yes |

examples:
示例1: 
在设备/dev/sda1上检查文件系统：
[root@linuxcool ~]# fsadm check /dev/sda1

示例2: 
在设备/dev/sda1上调整文件系统大小为20480KB：
[root@linuxcool ~]# fsadm resize /dev/sda1 20480

示例3: 
在设备/dev/test上的文件系统调整为3048MB。如果包含其它文件系统，它将在调整大小之前被卸载。所有问题都将回答“ y”：
[root@linuxcool ~]# fsadm -e -y resize /dev/test 3048M


command_name: lvcreate
chinese_name: lvcreate命令 – 创建逻辑卷设备
syntax: lvcreate [参数] [逻辑卷]
category: 磁盘管理(disk)
description:
lvcreate命令的功能是创建逻辑卷设备。LVM（逻辑卷管理器）由物理卷、卷组和逻辑卷组成，其中lvcreate命令属于LVM创建工作的最后一个环节——创建逻辑卷设备。
在设定逻辑卷容量时，可以使用-L参数直接写具体值，亦可以使用-l参数指定PE（物理扩展块）个数，每个PE大小默认为4MB，因此-L 400M和-l 100的效力是等价的。

parameters:
|-A: 设置逻辑卷的可用性 |
|-c: 设置快照逻辑卷的块大小 |
|-C: 设置逻辑卷的连续分配策略 |
|-i: 设置条带数量 |
|-l: 设置逻辑卷的大小（PE个数） |
|-L: 设置逻辑卷的大小（容量值） |
|-n: 设置新的逻辑卷名 |
|-p: 设置逻辑卷的访问权限 |
|-r: 设置逻辑卷的超前读取扇区数 |
|-s: 为指定的逻辑卷创建快照卷 |
|-T: 创建精简逻辑卷 |

examples:
示例1: 
在已有的卷组中（VG01）创建一个逻辑卷（V001），大小为100个PE：
[root@linuxcool ~]# lvcreate -n V001 -l 100 VG01 
 Logical volume "V001" created.

示例2: 
在已有的卷组中（VG01）创建一个逻辑卷（V001），大小为400MB：
[root@linuxcool ~]# lvcreate -n V001 -L 400 VG01 
Logical volume "V001" created.

示例3: 
在已有的卷组中（VG01）创建一个逻辑卷（V001），大小为卷组中剩余的全部空间：
[root@linuxcool ~]# lvcreate -n V001 -l 100%FREE VG01 
 Logical volume "V001" created.


command_name: vgcreate
chinese_name: vgcreate命令 – 创建卷组设备
syntax: vgcreate [参数] [卷组名] [设备名]
parameters: |-l: 设置卷组上允许创建的最大逻辑卷数 | |-p: 设置卷组中允许添加的最大物理卷数 | |-s: 设置卷组中物理卷的PE大小 |
category: 磁盘管理(disk)
description:
vgcreate命令的功能是创建卷组设备。LVM逻辑卷管理器技术由物理卷、卷组和逻辑卷组成，其中vgcreate命令属于LVM创建工作的第二个环节——创建卷组设备。
卷组，顾名思义是将多个物理卷组成一个整体，由于屏蔽了底层物理设备细节，用户可在创建逻辑卷后无须再考虑具体的硬件设备信息。

examples:
示例1: 
使用两块硬盘，创建出一块指定名称的卷组设备：
[root@linuxprobe ~]# vgcreate VG01 /dev/sdb /dev/sdc 
 Volume group "VG01" successfully created


command_name: badblocks
chinese_name: badblocks命令 – 检查磁盘装置中损坏的区块
description: badblocks就是一个检查磁盘装置中损坏区块的命令，执行该命令时只须指定所要检查的磁盘装置，及此装置的磁盘区块数。
syntax: badblocks [参数]
parameters: |-b: 指定磁盘的区块大小，单位为字节 | |-o: 将检查的结果写入指定的输出文件 | |-s: 在检查时显示进度 | |-v: 执行时显示详细的信息 | |-w: 在检查时，执行写入测试 |
category: 磁盘管理(disk)
examples:
示例1: 
通过命令扫描硬盘：
[root@linuxcool ~]# badblocks -s -v /dev/sdnx

示例2: 
其中n表示硬盘设备名，x表示硬盘对应的分区号，例如需要检查”/dev/sda2″：
[root@linuxcool ~]# badblocks -s -v /dev/sda2
 
Checking blocks 0 to 30681000 
Checking for bad blocks (read-only test): 306809600674112/ 306810000000 30680964
30680965
30680966
30680967
30680968
30680969
30680970
30680971
30680972
30680973 
...
done Pass completed, 37 bad blocks found.其中，“37 bad blocks found”表示硬盘存在37个坏块。

示例3: 
以4096字节为一个“block”,每一个“block”检查1次, 将结果输出到“hda-badblocks-list.1”文件中，由第51000 block开始，到63000 block结束：
[root@linuxcool ~]# badblocks -b 4096 -c 1 /dev/hda1 -o hda-badblocks-list.1 63000 51000

示例4: 
扫描硬盘的损坏扇区或区块并写入到临时文件夹下的bad-blocks.txt文件中：
[root@linuxcool ~]# badblocks -v -o /dev/sdb > /tmp/bad-blocks.txt

示例5: 
如果找到了坏道，可以进行写入扫描进行修复。写入扫描遇到坏道的时候会自动重映射。写入扫描会覆盖原有数据，所以请先备份。写入扫描速度很低，所以应该只扫描只读扫描时候发现错误的部分：
[root@linuxcool ~]# badblocks -w -s /dev/sdb END START


command_name: lvmconf
chinese_name: lvmconf命令 – LVM配置修改
syntax: lvmconf [参数]
category: 磁盘管理(disk)
description:
lvmconf命令的作用是可以修改在LVM配置文件中锁定的配置。
LVM全拼为Logical Volume Manager ，逻辑卷管理LVM是一个多才多艺的硬盘系统工具，无论在linux或者其他类似的系统，都是非常的好用。
传统分区使用固定大小分区，重新调整大小十分麻烦，但是LVM可以创建和管理“逻辑”卷，而不是直接使用物理硬盘，可以让管理员弹性的管理逻辑卷的扩大缩小，操作简单，而不损坏已存储的数据。可以随意将新的硬盘添加到LVM，以直接扩展已经存在的逻辑卷，LVM并不需要重启就可以让内核知道分区的存在。

parameters:
|-- -disable-cluster: 设置locking_type为默认的非聚集型 |
|-- -lockinglibdir<目录>: 指定locking_library锁定库目录 |
|-- -enable-cluster: 在此系统上设置locking_type到默认集群类型 |
|-- -file<配置文件>: 将更改应用到指定的配置文件，而不是默认的/etc/lvm/lvm.conf文件 |
|-- -lockinglib<lib>: 如果使用一个外部锁定类型，则设置外部locking_library锁定库进行装载 |

examples:
示例1: 
设置locking_type为默认的非聚集型：
[root@linuxcool ~]# lvmconf --disable-cluster

示例2: 
指定locking_library锁定库目录：
[root@linuxcool ~]# lvmconf --lockinglibdir /linuxcool

示例3: 
设置locking_type到默认集群类型：
[root@linuxcool ~]# lvmconf --enable-cluster


command_name: mkfs-ext4
chinese_name: mkfs.ext4命令 – 对磁盘设备进行EXT4格式化
description: mkfs.ext4命令来自英文词组make filesystem Ext4的缩写，其功能是对磁盘设备进行EXT4格式化操作。
syntax: mkfs.ext4 [参数] [设备名]
category: 磁盘管理(disk)
parameters:
|-b: 设置文件数据块大小 |
|-c: 格式化前检查分区是否有坏块 |
|-E: 设置文件系统扩展选项 |
|-f: 以字节为单位指定片段大小 |
|-F: 强制格式化而不询问 |
|-g: 设置一个块组中的块数 |
|-i: 设置字节和节点的比率 |
|-I: 设置每个节点的大小 |
|-l: 读取文件名中的坏块列表 |
|-M: 设置文件系统的最后挂载目录 |
|-o: 覆盖文件系统的“创建者操作系统”字段的默认值 |
|-O: 使用指定的特性创建一个文件系统 |
|-q: 静默执行模式 |
|-t: 设置要创建的文件系统类型 |
|-U: 使用指定的UUID创建文件系统 |
|-V: 显示版本信息 |

examples:
示例1: 
检查指定的磁盘设备并进行格式化操作：
[root@linuxcool ~]# mkfs.ext4 -c /dev/sdb 
mke2fs 1.44.3 (10-July-2018) 
Creating filesystem with 5242880 4k blocks and 1310720 inodes 
Filesystem UUID: 2468ba17-0d37-4900-b67e-5f3a24084fc5 
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000 

Checking for bad blocks (read-only test): 0.00% done, 0:00 elapsed. (0/0/0 errdone 
Allocating group tables: done 
Writing inode tables: done 
Creating journal (32768 blocks): done 
Writing superblocks and filesystem accounting information: done

示例2: 
对指定的磁盘设备进行格式化操作，保留5%容量给管理员：
[root@linuxcool  ~]# mkfs.ext4 -m 5 /dev/sdb
mke2fs 1.44.3 (10-July-2018)
Creating filesystem with 5242880 4k blocks and 1310720 inodes
Filesystem UUID: a3a61300-5195-44c7-be1c-dcf9ba0fbfbe
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 	4096000

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

示例3: 
对指定的磁盘设备进行格式化操作，添加卷标识，并修改块大小：
[root@linuxcool ~]# mkfs.ext4 -L 'LinuxCool' -b 2048 /dev/sdb 
mke2fs 1.44.3 (10-July-2018) 
Creating filesystem with 10485760 2k blocks and 1310720 inodes 
Filesystem UUID: 73ad248c-2a01-49dd-aa46-8770ecbc56fd 
Superblock backups stored on blocks: 
        16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816, 1327104,
        2048000, 3981312, 5619712, 10240000 

Allocating group tables: done 
Writing inode tables: done 
Creating journal (65536 blocks): done 
Writing superblocks and filesystem accounting information: done


command_name: mzip
chinese_name: mzip命令 – 控制磁盘驱动器
description: mzip是Zip/Jaz磁盘驱动器控制命令。为mtools工具命令，可设置Zip或Jaz磁盘驱动区的保护模式以及执行退出磁盘的动作。
syntax: mzip [参数]
category: 磁盘管理(disk)
parameters:
|-e: 退出磁盘 |
|-f: 与-e参数一并使用，不管是否已经挂入磁盘中的文件系统，一律强制退出磁盘 |
|-p: 设置磁盘的写入密码 |
|-q: 显示目前的状态 |
|-r: 将磁盘设为防写状态 |
|-u: 退出磁盘以前，暂时解除磁盘的保护状态 |
|-w: 将磁盘设为可写入状态 |
|-x: 设置磁盘的密码 |

examples:
示例1: 
退出磁盘：
[root@linuxcool ~]# mzip -e

示例2: 
强制退出磁盘：
[root@linuxcool ~]# mzip -f -e

示例3: 
设置磁盘为可写：
[root@linuxcool ~]# mzip -w

示例4: 
设置磁盘密码：
[root@linuxcool ~]# mzip -x linuxcool

示例5: 
设置磁盘为防写：
[root@linuxcool ~]# mzip -r


command_name: pvck
chinese_name: pvck命令 – 检测物理卷LVM元数据一致性
description: pvck命令用来检测物理卷的LVM元数据的一致性。默认情况下，物理卷中的前4个扇区保存着LVM卷标。
syntax: pvck [参数]
parameters: |-d: 调试模式 | |-v: 详细信息模式 | |--labelsector: 指定LVE卷标所在扇区 |
category: 磁盘管理(disk)
examples:
示例1: 
使用pvck命令检查物理卷/dev/sdb1：
[root@linuxcool ~]# pvck -v /dev/sdb1
Scanning /dev/sdb1  
Found label on /dev/sdb1, sector 1, type=LVM2 001  
Found text metadata area: offset=4096, size=192512 
Found LVM2 metadata record at offset=125952,  
size=70656, offset2=0 size2=0


command_name: sync
chinese_name: sync命令 – 刷新文件系统缓冲区
syntax: sync [参数]
parameters: |--help: 显示命定详细帮助信息 | |--version: 显示版本号 |
category: 磁盘管理(disk)
description:
sync命令用于强制被改变的内容立刻写入磁盘，更新信息速度非常快， 在Linux/Unix系统中，在文件或数据处理过程中一般先放到内存缓冲区中，等到适当的时候再写入磁盘，以提高系统的运行效率。
sync命令则可用来强制将内存缓冲区中的数据立即写入磁盘中。用户通常不需执行sync命令，系统会自动执行update或bdflush操作，将缓冲区的数据写 入磁盘。只有在update或bdflush无法执行或用户需要非正常关机时，才需手动执行sync命令。

examples:
示例1: 
显示帮助信息：
[root@linuxcool ~]# sync --helpUsage: sync [OPTION]Force changed blocks to disk, update the super block.--help     display this help and exit--version  output version information and exitGNU coreutils online help: <http://www.gnu.org/software/coreutils/>For complete documentation, run: info coreutils 'sync invocation'

示例2: 
显示版本：
[root@linuxcool ~]# sync --versionsync (coreutils) 8.22Copyright (C) 2013 Free Software Foundation, Inc.License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.This is free software: you are free to change and redistribute it.There is NO WARRANTY, to the extent permitted by law.Written by Jim Meyering.


command_name: vgdisplay
chinese_name: vgdisplay命令 – 显示VG信息
syntax: vgdisplay [参数] [卷组名]
parameters: |-A: 显示卷组属性信息 | |-s: 使用短格式输出 |
category: 磁盘管理(disk)
description:
vgdisplay命令来自英文词组volume group display的缩写，其功能是显示VG（卷组）信息。细心负责的运维人员在创建卷组后都会使用vgdisplay命令再次确认，检查PE大小、容量、名称等信息是否正确，在一切稳妥后再进行下一步操作。

examples:
示例1: 
查看系统中全部的卷组信息：
[root@linuxcool ~]# vgdisplay

示例2: 
查看系统中指定名称的卷组信息：
[root@linuxcool ~]# vgdisplay VG01

示例3: 
仅查看系统中指定名称的卷组的属性信息：
[root@linuxcool ~]# vgdisplay -A VG01

示例4: 
仅查看系统中指定名称的卷组的短格式属性信息：
[root@linuxcool ~]# vgdisplay -s VG01


command_name: vgcfgbackup
chinese_name: vgcfgbackup命令 – 备份卷组描述符区域
syntax: vgcfgbackup [参数] [卷组名]
parameters: |-d: 启用调试模式 | |-f<文件名>: 指定备份文件 | |-- -ignorelockingfailure: 忽略锁定失败 | |-v: 显示详细信息 |
category: 磁盘管理(disk)
description:
vgcfgbackup命令的作用是可以备份卷组的元数据。如果在命令行上没有指定任何卷组，将备份所有的卷组。在默认情况下，每个卷组被备份到一个单独的带有卷组名称的文件中，该文件存储在/etc/lvm/backup目录中。

examples:
示例1: 
备份卷组vg_linuxcool的元数据：
[root@linuxcool ~]# vgcfgbackup vg_linuxcool

示例2: 
显示备份详细信息：
[root@linuxcool ~]# vgcfgbackup -v vg_linuxcool

示例3: 
指定备份文件：
[root@linuxcool ~]# vgcfgbackup -f vg_001


command_name: pvcreate
chinese_name: pvcreate命令 – 创建物理卷设备
description: pvcreate命令的功能是创建物理卷设备。LVM（逻辑卷管理器）由物理卷、卷组和逻辑卷组成，其中pvcreate命令属于LVM创建工作的第一个环节—创建物理卷设备。
syntax: pvcreate [参数] [物理卷]
parameters: |-f: 强制创建物理卷而不询问 | |-u: 设置设备的UUID | |-z: 设置是否使用最前面的扇区 |
category: 磁盘管理(disk)
examples:
示例1: 
将指定的某个磁盘设备创建为物理卷设备：
[root@linuxcool ~]# pvcreate /dev/sdb 
  Physical volume "/dev/sdb" successfully created.

示例2: 
将指定的多个磁盘设备创建为物理卷设备：
[root@linuxcool ~]# pvcreate /dev/sdc{1,2,3,4} 
  Physical volume "/dev/sdc1" successfully created. 
  Physical volume "/dev/sdc2" successfully created. 
  Physical volume "/dev/sdc3" successfully created. 
  Physical volume "/dev/sdc4" successfully created.


command_name: fdisk
chinese_name: fdisk命令 – 管理磁盘分区
syntax: fdisk [参数] [设备名]
category: 磁盘管理(disk)
description:
fdisk的意思是固定磁盘（fixed disk）或格式化磁盘（format disk），该命令的功能是管理磁盘的分区信息。
fdisk命令可以用来对磁盘进行分区操作，用户可以根据实际情况对磁盘进行合理划分，这样后期挂载和使用时会方便很多。

parameters:
|-b: 设置每个分区的大小 |
|-c: 关闭DOS兼容模式 |
|-C: 设置硬盘的柱面数量 |
|-h: 显示帮助信息 |
|-H: 设置硬盘的磁头数 |
|-s: 显示指定的分区大小 |
|-S: 设置每个磁道的扇区数 |
|-u: 以分区数目代替柱面数目 |
|-v: 显示版本信息 |

examples:
示例1: 
查看当前系统的分区情况：
[root@linuxcool ~]# fdisk -l 
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors 
Units: sectors of 1 * 512 = 512 bytes 
Sector size (logical/physical): 512 bytes / 512 bytes 
I/O size (minimum/optimal): 512 bytes / 512 bytes 
Disklabel type: dos 
Disk identifier: 0x5f1d8ee5 

Device     Boot   Start      End  Sectors  Size  Id Type 
/dev/sda1  *       2048  2099199  2097152    1G  83 Linux 
/dev/sda2       2099200 41943039 39843840   19G  8e Linux LVM 
………………省略部分输出信息………………

示例2: 
管理指定硬盘的分区（具体过程可以参考《Linux就该这么学（第2版）》第6章）：
[root@linuxcool ~]# fdisk /dev/sda 
Welcome to fdisk (util-linux 2.32.1). 
Changes will remain in memory only, until you decide to write them. 
Be careful before using the write command. 

Command (m for help): n 
All space for primary partitions is in use. 
Command (m for help): m 

Help: 
  DOS (MBR) a toggle 
   a bootable flag 
   b edit nested BSD disklabel 
   c toggle the dos compatibility flag 

  Generic 
   d delete a partition 
   F list free unpartitioned space 
   l list known partition types 
   n add a new partition 
   p print the partition table
   t change a partition type 
   v verify the partition table 
   i print information about a partition 

  Misc 
   m print this menu 
   u change display/entry units 
   x extra functionality (experts only) 

  Script 
   I load disk layout from sfdisk script file 
   O dump disk layout to sfdisk script file 

  Save & Exit 
   w write table to disk and exit 
   q quit without saving changes 

  Create a new label 
   g create a new empty GPT partition table 
   G create a new empty SGI (IRIX) partition table 
   o create a new empty DOS partition table 
   s create a new empty Sun partition table 
………………省略部分输出信息………………


command_name: arpd
chinese_name: arpd命令 – 收集arp信息
description: arpd命令是用来收集免费arp信息的一个守护进程，它将收集到的信息保存在磁盘上或者在需要时，提供给内核用户用于避免多余广播。
syntax: arpd [参数]
category: 磁盘管理(disk)
parameters:
|-l: 将arp数据库输出到标准输出设备显示并退出 |
|-f: 指定读取和加载arpd数据库的文本文件，文件的格式与“-l”输出信息类似 |
|-b: 指定arpd数据库文件，默认的位置为“/var/lib/arpd.db |
|-a: 指定目标被认为死掉前查询的次数 |
|-k: 禁止通过内核发送广播查询 |
|-n: 设定缓冲失效时间 |

examples:
示例1: 
启动arpd进程：
[root@linuxcool ~]# arpd -b /var/tmp/arpd.db

示例2: 
一段时间后看结果：
[root@linuxcool ~]# killall arpd ; arpd -l -b /var/tmp/arpd.db

示例3: 
启用内核帮助程序，将主要角色留给内核：
[root@linuxcool ~]# arpd -b /var/tmp/arpd.db -a 1 eth0 eth1

示例4: 
完全替换接口eth0和eth1上的内核决议。 在这种情况下，内核仍会进行单播探测以验证条目，但所有广播活动都被抑制并在arpd的授权下进行：
[root@linuxcool ~]# arpd -b /var/tmp/arpd.db -a 3 -k eth0 eth1

示例5: 
禁止内核发送广播查询 ：
[root@linuxcool ~]# arpd -k


command_name: ext2ed
chinese_name: ext2ed命令 – 文件系统编辑程序
description: ext2ed命令属于ext2文件系统编辑程序。 ext2ed可直接处理硬盘分区上的数据，这指令只有Red HatLinux才提供。
syntax: ext2ed [参数]
category: 磁盘管理(disk)
parameters:
|setdevice[设备名称]: 指定要处理的设备 |
|disablewrite: 将ext2ed设为只读的状态 |
|enablewrite: 将ext2ed设为可读写的状态 |
|next: 移至下一个单位，单位会依目前所在的模式而异 |
|prev: 移至前一个单位，单位会依目前所在的模式而异 |
|pgup: 移至下一页 |
|pgdn: 移至上一页 |

examples:
示例1: 
处理硬盘/dev/hdc2分区上的数据：
[root@linuxcool ~]# ext2ed setdevice /dev/hdc2

示例2: 
将ext2ed设为只读的状态：
[root@linuxcool ~]# ext2ed disablewrite

示例3: 
将ext2ed设为可读写的状态：
[root@linuxcool ~]# ext2ed enablewrite


command_name: swapon
chinese_name: swapon命令 – 激活交换分区
syntax: swapon [参数] [设备名]
category: 磁盘管理(disk)
description:
swapon命令来自英文词组“SWAP on”的拼写，其功能是用于激活交换分区。swapon命令用于激活Linux系统中已存在的SWAP交换分区设备，让SWAP交换分区内存可以立即被使用，但要想永久生效还是需要将挂载信息写入到/etc/fstab文件。

parameters:
|-a: 激活所有“/etc/fstab”文件中的交换分区 |
|-e: 跳过不存在的设备 |
|-f: 重新初始化整个设备 |
|-h: 显示帮助信息 |
|-L: 指定要启动分区的LABEL |
|-p: 设置交换区的优先顺序 |
|-s: 显示交换区的使用情况 |
|-U: 指定要启动分区的UUID |
|-v: 显示执行过程详细信息 |
|-V: 显示版本信息 |

examples:
示例1: 
查看已有指定交换分区设备信息：
[root@linuxcool ~]#swapon -v /dev/mapper/rhel-swapswapon: /dev/mapper/rhel-swap: found signature [pagesize=4096, signature=swap]
swapon: /dev/mapper/rhel-swap: pagesize=4096, swapsize=2147483648, devsize=2147483648
swapon /dev/mapper/rhel-swap

示例2: 
查看当前已有交换分区使用情况：
[root@linuxcool ~]#swapon -sFilename				Type		Size	Used	Priority
/dev/dm-1                              	partition	2097148	1804	-2

示例3: 
对指定的交换分区设置优先权级别：
[root@linuxcool ~]#swapon -p 3 /dev/dm-1

示例4: 
立即激活所有/etc/fstab文件中定义过的交换分区：
[root@linuxcool ~]#swapon -a


command_name: newgrp
chinese_name: newgrp命令 – 登入另一个群组
syntax: newgrp [参数]
parameters: |--help: 在线帮助 | |--vesion: 显示版本信息 |
examples: 示例1: 将群组切换到linuxcool组 ： [root@linuxcool ~]# newgrp linuxcool
category: 磁盘管理(disk)
description:
newgrp命令类的英文全称为“new group”,该命令类似login指令，当它是以相同的帐号，另一个群组名称，再次登入系统。欲使用newgrp指令切换群组，您必须是该群组的用户，否则将无法登入指定的群组。
单一用户要同时隶属多个群组，需利用交替用户的设置。若不指定群组名称，则newgrp指令会登入该用户名称的预设群组。


command_name: free
chinese_name: free命令 – 显示系统内存使用量情况
description: free命令的功能是显示系统内存使用量情况，包含物理内存和交换内存的总量、使用量、空闲量情况。
syntax: free [参数]
category: 磁盘管理(disk)
parameters:
|-b: 设置显示单位为B |
|-g: 设置显示单位为GB |
|-h: 自动调整合适的显示单位 |
|-k: 设置显示单位为KB |
|-l: 显示低内存和高内存统计数据 |
|-o: 不显示缓冲区数据列 |
|-s: 持续显示内存数据 |
|-t: 显示内存使用总和 |
|-V: 显示版本信息 |

examples:
示例1: 
以默认的容量单位显示内存使用量信息：
[root@linuxcool ~]# free 
              total      used     free     shared    buff/cache    available 
Mem:        2013304   1372796    87432      17620        553076       444040 
Swap:       2097148      1804  2095344

示例2: 
以MB为单位显示内存使用量信息：
[root@linuxcool ~]# free -m 
              total      used     free     shared    buff/cache    available 
Mem:           1966      1342      123         14           499          434 
Swap:          2047         9     2038

示例3: 
以易读的单位显示内存使用量信息：
[root@linuxcool ~]# free -h 
              total      used     free     shared    buff/cache    available 
Mem:          1.9Gi     1.3Gi    120Mi       14Mi         500Mi        431Mi 
Swap:         2.0Gi     9.0Mi    2.0Gi

示例4: 
以易读的单位显示内存使用量信息，每隔10s刷新一次：
[root@linuxcool ~]# free -hs 10 
              total      used     free     shared    buff/cache    available 
Mem:          1.9Gi     1.3Gi    119Mi       14Mi         500Mi        430Mi 
Swap:         2.0Gi     9.0Mi    2.0Gi 

              total      used     free     shared    buff/cache    available 
Mem:          1.9Gi     1.3Gi    119Mi       14Mi         500Mi        430Mi 
Swap:         2.0Gi     9.0Mi    2.0Gi


command_name: mkdosfs
chinese_name: mkdosfs命令 – 建立DOS文件系统
description: mkdosfs命令用于建立DOS文件系统。
syntax: mkdosfs [参数]
examples: 示例1: 将 A 槽里的磁碟片格式化为 DOS 格式，并将标签设为 Tester： [root@linuxcool ~]# mkdosfs -n Tester /dev/fd0
category: 磁盘管理(disk)
parameters:
|-c: 建立档案系统之前先检查是否有坏轨 |
|-l: 从得定的档案中读取坏轨记录 |
|-f: 指定档案配置表的数量 |
|-F: 指定 FAT 表的大小，通常是 12 或是 16 个位元组 |
|-i: 指定 Volume ID |
|-n: 指定 Volume Name，即磁碟标签 |
|-r: 指定根目录下的最大档案数 |
|-v: 提供额外的信息 |


command_name: vgremove
chinese_name: vgremove命令 – 删除VG卷组设备
syntax: vgremove [参数] [卷组名称]
parameters: |-f: 强制删除而不询问 | |-t: 使用测试模式 | |-v: 显示执行过程详细信息 |
examples: 示例1: 删除指定的卷组设备： [root@linuxcool ~]#vgremove VG01Volume group "VG01" successfully removed
category: 磁盘管理(disk)
description:
vgremove命令来自英文词组“Volume group remove”的缩写，其功能是用于删除VG卷组设备。创建LVM逻辑卷的流程顺序为PV→VG→LV，而删除LVM逻辑卷流程顺序则为LV→VG→PV，因此请在决定删除VG卷组前先确认LV逻辑卷是否已被删除，然后再执行此命令。
*当要删除的卷组上已经创建了逻辑卷时，需要进行确认删除，防止误删除数据。


command_name: warnquota
chinese_name: warnquota命令 – 发送邮件给超出配额的用户
syntax: warnquota [参数]
category: 磁盘管理(disk)
description:
warnquota命令的作用是可以对超过磁盘限额的用户发出警告邮件，而邮件的内容在/etc/warnquota.conf文件中进行设置。
warnquota命令需要安装包quota-warnquota的支持才可以使用。

parameters:
|-u: 向用户发出警告 |
|-g: 向组群发出警告 |
|-s: 用更易懂的单位发送信息 |
|-i: 避免autofs挂载点 |
|-d: 不给自己发送磁盘配额信息 |
|-F<格式名>: 使用特定格式的配额文件 |
|-c<配置文件>: 非默认配置文件 |
|-a<管理员文件>: 非默认的管理员文件 |

examples:
示例1: 
使用配置文件发送磁盘配额警告电子邮件：
[root@linuxcool ~]# warnquota -c /etc/warnquota.conf

示例2: 
用更易懂的单位发送电子邮件：
[root@linuxcool ~]# warnquota -s

示例3: 
使用特定格式的配额文件发送磁盘配额警告电子邮件：
[root@linuxcool ~]# warnquota -F /etc/warning.conf


command_name: lvextend
chinese_name: lvextend命令 – 扩展逻辑卷设备
syntax: lvextend [参数] [逻辑卷]
category: 磁盘管理(disk)
description:
lvextend命令来自英文词组logical volume extend的缩写，其功能是扩展逻辑卷设备。LVM（逻辑卷管理器）技术具有灵活调整卷组与逻辑卷的特点，逻辑卷设备容量可以在创建时规定，亦可在后期根据业务需求进行动态扩展或缩小。

parameters:
|-f: 强制扩展设备而不询问 |
|-i: 设置扩展的条带数量 |
|-l: 设置逻辑卷的大小（PE个数） |
|-n: 扩展前不进行文件系统检查 |
|-r: 使用fsadm命令调整文件系统和逻辑卷大小 |

examples:
示例1: 
将指定的逻辑卷设备扩展至290MB：
[root@linuxcool ~]# lvextend -L 290M /dev/storage/vo 
Rounding size to boundary between physical extents: 292.00 MiB. 
Size of logical volume storage/vo changed from 148 MiB (37 extents) to 292 MiB (73 extents). 
Logical volume storage/vo successfully resized.


command_name: cfdisk
chinese_name: cfdisk命令 – 用于磁盘分区
syntax: cfdisk [参数]
category: 磁盘管理(disk)
description:
cfdisk是用来磁盘分区的程序，它十分类似DOS的fdisk，具有互动式操作界面而非传统fdisk的问答式界面，您可以轻易地利用方向键来操控分区操作。cfdisk指令是一个基于鼠标的、用于硬盘分区的程序。输入指令cfdisk之后，将出现上面的图形界面，它是基于鼠标进行操作的，利用它可以进行磁盘的分区操作。

parameters:
|-a: 在程序里不用反白代表选取，而以箭头表示 |
|-c: 忽略BIOS的数值，直接指定磁盘的柱面数目 |
|-P: 显示分区表的内容 |
|-s: 忽略BIOS的数值，直接指定磁盘的磁区数目 |
|-v: 显示版本信息 |
|-z: 不读取现有的分区，直接当作没有分区的新磁盘使用 |

examples:
示例1: 
进行磁盘分区：
[root@linuxcool ~]# cfsik

示例2: 
进行磁盘分区，使用箭头进行操作，而不使用反白表示：
[root@linuxcool ~]# cfsik -a


command_name: lsblk
chinese_name: lsblk命令 – 查看系统的磁盘使用情况
description: lsblk命令来自英文词组list block devices的缩写，其功能是查看系统的磁盘使用情况。
syntax: lsblk [参数]
category: 磁盘管理(disk)
parameters:
|-a: 显示所有设备信息 |
|-b: 显示以字节为单位的设备大小 |
|-e: 排除指定设备 |
|-f: 显示文件系统信息 |
|-h: 显示帮助信息 |
|-i: 仅使用字符 |
|-l: 使用列表格式显示 |
|-n: 不显示标题 |
|-o: 输出列信息 |
|-P: 使用key=value格式显示信息 |
|-r: 使用原始格式显示信息 |
|-t: 显示拓扑结构信息 |
|-V: 显示版本信息 |

examples:
示例1: 
显示系统中所有磁盘设备的使用情况信息：
[root@linuxcool ~]# lsblk -a 
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT 
sda            	   8:0    0  20G   0 disk 
├─sda1       	   8:1    0   1G   0 part /boot 
└─sda2       	   8:2    0  19G   0 part 
   ├─rhel-root 253:0    0  17G   0 lvm / 
   └─rhel-swap 253:1    0   2G   0 lvm [SWAP] 
sr0            	  11:0    1 6.6G   0 rom /media/cdrom

示例2: 
显示系统中磁盘设备的归属及权限信息：
[root@linuxcool ~]# lsblk -m 
NAME           SIZE	OWNER GROUP MODE 
sda             20G	root  disk  brw-rw---- 
├─sda1          1G	root  disk  brw-rw---- 
└─sda2         19G	root  disk  brw-rw---- 
   ├─rhel-root 17G	root  disk  brw-rw---- 
   └─rhel-swap  2G	root  disk  brw-rw---- 
sr0             6.6G	root  cdrom brw-rw----

示例3: 
显示系统中所有SCSI类型的磁盘设备信息：
[root@linuxcool ~]# lsblk -S 
NAME HCTL      TYPE VENDOR   MODEL             REV TRAN 
sda  2:0:0:0   disk ATA      VMware Virtual S 0001 sata 
sr0  3:0:0:0   rom  NECVMWar VMware SATA CD01 1.00 sata

示例4: 
以列表格式显示磁盘设备信息，并且不显示标题：
[root@linuxcool ~]#lsblk -nlsda         8:0    0   20G  0 disk 
sda1        8:1    0    1G  0 part /boot
sda2        8:2    0   19G  0 part 
sr0        11:0    1  6.6G  0 rom  /media/cdrom
rhel-root 253:0    0   17G  0 lvm  /
rhel-swap 253:1    0    2G  0 lvm  [SWAP]


command_name: pvchange
chinese_name: pvchange命令 – 改变物理卷分配许可
description: pvchange命令允许管理员改变物理卷的分配许可，如果物理卷出现故障，可以使用pvchange命令禁止分配物理卷上的PE。
syntax: pvchange [参数]
parameters: |-u: 生成新的UUID | |-x: 是否允许分配PE |
category: 磁盘管理(disk)
examples:
示例1: 
禁止分配/dev/sdb1上的PE：
[root@linuxcool ~]# pvchange -x n /dev/sdb1  
Physical volume "/dev/sdb1" changed   
1 physical volume changed / 0 physical volumes not changed


command_name: vgexport
chinese_name: vgexport命令 – 导出卷组
description: vgexport命令的作用是可以导出卷组。 vgexport命令允许设置系统未知的非活动卷组名称。 也可以将该卷组中的所有物理卷移动到不同的系统中，以便以后使用vgimport命令导入。
syntax: vgexport [参数] [卷组名]
parameters: |-a: 导出所有活动的卷组 | |-p: 不从系统中中将卷组相关的信息去掉 | |-s: 向映射文件中添加卷组标识符 (VGID) | |-m: 产生一个map文件 | |-v: 显示详细过程 |
category: 磁盘管理(disk)
examples:
示例1: 
导出卷组vgl：
[root@linuxcool ~]# vgexport linuxcool_vg

示例2: 
导出所有活动卷组：
[root@linuxcool ~]# vgexport -a

示例3: 
导出带有map文件的卷组：
[root@linuxcool ~]# vgexport -s -p -m /tmp/vglinuxcool.map /dev/vglinuxcool


command_name: pvscan
chinese_name: pvscan命令 – 列出找到的物理卷
description: pvscan命令会扫描系统中连接的所有硬盘，列出找到的物理卷列表。使用pvscan命令的-n选项可以显示硬盘中的不属于任何卷组的物理卷，这些物理卷是未被使用的。
syntax: pvscan [参数]
parameters: |-d: 调试模式 | |-e: 仅显示属于输出卷组的物理卷 | |-n: 仅显示不属于任何卷组的物理卷 | |-s: 短格式输出 | |-u: 显示UUID |
category: 磁盘管理(disk)
examples:
示例1: 
扫描所有硬盘上的物理卷：
[root@linuxcool ~]# pvscan

示例2: 
仅显示属于输出卷组的物理卷：
[root@linuxcool ~]# pvscan -e

示例3: 
仅显示不属于任何卷组的物理卷：
[root@linuxcool ~]# pvscan -n


command_name: mkswap
chinese_name: mkswap命令 – 建立和设置SWAP交换分区
syntax: mkswap [参数]
parameters: |-c: 建立交换区前，先检查是否有损坏的区块 | |-f: 在SPARC电脑上建立交换区，要加此参数 | |-v0: 建立旧式交换区，此为预设值 | |-v1: 建立新式交换区 |
category: 磁盘管理(disk)
description:
mkswap命令用于在一个文件或者设备上建立交换分区。在建立完之后要使用sawpon命令开始使用这个交换区。最后一个选择性参数指定了交换区的大小，但是这个参数是为了向后兼容设置的，没有使用的必要，一般都将整个文件或者设备作为交换区。

examples:
示例1: 
添加交换分区，假设存在并设置 /dev/sdb3为交换分区：
[root@linuxcool ~]# mkswap /dev/sdb2 
[root@linuxcool ~]# swapon /dev/sdb2

示例2: 
用dd创建一个512M的交换文件，将文件设置为交换分区：
[root@linuxcool ~]# dd if=/dev/zero of=/swapfile1 bs=1024 count=524288
[root@linuxcool ~]# mkswap /swapfile1  
[root@linuxcool ~]# swapon /swapfile1


command_name: mkfs
chinese_name: mkfs命令 – 对设备进行格式化文件系统操作
syntax: mkfs [参数] [设备名]
parameters: |-c: 检查指定设备是否损坏 | |-t: 设置档案系统的模式 | |-V: 显示执行过程详细信息 | |--version: 显示版本信息 |
category: 磁盘管理(disk)
description:
mkfs命令来自英文词组make file system的缩写，其功能是对设备进行格式化文件系统操作。在挂载使用硬盘空间前的最后一步，运维人员需要对整块硬盘或指定分区进行格式化文件系统操作。Linux系统支持的文件系统包含EXT2、EXT3、EXT4、XFS、FAT、MS-DoS、VFAT、Minix等多种格式。

examples:
示例1: 
对指定的硬盘进行格式化文件系统操作：
[root@linuxcool ~]# mkfs -t ext4 /dev/sdb 
mke2fs 1.44.3 (10-July-2018) 
Creating filesystem with 5242880 4k blocks and 1310720 inodes 
Filesystem UUID: 84e96bc0-42bf-4531-9554-97fb04c9b47b 
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000 
Allocating group tables: done 
Writing inode tables: done 
Creating journal (32768 blocks): done 
Writing superblocks and filesystem accounting information: done

示例2: 
对指定的硬盘进行格式化文件系统操作，并输出详细过程信息：
[root@linuxcool ~]# mkfs -V -t xfs /dev/sdb 
mkfs from util-linux 2.32.1 
mkfs.xfs /dev/sdb 
meta-data=/dev/sdb 				isize=512    agcount=4, agsize=1310720 blks 
         = 					sectsz=512   attr=2, projid32bit=1 
         = 					crc=1        finobt=1, sparse=1, rmapbt=0 
         = 					reflink=1 
data     = 					bsize=4096   blocks=5242880, imaxpct=25 
         = 					sunit=0      swidth=0 blks 
Naming   =version 2 				bsize=4096   ascii-ci=0, ftype=1 
log      =internal log 			bsize=4096   blocks=2560, version=2 
         = 					sectsz=512   sunit=0 blks, lazy-count=1 
realtime =none 					extsz=4096   blocks=0, rtextents=0


command_name: vgimportclone
chinese_name: vgimportclone命令 – 导入并重命名复制的卷组
syntax: vgimportclone [参数] [物理卷]
parameters: |-i: 导入之前导出的卷组 | |-n<快照卷组名>: 指定快照卷组名称，默认情况下，快照卷组将被重命名为原来的名称加上一个数字后缀，以避免重复命名 |
category: 磁盘管理(disk)
description:
vgimportclone命令的作用是可以导入并重命名复制的卷组，这有点类硬件快照。
复制的卷组和物理卷在与原始卷组和物理卷共存之前不能使用。vgimportclone命令重命名与指定物理卷关联的卷组，并更改关联的卷组和物理卷uuid。

examples:
示例1: 
将物理卷/dev/sda5、/dev/sda6和/dev/sda7导入并重命名复制的卷组名称为vg_linuxcool：
[root@linuxcool ~]# vgimportclone -n vg_linuxcool /dev/sda5 /dev/sda6 /dev/sda7

示例2: 
要将与/dev/sdc和/dev/sdd关联的卷组vg00重命名为vg00_snap，并更改关联的卷组和物理卷的uuid：
[root@linuxcool ~]# vgimportclone -n vg00_snap /dev/sdc /dev/sdd

示例3: 
导入指定卷组：
[root@linuxcool ~]# vgimportclone -i vg_linuxcool /dev/sda5


command_name: vgmerge
chinese_name: vgmerge命令 – 合并两个卷组
description: vgmerge命令的作用是可以合并两个现有的卷组。 如果物理盘区大小相等，并且两个卷组的物理和逻辑卷摘要都符合目标卷组名称的要求，则非活动源卷组名称将合并到目标卷组名称中。
syntax: vgmerge [参数] [目的卷组名] [源卷组名]
category: 磁盘管理(disk)
parameters:
|-l: 显示合并的目的卷组名，类似于vgdisplay -v命令 |
|-t: 进行一个测试运行而不做任何真正的改变 |
|-A<y|n>: 是否启用自动备份 |
|-d: 启用调试模式 |
|-v: 显示详细信息 |

examples:
示例1: 
将卷组vg2合并到卷组vg1中：
[root@linuxcool ~]# vgmerge -v vg1 vg2

示例2: 
模拟测试合并卷组操作：
[root@linuxcool ~]# vgmerge -t vg3 vg4

示例3: 
显示合并的完毕的卷组名：
[root@linuxcool ~]# vgmerge -l vg5 vg6


command_name: tftp
chinese_name: tftp命令 – 上传及下载文件
syntax: tftp [参数] [域名或IP地址]
category: 文件传输(transfer)
description:
tftp命令来自英文词组Trivial File Transfer Protocol的缩写，中文译为“简单文件传输协议”，其功能是基于TFTP进行文件传输工作。用户可以通过文字模式将文件上传至远程服务器，亦可以从服务器下载文件到本地主机。
TFTP基于UDP/69，不同于FTP，属于轻量级的传输服务，不具备显示文件列表、断点续传等功能。

parameters:
|-4: 基于IPv4网络协议 |
|-6: 基于IPv6网络协议 |
|-c: 执行指定命令行 |
|-l: [参数]全局转义模式 |
|-R: 设置端口号 |
|-v: 显示执行过程详细信息 |
|-V: 显示版本信息 |

examples:
示例1: 
远程连接至指定服务器：
[root@linuxcool ~]# tftp 192.168.10.10

示例2: 
下载远程指定服务器中的文件至本地工作目录：
tftp> get File1.txt

示例3: 
上传本地工作目录中某个文件至远程指定服务器：
tftp> put File2.txt

示例4: 
退出登录某台远程服务器：
tftp> quit


command_name: lpr
chinese_name: lpr命令 – 将文件放入打印队列等待打印
description: lpr命令用于将文件发送给指定打印机进行打印，如果不指定目标打印机，则使用默认打印机。
syntax: lpr [参数]
category: 文件传输(transfer)
parameters:
|-E: 与打印服务器连接时强制使用加密 |
|-H: 指定可选的打印服务器 |
|-C: 指定打印任务的名称 |
|-P: 指定接受打印任务的目标打印机 |
|-U: 指定可选的用户名 |
|-#: 指定打印的份数 |
|-h: 关闭banner打印 |
|-m: 打印完成后发送E-mail |
|-r: 打印完成后删除文件 |

examples:
示例1: 
将man1和man2送到打印机lp进行打印：
[root@linuxcool ~]# lpr -P lp man1 man2

示例2: 
在名为mailroom的打印机上打印report文件 ：
[root@linuxcool ~]# lpr -P mailroom report

示例3: 
在名为laser1的打印机上打印3个文件 ：
[root@linuxcool ~]# lpr -P laser1 file_1.txt file_2.txt file_3.txt


command_name: rsync
chinese_name: rsync命令 – 远程数据同步工具
syntax: rsync [参数] [目录名]
category: 文件传输(transfer)
description:
rsync命令来自英文词组remote sync的缩写，其功能是远程数据同步。rsync命令能够基于网络（包含局域网和互联网）快速地实现多台主机间的文件同步工作。与scp或ftp命令会发送完整的文件不同，rsync有独立的文件内容差异算法，会在传送前对两个文件进行比较，只传送两者内容间的差异部分，因此速度更‍快。

parameters:
|-b: 备份指定目标文件 |
|-B: 设置检验算法使用的块大小 |
|-c: 对文件传输进行校验 |
|-d: 不递归目录文件，不传输子文件 |
|-D: 保留设备文件信息 |
|-g: 保留文件原始所有组身份 |
|-h: 显示帮助信息 |
|-H: 保留硬链接文件 |
|-l: 保留软链接文件 |
|-n: 显示将要传输的文件列表 |
|-p: 保留文件原始权限信息 |
|-P: 显示进度信息 |
|-q: 使用精简输出模式 |
|-r: 递归处理所有子文件 |
|-R: 使用相对路径 |
|-t: 保留文件时间信息 |
|-v: 显示执行过程详细信息 |
|-x: 设置不跨越文件系统边界 |
|-z: 压缩文件 |

examples:
示例1: 
将本地目录（/Dir）与远程目录（192.168.10.10:/Dir）相关联，保持文件同步：
[root@linuxcool ~]# rsync -r /Dir 192.168.10.10:/Dir 
root@192.168.10.10's password: 此处输入远程服务器密码

示例2: 
将远程目录（192.168.10.10:/Dir）与本地目录（/Dir）相关联，保持文件同步：
[root@linuxcool ~]# rsync -r 192.168.10.10:Dir /Dir 
root@192.168.10.10's password: 此处输入远程服务器密码

示例3: 
关联两个本地的目录，保持文件同步：
[root@linuxcool ~]# rsync -r /Dir1 /Dir2

示例4: 
列出本地指定目录内的文件列表：
[root@linuxcool ~]# rsync /Dir2/ 
drwxr-xr-x             18 2023/10/19 16:46:42 . 
dr-xr-x---          4,096 2023/10/19 16:46:54 root

示例5: 
列出远程指定目录内的文件列表：
[root@linuxcool ~]# rsync 192.168.10.10:/Dir/ 
root@192.168.10.10's password: 此处输入远程服务器密码 
drwxrwxrwt           4,096 2023/10/19 16:47:41 .
-r--r--r--              11 2023/10/17 03:13:19 .X0-lock 
-r--------              11 2023/10/17 03:05:57 .X1024-lock 
-rw-------             532 2023/10/17 02:31:58 .viminfo 
-rw-r--r--           2,587 2023/10/17 02:59:47 anaconda.log 
-rw-r--r--           2,604 2023/10/17 02:59:34 dbus.log


command_name: lprm
chinese_name: lprm命令 – 移除打印队列中的任务
description: lprm命令来自英文词组“Line printer remove”的缩写，其功能是用于移除打印队列中的任务，使用lprm命令来移除尚未完成的，正放在打印机贮列之中的打印任务。
syntax: lprm [参数] [任务编号]
parameters: |-E: 使用加密连接模式 | |-h: 设置远程服务器 | |-P: 设置目标打印机 | |-U: 设置可选的用户名 |
category: 文件传输(transfer)
examples:
示例1: 
将指定打印机中编号为5的打印任务移除：
[root@linuxcool ~]#lprm -P Canon 5

示例2: 
将编号为17的打印任务从预设打印机中移除：
[root@linuxcool ~]#lprm 17


command_name: symlinks
chinese_name: symlinks命令 – 维护符号连接的工具程序
description: symlinks命令可以检查目录中的符号连接，并显示符号连接类型。
syntax: symlinks [参数] [目录]
category: 文件传输(transfer)
parameters:
|-c: 将使用绝对路径的符号连接转换为相对路径 |
|-d: 移除dangling类型的符号连接 |
|-r: 检查目录下所有子目录中的符号连接 |
|-s: 检查lengthy类型的符号连接 |
|-t: 与-c一并使用时，会显示如何将绝对路径的符号连接转换为相对路径，但不会实际转换 |
|-v: 显示所有类型的符号连接 |

examples:
示例1: 
将test目录使用绝对路径的符号连接转换为相对路径：
[root@linuxcool ~]# symlinks -c test

示例2: 
检查test目录下所有子目录中的符号连接：
[root@linuxcool ~]# symlinks -r test


command_name: gpm
chinese_name: gpm命令 – 提供文字模式下的滑鼠事件处理
description: gpm命令是linux的虚拟控制台下的鼠标服务器，用于在虚拟控制台下实现鼠标复制和粘贴文本的功能。gpm命令需要安装并开启相关服务才能使用。
syntax: gpm [参数]
parameters: |-a: 设置加速值 | |-b: 设置波特率 | |-B: 设置鼠标按键次序 | |-m: 指定鼠标设备文件 | |-t: 设置鼠标类型 |
category: 文件传输(transfer)
examples:
示例1: 
安装并开启gpm服务：
[root@linuxcool ~]# yum install -y gpm*
[root@linuxcool ~]# systemctl start gpm

示例2: 
指定鼠标设备文件：
[root@linuxcool ~]# gpm -m /dev/input/mice

示例3: 
设定鼠标类型：
[root@linuxcool ~]# gpm -m /dev/input/mice -t ps2


command_name: fsck
chinese_name: fsck命令 – 检查与修复文件系统
description: fsck命令来自英文词组filesystem check的缩写，其功能是检查与修复文件系统。若系统有过突然断电或磁盘异常的情况，建议使用fsck命令对文件系统进行检查与修复，以防数据丢失。
syntax: fsck [参数] [设备名]
category: 文件传输(transfer)
parameters:
|-a: 自动修复文件系统 |
|-C: 显示进度条 |
|-f: 强制检查而不询问 |
|-M: 不检查正在使用的文件系统 |
|-n: 不进行修复操作 |
|-N: 不实际执行操作，仅模拟输出结果 |
|-R: 忽略指定的文件系统不予检查 |
|-t: 设置要检查的文件系统类型 |
|-T: 不显示标题信息 |
|-V: 显示执行过程详细信息 |
|-y: 始终尝试修复操作 |

examples:
示例1: 
检查文件系统是否有损坏：
[root@linuxcool ~]# fsck /dev/sdb
fsck from util-linux 2.32.1 
e2fsck 1.44.3 (10-July-2018) 
/dev/sdb: clean, 11/1310720 files, 126322/5242880 blocks

示例2: 
强制检查文件系统的损坏情况：
[root@linuxcool ~]# fsck -f /dev/sdb 
fsck from util-linux 2.32.1 
e2fsck 1.44.3 (10-July-2018) 
Pass 1: Checking inodes, blocks, and sizes 
Pass 2: Checking directory structure 
Pass 3: Checking directory connectivity 
Pass 4: Checking reference counts 
Pass 5: Checking group summary information 
/dev/sdb: 11/1310720 files (0.0% non-contiguous), 126322/5242880 blocks


command_name: ftp
chinese_name: ftp命令 – 文件传输协议客户端
syntax: ftp [参数] [域名或IP地址]
category: 文件传输(transfer)
description:
ftp命令来自英文词组file transfer protocol（FTP）的缩写，是一个文件传输协议客户端。FTP是当前最常用的文件传输协议之一，而ftp命令也是最常用的FTP协议客户端，它能够用于在本地主机和远程主机之间上传和下载文件，实现两端的通信。
在登录时匿名FTP服务器，使用anonymous作为用户名，使用任意的电子邮件作为密码。通常，用户只能从匿名FTP服务器下载文件，而能上传文件。另外，FTP使用明文传送用户的认证信息，很容易被局域网内的嗅探软件截获，所以使用ftp命令时要格外注意。

parameters:
|-A: 使用主动模式 |
|-d: 使用调试模式 |
|-e: 禁用命令编辑和历史记录 |
|-g: 关闭文件名替换 |
|-i: 关闭交互模式 |
|-p: 使用被动模式 |
|-t: 激活数据包追踪 |
|-v: 显示执行过程详细信息 |

examples:
示例1: 
使用匿名模式，连接到指定的远程FTP服务器：
[root@linuxcool ~]# ftp 192.168.10.10 
Connected to 192.168.10.10 (192.168.10.10). 
220 (vsFTPd 3.0.3) 
Name (192.168.10.10:root): anonymous 
331 Please specify the password. 	
Password:此处敲击回车即可 
230 Login successful. 
Remote system type is UNIX. 
Using binary mode to transfer files. 
ftp>

示例2: 
从FTP服务器中下载指定的文件到本地目录：
ftp> get File.txt

示例3: 
从本地目录上传文件到FTP服务器中：
ftp> put File.txt

示例4: 
查看FTP服务的帮助信息：
ftp> help

示例5: 
查看FTP服务器中的文件列表：
ftp> ls

示例6: 
删除FTP服务器中的指定文件：
ftp> delete File.txt

示例7: 
在FTP服务器中创建一个远程目录：
ftp> mkdir linux

示例8: 
退出连接：
ftp> quit


command_name: lpq
chinese_name: lpq命令 – 查看打印队列状态
description: lpq命令用于显示打印队列中的打印任务的状态信息及其所包含的打印任务 ，如果使用该命令时没有指定打印机或类，则将显示默认目标上排队的作业。
syntax: lpq [参数]
examples: 示例1: 显示打印队列状态： [root@linuxcool ~]# lpq 示例2: 查看当前打印任务： [root@linuxcool ~]# lpq -l
category: 文件传输(transfer)
parameters:
|-E: 强制使用加密方式与服务器连接 |
|-P: 显示中的打印机上的打印队列状态 |
|-U: 自动可选的用户名 |
|-a: 报告所有打印机的定义任务 |
|-h: 指定打印服务器信息 |
|-l: 使用长格式输出 |
|+: 指定显示状态的间隔时间 |


command_name: lftp
chinese_name: lftp命令 – 优秀的命令行FTP客户端
syntax: lftp [参数]
parameters: |-f: 指定lftp要执行的脚本文件 | |-c: 执行指定的命令后退出 | |--help: 显示帮助信息 | |--version: 显示当前版本号 |
category: 文件传输(transfer)
description:
lftp支持FTP、SETP、HTTP和FTPs等多种文件传输协议。 还支持FXP，允许数据绕过客户端直接在两个FTP服务器之间传输。同时还有递归镜像整个目录树以及断点续传下载的功能， lftp的传输任务可以安排时间段计划执行，可以限制带宽和创建传输列表，支持类似Unix shell的任务控制。客户端还可以在交互式或自动脚本里使用。

examples:
示例1: 
登陆后只用”ls”、”cd”等命令查看文件和改变目录：
[root@linuxcool ~]# lftp [用户名]:密码@ftp地址:传送端口（默认21）

示例2: 
使用”get”、”mget”、”mirror”、”pget”不同的指令功能下载文件：
> mget -c *.db  # 把所有的db文件以允许断点续传的方式下载。 
> mirror aaa/ #  将aaa目录整个的下载下来，子目录也会自动复制 
> pget -c -n 10 10G.file  以最多10个线程以允许断点续传的方式下载10G.file

示例3: 
“put”、”mput”都是对文件上传的操作，”mirror -R” 将本地目录以迭代（包括子目录）的方式反向上传到ftp站点：
> put linuxcool.tar
> mirror -R [本地目录]名


command_name: curl
chinese_name: curl命令 – 文件传输工具
syntax: curl [参数] [网址URL] [文件名]
category: 文件传输(transfer)
description:
curl命令来自英文词组CommandLine URL的缩写，其功能是在Shell终端界面中基于URL规则进行文件传输工作。curl是一款综合性的传输工具，可以上传也可以下载，支持HTTP、HTTPS、FTP等30余种常见协‍议。

parameters:
|-a: 追加写入到指定文件 |
|-A: 设置用户代理标头信息 |
|-b: 设置用户Cookie信息 |
|-B: 使用ASCII文本传输 |
|-C: 支持断点续传 |
|-d: 以HTTP POST方式传送数据 |
|-D: 把头部信息写入指定文件 |
|-e: 设置来源网址URL |
|-f: 连接失败时不显示报错 |
|-o: 设置新的本地文件名 |
|-a: 追加写入到指定文件 |
|-O: 保留远程文件的原始名 |
|-G: 以GET方式传送数据 |
|-H: 自定义头信息 |
|-I: 显示网站的响应头信息 |
|-K: 读取指定配置文件 |
|-N: 禁用缓冲输出 |
|-s: 静默执行模式 |
|-T: 上传指定文件 |
|-u: 设置服务器的用户名和密码 |
|-U: 设置代理的用户名和密码 |
|--basic: 使用HTTP基本验证 |
|-G: 以GET方式传送数据 |
|--capath: 设置CA证书目录 |
|--cert-type: 设置客户端证书文件和密码 |
|--ciphers: 设置SSL证书密码 |
|--connect-timeout: 设置最大请求时间 |
|--create-dirs: 创建本地目录的层次结构 |
|--digest: 使用数字身份验证 |
|--ftp-create-dirs: 自动创建远程目录 |
|--ftp-pasv: 使用PASV/EPSV代替端口 |
|--ftp-ssl: 使用SSL/TLS进行数据传输 |
|--ftp-ssl-reqd: 使用SSL/TLS进行数据传输 |
|--help: 显示帮助信息 |
|--key: 设置私钥文件名 |
|--key-type: 设置私钥文件类型 |
|--limit-rate: 设置传输速度 |
|--max-filesize: 设置最大下载的文件总量 |
|--max-redirs: 设置最大重定向次数 |
|--pass: 设置密钥密码 |
|--progress-bar: 显示进度条 |
|--verbose: 显示执行过程详细信息 |
|--version: 显示版本信息 |

examples:
示例1: 
获取指定网站的网页源码：
[root@linuxcool ~]# curl https://www.linuxcool.com 
% Total   % Received % Xferd Average Speed Time  Time      Time   Current 
                             Dload  Upload Total Spent     Left   Speed 
0     0   0      0   0     0   0        0 --:--:-- --:--:-- --:--:-- 0 
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta http-equiv="X-UA-Compatible"content="IE=Edge">
<meta charset="UTF-8">
………………省略部分输出信息………………

示例2: 
下载指定网站中的文件：
[root@linuxcool ~]# curl -O https://www.linuxprobe.com/docs/LinuxProbe.pdf 
  % Total   % Received % Xferd Average Speed Time     Time      Time   Current 
                               Dload  Upload Total    Spent     Left   Speed 
100 16.8M 100 16.8M    0     0 22.5M       0 --:--:-- --:--:-- --:--:-- 22.5M

示例3: 
打印指定网站的HTTP响应头信息：
[root@linuxcool ~]# curl -I https://www.linuxcool.com 
  % Total   % Received % Xferd Average Speed  Time     Time   Time   Current 
                               Dload  Upload  Total    Spent  Left   Speed 
  0     0   0      0   0     0     0     0 --:--:-- --:--:-- --:--:-- 0 
HTTP/2 200 
server: Tengine 
content-type: text/html; charset=UTF-8 
vary: Accept-Encoding 
date: Wed, 04 May 2023 06:44:26 GMT 
vary: Accept-Encoding 
x-powered-by: PHP/7.4.11 
vary: Accept-Encoding, Cookie 
cache-control: max-age=3, must-revalidate 
ali-swift-global-savetime: 1651646666 
via: cache3.l2cn1802[235,234,200-0,M], cache17.l2cn1802[236,0], kunlun10.cn257 [403,414,200-0,M], kunlun
2.cn257[417,0] 
x-cache: MISS TCP_REFRESH_MISS dirn:0:416601537 
x-swift-savetime: Wed, 04 May 2023 06:44:26 GMT 
x-swift-cachetime: 3 timing-allow-origin: * 
eagleid: ab08f29616516466664417014e

示例4: 
下载指定文件服务器中的文件（用户名:密码）：
[root@linuxcool ~]# curl -u linuxprobe:redhat ftp://www.linuxcool.com/LinuxProbe.pdf


command_name: ftpwho
chinese_name: ftpwho命令 – 显示FTP会话信息
syntax: ftpwho [参数]
parameters: |-h: 显示帮助信息 | |-v: 详细信息模式 |
category: 文件传输(transfer)
description:
ftpwho命令来自英文词组“FTP who”的缩写，其功能是用于显示FTP会话信息。Linux系统运维人员可以利用ftpwho命令查看到有哪些用户正在登录着FTP文件传输协议服务器，并看到他们此时正在执行的操作。

examples:
示例1: 
显示当前系统的FTP会话信息：
[root@linuxcool ~]#ftpwho

示例2: 
显示当前系统的FTP会话信息，详细信息模式：
[root@linuxcool ~]#ftpwho -v

示例3: 
显示帮助信息：
[root@linuxcool ~]#ftpwho -h


command_name: uuto
chinese_name: uuto命令 – 将文件传送到远端的UUCP主机
description: uuto命令为script文件，它实际上会执行uucp，用来将文件传送到远端UUCP主机，并在完成工作后，以邮件通知远端主机上的用户。
syntax: uuto [文件]
parameters: |文件: 需要执行的传送文件 | |目的: 指定目标文件路径 |
category: 文件传输(transfer)
examples:
示例1: 
将文件传送到远程UUCP主机localhost的tmp目录：
[root@linuxcool ~]# uuto ./testfile localhost/tmp

示例2: 
将文件传送到远程UUCP主机localhost 的www目录：
[root@linuxcool ~]# uuto ./testfile localhost/www

示例3: 
将文件传送到远程UUCP主机localhost 的test目录：
[root@linuxcool ~]# uuto ./testfile localhost/test

示例4: 
将文件传送到远程UUCP主机localhost 的test1目录:
[root@linuxcool ~]# uuto ./testfile localhost/test1

示例5: 
将文件传送到远程UUCP主机localhost 的test2目录:
[root@linuxcool ~]# uuto ./testfile localhost/test2


command_name: axel
chinese_name: axel命令 – 多线程下载工具
description: axel是优秀的http/ftp多线程下载工具。支持断点续传，可以从多个地址或者从一个地址的多个连接来下载同一个文件。适合单线程下载限速的情景，通过多线程加速下载。
syntax: axel [参数]
parameters: |-s: 设置最高速度 | |-n: 设置连接数 | |-o: 下载另存为本地文件 | |-H: 指定HTTP头 | |-U: 指定HTTP代理 | |-V: 版本信息 |
category: 文件传输(transfer)
examples:
示例1: 
以5个链接数下载testfile.zip，并另存为/tmp/目录下的filetest.zip [文件]：
[root@linuxcool ~]# axel -n 5 -o /tmp/filetest.zip  http://www.Linuxcool.com/testfile.zip


command_name: ftpshut
chinese_name: ftpshut命令 – 指定时间关闭FTP服务器
syntax: ftpshut [参数]
parameters: |-d: 切断所有FTP连线时间 | |-l: 停止接受FTP登入的时间 |
category: 文件传输(transfer)
description:
ftpshut命令为系统管理者提供了在设置的时间关闭FTP服务器，且能在关闭之前发出警告信息通知用户的功能。
关闭时间若设置后为”none”，则会马上关闭服务器。如果采用”+30″的方式来设置表示服务器在30分钟之后关闭。依次类推，假设使用”1130″的格式则代表服务器会在每日的11时30分关闭，时间格式为24 小时制。FTP服务器关闭后，在/etc目录下会产生一个名称为shutmsg的文件，把它删除后即可再次启用FTP服务器。

examples:
示例1: 
在晚上11:00 关闭FTP服务器，并在关闭前5 分钟拒绝新的FTP登录，前3 分钟关闭所有ftp的链接，且给出警告信息 ：
[root@linuxcool ~]# ftpshut-d 3 -1 5 1100 "Server will be shutdown at 23:00:00"


command_name: ncftp
chinese_name: ncftp命令 – 传输文件
syntax: ncftp [参数] [主机或IP地址]
parameters: |-u: 指定登录FTP服务器的用户名 | |-p: 设置用户密码 | |-P: 指定FTP端口号，默认为21 | |-j: 指定账号 | |-h: 显示帮助信息 | |-v: 显示版本信息 |
category: 文件传输(transfer)
description:
ncftp命令是文字模式FTP程序中的佼佼者，它具备多样特色， 包括显示传输速率，下载进度，自动续传，标住书签，可通过防火墙和代理服务器等。
当不指定用户名时，ncftp [命令]会自动尝试使用匿名账户anonymous 去连接远程FTP 服 务器，不需要用户输入账号和密码。

examples:
示例1: 
匿名连接www.linuxcool.com服务器，同时不想输入anonymous等匿名用户名：
[root@linuxcool ~]# ncftp www.linuxcool.com

示例2: 
显示帮助信息：
[root@linuxcool ~]# ncftp -h


command_name: rexec
chinese_name: rexec命令 – 远程执行指令客户端
description: rexec命令是远程执行命令服务器的客户端工具，向远程rexec服务器发出执行命令的请求。 rexec命令以客户机/服务器的模式运行。运行rexec命令时首先要启动远程主机上的rexec服务器。
syntax: rexec [参数] [远程主机或命令]
category: 网络通讯(network)
parameters:
|-a: 表示远程命令的标准错误与标准输出相同，不支持发送任意信号到远程进程 |
|-l<用户名>: 指定连接远程rexec服务器的用户名 |
|-p<密码>: 指定连接远程rexec服务器的密码 |
|-n: 明确地提示输入用户名和密码 |

examples:
示例1: 
在远程主机上执行date命令：
[root@linuxcool ~]# rexec linuxcool date

示例2: 
提示输入用户名和密码执行date命令：
[root@linuxcool ~]# rexec -n linuxcool date

示例3: 
使用密码执行date命令：
[root@linuxcool ~]# rexec -l uesrname -p password linuxcool date


command_name: getty
chinese_name: getty命令 – 用于设置终端机模式
syntax: getty [参数]
examples: 示例1: 开启终端： [root@linuxcool ~]# getty tty7
category: 网络通讯(network)
description:
getty命令用于设置终端机模式，连线速率和管制线路。
getty命令是UNIX之类操作系统启动时所必须的3个步骤之一 ，用来开启终端，进行终端的初始化，设置终端。 getty 命令设置和管理终端线路和端口。getty [命令]由 init [命令]来运行。getty [命令]与终端状态管理员程序相链接。终端状态管理员程序提供了终端控制和登录的复合功能。 当作为 getty [命令]调用时，终端状态管理员程序提供了通常的端口管理功能。

parameters:
|-c: 指定定义配置文件，预设为/etc/gettydefs |
|-d: 指定组态配置文件，预设为/etc/conf.getty |
|-h: 当传输速率为0时就强制断线 |
|-r: 设置延迟时间 |
|-t: 设置等待登入的时间 |
|-w: 设置等待回应的字符串 |


command_name: telnet
chinese_name: telnet命令 – 控制远程设备
syntax: telnet [参数] [域名或IP地址]
examples: 示例1: 控制指定的远程主机： [root@linuxcool ~]#telnet 192.168.10.10
category: 网络通讯(network)
description:
telnet命令的功能是用于控制远程主机，作为常用的telnet协议的客户端工具，使用该命令后能够控制一切开启了telnet协议支持的设备，包括但不限于Linux系统、Windows系统、路由器、交换机等等。但由于telnet协议基于明文传输数据，因此不建议输入敏感信息，保护隐私和服务器安全哦。

parameters:
|-8: 允许使用8位字符资料，包括输入与输出 |
|-a: 自动登入远端主机 |
|-b: 设置远端主机的别名名称 |
|-c: 不读取用户目录里的.telnetrc文件 |
|-d: 使用排错模式 |
|-e: 设置脱离字符 |
|-E: 滤除脱离字符 |
|-K: 不自动登入远端主机 |
|-l: 设置要登入远端主机的用户名称 |
|-L: 允许输出8位字符资料 |
|-n: 设置文件记录相关信息 |
|-r: 使用类似rlogin指令的用户界面 |
|-S: 设置telnet连线所需的IP TOS信息 |
|-X: 关闭指定的认证形态 |


command_name: xrdp
chinese_name: xrdp命令 – RDP连接Linux远程桌面
description: xrdp是一个远程桌面协议(RDP)服务器，与Windows NT/2000/2003服务器不同的是，xrdp不会向用户显示Windows桌面，而是X窗口桌面。它也可以作为VNC->RDP的桥接。
syntax: xrdp [参数]
parameters: |-n: 在前台启动xrdp，而不是将其作为守护进程启动 | |-k: 杀死正在运行的xrdp守护进程 | |-p: 指定要监听的TCP端口 | |-f: 在一个新的连接上分叉一个新的进程 |
category: 网络通讯(network)
examples:
示例1: 
在前台启动xrdp，而不是将其作为守护进程启动：
[root@linuxcool ~]# xrdp -n

示例2: 
杀死正在运行的xrdp守护进程：
[root@linuxcool ~]# xrdp -k

示例3: 
指定要监听的TCP端口：
[root@linuxcool ~]# xrdp -p 33890


command_name: squid
chinese_name: squid命令 – 代理服务器守护进程
description: squid命令是使用最广泛的代理服务器软件，可以节省网络带宽，提高网站的访问速度，它对服务器硬件的内存要求比较高。 它支持FTP、Gopher和HTTP协议的数据对象。
syntax: squid [参数]
category: 网络通讯(network)
parameters:
|-d<调试等级>: 将指定调试等级的信息发送到标准错误设备 |
|-f<配置文件>: 使用指定的配置文件，而不使用默认配置文件 |
|-k: 向squid服务器发送指令 |
|-s: 启用syslog日志 |
|-z: 创建缓存目录 |
|-C: 不捕获致命信号 |
|-D: 不进行DNS参数测试 |
|-N: 以非守护进程模式运行 |
|-X: 强制进入完全调试模式 |

examples:
示例1: 
创建缓存目录：
[root@linuxcool ~]# squid -z

示例2: 
不捕获致命信号：
[root@linuxcool ~]# squid -C

示例3: 
强制进入完全调试模式：
[root@linuxcool ~]# squid -X

示例4: 
启用syslog日志：
[root@linuxcool ~]# squid -s

示例5: 
关闭squid服务器：
[root@linuxcool ~]# squid -k shutdown


command_name: dhcpd
chinese_name: dhcpd命令 – 管理DHCP服务程序
syntax: dhcpd [参数] [网络接口]
category: 网络通讯(network)
description:
dhcpd命令来自英文词组“DHCP daemon”的缩写，其功能是用于管理DHCP服务程序。执行dhcpd命令会读取加载dhcpd.conf配置文件并启动服务器上的DHCP服务程序，随后用户便可以获取到如IP地址、子网掩码、网关地址等网卡信息了。

parameters:
|-4: 基于IPv4网络协议 |
|-6: 基于IPv6网络协议 |
|-d: 使用调试模式 |
|-f: 作为前台进程运行 |
|-p: 设置监听端口 |
|-q: 静默执行模式 |
|-s: 设置发送回复的服务器 |
|-t: 测试配置文件的语法是否正确 |
|-T: 测试租约数据库文件是否正确 |
|-cf: 设置配置文件路径 |
|-lf: 设置租约文件 |
|-pf: 设置服务PID文件 |

examples:
示例1: 
启动DHCP服务程序：
[root@linuxcool ~]#dhcpdInternet Systems Consortium DHCP Server 4.3.6
Copyright 2004-2017 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
ldap_gssapi_principal is not set,GSSAPI Authentication for LDAP will not be used
Not searching LDAP since ldap-server, ldap-port and ldap-base-dn were not specified in the config file
Config file: /etc/dhcp/dhcpd.conf
Database file: /var/lib/dhcpd/dhcpd.leases
PID file: /var/run/dhcpd.pid
Source compiled to use binary-leases
Wrote 0 leases to leases file.

Listening on LPF/ens160/00:0c:29:60:cd:ee/192.168.10.0/24
Sending on   LPF/ens160/00:0c:29:60:cd:ee/192.168.10.0/24
Sending on   Socket/fallback/fallback-net

示例2: 
指定发送回复的DHCP服务器地址，并启动服务程序：
[root@linuxcool ~]#dhcpd -s 192.168.10.10

示例3: 
以调试模式启动DHCP服务程序：
[root@linuxcool ~]#dhcpd -d

示例4: 
指定监听端口号后启动DHCP服务程序：
[root@linuxcool ~]#dhcpd -p 53


command_name: talk
chinese_name: talk命令 – 用于与其他使用者对谈
description: talk命令允许同一主机或不同主机上的两个用户进行交互式对话。talk命令在每个用户的显示器上打开发送窗口和接收窗口。这样每个用户在talk命令显示另一个用户正在输入的内容时能够在发送窗口输入。
syntax: talk [参数]
category: 网络通讯(network)
parameters:
|person: 预备对谈的使用者帐号，如果该使用者在其他机器上，则可输入 person@machine.name |
|ttyname: 如果使用者同时有两个以上的 tty 连线，可以自行选择合适的 tty 传讯息 |

examples:
示例1: 
与现在机器上的使用者Rollaend对谈：
[root@linuxcool ~]# talk Rollaend

示例2: 
等待Rollaend回应，若接受，则输入`talk jzlee`即可开始对谈，结束请按 ctrl+c：
[root@linuxcool ~]# talk Rollaend@linuxcool.com pts/2


command_name: uulog
chinese_name: uulog命令 – 显示UUCP记录文件
syntax: uulog [参数]
examples: 示例1: 显示uucp log信息： [root@linuxcool ~]# uulog
category: 网络通讯(network)
description:
uulog命令显示了日志文件的内容。该内容包含了 uucico 和 uuxqt 守护进程的活动。 每一个远程系统都有自己的日志文件，本地系统使用 uucp、uuto以及 uux [命令]来与这些远程系统通信。
使用 uulog [命令]显示用户和系统要求的 uucp、uuto 以及 uux [命令]的摘要信息。所有这些事务都记录在 /var/spool/uucp/.Log 目录里的日志文件中。这些文件被命名为 DaemonName/SystemName，其中 DaemonName 目录是所涉及的守护进程的名字，SystemName [文件]是为该守护进程正在连接的远程系统而命名的。

parameters:
|-D或--debuglog: 显示排错记录 |
|-f或--follow: 与-F参数类似，但仅显示与指定主机相关的记录 |
|-I或--config: 指定程序的配置文件 |
|-n或--lines: 显示记录文件中，从最后算起指定行数的数值 |
|-s: 仅显示记录文件中，与指定文件相关的记录 |
|-S或--statslog: 显示统计记录 |
|-u或--suer: 仅显示记录文件中，与指定用户相关的记录 |
|-v或--version: 显示版本信息 |
|-X或--debug: 设定排错层级 |
|--help: 显示帮助 |


command_name: minicom
chinese_name: minicom命令 – 通信程序
description: Linuxminicom命令用于调制解调器通信程序。 minicom是一个相当受欢迎的PPP拨号连线程序。
syntax: minicom [参数]
parameters: |-d: 启动或直接拨号 | |-s: 开启程序设置画面 |
category: 网络通讯(network)
examples:
示例1: 
启动或直接拨号编号为02的号码：
[root@linuxcool ~]# minicom -d 02

示例2: 
开启程序设置画面：
[root@linuxcool ~]# minicom -s


command_name: showmount
chinese_name: showmount命令 – 显示NFS服务器的共享信息
syntax: showmount [参数] [域名或IP地址]
parameters: |-a: 显示客户端主机名和挂载目录 | |-d: 仅显示已被NFS客户端加载的目录 | |-e: 显示NFS服务器上所有的共享目录 | |-v: 显示版本信息 |
category: 网络通讯(network)
description:
showmount命令来自英文词组show mounted disk的缩写，其功能是显示NFS服务器的共享信息。NFS是一款广泛使用的Linux系统文件共享服务，客户通常仅需先使用showmount命令查看NFS服务器的共享设备信息，随后使用mount命令远程挂载到本地即可使用，无须密码验证。

examples:
示例1: 
获取已经被客户端加载的NFS共享目录：
[root@linuxcool ~]# showmount -d 192.168.10.10

示例2: 
获取NFS服务器的全部共享目录：
[root@linuxcool ~]# showmount -e 192.168.10.10 
Export list for 192.168.10.10: 
/Dir 192.168.10.*


command_name: iptstate
chinese_name: iptstate命令 – 以top风格显示内核的iptables状态
description: iptstate命令以top命令类似的风格实时显示Linux内核中iptables的工作状态。输出信息可以以任何字段进行排序，可以定义状态刷新的频率和单次显示状态信息。
syntax: iptstate [参数]
category: 网络通讯(network)
parameters:
|-b: 指定输出信息的排序规则 |
|-d: 不动态的改变窗口大小 |
|-f: 过滤本地回送消息 |
|-h: 显示帮助消息 |
|-l: 将IP地址解析为域名 |
|-L: 隐藏于DNS查询相关的状态 |
|-r<秒数>: 指定刷新屏幕的频率 |
|-R: 反序排序 |
|-s: 单次运行模式，仅打印一次状态信息 |
|-t: 显示汇总信息 |

examples:
示例1: 
以top风格实时显示iptables的工作状态：
[root@linuxcool ~]# iptstate

示例2: 
显示汇总消息：
[root@linuxcool ~]# iptstate -t

示例3: 
指定屏幕刷新的频率为5秒：
[root@linuxcool ~]# iptstate -r 5

示例4: 
打印状态信息：
[root@linuxcool ~]# iptstate -s


command_name: netconf
chinese_name: netconf命令 – 设置网络功能参数
syntax: netconf [网卡名]
examples: 示例1: 配置指定网卡参数，并使其重启生效： [root@linuxcool ~]#netconf eth0[root@linuxcool ~]#service network restart
category: 网络通讯(network)
description:
netconf命令来自英文词组“network configure”的缩写，其功能是用于设置网络功能参数。netconf命令应用于红帽系Linux操作平台中，主要用于配置与网卡、网络相关的功能参数，可以运行在文本界面，也可以在图形界面下使用，类似于nmcli和nmtui命令。


command_name: speedtest-cli
chinese_name: speedtest-cli命令 – 测试服务器外网速度
description: speedtest-cli 是一个使用python编写的命令行脚本，通过调用speedtest.net测试上下行的接口来完成速度测试，最后我会测试运维生存时间所在服务器的外网速度。
syntax: speedtest-cli [参数]
category: 网络通讯(network)
parameters:
|--share: 分享你的网速，该命令会在speedtest网站上生成网速测试结果的图片 |
|--list: 根据距离显示speedtest.net的测试服务器列表 |
|--server=SERVER: 指定列表中id的服务器来做测试 |
|--source=SOURCE: 绑定服务器的源地址 |
|--simple: 仅显示基本信息 |

examples:
示例1: 
列出所有在中国的测试服务器：
[root@linuxcool ~]# speedtest-cli --list | grep China

示例2: 
将速度测试的结果生成一张图片的连接，便于你分享 ：
[root@linuxcool ~]# speedtest-cli --share

示例3: 
以字节计算的方式来测试上下行速度：
[root@linuxcool ~]# speedtest-cli --bytes

示例4: 
只显示ping和上下行速度：
[root@linuxcool ~]# speedtest-cli --simple

示例5: 
列出speedtest.net所有的服务器距离你的物理距离，单位是千米(km):
[root@linuxcool ~]# speedtest-cli --list


command_name: ss
chinese_name: ss命令 – 显示活动套接字信息
syntax: ss [参数]
category: 网络通讯(network)
description:
ss命令来自英文词组“Socket Statistics”的缩写，其功能是用于显示活动套接字信息。如果您之前使用过netstat命令，那么恭喜！ss命令与其十分相似，它们都用于显示套接字信息，而ss命令的优势在于它能够显示更多TCP和连接状态的详细信息，并且速度更快更高效。

parameters:
|-0: 显示数据包套接字 |
|-4: 基于IPv4网络协议 |
|-6: 基于IPv6网络协议 |
|-a: 显示所有套接字 |
|-d: 仅显示DCCP套接字 |
|-D: 将原始TCP套接字信息转储到文件 |
|-e: 显示执行过程详细信息 |
|-h: 显示帮助信息 |
|-i: 显示内部的TCP信息 |
|-l: 显示处于监听状态的套接字 |
|-m: 显示套接字的内存使用情况 |
|-n: 不解析域名 |
|-o: 显示计时器信息 |
|-p: 显示使用套接字的进程 |
|-s: 显示套接字使用概况 |
|-t: 仅显示TCP套接字 |
|-u: 仅显示UDP套接字 |
|-V: 显示版本信息 |
|-w: 仅显示RAW套接字 |
|-x: 仅显示Unix套接字 |

examples:
示例1: 
显示系统当前的TCP套接字信息：
[root@linuxcool ~]#ss -t -aState     Recv-Q     Send-Q     Local Address:Port     Peer Address:Port   
LISTEN    0          128        0.0.0.0:ssh            0.0.0.0:*                                
ESTAB     0          52         192.168.10.10:ssh      192.168.10.21:59321               
LISTEN    0          128        *:websm                *:*               
LISTEN    0          128        [::]:ssh               [::]:*

示例2: 
显示系统当前的UDP套接字信息：
[root@linuxcool ~]#ss -u -aState     Recv-Q     Send-Q     Local Address:Port     Peer Address:Port              
UNCONN    0          0          0.0.0.0:bootpc         0.0.0.0:*                 
UNCONN    0          0          127.0.0.1:323          0.0.0.0:*                 
UNCONN    0          0          [::1]:323              [::]:*

示例3: 
显示系统当前的套接字使用概况：
[root@linuxcool ~]#ss -sTotal: 185
TCP:   4 (estab 1, closed 0, orphaned 0, timewait 0)
Transport Total     IP        IPv6
RAW       1         0         1        
UDP       3         2         1        
TCP       4         2         2        
INET      8         4         4        
FRAG      0         0         0


command_name: dnsconf
chinese_name: dnsconf命令 – 设置DNS服务器组态
description: dnsconf命令实际上为linuxconf的符号连接，提供图形的操作方式，供管理员管理DNS服务器。
syntax: dnsconf [参数] [域]
category: 网络通讯(network)
parameters:
|--deldomain: 删除域 |
|--delsecondary: 删除次级域 |
|--newdomain: 新增域 |
|--set: 新增主机记录 |
|--setcname: 设置NAME |
|--unset: 删除DNS中某台主机的记录 |

examples:
示例1: 
删除域：
[root@linuxcool ~]# dnsconf --deldomain www.linuxcool.com

示例2: 
新增主机记录：
[root@linuxcool ~]# dnsconf --set www.linuxcool.com 1.1.1.1


command_name: vmkping
chinese_name: vmkping – 网络故障排除命令
syntax: vmkping [参数] [地址]
parameters: |-I: 指定网卡接口、或指定的本机地址送出数据包 | |-i: 设定间隔几秒发送一个vmkping包，默认一秒ping一次 |
category: 网络通讯(network)
description:
Vmkping是VMware的Ping命令的特定版本。它使用的IP VMkernel去Ping另一个ESX主机的VMkernel端口，这意味着你可以通过vMotion网络而非管理网络发送ping包，此命令有助于解决VMotion和网络存储的问题。

examples:
示例1: 
通过vmkl接口向10.10.10.1发送ICMP请求：
[root@linuxcool ~]# vmkping –I vmk1 10.10.10.1

示例2: 
确认ESXi主机与特定IP之间的网络连通性：
[root@linuxcool ~]# vmkping –I vmk1 10.10.10.1

示例3: 
测试是否能够访问10.10.10.10的3260端口：
[root@linuxcool ~]# vmkping –I vmk1 nc –z 10.10.10.10 3260

示例4: 
设定间隔3秒发送一个vmkping包:
[root@linuxcool ~]# vmkping –i 3 –I vmk1 10.10.10.1

示例5: 
显示帮助：
[root@linuxcool ~]# vmkping -h


command_name: apachectl
chinese_name: apachectl命令 – Apache服务器前端控制工具
description: apachectl命令是Apache的Web服务器前端控制工具，用以启动、关闭和重新启动Web服务器进程。
syntax: apachectl [参数]
category: 网络通讯(network)
parameters:
|configtest: 检查设置文件中的语法是否正确 |
|fullstatus: 显示服务器完整的状态信息 |
|graceful: 重新启动Apache服务器，但不会中断原有的连接 |
|help: 显示帮助信息 |
|restart: 重新启动Apache服务器 |
|start: 启动Apache服务器 |
|status: 显示服务器摘要的状态信息 |
|stop: 停止Apache服务器 |
|startssl: 启动带ssl支持的apache的web服务器进程 |

examples:
示例1: 
测试配置文件语法：
[root@linuxcool ~]# apachectl configtest
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::6da1:1b23:c479:649a. Set the 'ServerName' directive globally to suppress this message
Syntax OK

示例2: 
显示服务器状态信息：
[root@linuxcool ~]# apachectl status

示例3: 
重新启动Apache服务器：
[root@linuxcool ~]# apachectl restart


command_name: nntpget
chinese_name: nntpget命令 – 下载新闻组文章
description: 执行nntpget命令将从指定的新闻组服务器下载文章。nntpget命令会从标准输入设备读取信息识别码，而下载的新闻文章则呈现到标准输出设备。
syntax: nntpget [参数]
category: 网络通讯(network)
parameters:
|-d<组类型清单>: 指定新闻组类型为distribution的清单 |
|-f<文件或目录>: 下载其更改时间较指定文件或目录的更改时间更接近现在的新闻文章 |
|-n<组名称清单>: 指定新闻组名称的清单 |
|-o: 下载本地主机所没有的新闻文章 |
|-t<时间日期>: 指定时间与日期，较该日期时间更新的新闻文章都会被下载 |
|-u<文件或目录>: 此参数的效果和指定”-f”参数类似，但它在成功下载文章之后会去更改指定文件或木的更改时间，便于下次再作为参考 |
|-v: 当命令执行时，把每篇文章的信息识别码都送到标准输出，本参数需配合参数”-o”使用 |

examples:
示例1: 
下载指定日期的文章：
[root@linuxcool ~]# nntpget -t 2020.01.01

示例2: 
指定下载目录：
[root@linuxcool ~]# nntpget -u /linuxcool

示例3: 
显示下载具体信息：
[root@linuxcool ~]# nntpget -u -v /linuxcool


command_name: arptables
chinese_name: arptables命令 – ARP包过滤管理工具
syntax: arptables [参数]
category: 网络通讯(network)
description:
arptables命令用来设置、维护和检查Linux内核中的arp包过滤规则表。使用arptables命令可以定义多个不同的规则表，每个规则表包含多个内置的规则链或者用户自定义的规则链。
arptables命令工作在ARP协议层，要掌握此命令必须理解ARP的原理。

parameters:
|-A: 向规则链中追加规则 |
|-D: 从指定的链中删除规则 |
|-l: 向规则链中插入一条新的规则 |
|-R: 替换指定规则 |
|-P: 设置规则链的默认策略 |
|-F: 刷新指定规则链，将其中的所有规则链删除，但是不改变规则链的默认策略 |
|-Z: 将规则链计数器清零 |
|-L: 显示规则链中的规则列表 |
|-X: 删除指定的空用户自定义规则链 |
|-h: 显示指令帮助信息 |
|-j: 指定满足规则的添加时的目标 |
|-s: 指定要匹配ARP包的源ip地址 |
|-d: 指定要匹配ARP包的目的IP地址 |

examples:
示例1: 
添加新的规则：
[root@linuxcool ~]# arptables -A IN -s 192.168.0.10 -j DROP

示例2: 
显示arp包过滤规则：
[root@linuxcool ~]# arptables -L

示例3: 
指定源ip进行包过滤：
[root@linuxcool ~]# arptables -s 192.168.20.20


command_name: ntptrace
chinese_name: ntptrace命令 – 追踪NTP服务器链
syntax: ntptrace [参数]
parameters: |-d: 开启调试输出 | |-n: 只打印主机IP地址，不打印主机名称 | |-r retries: 设置每个主机的重传尝试次数。默认值为5 |
category: 网络通讯(network)
description:
ntptrace是一个 perl 脚本，它使用 ntpq 实用程序来跟踪从给定主机到主要时间源的 NTP 服务器链。为了使ntptrace正常工作，这些服务器中的每一个都必须实现RFC 1305中指定的NTP控制和监控协议，并启用NTP模式6数据包。

examples:
示例1: 
只打印主机IP地址，不打印主机名称：
[root@linuxcool ~]# ntptrace -n

示例2: 
开启调试输出：
[root@linuxcool ~]# ntptrace -d

示例3: 
设置每个主机的重传尝试次数：
[root@linuxcool ~]# ntptrace -r www.linuxcool.com


command_name: mysqlshow
chinese_name: mysqlshow命令 – 显示数据库、数据表和列信息
description: mysqlshow命令用于显示MySQL服务器中的数据库、表和列信息。
syntax: mysqlshow [参数] [数据库]
category: 网络通讯(network)
parameters:
|-h: MySQL服务器的IP地址或主机名 |
|-u: 连接MySQL服务器的用户名 |
|-p: 连接MySQL服务器的密码 |
|--count: 显示每个数据表中数据的行数 |
|-k: 显示数据库表的索引 |
|-t: 显示数据表的类型 |
|-i: 显示数据表的额外信息 |

examples:
示例1: 
查看“newdb”数据库的信息：
[root@linuxcool ~]# mysqlshow -h localhost -u root -p  -t newdb

示例2: 
显示数据表的额外信息：
[root@linuxcool ~]# mysqlshow -h localhost -i -t newdb

示例3: 
显示每个数据表中数据的行数：
[root@linuxcool ~]# mysqlshow -h localhost --count -t newdb


command_name: httpd
chinese_name: httpd命令 – Apache HTTP服务器程序
description: httpd为Apache HTTP服务器程序。直接执行程序可启动服务器的服务。
syntax: httpd [参数]
category: 网络通讯(network)
parameters:
|-t: 测试配置文件的语法是否正确 |
|-l: 显示服务器编译时所包含的模块 |
|-L: 显示httpd指令的说明 |
|-S: 显示配置文件中的设定 |
|-D: 指定要传入配置文件的参数 |

examples:
示例1: 
检查配置文件语法错误：
[root@linuxcool ~]# httpd -t

示例2: 
启动httpd服务：
[root@linuxcool ~]# httpd

示例3: 
显示编译模块：
[root@linuxcool ~]# httpd -l

示例4: 
显示配置文件：
[root@linuxcool ~]# httpd -L>1.log|tail -n 20 1.log

示例5: 
显示配置文件中的设定：
[root@linuxcool ~]# httpd -S


command_name: sshd
chinese_name: sshd命令 – openssh服务器守护进程
syntax: sshd [参数] [对象]
category: 网络通讯(network)
description:
sshd命令来自英文词组“SSH daemon”的缩写，其功能是用于openssh服务器守护进程。openssh套件能够为两台主机之间建立加密的、可信任的数据通信服务，是rlogin与rsh等明文数据通信的替代品，而sshd命令即为openssh套件中的核心程序。

parameters:
|-4: 基于IPv4网络协议 |
|-6: 基于IPv6网络协议 |
|-d: 使用调试模式 |
|-D: 使用非后台守护进程的方式运行服务 |
|-e: 直接显示报错信息 |
|-f: 设置服务器的配置文件 |
|-g: 设置客户端登录的过期时间 |
|-h: 设置读取主机密钥文件 |
|-i: 使用inetd方式运行 |
|-o: 设置服务配置选项 |
|-p: 设置使用的端口号 |
|-q: 静默执行模式 |
|-t: 使用测试模式 |

examples:
示例1: 
以调试模式运行sshd服务程序：
[root@linuxcool ~]#/usr/sbin/sshd -ddebug1: sshd version OpenSSH_7.8, OpenSSL 1.1.1 FIPS  11 Sep 2018
debug1: private host key #0: ssh-rsa SHA256:6n6eWlVRVtXxbDBBA5A05eRVxbyh4ImR0mdvcwIEUdc
debug1: private host key #1: ecdsa-sha2-nistp256 SHA256:212/FhZ+6JFs5psuMJx9+5alyW6QDzviE0miulDPiKk
debug1: private host key #2: ssh-ed25519 SHA256:3t6D+ZUPab8itrLMEEI+btP0y4YKN3pUa3JM0xTW6/o
debug1: rexec_argv[0]='/usr/sbin/sshd'
debug1: rexec_argv[1]='-d'
debug1: Set /proc/self/oom_score_adj from 0 to -1000
debug1: Bind to port 22 on 0.0.0.0.
Bind to port 22 on 0.0.0.0 failed: Address already in use.
debug1: Bind to port 22 on ::.
Bind to port 22 on :: failed: Address already in use.
Cannot bind any address.

示例2: 
以测试模式运行sshd服务程序：
[root@linuxcool ~]#/usr/sbin/sshd -t

示例3: 
强制基于IPv6地址进行服务：
[root@linuxcool ~]#/usr/sbin/sshd -6


command_name: ftptop
chinese_name: ftptop命令 – 显示服务器的连接状态
description: ftptop命令的作用是使用top命令的显示风格显示服务器的连接状态。
syntax: ftptop [参数]
parameters: |-D: 过滤正在下载的会话 | |-S: 仅显示虚拟主机的连接状态 | |-d: 指定屏幕刷新时间（默认2秒） | |-U: 过滤正在上传的会话 |
category: 网络通讯(network)
examples:
示例1: 
显示服务器连接状态：
[root@linuxcool ~]# ftptop

示例2: 
过滤正在下载的会话：
[root@linuxcool ~]# ftptop -D

示例3: 
指定屏幕刷新时间为1秒：
[root@linuxcool ~]# ftptop -d 1


command_name: dig
chinese_name: dig命令 – 查询域名DNS信息
syntax: dig [参数] [域名或IP地址]
category: 网络通讯(network)
description:
dig命令来自英文词组“domain information groper”的缩写，其功能是用于查询域名DNS信息。dig命令能够便捷地查询到指定域名所对应的DNS服务器信息，具有灵活性好，易用，输出清晰等特点，与nslookup命令很相似。

parameters:
|@: 设置域名服务器 |
|-4: 基于IPv4网络协议 |
|-6: 基于IPv6网络协议 |
|-b: 设置本机发起请求的IP地址 |
|-f: 使用批处理模式 |
|-h: 显示帮助信息 |
|-k: 指定TSIG密钥文件 |
|-p: 设置域名服务器所使用端口号 |
|-t: 设置要查询的DNS数据类型 |
|-x: 执行反向域名查询 |

examples:
示例1: 
查询指定域名所对应的DNS信息：
[root@linuxcool ~]#dig www.linuxcool.com; <<>> DiG 9.11.36-RedHat-9.11.36-5.el8_7.2 <<>> www.linuxcool.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46189
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.linuxcool.com.		IN	A

;; ANSWER SECTION:
www.linuxcool.com.	600	IN	A	39.98.160.175

;; Query time: 5 msec
;; SERVER: 100.100.2.136#53(100.100.2.136)
;; WHEN: Wed Apr 05 08:18:34 CST 2023
;; MSG SIZE  rcvd: 51

示例2: 
查询指定IP地址所对应的域名信息（反向查询）：
[root@linuxcool ~]#dig -x 39.98.160.175; <<>> DiG 9.11.36-RedHat-9.11.36-5.el8_7.2 <<>> -x 39.98.160.175
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 10286
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;175.160.98.39.in-addr.arpa.	IN	PTR

;; AUTHORITY SECTION:
98.39.in-addr.arpa.	300	IN	SOA	rdns1.alidns.com. dnsmgr.alibaba-inc.com. 2015011330 1800 600 1814400 300

;; Query time: 28 msec
;; SERVER: 100.100.2.136#53(100.100.2.136)
;; WHEN: Wed Apr 05 08:19:33 CST 2023
;; MSG SIZE  rcvd: 115

示例3: 
指定要查询的数据类型（邮件），查询指定域名所对应的DNS信息：
[root@linuxcool ~]#dig -t MX linuxcool.com; <<>> DiG 9.11.36-RedHat-9.11.36-5.el8_7.2 <<>> -t MX linuxcool.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63164
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;linuxcool.com.			IN	MX

;; ANSWER SECTION:
linuxcool.com.		600	IN	MX	10 mx.zoho.com.cn.
linuxcool.com.		600	IN	MX	20 mx2.zoho.com.cn.

;; Query time: 6 msec
;; SERVER: 100.100.2.136#53(100.100.2.136)
;; WHEN: Wed Apr 05 08:22:39 CST 2023
;; MSG SIZE  rcvd: 82


command_name: samba
chinese_name: samba命令 – 控制Samba服务器
syntax: samba [参数]
parameters: |start: 启动Samba服务器的服务 | |stop: 停止Samba服务器的服务 | |status: 显示Samba服务器目前的状态 | |restart: 重新启动Samba服务器 |
category: 网络通讯(network)
description:
samba为script文件，可启动，停止Samba服务器或回报目前的状态。 Samba是一套使用SMB(Server Message Block)协议的应用程序, 通过支持这个协议, Samba允许Linux服务器与Windows系统之间进行通信,使跨平台的互访成为可能。Samba采用C/S模式, 其工作机制是让NetBIOS( Windows 网上邻居的通信协议)和SMB两个协议运行于TCP/IP通信协议之上,并且用NetBEUI协议让Windows在“网上邻居”中能浏览Linux服务器。
samba服务器可实现如下功能:WINS和DNS服务; 网络浏览服务; Linux和Windows域之间的认证和授权; UNICODE字符集和域名映射;满足CIFS协议的UNIX共享等。 samba的主要目的就是用来沟通Windows与Unix这两种不同的作业平台。

examples:
示例1: 
启动Samba：
[root@linuxcool ~]# samba start

示例2: 
停止Samba：
[root@linuxcool ~]# samba stop

示例3: 
重新启动Samba：
[root@linuxcool ~]# samba restart


command_name: nisdomainname
chinese_name: nisdomainname命令 – 显示主机NIS的域名
description: nisdomainname命令用于显示主机NIS的域名。 注意区分DNS域名和NIS域名，前者为因特网的标准域名系统，后者则基本被淘汰，重要应用在中小型网络中。
syntax: nisdomainname [参数]
parameters: |-v: 详细信息模式 |
category: 网络通讯(network)
examples:
示例1: 
显示本机的NIS域名：
[root@linuxcool ~]# nisdomainname -v

示例2: 
设置主机NIS的域名：
[root@linuxcool ~]# nisdomainname linuxcool


command_name: mailstat
chinese_name: mailstat命令 – 显示到达的邮件状态
syntax: mailstat [参数] [日志文件]
category: 网络通讯(network)
description:
mailstat命令用来显示到达的邮件状态。它显示的邮件状态是基于邮件的日志文件。
mailstat命令需要读取邮件日志文件来显示邮件状态，所以需要在命令行中给出邮件日志文件的具体位置。默认情况下，mailstat命令会在显示邮件状态后将邮件日志文件清空。

parameters:
|-k: 保持邮件日志文件的完整性，不清空日志文件 |
|-l: 使用长格式显示邮件状态 |
|-m: 合并任何错误信息到一行中显示 |
|-o: 使用老的邮件日志邮件 |
|-t: 使用简洁的格式显示邮件状态 |
|-s: 如果没有邮件则不输出任何信息 |

examples:
示例1: 
显示邮件状态：
[root@linuxcool ~]# mailstat /var/log/maillog

示例2: 
使用长格式显示邮件状态：
[root@linuxcool ~]# mailstat -l /var/log/maillog

示例3: 
保留完整的邮件日志文件：
[root@linuxcool ~]# mailstat -k /var/log/maillog


command_name: smbpasswd
chinese_name: smbpasswd命令 – 修改用户的SMB密码
syntax: smbpasswd [参数] [用户名]
category: 网络通讯(network)
description:
smbpasswd命令来自英文词组“samba password”的缩写，其功能是用于修改用户的SMB密码。smbpasswd是属于samba服务套件中的一个命令，所以会随samba服务一起安装到系统中，无需额外操作。
smbpasswd命令能够为samba服务提供用户账户的添加、密码修改和删除等操作，从RHEL /CentOS6系统开始用户不再能使用系统本地账户登录了，必须要有个samba账户才行喽。

parameters:
|-a: 添加用户 |
|-c: 指定配置文件 |
|-d: 禁用用户 |
|-D: 设置调试级别 |
|-e: 激活用户 |
|-i: 设置域间信任账户 |
|-L: 使用本地模式 |
|-m: 设置机器信任账户 |
|-n: 清空指定用户的密码 |
|-r: 设置远程服务器上的用户密码 |
|-s: 使用标准输入进行密码提示 |
|-U: 设置用户名 |
|-w: 使用LDAP管理密码 |
|-x: 删除用户 |

examples:
示例1: 
添加用户并设置密码：
[root@linuxcool ~]#smbpasswd -a linuxprobeNew SMB password:输入用户密码Retype new SMB password:再次输入用户密码Added user linuxprobe.

示例2: 
清空指定的用户密码：
[root@linuxcool ~]#smbpasswd -n linuxprobeUser linuxprobe password set to none.

示例3: 
激活指定的用户：
[root@linuxcool ~]#smbpasswd -e linuxprobeEnabled user linuxprobe.

示例4: 
禁用指定的用户：
[root@linuxcool ~]#smbpasswd -d linuxprobeDisabled user linuxprobe.

示例5: 
删除指定的用户：
[root@linuxcool ~]#smbpasswd -x linuxprobeDeleted user linuxprobe.


command_name: ntpd
chinese_name: ntpd命令 – 网络时间协议(NTP)的守护进程
syntax: ntpd [参数]
category: 网络通讯(network)
description:
ntpd命令来自英文词组“network time protocol daemon”的缩写，其功能是用于网络时间协议（NTP）的守护进程。ntpd是一个Linux操作系统的守护进程程序，它可以让系统的时间与互联网标准时间服务器同步，当前是基于第四版的RFC-5905网络时间协议工作的。

parameters:
|-4: 基于IPv4网络协议 |
|-6: 基于IPv6网络协议 |
|-a: 进行加密认证 |
|-A: 不进行加密认证 |
|-b: 同步到广播服务器 |
|-c: 设置配置文件的路径 |
|-d: 使用调试模式 |
|-k: 设置密钥文件 |
|-l: 设置日志文件 |
|-L: 不要监听虚拟IP |
|-n: 不创建进程 |
|-p: 设置记录进程PID的文件 |
|-s: 设置统计文件 |
|-t: 添加密钥到信任列表 |
|-v: 添加一个系统变量 |

examples:
示例1: 
对广播客户端、多播客户端和对称被动关联进行加密认证：
[root@linuxcool ~]#ntpd -a

示例2: 
广播客户端、多播客户端和对称被动关联不需要加密认证：
[root@linuxcool ~]#ntpd -A

示例3: 
启用客户端同步到广播服务器：
[root@linuxcool ~]#ntpd -b


command_name: ipcalc
chinese_name: ipcalc命令 – 简单的IP地址计算器
syntax: ipcalc [参数] [IP地址]
category: 网络通讯(network)
description:
ipcale命令来自英文词组“IP Calculate”的缩写，其功能是用于简单的IP地址计算任务。比起Linux命令参数来说，网络地址转换更加让人头疼，如何快速地知道一个IP地址所对应的子网掩码、网络地址、广播地址及对应主机名信息？不用再发愁了，把问题抛给ipcalc命令就好。

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

examples:
示例1: 
由指定的IP地址和子网掩码显示对应的子网掩码：
[root@linuxcool ~]#ipcalc -p 192.168.10.10 255.255.255.0PREFIX=24

示例2: 
由指定的IP地址和子网掩码计算出网络地址：
[root@linuxcool ~]#ipcalc -n 192.168.10.10 255.255.255.0NETWORK=192.168.10.0

示例3: 
由指定的IP地址找出所对应的主机名：
[root@linuxcool ~]#ipcalc -h 192.168.10.10HOSTNAME=www.linuxcool.com

示例4: 
由指定的信息，计算出IP地址的子网掩码、广播地址和网络地址：
[root@linuxcool ~]#ipcalc -m -b -n 192.168.10.10/28NETMASK=255.255.255.240
BROADCAST=192.168.10.15
NETWORK=192.168.10.0


command_name: ifdown
chinese_name: ifdown命令 – 禁用网络接口
syntax: ifdown [网络接口]
parameters: |网络接口: 设置禁用的网络接口名称 |
examples: 示例1: 禁用指定的网络接口： [root@linuxcool ~]#ifdown eth0
category: 网络通讯(network)
description:
ifdown命令来自英文词组“interface down”的缩写，其功能是用于禁用网络接口。ifdown命令会去读取Linux系统中网络接口服务目录下的配置文件，随后根据配置文件的内容来关闭对应的网络接口，这样就能实现对指定网卡停用的效果了。


command_name: mii-tool
chinese_name: mii-tool命令 – 网络设备协商工具
syntax: mii-tool [参数] [设备接口]
category: 网络通讯(network)
description:
mii-tool命令是用于查看、管理介质的网络接口的状态，有时网卡需要配置协商方式，比如10/100/1000M的网卡半双工、全双工、自动协商的配置。
但大多数的网络设备是不用我们来修改协商，因为大多数网络设置接入的时候，都采用自动协商来解决相互通信的问题。不过自动协商也不是万能的，有时也会出现错误，比如丢包率比较高，这时就要我们来指定网卡的协商方式。mii-tool就是能指定网卡的协商方式。下面我们说一说mii-tool的用法。

parameters:
|-v: 显示网络接口的信息 |
|-R: 重设MII到开启状态 |
|-r: 重启自动协商模式 |
|-w: 查看网络接口连接的状态变化 |
|-l: 写入事件到系统日志 |
|-A: 指令特定的网络接口 |
|-F: 更改网络接口协商方式 |

examples:
示例1: 
查看网络接口的协商状态：
[root@linuxcool ~]# mii-tool -v eth0

示例2: 
使用-F参数把网络接口eth0改为1000Mb/s全双工的模式：
[root@linuxcool ~]# mii-tool -F 100baseTx-FD

示例3: 
使用 -r 重启自动协商模式：
[root@linuxcool ~]# mii-tool -r eth0


command_name: arp
chinese_name: arp命令 – 管理系统arp缓存信息
syntax: arp [参数] [IP地址]
category: 网络通讯(network)
description:
arp命令来自英文词组“Address Resolution Protocol”的缩写，其功能是用于管理系统arp缓存信息。该命令用于管理Linux系统中arp缓存信息，能够显示、添加、删除指定的条目，或对IP地址及MAC地址进行绑定操作。

parameters:
|-a: 显示所有条目 |
|-d: 删除指定条目 |
|-D: 使用硬件地址 |
|-e: 设置显示风格 |
|-f: [IP地址]与MAC地址静态映射 |
|-g: 显示ARP缓存列表 |
|-H: 设置地址类型 |
|-i: 设置网络接口 |
|-n: 使用数字方式显示条目 |
|-v: 显示执行过程详细信息 |
|--version: 显示版本信息 |

examples:
示例1: 
显示本机arp缓存中所有记录：
[root@linuxcool ~]#arpAddress       HWtype     HWaddress            Flags Mask          Iface    
gateway       ether      00:03:0f:81:6b:f1    C                   ens160

示例2: 
以数字方式显示指定主机arp缓存条目：
[root@linuxcool ~]#arp -n 192.168.10.10Address            HWtype  HWaddress           Flags Mask         Iface
192.168.10.10      ether   00:03:0f:81:6b:f1   C                  ens160

示例3: 
删除指定主机网卡上的arp条目：
[root@linuxcool ~]#arp -i ens160 -d 192.168.10.10

示例4: 
添加对指定的IP地址和MAC地址进行静态映射条目：
[root@linuxcool ~]#arp -s 192.168.10.10 00:03:0f:81:6b:f1


command_name: sendmail
chinese_name: sendmail命令 – 电子邮件传送代理
description: sendmail命令是一款著名的电子邮件传送代理程序，也就是平常所说的电子邮件服务器，它基于标准的简单邮件传送协议（SMTP）。 sendmail仅负责邮件的投递工作，不负责邮件的撰写和显示等功能。
syntax: sendmail [参数]
category: 网络通讯(network)
parameters:
|-bd: 以守护进程方式运行命令 |
|-bD: 以前台运行方式运行命令 |
|-bi: 初始化别名数据库 |
|-bm: 以常规发送电子邮件 |
|-bp: 显示邮件发送队列 |
|-C<配置文件>: 指定配置文件 |
|-D<日志文件>: 将调试的输出信息保存到指定日志文件，而不显示在标准输出设备上 |
|-F<全名>: 指定右键发送者全名 |
|-f<名字>: 指定发件人的名字 |
|-n: 禁止使用邮件别名功能 |
|-q<时间间隔>: 设置处理邮件队列中邮件的时间间隔 |

examples:
示例1: 
以守护进程方式运行sendmail：
[root@linuxcool ~]# sendmail -bd

示例2: 
禁止使用邮件别名功能：
[root@linuxcool ~]# sendmail -n

示例3: 
向user1发送邮件：
[root@linuxcool ~]# sendmail -f user1

示例4: 
将调试的信息输出到test：
[root@linuxcool ~]# sendmail -D test

示例5: 
以前台方式运行命令：
[root@linuxcool ~]# sendmail -bD


command_name: iptraf-ng
chinese_name: iptraf-ng命令 – 交互式彩色IP LAN监视器
description: iptraf-ng命令是一个基于ncurses的IP LAN监视器，可生成各种网络统计信息，包括TCP信息，UDP计数，ICMP和OSPF信息，以太网负载信息，节点统计信息，IP校验和错误等等。
syntax: iptraf-ng [参数] [接口]
category: 网络通讯(network)
parameters:
|--d: 允许您立即启动指定接口上的详细信息（iface） |
|--z: 显示指定接口上的数据包计数大小 |
|-i: 立即在指定接口启动IP流量监视器。如果指定了“-i all”，则所有接口上 |
|--z: 显示指定接口上的数据包计数大小 |
|-u: 允许使用不受支持的接口作为以太网设备。 如果更改了接口的名称，则需要这样做 |
|-g: 立即启动常规接口统计 |

examples:
示例1: 
立即启动指定接口上的详细信息：
[root@linuxcool ~]# iptraf-ng -d eth5

示例2: 
显示数据包计数大小：
[root@linuxcool ~]# iptraf-ng -z eth5

示例3: 
立即启动常规接口统计：
[root@linuxcool ~]# iptraf-ng -g eth5


command_name: mailq
chinese_name: mailq命令 – 显示待发送的邮件队列
description: mailq命令作用是显示用户待发送的邮件队列，显示的每一个条目包括邮件队列id、邮件大小、加入队列时间、邮件发送者和接受者。如果邮件最后一次尝试后还没有将邮件投递出去，则显示发送失败的原因。
syntax: mailq [参数]
category: 网络通讯(network)
parameters:
|–Ac: 使用submit.cf配置文件，而不管邮件是否是初始提交 |
|–qp<time>: 设定睡眠时间。 默认为1秒 |
|–q<name>: 只处理名为name的队列组中的作业 |
|-v: 显示详细信息 |

examples:
示例1: 
显示邮件发送队列：
[root@linuxcool ~]# mailq

示例2: 
显示邮件发送队列详细信息：
[root@linuxcool ~]# mailq -v

示例3: 
使用submit.cf配置文件执行操作：
[root@linuxcool ~]# mailq -Ac


command_name: nmap
chinese_name: nmap命令 – 网络探测及端口扫描工具
syntax: nmap [参数] [域名或IP地址]
category: 网络通讯(network)
description:
nmap命令来自英文词组“Network Mapper”的缩写，中文译为网络映射器，其功能是用于网络探测及端口扫描工具。nmap是一款开放源代码的网络探测和安全审计工具，能够快速扫描互联网、局域网或单一主机上的开放信息，基于原始IP报文数据自动分析出网络上有哪些主机，主机上提供何种服务，服务程序又是什么版本，为日常维护和安全审计提供数据支撑。
除了上述帮助管理员了解整个网络情况的功能外，还能利用nmap获取目标主机的更深入信息，例如反向域名、猜测操作系统、设备种类及类型、MAC网卡地址信息等。

parameters:
|-A: 使用高级功能进行扫描 |
|-d: 显示调试信息 |
|-n: 不使用域名解析 |
|-p: 扫描指定端口和端口范围 |
|-R: 为所有目标解析域名 |
|-PE: 强制执行直接的ICMPping |
|-ps: 发送SYN同步报文 |
|-PU: 发送udp ping |
|-sP: 对目标主机进行ping扫描 |
|-sV: 探测服务版本信息 |
|--traceroute: 扫描主机端口并跟踪路由 |

examples:
示例1: 
扫描目标主机并跟踪路由信息：
[root@linuxcool ~]#nmap --traceroute www.linuxcool.com

示例2: 
扫描目标主机上的特定端口号信息：
[root@linuxcool ~]#nmap -p80,443 www.linuxcool.com

示例3: 
扫描目标主机上的指定端口号段信息：
[root@linuxcool ~]#nmap -p1-10000 www.linuxcool.com

示例4: 
使用高级模式扫描目标主机：
[root@linuxcool ~]#nmap -A www.linuxcool.com


command_name: arping
chinese_name: arping命令 – 发送ARP请求报文
syntax: arping [参数] [域名或IP地址]
category: 网络通讯(network)
description:
arping命令来自英文词组“ARP ping”的缩写，其功能是用于发送ARP请求报文，ARP全称为“Address Resolution Protocol”，中文译为地址解析协议。arping命令是使用ARP报文数据包来测试网络状态，能够判断某个指定IP地址是否在网络上已被使用，并能够获取更多设备信息，像是加强版的ping命令。

parameters:
|-b: 仅发送MAC级广播 |
|-c: 发送指定个数ARP请求数据包后停止 |
|-D: 使用重复地址检测模式 |
|-f: 在第一个回复确认目标存活后退出命令 |
|-h: 显示帮助信息 |
|-i: 设置数据包之间的间隔时间 |
|-I: 设置ARP请求报文的网络接口 |
|-q: 静默执行模式 |
|-s: 设置发送ARP请求数据包的源IP地址 |
|-U: 更新邻近主机的ARP缓存 |
|-V: 显示版本信息 |
|-w: 设置超时秒数 |

examples:
示例1: 
测试指定主机的存活状态：
[root@linuxcool ~]#arping -f 192.168.10.10ARPING 192.168.10.10 from 192.168.10.149 ens192
Unicast reply from 192.168.10.10 [00:03:0F:81:6B:F1]  1.995ms
Sent 1 probes (1 broadcast(s))
Received 1 response(s)

示例2: 
向指定主机发送3次ARP请求报文：
[root@linuxcool ~]#arping -c 3 192.168.10.10ARPING 192.168.10.10 from 192.168.10.149 ens192
Unicast reply from 192.168.10.10 [00:03:0F:81:6B:F1]  1.813ms
Unicast reply from 192.168.10.10 [00:03:0F:81:6B:F1]  1.850ms
Unicast reply from 192.168.10.10 [00:03:0F:81:6B:F1]  1.816ms
Sent 3 probes (1 broadcast(s))
Received 3 response(s)

示例3: 
使用指定网口发送指定次数ARP请求报文后自动退出命令：
[root@linuxcool ~]#arping -I ens192 -c 2 192.168.10.10ARPING 192.168.10.10 from 192.168.10.149 ens192
Unicast reply from 192.168.10.10 [00:03:0F:81:6B:F1]  1.861ms
Unicast reply from 192.168.10.10 [00:03:0F:81:6B:F1]  1.921ms
Sent 2 probes (1 broadcast(s))
Received 2 response(s)


command_name: ctlinnd
chinese_name: ctlinnd命令 – 设置INN新闻组服务器
description: 通过ctlinnd指令，可以对新闻组服务器这项常驻服务下达控制命令，直接设置相关数值。
syntax: ctlinnd [参数]
parameters: |h: 在线帮助 | |s: 不显示指令执行过程 | |t: 设置等待服务器回报的时间，单位以秒计算，超过此一时间则为超时 |
category: 网络通讯(network)
examples:
示例1: 
设置等待服务器回报的时间：
[root@linuxcool ~]# ctlinnd -t 60

示例2: 
查看帮助信息：
[root@linuxcool ~]# ctlinnd -h

示例3: 
下达指令，但不显示指令执行过程：
[root@linuxcool ~]# ctlinnd -hs -t 60


command_name: tcpdump
chinese_name: tcpdump命令 – 监听网络流量
description: tcpdump命令的功能是监听网络流量，是一款数据嗅探工具，在Linux系统中常用来抓取数据包，能够记录所有经过服务器的数据包信息。tcpdump命令需要以管理员身份执行。
syntax: tcpdump [参数] [对象]
category: 网络通讯(network)
parameters:
|-a: 将网络和广播地址转换成名称 |
|-c: 收到指定的数据包数目后，就停止抓包操作 |
|-d: 将编译过的数据包编码转换成可阅读的格式 |
|-dd: 将编译过的数据包编码转换成C语言的格式 |
|-ddd: 将编译过的数据包编码转换成十进制数字的格式 |
|-e: 在每列资料上显示连接层级的文件头 |
|-f: 用数字显示网络地址 |
|-F: 指定内含表达方式的文件 |
|-i: 使用指定的网络接口送出数据包 |
|-l: 使用标准输出列的缓冲区 |
|-n: 不将IP地址转换成主机名 |
|-O: 不将数据包编码最佳化 |
|-q: 静默执行模式 |
|-r: 从指定的文件中读取数据 |
|-s: 设置每个数据包的大小 |
|-S: 用绝对而非相对数值列出TCP关联数 |
|-t: 不显示时间戳记 |
|-tt: 显示未经格式化的时间戳 |
|-T: 将数据包转换成指定类型 |
|-v: 显示执行过程信息 |
|-vv: 显示执行过程详细信息 |
|-x: 用十六进制字码显示数据包 |
|-w: 将数据包写入指定的文件 |

examples:
示例1: 
监听指定网络接口的数据包：
[root@linuxcool ~]# tcpdump -i ens160

示例2: 
监听指定主机的数据包（主机名）：
[root@linuxcool ~]# tcpdump host linuxcool.com

示例3: 
监听指定主机的数据包（IP地址）：
[root@linuxcool ~]# tcpdump host 192.168.10.10

示例4: 
监听指定端口号的数据包，并以文本形式展示：
[root@linuxcool ~]# tcpdump -i any port 80 -A


command_name: mutt
chinese_name: mutt命令 – E-mail管理程序
syntax: mutt [参数]
category: 网络通讯(network)
description:
mutt是一个文字模式的邮件管理程序，提供了全屏幕的操作界面。
它是一款基于文字界面的邮件客户端，非常小巧，但功能强大，可以用它来读写，回复保存和删除你的邮件，能在linux命令行模式下收发邮件附件。

parameters:
|h: 显示帮助 |
|a: 在邮件中加上附加文件 |
|b: 指定密件副本的收信人地址 |
|c: 指定副本的收信人地址 |
|f: 指定要载入的邮件文件 |
|F: 指定mutt程序的设置文件，而不读取预设的.muttrc文件 |

examples:
示例1: 
将指定文件插入邮件内文中：
[root@linuxcool ~]# mutt -i /etc/home/test.txt

示例2: 
以只读的方式开启邮件文件：
[root@linuxcool ~]# mutt -R

示例3: 
在邮件中加上附加文件:
[root@linuxcool ~]# mutt -a /etc/home/test.txt

示例4: 
发送邮件到linuxcool@mail.com 这个邮箱,邮件主题是“test”，邮件内容在 /root/test.txt 中，邮件中包含附件 /home/backup/test.sql：
[root@linuxcool ~]# mutt linuxcool@mail.com -s "test" -a /home/backup/test.sql


command_name: iptraf
chinese_name: iptraf命令 – 实时监视网卡流量
syntax: iptraf [参数] [网卡名]称
category: 网络通讯(network)
description:
iptraf命令来自英文词组“IP traffic monitor”的缩写，其功能是用于实时监视网卡流量。使用iptraf命令可以监视本地网络状况，能够生成网络协议数据包信息、以太网信息、网络节点状态及IP校验和错误等重要情报。

parameters:
|-B: 将程序作为后台进程运行 |
|-d: 监视网络流量明细信息 |
|-f: 清空所有计数器 |
|-g: 生成网络接口状态的概要信息 |
|-h: 显示帮助信息 |
|-i: 开启IP流量监视 |
|-I: 设置间隔时间 |
|-l: 监视局域网工作站信息 |
|-L: 设置日志文件 |
|-s: 开始监视TCP和UDP网络流量信息 |
|-t: 设置命令监视的时间 |
|-u: 允许使用不受支持的接口做网卡设备 |
|-z: 在指定网络接口上显示包计数 |

examples:
示例1: 
实时监视指定网卡的详细流量状态信息：
[root@linuxcool ~]#iptraf -d eth0

示例2: 
实时监视指定网卡的IP流量信息：
[root@linuxcool ~]#iptraf -i eth0

示例3: 
实时监视指定网卡上的TCP/UDP协议流量信息：
[root@linuxcool ~]#iptraf -s eth0


command_name: mail
chinese_name: mail命令 – 发送和接收邮件
description: mail命令的功能是发送和接收邮件，是Linux系统中重要的电子邮件管理工具，自RHEL 8 /CentOS8系统起，该命令正式改名为mailx，而mail则作为软链接文件保留。
syntax: mail [参数] [对象]
category: 网络通讯(network)
parameters:
|-a: 添加邮件附件 |
|-b: 设置密件抄送的收信人 |
|-c: 设置抄送的收信人 |
|-f: 读取指定邮件的附件 |
|-i: 不显示终端发出的信息 |
|-l: 使用交互模式 |
|-N: 预览邮件时不显示标题 |
|-s: 给邮件追加主题 |
|-u: 读取指定用户的邮件 |
|-v: 显示执行过程详细信息 |

examples:
示例1: 
向指定的邮箱发送信件 ，以单个句号（.）结束邮件：
[root@linuxcool ~]# mail root@linuxprobe.com 
Subject: Hello World 
Collection of Linux commands 
Welcome to linuxcool.com
. 
EOT

示例2: 
查看当前用户身份下的邮件信息：
[root@linuxcool ~]# mail 
Heirloom Mail version 12.5 7/5/10. Type ? for help. 
"/var/spool/mail/root": 1 message 1 new 
>N 1 liuchuan               Tue Mar 30 09:35 97/3257 "Hello World" 
………………省略部分输出信………………


command_name: open
chinese_name: open命令 – 启用虚拟终端
syntax: open [参数] [命令]
parameters: |-l: 登录环境 | |-u: 启用新的终端 | |-s: 切换到终端 | |-v: 显示详细信息 | |-w: 进入等待状态 | |-c<终端号码>: 指定终端 |
category: 网络通讯(network)
description:
open命令的作用是可以启用虚拟终端，然后执行指定的命令。
虚拟终端类似于你目前使用的终端。它们用于执行命令和提供输入。唯一的区别是你不能将鼠标与虚拟终端一起使用。虚拟终端允许许多用户在同一台计算机上同时处理不同的程序。
当你登录linux服务器的时候，默认只能使用虚拟终端。此外，即便是普通的桌面环境，当你需要重新配置图形界面，或者图形界面因为内部异常等原因崩溃了的时候，你还可以切换到虚拟终端继续执行操作。

examples:
示例1: 
启用新的终端10，然后执行命令：
[root@linuxcool ~]# open -c 10 - date

示例2: 
显示终端详细信息：
[root@linuxcool ~]# open -v

示例3: 
使终端进入等待状态：
[root@linuxcool ~]# open -w


command_name: dhcrelay
chinese_name: dhcrelay命令 – 提供中继DHCP和BOOTP请求
syntax: dhcrelay [参数] [DHCP服务器]
category: 网络通讯(network)
description:
dhcrelay命令可以提供中继DHCP和BOOTP请求，从一个没有DHCP服务器的子网直接连接到其它子网内的一个或多个DHCP服务器。该命令在DHCP中继服务器上使用，同时支持DHCPv4/BOOTP和DHCPv6协议。
DHCP中继代理在一个或多个接口上侦听来自客户端或其他中继代理的DHCPv4或DHCPv6查询，并将其传递到指定的“上游”服务器或中继代理。从上游接收到答复后，会将其组播或单播发送回原始请求的源。

parameters:
|-c <跳数>: 当转发数据包时，dhcrelay丢弃已经达到一个最大跳数的数据包。默认值是10，最大值是255 |
|-4: 运行dhcrelay命令作为DHCPv4/BOOTP中继代理。这是默认操作模式 |
|-6: 运行dhcrelay命令作为DHCPv6中继代理 |
|-q: 安静模式 |
|-p <端口>: 监听和发送端口。DHCPv4/BOOTP默认端口是67，DHCPv6默认端口是547 |
|-A <长度>: 指定发送到DHCP服务器的最大数据包大小 |
|-d: 强制dhcrelay命令作为前台进程运行 |

examples:
示例1: 
指定DHCP服务器：
[root@linuxcool ~]# dhcrelay 192.168.20.4

示例2: 
指定到DHCP服务器的最大挑数：
[root@linuxcool ~]# dhcrelay -c 15 192.168.20.4

示例3: 
发送到DHCP服务器的最大数据包：
[root@linuxcool ~]# dhcrelay -A 2048 192.168.20.4


command_name: ifstat
chinese_name: ifstat命令 – 统计网络信息
description: ifstat命令就像iostat/vmstat描述其它的系统状况一样，是一个统计网络接口活动状态的工具。ifstat工具系统中并不默认安装，需要自己下载源码包，重新编译安装，使用过程相对比较简单。
syntax: ifstat [参数]
parameters: |-p: 优化打印 | |-a: 忽略历史记录 | |-e: 显示错误信息 | |-r: 重置历史记录 |
category: 网络通讯(network)
examples:
示例1: 
使用-p参数打印网络接口流量信息：
[root@linuxcool ~]# ifstat -p

示例2: 
使用-a参数忽略历史记录：
[root@linuxcool ~]# ifstat -a

示例3: 
使用-e参数显示网络接口错误信息：
[root@linuxcool ~]# ifstat -e


command_name: nc
chinese_name: nc命令 – 扫描与连接指定端口
syntax: nc [参数] [域名或IP地址]
category: 网络通讯(network)
description:
nc命令来自英文词组net cat的缩写，其功能是扫描与连接指定端口。nc命令是一个功能丰富的网络实用工具，被誉为网络界的“瑞士军刀”，短小精悍，功能实用。它支持TCP和UDP协议，能够基于命令行在网络上读取和写入数据，连接与扫描指定端口号，为用户提供无限的潜在用途。

parameters:
|-g: 设置路由器通信网关 |
|-h: 显示帮助信息 |
|-i: 设置时间间隔 |
|-l: 使用监听模式 |
|-n: 使用IP地址，而不是域名 |
|-o: 设置文件名 |
|-p: 设置本地主机使用的端口 |
|-s: 设置本地主机送出数据包的IP地址 |
|-u: 使用UDP传输协议 |
|-v: 显示执行过程详细信息 |
|-w: 设置等待连线的时间 |
|-z: 使用输入或输出模式 |

examples:
示例1: 
扫描指定主机的80端口（默认为TCP）：
[root@linuxcool ~]# nc -nvv 192.168.10.10 80

示例2: 
扫描指定主机的1～1000端口，指定为UDP：
[root@linuxcool ~]# nc -u -z -w2 192.168.10.10 1-1000

示例3: 
扫描指定主机的1~100端口，并显示执行过程：
[root@linuxcool ~]# nc -v -z -w2 192.168.10.10 1-100


command_name: nethogs
chinese_name: nethogs命令 – 实时统计网络带宽使用率工具
syntax: nethogs [参数] [设备]
category: 网络通讯(network)
description:
nethogs是一个小型的net top工具，不像大多数工具那样拖慢每个协议或者是每个子网的速度而是按照进程进行带宽分组。NetHogs不需要依赖载入某个特殊的内核模块。如果发生了网络阻塞你可以启动NetHogs立即看到哪个PID造成的这种状况。这样就很容易找出哪个程序跑飞了然后突然占用你的带宽。

parameters:
|device(s): 要监控的设备，默认“eth0” |
|-d: 以秒为单位的界面刷新频率。用于控制界面的更新速度。默认为一秒 |
|-v: 选择查看模式。参数mode的取值为：“0” = KB/s；“1” = total KB, “2” = total B, “3” = total MB。默认为“0” |
|-p: 混杂模式的嗅探器 |
|-t: 追踪模式 |
|--c: 限制刷新的次数，通常与-t选项配合使用 |
|-s: 根据输出中的SENT列进行排序 |

examples:
示例1: 
设置5秒刷新一次：
[root@linuxcool ~]# nethogs -d 5

示例2: 
监视设备（eth0）的网络带宽：
[root@linuxcool ~]# nethogs eth0

示例3: 
使用追踪模式：
[root@linuxcool ~]# nethogs -t


command_name: ip
chinese_name: ip命令 – 显示与配置网卡参数
description: ip命令的功能是显示与配置网卡参数。作为Linux系统下一款好用的网卡参数配置工具，ip命令除了常规操作外，还可以对主机的路由、网络设备、策略路由以及隧道信息进行查看。
syntax: ip [参数]
category: 网络通讯(network)
parameters:
|-4: 基于IPv4网络协议 |
|-6: 基于IPv6网络协议 |
|-f: 强制使用指定协议簇而不询问 |
|-o: 将每条信息用一行输出，不换行 |
|-s: 显示执行过程详细信息 |
|-V: 显示版本信息 |

examples:
示例1: 
显示当前网络设备的运行状态:
[root@linuxcool ~]# ip link

示例2: 
显示当前网络设备的详细运行状态:
[root@linuxcool ~]# ip -s link

示例3: 
显示当前核心路由表信息：
[root@linuxcool ~]# ip route list

示例4: 
显示当前IP地址信息：
[root@linuxcool ~]# ip address


command_name: rdate
chinese_name: rdate命令 – 显示其他主机的日期与时间
description: 执行rdate命令，向局域网或者网络上其他主机询问系统时间并打印显示出来。也可以将其他主机的时间同步为本机时间。
syntax: rdate[参数] [IP]
category: 网络通讯(network)
parameters:
|-p: 显示远端主机的日期与时间 |
|-s: 把从远端主机收到的日期和时间，回存到本地主机的系统时间 |
|-u: 传输协议使用UDP协议 |
|-l: 使用syslog显示错误信息 |
|-t <时间>: 设置超时时间 |

examples:
示例1: 
获取”time.nist.gov”的时间：
[root@linuxcool ~]# rdate -p time.nist.gov
rdate: [time.nist.gov]    Sun Jun 30 00:45:51 2019

示例2: 
获取”time.nist.gov”的时间并同步为本机时间：
[root@linuxcool ~]# rdate -p -s time.nist.gov
rdate: [time.nist.gov]    Sun Jun 30 00:49:23 2019


command_name: route
chinese_name: route命令 – 显示与设置路由信息
description: route命令的功能是显示与设置路由信息，是Linux系统中常用的静态路由配置工具。要想让两台处于不同子网的服务器实现通信，需要有一个跨网段的路由器来连接它们，并用route命令为其设置路由信息。
syntax: route [参数] [域名或IP地址]
category: 网络通讯(network)
parameters:
|-A: 设置网络地址类型 |
|-C: 显示内核路由缓存信息 |
|-e: 设置路由表显示格式 |
|-F: 设置内核FIB路由表参数 |
|-v: 显示执行过程详细信息 |
|-host: 一个主机的路由表 |
|-net: 一个网络的路由表 |

examples:
示例1: 
显示当前路由表信息：
[root@linuxcool ~]# route 
Kernel IP routing table 
Destination      Gateway     Genmask        Flags Metric Ref Use  Iface 
192.168.10.0     0.0.0.0     255.255.255.0  U     100    0     0  ens160 
192.168.122.0    0.0.0.0     255.255.255.0  U     0      0     0  virbr0

示例2: 
添加一条指定的路由信息：
[root@linuxcool ~]# route add -net 192.168.10.0 netmask 255.255.255.0 dev ens160

示例3: 
删除一条指定的路由信息：
[root@linuxcool ~]# route del -net 192.168.10.0 netmask 255.255.255.0 dev ens160

示例4: 
添加和删除默认网关：
[root@linuxcool ~]# route add default gw 192.168.10.1 
[root@linuxcool ~]# route del default gw 192.168.10.1


command_name: gluster
chinese_name: gluster命令 – Gluster控制台管理工具
syntax: gluster [参数]
category: 网络通讯(network)
description:
gluster是一个免费的开源软件可扩展网络文件系统，Gluster Console Manager是一个用于弹性卷管理的命令行实用程序。您可以在任何出口服务器上运行gluster命令。该命令使管理员能够执行云操作，如创建、扩展、收缩、重新平衡和迁移卷，而无需安排服务器停机。

parameters:
|peer probe 节点: 添加节点 |
|peer detach 节点: 删除节点 |
|peer status 节点: 节点状态 |
|volume start 卷名: 启动卷 |
|volume stop 卷名: 停止卷 |
|volume delete 卷名: 删除卷 |
|volume list: 列出卷 |
|volume info: 查看卷信息 |
|volume status: 查看卷状态 |

examples:
示例1: 
查看所有节点的基本状态（显示的时候不包括本节点）：
[root@linuxcool ~]# gluster peer status

示例2: 
列出集群中的所有卷：
[root@linuxcool ~]# gluster volume list

示例3: 
查看集群中的卷信息：
[root@linuxcool ~]# gluster volume info

示例4: 
查看集群中的卷状态：
[root@linuxcool ~]# gluster volume status


command_name: iftop
chinese_name: iftop命令 – 套接字及进程的网络利用率
description: iftop是一款实时流量监控工具,监控TCP/IP连接等,缺点就是无报表功能。必须以root身份才能运行。
syntax: iftop [参数]
parameters: |-i: 指定要监控的网卡 | |-n: 直接显示IP, 不进行DNS反解析 |
category: 网络通讯(network)
examples:
示例1: 
默认监控第一块网卡的流量：
[root@linuxcool ~]# iftop

示例2: 
监控eth1网卡的流量：
[root@linuxcool ~]# iftop eth1

示例3: 
直接显示IP, 不进行DNS反解析：
[root@linuxcool ~]# iftop -n


command_name: host
chinese_name: host命令 – 解析域名结果
description: host命令的功能是用于解析域名结果，是一个查找DNS解析结果的简单程序。将域名转换成IP地址形式，帮助运维人员找到指定域名所对应的IP地址。
syntax: host [参数] [域名]
category: 网络通讯(network)
parameters:
|-4: 基于IPv4网络协议 |
|-6: 基于IPv6网络协议 |
|-a: 显示全部信息 |
|-c: 设置查询类型 |
|-C: 显示指定主机完整的SOA记录 |
|-d: 显示调试跟踪信息 |
|-I: 显示区域信息 |
|-r: 不使用递归的查询方式解析域名 |
|-R: 限制UDP查询的重试次数 |
|-s: 若服务器不响应，则不发送查询 |
|-t: 设置查询的域名信息类型 |
|-v: 显示执行过程详细信息 |
|-V: 显示版本信息 |
|-W: 设置查询域名的最长等待时间 |

examples:
示例1: 
查询指定域名所对应的IP地址信息（默认模式）：
[root@linuxcool ~]#host www.linuxcool.comwww.linuxcool.com has address 203.107.45.167

示例2: 
查询指定域名所对应的IP地址信息（详细模式）：
[root@linuxcool ~]#host -v www.linuxcool.comTrying "www.linuxcool.com"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41364
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.linuxcool.com.			IN	A

;; ANSWER SECTION:
www.linuxcool.com.		248	IN	A	203.107.45.167

示例3: 
查询指定域名MX邮件类型记录所对应的IP地址信息：
[root@linuxcool ~]#host -t MX linuxcool.comlinuxcool.com mail is handled by 20 mail.linuxcool.com.
linuxcool.com mail is handled by 10 mail.linuxcool.com


command_name: ntpdc
chinese_name: ntpdc命令 – 查询NTP守护进程
syntax: ntpdc [参数]
category: 网络通讯(network)
description:
ntpdc是一个实用程序，用于查询 ntpd(8) 的当前状态，并请求改变其状态。 它使用源代码中描述的 NTP mode 7 控制消息格式。程序既可以在交互模式下运行，也可以使用命令行参数。
通过ntpdc接口可以获得广泛的状态和统计信息。此外，几乎所有可以在启动时使用 ntpd 的配置文件指定的配置选项也可以在运行时指定。使用ntpdc的时间。

parameters:
|-c command: 在指定的主机上执行给定的命令 |
|-i: 强制ntpdc实用程序在交互模式下运行 |
|-l: 获取服务器已知的对等体列表 |
|-n: 以点阵数字格式输出所有主机地址，而不是转换为规范的主机名。 |
|-p: 打印服务器已知的对等体列表以及它们的状态摘要 |
|-s: 打印服务器已知的对等体列表以及它们的状态摘要。它的格式与-p选项略有不同。 |

examples:
示例1: 
获取服务器已知的对等体列表：
[root@linuxcool ~]# ntpdc -l

示例2: 
打印服务器已知的对等体列表以及它们的状态摘要：
[root@linuxcool ~]# ntpdc -p

示例3: 
打印服务器已知的对等体列表以及它们的状态摘要，它的格式与-p选项略有不同：
[root@linuxcool ~]# ntpdc -s


command_name: arpaname
chinese_name: arpaname命令 – IP地址转换为对应的ARPA名称
syntax: arpaname [IP地址]
category: 网络通讯(network)
description:
arpaname命令的作用是可以转换IP地址（IPv4和IPv6）到相应的IN-ADDR.ARPA或IP6.ARPA名称。
由于在域名系统中，一个IP地址可以对应多个域名，因此从IP出发去找域名，理论上应该遍历整个域名树，但这在Internet上是不现实的。为了完成逆向域名解析，系统提供一个特别域，该特别域称为逆向解析域IN-ADDR.ARPA。
这样解析的IP地址就会被表达成一种像域名一样的可显示串形式，后缀以逆向解析域域名“IN-ADDR.ARPA”结尾。例如一个IP地址：218.30.150.106，其逆向域名表达方式为：155.94.158.194.in-addr.arpa。

examples:
示例1: 
将IP地址192.168.0.2转换为对应的ARPA名称：
[root@linuxcool ~]# arpaname 192.168.60.110
110.60.168.192.IN-ADDR.ARPA


command_name: ifconfig
chinese_name: ifconfig命令 – 显示或设置网络设备参数信息
syntax: ifconfig [参数] [网卡名] [动作]
parameters: |-a: 显示所有网卡状态 | |-s: 显示简短状态列表 |
category: 网络通讯(network)
description:
ifconfig命令来自英文词组network interfaces configuring的缩写，其功能是显示或设置网络设备参数信息。在Windows系统中，与之类似的命令为ipconfig，同样的功能可以使用ifconfig去完‍成。
通常不建议使用ifconfig命令配置网络设备的参数信息，因为一旦服务器重启，配置过的参数会自动失效，因此还是编写到配置文件中更稳妥。

examples:
示例1: 
显示系统的网络设备信息：
[root@linuxcool ~]# ifconfig 
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>mtu 1500
        inet 192.168.10.10 netmask 255.255.255.0 broadcast 192.168.10.255 
        inet6 fe80::4d16:980c:e0fe:51c2 prefixlen 64 scopeid 0x20 
        ether 00:0c:29:60:cd:ee txqueuelen 1000 (Ethernet) 
        RX packets 407 bytes 34581 (33.7 KiB) 
        RX errors 0 dropped 0 overruns 0 frame 0 
        TX packets 59 bytes 6324 (6.1 KiB) 
        TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 
………………省略部分输出信息………………

示例2: 
对指定的网卡设备依次进行关闭和启动操作：
[root@linuxcool ~]# ifconfig ens160 down 
[root@linuxcool ~]# ifconfig ens160 up

示例3: 
对指定的网卡设备执行IP地址修改操作：
[root@linuxcool ~]# ifconfig ens160 192.168.10.20 netmask 255.255.255.0

示例4: 
对指定的网卡设备执行MAC地址修改操作：
[root@linuxcool ~]# ifconfig ens160 hw ether 00:aa:bb:cc:dd:ee

示例5: 
对指定的网卡设备依次进行ARP协议关闭和开启操作：
[root@linuxcool ~]# ifconfig ens160 -arp 
[root@linuxcool ~]# ifconfig ens160 arp


command_name: iptables
chinese_name: iptables命令 – 防火墙策略管理工具
syntax: iptables [参数] [对象]
category: 网络通讯(network)
description:
iptables是一个用于管理防火墙策略的命令，同时也是一个基于内核级别的防火墙服务，用户可以基于它对数据包进行过滤操作，拒绝掉危险的外部请求流量，保护内网的安全。iptables命令默认仅支持IPv4协议，如需支持IPv6协议，则需使用ip6tables命令。

parameters:
|-A: 向规则链中追加条目 |
|-c: 初始化包计数器和字节计数器 |
|-D: 从规则链中删除条目 |
|-E: 重命名指定的用户自定链 |
|-F: 清除规则链中的现有条目 |
|-t: 设置要管理的表 |
|-h: 显示帮助信息 |
|-i: 设置数据包进入本机的网络接口 |
|-j: 设置要跳转的目标 |
|-I: 向规则链中插入条目 |
|-N: 创建新的用户自定义规则链 |
|-o: 设置数据包离开本机时所使用的网络接口 |
|-p: 设置要匹配数据包的协议类型 |
|-P: 设置规则链中的默认目标策略 |
|-R: 替换规则链中的指定条目 |
|-s: 设置要匹配数据包的源IP地址 |
|-v: 显示执行过程详细信息 |
|-X: 删除指定的用户自定链 |
|-Z: 清空规则链中的包计数器和字节计数器 |

examples:
示例1: 
显示当前防火墙策略中全部的过滤表信息：
[root@linuxcool ~]# iptables -L

示例2: 
显示当前防火墙策略中指定的NAT表信息：
[root@linuxcool ~]# iptables -L -t nat

示例3: 
禁止指定的远程主机访问本地全部的服务（通通禁止）：
[root@linuxcool ~]# iptables -I INPUT -s 192.168.10.10 -j DROP

示例4: 
禁止指定的远程主机访问本地的某个端口，但允许访问其余端口：
[root@linuxcool ~]# iptables -I INPUT -s 192.168.10.10 -p tcp --dport 22 -j DROP


command_name: nmblookup
chinese_name: nmblookup命令 – 通过TCP/IP客户端来查找NetBIOS名称
description: 使用nmblookup命令可以通过TCP/IP客户端来查找NetBIOS名称。比方说可以查看windows主机的ip地址。
syntax: nmblookup [参数] [名称]
parameters: |-B: 指定用于广播的地址 | |-usage: 显示简要的用法信息 | |-d: 设置调试级别 |
category: 网络通讯(network)
examples:
示例1: 
显示NetBIOS名称为windows的主机的IP地址：
[root@linuxcool ~]# nmblookup -S windows

示例2: 
查找所有的主浏览器或域控制器：
[root@linuxcool ~]# nmblookup -M -192.168.0.200MSBROWSE<01>

示例3: 
通过查询IP地址192.168.0.200来获得主机名：
[root@linuxcool ~]# nmblookup -A 192.168.0.200


command_name: fping
chinese_name: fping命令 – 检测主机是否存在
syntax: fping [参数]
parameters: |-a: 显示存活的(alive) | |-g: 指定一个范围(group) | |-u: 显示不存活的(unreacheable) |
category: 网络通讯(network)
description:
fping类似于ping（ping是通过ICMP（网络控制信息协议InternetControl Message Protocol）协议回复请求以检测主机是否存在）。fping与ping不同的地方在于，fping可以在命令行中指定要ping的主机数量范围，也可以指定含有要ping的主机列表文件。

examples:
示例1: 
检测192.168.1.1到192.168.1.10之间的主机是否存在：
[root@linuxcool ~]# fping -a -g 192.168.1.1 192.168.1.10

示例2: 
检测192.168.1.1/24的主机是否存在：
[root@linuxcool ~]# fping -a -g 192.168.1.1/24

示例3: 
将IP列表放在一个文件里面，通过读取文件来检测列表里的主机是否存在：
[root@linuxcool ~]# fping -a -f ip.txt

示例4: 
检测www.linuxcool.com是否存在：
[root@linuxcool ~]# fping www.linuxcool.com


command_name: ping
chinese_name: ping命令 – 测试主机间网络连通性
syntax: ping [参数] [域名或IP地址]
category: 网络通讯(network)
description:
ping命令的功能是测试主机间网络的连通性，它发送出基于ICMP传输协议的数据包，要求对方主机予以回复。若对方主机的网络功能没有问题且防火墙放行流量，则就会回复该信息，我们也就可得知对方主机系统在线并运行正常了。
不过值得注意的是，ping命令在Linux下与在Windows下有一定差异，Windows系统下的ping命令会发送出去4个请求后自动结束该命令；而Linux系统则不会自动终止，需要用户手动按下Ctrl+C组合键才能结束，或是发起命令时加入-c参数限定发送数据包的个数。

parameters:
|-4: 基于IPv4网络协议 |
|-6: 基于IPv6网络协议 |
|-a: 发送数据时发出鸣响声 |
|-b: 允许ping一个广播地址 |
|-c: 设置发送数据包的次数 |
|-d: 使用接口的SO_DEBUG功能 |
|-f: 使用泛洪模式大量向目标发送数据包 |
|-h: 显示帮助信息 |
|-i: 设置收发信息的间隔时间 |
|-n: 仅输出数值 |
|-p: 设置填满数据包的范本样式 |
|-q: 静默执行模式 |
|-R: 记录路由过程信息 |
|-s: 设置数据包的大小 |
|-t: 设置存活数值TTL的大小 |
|-v: 显示执行过程详细信息 |
|-V: 显示版本信息 |

examples:
示例1: 
测试与指定域名之间的网络连通性（需手动按下Ctrl+C组合键结束命令）：
[root@linuxcool ~]# ping www.linuxcool.com 
PING www.linuxcool.com.w.kunlunar.com (222.85.26.229) 56(84) bytes of data. 
64 bytes from www.linuxcool.com (222.85.26.229): icmp_seq=1 ttl=52 time=22.4 ms 
64 bytes from www.linuxcool.com (222.85.26.229): icmp_seq=2 ttl=52 time=22.4 ms 
64 bytes from www.linuxcool.com (222.85.26.229): icmp_seq=3 ttl=52 time=22.4 ms 
64 bytes from www.linuxcool.com (222.85.26.229): icmp_seq=4 ttl=52 time=22.4 ms 
^C 
--- www.linuxcool.com.w.kunlunar.com ping statistics --- 
5 packets transmitted, 5 received, 0% packet loss, time 4005ms 
rtt min/avg/max/mdev = 22.379/22.389/22.400/0.094 ms

示例2: 
测试与指定主机之间的网络连通性，发送请求包限定为4个：
[root@linuxcool ~]# ping -c 4 192.168.10.10
PING 192.168.10.10 (192.168.10.10) 56(84) bytes of data.
64 bytes from 192.168.10.10: icmp_seq=1 ttl=64 time=0.063 ms
64 bytes from 192.168.10.10: icmp_seq=2 ttl=64 time=0.088 ms
64 bytes from 192.168.10.10: icmp_seq=3 ttl=64 time=0.049 ms
64 bytes from 192.168.10.10: icmp_seq=4 ttl=64 time=0.046 ms

--- 192.168.10.10 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 110ms
rtt min/avg/max/mdev = 0.046/0.061/0.088/0.018 ms

示例3: 
测试与指定域名之间的网络连通性，发送请求包限定为4个：
[root@linuxcool ~]# ping -c 4 www.linuxcool.com 
PING www.linuxcool.com (222.85.26.234) 56(84) bytes of data. 
64 bytes from www.linuxcool.com (222.85.26.234): icmp_seq=1 ttl=52 time=24.7 ms 
64 bytes from www.linuxcool.com (222.85.26.234): icmp_seq=2 ttl=52 time=24.7 ms 
64 bytes from www.linuxcool.com (222.85.26.234): icmp_seq=3 ttl=52 time=24.7 ms 
64 bytes from www.linuxcool.com (222.85.26.234): icmp_seq=4 ttl=52 time=24.7 ms 

--- www.linuxcool.com.w.kunlunar.com ping statistics --- 
4 packets transmitted, 4 received, 0% packet loss, time 3005ms 
rtt min/avg/max/mdev = 24.658/24.664/24.673/0.111 ms

示例4: 
测试与指定主机之间的网络连通性，发送3个请求包，每次间隔0.2s，最长等待时间为3s：
[root@linuxcool ~]# ping -c 3 -i 0.2 -W 3 192.168.10.10 
64 bytes from 192.168.10.10: icmp_seq=1 ttl=64 time=0.166 ms 
64 bytes from 192.168.10.10: icmp_seq=2 ttl=64 time=0.060 ms 
64 bytes from 192.168.10.10: icmp_seq=3 ttl=64 time=0.113 ms 

--- 192.168.10.10 ping statistics --- 
3 packets transmitted, 3 received, 0% packet loss, time 410ms 
rtt min/avg/max/mdev = 0.060/0.113/0.166/0.043 ms


command_name: ipvsadm
chinese_name: ipvsadm命令 – 管理Linux虚拟服务器
syntax: ipvsadm [参数] [域名或IP地址]
category: 网络通讯(network)
description:
ipvsadm命令来自英文词组“IPVS administration”的缩写，其功能是用于管理Linux虚拟服务器。ipvsadm命令用于在Linux内核中设置、维护或检查虚拟服务器表，Linux虚拟服务器可用于基于两个或更多节点的集群构建可伸缩网络服务。
群集的主节点将服务请求重定向到将实际执行服务的服务器主机集合，支持的功能包括两种协议（TCP和UDP），三种数据包转发方法（NAT，隧道和直接路由），以及八种负载均衡算法（roundrobin，加权循环，最小连接，加权最小连接，基于位置） 最小连接，基于位置的最小连接，具有复制，目标哈希和源哈希。

parameters:
|-6: 基于IPv6网络协议 |
|-a: 向指定虚拟服务添加真实服务器 |
|-A: 添加新的虚拟服务 |
|-c: 显示ipvs中目前存在的连接 |
|-C: 清空所有的虚拟服务规则 |
|-d: 删除指定真实服务器 |
|-D: 删除虚拟服务 |
|-e: 编辑指定真实服务器 |
|-E: 编辑虚拟服务 |
|-g: 设置LVS为直接路由工作模式 |
|-h: 显示帮助信息 |
|-i: 设置LVS为隧道工作模式 |
|-L: 显示内核中的虚拟服务规则 |
|-m: 设置LVS为NAT工作模式 |
|-M: 设置客户地址的子网掩码 |
|-p: 设置持久稳固的服务 |
|-r: 设置真实服务器 |
|-R: 恢复虚拟服务规则 |
|-s: 设置调度算法 |
|-S: 保存虚拟服务规则 |
|-t: 设置TCP协议的虚拟服务 |
|-u: 设置UDP协议的虚拟服务 |
|-w: 设置真实服务器的权值 |
|-Z: 清零转发消息的统计数据 |

examples:
示例1: 
添加一个虚拟服务，使用轮询算法：
[root@linuxcool ~]#ipvsadm -A -t 192.168.10.10:80 -s rr

示例2: 
修改虚拟服务的算法为加权轮询：
[root@linuxcool ~]#ipvsadm -E -t 192.168.10.10:80 -s wrr

示例3: 
删除一个虚拟服务：
[root@linuxcool ~]#ipvsadm -D -t 192.168.10.10:80

示例4: 
添加一个真实服务器，使用DR模式，设置权重为2：
[root@linuxcool ~]#ipvsadm -a -t 192.168.10.10:80 -r 192.168.10.12 -g -w 2

示例5: 
修改真是服务器的权重为5：
[root@linuxcool ~]#ipvsadm -a -t 192.168.10.10:80 -r 192.168.10.12 -g -w 5

示例6: 
删除一个真实服务器：
[root@linuxcool ~]#ipvsadm -d -t 192.168.10.10:80 -r 192.168.10.12

示例7: 
查看当前虚拟服务和各个RS的权重信息：
[root@linuxcool ~]#ipvsadm -Ln

示例8: 
查看当前ipvs模块中记录的链接信息（可用于观察转发情况）：
[root@linuxcool ~]#ipvsadm -lnc

示例9: 
查看当前ipvs模块中的转发情况信息：
[root@linuxcool ~]#ipvsadm -Ln --stats | --rate


command_name: dhclient
chinese_name: dhclient命令 – 动态获取或释放IP地址
syntax: dhclient [参数] [网卡名]
category: 网络通讯(network)
description:
dhclient命令来自英文词组DHCP client的缩写，其功能是动态获取或释放IP地址。使用dhclient命令前，需要将网卡模式设置成DHCP自动获取，否则静态模式的网卡不会主动向服务器获取如IP地址等网卡信息‍。

parameters:
|-4: 基于IPv4网络协议 |
|-6: 基于IPv6网络协议 |
|-d: 以前台方式运行 |
|-F: 设置向DHCP服务器发送的FQDN |
|-H: 设置向DHCP服务器发送的主机名 |
|-n: 不配置任何接口 |
|-p: 设置DHCP客户端监听的端口号 |
|-q: 静默执行模式 |
|-s: 在获取IP地址前指定DHCP服务器 |
|-v: 显示执行过程详细信息 |
|-V: 设置要发送给DHCP服务器的厂商类标识符 |
|-w: 即使没有找到广播接口，也继续运行 |
|-x: 停止DHCP客户端，而不释放当前租约 |
|--timeout: 设置最大响应超时时间 |
|--version: 显示版本信息 |

examples:
示例1: 
通过指定网卡发起DHCP请求，获取网卡参数：
[root@linuxcool ~]# dhclient ens160

示例2: 
释放系统中已获取的网卡参数：
[root@linuxcool ~]# dhclient -r 
Killed old client process

示例3: 
向指定的服务器请求获取网卡参数：
[root@linuxcool ~]# dhclient -s 192.168.10.10

示例4: 
手动停止执行dhclient服务进程：
[root@linuxcool ~]# dhclient -x 
Removed stale PID file


command_name: ypdomainname
chinese_name: ypdomainname命令 – 显示主机的NIS的域名
description: ypdomainname命令的作用是显示由函数“getdomainname”返回的主机域名，使用这个命令也可以设置一个主机NIS域名。
syntax: ypdomainname [参数]
parameters: |-v: 详细信息模式 |
category: 网络通讯(network)
examples:
示例1: 
显示本机的NIS域名：
[root@linuxcool ~]# ypdomainname -v

示例2: 
设置域名：
[root@linuxcool ~]# ypdomainname www.linuxcool.com


command_name: ifcfg
chinese_name: ifcfg命令 – 配置网络接口
description: ifcfg命令是一个Bash脚本程序，用来设置linux中的网络接口参数。
syntax: ifcfg [参数]
parameters: |网络接口: 指定要操作的网络接口 | |add/del: 添加或删除网络接口上的地址 | |ip地址: 指定IP地址和子网掩码 | |Stop: 停用指定的网络接口的IP地址 |
category: 网络通讯(network)
examples:
示例1: 
停止指定网络接口上的IP地址：
[root@linuxcool ~]# ifcfg eth0 stop

示例2: 
为网络接口配置IP地址：
[root@linuxcool ~]# ifcfg eth1 add 192.168.60.11/24

示例3: 
为网口删除网络地址：
[root@localhost ~]# ifcfg eth0 delete 192.168.10.250/24


command_name: netstat
chinese_name: netstat命令 – 显示网络状态
syntax: netstat [参数]
category: 网络通讯(network)
description:
netstat命令来自英文词组network statistics的缩写，其功能是显示各种网络相关信息，例如网络连接状态、路由表信息、接口状态、NAT、多播成员等。
netstat命令不仅应用于Linux系统，而且Windows XP、Windows 7、Windows 10及Windows 11均已默认支持，并且可用参数也相同，有经验的运维人员可以直接上‍手。

parameters:
|-a: 显示所有连接中的接口信息 |
|-A: 设置网络连接类型 |
|-c: 持续显示网络状态 |
|-C: 显示路由配置信息 |
|-F: 显示路由缓存信息 |
|-g: 显示多重广播功能群组成员名单 |
|-h: 显示帮助信息 |
|-i: 显示网络界面信息表单 |
|-l: 仅显示正在监听的服务状态 |
|-N: 显示网络硬件外围设备的符号链接名称 |
|-o: 显示计时器数据信息 |
|-p: 显示正在使用接口的程序识别码和名称 |
|-r: 显示路由表信息 |
|-s: 显示网络工作信息统计表信息 |
|-t: 显示TCP传输协议的连线状态 |
|-u: 显示UDP传输协议的连线状态 |
|-V: 显示版本信息 |

examples:
示例1: 
显示系统网络状态中的所有连接信息：
[root@linuxcool ~]# netstat -a 
Active Internet connections (servers and established) 
Proto Recv-Q Send-Q Local Address          Foreign Address          State 
Tcp        0      0 0.0.0.0:http           0.0.0.0:*                LISTEN 
tcp        0      0 0.0.0.0:https          0.0.0.0:*                LISTEN 
tcp        0      0 0.0.0.0:ms-wbt-server  0.0.0.0:*                LISTEN

示例2: 
显示系统网络状态中的UDP连接信息：
[root@linuxcool ~]# netstat -nu 
Active Internet connections (w/o servers) 
Proto Recv-Q Send-Q Local Address          Foreign Address       State 
udp        0      0 192.168.10.10:68       192.168.10.20:67      ESTABLISHED

示例3: 
显示系统网络状态中的UDP连接端口号使用信息：
[root@linuxcool ~]# netstat -apu 
Active Internet connections (servers and established) 
Proto Recv-Q Send-Q Local Address Foreign Address       State   PID/Program name 
udp        0      0 linuxcool:bootpc _gateway:bootps ESTABLISHED 1024/NetworkManager 
udp        0      0 localhost:323         0.0.0.0:*             875/chronyd 
udp6       0      0 localhost:323         [::]:*                875/chronyd

示例4: 
显示网卡当前状态信息：
[root@linuxcool ~]# netstat -i 
Kernel Interface table 
Iface          MTU   RX-OK RX-ERR RX-DRP RX-OVR   TX-OK TX-ERR TX-DRP TX-OVR Flg 
eth0          1500   31945      0      0 0        39499      0      0      0 BMRU 
lo           65536       0      0      0 0            0      0      0      0 LRU

示例5: 
显示网络路由表状态信息：
[root@linuxcool ~]# netstat -r 
Kernel IP routing table 
Destination     Gateway    Genmask       Flags   MSS Window irtt Iface 
default         _gateway   0.0.0.0       UG        0 0         0 eth0 
192.168.10.0    0.0.0.0    255.255.240.0 U         0 0         0 eth0

示例6: 
找到某个服务所对应的连接信息：
[root@linuxcool ~]# netstat -ap | grep ssh 
unix 2 	[ ] 		STREAM 	CONNECTED 	89121805	203890/sshd: root [ 
unix 3 	[ ] 		STREAM 	CONNECTED 	27396 	1754/sshd 
unix 3 	[ ] 		STREAM 	CONNECTED 	89120965	203890/sshd: root [ 
unix 2 	[ ] 		STREAM 	CONNECTED 	89116510 	203903/sshd: root@p 
unix 2 	[ ] 		STREAM 	CONNECTED 	89121803 	203890/sshd: root [ 
unix 2 	[ ] 		STREAM 	CONNECTED 	29959 	1754/sshd 
unix 2 	[ ] 		DGRAM 				89111175 	203890/sshd: root [ 
unix 3 	[ ]		STREAM 	CONNECTED 	89120964 	203903/sshd: root@p


command_name: lnstat
chinese_name: lnstat命令 – 显示Linux系统的网路状态
description: lnstat命令实际上是读取系统“/proc”中目录“/proc/net/stat”下面的文件，来显示当前主机的网络状态的。lnstat命令是rtstat命令的更新替代命令，功能更完善。
syntax: lnstat [参数]
category: 网络通讯(network)
parameters:
|-c: 指定显示网络状态的次数，每隔一定时间显示一次网络状态 |
|-d: 显示可用的文件或关键字 |
|-i: 指定两次显示网络状的间隔秒数 |
|-k: 只显示给定的关键字 |
|-s: 是否显示标题头 |
|-w: 指定每个字段所占的宽度 |
|-h: 显示帮助信息 |
|-v: 显示指令版本信息 |

examples:
示例1: 
显示网络状态：
[root@linuxcool ~]# lnstat

示例2: 
显示命令支持的统计文件：
[root@linuxcool ~]# lnstat -d

示例3: 
过滤出只想要查看的关键字段信息：
[root@linuxcool ~]# lnstat -k arp_cache:entries,rt_cache:in_hit,arp_cache:destroys
arp_cach|rt_cache|arp_cach|
entries|  in_hit|destroys|
      6|       0|       2|


command_name: newaliases
chinese_name: newaliases命令 – 文字模式转换
syntax: newaliases [参数]
parameters: |-bi: 将 /etc/aliases 转换成一个 sendmail 所能了解的数据库 |
examples: 示例1: 将 /etc/aliases 转换成一个 sendmail 所能了解的数据库： [root@linuxcool ~]# newaliases -bi
category: 网络通讯(network)
description:
Linuxnewaliases命令会使用一个在 /etc/aliases 中的档案做使用者名称转换的动作。当 sendmail 收到一个要送给 xxx 的信时，它会依据 aliases档的内容送给另一个使用者。这个功能可以创造一个只有在信件系统内才有效的使用者。例如 mailing list 就会用到这个功能，在 mailinglist 中，我们可能会创造一个叫 redlinux@link.ece.uci.edu 的 mailinglist，但实际上并没有一个叫 redlinux 的使用者。实际 aliases 档的内容是将送给这个使用者的信都收给 mailing list 处理程序负责分送的工作。
/etc/aliases 是一个文字模式的档案，sendmail 需要一个二进位格式的 /etc/aliases.db。newaliases 的功能传是将 /etc/aliases 转换成一个 sendmail 所能了解的数据库。
使用权限：系统管理者。


command_name: nslookup
chinese_name: nslookup命令 – 查询域名服务器信息
syntax: nslookup [参数] [域名或IP地址]
category: 网络通讯(network)
description:
nslookup命令来自英文词组“Nameserver lookup”的缩写，其功能是用于查询域名服务器信息。nslookup命令能够用于查询指定域名所对应的DNS服务器信息（正向解析），亦可查询到指定DNS服务器上所绑定的域名信息（反向解析）。该命令有两种工作方式，其一是交互式，在命令行中执行nslookup命令后即可进入，一问一答的查询模式；其二是非交互式，直接在命令后追加域名或IP地址信息即可直接进行查询操作。

parameters:
|exit: 退出命令 |
|help: 显示帮助信息 |
|ls: 显示DNS域信息 |
|root: 设置默认服务器为DNS域名空间的根目录服务器 |
|server: 设置解析域名的服务器地址 |
|set: 设置查找运行方式的配置信息 |
|set all: 显示当前配置信息 |
|set class: 设置查询类 |
|set debug: 设置调试模式 |
|set domain: 设置默认DNS域名为指定名称 |
|set port: 设置默认TCP/UDP DNS域名服务器端口号 |
|set retry: 设置重试次数 |
|set root: 设置用于查询根服务器的名称 |
|set srchlist: 设置默认DNS域名或搜索列表 |
|set timeout: 设置等待请求答复的初始秒数 |
|set type: 设置查询的资源记录类型 |
|set type=a: 设置查询域名A记录 |
|set type=mx: 设置查询域名邮件交换记录 |
|set type=soa: 设置查询域名授权起始信息 |

examples:
示例1: 
查询指定域名所对应的DNS服务器信息（非交互式）：
[root@linuxcool ~]#nslookup www.linuxcool.comServer:         180.76.76.76
Address:        180.76.76.76#53
Non-authoritative answer:
Name:    www.linuxcool.com 
Address: 216.218.186.2
Name:    www.linuxcool.com
Address: 2001:470:0:76::2

示例2: 
查询指定域名所对应的DNS服务器信息（交互式）：
[root@linuxcool ~]#nslookup>www.linuxcool.comServer:         180.76.76.76
Address:        180.76.76.76#53 

Non-authoritative answer:
Name:   www.linuxcool.com
Address: 216.218.186.2
Name:   www.linuxcool.com
Address: 2001:470:0:76::2
>

示例3: 
在交互查询模式下，设置仅显示域名的邮件交换记录服务器信息：
[root@linuxcool ~]#nslookup>set type=mx>www.linuxcool.comServer:         180.76.76.76
Address:        180.76.76.76#53 

Non-authoritative answer:
www.linuxcool.com  mail exchanger = 1 www.linuxcool.com.

Authoritative answers can be found from:
www.linuxcool.com  internet address = 216.218.186.2
www.linuxcool.com  has AAAA address 2001:470:0:76::2


command_name: domainname
chinese_name: domainname命令 – 显示和设置系统的NIS域名
syntax: domainname [参数] [域名]
parameters: |-v: 详细信息模式 | |-F: 指定读取域名信息的文件 | |-s: 短主机域名 | |-I: 主机的ip地址 | |-y: NIS域名 |
category: 网络通讯(network)
description:
domainname命令作用是显示或设置当前网络信息服务（NIS）域的名称。如果不指定参数domainname命令则显示当前NIS域的名称，一个域通常包含同一管理器下的一组主机。
注意：只有 root 用户可以通过domainname命令的参数设置域名。

examples:
示例1: 
查看当前系统域名：
[root@linuxcool ~]# domainname
(none)

示例2: 
设置并查看当前系统域名：
[root@linuxcool ~]# domainname linuxcool.com
[root@linuxcool ~]# domainname
linuxcool.com

示例3: 
查看主机ip地址：
[root@linuxcool ~]# domainname -I
192.168.122.1


command_name: setserial
chinese_name: setserial命令 – 设置或显示串口的相关信息
description: setserial命令可以用来设置串口或显示目前串口的状态信息。
syntax: setserial [参数] [设备]
category: 网络通讯(network)
parameters:
|-a: 显示详细信息 |
|-b: 显示摘要信息 |
|-g: 显示串口的相关信息 |
|-G: 以指令列表的格式来显示信息 |
|-q: 执行时显示较少的信息 |
|-v: 执行时显示较多的信息 |
|-V: 显示版本信息 |

examples:
示例1: 
显示串口/dev/ttyS1的信息：
[root@linuxcool ~]# setserial -g /dev/ttyS1

示例2: 
显示串口/dev/ttyS1的简略信息：
[root@linuxcool ~]# setserial -q /dev/ttyS1

示例3: 
显示串口/dev/ttyS1的信详细息：
[root@linuxcool ~]# setserial -a /dev/ttyS1


command_name: squidclient
chinese_name: squidclient命令 – squid客户端管理工具
description: squidclient命令使用squid服务的客户端管理工具，它可以查看squid服务的详细运行信息和管理squid服务器。 使用squidclient命令钱必须先启动squid服务器。
syntax: squidclient [参数]
category: 网络通讯(network)
parameters:
|-a: 不包含“Accept：header” |
|-r: 强制缓存重新加载URL |
|-s: 安静模式，不输出信息到标准输出设备 |
|-h<主机>: 从指定主机获取URL，默认主机为“localhost” |
|-l<主机>: 指定一个本地IP地址进行绑定 |
|-p: 端口号，默认为3128 |
|-m<方法>: 指定发送请求的方法，默认为“GET” |
|-u<用户名>: 代理认证用户名 |
|-p<密码>: 代理认证密码 |
|-u<用户名>: WWW认证用户名 |
|-p<密码>: WWW认证密码 |

examples:
示例1: 
显示可用的管理指令列表：
[root@linuxcool ~]# squidclient mgr:menu

示例2: 
从主机获取URL：
[root@linuxcool ~]# squidclient -h

示例3: 
绑定192.168.10.10：
[root@linuxcool ~]# squidclient -l 192.168.10.10

示例4: 
强制缓存重新加载URL：
[root@linuxcool ~]# squidclient - r

示例5: 
不输出信息到标准输出设备：
[root@linuxcool ~]# squidclient - s


command_name: elm
chinese_name: elm命令 – 纯文本邮件客户端程序
syntax: elm [参数]
category: 网络通讯(network)
description:
elm命令是ELectronic Mail单词的缩写，是一个E-mail客户端管理程序，它提供了纯文本交互式全屏幕界面。elm命令中不但提供了方便的键盘功能，还有一个在屏幕下方的命令帮助。
elm命令在运行时使用小键盘的箭头来选择要处理的邮件，直接按回车键阅读邮件。

parameters:
|-s<邮件主题>: 指定新邮件的邮件主题 |
|-f<目录>: 开启程序时，读取指定的目录 |
|-h: 显示帮助 |
|-i<文件名>: 将文件内容插入送出的邮件中 |
|-m: 进入elm后，不显示指令说明 |
|-v: 显示elm的版本信息 |
|-z: 若收件信箱没有邮件，则不启动elm程序 |

examples:
示例1: 
查看E-mail：
[root@linuxcool ~]# eml

示例2: 
进入elm后，不显示指令说明：
[root@linuxcool ~]# eml -m

示例3: 
将文件内容插入送出的邮件中：
[root@linuxcool ~]# eml -i linuxcool.txt


command_name: htpasswd
chinese_name: htpasswd命令 – 管理用户基本认证文件
description: htpasswd命令是Apache的Web服务器内置工具，用于创建和更新储存用户名、域和用户基本认证的密码文件。
syntax: htpasswd [参数] [用户和密码]
category: 网络通讯(network)
parameters:
|-c: 创建一个加密文件 |
|-n: 不更新加密文件，只将加密后的用户名密码显示在屏幕上 |
|-m: 默认采用MD5算法对密码进行加密 |
|-d: 采用CRYPT算法对密码进行加密 |
|-p: 不对密码进行进行加密，即明文密码 |
|-s: 采用SHA算法对密码进行加密 |
|-b: 在命令行中一并输入用户名和密码而不是根据提示输入密码 |
|-D: 删除指定的用户 |

examples:
示例1: 
添加用户并设置密码：
[root@linuxcool ~]# htpasswd -bc .passwd linuxcool 123456

示例2: 
在上面生成的密码文件中添加一个用户并设置密码 ：
[root@linuxcool ~]# htpasswd -b .passwd linuxprobe 123456

示例3: 
删除用户名和密码：
[root@linuxcool ~]# htpasswd -D .passwd linuxcool

示例4: 
修改密码：
[root@linuxcool ~]# htpasswd -D .passwd linuxcool
[root@linuxcool ~]# htpasswd -b .passwd linuxcool 654321


command_name: uux
chinese_name: uux命令 – 在远端的UUCP主机上执行命令
syntax: uux [参数]
examples: 示例1: 在远程主机 uucp 执行命令： [root@linuxcool ~]# uux hnlinux! date
category: 网络通讯(network)
description:
uux可以在远端的UUCP主机上执行指令或是执行本机上的命令，但在执行时会使用远端电脑的文件。
uux命令是一种基本联网实用程序，在指定的基于 UNIX 的系统上运行指定的命令。同时不影响用户在本地系统上的工作。在运行指定命令之前，uux命令从指定系统中收集所有必要的文件。用户可以将命令输出指向特定系统的特定文件。基于安全性的考虑，许多安装程序允许 uux 命令只运行rmail命令。

parameters:
|-或-p或--stdin: 直接从键盘读取要执行的指令 |
|-a或--requestor: 执行邮件地址，以便寄送状态信息 |
|-b或--erturn-stdin: 在屏幕上显示状态信息 |
|-c或--nocopy: 不用将文件复制到缓冲区 |
|-C或--copy: 将文件复制到缓冲区 |
|-g或--grade: 指定文件传送作业的优先顺序 |
|-I或--config file: 指定uux配置文件 |
|-j或--jobid: 显示作业编号 |
|-l或--link: 将本机上的文件连接到缓冲区 |
|-n或--notification=no: 无论发生任何状态，都不寄邮件通知用户 |
|-r或--nouucico: 不要立即启动uucico服务程序，仅将作业送到队列中，然后再执行 |
|-s或--status: 将完成状态保存为指定的文件 |
|-v或--version: 显示版本信息 |
|-x或--debug: 指定排错层级 |
|-z或--notification=error: 若发生错误，则以邮件来通知用户 |
|--help: 显示帮助 |


command_name: sftp-server
chinese_name: sftp-server命令 – SFTP协议服务端程序
syntax: sftp-server [参数] [对象]
category: 网络通讯(network)
description:
sftp-server命令来自英文词组“SFTP server”的拼写，其功能是用于SFTP协议服务端程序。SFTP的全称是“SSH File Transfer Protocol”，中文译为“安全的文件传输协议”，是隶属于sshd服务程序的子系统，为Linux系统提供了又一种加密的安全传输文件方式。

parameters:
|-d: 设置备用起始目录 |
|-e: 显示日志记录信息 |
|-f: 设置记录日志时的设备代码 |
|-h: 显示服务器使用情况信息 |
|-l: 设置记录日志时的分类 |
|-m: 设置新的一般文件权限 |
|-p: 设置白名单列表 |
|-P: 设置黑名单列表 |
|-R: 使用只读模式 |
|-u: 设置新的umask权限 |

examples:
示例1: 
启动SFTP协议服务：
[root@linuxcool ~]#sftp-server

示例2: 
指定要记录日志的设备代码：
[root@linuxcool ~]#sftp-server -f LOCAL1

示例3: 
将服务器设置为只读模式：
[root@linuxcool ~]#sftp-server -R

示例4: 
显示服务器使用情况信息：
[root@linuxcool ~]#sftp-server -h


command_name: ssh-keyscan
chinese_name: ssh-keyscan命令 – 收集主机的SSH公钥信息
syntax: ssh-keyscan [参数] [IP地址]
category: 网络通讯(network)
description:
ssh-keyscan命令的功能是收集主机的SSH公钥信息。Linux系统管理员通常会先用ssh-keygen命令生成SSH密钥文件，随后用ssh-copy-id命令传送公钥文件到对方主机，而ssh-keyscan命令的作用则是收集主机上的公钥信息，创建和验证sshd服务程序的ssh_known_hosts文件。ssh-keyscan命令仅支持SSHv1，在SSHv2中无法使用。

parameters:
|-4: 基于IPv4网络协议 |
|-6: 基于IPv6网络协议 |
|-f: 从指定文件中读取地址列表和名字列表对 |
|-p: 设置连接远程主机的端口 |
|-T: 设置连接尝试的超时时间 |
|-v: 显示执行过程详细信息 |

examples:
示例1: 
收集主机SSH公钥，并输出调试信息：
[root@linuxcool ~]# ssh-keyscan -v 192.168.10.10

示例2: 
显示指定主机上的RSA密钥信息：
[root@linuxcool ~]# ssh-keyscan 192.168.10.10

示例3: 
显示指定主机上的DSA密钥信息：
[root@linuxcool ~]# ssh-keyscan -t dsa 192.168.10.10

示例4: 
显示调试信息：
[root@linuxcool ~]# ssh-keyscan -v


command_name: ifup
chinese_name: ifup命令 – 激活网络接口
syntax: ifup [网络接口]
parameters: |网络接口: 设置要启用的网络接口名称 |
examples: 示例1: 激活指定的网络接口： [root@linuxcool ~]#ifup eth0
category: 网络通讯(network)
description:
ifup命令来自英文词组“interface up”的缩写，其功能是用于激活网络接口。ifup命令会去读取Linux系统中网络接口服务目录下的配置文件，随后根据配置文件的内容来激活对应的网络接口，这样就能实现对指定网卡启用的效果了。


command_name: pine
chinese_name: pine命令 – 收发电子邮件，浏览新闻组
description: pine是个以显示导向为住的邮件处理程序，包括一般电子邮件和新闻组的文章。pine也支持MIME格式，可让用户将MIME的对象保存成文件，甚至指定外挂程序直接开启对象。
syntax: pine [参数]
category: 网络通讯(network)
parameters:
|-a: 在UWIN中使用匿名模式 |
|-attach<附件>: 把指定的文件附加在信件里，一并夹带寄出 |
|-attachlist<附件清单>: 设置一份文件清单，把该清单内的文件全部附加到信件中，夹带寄出 |
|-c<邮件编号>: 直接开启指定编号的邮件 |
|-o: 设置收件箱为只读 |
|-f<收件箱>: 开启指定的接收信件箱，而非预设的INBOX收件箱 |
|-F<文件>: 直接浏览指定文件的内容 |
|-n<邮件编号>: 设置现在的邮件编号 |
|-p<环境文件>: 另外指定pine的环境文件 |

examples:
示例1: 
设置邮箱只读：
[root@linuxcool ~]# pine -o xxx@linuxcool.com

示例2: 
浏览文件内容：
[root@linuxcool ~]# pine -F linuxcool.txt

示例3: 
开启指定的邮箱：
[root@linuxcool ~]# pine -f  xxx@linuxcool.com


command_name: rpcinfo
chinese_name: rpcinfo命令 – 查询RPC服务信息
syntax: rpcinfo [参数] [域名或IP地址]
category: 网络通讯(network)
description:
rpcinfo命令来自英文词组“RPC information”的缩写，其功能是用于查询RPC服务信息。rpcinfo命令的主要用途是基于RPC协议访问服务器，通过其反馈响应信息，进而判断该主机是否已注册RPC服务。

parameters:
|-a: 显示是否收到响应信息 |
|-b: 显示收到响应信息的所有主机 |
|-d: 删除指定程序号或版本号的服务 |
|-I: 显示指定程序号或版本号的服务 |
|-m: 使用表格形式显示统计数据 |
|-s: 显示指定主机中所有RPC程序的简明列表 |
|-t: 探测使用TCP的RPC程序 |
|-u: 探测使用UDP的RPC程序 |

examples:
示例1: 
显示已注册到本地系统的所有RPC服务：
[root@linuxcool ~]#rpcinfoprogram version netid     address                service    owner
    100000    4    tcp6      ::.0.111               portmapper superuser
    100000    3    tcp6      ::.0.111               portmapper superuser
    100000    4    udp6      ::.0.111               portmapper superuser
    100000    3    udp6      ::.0.111               portmapper superuser
………………省略部分输出信息………………

示例2: 
显示本地系统中注册到rpcbind协议版本2的所有RPC服务：
[root@linuxcool ~]#rpcinfo -pprogram vers proto   port  service
    100000    3   tcp    111  portmapper
    100000    2   tcp    111  portmapper
    100000    3   udp    111  portmapper
    100000    2   udp    111  portmapper


command_name: cu
chinese_name: cu命令 – 连接另一个系统主机
description: cu命令可连接另一台主机，并采用类似拨号终端机的接口工作，也可执行简易的文件传输作业。
syntax: cu [参数] [电话号码]
category: 网络通讯(network)
parameters:
|-p: 使用指定的通信端口进行连线 |
|-c: 拨打该电话号码 |
|-d: 进入排错模式 |
|-I: 指定要使用的配置文件 |
|-n: 拨号时等待用户输入电话号码 |
|-s: 设置连线的速率 |
|-x: 使用排错模式 |
|--help: 在线帮助 |

examples:
示例1: 
与远程主机连接：
[root@linuxcool ~]# cu -c 735148100

示例2: 
指定端口号连接：
[root@linuxcool ~]# cu -p 111 -c 735148100


command_name: elinks
chinese_name: elinks命令 – 网络应用
description: elinks命令能实现一个纯文本界面的WWW浏览器。
syntax: elinks [参数]
category: 网络通讯(network)
parameters:
|-anonymous: 使用匿名帐号方式 |
|-auto-submit: 对于偶然遇到的第一个表单是否自动提交 |
|-config-dir: 指定elinks指令运行时读取和写入自身的配置和运行状态的存放目录 |
|-dump: 将HTML文档以纯文本的方式打印到标准输出设备 |
|-version: 显示指令的版本信息 |
|-h: 显示帮助信息 |

examples:
示例1: 
使用匿名帐号方式：
[root@linuxcool ~]# elinks -anonymous www.linuxprobe.com

示例2: 
对于偶然遇到的第一个表单是否自动提交：
[root@linuxcool ~]# elinks -auto-submit www.linuxprobe.com

示例3: 
指定elinks指令运行时读取和写入自身的配置和运行状态的存放目录：
[root@linuxcool ~]# elinks -config-dir www.linuxprobe.com

示例4: 
将HTML文档以纯文本的方式打印到标准输出设备：
[root@linuxcool ~]# elinks -dump www.linuxprobe.com


command_name: tracepath
chinese_name: tracepath命令 – 追踪数据包的路由信息
description: tracepath命令的功能是追踪数据包的路由信息。tracepath命令能够追踪并显示数据包到达目的主机所经过的路由信息，以及对应的MTU值。
syntax: tracepath [参数] [域名或IP地址]
category: 网络通讯(network)
parameters:
|-4: 基于IPv4网络协议 |
|-6: 基于IPv6网络协议 |
|-b: 显示IP地址和主机名 |
|-l: 设置初始化的数据包长度 |
|-n: 仅显示IP地址 |
|-p: 设置要使用的初始目标端口 |
|-V: 显示版本信息 |

examples:
示例1: 
追踪到达域名的主机路由信息：
[root@linuxcool ~]# tracepath www.linuxcool.com 
 1?: [LOCALHOST]                      pmtu 1500 
 1:  10.130.116.46 			                                0.601ms 
 1:  10.130.115.46 			                                0.558ms 
 2:  11.73.1.89 					                0.732ms 
 3:  11.54.242.117 					                0.940ms 
 4:  103.52.85.150 				     	                1.900ms 
………………省略部分输出信息………………

示例2: 
追踪到达域名的主机路由信息，同时显示IP地址与主机名：
[root@linuxcool ~]# tracepath -b www.linuxcool.com 
 1?: [LOCALHOST]                      pmtu 1500 
 1:  10.130.115.46 (10.130.115.46) 					0.486ms 
 1:  10.130.116.46 (10.130.116.46) 					0.527ms 
 2:  11.73.1.237 (11.73.1.237) 						0.697ms 
 3:  11.54.241.165 (11.54.241.165) 					1.082ms 
………………省略部分输出信息………………

示例3: 
设置追踪数据包路由的最大TTL值为20，并追踪到达域名的主机路由信息：
[root@linuxcool ~]# tracepath -m 20 www.linuxcool.com 
 1?: [LOCALHOST]                      pmtu 1500 
 1:  10.130.115.46 					                0.607ms 
 1:  10.130.116.46 					                0.672ms 
 2:  11.73.1.65 					                0.689ms 
 3:  10.92.110.37 					                4.966ms 
 4:  10.102.255.201 					                0.987ms 
………………省略部分输出信息………………


command_name: sftp
chinese_name: sftp命令 – 加密传输FTP文件
syntax: sftp [参数] [域名或IP地址]
category: 网络通讯(network)
description:
sftp命令来自英文词组“secure file transfer protocol”的缩写，其功能是用于加密传输FTP文件。sftp命令与ftp命令都是FTP协议的客户端工具，工作模式和使用方式均相同，但sftp命令会对所有传输的FTP文件基于ssh协议进行加密处理，并支持公钥认证和压缩技术，更为推荐。

parameters:
|-b: 设置批处理文件 |
|-B: 设置缓冲区大小 |
|-C: 使用压缩模式 |
|-F: 设置ssh配置文件 |
|-l: 使用ssh协议版本1 |
|-o: 设置ssh选项 |
|-P: 设置连接端口号 |
|-R: 设置最大请求数 |
|-v: 提升日志等级 |

examples:
示例1: 
登入到指定的远程FTP服务器：
[root@linuxcool ~]#sftp 192.168.10.10Connecting to 192.168.10.10...
root@192.168.10.10's password:此处输入管理员密码sftp>

示例2: 
指定缓存区大小，并登入到指定的远程FTP服务器：
[root@linuxcool ~]#sftp -B 512 192.168.10.10

示例3: 
设置在传输过程中使用压缩技术，并登入到指定的远程FTP服务器：
[root@linuxcool ~]#sftp -C 192.168.10.10


command_name: dip
chinese_name: dip命令 – 用于IP拨号连接
description: dip命令是一种linux网络通讯命令，可以用于IP拨号连接。dip命令可以控制调制解调器，以拨号IP的方式建立对外的双向连接。
syntax: dip [参数]
category: 网络通讯(network)
parameters:
|-a: 询问用户名称与密码 |
|-i: 启动拨号服务器功能 |
|-k: 删除执行中的dip程序 |
|-l: 指定要删除的连线，必须配合-k参数一起使用 |
|-m: 设置最大传输单位，预设值为296 |
|-p: 设置通信协议 |
|-t: 进入dip的指令模式 |
|-v: 执行时显示详细的信息 |

examples:
示例1: 
建立拨号连接：
[root@linuxcool ~]# dip -t

示例2: 
启动拨号服务器功能：
[root@linuxcool ~]# dip -i

示例3: 
设置通信协议为http：
[root@linuxcool ~]# dip -p "http"


command_name: arpwatch
chinese_name: arpwatch命令 – 监听网络上ARP的记录
syntax: arpwatch [参数]
category: 网络通讯(network)
description:
arpwatch命令用于监听网络上ARP的记录。
ARP(Address Resolution Protocol)是用来解析IP与网络装置硬件地址的协议。 arpwatch可监听区域网络中的ARP数据包并记录，同时将监听到的变化通过E-mail来报告。

parameters:
|-d: 启动排错模式 |
|-f: 设置存储ARP记录的文件，预设为/var/arpwatch/arp.dat |
|-i: 指定监听ARP的接口，预设的接口为eth0 |
|-r: 从指定的文件中读取ARP记录，而不是从网络上监听 |
|-n: 指定附加的本地网络 |
|-u: 指定用户和用户组 |
|-e: 发送邮件给指定用户，非默认的root用户 |
|-s: 指定用户名作为返回地址，而不是默认的用户root |

examples:
示例1: 
监听网卡eth0的ARP信息：
[root@linuxcool ~]# arpwatch -i eth0

示例2: 
监听ARP的信息，将相关信息记录到相应的文件：
[root@linuxcool ~]# arpwatch -i eth0 -f a.log


command_name: jwhois
chinese_name: jwhois命令 – whois 客户端服务
description: jwhois命令是在Whois服务器上搜索命令行上要查询的域名主机。从Whois服务器的全局的配置文件具有一定的权威性，从Whois服务器上获取要查询的信息后，显示在命令行中。
syntax: jwhois [参数]
category: 网络通讯(network)
parameters:
|-v: 输出详细调试信息 |
|-c FILE: 使用文件配置文件 |
|-h HOST: 显式查询主机 |
|-n: 禁用内容重定向 |
|-s: 禁用whois-servers.net支持 |
|-a: 禁用重新格式化查询 |
|-i: 禁用所有重定向而不隐藏 |
|-p PORT: 使用端口号(与主机连接) |
|-r: 强制执行一个rwhois查询 |
|-- -rwhois-display: 设置rwhois查询中的显示选项 |
|-- -rwhois-limit: 设置要返回的最大匹配数 |

examples:
示例1: 
查询域名信息：
[root@linuxcool ~]# jwhois www.linuxcool.com

示例2: 
使用指定端口号进行查询：
[root@linuxcool ~]# jwhois -p 8080 www.linuxcool.com

示例3: 
禁用内容重定向：
[root@linuxcool ~]# jwhois -n www.linuxcool.com


command_name: usernetctl
chinese_name: usernetctl命令 – 操作指定的网络接口
description: usernetctl命令在用于被允许时操作指定的网络接口。在使用上和”ifup”、”ifon”命令有些类似。
syntax: usernetctl [参数] [网络接口]
parameters: |up: 激活网络接口 | |down: 禁用网络接口 | |report: 报告网络接口 |
category: 网络通讯(network)
examples:
示例1: 
激活网络接口：
[root@linuxcool ~]# usernetctl enp1s0 up

示例2: 
禁用网络接口：
[root@linuxcool ~]# usernetctl enp1s0 down

示例3: 
报告网络接口状态：
[root@linuxcool ~]# usernetctl enp1s0 report


command_name: pppstats
chinese_name: pppstats命令 – 用于显示PPP连线状态
description: pppstats命令用于显示PPP连线状态。 利用pppstats(point to point protocol status)指令可让你得知PPP连接网络的相关信息。
syntax: pppstats [参数]
examples: 示例1: 显示ppp的了连接状态 : [root@linuxcool ~]# pppstats
category: 网络通讯(network)
parameters:
|-a: 显示绝对统计值。 |
|-c<执行次数>: 设置回报状况的次数。 |
|-d: 显示相对统计值。 |
|-r: 显示数据包压缩比率的统计值。 |
|-v: 显示VJTCP文件头的压缩效率统计值。 |
|-w<间隔秒数>: 设置显示统计信息的间隔时间。 |


command_name: ssh
chinese_name: ssh命令 – 安全的远程连接服务
description: ssh命令的功能是安全地远程连接服务器主机系统，作为OpenSSH套件中的客户端连接工具，ssh命令可以让我们轻松地基于SSH加密协议进行远程主机访问，从而实现对远程服务器的管理工‍作。
syntax: ssh [参数] [域名或IP地址]
category: 网络通讯(network)
parameters:
|-1: 使用SSH协议版本1 |
|-2: 使用SSH协议版本2 |
|-4: 基于IPv4网络协议 |
|-6: 基于IPv6网络协议 |
|-a: 关闭认证代理连接转发功能 |
|-A: 开启认证代理连接转发功能 |
|-b: 设置本机对外提供服务的IP地址 |
|-c: 设置会话的密码算法 |
|-C: 压缩所有数据 |
|-f: 后台执行ssh命令 |
|-F: 设置配置文件 |
|-g: 允许远程主机连接本机的转发端口 |
|-l: 设置登录用户名 |
|-N: 不执行远程指令 |
|-o: 设置配置参数选项 |
|-p: 设置远程服务器上的端口号 |
|-q: 静默执行模式 |
|-s: 请求远程主机上的子系统调用 |
|-v: 显示执行过程详细信息 |
|-V: 显示版本信息 |
|-x: 关闭X11转发功能 |
|-X: 开启X11转发功能 |
|-y: 信任X11转发功能 |

examples:
示例1: 
基于SSH协议，远程访问服务器主机系统：
[root@linuxcool ~]# ssh 192.168.10.10 
The authenticity of host '192.168.10.10 (192.168.10.10)' can't be established. 
ECDSA key fingerprint is SHA256:ZEjdfRjQV8pVVfu0TSYvDP5UvOHuuogMQSDUgLPG3Kc. 
Are you sure you want to continue connecting (yes/no)? yes 

Warning: Permanently added '192.168.10.10' (ECDSA) to the list of known hosts. 
root@192.168.10.10's password: 此处输入远程服务器管理员密码 
Activate the web console with: systemctl enable --now cockpit.socket 

Last login: Tue Dec 14 08:49:08 2023 
[root@linuxprobe ~]#

示例2: 
使用指定的用户身份登录远程服务器主机系统：
[root@linuxcool ~]# ssh -l linuxprobe 192.168.10.10 
linuxprobe@192.168.10.10's password: 此处输入指定用户的密码 
Activate the web console with: systemctl enable --now cockpit.socket 
[linuxprobe@linuxprobe ~]$

示例3: 
登录远程服务器主机系统后执行一条命令：
[root@linuxcool ~]# ssh 192.168.10.10 "free -m" 
root@192.168.10.10's password: 此处输入远程服务器管理员密码 
			total 		used 	free 	shared  buff/cache  available 
Mem: 		 1966 		1359 	  76    	    21          530         407 
Swap: 		 2047 		   9   	2038

示例4: 
强制使用v1版本的SSH加密协议连接远程服务器主机：
[root@linuxcool ~]# ssh -1 192.168.10.10


command_name: mingetty
chinese_name: mingetty命令-登入程序
description: mingetty命令是精简版的getty。mingetty适用于本机上的登入程序。
syntax: mingetty [参数]
parameters: |--long-hostname：显示完整的主机名称 | |-noclear：在询问登入的用户名称之前不要清楚屏幕画面 |
category: 网络通讯(network)
examples:
示例1: 
显示完整的主机名称:
[root@linuxcool ~]# mingetty -long-hostname gethostname()

示例2: 
在提示输入用户名之前不进行清屏操作(通常屏幕被清除):
[root@linuxcool ~]# mingetty -noclear


command_name: setpci
chinese_name: setpci命令 – 配置PCI硬件设备参数
syntax: setpci [参数] [PCI设备名]
category: 设备管理(device)
description:
setpci命令来自英文词组“Set PCI”的缩写，其功能是用于配置PCI硬件设备参数。setpci命令能够帮助管理员查询与配置PCI硬件设备的工作参数，必须root管理员才有权限运行，动手前一定要三思。
*查看当前系统中已有PCI设备信息可使用lspci命令

parameters:
|-A: 设置支持多种访问PCI设备的方式 |
|-d: 显示指定厂商和设备的信息 |
|-D: 使用测试模式，并不真正将信息写入寄存器 |
|-f: 当没有任何操作需要完成时，不显示任何信息 |
|-G: 设置库的调试级别 |
|-s: 显示指定总线、插槽上的设备功能块信息 |
|-v: 显示执行过程详细信息 |

examples:
示例1: 
将设备0:14.0设备，PCI配置空间偏移量为0x60，写入新的字节变量6：
[root@linuxcool ~]#setpci -s 0:14.0 60.B=6

示例2: 
设置PCI设备的定时器：
[root@linuxcool ~]#setpci -d : latency_time=40

示例3: 
列出PCI设备并对其进行调节：
[root@linuxcool ~]#lspci00:0f.0 VGA compatible controller: VMware SVGA II Adapter
[root@linuxcool ~]#setpci -s 00:0f.0 F4.B=FF[root@linuxcool ~]#setpci -s 00:0f.0 F4.B=CC


command_name: lpmove
chinese_name: lpmove命令 – 将某个任务移动到另外一台打印机
syntax: lpmove [参数]
parameters: |-E: 连接到服务器时强制加密 | |-U: 指定用户名 | |-h 服务器[:p端口号]: 指定服务器 |
category: 设备管理(device)
description:
lpmove命令属于CUPS打印命令系列。该命令可以将指定的作业或所有作业从源移动到目标。打印作业可以是作业ID号或旧目的地和作业ID。
CUPS(Common UNIX Printing System，即通用Unix打印系统)是FedoraCore3中支持的打印系统，它主要是使用IPP(Internet PrintingProtocol)来管理打印工作及队列，但同时也支持”LPD”(Line Printer Daemon)和”SMB”(ServerMessage Block)以及Socket等通信协议。

examples:
示例1: 
指定新的打印机ID：
[root@linuxcool ~]# lpmove 123 newprinter

示例2: 
将旧打印机指定到新打印机：
[root@linuxcool ~]# lpmove oldprinter-123 newprinter

示例3: 
指定用户：
[root@linuxcool ~]# lpmove -U linuxcool


command_name: clock
chinese_name: clock命令 – 调整 RTC 时间
description: clock命令的作用是调整 RTC 时间。RTC是电脑内建的硬件时间，执行这项指令可以显示现在时刻，调整硬件时钟的时间，将系统时间设成与硬件时钟之时间一致，或是把系统时间回存到硬件时钟。
syntax: clock [参数]
category: 设备管理(device)
parameters:
|-- -adjust: 自动调整硬件时钟时间 |
|-- -debug: 详细显示指令执行过程，便于排错或了解程序执行的情形 |
|-- -directisa: 不通过设备文件/etc/rtc，直接对硬件时钟进行存取 |
|-- -getepoch: 输出硬件时钟的数值到标准输出 |
|-- -hctosys: 时钟同步，使系统时钟和硬件时钟同步 |
|-- -set- -date: 设置硬件时间 |
|-- -show: 显示硬件时钟到标准输出 |
|-- -systohc: 系统时间写入硬件时钟 |
|-- -test: 仅作测试，并不真的将时间写入硬件时钟或系统时间 |
|-- -utc: 把硬件时钟上的时间时为CUT，有时也称为UTC或UCT |
|-- -version: 显示版本信息 |

examples:
示例1: 
显示当前硬件时钟时间：
[root@linuxcool ~]# clock
2019年12月12日 星期四 15时11分07秒  -0.578708 秒

示例2: 
显示utc硬件时钟时间：
[root@linuxcool ~]# clock --utc
2019年12月12日 星期四 15时12分30秒  -0.442566 秒

示例3: 
同步时间：
[root@linuxcool ~]# clock --hctosys


command_name: cdrecord
chinese_name: cdrecord命令 – 光盘刻录工具
description: cdrecord命令用于Linux系统下光盘刻录，它支持CD和DVD格式。linux下一般都带有cdrecord软件。cdrecord命令支持刻录音视频、数据等多种类型光盘。
syntax: cdrecord [参数] [ISO文件]
category: 设备管理(device)
parameters:
|-v: 显示刻录光盘的详细过程 |
|-eject: 刻录完成后弹出光盘 |
|speed=<刻录倍速>: 指定光盘刻录的倍速 |
|dev=<刻录机设备号>: 指定使用“-scanbus”参数扫描到的刻录机的设备号 |
|-scanbus: 扫描系统中可用的刻录机 |

examples:
示例1: 
查看系统所有 CD-R(w) 设备：
[root@linuxcool ~]# cdrecord -scanbus
scsibus3:
3,0,0   300) 'NECVMWar' 'VMware SATA CD00' '1.00' Removable CD-ROM

示例2: 
指定参数用iso文件刻录一张光盘：
[root@linuxcool ~]# cdrecord -v -eject speed=8 dev=0,3,0 linuxcool.iso

示例3: 
擦写光驱：
[root@linuxcool ~]# cdrecord --dev=0,3,0 --blank=fast


command_name: lpinfo
chinese_name: lpinfo命令 – 显示可用的设备或驱动程序
description: lpinfo命令可列出可用的打印设备和驱动。 其中需要注意的是，该命令参数很多，但是主要是-v和-m两个参数的使用。这两个参数的使用频率会远远高于其他参数，并且这两个参数也能解决大部分问题。
syntax: lpinfo [参数]
category: 设备管理(device)
parameters:
|-E: 连接到服务器时强制加密 |
|-U<用户名>: 设置连接到服务器时使用的用户名 |
|-l: 显示设备或驱动程序的长列表 |
|-h<服务器:端口>: 连接备用服务器 |
|-m: 列出可用的驱动程序 |
|-v: 列出可用的设备 |
|--language<语言>: 指定语言 |
|--timeout<超时时间>: 当列出设备时指定超时时间 |

examples:
示例1: 
显示可用的设备或驱的程序：
[root@linuxcool~]# lpinfo

示例2: 
列出可用的设备：
[root@linuxcool~]# lpinfo -v

示例3: 
列出可用的驱动程序：
[root@linuxcool~]# lpinfo -m


command_name: rdev
chinese_name: rdev命令 – 查询、设置内核映像文件
description: rdev命令可以用来查询/设置内核映像文件的根设备，RAM 磁盘大小或视频模式。 不带任何参数的 rdev [命令]将输出当前根文件系统的 /etc/mtab [文件]行。
syntax: rdev [参数]
category: 设备管理(device)
parameters:
|-r: 使得 rdev 作为 ramsize 运行 |
|-R: 使得 rdev 作为 rootflags 运行 |
|-v: 使得 rdev 作为 vidmode 运行 |
|-h: 提供帮助 |

examples:
示例1: 
输出当前根文件系统的 /etc/mtab [文件]行：
[root@linuxcool ~]# rdev

示例2: 
作为 ramsize 运行：
[root@linuxcool ~]# rdev -r

示例3: 
作为 rootflags 运行 ：
[root@linuxcool ~]# rdev -R

示例4: 
使得 rdev 作为 vidmode 运行：
[root@linuxcool ~]# rdev -v


command_name: lp
chinese_name: lp命令 – 打印文件或者修改排队的打印任务
description: lp命令用于打印文件，或者修改排队的打印任务。与lpr命令类似，lp命令既支持文件输入也支持标准输入。它与lpr的不同之处在于它有一个不同（稍微复杂点）的参数选项设置。
syntax: lp [参数]
category: 设备管理(device)
parameters:
|-E: 与打印服务器连接时强制使用加密 |
|-U: 指定连接打印服务器时使用的用户名 |
|-d: 指定接收打印任务的目标打印机 |
|-i: 指定一个存在的打印任务号 |
|-m: 打印完成时发送E-mail |
|-n: 指定打印的份数 |
|-t: 指定打印任务的名称 |
|-H: 指定打印任务开始的时间 |
|-P: 指定需要打印的页码 |

examples:
示例1: 
要在连接在设备dlp0上的打印机lp0上打印文件/etc/motd：
[root@linuxcool ~]# lp /etc/motd

示例2: 
要使用文件的一个副本打印/etc/motd文件的30个副本，并且要用邮件通知用户作业完成：
[root@linuxcool ~]# lp -c -m -n30 -dlp0:lpd0 /etc/motd

示例3: 
要排队MyFile文件并返回作业编号：
[root@linuxcool ~]# lp myfile


command_name: setleds
chinese_name: setleds命令 – 设置键盘的LED灯光状态
description: setleds命令来自英文词组“Set leds”的拼写，其功能是用于设置键盘的LED灯光状态。这是个神奇的命令，运维人员竟然可以通过命令来控制键盘的灯光状态，太有意思了吧~
syntax: setleds [参数]
category: 设备管理(device)
parameters:
|-D: 设置虚拟主控台的预设状态 |
|-F: 设置虚拟主控台的状态 |
|-L: 设置改变LED显示的状态 |
|+caps/-caps: 设置大小写键打开或关闭 |
|+num/-num: 设置数字键打开或关闭 |
|+scroll/-scroll: 设置选项键打开或关闭 |

examples:
示例1: 
控制键盘上的num灯亮和灯灭：
[root@linuxcool ~]#setleds +num[root@linuxcool ~]#setleds -num

示例2: 
控制键盘上的大小写灯亮和灯灭：
[root@linuxcool ~]#setleds +caps[root@linuxcool ~]#setleds -caps

示例3: 
控制键盘上的选项灯亮和灯灭：
[root@linuxcool ~]#setleds +scroll[root@linuxcool ~]#setleds -scroll


command_name: blockdev
chinese_name: blockdev命令 – 调用区块设备控制程序
description: 实用程序blockdev允许从命令行调用block设备ioctl， 以实现对设备的控制 。
syntax: blockdev [参数] [设备]
category: 设备管理(device)
parameters:
|-q: 安静模式 |
|-v: 详细信息模式 |
|--setro: 只读 |
|--setrw: 只写 |
|--getro: 打印只读状态，“1”表示只读，“0”表示非只读 |
|--getss: 打印扇区大小。通常为521 |
|--flushbufs: 刷新缓冲区 |
|--rereadpt: 重新读取分区表 |

examples:
示例1: 
设置设备为只读：
[root@linuxcool ~]# blockdev --setro /dev/hda4

示例2: 
读取设备是否为只读：
[root@linuxcool ~]# blockdev --getro /dev/hda4

示例3: 
设置设别为可读写：
[root@linuxcool ~]# blockdev --setrw /dev/hda4


command_name: lspci
chinese_name: lspci命令 – 显示当前设备PCI总线设备信息
description: lspci命令来自英文词组“list PCI”的缩写，其功能是用于显示当前设备PCI总线设备信息。
syntax: lspci [参数] [设备名]
category: 设备管理(device)
parameters:
|-b: 使用以总线为中心的视图 |
|-d: 仅显示指定厂商和设备信息 |
|-i: 设置PCI编号列表文件 |
|-m: 以机器可读方式显示PCI设备信息 |
|-M: 使用总线映射模式 |
|-n: 以数字方式显示PCI设备信息 |
|-nn: 将PCI厂商和设备代码显示为数字和名称形式 |
|-q: 使用DNS查询中央PCI ID数据库 |
|-p: 设置包含PCI总线信息的目录 |
|-s: 仅显示指定总线插槽的设备和功能块信息 |
|-t: 使用树状结构显示PCI设备的层次关系 |
|-v: 显示执行过程详细信息 |

examples:
示例1: 
显示当前主机的所有PCI总线设备信息：
[root@linuxcool ~]#lspci00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 01)
00:01.0 PCI bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 01)
00:07.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 08)
00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08)
00:07.7 System peripheral: VMware Virtual Machine Communication Interface (rev 10)
………………省略部分输出信息………………

示例2: 
以树状结构显示当前主机的所有PCI总线设备信息：
[root@linuxcool ~]#lspci -t-[0000:00]-+-00.0
           +-01.0-[01]--
           +-07.0
           +-07.1
           +-07.3
           +-07.7
           +-0f.0
           +-11.0-[02]----00.0
           +-15.0-[03]----00.0
           +-15.1-[04]--
………………省略部分输出信息………………


command_name: rcconf
chinese_name: rcconf命令 – Linux下运行等级服务配置工具
description: rcconf命令是DebianLinux下的运行等级服务配置工具，用以设置在特定的运行等级下系统服务的启动配置。
syntax: rcconf [参数]
parameters: |--help: 打印帮助信息 | |--dialog: 使用对话命令显示菜单 | |--notermcheck: 不按照终端属性来设置窗口尺寸 |
category: 设备管理(device)
examples:
示例1: 
使用对话命令显示菜单：
[root@linuxcool ~]# rcconf --dialog

示例2: 
不按照终端属性来设置窗口尺寸：
[root@linuxcool ~]# rcconf --notermcheck

示例3: 
获取帮助信息：
[root@linuxcool ~]# rcconf --help


command_name: hwinfo
chinese_name: hwinfo命令 – 查询硬件信息
syntax: hwinfo [参数] [对象]
category: 设备管理(device)
description:
hwinfo命令来自英文词组“Hardware Information”的缩写，其功能是用于查询硬件信息。这是一个应用非常广泛的硬件信息查询命令，能够详细地报告多个硬件设备的参数信息，不必再去计算机机身或互联网上找说明书啦。

parameters:
|--cpu: 显示cpu设备信息 |
|--log: 将硬件信息写入到日志文件 |
|--short: 显示简略信息 |
|--storage: 显示硬盘设备信息 |
|--usb: 显示usb设备信息 |

examples:
示例1: 
查询所有硬件信息：
[root@linuxcool ~]#hwinfo

示例2: 
查询简要硬件信息：
[root@linuxcool ~]#hwinfo --short

示例3: 
指定查询CPU设备信息：
[root@linuxcool ~]#hwinfo --short --cpu

示例4: 
指定查询网卡设备信息：
[root@linuxcool ~]#hwinfo --short --netcard

示例5: 
指定查询硬盘设备信息：
[root@linuxcool ~]#hwinfo --short --storage

示例6: 
指定查询USB设备信息：
[root@linuxcool ~]#hwinfo --short --usb

示例7: 
查询所有硬件信息，并将结果输出记录到文件中：
[root@linuxcool ~]#hwinfo --all --short --log File.log


command_name: nproc
chinese_name: nproc命令 – 显示当前进程可用的CPU数量
syntax: nproc [参数]
parameters: |--all: 显示所拥有的CPU数量 | |--help: 显示帮助信息 | |--ignore: 忽略指定个数的处理器 | |--version: 查看版本信息 |
category: 设备管理(device)
description:
nproc命令来自英文词组“number of processing units available”的缩写，其功能是用于显示当前进程可用的CPU数量。在计算机系统上发起的每个进程都需要CPU执行预期的操作，有时我们的CPU会过载，这时就需要通过nproc命令了解下具体情况了，抑或是了解新进程可用处理单元数量等信息。

examples:
示例1: 
显示当前进程可用的CPU数量：
[root@linuxcool ~]#nproc8

示例2: 
显示所有CPU数量：
[root@linuxcool ~]#nproc --all8

示例3: 
忽略指定个数的CPU处理器：
[root@linuxcool ~]#nproc --ignore=26


command_name: wodim
chinese_name: wodim命令 – 将数据写入光盘
syntax: wodim [参数] [轨道]
category: 设备管理(device)
description:
wodim命令的作用是可以将数据写入CD或DVD光盘介质。
wodim命令包含在cdrkit中，如果你在自己的系统中找不到wodim命令的话，那么只要安装cdrkit这个包就可以了。
对于可反复擦写的光盘来说，在烧录之前，可以使用相关命令先擦除光盘上已有的内容。

parameters:
|dev=<目标>: 为CD/DVD刻录机设置SCSI目标，必须使用-scanbus参数获得，不同于Linux的设置号 |
|gracetime=<宽限时间>: 在开始写入之前设置宽限时间 |
|timeout=<超时时间>: 设置默认的SCSI命令超时设置 |
|driver=<名称>: 用户提供当地驱动程序名称 |
|-v: 显示详细信息 |
|-s: 不显示失败的SCSI命令的状态 |
|-d<级别>: 设置增量杂项调试级别 |
|-setdropts: 设置驱动程序特定的选项并退出 |
|-checkdrive: 检查驱动器是否存在 |
|-inq: 查询的驱动器，然后退出 |
|-prcap: 支持MMC兼容的打印驱动器驱动能力 |
|-scanbus: 扫描SCSI和IDE总线，然后退出 |
|-reset: 使用cdrecorder重置SCSI总线 |
|-ignsize: 忽略介质的已知尺寸 |
|-useinfo: 使用*.inf文件覆盖音频选项 |
|speed=<速度>: 设置驱动器的速度，直接跟数字 |
|blank=<类型>: 指定格式化光盘类型，fast为快速格式化，all为完全格式化 |
|-format: 格式化CD-RW/DVD-RW/DVD-RW光盘 |
|formattype=<格式方法>: 为DVD-RW光盘选择格式方法 |
|fs=<大小>: 设置fifo大小，为0表示禁用，默认值是4MB |
|ts=<大小>: 为单个SCSI命令设置最大传输大小 |
|-load: 加载磁盘并退出 |
|-lock: 加载和锁定磁盘并退出 |
|-eject: 工作完毕之后弹出光盘 |
|-toc: 检索和显示TOC/PMA数据 |
|-atip: 检索和显示ATIP数据 |
|-waiti: 打开SCSI之前等待输入 |
|-force: 出现一些错误强制继续，消隐坏磁盘 |
|-tao: 在TAO模式中写入磁盘 |
|-dao: 在DAO模式中写入磁盘 |
|-sao: 在SAO模式中写入磁盘 |
|-raw: 在RAW模式中写入磁盘 |
|-clone: 在克隆写模式中写入磁盘 |
|tsize=<长度>: 在下一轨道中的有效数据长度 |
|-raw96r: 在RAW/RAW96R模式中写入磁盘 |
|-raw16: 在RAW/RAW16模式中写入磁盘 |
|-raaw96p: 在RAW/RAW96P模式中写入磁盘 |
|-text: 从*.inf或*.cue文件中写入CD-Text信息 |
|-isosize: 为下一个数据轨道使用iso9660文件系统大小 |

examples:
示例1: 
先擦除光盘上已有的内容：
[root@linuxcool ~]# wodim -v dev=/dev/cdrw blank=fast

示例2: 
查看刻录设备的连接端口：
[root@linuxcool ~]# wodim -scanbus

示例3: 
一次性刻录/root/linuxcool.iso文件到光盘上：
[root@linuxcool ~]# wodim -scanbus -v dev=2,0,0 speed=24 /root/linuxcool.iso

示例4: 
格式化光盘：
[root@linuxcool ~]# wodim -scanbus -v dev=2,0,0 blank=all


command_name: lspcmcia
chinese_name: lspcmcia命令 – 显示扩展的PCMCIA调试信息
syntax: lspcmcia [参数] [插槽]
parameters: |-v: 显示详细信息 | |-vv: 进一步提高详细程度 |
category: 设备管理(device)
description:
lspcmcia命令的作用是可以显示扩展的PCMCIA调试信息，是pccardctl ls命令的别名。
pccardctl命令用于监视和控制PCMCIA插槽的状态。 如果指定了插槽编号，则该命令只应用于一个插槽; 否则，所有插槽都将受到影响。 如果它是由非root用户执行，那么只有参考信息命令可访问。

examples:
示例1: 
显示扩展的PCMCIA调试信息：
[root@linuxcool ~]# lspcmcia
Socket 0 Bridge: [linuxcool_cardbus] (bus ID: 0000:03:01.0)

示例2: 
显示扩展的PCMCIA调试详细信息：
[root@linuxcool ~]# lspcmcia -v 0

示例3: 
显示更详细的扩展的PCMCIA调试信息：
[root@linuxcool ~]# lspcmcia -vv 0


command_name: raw
chinese_name: raw命令 – 将原始字符设备绑定到块设备
syntax: raw [参数]
parameters: |-q: 查询已经存在的绑定 | |-a: 查询所有绑定的原始设备 | |-h: 查询帮助信息 |
category: 设备管理(device)
description:
raw用于将Linux原始字符设备绑定到块设备。可以使用任何块设备：在绑定时，设备驱动程序甚至不必可访问（以后可能会按需作为内核模块加载）。
raw在两种模式下使用：它要么设置原始设备绑定，要么查询现有绑定。设置原始设备时，/dev/raw/raw<N>是文件系统中现有原始设备节点的设备名称。绑定到的块设备可以按其主要和次要设备编号或路径名称/dev/<blockdev>指定为现有块设备文件的路径名称。

examples:
示例1: 
查询已经存在的绑定：
[root@linuxcool ~]# raw -q

示例2: 
查询所有绑定的原始设备：
[root@linuxcool ~]# raw -a

示例3: 
查询帮助信息：
[root@linuxcool ~]# raw -h


command_name: sensors
chinese_name: sensors命令 – 检测服务器硬件信息
description: sensors命令用于检测服务器硬件信息，例如CPU电压与温度、主板、风扇转速等数据。
syntax: sensors
parameters: |-A: 不显示每个芯片的适配器信息 | |-c: 指定配置文件 | |-F: 显示华氏度温度 | |-H: 显示帮助信息 | |-u: 输出原始信息 | |-v: 显示版本信息 |
category: 设备管理(device)
examples:
示例1: 
检查当前CPU处理器得电压和温度信息：
[root@linuxcool ~]#sensorscoretemp-isa-0000 
Core 0:      +48.0°C  (high = +87.0°C, crit = +97.0°C)   
Core 1:      +46.0°C  (high = +87.0°C, crit = +97.0°C)   
Core 2:      +47.0°C  (high = +87.0°C, crit = +97.0°C)   
Core 3:      +46.0°C  (high = +87.0°C, crit = +97.0°C)


command_name: hciconfig
chinese_name: hciconfig命令 – 配置蓝牙设备
syntax: hciconfig [参数] [设备名] [动作]
parameters: |-a: 显示蓝牙设备信息 | |-h: 显示帮助信息 |
category: 设备管理(device)
description:
hciconfig命令来自英文词组“HCI config”的缩写，其功能是用于配置蓝牙设备参数信息。HCI全称为“Host Controller Interface”，中文译为主机控制接口，是蓝牙协议栈的一部分。

examples:
示例1: 
查看当前系统中全部的蓝牙设备信息：
[root@linuxcool ~]#hciconfig -a

示例2: 
开启指定名称的蓝牙设备：
[root@linuxcool ~]#hciconfig hci0 up

示例3: 
关闭指定名称的蓝牙设备：
[root@linuxcool ~]#hciconfig hci0 down

示例4: 
重置指定名称的蓝牙设备：
[root@linuxcool ~]#hciconfig hci0 reset


command_name: chcpu
chinese_name: chcpu命令 – 配置CPU
syntax: chcpu [参数]
category: 设备管理(device)
description:
chcpu命令的作用是可以修改CPU的状态。可以启用或禁用CPU，扫描新的CPU，将CPU调动从虚拟机管理程序（配置）或返回的CPU与超低层管理程序的模式，要求CPU解除配置。
cpu列表可以使用参数指定以逗号分隔。 列表可以包含单个CPU地址或地址范围。 例如0、5、7、9-11。该命令适用于地址为0、5、7、9、10和11的 cpu。chcpu命令是util-linux软件包的一部分，可从Linux Kernel Archive获得。

parameters:
|-g: 取消配置所有指定的CPU |
|-d: 禁用所有指定的CPU |
|-e: 启用所有指定的CPU |
|-c: 配置所有指定的CPU |
|-r: 触发CPU重新扫描 |
|-p<模式>: 设置CPU调度模式，可用模式包括horizontal和vertical |

examples:
示例1: 
触发CPU重新扫描：
[root@linuxcool ~]# chcpu -r

示例2: 
启用所有指定的CPU：
[root@linuxcool ~]# chcpu -e 2,5,9

示例3: 
设置CPU调度模式：
[root@linuxcool ~]# chcpu -p horizontal


command_name: pccardctl
chinese_name: pccardctl命令 – PCMCIA卡控制工具
syntax: pccardctl[参数] [命令]
category: 设备管理(device)
description:
pccardctl命令的作用是可以监视和控制PCMCIA插槽的状态。
PCMCIA是专门用在笔记本或PDA、数码相机等便携设备上的一种接口规范（总线结构）。笔记本网卡通常都支持PCMCIA规范，而台式机网卡则不支持此规范。PCMCIA插槽是笔记本电脑上最重要的设备扩展接口，可以用来插入传真卡/网卡/存储卡/声卡等等，PCMCIA的主要优势是可以带电插拔，配合适当软件后可以实现即插即用。
如果pccardctl命令由root用户执行，则所有命令均可用。如果它是由非特权用户执行的，则只能访问参考性命令。

parameters:
|-V: 显示版本信息并退出 |
|-v: 增加命令的详细程度 |
|-vv: 进一步增加命令的详细程度 |
|status: 显示当前的插槽状态 |
|config: 显示插槽配置，包括电源设置、中断和I/O设置及相关配置 |
|ident: 显示卡的识别信息，包括产品的识别字符串、制造商ID代码和功能ID码 |
|info: 作用与ident命令相同，但它的输出被格式化为一系列的Bourne-stype Shell变量 |
|ls: 显示有关系统中PCMCIA插槽和存在设备的扩展调试信息 |
|suspend: 关闭插槽并断电 |
|resume: 恢复插槽供电，并重新配置使用 |
|eject: 通知所有客户端，当前卡被弹出并切插槽电源 |
|insert: 通知所有客户端驱动程序，这个卡已经插入 |

examples:
示例1: 
显示PCMCIA插槽和存在设备的扩展调试信息：
[root@linuxcool ~]# pccardctl ls
Socket 0 Bridge: [linuxcool_cardbus] (bus ID: 0000:03:01.0)

示例2: 
显示当前的插槽状态：
[root@linuxcool ~]# pccardctl status 0

示例3: 
关闭插槽并断电：
[root@linuxcool ~]# pccardctl suspend 0


command_name: lpc
chinese_name: lpc命令 – 打印机控制程序
description: lpc命令是命令行方式打印机控制程序，有5个内置命令。
syntax: lpc [参数]
parameters: |?/help: 显示帮助 | |exit/quit: 退出打印机命令行 | |status: 显示打印机状态 |
category: 设备管理(device)
examples:
示例1: 
进入lpc命令行：
[root@localhost ~]# lpc

示例2: 
显示打印机状态：
[root@localhost ~]# lpc --status

示例3: 
退出lpc命令行：
[root@localhost ~]# lpc --exit


command_name: reject
chinese_name: reject命令 – 拒绝向目标打印机发送打印任务
description: reject命令属于CUPS套件，用于指示打印系统拒绝发往指定目标打印机的打印任务。
syntax: reject [参数] [指定的打印机]
parameters: |-E: 当连接到服务器时强制使用加密 | |-U: 指定连接服务器时使用的用户名 | |-h: 指定连接服务器名和端口号 | |-r: 显示打印机拒绝作业的原因 |
category: 设备管理(device)
examples:
示例1: 
允许向目标打印机发送打印任务：
[root@linuxcool ~]# reject printer01

示例2: 
指定连接服务器时使用的用户名，服务器名，端口号：
[root@linuxcool ~]# reject -U linuxcool 192.168.127.127:9100

示例3: 
显示打印机拒绝作业的原因：
[root@linuxcool ~]# reject -r printer01


command_name: cpuspeed
chinese_name: cpuspeed命令 – 用户空间的CPU频率调节
syntax: cpuspeed [参数]
category: 设备管理(device)
description:
cpuspeed命令的作用是可以监控系统的空闲百分比，降低或提高CPU的时钟速度和电压。在空闲时功耗降至最低，并在需要时最大限度地提高性能。默认情况下将管理所有CPU。
大多数linux系统支持内核内CPU频率动态调节。cpuspeed命令守护程序仅与“用户空间”频率缩放调节器结合使用。其他例如“动态”和“节能”，则依靠linux内核即时调整CPU频率，而无需任何用户空间协助。
RedHat和Fedora发行版在这两种情况下都使用统一的配置文件，以及一个cpuspeed初始化脚本，该脚本将根据需要配置cpuspeed或内核内CPU频率调节。

parameters:
|-d: 通知进程，以守护进程本身在后台运行 |
|-S [[]…]: 只管理CPU核心的一个组 |
|-w: 不要把时间等待在IO空闲时间 |
|-C: 当AC适配器连接时以最高速度运行 |
|-A<时间间隔>: 设置在该AC适配器的状态将在十分之一秒被轮询的时间间隔，默认为50 |
|-T<时间间隔>: 设置在该温度将在十分之一秒被轮询的时间间隔，默认为10 |
|-a: 当交流适配器断开时，设定ACPI电源适配器状态文件，并告诉程序设置CPU为最低速度 |
|-i<时间间隔>: 设置空闲百分比测试和可能速度变化之间的时间间隔。默认值是20 |
|-t<温度文件><最高温度>: 设置ACPI温度文件和在其中的CPU将被设置为最低速度时的温度 |
|-p: 设置CPU核心空闲的百分比阀值。是空闲的百分比低于此CPU核心会被设置为尽可能高的速度。定是空闲的百分比高于该CPU核心的运行速度将减少，低于此CPU核心的运行速度将提高（默认值是10和25） |
|-m<最小速度>: 设置一个CPU内核将不会被设置的最小速度，单位为kHz |
|-M<最大速度>: 设置一个CPU内核将不会被设置的最大速度，单位为kHz |
|-r: 在程序退出恢复以前的速度 |
|-D: 当AC适配器断开时，不要强制以最小速度运行 |

examples:
示例1: 
用户空间的CPU频率调节：
[root@linuxcool ~]# cpuspeed

示例2: 
程序退出恢复以前的速度：
[root@linuxcool ~]# cpuspeed -r

示例3: 
设置一个指定的CPU最大速度：
[root@linuxcool ~]# cpuspeed -M 5000


command_name: aumix
chinese_name: aumix命令 – 设置音效装置
description: aumix命令用于设置音效装置。aumix(audio mixer)命令设置各项音效装置的信号强度以及指定播放与录音的装置。
syntax: aumix [参数]
category: 设备管理(device)
parameters:
|-d: 指定音效装置的名称 |
|-f: 指定存储或载入设置的文件 |
|-I: 以图形界面方式来执行aumix |
|-q: 显示所有频道的设置值 |
|-S: 将设置值保存至/HOME/.aumixrc |

examples:
示例1: 
以简单的图形界面来调整设置频道参数：
[root@linuxcool ~]# aumix

示例2: 
指定音效设备的名称：
[root@linuxcool ~]# aumix -1 -P -d test1


command_name: rfkill
chinese_name: rfkill命令 – 管理蓝牙和Wi-Fi设备
description: rfkill命令来自英文词组radio frequency kill的缩写，其功能是管理系统中的蓝牙和Wi-Fi设备，是一个内核级别的管理工具。
syntax: rfkill [参数] [设备名]
parameters: |block: 关闭设备 | |list: 列出可用设备 | |--version: 显示版本信息 |
category: 设备管理(device)
examples:
示例1: 
显示系统中已有的Wi-Fi和蓝牙设备信息：
[root@linuxcool ~]# rfkill list 
0: phy0: Wireless LAN 
Soft blocked: no 
Hard blocked: no 
2: hci0: Bluetooth
Soft blocked: yes 
Hard blocked: no

示例2: 
关闭指定编码的设备：
[root@linuxcool ~]# rfkill block 0

示例3: 
打开指定编码的设备：
[root@linuxcool ~]# rfkill unblock 0


command_name: mev
chinese_name: mev命令 – 报告鼠标事件
syntax: mev [参数]
category: 设备管理(device)
description:
mev命令的作用是可以报告鼠标事件。
mev命令是gpm计划的一部分。mev命令将它获得的鼠标控制台事件显示到标准输出。mev命令的默认是获取鼠标的任何事件，但是可以使用相关命令参数来设置，以便设定程序的行为。

parameters:
|-E: emacs模式 |
|-u: 用户模式 |
|-i: 接受来自标准输入的命令 |
|-m<数字>: 最小修改掩码 |
|-M<数字>: 最大修改掩码 |
|-f: 里面的画面适合拖动事件 |
|-p: 显示指针拖动 |
|-C<数字>: 选择虚拟控制台 |
|-d<数字>: 选择默认的掩码 |
|-e<数字>: 选择eventMask |

examples:
示例1: 
报告鼠标事件：
[root@linuxcool ~]# mev

示例2: 
显示指针拖动：
[root@linuxcool ~]# mev -p

示例3: 
用户模式：
[root@linuxcool ~]# mev -u


command_name: accept
chinese_name: accept命令 – 允许向目标打印机发送打印任务
description: accept命令属于CUPS套件，用于指示打印系统接受发往指定目标打印机的打印任务。
syntax: accept [参数] [指定的打印机]
parameters: |-E: 当连接到服务器时强制加密 | |-U: 指定连接服务器时使用的用户名 | |-h: 指定连接服务器名和端口号 |
category: 设备管理(device)
examples:
示例1: 
允许向目标打印机发送打印任务：
[root@linuxcool ~]# accept printer01

示例2: 
选择目标打印机ip和端口：
[root@linuxcool ~]# accept -h  printer01:9100

示例3: 
使用指定用户连接打印机：
[root@linuxcool ~]# accept -U user1 -h 192.168.127.127:9100


command_name: lsscsi
chinese_name: lsscsi命令 – 列出SCSI设备及属性信息
syntax: lsscsi [参数] [设备编码]
category: 设备管理(device)
description:
lsscsi命令来自英文词组“List SCSI”的缩写，其功能是用于列出SCSI设备及属性信息，SCSI全称为small computer system interface，是一种常用的小型计算机系统接口。lsscsi命令可以很方便地帮助管理员区分哪些是固态硬盘、哪些是SATA盘、哪些是FC盘。

parameters:
|-d: 显示设备节点的主要和次要号码 |
|-g: 显示SCSI通用设备文件名称 |
|-H: 显示当前连接到系统的SCSI主机 |
|-i: 显示udev相关属性 |
|-k: 显示内核名称 |
|-l: 显示每一个SCSI设备的附加信息 |
|-L: 使用“属性名=值”的格式显示附加信息 |
|-P: 输出有效的保护模式信息 |
|-s: 显示设备容量大小 |
|-t: 显示传输信息 |
|-v: 显示设备属性所在目录 |
|-w: 显示WWN信息 |
|-x: 使用十六进制显示LUN号 |

examples:
示例1: 
列出当前系统中全部SCSI设备及属性信息：
[root@linuxcool ~]#lsscsi[2:0:0:0]    disk    ATA      VMware Virtual S 0001  /dev/sda 
[3:0:0:0]    cd/dvd  NECVMWar VMware SATA CD01 1.00  /dev/sr0

示例2: 
查看指定编码的设备属性信息：
[root@linuxcool ~]#lsscsi 2:0:0:0[2:0:0:0]    disk    ATA      VMware Virtual S 0001  /dev/sda

示例3: 
查看SCSI设备的传输信息：
[root@linuxcool ~]#lsscsi -t[2:0:0:0]    disk    sata:5000c296ee85ed36           /dev/sda 
[3:0:0:0]    cd/dvd  sata:                           /dev/sr0


command_name: hcitool
chinese_name: hcitool命令 – 蓝牙调试工具
description: hcitool命令用于配置蓝牙连接，并向蓝牙设备发送一些特殊命令。如果没有给定命令，或者使用了选项-h，hcitool会打印一些使用信息并退出。
syntax: hcitool [参数]
category: 设备管理(device)
parameters:
|lescan: 扫描周围低功耗设备（BLE） |
|scan: 远程扫描设备 |
|-i [设备] dev: 显示本地设备 |
|name: 从远程设备获取名称 |
|info: 从远程设备获取信息 |

examples:
示例1: 
扫描周围低功耗设备（BLE）：
[root@linuxcool ~]# hcitool lescan

示例2: 
远程扫描设备：
[root@linuxcool ~]# hcitool scan

示例3: 
显示本地hci0设备：
[root@linuxcool ~]# hcitool -i hci0 dev


command_name: dumkeys
chinese_name: dumkeys命令 – 显示键盘映射表
description: dumpkeys命令用于显示键盘映射表，输出的内容可以被loadkeys命令识别,改变映射关系.。loadkeys命令可以根据一个键盘定义表改变linux键盘驱动程序转译键盘输入过程。
syntax: dumkeys [参数]
category: 设备管理(device)
parameters:
|-i: 驱动信息(键码范围、数量、状态键) |
|-l: 详细驱动信息 |
|-n: 十六进制显示 |
|-f: 显示全部信息 |
|-1: 分行显示按键组合 |
|-S: 设定输出格式(0：预设 1：完整 2：分行 3简单) |
|--funcs-only: 功能键信息 |
|--keys-only: 键组合信息 |
|--compose-only: 普通键信息 |

examples:
示例1: 
显示功能键信息：
[root@linuxcool ~]# dumkeys --funcs-only

示例2: 
显示驱动信息：
[root@linuxcool ~]# dumkeys -i

示例3: 
十六进制显示键盘映射表：
[root@linuxcool ~]# dumkeys -n

示例4: 
显示键组合信息：
[root@linuxcool ~]# dumkeys --keys-only

示例5: 
显示普通键信息：
[root@linuxcool ~]# dumkeys --compose-only


command_name: loadkeys
chinese_name: loadkeys命令 – 改变linux键盘驱动程序
description: loadkeys命令可以根据一个键盘定义表改变linux键盘驱动程序转译键盘输入过程。
syntax: loadkeys [参数] [文件]
parameters: |-v: 印出详细的资料，你可以重复以增加详细度 | |-q: 不要显示任何讯息 | |-c: 清除所有 composite 定义 | |-s: 将定串定义表清除 |
category: 设备管理(device)
examples:
示例1: 
显示功能键：
[root@linuxcool ~]# loadkeys --funcs-only

示例2: 
将定串定义表清除：
[root@linuxcool ~]# loadkeys -s

示例3: 
清除所有 composite 定义：
[root@linuxcool ~]# loadkeys -c

示例4: 
印出详细的资料，你可以重复以增加详细度：
[root@linuxcool ~]# loadkeys -v

示例5: 
不要显示任何讯息：
[root@linuxcool ~]# loadkeys -q


command_name: lpadmin
chinese_name: lpadmin命令 – 配置打印机和类
description: lpadmin命令用于配置CUPS套件中的打印机和类，也被用来设置打印服务器默认打印机。
syntax: lpadmin [参数]
parameters: |-c: 将打印机加入类 | |-r: 从类中删除打印机 | |-E: 允许打印机接受打印任务 | |-u: 设置打印机用户级的访问控制 | |-d: 设置默认打印机 |
category: 设备管理(device)
examples:
示例1: 
添加一个名为printer的打印机：
[root@linuxcool ~]# lpadmin -p printer -E -v /dev/bus/usb/001/095 -P ./HP-LaserJet_1020.ppd


command_name: esxcfg-addons
chinese_name: esxcfg-addons命令 – 列出ESX主机所安装的Addons
description: esxcfg命令集分为网络管理类、存储管理类、系统管理类等几种类型，esxcfg-addons列出ESX主机所安装的Addons信息，是一种用来操作虚机上的Vsphere的命令。
syntax: esxcfg-addons [参数]
parameters: |-l: 显示所有安装的Addons信息 | |-e: 启动已经disabled的Addons |
category: 设备管理(device)
examples:
示例1: 
显示所有安装的Addons信息：
[root@linuxcool ~]# esxcfg-addons -l

示例2: 
启动已经关闭的Addons：
[root@linuxcool ~]# esxcfg-addons -e

示例3: 
关闭已经启动的Addons：
[root@linuxcool ~]# esxcfg-addons -d

示例4: 
显示所有addons版本信息：
[root@linuxcool ~]# esxcfg-addons -v

示例5: 
查看帮助文档：
[root@linuxcool ~]# esxcfg-addons -help


command_name: cdrwtool
chinese_name: cdrwtool命令 – 在CD-R CD-RW和DVD-R设备上执行操作
syntax: cdrwtool [参数]
category: 设备管理(device)
description:
cdwrtool命令的作用是可以在CD-R、CD-RW或DVD-R设备上执行相应的操作。
cdwrtool命令执行的主要操作为是关闭媒体，将其格式化以便与PAKCET-CD设备一起使用，以及应用UDF文件系统。
CD-R光盘只能写入一次资料，而CD-RW光盘可以利用CD-RW光驱重复写入的动作，如果原先的资料不要，可以像磁盘一样，进行格式化之后，再刻录新的资料。
CD光盘与DVD光盘主要差别在容量。CD光盘最大容量一般不会超过800MB，DVD光盘容量根据具体型号进行区分在4.7GB至17GB之间。需要相应设备进行支持。

parameters:
|-d<设备>: 指定要使用的设备，比如/dev/sr0 |
|-i: 打印光盘的轨道信息 |
|-s: 设置写入参数 |
|-g: 打印写入参数 |
|-u<长度>: 使UDF文件系统使用块的长度数 |
|-m<偏移>: 在块的偏移号格式化光盘 |
|-b<模式>: 使用fast或full模式格式化光盘 |
|-f<文件名>: 写入文件 |
|-c<轨道>: 关闭指定轨道 |
|-r<轨道>: 储备指定轨道 |
|-v<版本>: 指定使用的UDF版本。有效的版本是0x0201、0x0200、0x0150和0x0102。如果忽略，UDF版本是0x0150 |
|-t<速度>: 设置写入速度，默认是12x |
|-l<类型>: 设置多会话列。无论是0、1或3 |
|-w<模式>: 设置写入模式。可以是mode1或mode2 |
|-p<类型>: 设置数据包类型。可以是0或1 |
|-o<偏移>: 设置写偏移 |

examples:
示例1: 
在相关设备上写入/root/linuxcool.log文件：
[root@linuxcool ~]# cdrwtool -f /root/linuxcool.log

示例2: 
使用是指定模式格式化光盘：
[root@linuxcool ~]# cdrwtool -b fast

示例3: 
以指定的写入速度写入文件：
[root@linuxcool ~]# cdrwtool -f /root/linuxcool.log -t 8x


command_name: esxcli
chinese_name: esxcli命令 – 管理ESXi虚拟机系统
syntax: esxcli [参数] [对象]
parameters: |hardware: 显示硬件信息 | |iscsi: 监控并管理硬件iSCSI | |network: 显示网卡信息 | |software: 显示软件信息 |
category: 设备管理(device)
description:
esxcli命令来自英文词组“ESXI command-line interface”的缩写，其功能是用于管理ESXi虚拟机系统。VMware ESXi是一个跨平台的虚拟化工具，也是VMware软件定义数据中心的基础，可以作为核心基础架构来使用，具有灵活性、可控性、硬件利用率高、成本低、大幅度提高运行时间等特点。而利用esxcli命令可以帮助管理员实现对ESXi虚拟机的几乎全部管理工作。

examples:
示例1: 
获取虚拟机的CPU设备信息（包含型号、系列及缓存）：
[root@linuxcool ~]#esxcli hardware cpu list

示例2: 
获取虚拟机的内存设备信息：
[root@linuxcool ~]#esxcli hardware memory get

示例3: 
获取虚拟机的网络设备信息：
[root@linuxcool ~]#esxcli network nic


command_name: lscpu
chinese_name: lscpu命令 – 显示CPU架构信息
syntax: lscpu [参数]
category: 设备管理(device)
description:
lscpu命令来自英文词组“list the CPU architecture”的缩写，其功能是用于显示CPU架构信息。lscpu命令会从/proc/cpuinfo文件中收集有关本机CPU架构的信息，并整理成易读的格式输出到Shell终端，运维人员可以很方便地了解到本机CPU数量、架构、线程、核心、套接字等重要指标信息~

parameters:
|-a: 显示全部的CPU信息 |
|-b: 仅显示在线CPU信息 |
|-c: 仅显示离线CPU信息 |
|-e: 显示扩展的可读格式 |
|-h: 显示帮助信息 |
|-p: 使用可解析的格式 |
|-s: 设置系统根目录 |
|-V: 显示版本信息 |
|-x: 显示十六进制掩码而非CPU列表信息 |
|-y: 显示物理ID而非逻辑ID |

examples:
示例1: 
显示有关CPU架构的信息：
[root@linuxcool ~]#lscpuArchitecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              8
On-line CPU(s) list: 0-7
Thread(s) per core:  1
Core(s) per socket:  8
Socket(s):           1
NUMA node(s):        1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               158
Model name:          Intel(R) Core(TM) i5-9300H CPU @ 2.40GHz
Stepping:            10
CPU MHz:             2400.007
BogoMIPS:            4800.01
Hypervisor vendor:   VMware
Virtualization type: full
L1d cache:           32K
L1i cache:           32K
L2 cache:            256K
L3 cache:            8192K
NUMA node0 CPU(s):   0-7
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid rdseed adx smap clflushopt xsaveopt xsavec xgetbv1 xsaves arat flush_l1d arch_capabilities


command_name: dmidecode
chinese_name: dmidecode命令 – 获取有关硬件方面的信息
syntax: dmidecode [参数]
category: 设备管理(device)
description:
dmidecode命令的作用是以一种可读的方式显示机器的DMI(Desktop Management Interface)信息, 其输出的信息包括 BIOS、系统、主板、处理器、内存、缓存等等, 既可以得到当前的配置，也可以得到系统支持的最大配置，比如说支持的最大内存数等。
DMI就是帮助收集电脑系统信息的管理系统，DMI信息的收集必须在严格遵照SMBIOS规范的前提下进行。DMI设计适用于任何的平台和操作系统。由于DMI信息可以人为修改，因此里面的信息不一定是系统准确的信息。

parameters:
|-d: 从设备文件读取信息，输出内容与不加参数标准输出相同 |
|-h: 显示帮助信息 |
|-s: 只显示指定DMI字符串的信息 |
|-t: 只显示指定条目的信息 |
|-u: 显示未解码的原始条目内容 |
|-- -dump-bin file: 将DMI数据转储到一个二进制文件中 |
|-- -from-dump FILE: 从一个二进制文件读取DMI数据 |
|-V: 显示版本信息 |

examples:
示例1: 
查看服务器信息：
[root@linuxcool ~]# dmidecode -t 1

示例2: 
查看系统序列号：
[root@linuxcool ~]# dmidecode -s system-serial-number

示例3: 
查看处理器信息：
[root@linuxcool ~]# dmidecode -t processor

示例4: 
显示未解码的原始条目内容：
[root@linuxcool ~]# dmidecode -u


command_name: cupsenable
chinese_name: cupsenable命令 – 启动指定的打印机
description: cupsenable命令用于启动指定的打印机。 使用cupsenable命令启动打印机的时候，可以指定某个确定的打印机，也可以指定一类打印机。
syntax: cupsenable [参数] [打印机]
category: 设备管理(device)
parameters:
|-E: 当连接到服务器时强制使用加密 |
|-U<用户名>: 指定连接服务器时使用的用户名 |
|-u<用户名>: 指定打印任务所属的用户 |
|-h<主机名：端口>: 指定连接的服务器名和端口号 |

examples:
示例1: 
启动打印机：
[root@linuxcool ~]# cupsenable my_prienter

示例2: 
使用指定的用户名连接打印机：
[root@linuxcool ~]# cupsenable -U linuxcool my_prienter

示例3: 
连接指定的服务器和端口号：
[root@linuxcool ~]# cupsenable -h prienter_serv:9100 my_prienter


command_name: cupsdisable
chinese_name: cupsdisable命令 – 停止指定的打印机
description: cupsdisable命令用于停止指定的打印机。 使用cupsdisable命令停止打印机时，可以指定某个确定的打印机，也可以指定一类打印机。
syntax: cupsdisable [参数] [打印机]
category: 设备管理(device)
parameters:
|-E: 当连接到服务器时强制使用加密 |
|-U<用户名>: 指定连接服务器时使用的用户名 |
|-u<用户名>: 指定打印任务所属的用户 |
|-c: 取消指定打印机的所有打印任务 |
|-h<主机名：端口>: 指定连接的服务器名和端口号 |
|-r<原因>: 停止打印机的原因 |

examples:
示例1: 
停止打印机：
[root@linuxcool ~]# cupsdisable my_prienter

示例2: 
使用指定用户名连接打印机：
[root@linuxcool ~]# cupsdisable -U linuxcool my_prienter

示例3: 
连接指定的服务器和端口号：
[root@linuxcool ~]# cupsdisable -h prienter_serv:9100 my_prienter


command_name: acpid
chinese_name: acpid命令 – 电源高级接口配置
syntax: acpid [参数]
category: 设备管理(device)
description:
acpid命令向用户空间程序通知ACPI事件， acpid应该在系统引导期间启动，并且默认情况下将作为后台进程运行；它将打开一个事件文件（默认为/proc/acpi/event），并尝试读取代表ACPI事件的整行； 如果事件文件不存在，则acpid将尝试通过输入层和netlink连接到Linux内核； 当从这些来源之一接收到ACPI事件时，acpid将检查规则列表，并执行与事件匹配的规则； 如果存在锁定文件（默认情况下为/var/lock/acpid），则acpid将忽略所有传入的ACPI事件。

parameters:
|-l [文件名]: 更改acpid写入的日志文件，默认值为/var/log/acpid |
|-e [文件名]: 此选项更改acpid从中读取事件的事件文件，默认值为/proc/acpi/event |
|-g: 此选项更改acpid将事件发布到的UNIX域套接字的组所有权 |
|-m: 此选项更改acpid将事件发布到的UNIX域套接字的权限；默认值为0666 |
|-c: 此选项更改acpid在其中查找规则配置文件的目录；默认为/etc/acpi/events |
|-d: 调试模式，默认不会写入日志 |

examples:
示例1: 
使用-l参数修改写入日志文件：
[root@linuxcool ~]# acpid -l acpid.txt /var/log/

示例2: 
使用-d参数启用调试模式：
[root@linuxcool ~]# acpid -d

示例3: 
使用-g参数，更改权限组，授权于root组：
[root@linuxcool ~]# acpid -g root


command_name: cancel
chinese_name: cancel命令 – 取消已存在的打印任务
description: cancel指令用来取消已经存在的打印任务。
syntax: cancle [参数] [打印任务号]
parameters: |-a: 取消所有打印任务 | |-E: 当连接到服务器时强制使用加密 | |-U: 指定连接服务器时使用的用户名 | |-h: 指定连接的服务器名和端口号 | |-u: 指定打印任务所属的用户 |
category: 设备管理(device)
examples:
示例1: 
取消4号任务：
[root@linuxcool ~]# cancle 4

示例2: 
使用加密模式：
[root@linuxcool ~]# cancle -E 4

示例3: 
取消所有打印任务：
[root@linuxcool ~]# cancle -a

示例4: 
指定4号打印任务所属的用户：
[root@linuxcool ~]# cancle -u username 4

示例5: 
指定连接服务器时使用的用户名：
[root@linuxcool ~]# cancle -U username 4


command_name: mouseconfig
chinese_name: mouseconfig命令 – 设置鼠标相关参数
description: mouseconfig为鼠标设置程序，可自动设置相关参数，或者用户也可以利用所提供互动模式自行设置鼠标。mouseconfig是Red HatLinux才有的命令。
syntax: mouseconfig [参数] [鼠标类型]
category: 设备管理(device)
parameters:
|--back: 在设置画面上显示Back按钮，而取代预设的Cancel按钮 |
|--device: 指定硬件连接端口 |
|--test: 测试模式，不会改变任何设置 |
|--noprobe: 不要检测鼠标设备 |

examples:
示例1: 
以交互模式配置鼠标：
[root@linuxcool ~]# mouseconfig -text

示例2: 
显示帮助以及所有支持的鼠标类型：
[root@linuxcool ~]# mouseconfig --help

示例3: 
在设置画面上显示Back按钮，而取代预设的Cancel按钮：
[root@linuxcool ~]# mouseconfig --back PS/2

示例4: 
指定硬件连接端口：
[root@linuxcool ~]# mouseconfig --device USB

示例5: 
不检测鼠标设备：
[root@linuxcool ~]# mouseconfig --noprobe


command_name: lsusb
chinese_name: lsusb命令 – 显示USB设备列表
description: lsusb命令用于显示本机的USB设备列表，以及USB设备的详细信息。 lsusb命令显示的USB设备信息来自“/proc/bus/usb”目录下的对应文件。
syntax: lsusb [参数]
category: 设备管理(device)
parameters:
|-v: 显示USB设备的详细信息 |
|-s<总线：设备号>: 仅显示指定的总线和（或）设备号的设备 |
|-d<厂商：产品>: 仅显示指定厂商和产品编号的设备 |
|-t: 以树状结构显示无理USB设备的层次 |
|-V: 显示命令的版本信息 |

examples:
示例1: 
显示USB设备列表：
[root@linuxcool ~]# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse

示例2: 
以树状显示USB设备列表：
[root@linuxcool ~]# lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
|_ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 12M       |_Port 2: Dev 3, If 0, Class=Hub, Driver=hub/7p, 12M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M

示例3: 
显示USB设备详细信息：
[root@linuxcool ~]# lsusb -v


command_name: zipsplit
chinese_name: zipsplit命令 – 分割压缩包
description: zipsplit命令用于将较大的“zip”压缩包分割成各个较小的“zip”压缩包。
syntax: zipsplit [参数]
parameters: |-n: 指定分割后每个zip文件的大小 | |-t: 报告将要产生的较小的zip文件的大小 | |-b: 指定分割后的zip文件的存放位置 |
category: 备份压缩(backup)
examples:
示例1: 
分割每个文件为1k：
[root@linuxcool ~]# zipsplit -n 1k file.zip

示例2: 
指定分割后的zip文件的存放位置：
[root@linuxcool ~]# zipsplit -b 50 file.zip file1


command_name: lha
chinese_name: lha命令 – 压缩或解压文件
description: lha是从lharc演变而来的压缩程序，文件经它压缩后，会另外产生具有”.lzh”扩展名的压缩文件。
syntax: lha [参数] [文件]
category: 备份压缩(backup)
parameters:
|-a: 压缩文件，并加入到压缩文件内 |
|-c: 压缩文件，重新建构新的压缩文件后，再将其加入 |
|-d: 从压缩文件内删除指定的文件 |
|-x: 解开压缩文件 |
|-t: 检查备份文件内的每个文件是否正确无误 |

examples:
示例1: 
压缩a.b文件，压缩后生成 abc.lhz文件：
[root@linuxcool ~]# lha -a abc.lhz a.b

示例2: 
压缩目录：
[root@linuxcool ~]# lha -a abc2 /home/linuxcool

示例3: 
解压文件到当前目录：
[root@linuxcool ~]# lha -xiw=agis abc

示例4: 
列出压缩文件的相关信息：
[root@linuxcool ~]# lha -l abc.lhz

示例5: 
检查备份文件内的每个文件是否正确无误：
[root@linuxcool ~]# lha -t abc.lhz


command_name: ar
chinese_name: ar命令 – 建立或修改备存文件
description: ar命令用于建立或修改备存文件，或是从备存文件中抽取文件。可集合许多文件，成为单一的备存文件。在备存文件中，所有成员文件皆保有原来的属性与权限。
syntax: ar [参数]
category: 备份压缩(backup)
parameters:
|-d: 删除备存文件中的成员文件 |
|-m: 变更成员文件在备存文件中的次序 |
|-p: 显示备存文件中的成员文件内容 |
|-q: 将文件附加在备存文件末端 |
|-r: 将文件插入备存文件中 |
|-t: 显示备存文件中所包含的文件 |
|-x: 自备存文件中取出成员文件 |

examples:
示例1: 
打包a.c b.c文件：
[root@linuxcool ~]# ar rv one.bak a.c b.c

示例2: 
打包以.c结尾的文件（打包多个文件）：
[root@linuxcool ~]# ar rv two.bak *.c

示例3: 
显示打包文件的内容：
[root@linuxcool ~]# ar t two.bak

示例4: 
删除打包文件的成员文件：
[root@linuxcool ~]# ar d two.bak a.c b.c c.c


command_name: zipinfo
chinese_name: zipinfo命令 – 查看压缩文件信息
description: zipinfo命令来自英文词组zip information的缩写，其功能是查看压缩文件信息。使用zipinfo命令可以查看zip格式压缩包内的文件列表及详细信息。
syntax: zipinfo [参数] [压缩包]
category: 备份压缩(backup)
parameters:
|-1: 只显示文件名 |
|-C: 不区分大小写 |
|-h: 只显示压缩文件名 |
|-l: 显示原始文件的大小 |
|-m: 显示每个文件的压缩率 |
|-M: 以分页形式显示内容 |
|-t: 显示压缩前后大小及压缩率 |
|-T: 显示每个文件的日期时间 |
|-v: 显示执行过程详细信息 |
|-x: 不显示符合条件的文件信息 |
|-z: 显示文件注释信息 |

examples:
示例1: 
显示压缩包内的文件名称及简要属性信息：
[root@linuxcool ~]# zipinfo File.zip 
Archive: File.zip 
Zip file size: 1937 bytes, number of entries: 2 
-rw-------  3.0 unx     1256 tx defN 23-Dec-14 08:42 anaconda-ks.cfg 
-rw-r--r--  3.0 unx     1585 tx defN 23-Dec-14 08:43 initial-setup-ks.cfg 
2 files, 2841 bytes uncompressed, 1589 bytes compressed: 44.1%

示例2: 
显示压缩包内的文件名称及详细属性信息：
[root@linuxcool ~]# zipinfo -v File.zip

示例3: 
仅显示压缩包内文件大小及数目信息：
[root@linuxcool ~]# zipinfo -h File.zip 
Archive: File.zip 
Zip file size: 1937 bytes, number of entries: 2

示例4: 
仅显示压缩包内的文件最后修改时间及简要属性信息：
[root@linuxcool ~]# zipinfo -T File.zip 
Archive: File.zip 
Zip file size: 1937 bytes, number of entries: 2 
-rw-------  3.0 unx     1256 tx defN 20231214.084220 anaconda-ks.cfg 
-rw-r--r--  3.0 unx     1585 tx defN 20231214.084343 initial-setup-ks.cfg
2 files, 2841 bytes uncompressed, 1589 bytes compressed: 44.1%


command_name: dump
chinese_name: dump命令 – 备份文件系统
description: dump命令用于备份文件系统，dump为备份工具程序，可将目录或整个文件系统备份至指定的设备，或备份成一个大文件。
syntax: dump [参数]
category: 备份压缩(backup)
parameters:
|-0123456789: 备份的层级 |
|-b: 指定区块的大小，单位为KB |
|-B: 指定备份卷册的区块数目 |
|-c: 修改备份磁带预设的密度与容量 |
|-d: 设置磁带的密度。单位为BPI |
|-f: 指定备份设备 |
|-h: 当备份层级等于或大于指定的层级时，将不备份用户标示为”nodump”的文件 |
|-n: 当备份工作需要管理员介入时，向所有”operator”群组中的使用者发出通 |
|-s: 备份磁带的长度，单位为英尺 |
|-T: 指定开始备份的时间与日期 |
|-u: 备份完毕后，在/etc/dumpdates中记录备份的文件系统，层级，日期与时间等 |
|-w: 与-W类似，但仅显示需要备份的文件 |
|-W: 显示需要备份的文件及其最后一次备份的层级，时间与日期 |

examples:
示例1: 
备份文件到磁带：
[root@linuxcool ~]# dump -0 -u /dev/tape /home/

示例2: 
备份文件系统/boot到 SCSI 磁带设备：
[root@linuxcool ~]# dump 0f /dev/nst0 /boot

示例3: 
备份文件系统 / 到 SCSI 磁带设备：
[root@linuxcool ~]# dump 0f /dev/nst0/


command_name: bzip2
chinese_name: bzip2命令 – 压缩或解压缩.bz2文件
description: bzip2命令的功能是压缩或解压缩.bz2文件。Linux系统中常见的以.bz2结尾的文件是由bzip2命令压缩而成的，bzip2是一款压缩算法较新、压缩比较充分的压缩工具，与gzip命令十分相似。
syntax: bzip2 [参数] [压缩包.bz2] [文件或目录名]
category: 备份压缩(backup)
parameters:
|-c: 显示处理结果 |
|-d: 执行解压缩操作 |
|-f: 强制覆盖已有文件而不询问 |
|-k: 保留已有文件 |
|-q: 跳过所有警告信息 |
|-s: 降低内存使用量 |
|-v: 显示执行过程详细信息 |
|-z: 执行压缩操作 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 |

examples:
示例1: 
对指定的文件进行压缩操作：
[root@linuxcool ~]# bzip2 File.cfg

示例2: 
对指定的文件进行压缩操作，并显示详细过程：
[root@linuxcool ~]# bzip2 -v File.cfg 
  initial-setup-ks.cfg: 1.524:1, 5.250 bits/byte, 34.37% saved, 1542 in, 1012 out.

示例3: 
检查指定压缩包文件的完整性：
[root@linuxcool ~]# bzip2 -t File.bz2

示例4: 
解压缩指定的压缩包文件：
[root@linuxcool ~]# bzip2 -d File.bz2


command_name: uudecode
chinese_name: uudecode命令 – 还原档案
description: uudecode命令将uuencode编码后的档案还原，uudecode只会将begin与end标记之间的编码资料还原，程序会跳过标记以外的资料。
syntax: uuencode [参数]
parameters: |h: 列出指令使用格式 | |v: 列出版本讯息 |
category: 备份压缩(backup)
examples:
示例1: 
将 file.uud 还原，而还原后的档名储存在 file.uud 档中：
[root@linuxcool ~]# uuencode file.uud

示例2: 
还原多个档案：
[root@linuxcool ~]# uuencode file1.uud file2.uud


command_name: zip
chinese_name: zip命令 – 压缩文件
description: zip命令的功能是压缩文件，解压命令为unzip。通过zip命令可以将文件打包成zip格式的压缩包，里面包含文件的名称、路径、创建时间、上次修改时间等信息（与tar命令相‍似）。
syntax: zip [参数] [目标文件名.zip] [源文件或目录名]
category: 备份压缩(backup)
parameters:
|-A: 自动解压缩文件 |
|-b: 设置暂存文件的目录 |
|-c: 添加注释信息到压缩文件 |
|-d: 更新压缩包内文件 |
|-F: 尝试修复损坏的压缩文件 |
|-h: 显示帮助信息 |
|-i: 仅压缩符合条件的文件 |
|-k: 使用MS-DOS兼容格式 |
|-l: 将“LF”替换成“LF+CR”字符 |
|-L: 显示版本信息 |
|-m: 压缩后删除源文件 |
|-q: 静默执行模式 |
|-r: 递归处理所有子文件 |
|-S: 包含系统和隐藏文件 |
|-t: 设置压缩时间为指定日期 |
|-T: 检查压缩文件是否正确无误 |
|-v: 显示执行过程详细信息 |
|-V: 保留VMS操作系统的文件属性 |
|-w: 在文件名称中加入版本编号 |
|-X: 不保留过多的文件属性信息 |
|-y: 直接保存符号链接，而不是对应文件 |

examples:
示例1: 
将指定目录及其包含的全部文件都打包成zip格式的压缩包文件：
[root@linuxcool ~]# zip -r File.zip /etc 
  adding: etc/fstab (deflated 45%) 
  adding: etc/crypttab (stored 0%) 
  adding: etc/resolv.conf (stored 0%) 
  adding: etc/dnf/ (stored 0%) 
  adding: etc/dnf/modules.d/ (stored 0%) 
  adding: etc/dnf/modules.d/container-tools.module (deflated 17%) 
  adding: etc/dnf/modules.d/llvm-toolset.module (deflated 14%) 
………………省略部分输出信息………………

示例2: 
将当前工作目录内所有以.cfg为后缀的文件打包：
[root@linuxcool ~]# zip -r File.zip *.cfg 
  adding: anaconda-ks.cfg (deflated 44%) 
  adding: initial-setup-ks.cfg (deflated 44%)

示例3: 
更新压缩包文件中的某个文件：
[root@linuxcool ~]# zip -dv File.zip File.cfg 
1>1: updating: File.cfg (deflated 44%)


command_name: unzip
chinese_name: unzip命令 – 解压缩zip格式文件
syntax: unzip [参数] [压缩包名]
category: 备份压缩(backup)
description:
unzip命令用于解压缩zip格式的文件，虽然Linux系统中更多地使用tar命令对压缩包进行管理操作，但有时也会接收到Windows系统常用的zip和rar格式的压缩包文件，unzip命令便派上了用场。直接使用unzip命令解压缩文件后，压缩包内原有的文件会被提取并输出保存到当前工作目录下。

parameters:
|-a: 对文本进行必要的字符转换 |
|-b: 不要对文本进行任何字符转换 |
|-c: 适当转换字符后输出解压缩结果 |
|-C: 严格区分大小写 |
|-d: 解压缩文件到指定目录中 |
|-f: 强制覆盖已有文件 |
|-j: 不处理压缩文件中原有的目录路径 |
|-l: 显示压缩包内文件列表 |
|-n: 解压缩时不覆盖已有文件 |
|-P: 使用密码加密 |
|-q: 静默执行模式 |
|-t: 检查压缩包完整性 |
|-v: 显示执行过程详细信息 |
|-x: 跳过压缩包内的指定文件 |
|-z: 显示压缩包内的备注文字 |

examples:
示例1: 
将压缩包文件解压到当前工作目录中：
[root@linuxcool ~]# unzip File.zip 
Archive: File.zip 
   creating: wordpress/ 
  inflating: wordpress/xmlrpc.php 
  inflating: wordpress/wp-blog-header.php 
…………省略部分输出信息…………

示例2: 
将压缩包文件解压到指定目录中：
[root@linuxcool ~]# unzip File.zip -d /home 
Archive: File.zip 
    creating: /home/wordpress/ 
inflating: /home/wordpress/xmlrpc.php 
inflating: /home/wordpress/wp-blog-header.php 
…………省略部分输出信息…………

示例3: 
测试压缩包文件是否完整，文件有无损坏：
[root@linuxcool ~]# unzip -t File.zip 
Archive: File.zip 
testing: wordpress/ 			OK 
testing: wordpress/xmlrpc.php 		OK 
…………省略部分输出信息…………


command_name: gunzip
chinese_name: gunzip命令 – 解压提取文件内容
description: gunzip命令来自英文词组gnu unzip的缩写，其功能是解压提取文件内容。gunzip通常用来解压那些基于gzip格式压缩过的文件（也就是那些.gz结尾的压缩包）。
syntax: gunzip [参数] [压缩包]
category: 备份压缩(backup)
parameters:
|-a: 使用ASCII文本模式 |
|-c: 将解压后的文件输出到标准输出设备 |
|-f: 强制解压文件而不询问 |
|-h: 显示帮助信息 |
|-l: 显示压缩文件的相关信息 |
|-n: 解压时不保留原文件的名称及时间戳 |
|-N: 解压时保留原文件的名称及时间戳 |
|-r: 递归处理所有子文件 |
|-S: 设置压缩字尾字符串 |
|-t: 测试压缩包的完整性 |
|-v: 显示执行过程详细信息 |
|-V: 显示版本信息 |

examples:
示例1: 
解压指定的压缩包文件：
[root@linuxcool ~]# gunzip File.gz

示例2: 
解压指定的压缩包文件，并输出解压过程：
[root@linuxcool ~]# gunzip -v File.gz

示例3: 
测试指定的压缩包文件内容是否损坏，是否能够正常解压：
[root@linuxcool ~]# gunzip -t File.gz


command_name: compress
chinese_name: compress命令 – unix档案压缩命令
syntax: compress [参数]
category: 备份压缩(backup)
description:
compress命令是一个相当古老的 unix 档案压缩指令，压缩后的档案会加上一个 .Z 延伸档名以区别未压缩的档案，压缩后的档案可以以 uncompress 解压。若要将数个档案压成一个压缩档，必须先将档案 tar 起来再压缩。由于 gzip 可以产生更理想的压缩比例，一般人多已改用 gzip 为档案压缩工具。

parameters:
|-c: 输出结果至标准输出设备（一般指荧幕） |
|-f: 强迫写入档案，若目的档已经存在，则会被覆盖 (force) |
|-v: 将程序执行的讯息印在荧幕上 (verbose) |
|-b: 设定共同字串数的上限，以位元计算，可以设定的值为 9 至 16 bits 。由于值越大，能使用的共同字串就 越多，压缩比例就越大，所以一般使用预设值 16 bits (bits) |
|-d: 将压缩档解压缩 |
|-V: 列出版本讯息 |

examples:
示例1: 
压缩文件：
[root@linuxcool ~]# compress abc.h

示例2: 
解压文件：
[root@linuxcool ~]# compress -d abc.h.Z

示例3: 
按指定压缩比例进行压缩：
[root@linuxcool ~]# compress -b 7 abc.h

示例4: 
强制压缩文件夹：
[root@linuxcool ~]# compress -rf /home/abc/


command_name: bzcat
chinese_name: bzcat命令 – 读取bzip2压缩文件的内容
description: 相比较于gzip，bzip2有更好的压缩比，bzcat则是查看bzip2压缩文件后的内容。
syntax: bzcat [命令]
category: 备份压缩(backup)
examples:
示例1: 
创建bzip2文件：
[root@linuxcool ~]# bzip2 -z test.txt 
[root@linuxcool ~]# ls
test.txt.bz2

示例2: 
显示test.txt.bz2解压缩之后的文件内容：
[root@linuxcool ~]# bzcat test.txt.bz2 
 a b c d
 e f g h
 i j k l


command_name: unarj
chinese_name: unarj命令 – 解压.arj文件
description: unarj命令用于解压缩.arj文件。
syntax: unarj [参数] [.arj压缩文件]
parameters: |-e: 解压缩.arj文件 | |-l: 显示压缩文件内所包含的文件 | |-t: 检查压缩文件是否正确 | |-x: 解压缩时保留原有的路径 |
category: 备份压缩(backup)
examples:
示例1: 
解压缩.arj文件：
[root@linuxcool ~]# unarj -e test.arj

示例2: 
显示压缩文件内所包含的文件：
[root@linuxcool ~]# unarj -l test.arj

示例3: 
检查压缩文件是否正确：
[root@linuxcool ~]# unarj -t test.arj

示例4: 
解压缩时保留原有的路径：
[root@linuxcool ~]# unarj -x test.arj

示例5: 
把文件解压到当前路径：
[root@linuxcool ~]# unarj -ex test.arj


command_name: gzip
chinese_name: gzip命令 – 压缩和解压文件
syntax: gzip [参数] [文件名]
category: 备份压缩(backup)
description:
gzip命令来自英文单词gunzip的缩写，其功能是压缩和解压文件。gzip是一个使用广泛的压缩命令，文件经过压缩后一般会以.gz后缀结尾，与tar命令合用后即为.tar.gz后缀。
据统计，gzip命令对文本文件的压缩比率通常能达到60%~70%，压缩后可以很好地提升存储空间的使用率，还能够在网络中传输文件时减少等待时间。

parameters:
|-a: 使用ASCII文本模式 |
|-c: 把压缩后的文件输出到标准输出设备 |
|-d: 解压指定的压缩包文件 |
|-f: 强行压缩文件而不询问 |
|-h: 显示帮助信息 |
|-k: 保留原文件 |
|-l: 显示压缩包内的文件信息 |
|-L: 显示版权信息 |
|-N: 保存原来的文件名及时间戳 |
|-t: 测试压缩包是否正确无误 |
|-q: 静默执行模式 |
|-r: 递归处理所有子文件 |
|-S: 设置解压或压缩后文件的后缀名 |
|-v: 显示执行过程详细信息 |
|-V: 显示版本信息 |

examples:
示例1: 
将指定的文件进行压缩，压缩包默认以“原文件名.gz”保存到当前工作目录下，原文件会被自动删除：
[root@linuxcool ~]# gzip File.cfg

示例2: 
解压指定的压缩包文件并显示解压过程，解压后的文件会保存在当前工作目录下，压缩包会被自动删除：
[root@linuxcool ~]# gzip -dv File.cfg.gz
File.cfg.gz:      44.3% -- replaced with File.cfg

示例3: 
将指定的文件进行压缩，但是不删除原文件：
[root@linuxcool ~]# gzip -k File.cfg

示例4: 
显示指定文件的压缩信息：
[root@linuxcool ~]# gzip -l File.cfg.gz 
         compressed      uncompressed   ratio uncompressed_name 
                929              1585   43.8% File.cfg


command_name: znew
chinese_name: znew命令 – 将.Z压缩包重新转化.gz压缩包
description: znew命令用于将使用compress命令压缩的“.Z”压缩包重新转化为使用gzip命令压缩的“.gz”压缩包。
syntax: znew [参数] [.Z压缩包]
parameters: |-f: 强制执行转换操作，即是目标“.gz”已经存在 | |-t: 删除原文件前测试新文件 | |-P: 使用管道完成转换操作，以降低磁盘空间使用 |
category: 备份压缩(backup)
examples:
示例1: 
生成“linuxidc.gz”，删除进程中的原始.Z文件：
[root@linuxcool ~]# znew linuxidc.Z

示例2: 
强制执行转换操作，即是目标“.gz”已经存在：
[root@linuxcool ~]# znew -f linuxidc.Z

示例3: 
显示压缩的每个文件的名称和减少百分比等详细信息：
[root@linuxcool ~]# znew -v linuxidc.Z

示例4: 
在删除原始文件之前测试新文件:
[root@linuxcool ~]# znew -t linuxidc.Z

示例5: 
确保znew使用管道进行转换以减少磁盘空间使用:
[root@linuxcool ~]# znew -P linuxidc.Z


command_name: bzip2recover
chinese_name: bzip2recover命令 – 修复损坏的.bz2文件
syntax: bzip2recover [参数]
category: 备份压缩(backup)
description:
bzip2recover命令用来修复损坏的.bz2文件 ， bzip2是以区块的方式来压缩文件，每个区块视为独立的单位。因此，当某一区块损坏时，便可利用bzip2recover，试着将文件中的区块隔开来，以便解压缩正常的区块。通常只适用在压缩文件很大的情况。

parameters:
|-c: 将解压或者解压文件写到标准输出 |
|-d: 解压 |
|-z: 强制压缩，而不管调用名称如何 |
|-t: 检查指定文件的完整性，但不要解压缩它们 |
|-f: 强制执行 |
|-k: 解压之后，保留源文件 |
|-s: 减少内存使用，用于压缩、解压缩和测试 |

examples:
示例1: 
修复.bz2文件：
[root@linuxcool ~]# bzip2recover col.bz2

示例2: 
将1.c压缩到foo：
[root@linuxcool ~]# bzip2recover -c 1.c > foo.gz

示例3: 
解压foo：
[root@linuxcool ~]# bzip2recover -d foo.gz


command_name: bc
chinese_name: bc命令 – 数字计算器
syntax: bc [参数]
parameters: |-i: 使用交互模式 | |-l: 设置标准数学库 | |-q: 显示正常的GNU bc环境信息 | |--help: 显示帮助信息 | |--version: 显示版本信息 |
category: 其他命令(other)
description:
bc命令来自英文词组binary calculator的缩写，中文译为“二进制计算器”，其功能是进行数字计算。bash解释器仅能进行整数计算，而不支持浮点数计算，因此有时要用到bc命令进行高精度的数字计算工作。

examples:
示例1: 
计算得出指定的浮点数乘法结果：
[root@linuxcool ~]# bc 
1.2345*3 
3.7035

示例2: 
设定计算精度为小数点后3位，取浮点数除法结果：
[root@linuxcool ~]# bc 
scale=3 
3/8 
.375

示例3: 
分别计算整数的平方与平方根结果：
[root@linuxcool ~]# bc 
10^10 
10000000000 
sqrt(100) 
10.000


command_name: shopt
chinese_name: shopt命令 – 设置控制shell行为变量的开关
description: shopt命令可以设置哪些控制着Shell行为特性的变量的开关值，以达到控制Shell行为的目的。当执行命令shopt不带任何参数时，将列出由shopt控制的那些特性及其状态。
syntax: shopt [参数]
parameters: |-s: 不带选项时，显示所有打开的选项。如果后边跟上相应的选项，则打开此选项 | |-u: 不带选项时，显示所有未打开的选项。如果后边跟上相应的选项，则打开此选项 | |-p: 显示所有选项 |
category: 其他命令(other)
examples:
示例1: 
显示所有的配置选项：
[root@linuxcool ~]# shopt -p

示例2: 
查看打开的配置选项：
[root@linuxcool ~]# shopt -s

示例3: 
查看关闭的配置选项：
[root@linuxcool ~]# shopt -u


command_name: boot
chinese_name: boot命令 – 启动系统内核或独立程序
description: boot命令是用来引导装入并执行独立程序的过程；一般而言，操作系统内核是独立程序，但是任何独立的程序都是可以进行引导的。
syntax: boot [参数]
parameters: |dhcp: 通过 DHCP 方式获取配置参数 | |prompt: 导致 wanboot 进入其命令解释程序 | |rarp: 网络引导 | |-F: 结合使用 wanboot进行对比 |
category: 其他命令(other)
examples:
示例1: 
单用户模式下引导缺省内核：
[root@linuxcool ~]# boot –as

示例2: 
通过网络引导：
[root@linuxcool ~]# boot net:rarp

示例3: 
结合使用 wanboot进行对比：
[root@linuxcool ~]# boot cdrom -F wanboot -o dhcp,prompt


command_name: chronyc
chinese_name: chronyc命令 – 设置时间与时间服务器同步
syntax: chronyc [参数]
category: 其他命令(other)
description:
chronyc命令来自英文词组chrony command-line的缩写，其功能是设置时间与时间服务器同步。chrony是一个用于保持系统时间与NTP时间服务器同步的服务，其守护进程chronyd更为常见，而chronyc命令则是用户的配置工具。

parameters:
|sources: 设置时间同步源 |
|sourcestats: 显示时间同步源状态 |
|-4: 基于IPv4网络协议 |
|-6: 基于IPv6网络协议 |
|-h: 设置主机名 |
|-n: 使用IP地址，而不是主机名 |
|-p: 设置端口号 |
|-v: 显示执行过程详细信息 |

examples:
示例1: 
查看当前系统的时间同步源信息：
[root@linuxcool ~]# chronyc sources -v

示例2: 
查看当前系统的时间同步源状态信息：
[root@linuxcool ~]# chronyc sourcestats 
Name/IP Address      NP  NR  Span  Frequency  Freq Skew  Offset  Std Dev ============================================================================== 
120.25.115.20        59  31   18h     -0.011      0.019  -536us    875us 
10.143.33.49          0   0     0     +0.000   2000.000    +0ns   4000ms 
100.100.3.1          64  36   18h     +0.000      0.012   +65us    493us 
100.100.3.2          64  33   18h     -0.004      0.011  -189us    498us 
100.100.3.3          42  22   17h     +0.006      0.015  +150us    471us 
203.107.6.88         64  40   18h     -0.005      0.034   -79us   1467us 
10.143.33.50          0   0     0     +0.000   2000.000    +0ns   4000ms 
10.143.33.51          0   0     0     +0.000   2000.000    +0ns   4000ms 
10.143.0.44           0   0     0     +0.000   2000.000    +0ns   4000ms 
10.143.0.45           0   0     0     +0.000   2000.000    +0ns   4000ms 
10.143.0.46           0   0     0     +0.000   2000.000    +0ns   4000ms 
100.100.5.1          42  24   11h     +0.014      0.017  +344us    378us 
100.100.5.2          64  37   18h     -0.000      0.009  -221us    367us 
100.100.5.3          64  28   18h     -0.003      0.010  -131us    430us


command_name: ifplugstatus
chinese_name: ifplugstatus命令 – 检查网线是否已插到在网络接口
description: ifplugstatus命令可以查看所有网络接口的状态，或是指定网络接口的状态。 这个命令Ubuntu没有预装，通过下面的命令来安装sudo apt-get install ifplugd。
syntax: ifplugstatus
category: 其他命令(other)
examples:
示例1: 
显示接口状态：
[root@linuxcool ~]# ifplugstatus
lo:link beat detected
wlan0:link beat detected
eth0:unplugged


command_name: aulast
chinese_name: aulast命令 – 打印上次登录用户列表
syntax: aulast [参数]
category: 其他命令(other)
description:
aulast是一个程序，它打印出上次登录用户列表，类似于last和lastb命令。aulast 搜索审核日志或给定的审核日志文件，并显示根据审核日志中的时间范围登录（和注销）的所有用户的列表。可以给出用户和 tty 的名称，在这种情况下，aulast 将仅显示与参数匹配的条目。ttys 的名称可以缩写，因此 aulast 0 与最后 tty0 相同。
每次重新启动系统时，伪用户会登录。因此，上次重新启动将显示自创建日志文件以来所有重新启动的日志。
用户会注意到的主要区别是，从最旧到最新的身份验证打印事件，而最后打印从最新到最旧的记录。此外，每次分配 tty 或 pty 时，不会通知审核系统，因此您可能看不到指示用户及其 tty 的记录。

parameters:
|--bad: 报告错误登录 |
|--extract: 将用于创建显示报表的原始审核记录写入当前工作目录中的文件aulast.log |
|-f file: 使用文件而不是审核日志进行输入 |
|--proof: 打印出用于确定报表上一行的审核事件序列号 |
|--stdin: 从 stdin 获得审计记录 |

examples:
示例1: 
查看本月的登陆记录：
[root@linuxcool ~]# ausearch --start this-month --raw | aulast --stdin

示例2: 
打印出用于确定报表上一行的审核事件序列号：
[root@linuxcool ~]# ausearch --start this-month --raw | aulast --proof

示例3: 
直接从 stdin 获得审计记录，而不是使用ausearch进行日志搜索：
[root@linuxcool ~]# aulast --stdin


command_name: stratis
chinese_name: stratis命令 – 管理linux存储
description: stratis 是一个具有与 ZFS 和 Btrfs 相似功能的卷管理文件系统。同时又是一个易于使用的Linux存储工具。
syntax: stratis [参数]
parameters: |fs: 创建文件系统 | |list: 列出文件系统 | |pool: 列出文件系统的池 | |snapshot: 创建文件系统快照 |
category: 其他命令(other)
examples:
示例1: 
安装stratis：
[root@linuxcool ~]# dnf install stratis-cli stratisd

示例2: 
创建文件系统：
[root@linuxcool ~]# stratis fs create mypool myfs1

示例3: 
创建一个文件系统作为现有文件系统的快照：
[root@linuxcool ~]# stratis fs snapshot mypool myfs1 myfs1-experiment

示例4: 
以列出系统中的池：
[root@linuxcool ~]# stratis pool list

示例5: 
列出池中的文件系统：
[root@linuxcool ~]# stratis fs list mypool


command_name: strip
chinese_name: strip命令 – 从文件中去除指定符号或调试信息
description: strip命令的功能是用于从文件中去除指定符号或调试信息，可以针对一般文件与函数库文件进行操作，能够减少文件占用空间大小。
syntax: strip [参数] [文件名]
category: 其他命令(other)
parameters:
|-e: 在对象文件的可选头中设置F_LOADONLY标志 |
|-E: 复位对象文件的可选头中的F_LOADONLY位 |
|-H: 去除对象文件头 |
|-l: 从对象文件里去除行号信息 |
|-r: 除了外部符号和静态符号条目，去除其余信息 |
|-t: 除了函数符号和行号，去除其余信息 |
|-x: 除了静态或外部符号，去除其余符号表信息 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 |

examples:
示例1: 
去除指定文件中的符号表和行号信息：
[root@linuxcool ~]#strip File.out

示例2: 
去除指定文件的对象文件头信息：
[root@linuxcool ~]#strip -H File.out

示例3: 
去除指定文件中的32、64位符号表信息：
[root@linuxcool ~]#strip -X 32-64 File.a


command_name: protoize
chinese_name: protoize命令 – 添加函数原型
syntax: protoize [参数] [文件]
category: 其他命令(other)
description:
protoize命令属于gcc套件，用于为C语言源代码文件添加函数原型，将GNU-C代码转换为ANSI-C代码。protoize命令依赖gcc命令对C语言源代码进行扫描，并且搜集使用的函数信息。
使用protoize命令进行基本转换包括重写大多数函数定义和函数声明以指定参数的类型。
protoize命令可以选择在源文件的开头插入原型声明，以使它们可用于函数定义之前的所有调用。或者也可以在调用未声明函数的块中插入具有块范围的原型声明。

parameters:
|-B<目录>: 在指定目录而不是常用目录（通常为/ usr / local / lib）中查找文件 |
|-C: 重命名文件以.C而不是.c结尾 |
|-c<编译选项>: 运行gcc生成.X文件时，使用COMPILATION-OPTIONS作为选项 |
|-d<目录>: 设置需要转换代码的目录 |
|-G: 添加显示的全局声明 |
|-i<字符串>: 使用字符串缩进旧式参数声明 |
|-k: 保留.X文件 |
|-l: 添加显示的本地声明 |
|-N: 不生成.save文件 |
|-n: 不做任何真正的改变 |
|-q: 安静模式 |
|-x: 转换代码时排除的文件 |
|-v: 打印版本号 |

examples:
示例1: 
为C语言源代码文件添加函数原型：
[root@linuxcool ~]# protoize test.c

示例2: 
设置需要转换代码的目录：
[root@linuxcool ~]# protoize -d /root test.c

示例3: 
安静模式自动添加函数原型：
[root@linuxcool ~]# protoize -q test.c


command_name: msgcat
chinese_name: msgcat命令 – 合并多个邮件目录
syntax: msgcat [参数]
category: 其他命令(other)
description:
msgcat命令合并多个邮件目录。msgcat程序连接并合并指定的PO文件。它找到两个或多个指定的PO文件共有的消息。通过使用 -- 多选项，可以在打印消息之前请求更大的通用性。相反，在打印消息 （即’-less-than = 2’只打印唯一消息）之前，可以使用-less-than 选项来指定较少的通用性。

parameters:
|-f: 从文件获取输入文件列表 |
|-D: 将目录添加到列表以进行输入文件搜索 |
|-o: 将输出写入指定文件 |
|--use-first: 对每条消息使用第一个可用的翻译，不要合并 |
|-E: 在输出中使用C转义符，没有扩展字符 |
|-s: 生成排序输出 |

examples:
示例1: 
从文件获取输入文件列表：
[root@linuxcool ~]# msgcat -f linuxcool.txt

示例2: 
将输出写入指定文件：
[root@linuxcool ~]# msgcat -o linuxcool.txt

示例3: 
生成排序输出：
[root@linuxcool ~]# msgcat -s


command_name: redis-benchmark
chinese_name: redis-benchmark命令 – Redis基准性能测试
description: redis-benchmark命令可以为Redis做基准性能测试，它提供了很多选项帮助开 发和运维人员测试Redis的相关性能。
syntax: redis-benchmark [参数]
parameters: |-h: 服务端IP | |-p: 服务器端口 | |-a: redis密码 | |-c: 客户端连接数量 | |-n: 请求总数 |
category: 其他命令(other)
examples:
示例1: 
使用默认配置对127.0.0.1:6379运行基准测试：
[root@linuxcool ~]# redis-benchmark

示例2: 
对192.168.1.1使用20个并行客户端，总共10万个请求：
[root@linuxcool ~]# redis-benchmark -h 192.168.1.1 -p 6379 -n 100000 -c 20

示例3: 
仅使用SET测试，用大约100万个键填充127.0.0.1:6379：
[root@linuxcool ~]# redis-benchmark -t set -n 1000000 -r 100000000

示例4: 
基准127.0.0.1:6379，用于生成CSV输出的几个命令：
[root@linuxcool ~]# redis-benchmark -t ping,set,get -n 100000 --csv

示例5: 
对特定命令行进行基准测试：
[root@linuxcool ~]# redis-benchmark -r 10000 -n 10000 eval 'return redis.call("ping")' 0

示例6: 
用10000个随机元素填充列表：
[root@linuxcool ~]# redis-benchmark -r 10000 -n 10000 lpush mylist rand_int


command_name: exportfs
chinese_name: exportfs命令 – 管理NFS服务器共享的文件系统
description: exportfs命令需要参考配置文件“/etc/exportfs”。也可以直接在命令行中指定要共享的NFS文件系统。
syntax: export [参数] [目录]
parameters: |-a: 全部挂载或者全部卸载 | |-r: 重新挂载 | |-u: 卸载某一个目录 | |-v: 显示共享目录 |
category: 其他命令(other)
examples:
示例1: 
输出NFS共享目录：
[root@linuxcool ~]# exportfs -a

示例2: 
导出目录/usr/tmp给django主机，且允许客户端发送不安全的文件锁请求 ：
[root@linuxcool ~]# exportfs -o insecure_locks django:/usr/tmp

示例3: 
卸载到/usr/linuxprobe目录：
[root@linuxcool ~]# exportfs -u /usr/linuxcool

示例4: 
卸载所有导出列表：
[root@linuxcool ~]# exportfs -au

示例5: 
显示共享目录：
[root@linuxcool ~]# exportfs -v


command_name: popd
chinese_name: popd命令 – 从shell目录堆栈中删除记录
description: 用于从Shell目录堆栈中删除记录，如果不加任何选项，popd命令先删除Shell目录堆栈栈顶的记录，再把当前目录切换到新的Shell目录堆栈顶的目录。
syntax: popd [参数]
parameters: |-n: 将右起第n个目录删除（n从0开始计数） | |+n: 将左起第n个目录删除（n从0开始计数） |
category: 其他命令(other)
examples:
示例1: 
显示Shell目录堆栈内容，每行一个：
[root@linuxcool ~]# dirs -v
0 /sbin
1 /etc
2 /var/log

示例2: 
从shell目录堆栈中删除/sbin：
[root@linuxcool ~]# popd
/etc /var/log

示例3: 
显示当前的工作目录：
[root@linuxcool ~]# pwd
etc

示例4: 
从目录堆栈中删除栈顶目录：
[root@linuxcool ~]# popd
/var/log

示例5: 
从目录堆栈中删除从右起第2个目录：
[root@linuxcool ~]# popd -2


command_name: fc
chinese_name: fc命令 – 编辑并执行历史命令
description: EXTENDED_HISTORY环境变量影响fc命令的执行，如果变量设置为ON，则记录时间，否则不记录时间。
syntax: fc [参数]
category: 其他命令(other)
parameters:
|-e<文本编辑器>: 指定用来编辑命令的文本编辑器，默认是vi |
|-l: 列出第一条和最后一天命令范围内的历史命令，如果不跟命令范围则默认显示最近使用过的16条历史命令 |
|-n: 显示历史命令时不显示命令序号 |
|-r: 反序显示所有历史命令 |
|-s<命令名>: 从历史命令中当前位置往前找到指定命令，并执行 |

examples:
示例1: 
显示历史命令列表（默认打印最近的16条历史命令）：
[root@linuxcool ~]# fc -l

示例2: 
指定使用ex文本编辑器编辑命令：
[root@linuxcool ~]# fc -e ex

示例3: 
显示历史命令列表但不显示命令序号：
[root@linuxcool ~]# fc -n

示例4: 
反序显示所有历史命令：
[root@linuxcool ~]# fc -r

示例5: 
从历史命令中找到find命令，并执行：
[root@linuxcool ~]# fc -s find


command_name: sndconfig
chinese_name: sndconfig命令 – 设置声卡
syntax: sndconfig [参数]
parameters: |-- -noprobe: 不自动检测PnP声卡 | |-- -noautoconfig: 不自动设置PnP的声卡 | |-- -help: 显示帮助 |
category: 其他命令(other)
description:
sndconfig命令用于设置声卡。该命令支持PnP设置，可自动检测并设置PnP声卡。
PnP全称Plug-and-Play，译文为即插即用。PnP的作用是自动配置低层计算机中的板卡和其他设备，然后告诉对应设备都做了什么。PnP的任务是把物理设备和软件设备驱动程序相配合，并操作设备，在每个设备和它的驱动程序之间建立通信信道。然后，PnP分配下列资源给设备和硬件：I/O地址、IRQ、DMA通道和内存段。

examples:
示例1: 
设置不自动检查声卡模式：
[root@linuxcool ~]# sndconfig --noautoconfig

示例2: 
设置为不自动设置PnP的声卡：
[root@linuxcool ~]# sndconfig --noautoconfig


command_name: zic
chinese_name: zic命令 – 时区编辑器
description: zic是时区编辑器。zic命令从文件中读取文本输入，文件的名字是用命令行指定的；然后生成时间转换信息文件，此文件由输入指定。如果文件名 是 -- ，从标准输入中读取。
syntax: zic [参数]
category: 其他命令(other)
parameters:
|-d: 在指定的目录中生成时间转换信息文件，而不是下面的标准的目录名 |
|-l: 用给定的时区作为本地时间 |
|-p: 当处理 POSIX 格式的时区环境变量时，使用给定的时区规则 |
|-L: 从指定名字的文件中读闰秒信息 |
|-v: 当出现在数据文件中的年超出了可表示的值的年的范围时提出申诉 |
|-s: 限定在输出文件中存储的时间值无论被作为有符号或无符号均是同一个值 |
|-y: 当检测年的类型时，使用给定的命令 |

examples:
示例1: 
首先运行zic命令：
[root@linuxcool ~]# zic

示例2: 
创建时间：
Rule US 1967 1973 - Apr lastSun 2:00 1:00 D

示例3: 
创建时区：
Zone Australia/Adelaide 9:30 AusCST 1971 Oct 31 2:00

示例4: 
描述闰秒的文件中的行有以下格式:
Leap 1974 Dec 31 23:59:60 + S


command_name: archiveadm
chinese_name: archiveadm命令 – Solaris 归档文件实用程序
syntax: archiveadm [参数]
parameters: |-z: 归档的区域名称或区域名称列表 | |-Z: 从归档文件中排除的区域名称或区域名称列表 | |-D: 从归档文件中排除一个或多个数据集 | |-r: 创建适用于系统恢复的归档文件 |
category: 其他命令(other)
description:
archiveadm 实用程序为用户提供了创建正在运行的 Oracle Solaris系统的系统干归档映像的功能，用于系统克隆和恢复。 该实用程序还可用于检索创建后的存档信息，以及从存档中创建可启动媒体。

examples:
示例1: 
创建缺省归档文件：
[root@linuxcool ~]# archiveadm create linuxcool.tar.gz

示例2: 
创建排除数据集的归档文件：
[root@linuxcool ~]# archiveadm create -D /home linuxcool.tar.gz

示例3: 
区域归档文件：
[root@linuxcool ~]# archiveadm create -z zone linuxcool.tar.gz


command_name: zabbix-sender
chinese_name: zabbix_sender命令 – zabbix发送器工具
syntax: zabbix_sender [参数]
category: 其他命令(other)
description:
zabbix_sender 是一个命令行工具，用于向 Zabbix 服务器或代理发送监控数据；在Zabbix服务器上，应该用相应的键创建一个Zabbix trapper类型的项目；请注意，输入的值只接受来自该项目的 Allowed hosts 字段中指定的主机。

parameters:
|-c: 配置文件路径 |
|-z: zabbix_server服务器IP地址 |
|-p: zabbix_server服务器端口，默认：10051 |
|-s: 主机名 |
|-I: 源IP |
|-k: 监控项的key值 |
|-o: key数值 |
|-v: 详细模式 |

examples:
示例1: 
将文件data_values.txt中的值发送到IP为192.168.0.100的Zabbix服务器，文件中定义了主机名和键值：
[root@linuxcool ~]# zabbix_sender -z 192.168.0.100 -i data_values.txt

示例2: 
发送342.45作为监视主机的mysql.quests项的值，使用监控主机和代理配置文件中定义的Zabbix服务器：
[root@linuxcool ~]# zabbix_sender -c /etc/zabbix/zabbix_agentd.conf -k mysql.queries -o 342.45

示例3: 
使用代理配置文件中定义的zabbix服务器，发送342.45作为Monitored Host主机的mysql.quests项的值：
[root@linuxcool ~]# zabbix_sender -c /etc/zabbix/zabbix_agentd.conf -s "Monitored Host" -k mysql.queries -o 342.45


command_name: applypatch
chinese_name: applypatch命令 – 安装或卸载补丁
syntax: applypatch [参数]
category: 其他命令(other)
description:
applypatch命令应用由 makepatch 程序生成的补丁包，它将执行以下操作，首先，它将广泛验证补丁包是否完整，是否在传输过程中被破坏；然后，它将应用一些启发式的方法来验证应用补丁的目录中是否包含了预期来源；如果检测到损坏或验证错误，applypatch会退出而不做更改。

parameters:
|-check: 检查，但不执行 |
|-retain: 打补丁后保留原文件 |
|-force: 验证失败后继续 |
|-quiet: 安装无信息显示 |
|-verbose: 安装显示详细信息 |

examples:
示例1: 
检查，但不执行：
[root@linuxcool ~]# applypatch -check

示例2: 
打补丁后保留原文件：
[root@linuxcool ~]# applypatch -retain

示例3: 
验证失败后继续：
[root@linuxcool ~]# applypatch -force


command_name: svnadmin
chinese_name: svnadmin命令 – 管理SVN版本库
description: 使用svnadmin命令可以管理subversion版本库，比如创建、升级、检验、修复，以及产生即时副本等。
syntax: svnadmin [参数]
parameters: |dump: 将文件系统的内容，移植到“转存”格式输出到标准输出 | |lslocks: 显示所有锁的描述 | |rmlocks: 无条件删除锁 | |verify: 检验版本库中的数据 |
category: 其他命令(other)
examples:
示例1: 
创建版本库，指定版本库目录为/etc/subversion:
[root@linuxcool~]# svnadmin create /etc/subversion

示例2: 
将文件系统的内容，以可移植“转存”格式输出到标准输出：
[root@linuxcool ~]# svnadmin dump /etc/subversion

示例3: 
检验挂起的版本库号：
[root@linuxcool ~]# svnadmin verify /etc/subversion


command_name: metamail
chinese_name: metamail命令 – 处理非文字E-mail的程序
description: metamail命令负责处理非文字E-mail的程序。该命令可以通过参数设置邮件内容类型，寄信人地址，邮件管理程序名称，邮件主题，文件名等信息。
syntax: metamail [参数]
category: 其他命令(other)
parameters:
|-b: 邮件只有内文，没有表头 |
|-B: 在背景显示信息 |
|-d: metamail在调用其他程序显示信息前，不需向用户确认 |
|-e: 删除内文前端的空白行 |
|-f<寄信人地址>: 不要读取邮件表头中的寄信人地址，而去读取选项中的设置 |
|-h: 使用metamail的邮件管理程序名称 |
|-p: 将显示内容送给more指令处理之后，再送到输出设备 |

examples:
示例1: 
设置邮件内容只有内文，没有表头：
[root@linuxcool ~]# metamail -b

示例2: 
将显示内容送给more指令处理之后，再送到输出设备:
[root@linuxcool ~]# metamail -p

示例3: 
删除内文前端的空白行：
[root@linuxcool ~]# metamail -e


command_name: xz
chinese_name: xz命令 – POSIX 平台开发工具
syntax: xz [参数]
category: 其他命令(other)
description:
XZ Utils 是为 POSIX 平台开发具有高压缩率的工具。它使用 LZMA2 压缩算法，生成的压缩文件比 POSIX 平台传统使用的 gzip、bzip2 生成的压缩文件更小，而且解压缩速度也很快。
最初 XZ Utils 的是基于 LZMA-SDK 开发，但是 LZMA-SDK 包含了一些 WINDOWS 平台的特性，所以 XZ Utils 为以适应 POSIX 平台作了大幅的修改。XZ Utils 的出现也是为了取代 POSIX系统中旧的 LZMA Utils。

parameters:
|z, --compress: 强制压缩 |
|-t, --test: 测试压缩文件的完整性 |
|-l, --list: 列出有关.xz文件的信息 |
|-k, --keep: 保留（不要删除）输入文件 |
|-f, --force: 强制覆盖输出文件和（解）压缩链接 |
|-c, --stdout, --to-stdout: 写入标准输出，不要删除输入文件 |
|-0 … -9: 压缩预设; 默认为6; 取压缩机和使用7-9之前解压缩内存使用量考虑在内！ |
|-e, --extreme: 尝试通过使用更多的CPU时间来提高压缩比 |
|-T, --threads=NUM: 最多使用NUM个线程; 默认值为1 |
|set to 0: 设置为0，使用与处理器内核一样多的线程 |
|-q, --quiet: 抑制警告; 指定两次以抑制错误 |
|-v, --verbose: 冗长; 指定两次更详细 |
|-h, --help: 显示这个简洁的帮助并退出 |
|-H, --long-help: 显示更多帮助（还列出了高级选项） |
|-V, --version: 显示版本号并退出 |

examples:
示例1: 
压缩一个文件 test.txt，压缩成功后生成 test.txt.xz, 原文件会被删除：
[root@linuxcool ~]$ xz test.txt
[root@linuxcool ~]$ ls test.txt*
test.txt.xz

示例2: 
解压 test.txt.xz [文件]，并使用参数 -k 保持原文件不被删除：
[root@linuxcool ~]$ xz -d -k test.txt.xz
[root@linuxcool ~]$ ls test.txt*
test.txt.xz test.txt

示例3: 
参数 -H 比使用参数 --help 显示的内容更详细：
[root@linuxcool ~]$ xz -H  | more

示例4: 
借助 xargs命令并行压缩多文件：
[root@linuxcool ~]find /var/log -type f -iname "*.log" -print0 | xargs -P4 -n16 xz -T1


command_name: dirs
chinese_name: dirs命令 – 显示Shell目录堆栈中的记录
description: dirs命令用于显示Shell目录中的堆栈记录。不加选项时显示当前的Shell命令堆栈中的所有目录，显示时左边为最新加入的目录。
syntax: dirs [参数]
category: 其他命令(other)
parameters:
|-c: 删除目录堆栈中的所有记录 |
|-l: 以完整格式显示堆栈中的目录。显示用户宿主目录时，列出完整路径，而不是“~” |
|-n: 显示右起第n个目录（n从0计数） |
|+n: 显示左起第n个目录 （n从0计数） |
|-p: 以每行一个记录的方式列出堆栈中多有记录 |
|-v: 以每行一个记录的方式列出堆栈中所有记录，并在每行加上序号（从0开始编号） |

examples:
示例1: 
显示Shell目录堆栈中的记录：
[root@linuxcool ~]# dirs

示例2: 
显示Shell目录堆栈内容，每行一个记录：
[root@linuxcool ~]# dirs -p

示例3: 
显示Shell目录堆栈内容，每行一个记录，并加序号：
[root@linuxcool ~]# dirs -v

示例4: 
删除Shell目录堆栈中的记录：
[root@linuxcool ~]# dirs -c


command_name: bccmd
chinese_name: bccmd命令 – CSR BCCMD接口的实用程序
description: bccmd命令是将BlueCore命令发布给Cambridge Silicon Radio设备， 如果不带参数运行，将显示一个简短的帮助页面。
syntax: bccmd [参数] [命令]
parameters: |-t: 指定通信传输 | |-d: 指定要操作的特定设备 | |-b: 选择bcsp传输速率 |
category: 其他命令(other)
examples:
示例1: 
获取BCSP蓝牙设备的本地时间：
[root@linuxcool ~]# bccmd -t BCSP clock

示例2: 
列出所有HCI设备的PS密钥：
[root@linuxcool ~]# bccmd -d HCI pslist

示例3: 
选择bcsp传输速率：
[root@linuxcool ~]# bccmd -b 100bps abc


command_name: docker-compose
chinese_name: docker-compose命令 – 容器集群的快速编排工具
syntax: docker-compose [参数]
category: 其他命令(other)
description:
docker-compose命令来自英文词组“docker compose”的拼写，其功能是用于容器集群的快速编排工具。docker-compose命令是一个由Docker官方发布的开源项目，对所管理的容器分为了三层，分别是工程（project），服务（service）以及容器（container），能够进行容器集群的快速编排工作。

parameters:
|-d: 后台运行容器 |
|-f: 设置模板文件 |
|-p: 设置项目名称 |
|build: 创建或重建容器 |
|config: 验证配置文件 |
|create: 创建服务 |
|down: 停止和删除容器、网络、卷、镜像 |
|help: 显示帮助信息 |
|images: 列出镜像信息 |
|kill: 强制关闭容器 |
|logs: 查看项目中容器日志 |
|pause: 暂停容器 |
|ps: 显示容器列表 |
|restart: 重启容器 |
|rm: 删除所有停止状态的容器 |
|run: 在指定服务上运行命令 |
|scale: 设置服务运行的容器个数 |
|start: 启动容器 |
|stop: 停止容器 |
|top: 查看各个容器内运行的进程 |
|unpause: 恢复容器 |
|up: 终端运行容器 |

examples:
示例1: 
启动并后台运行容器：
[root@linuxcool ~]#docker-compose up -d

示例2: 
列出镜像信息：
[root@linuxcool ~]#docker-compose images

示例3: 
查看项目中容器的日志信息：
[root@linuxcool ~]#docker-compose logs -f

示例4: 
停止项目中的容器：
[root@linuxcool ~]#docker-compose stop


command_name: mutter
chinese_name: mutter命令 – GTK2窗口管理器
syntax: mutter [参数]
category: 其他命令(other)
description:
mutter命令是一款面向非技术用户的最小化X窗口管理器，它被设计成可以与GNOME桌面很好地集成。mutter缺少一些传统UNIX或其他技术用户所期望的功能；在GNOME或单机版中使用其他可用的窗口管理器。

parameters:
|--sm-disable: 禁止连接到会话管理器 |
|-r: 替换正在运行的窗口管理器 |
|--sm-client-id=ID: 指定会话管理 ID |
|-d, --display=DISPLAY: 要使用的 X Display |
|--display-server: 以完整显示服务器方式运行，而不是以嵌套方式 |
|--sync: 使 X 调用同步 |
|--wayland: 作为 wayland 混成管理器运行 |
|--nested: 作为嵌套混成器运行 |

examples:
示例1: 
禁止连接到会话管理器：
[root@linuxcool ~]# mutter --sm-disable

示例2: 
替换正在运行的窗口管理器：
[root@linuxcool ~]# mutter -r

示例3: 
以完整显示服务器方式运行，而不是以嵌套方式：
[root@linuxcool ~]# mutter --display-server


command_name: catman
chinese_name: catman命令 – 创建参考手册的格式化文件
syntax: catman [参数]
category: 其他命令(other)
description:
catman实用程序基于输入文件创建在线手册的预格式化版本。通过此功能，可以轻松地在一组关联的计算机之间分发预格式化手册页，因为此功能使预格式化手册页的目录成为自包含目录，独立于未格式化的条目。
系统会检查每个手册页，并对预格式化版本缺失或过期的手册页进行重新创建。如果进行了任何更改，则 catman 将重新创建索引文件。

parameters:
|–c: 基于 SGML 源在相应 man子目录中创建未格式化的 nroff 源文件 |
|–n: 不创建（或重新创建）索引文件 |
|–p: 模拟运行选项，即显示将执行的操作，而不实际执行 |
|–t: 在相应fmt子目录中创建经过troff处理的条目，而不是通过 nroff置入cat子目录 |

examples:
示例1: 
如果有一个不以“−” 开头的参数，则将其作为要由catman处理的手册节的空格分隔列表。如果指定了此操作数，则仅处理列表中的手册节：
[root@linuxcool ~]# catman 1 2 3

示例2: 
不创建（或重新创建）索引文件：
[root@linuxcool ~]# catman -n

示例3: 
显示将执行的操作：
[root@linuxcool ~]# catman -p


command_name: hash
chinese_name: hash命令 – 管理命令运行时查询的哈希表
syntax: hash [参数] [目录名]
category: 其他命令(other)
description:
hash命令来自英文词组hash algorithm的缩写，中文译为“哈希算法、杂凑算法”，其功能是管理命令运行时查询的哈希表。hash命令可以显示与删除命令运行时系统查询的哈希表信息，如果不加任何参数，则会默认输出路径列表的信息，这个列表会包含先前hash命令调用找到的shell环境中命令的路径名。

parameters:
|-f: 设置要进行哈希运算的文件路径 |
|-l: 显示哈希表中的命令 |
|-p: 将完整路径的命令加入哈希表 |
|-r: 清除哈希表中的记录 |
|--help: 显示帮助信息 |
|--verbose: 显示执行过程详细信息 |

examples:
示例1: 
显示哈希表中的命令：
[root@linuxcool ~]# hash -l 
builtin hash -p /usr/sbin/ifconfig ifconfig 
builtin hash -p /usr/bin/cat cat
builtin hash -p /usr/bin/pidof pidof

示例2: 
删除哈希表中的命令：
[root@linuxcool ~]# hash -r

示例3: 
向哈希表中添加命令：
[root@linuxcool ~]# hash -p /usr/sbin/adduser myadduser

示例4: 
在哈希表中清除记录：
[root@linuxcool ~]# hash -d 
hits     command 
   0     /usr/sbin/adduser


command_name: wall
chinese_name: wall命令 – 输出信息
syntax: wall [参数]
parameters: |messge: 消息：指定广播消息 |
category: 其他命令(other)
description:
wall命令用于向系统当前所有打开的终端上输出信息。通过wall命令可将信息发送给每位同意接收公众信息的终端机用户，若不给予其信息内容，则wall命令会从标准输入设备读取数据，然后再把所得到的数据传送给所有终端机用户。

examples:
示例1: 
传讯息”test” 给每一个使用者：
[root@linuxcool ~]# wall test

示例2: 
广播消息：
[root@linuxcool ~]# wall this is a test line

Broadcast message from root (pts/1) (Fri Dec 20 11:36:51 2013):

this is a test line


command_name: addr2line
chinese_name: addr2line命令 – 函数地址解析工具
syntax: addr2line [参数] [文件名]
category: 其他命令(other)
description:
addr2line命令来自英文词组“address to line”的缩写，其功能是将函数地址解析成文件名或行号的工具。给出一个可执行文件中的地址或一个可重定位对象中的偏移部分的地址，使用调试信息来找出与之相关的文件名和行号。

parameters:
|-a: 以十六进制形式显示地址 |
|-C: 将符号名解码为用户级别的名字 |
|-e: 设置需要转换地址的可执行文件名 |
|-f: 显示文件名、行号和函数名信息 |
|-F: 显示函数名及文件行号 |
|-j: 读取指定部分的偏移量，而不是绝对地址 |
|-p: 每个地址信息单独占一行 |

examples:
示例1: 
查看文件名、行号和函数名相关信息：
[root@linuxcool ~]#addr2line -f -e File.so

示例2: 
查看文件名、行号、函数名及十六进制形式地址信息：
[root@linuxcool ~]#addr2line -a File.so

示例3: 
查找指定的地址所对应的代码位置：
[root@linuxcool ~]#addr2line 0x00000000004005e7 -e test -f -C -s


command_name: gpg
chinese_name: gpg命令 – 对信息加密和解密
syntax: gpg [参数] [文件名]
category: 其他命令(other)
description:
gpg命令来自英文词组“GnuPG”的缩写，其功能是用于对信息加密和解密。gpg命令是Linux系统中对信息进行加解密和数字签名的免费工具，除了能使用常规密码加解密外，还提供了“公钥/私钥对”验证方式，随时随地都能发送加密信息，而且这种加密是单向的，只有我们自己的“密钥”才能解开密文。
而数字签名则是另一大使用方向，通过数字认证过的信息，他人能确保发布的信息来自你，并且没有经过他人篡改。

parameters:
|-c: 设置加密文件 |
|-o: 设置解密文件 |
|--armor: 使用ASCII封装 |
|--card-edit: 更改卡数据 |
|--card-status: 显示卡状态 |
|--check-sigs: 检查密钥签名 |
|--change-pin: 更改卡PIN |
|--decrypt: 解密数据 |
|--detach-sign: 生成分离的签名 |
|--delete-keys: 从公钥钥匙环中删除密钥 |
|--delete-secret-keys: 从私钥钥匙环中删除密钥 |
|--dry-run: 不做任何改变 |
|--export: 导出密钥信息 |
|--encrypt: 加密数据 |
|--edit-key: 编辑密钥信息 |
|--fingerprint: 显示密钥和指纹信息 |
|--gen-revoke: 生成一份吊销证书 |
|--gen-key: 生成密钥对 |
|--interactive: 覆盖前询问用户是否确认 |
|--import: 导入或合并密钥 |
|--lsign-key: 为密钥添加本地签名 |
|--list-keys: 查看已有的密钥列表 |
|--list-secret-keys: 显示密钥列表 |
|--output: 输出信息到文件 |
|--recv-keys: 从公钥服务器上导入密钥 |
|--refresh-keys: 在公钥服务器上更新密钥 |
|--search-keys: 从公钥服务器上搜索密钥 |
|--symmetric: 使用对称加密 |
|--sign: 生成一个签名 |
|--send-keys: 上传密钥到指定公钥服务器 |
|--sign-key: 为指定密钥添加签名 |
|--server: 使用服务器模式 |
|--text: 使用文本模式 |
|--update-trustdb: 更新信任数据库 |
|--verify: 验证签名 |
|--verbose: 显示执行过程详细信息 |

examples:
示例1: 
基于对称加密方式，加密指定文件：
[root@linuxcool ~]#gpg -c File

示例2: 
基于对称加密方式，解密指定文件：
[root@linuxcool ~]#gpg -o mydecrypt -d File.gpg

示例3: 
生成密钥对文件：
[root@linuxcool ~]#gpg --gen-key

示例4: 
查看已有密钥列表：
[root@linuxcool ~]#gpg --list-keys


command_name: trap
chinese_name: trap命令 – 指定采取的动作
description: trap命令用于指定在接收到信号后将要采取的动作，常见的用途是在脚本程序被中断时完成清理工作。当shell接收到sigspec指定的信号时，arg参数（命令）将会被读取，并被执行。
syntax: trap [参数]
category: 其他命令(other)
parameters:
|-l: 让shell打印一个命令名称和其相对应的编号的列表 |
|-p: 打印与每一个信号有关联的命令的列表 |
|缺省: 每个接收到的sigspec信号都将会被重置为它们进入shell时的值 |
|-f: 阻止中断信号 |

examples:
示例1: 
清理临时文件：
[root@linuxcool ~]$ trap "rm -f $WORKDIR/work1$ $WORKDIR/dataout$; exit" 2

示例2: 
忽略信号：
[root@linuxcool ~]$ trap '' 2

示例3: 
恢复信号的默认操作：
[root@linuxcool ~]$ trap 2

示例4: 
阻止中断操作信号：
[root@linuxcool ~]$ tail -f /var/log/test


command_name: wait
chinese_name: wait命令 – 等待指令执行完毕
syntax: wait [进程号或%作业号]
parameters: |数字: [进程号] | |%数字: %作业号 |
examples: 示例1: 等待执行的进程结束并输出返回值： [root@linuxcool ~]#wait 12345
category: 其他命令(other)
description:
wait命令的功能是用于等待指令执行完毕，常被用于Shell脚本中，用于等待某个指令执行结束后返回终端，然后才会继续执行后面的指令。
例如有个服务进程PID为12345，那么此时可以用“wait 12345”来持续等待此进程的结束，一旦进程结束则会将返回值输出到终端界面。


command_name: vgreduce
chinese_name: vgreduce命令 – 删除物理卷
description: vgreduce命令通过删除LVM卷组中的物理卷来减少卷组容量。不能删除LVM卷组中剩余的最后一个物理卷。
syntax: vgreduce [参数]
parameters: |-a: 如果命令行中没有指定要删除的物理卷，则删除所有的空物理卷 | |-removemissing: 删除卷组中丢失的物理卷，使卷组恢复正常状态 |
category: 其他命令(other)
examples:
示例1: 
从卷组”vg2000″中移除物理卷/dev/sdb2：
[root@linuxcool ~]# vgreduce vg2000 /dev/sdb2
Removed "/dev/sdb2" from volume group "vg2000"


command_name: bart
chinese_name: bart命令 -文件完整性扫描和报告
description: bart命令是一个基于规则的文件完整性扫描和报告工具，它使用加密强度的校验和和文件系统元数据来报告变化。
syntax: bart [参数]
category: 其他命令(other)
parameters:
|-i: 指定要在全局范围内忽略的文件属性 |
|-I: 指定输入的文件列表 |
|-n: 防止计算所有的内容签名 |
|-p: 在“程序模式”下显示清单比较输出，该模式适合进行程序解析 |
|-r rules_file: 使用rules_file可指定要在目录中列出哪些文件和目录，并定义要标记哪些文件属性差异 |
|-R root_directory: 指定清单的根目录 |

examples:
示例1: 
创建缺省清单但不计算校验和：
[root@linuxcool ~]# bart create -n

示例2: 
为指定子树创建清单：
[root@linuxcool ~]# bart create -R /home/linuxprobe

示例3: 
使用标准输入创建清单：
[root@linuxcool ~]# find /home/linuxprobe -print | bart create -I


command_name: zabbix-proxy
chinese_name: zabbix_proxy命令 – zabbix代理守护进程
syntax: zabbix_proxy [参数]
parameters: |-c: 配置文件路径 | |-f: 在前台运行Zabbix代理 | |-R: 根据运行时选项执行管理功能 |
category: 其他命令(other)
description:
zabbix_proxy是一个从设备收集监控数据并将其发送到Zabbix服务器的守护进程。
zabbix_proxy 收集被监控端的数据，先缓存到本地然后把数据传给zabbix_server，因为zabbix_proxy基本上是在收集数据，而不像server一样要处理数据，所以zabbix_proxy对硬件的要求相对不高。

examples:
示例1: 
启动zabbix_proxy服务：
[root@linuxcool ~]# zabbix_proxy -c zabbix_proxy.conf

示例2: 
在前台运行zabbix_proxy服务：
[root@linuxcool ~]# zabbix_proxy -c zabbix_proxy.conf -f

示例3: 
根据运行时选项执行管理功能：
[root@linuxcool ~]# zabbix_proxy -c zabbix_proxy.conf -R config_cache_reload


command_name: dc
chinese_name: dc命令 – 高精度计算器
syntax: dc [参数] [文件名]
parameters: |e: 指定表达式 | |f: 显示堆栈的所有内容 | |p: 输出堆栈最顶端的值 | |-f: 读取指定的脚本文件 |
category: 其他命令(other)
description:
dc命令来自英文词组“Desk Calculator”的缩写，中文译为“桌面计算器”，其功能是用于高精度数字计算。dc命令不仅可以进行简单的数学计算，还支持无限精度的运算，支持可定义和调用宏。用户可以直接在终端界面与dc命令互动，亦可以让dc命令读取指定的文件内容，并将处理结果输出到屏幕。

examples:
示例1: 
进行数学乘法的计算操作：
[root@linuxcool ~]#dc5
5
*
p25

示例2: 
进行数学开方的计算操作：
[root@linuxcool ~]#dc36
v
p6

示例3: 
进行数学指数的计算操作：
[root@linuxcool ~]#dc3 2 ^ p9

示例4: 
退出计算器工具：
[root@linuxcool ~]#dcq[root@linuxcool ~]#


command_name: sshpass
chinese_name: sshpass命令 – 非交互式验证SSH密码
syntax: sshpass [参数] [域名或IP地址]
parameters: |-f: 设置密码文件 | |-p: 设置密码值 |
category: 其他命令(other)
description:
sshpass命令来自英文词组“SSH password”的缩写，其功能是用于非交互式验证SSH密码。SSH是Linux系统平台中最常用的远程控制协议之一，使用ssh命令进行远程连接时需要交换式验证密码信息，不利于在Shell脚本中调用。而sshpass命令则很好地解决了这个脚本调用问题，用户可以直接将密码以参数的形式传递给命令，而无需交互式验证。

examples:
示例1: 
基于SSH协议远程连接到指定的服务器：
[root@linuxcool ~]#sshpass -p "password" ssh root@192.168.10.10

示例2: 
指定端口号，基于SSH协议远程连接到指定的服务器：
[root@linuxcool ~]#sshpass -p "password" ssh -p 8518 root@192.168.10.10

示例3: 
基于SSH协议远程连接到指定的服务器，并执行命令：
[root@linuxcool ~]#sshpass -p "password" ssh root@192.168.10.10 "poweroff"

示例4: 
读取本地密码文件，基于SSH协议远程连接到指定的服务器：
[root@linuxcool ~]#sshpass -f "passwd.txt" ssh root@192.168.10.10


command_name: cmatrix
chinese_name: cmatrix命令 – 代码雨风格屏幕保护
description: cmatrix命令是一个模拟黑客帝国风格的屏幕保护命令，使用它可以完成可定制的代码雨效果，它可以改变代码下落速度和颜色。
syntax: cmatrix [参数]
parameters: |-b: 随机粗体 | |-u: 刷新频率，0-9 | |-C: 显示的颜色，支持green,red,blue,white,yellow,cyan,magenta and black |
category: 其他命令(other)
examples:
示例1: 
更改屏保为随机粗体，红色字母：
[root@linuxcool ~]# cmatrix -b -C red

示例2: 
更改屏保为异步滚动：
[root@linuxcool ~]# cmatrix -a

示例3: 
更改为彩虹模式，速度调为最快：
[root@linuxcool ~]# cmatrix -r -u 0


command_name: jot
chinese_name: jot命令 – 创建数字列表
syntax: jot [参数]
parameters: |x: 打印x个数值 | |y: 数字y之后 | |z: 在数字y之后反转打印x个数字，直到数字z |
category: 其他命令(other)
description:
jot命令可以创建一系列数字。给定数字总数及起始数字即可。可帮助您根据您提供的值创建数字列表，作为起始编号和要在其后查看的值的数量。
通过jot执行计算的语法，并使用jot命令在Ubuntu命令行中执行高效数学运算。 不过可能首先需要安装Athena-jot才能在Ubuntu上使用jot命令。

examples:
示例1: 
在数字2之后打印6个数值：
[root@linuxcool ~]# joy 6 2
2
3
4
5
6
7

示例2: 
在数字10之后反转打印8个数字，直到数字2：
[root@linuxcool ~]# joy 8 10 2
10
9
8
7
5
4
3
2

示例3: 
从第1天(y值)开始打印12月份的9天(x值)：
[root@linuxcool ~]# $ for i in `jot 9 1`; do echo December$i; done
december1
december2
december3
december4
december5
december6
december7
december8
december9


command_name: asradm
chinese_name: asradm命令 – 自动服务请求注册实用程序
syntax: asradm [参数]
parameters: |-h: 设置连接Internet的HTTPS代理主机 | |-u: 设置代理的用户名 | |-p: 设置代理的密码 | |-n: 模拟发送事件消息 |
category: 其他命令(other)
description:
asradm 实用程序由特权系统管理员使用来注册主机，以便在Oracle Sun系统的Oracle自动服务请求（ASR）中注册。当发生特定的硬件故障时，使用自动案例生成可以提高系统的可用性并加快诊断过程。

examples:
示例1: 
设置连接Internet的HTTPS代理主机：
[root@linuxcool ~]# asradm set-proxy -h www.linuxcool.com

示例2: 
非交互式设置代理用户名和密码：
[root@linuxcool ~]# asradm register -u joe.admin@www.linuxcool.com -p password

示例3: 
查看模拟发送的消息内容：
[root@linuxcool ~]# asradm send -n audit


command_name: ansible
chinese_name: ansible命令 – 运维自动化工具
description: ansible是一款简单的运维自动化工具，只需要使用ssh协议连接就可以来进行系统管理，自动化执行命令，部署等任务。
syntax: ansible [参数]
category: 其他命令(other)
parameters:
|-m: 要执行的模块，默认为command |
|-a: 模块的参数 |
|-u: ssh连接的用户名，默认用root，ansible.cfg中可以配置 |
|-f: fork多少进程并发处理，默认为5个 |
|-i: 指定hosts文件路径，默认default=/etc/ansible/hosts |
|-M: 要执行的模块路径，默认为/usr/share/ansible |
|-t: 日志输出到该目录，日志文件名以主机命名 |

examples:
示例1: 
使用command模块，显示所有主机当前文件和目录：
[root@linuxcool ~]# ansible all -a "ls"

示例2: 
列出将执行ls该命令的主机：
[root@linuxcool ~]# ansible all -a "ls" --list-hosts

示例3: 
指定host主机，测试网络状态：
[root@linuxcool ~]# ansible 192.168.1.100 -m ping


command_name: continue
chinese_name: continue命令 – 结束本次循环
description: continue主要用途在于结束本次循环，继续执行下一个for，while或until循环；可指定从第几层循环继续执行。
syntax: continue
parameters: |n: 大于等于1的整数，用于指定从第几层循环继续执行 |
category: 其他命令(other)
examples:
示例1: 
continue的可选参数n缺省值为1：
for((i=3;i>0;i--)); do 
  for((j=3;j>0;j--)); do    
    if((j==2)); then  
      continue 
    fi   
printf "%s %s\n" ${i} ${j} 
  done   
done   
# 输出结果 3 3 3 1 2 3 2 1 1 3 1 1

示例2: 
当n为2时: 跳到外层for循环继续执行：
for((i=3;i>0;i--)); do  
  for((j=3;j>0;j--)); do   
   if((j==2)); then      
     continue 2   
   fi    
printf "%s %s\n" ${i} ${j} 
  done
done 
# 输出结果 3 3 2 3 1 3


command_name: pushed
chinese_name: pushed命令 – 向shell目录堆栈中添加记录
description: pushed命令用于将目录加入堆栈中，加入记录到目录栈顶部，并切换到该目录，如果不加任何参数， 则会将位于记录栈最上面的两个目录对换位置。
syntax: pushed [参数] [目录]
parameters: |-n: 将右起第n个目录移到堆栈顶（n从0开始计数） | |+n: 将左起第n个目录移到堆栈顶（n从0开始计数） |
category: 其他命令(other)
examples:
示例1: 
显示Shell默认的目录堆栈：
[root@linuxcool ~]# dirs
/var/log

示例2: 
向Shell目录堆栈中添加目录/etc：
[root@linuxcool ~]# pushed /etc

示例3: 
显示Shell目录堆栈内容，每行一个记录，并加序号：
[root@linuxcool ~]# dirs -v
0 /sbin
1 /etc
2 /var/log

示例4: 
将第一个记录移到堆栈顶：
[root@linuxcool ~]# pushed -1
/etc /var/log /sbin


command_name: lslogins
chinese_name: lslogins命令 – 显示系统中现有用户的相关信息
syntax: lslogins [参数]
category: 其他命令(other)
description:
lslogins命令会展示出系统中现有用户的相关信息，-u标记可用来标识只展示用户的账户。
该命令检查wtmp和btmp日志，/etc/shadow（如果需要）和 /etc/passwd并输出所需数据。

parameters:
|-a, --acc-expiration: 显示有关上次密码更改日期和账户到期日 |
|--btmp-file: btmp的备用路径 |
|-c, --colon-separate: 用冒号代替换行符 |
|-e, --export: 以NAME=VALUE格式输出数据 |
|-f, --failed: 显示有关用户上次失败登录尝试的数据 |
|-G, --supp-groups: 显示有关补充组的信息 |
|-L, --last: 显示包含有关用户上次登录会话的信息的数据 |
|-l, --logins: 仅显示登录名（用户）中指定登录名的用户的数据名称或用户名） |
|-o, --output: 指定要打印的输出列 |
|-p, --pwd: 显示与按密码登录相关的信息 |
|-r, --raw: 原始输出（无列） |
|-u, --user-accs: 显示用户帐户 |

examples:
示例1: 
展示出系统中现有用户的相关信息：
[root@linuxcool ~]# lslogins -u linuxcool

示例2: 
显示与按密码登录相关的信息：
[root@linuxcool ~]# lslogins -u linuxcool -p

示例3: 
显示有关补充组的信息：
[root@linuxcool ~]# lslogins -u linuxcool -G


command_name: auvirt
chinese_name: auvirt命令 – 显示与虚拟机相关的数据
syntax: auvirt [参数]
category: 其他命令(other)
description:
auvirt命令显示在审核日志中发现的访客会话列表。如果指定了访客，则仅考虑与该访客相关的事件。若要指定访客，可以同时提供 UUID 或 VM 名称。
对于每个访客会话，该工具将打印一个带域名的记录、启动访客的用户、访客启动的时间以及访客停止的时间。
如果指定参数”--all-events”，将显示更详细的输出。在此模式下，将显示其他记录，用于访客的停靠点、资源分配、主机关闭和 AVC 和异常事件。第一个字段指示事件类型，可以具有以下值：启动、停止、res、avc、anom 和向下（用于主机关闭）。
默认情况下，auvirt 从系统审核日志文件中读取记录。但是，可以指定 --stdin和 --file参数来更改此行为。

parameters:
|--all-events: 显示所有虚拟化相关事件的记录 |
|--debug: 将调试消息打印到标准输出 |
|-f, --filefile: 从给定文件中读取记录，而不是从系统审核日志文件 |
|-h, --help: 打印帮助消息 |
|--proof: 在每个事件之后添加一行，其中包含用于计算事件的审核记录的所有标识符。每个标识符由 unix 时间、毫秒和序列号组成 |
|--show-uuid: 将访客的 UUID 添加到每个记录中 |
|--stdin: 从标准输入读取记录，而不是从系统审核日志文件读取记录 |
|--summary: 打印包含有关找到的事件的信息的摘要。摘要包含考虑的时间范围、来宾启动和停止数、资源分配数、AVC 和异常事件数、主机关闭数和失败操作数 |
|-u, --uuidUUID: 仅显示与访客相关的事件与给定的 UUID |
|-v, --vmname: 仅显示与具有给定名称的访客相关的事件 |

examples:
示例1: 
查看访客名为linuxcool的本月的所有记录：
[root@linuxcool ~]# auvirt --start this-month --vm linuxcool --all-events

示例2: 
从指定定文件中读取记录：
[root@linuxcool ~]# auvirt -f file

示例3: 
将所有访客的 UUID 添加到每个记录中，我们需要指定一个输出文件：
[root@linuxcool ~]# auvirt --show-uuid > file


command_name: python
chinese_name: python命令 – 解释器、交互式、面向对象的编程语言
description: Python是一种解释型的、交互式的、面向对象的编程语言，它结合了非凡的功能和非常清晰的语法。Python Library Reference记录了内置的和标准的类型、常量、函数和模块。
syntax: python [参数]
parameters: |-c: 直接运行python语句 | |-v: 会输出每一个模块引用信息 | |-i: 运行完python脚本文件以后打开一个python环境 | |-m: 将模块按照脚本执行 |
category: 其他命令(other)
examples:
示例1: 
直接运行python语句：
[root@linuxcool ~]# python -c "print 'Hello world'"

示例2: 
查看python所有模块应用的信息：
[root@linuxcool ~]# python -v

示例3: 
运行完python脚本文件以后打开一个python环境：
[root@linuxcool ~]# python -i main.py

示例4: 
将模块按照脚本执行，实现一个简单的下载服务器：
[root@linuxcool ~]# python -m SimpleHTTPServer 80


command_name: ab
chinese_name: ab命令 – Web服务器的性能测试工具
description: ab命令是Apache的Web服务器的性能测试工具，它可以测试安装Web服务器每秒种处理的HTTP请求。
syntax: ab [参数]
category: 其他命令(other)
parameters:
|-A: 指定连接服务器的基本的认证凭据 |
|-c: 指定一次向服务器发出请求数 |
|-C: 添加cookie |
|-g: 将测试结果输出为“gnuolot”文件 |
|-H: 为请求追加一个额外的头； |
|-i: 使用“head”请求方式 |
|-p: 指定包含数据的文件 |
|-q: 不显示进度百分比 |
|-T: 使用POST数据时，设置内容类型头 |
|-x: 以表格方式输出时，设置表格的属性； |
|-y: 以表格方式输出时，设置表格属性 |

examples:
示例1: 
进行app接口的压测：
[root@linuxcool ~]# ab -n 400 -c 20 "http://www.xxx.com/api.php?sig=......"

示例2: 
进行post传参的压测：
[root@linuxcool ~]# ab -n 400 -c 20  -p parm.txt -T "application/x-www-form-urlencoded"

示例3: 
服务器测试：
[root@linuxcool ~]# ab -n 400 -c 20 "https://www.linuxcool.com"


command_name: tcpreplay
chinese_name: tcpreplay命令 – 性能或功能测试
syntax: tcpreplay [参数] [文件]
category: 其他命令(other)
description:
tcpreplay 是一种pcap包的重放工具，它可以将用ethreal、wireshark工具抓下来的包原样或经过任意修改后重放回去。它允许你对报文做任意的修改（主要是指对2层、3层、4层报文头），指定重放报文的速度等，这样tcpreplay就可以用来复现抓包的情景以定位bug，以极快的速度重放从而实现压力测试。

parameters:
|-A: -vA “nnt”表示以tcpdump风格输出报文信息，并且不打印时间戳、主机名、端口服务名称。注意不要使用-c参数来指定打印的数据报文的个数，这样发送出去的报文也会变少 |
|-c: 双网卡回放报文必选参数，后面紧跟cache文件名，该文件为tcpprep根据对应的pcap文件构造出来 |
|-i: 双网卡回放报文必选参数，指定主接口 |
|-K: 重写从网卡发送报文的源MAC地址 |
|-O: 没有测试使用 |

examples:
示例1: 
将 ftp.pcap [文件]进行 tcpprep 操作，制作 cache [文件]：
[root@linuxcool ~]# tcpprep -an client -i ftp.pcap -o ftp.cache –v

示例2: 
重放 tftp 服务器上抓到的报文 * a、在 tftp 服务器上使用 ethereal 抓包，存为 tftp.pcap [文件]。 b、将 pcap [文件]进行 tcpprep 的操作，制作 cache [文件]：
[root@linuxcool ~]# tcpreplay -c ftp.cache -i eth0 -j eth1 ftp.pcap -R –v


command_name: wget
chinese_name: wget命令 – 下载网络文件
syntax: wget [参数] [网址URL] [对象]
category: 其他命令(other)
description:
wget命令来自英文词组web get的缩写，其功能是从指定网址下载网络文件。wget命令非常稳定，一般即便网络发生波动也不会导致下载失败，而是不断地尝试重连，直至整个文件下载完毕。
wget命令支持如HTTP、HTTPS、FTP等常见协议，可以在命令行中直接下载网络文件。

parameters:
|-4: 基于IPv4网络协议 |
|-6: 基于IPv6网络协议 |
|-a: 将日志追加写入至指定文件 |
|-b: 启动后转入后台执行 |
|-c: 支持断点续传 |
|-d: 使用调试模式 |
|-e: 执行指定的命令 |
|-F: 将输入文件当作HTML处理 |
|-h: 显示帮助信息 |
|-i: 下载指定文件中的链接 |
|-l: 设置最大递归目录深度 |
|-nd: 不要创建目录 |
|-N: 只获取比本地更新的文件 |
|-o: 将日志信息写入指定文件 |
|-O: 设置本地文件名 |
|-P: 设置文件前缀 |
|-q: 静默执行模式 |
|-S: 显示服务器响应信息 |
|-t: 设置最大尝试次数 |
|-T: 设置最长等待时间 |
|-v: 显示执行过程详细信息 |
|-V: 显示版本信息 |
|-w: 设置等待间隔（秒） |
|-x: 强制创建目录 |
|--ask-password: 提示输入密码 |
|--limit-rate: 限制下载速度 |
|--no-dns-cache: 关闭DNS查询缓存 |
|--no-proxy: 禁止使用代理 |
|--password: 设置密码值 |
|--random-wait: 下载多个文件时，随机等待间隔（秒） |
|--spider: 仅检查文件是否存在 |
|--user: 设置用户名 |

examples:
示例1: 
下载指定的网络文件：
[root@linuxprobe ~]# wget https://www.linuxprobe.com/docs/LinuxProbe.pdf 
--2023-05-11 18:36:42-- https://www.linuxprobe.com/docs/LinuxProbe.pdf 
Resolving www.linuxprobe.com (www.linuxprobe.com)... 58.218.215.124 
Connecting to www.linuxprobe.com (www.linuxprobe.com)|58.218.215.124|:443... connected. 
HTTP request sent, awaiting response... 200 OK 
Length: 17676281 (17M) [application/pdf] 
Saving to: ‘LinuxProbe.pdf’ 

LinuxProbe.pdf   100%[=================================>] 16.86M 30.0MB/s   in 0.6s 

2023-05-11 18:36:42 (30.0 MB/s) - ‘LinuxProbe.pdf’ saved [17676281/17676281]

示例2: 
下载指定的网络文件，并定义保存在本地的文件名称：
[root@linuxcool ~]# wget -O Book.pdf https://www.linuxprobe.com/docs/LinuxProbe.pdf

示例3: 
下载指定的网络文件，限速最高每秒300kbit/s：
[root@linuxcool ~]# wget --limit-rate=300k https://www.linuxprobe.com/docs/LinuxProbe.pdf

示例4: 
启用断点续传技术下载指定的网络文件：
[root@linuxcool ~]# wget -c https://www.linuxprobe.com/docs/LinuxProbe.pdf

示例5: 
下载指定的网络文件，将任务放至后台执行：
[root@linuxcool ~]# wget -b https://www.linuxprobe.com/docs/LinuxProbe.pdf 
Continuing in background, pid 237616. 
Output will be written to ‘wget-log’.


command_name: msgen
chinese_name: msgen命令 – 创建英文邮件目录
description: msgen命令用于创建英文邮件目录。输入文件是最后输入的英文邮件或者一个邮件模板。该命令可以快速生成邮件模板。
syntax: msgen [参数]
category: 其他命令(other)
parameters:
|-D, --directory: 将目录添加到列表以进行输入文件搜索如果输入文件为-，则读取标准输入 |
|-o, --output-file: 将输出写入指定文件 |
|--color: 始终使用颜色和其他文本属性 |
|-e, --no-escape: 不在输出中使用转义符（默认） |
|-E, --escape: 在输出中使用转义符，没有扩展字符 |
|--force-po: 即使为空也写入邮件模板 |
|-i, --indent: 缩进输出样式 |
|--strict: 严格的统一输出样式 |

examples:
示例1: 
将目录添加到列表以进行输入文件搜索：
[root@linuxcool ~]# msgen -D /directory

示例2: 
将输出写入指定文件：
[root@linuxcool ~]# msgen -o file

示例3: 
对于需要特定输出样式的，需要在输出中使用转义符：
[root@linuxcool ~]# msgen -E


command_name: tmux
chinese_name: tmux命令 – 终端复用软件
syntax: tmux [参数]
parameters: |Ctrl+b: 激活控制台 | |?: 列出所有快捷键；按q返回 | |Ctrl+z: 挂起当前会话 | |r: 强制重绘未脱离的会话 | |s: 选择并切换会话；在同时开启了多个会话时使用 |
category: 其他命令(other)
description:
Tmux是一个优秀的终端复用软件，类似GNU Screen，但来自于OpenBSD，采用BSD授权.
使用它最直观的好处就是，通过一个终端登录远程主机并运行tmux后，在其中可以开启多个控制台而无需再“浪费”多余的终端来连接这台远程主机。

examples:
示例1: 
安装tmux软件：
[root@linuxcool ~]# brew install tmux
[root@linuxcool ~]# sudo apt-get install tmux
[root@linuxcool ~]# yum install -y tmux
[root@linuxcool ~]# yum install libevent libevent-devel ncurses-devel
[root@linuxcool ~]# tar -zvxf tmux-2.3.tar.gz # 
[root@linuxcool ~]# cd tmux-2.3
[root@linuxcool ~]# ./configure
[root@linuxcool ~]# make && make install


command_name: xlsatoms
chinese_name: xlsatoms命令 – 列出原子成分
description: xlsatoms命令用于列出X服务器内部所有定义的原子成分，每个原子成分都有自身的编号。可利用参数设置列表范围，或直接指定欲查询的成分名称。
syntax: xlsatoms [参数]
examples: 示例1: 显示编号为0的显示器的所有定义的原子成分 [root@linuxcool ~]# xlsatoms -display0
category: 其他命令(other)
parameters:
|-display<显示器编号>: 指定X Server连接的显示器编号，该编号由”0″开始计算，依序递增 |
|-format<输出格式>: 设置成分清单的列表格式，您可使用控制字符改变显示样式 |
|-name<成分名称>: 列出指定的成分 |
|-range<列表范围>: 设置成分清单的列表范围 |


command_name: write
chinese_name: write命令 – 发送信息
syntax: write [参数]
parameters: |用户: 指定要接受信息的登录用户 | |登陆终端: 指定接收信息的用户的登录终端 |
category: 其他命令(other)
description:
write命令用于向指定登录用户终端上发送信息。通过write命令可传递信息给另一位登入系统的用户，当输入完毕后，键入EOF表示信息结束，write命令就会将信息传给对方。如果接收信息的用户不只登入本地主机一次，你可以指定接收信息的终端机编号。

examples:
示例1: 
传信息给Rollaend：
[root@linuxcool ~]#write Rollaend

示例2: 
传信息给Rollaend、Rollaend的连线有pts/2：
[root@linuxcool ~]#write Rollaend pts/2


command_name: builtin
chinese_name: builtin命令 – 执行bash内建命令
syntax: builtin [参数]
parameters: |shell-builtin: 要调用的bash内建命令 | |arg: 传递给bash内建命令的一到多个参数 |
category: 其他命令(other)
description:
builtin命令用于执行指定的bash内建命令， builtin命令调用的bash内建命令优先于同名的外部命令及同名的shell函数。 返回该内建命令执行的返回值，除非传递的不是bash内建命令或该内建命令被禁用。

examples:
示例1: 
同名情况下的优先级顺序：builtin 内建命令 > 函数 > 内建命令 > 外部命令：
[root@linuxcool ~]# echo "the Great Wall" 
[root@linuxcool ~]# type -t echo 
[root@linuxcool ~]# echo(){printf "123\n" } 
[root@linuxcool ~]# echo 
[root@linuxcool ~]# type -t echo 
[root@linuxcool ~]# builtin echo -e "backslash \\"

示例2: 
执行shell内部指令，输出当前系统下的命令别名 ：
[root@linuxcool ~]# builtin alias 
[root@linuxcool ~]# alias cp='cp -i'  
[root@linuxcool ~]# alias l.='ls -d .* --color=tty'  
[root@linuxcool ~]# alias ll='ls -l --color=tty'  
[root@linuxcool ~]# alias ls='ls --color=tty'  
[root@linuxcool ~]# alias mv='mv -i'  
[root@linuxcool ~]# alias rm='rm -i'  
[root@linuxcool ~]# alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'


command_name: grub-crypt
chinese_name: grub-crypt命令 – 对口令进行加密
syntax: grub-crypt [参数]
parameters: |-- -md5: 使用MD5加密口令 | |-- -sha-256: 使用SHA-256加密口令 | |-- -sha-512: 使用SHA-512加密口令（默认） |
category: 其他命令(other)
description:
grub-crypt命令的作用是对口令进行加密。grub-crypt命令支持对口令进行MD5和SHA加密，默认情况下是对口令进行SHA-512加密。
SHA是Secure Hash Algorithm的简写，中文为安全散列算法，是美国国家安全局 设计，美国国家标准与技术研究院发布的一系列密码散列函数。由于SHA-1已经不太安全，目前SHA-2各版本已成为主流。

examples:
示例1: 
使用默认模式对口令进行加密：
[root@linuxcool ~]# grub-crypt 
Password: 
Retype password: 5476c925d9944226ce156be12bf3ce38889d141194c55794e6017c2e8e60d600fa01d19d6b371fa1921d0036dddc8708bc36d64dd9fc0350b839b8121a889ff2

示例2: 
使用MD5对口令进行加密：
[root@linuxcool ~]# grub-crypt --md5
Password:
Retype password: 
aa422445d1ae1263fe3ad6f508e4c53b

示例3: 
使用SHA-256对口令进行加密：
[root@linuxcool ~]# grub-crypt --sha-256
Password:
Retype password:
2b222ddcb1abfdd10ae57a759bf34a0e872220cf17ded40b82a42b321fcb585e


command_name: printf
chinese_name: printf命令 – 格式化输出信息
syntax: printf [参数] [对象]
category: 其他命令(other)
description:
printf命令来自英文词组“format and print”的缩写，其功能是用于格式化输出信息。Linux系统中的printf实际是一个模仿了C语言函数库中printf()的命令，让用户能够定制字符串的宽度、左右对齐格式、分隔符等参数，以便更好地按照自己想要的格式输出信息内容。

parameters:
|\a: 警告 |
|\b: 后退 |
|\ddd: 表示1到3位的八进制值字符 |
|\f: 换页 |
|\n: 换行 |
|\r: 回车 |
|\t: 水平制表符 |
|\v: 垂直制表符 |
|\\: 一个反斜杠 |

examples:
示例1: 
输出指定字符串内容，中间换行：
[root@linuxcool ~]#printf "Hello World\nWelcome to Linuxcool.com\n"Hello World
Welcome to Linuxcool.com

示例2: 
输出指定字符串内容，只保留到最后2位小数点：
[root@linuxcool ~]#printf "%.2f\n" 123.456789 1234.56789123.46
1234.57

示例3: 
输出指定字符串内容，两个内容之间间隔10个字符：
[root@linuxcool ~]#printf "%-10s %s\n" LiuChuan MaleLiuChuan   Male


command_name: pwdhash
chinese_name: pwdhash命令 – 密码哈希生成器
syntax: pwdhash [参数] [密码]
category: 其他命令(other)
description:
pwdhash命令的作用是可以在LDIF密码字段中生产可以使用的密码哈希值。
哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母，随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入，在计算上是不可能的，所以数据的哈希值可以检验数据的完整性。一般用于快速查找和加密算法。
在密码学中，hash算法的作用主要是用于消息摘要和签名，换句话说，它主要用于对整个消息的完整性进行校验。

parameters:
|-H: 显示摘要信息 |
|-s<方案>: 指定要使用的密码方案，比如MD5、SHA1、SHA256、SHA512、SSHA、SSHA256或SSHA512 |
|-c<密码><密码2>: 对密码进行比较 |
|-D<配置目录>: 从ns-slapd配置直接进入密码模式 |

examples:
示例1: 
产生密码linuxcool的哈希值：
[root@linuxcool ~]# pwdhash linuxcool

示例2: 
以密码方案MD5产生密码linuxcool的哈希值：
[root@linuxcool ~]# pwdhash -s MD5 linuxcool

示例3: 
对密码linuxcool和linux产生的哈希值进行比较：
[root@linuxcool ~]# pwdhash -c linuxcool linux


command_name: bootctl
chinese_name: bootctl命令 – 控制固件与systemd-boot引导管理器
description: bootctl能够检查 EFI 引导管理器状态、列出可用引导管理器、列出启动项， 还能够在当前系统上安装、更新、卸载 systemd-boot引导管理器。
syntax: bootctl [参数]
category: 其他命令(other)
parameters:
|--path=: ESP(EFI System Partition)的挂载目录。若未指定，那么将依次检查 /efi, /boot, /boot/efi 目录。 建议尽可能将 ESP 挂载到 /boot 目录 |
|-p,--print-path-: 此选项用于改变 status命令的行为， 让该命令仅显示 ESP(EFI System Partition) 的挂载目录之后 就立即退出 |
|--no-variables: 忽略固件中的引导管理器列表(存储在 EFI [变量]中) |
|--no-pager: 不将程序的输出内容管道(pipe)给分页程序 |
|-h, --help: 显示简短的帮助信息并退出 |
|--version: 显示简短的版本信息并退出 |

examples:
示例1: 
显示简要的固件信息、本次启动所使用的引导管理器等信息：
[root@linuxcool ~ ]# bootctl status

示例2: 
更新所有已安装的 systemd-boot 引导管理器：
[root@linuxcool ~]# bootctl update

示例3: 
将所有已安装的 systemd-boot 从 ESP(EFI system partition) 中卸载，并且从EFI引导管理器启动顺序列表中删除对应的项：
[root@linuxcool ~]# bootctl remove

示例4: 
列出所有符合 Boot Loader Specification 规范的 可用启动项、引导管理器自动生成的启动项、任何其他找到的启动项：
[root@linuxcool ~]# bootctl list

示例5: 
设置默认启动项。ID 是一个启动项 ID 标识符。 set-oneshot 命令仅临时设置下次启动所使用的默认启动项，而 set-default 命令则是永久设置默认启动项：
[root@linuxcool ~]# bootctl set-default ID, set-oneshot ID


command_name: shift
chinese_name: shift命令 – 向左移动参数
syntax: shift [参数]
parameters: |数字: 向左移动的个数 |
category: 其他命令(other)
description:
shift命令来自英文单词“移动”，其功能是用于向左移动参数。Linux命令能够一次性接收多个参数，可能是0个，也可能是5个，又或是15个，那么该如何逐一处理这些参数呢？
shift能够将命令接收到的参数逐个向左移动一位，即原本的$3变量会覆盖$2变量，原本的$2变量会覆盖$1变量，这样我们只需要每执行一次shift命令后调用$1变量，就能够实现对全部参数的处理工作了。

examples:
示例1: 
编写一个脚本，逐一输出在执行shift命令后的$1变量值，直至清空全部参数：
[root@linuxcool ~]#cat File.sh#!/bin/bash
while [ $# != 0 ] ; do
	echo "$1"
	shift
done
[root@linuxcool ~]#./File.sh AA BB CC DDAA
BB
CC
DD

示例2: 
将参数向左移动2位：
[root@linuxcool ~]#cat File.sh#!/bin/bash
while [ $# != 0 ] ; do
	echo "$1"
	shift 2
done
[root@linuxcool ~]#./File.sh AA BB CC DDAA
CC


command_name: vdfuse
chinese_name: vdfuse命令 – 挂载分区文件工具
description: vdfuse命令是VirtualBox软件挂载VDI分区文件的一个工具，VirtualBox是一款能创建虚拟机的开源软件，vdi是它的默认磁盘格式。
syntax: vdfuse [参数]
examples: 示例1: 挂载.vdi文件： [root@linuxcool ~]# sudo vdfuse -f /path/to/file.vdi /path/to/mountpoint
category: 其他命令(other)
parameters:
|-h: 帮助 |
|-r: 只读 |
|-t: 类型 (VDI, VMDK, VHD, or raw; default: auto) |
|-f: 镜像文件 |
|-a: 允许所有用户读取 |
|-w: 允许所有用户都写 |
|-g: 前台运行 |
|-v: 输出反馈 |
|-d: debug模式 |


command_name: test
chinese_name: test命令 – 检查条件是否成立
syntax: test [表达式]
parameters: |-eq: 等于 | |-ge: 大于等于 | |-gt: 大于 | |-le: 小于等于 | |-lt: 小于 | |-ne: 不等于 |
category: 其他命令(other)
description:
test命令来自英文单词“测试”，其功能是用于检查条件是否成立，能够对数值、字符和文件进行条件测试。Linux系统中的Shell脚本程序常用到此命令，与if条件控制语句搭配结合使用效果更好，这样只有当某个指定条件成立时才会执行后续代码，大大地提高了程序的灵活性和安全性，而不是不论条件是否满足都一股脑地跑完全部代码。

examples:
示例1: 
判断两个数值是否相等：
[root@linuxcool ~]#cat File.shnum1=100 
num2=100 
if test $[num1] -eq $[num2] then     
echo '两个数相等！' 
else     
echo '两个数不相等！' 
fi

示例2: 
判断两个字符串是否相同：
[root@linuxcool ~]#cat File.shstr1="LinuxPROBE" 
str2="LinuxCOOL" 
if test str1=ste2 then     
echo '两个字符串相同!' 
else     
echo '两个字符串不相同!' 
fi

示例3: 
判断文件是否存在：
[root@linuxcool ~]#cat File.shif test -e /bin/bash then     
echo '文件已存在!' else     
echo '文件不存在!' 
fi


command_name: history
chinese_name: history命令 – 显示与管理历史命令记录
description: history命令的功能是显示与管理历史命令记录。Linux系统默认会记录用户执行过的有命令，可以使用history命令查阅它们，也可以对其记录进行修改和删除操作。
syntax: history [参数]
parameters: |-a: 保存命令记录 | |-c: 清空命令记录 | |-d: 删除指定序号的命令记录 | |-n: 读取命令记录 | |-s: 添加命令记录到缓冲区 | |-w: 将缓冲区信息写入历史文件 |
category: 其他命令(other)
examples:
示例1: 
显示执行过的全部命令记录：
[root@linuxcool ~]# history 
    1 vim /etc/sysconfig/network-scripts/ifcfg-ens160 
    2 reboot 
    3 vim /etc/sysconfig/network-scripts/ifcfg-ens160 
    4 vim /etc/yum.repos.d/rhel.repo 
    5 mkdir /media/cdrom 
………………省略部分输出信息………………

示例2: 
显示最近执行过的5条命令：
[root@linuxcool ~]# history 5 
   11 exit 
   12 ifconfig 
   13 vim /etc/hostname 
   14 reboot
   15 history

示例3: 
将本次缓存区信息写入历史文件（~/.bash_history）：
[root@linuxcool ~]# history -w

示例4: 
将历史文件中的信息读入当前缓冲区：
[root@linuxcool ~]# history -r

示例5: 
将本次缓冲区信息追加写入历史文件（~/.bash_history）：
[root@linuxcool ~]# history -a

示例6: 
清空本次缓冲区及历史文件中的信息：
[root@linuxcool ~]# history -c


command_name: whatis
chinese_name: whatis命令 – 查询命令执行功能
syntax: whatis [参数]
parameters: |其他命令: 显示该命令的执行功能 |
category: 其他命令(other)
description:
whatis命令是用于查询一个命令执行什么功能，并将查询结果打印到终端上。
whatis命令在用catman -w命令创建的数据库中查找command参数指定的命令、系统调用、库函数或特殊文件名。whatis命令显示手册部分的页眉行。然后可以发出man命令以获取附加的信息。whatis命令等同于使用man -f命令。

examples:
示例1: 
ls命令执行情况：
[root@linuxcool ~]# whatis ls
ls                   (1)  - list directory contents
ls                   (1p)  - list directory contents

示例2: 
cp命令执行情况：
[root@linuxcool ~]# whatis cp
cp                   (1)  - copy files and directories
cp                   (1p)  - copy files

示例3: 
chown命令执行情况：
[root@linuxcool ~]# whatis chown
chown                (1)  - change file owner and group
chown                (1p)  - change the file ownership
chown                (2)  - change ownership of a file
chown                (3p)  - change owner and group of a file

示例4: 
man命令执行情况：
[root@linuxcool ~]# whatis man
man                  (1)  - format and display the on-line manual pages
man                  (1p)  - display system documentation
man                  (7)  - macros to format man pages
man                 (rpm) - A set of documentation tools: man, apropos and whatis.
man-pages           (rpm) - Man (manual) pages from the Linux Documentation Project.
man.config [man]     (5)  - configuration data for man


command_name: zabbix-server
chinese_name: zabbix_server命令 – zabbix服务器守护进程
description: zabbix_server是Zabbix软件的核心守护进程；获取数据、配置主机、发送邮件等等众多事情都是由zabbix_server完成。
syntax: zabbix_server [参数]
parameters: |-c: 配置文件路径 | |-n: 将数据转为nodeid | |-R: 执行管理功能，配置缓存 |
category: 其他命令(other)
examples:
示例1: 
启动zabbix_server服务器守护进程：
[root@linuxcool ~]# zabbix_server -c zabbix_server.conf

示例2: 
转为node模式：
[root@linuxcool ~]# zabbix_server -c zabbix_server.conf -n 15

示例3: 
配置缓存，配置缓存：
[root@linuxcool ~]# zabbix_server -c zabbix_server.conf -R config_cache_reload


command_name: redis-cli
chinese_name: redis-cli命令 – redis客户端管理工具
syntax: redis-cli [参数] [域名或IP地址]
category: 其他命令(other)
description:
redis-cli命令来自英文词组“Redis Command-Line Interface”的缩写，其功能是用于Redis客户端的管理。Redis是一个开放源码的内存数据存储结构，用作数据库、缓存和消息中介，而redis-cli命令则是redis-server的命令行客户端。

parameters:
|-a: 设置连接到服务器时使用的密码 |
|-c: 使用集群模式 |
|-h: 设置服务器主机名 |
|-i: 设置等待间隔时间 |
|-n: 设置数据库编号 |
|-p: 设置服务器端口 |
|-r: 设置执行指定命令N次 |
|-u: 设置服务器URL |
|--csv: 使用csv格式输出内容 |
|--no-auth-warning: [命令]行使用密码时，不显示警告信息 |
|--pipe: 发送原始格式的数据到服务器 |
|--rdb: 从远程服务器传输RDB dump到本地 |
|--stat: 显示关于服务器的滚动统计信息 |
|--scan: 显示服务器上的所有键 |
|--verbose: 显示执行过程详细信息 |

examples:
示例1: 
使用默认端口号连接到Redis服务器：
[root@linuxcool ~]#redis-cli -h 192.168.10.10

示例2: 
指定端口号连接到Redis服务器：
[root@linuxcool ~]#redis-cli -h 192.168.10.10 -p 6380

示例3: 
指定端口号及指定使用密码连接到Redis服务器：
[root@linuxcool ~]#redis-cli -h 192.168.10.10 -p 6380 -a Password


command_name: declare
chinese_name: declare命令 – 声明定义新的变量
syntax: declare [+参数] [-参数] [变量名]
category: 其他命令(other)
description:
declare命令来自英文单词“宣布、声明”，其功能是用于声明定义新的变量。使用declare命令新创建的变量仅可以在当前Shell环境下起作用，切换Shell环境后将无效，还需要提升成全局环境变量后方可使用。

parameters:
|-a: 声明变量为数组型 |
|-f: 显示函数 |
|-F: 不显示函数 |
|-g: 创建全局变量 |
|-i: 删除整型属性 |
|-l: 增加小写属性 |
|-n: 删除大写属性 |
|-p: 显示指定变量的定义和值 |
|-r: 定义只读变量 |
|-t: 删除追踪属性 |
|-x: 转换变量为环境变量 |
|+i: 增加整型属性 |
|+l: 增加大写属性 |
|+n: 增加大写属性 |
|+r: 增加只读属性 |
|+t: 增加追踪属性 |
|+x: 增加导出属性 |

examples:
示例1: 
显示当前系统中已定义的全部变量信息：
[root@linuxcool ~]#declare

示例2: 
声明定义一个新的变量：
[root@linuxcool ~]#declare URL="www.linuxcool.com"

示例3: 
声明定义一个新的变量，其赋值来来自于运算表达式的结果：
[root@linuxcool ~]#declare -i NUM=100+200

示例4: 
分别查看两个变量所对应的定义信息：
[root@linuxcool ~]#declare -p URL NUMdeclare -- URL="www.linuxcool.com"
declare -i NUM="300"

示例5: 
将指定的变量提升成全局环境变量：
[root@linuxcool ~]#declare -xURL

示例6: 
显示系统中所有的环境变量信息：
[root@linuxcool ~]#declare -xdeclare -x URL="www.linuxcool.com"
declare -x COLORTERM="truecolor"
declare -x DESKTOP_SESSION="gnome"
declare -x DISPLAY=":0"
declare -x GDMSESSION="gnome"
declare -x GDM_LANG="en_US.UTF-8"
declare -x GJS_DEBUG_OUTPUT="stderr"
………………省略部分输出信息………………


command_name: script
chinese_name: script命令 – 记录终端交互会话过程
syntax: script [参数] [文件]
parameters: |-a: 把会话记录附加到typescript文件或指定的文件后面，保留先前的内容 | |-c: 运行指定的命令而非交互shell | |-q: 安静运行模式 |
category: 其他命令(other)
description:
script命令可以用作交互终端会话过程的记录，保留用户输入和系统输出的全过程。以备之后查询与学习，对于初学者、保留工作记录和准备写材料的人而言，这是一个非常有用的工具
在下述语法中，输出文件是用于存储所有的上机会话过程。如果未指定输出文件，所有的会话过程将会写到当前工作目录的默认文件typescript中。

examples:
示例1: 
一个简单的会话过程记录：
[root@linuxcool ~]# script
 Script started, file is typescript
[root@linuxcool ~]# date
 Mon Sep 23 21:07:14 CST 2019
[root@linuxcool ~]# uname -r
 3.10.0-123.el7.x86_64
[root@linuxcool ~]# exit
 exit
 Script done, file is typescript
[root@linuxcool ~]# cat typescript
 Script started on Mon 23 Sep 2019 09:07:09 PM CST
[root@linuxcool ~]# date
 Mon Sep 23 21:07:14 CST 2019
[root@linuxcool ~]# uname -r
 3.10.0-123.el7.x86_64
[root@linuxcool ~]# exit
 exit
 Script done on Mon 23 Sep 2019 09:07:23 PM CST


command_name: pdbedit
chinese_name: pdbedit命令 – 管理Samba服务的用户账户
syntax: pdbedit [参数] [用户名]
category: 其他命令(other)
description:
pdbedit命令来自英文词组“password database editor”的缩写，其功能是用于管理Samba服务的用户账户，是Samba服务套件中自带有的一条命令。
pdbedit命令仅可由管理员执行，基于passdb模块化接口对smbpasswd、ldap、nis、tdb等数据库进行用户账户的管理，包含但不限于：添加、删除、修改、列出、导入等操作。

parameters:
|-a: 添加账户 |
|-C: 设置用户策略值 |
|-d: 设置调试级别 |
|-f: 设置用户全名 |
|-h: 设置家目录 |
|-I: 设置用户域 |
|-l: 设置日志文件的基本名称 |
|-L: 显示用户列表 |
|-m: 设置为设备用户 |
|-p: 设置配置文件路径 |
|-P: 设置用户访问密码 |
|-r: 修改账户 |
|-S: 设置登录脚本 |
|-z: 重置登录时间 |
|-t: 从标准输入中读取密码值 |
|-K: 设置开始时间 |
|-u: 指定账户 |
|-v: 显示用户列表及详细信息 |
|-V: 显示版本信息 |
|-w: 使用smbpasswd格式显示信息 |
|-x: 删除账户 |
|-?: 显示帮助信息 |

examples:
示例1: 
创建指定名称的Samba账户并设置密码：
[root@linuxcool ~]#pdbedit -a linuxprobenew password:输入用户密码retype new password:再次输入用户密码

示例2: 
显示Samba用户账户的详细信息：
[root@linuxcool ~]#pdbedit -Lv linuxprobeUnix username:        linuxprobe
NT username:          
Account Flags:        [U          ]
User SID:             S-1-5-21-3379578105-3148679143-1104846274-1000
Primary Group SID:    S-1-5-21-3379578105-3148679143-1104846274-513
Full Name:            linuxprobe
Home Directory:       \\linuxprobe\linuxprobe
HomeDir Drive:        
Logon Script:         
Profile Path:         \\linuxprobe\linuxprobe\profile
Domain:               LINUXPROBE.COM
Account desc:         
Workstations:         
Munged dial:          
Logon time:           0
Logoff time:          Wed, 06 Feb 2037 23:06:39 CST
Kickoff time:         Wed, 06 Feb 2037 23:06:39 CST
Password last set:    Mon, 17 Oct 2023 16:04:11 CST
Password can change:  Mon, 17 Oct 2023 16:04:11 CST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

示例3: 
删除指定名称的Samba账户：
[root@linuxcool ~]#pdbedit -x linuxprobe


command_name: factor
chinese_name: factor命令 – 分解因数
syntax: factor [参数]
parameters: |number: 40位以内的整数 | |pf: 主因子方法 | |pcf: 主成分因子 |
category: 其他命令(other)
description:
factor命令用于分解因数。
factor是Ubuntu自带的分解质因数的指令，速度飞快。系统自带的factor没用gmp，不支持2^128(大概40位)以上的数，如果自己编译coreutils使其支持gmp，就可以开始算任意位的数了。

examples:
示例1: 
60的分解因数：
[root@linuxcool ~]# factor 60
60:2 2 3 5

示例2: 
1987的分解因数（没有返回更多因子，这是因为 1987 是一个 质数）：
[root@linuxcool ~]# factor 1087
1987:1987

示例3: 
连续分解多个数字：
[root@linuxcool ~]# factor
60
60:2 2 3 5
1987
1987:1987

示例4: 
分解最大位数（40位）：
[root@linuxcool ~]# factor 170150000000000000000000000000000000000
factor: ‘170150000000000000000000000000000000000’ is too large


command_name: volname
chinese_name: volname命令 – 显示设备卷名称
description: volname命令用于显示指定的“ISO-9660”格式的设备的卷名称，通常这种格式的设备为光驱。
syntax: volname [参数]
parameters: |device: 设备文件名：指定要显示卷名称的设备。 |
category: 其他命令(other)
examples:
示例1: 
显示默认设备的卷标：
[root@linuxcool ~]# volname

示例2: 
显示指定设备的卷标：
[root@linuxcool ~]# volname /dec/sbd4
[root@linuxcool ~]# volname /linuxcool/test.iso


command_name: slrn
chinese_name: slrn命令 – 新闻组阅读程序
description: slrn是一个很容易使用的新闻组阅读程序，提供全屏幕的图形操作界面，让用户能轻松地阅读与管理新闻组。
syntax: slrn [参数]
category: 其他命令(other)
parameters:
|C: 使用彩色模式 |
|create: 第一次连上某台新闻组服务器时，必须使用此参数，以便下载服务器中的组清单，并保存在指定的newsrc文件中 |
|help: 显示帮助 |
|version: 显示版本信息 |

examples:
示例1: 
启用彩色模式:
[root@linuxcool ~]# slrn C

示例2: 
显示帮助信息：
[root@linuxcool ~]# slrn help

示例3: 
显示版本信息：
[root@linuxcool ~]# slrn version


command_name: lessecho
chinese_name: lessecho命令 – 展开元字符
description: lessecho是一个简单地在标准输出上重复其参数的程序，但是任何包含空格的参数都要用引号括起来。
syntax: lessecho [参数]
category: 其他命令(other)
parameters:
|-ox: 指定“x”作为左引号字符 |
|-cx: 将“x”指定为右引号字符 |
|-pn: 指定“n”作为一个整数作为左引号字符 |
|-dn: 将“n”指定为右引号字符，作为整数 |
|-mx: 指定“x”为元字符 |
|-nn: 指定“n”为元字符，作为整数 |
|-ex: 指定“x”作为metachars的转义字符 |
|-fn: 指定“n”作为metachars的转义字符，作为整数 |
|-a: -a指定引用所有参数,默认情况下，只引用包含空格的参数 |

examples:
示例1: 
在文件中指定“x”作为左引号字符：
[root@linuxcool ~]# lessecho -ox

示例2: 
指定“n”作为一个整数作为左引号字符：
[root@linuxcool ~]# lessecho -pn

示例3: 
指定“x”为元字符：
[root@linuxcool ~]# lessecho -mx


command_name: named-checkzone
chinese_name: named-checkzone命令 – 检查和转换
description: named-checkzone命令可以进行区域文件有效性检查和转换，必须指定区域名称和区域文件名称。
syntax: named-checkzone [参数]
parameters: |-q: 安静模式 | |-d: 启用调试 | |-c: <类别> 指定区域的类别 |
category: 其他命令(other)
examples:
示例1: 
对区域文件/var/named/192.168.0.rev进行有效性检查和转换：
[root@linuxcool ~]# named-checkzone 0.168.192.in-addr.arpa /var/named/192.168.0.rev
zone0.168.192.in-addr.arpa/IN: loaded serial 1268360612
OK

示例2: 
对区域文件/var/named/sh.com.hosts进行有效性检查和转换：
[root@linuxcool ~]# named-checkzone sh.com /var/named/sh.com.hosts
zonesh.com/IN: sh.com/MX 'mail.sh.com' is a CNAME (illegal)
zonesh.com/IN: loaded serial 1268360234
OK


command_name: ntp-keygen
chinese_name: ntp-keygen命令 – 生成NTP主机密钥
syntax: ntp-keygen [参数]
category: 其他命令(other)
description:
ntp-keygen命令的作用是可以生成NTP主机密钥（公钥和私钥）。
公钥和私有密钥是一对，如果用公开密钥对数据进行加密，只有用对应的私有密钥才能解密。如果用私有密钥对数据进行加密，只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥，所以这种加密叫作非对称加密。
常用的非对称加密算法有：ElGamal、RSA、DH等。

parameters:
|-M: 生成MD5密钥 |
|-H: 生成RSA主机密钥 |
|-S<签名密钥>: 生成指定类型的签名密钥，类型可以是RSA或DSA |
|-i<发行人名称>: 设置发行人名称 |
|-s<主题名称>: 设置主题名称 |
|-P: 生成计算机私有证书 |
|-p<密码>: 加密生成一个包含有密码和DES-CBC算法的私有数据文件 |
|-q<密码>: 为读取文件的密码设置密码 |
|-m<模块尺寸>: 设置初期模块尺寸（256~2048位）。默认大小为512 |
|-e: 写入身份密钥 |
|-T: 生成一个受信任的证书 |
|-d: 启用调试 |
|-G: 为GQ识别方案生成参数和密钥，来淘汰任何可能存在的 |
|-g: 使用现有GQ参数为GQ识别方案生成密钥。如果GQ参数还不存在，先创建它们 |
|-I: 生成用于IFF识别方案的参数，来淘汰任何可能存在的 |
|-V<数字>: 为MV识别方案生成参数和密钥 |
|-c<方案>: 选择证书信息摘要/签名加密方案，可以是RSA-MD2、RSA-MD5、RSA-SHA、RSA-SHA1、RSA-MDC2、RSA-RIPEMD160、RSA-SHA或RSA-SHA1 |

examples:
示例1: 
加密生成一个包含有密码和DES-CBC算法的私有数据文件：
[root@linuxcool.com~]# ntp-keygen -p linuxcool

示例2: 
生成RSA类型的NTP主机密钥：
[root@linuxcool.com~]# ntp-keygen -S RSA

示例3: 
生成受信任的证书：
[root@linuxcool.com~]# ntp-keygen -T


command_name: zabbix-get
chinese_name: zabbix_get命令 – zabbix获取数据实用工具
syntax: zabbix_get [参数]
parameters: |-s: 指定客户端主机名或者IP | |-p: 客户端端口，默认：10050 | |-I: 指定源IP | |-k: 想要获取的key |
category: 其他命令(other)
description:
zabbix_get 是一个命令行工具，用于从 Zabbix 代理获取数据。
zabbix_get 是在server端用来检查agent端的一个命令，在添加完主机或者触发器后，不能正常获得数据，可以用zabbix_get来检查能否采集到数据，以便判断问题症结所在。

examples:
示例1: 
获取主机的负载数据：
[root@linuxcool ~]# zabbix_get -s 127.0.0.1 -p 10050 -k "system.cpu.load[all,avg1]"

示例2: 
获取主机名：
[root@linuxcool ~]# zabbix_get -s 127.0.0.1 -p 10050 -I 127.0.0.1 -k "system.hostname"

示例3: 
获取监控nginx状态：
[root@linuxcool ~]# zabbix_get -s 127.0.0.1 -p 10050 -k nginx.status[active]


command_name: vgrename
chinese_name: vgrename命令 – 重命名卷组
syntax: vgrename [参数]
parameters: |-d: 启用调试模式 | |-t: 启用测试模式 |
category: 其他命令(other)
description:
在Linux下使用新硬盘安装系统，安装好以后再挂载原来的硬盘，分区格式全为系统默认分区，系统默认使用的是lvm格式，并且默认的卷都是 VolGroup00。我们此时就需要使用vgrename命令来重命名卷组，来解决重名的冲突。

examples:
示例1: 
重命名卷组/dev/vg1为/dev/vg2：
[root@linuxcool ~]# vgrename /dev/vg1 /dev/vg2
  Volume group "vg1" successfullyrenamed to "vg2"

示例2: 
重命名卷组vg1为vg2：
[root@linuxcool ~]# vgrename vg1 vg2
  Volume group "vg1" successfully renamed to "vg2"


command_name: php
chinese_name: php命令 – PHP语言的命令行接口
description: php命令是流行的Web开发语言PHP的命令行接口，可以使用PHP语言开发基于命令行的系统管理脚本程序。 使用的通用目的脚本语言，特别适合Web开发，可以嵌入到HTML中。
syntax: php [参数]
category: 其他命令(other)
parameters:
|-q: 安静模式，HTTP头输出（只有CGI） |
|-g<名称>: 在脚本中使变量为全局变量 |
|-f<文件>: 解析和执行文件 |
|-a: 运行PHP交互方式 |
|-b<地址：端口>: 为外部FASTCGI服务器模式(CGI)绑定路径 |
|-r<代码>: 运行PHP代码，而无需使用脚本标记“<?..?>” |
|-e: 为调试器/分析器生成扩展信息 |
|-n: 没有php.ini文件将被使用 |
|-z<文件>: 加载Zend扩展文件 |
|-H: 从外部工具隐藏脚本名称（文件）和参数 |
|--rf: 显示有关函数名都信息 |
|-l: 只进行语法检查 |
|--rc: 显示有关类名的信息 |
|--re: 显示有关扩展名的信息 |
|--ri: 名字显示 |
|--ini: 显示配置文件名 |
|-C: 不chdir到脚本的目录 |
|-c<路径|文件>: 在指定目录路径中查找php.ini文件，或使用指定的文件 |
|-i: PHP信息和配置 |
|-T<总数>: 测量脚本重复次数的执行时间 |
|-m: 在模块中显示编译 |
|-s: 输出HTML语法高亮显示源代码 |
|-F<文件>: 对每个输入行解析和执行文件 |
|-E<代码>: 处理所有的输入行后运行PHP代码 |
|-B<代码>: 处理输入行之前运行PHP代码 |
|-w: 输出源，注释和空白 |
|-R<代码>: 对每一个输入行运行PHP代码 |
|-v: 查看版本 |

examples:
示例1: 
查看PHP版本:
[root@linuxcool ~]# php -v
PHP 5.3.3 (cli) (built: Mar 22 2017 12:27:09)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

示例2: 
对/root/mm.php文件进行语法检查:
[root@linuxcool ~]# php -l /root/mm.php

示例3: 
显示PHP信息和配置:
[root@linuxcool ~]# php -i

示例4: 
写入文本Hello Linux到标准输出:
[root@linuxcool ~]# php -r 'echo "Hello Linuxn";'
Hello Linux


command_name: zabbix-agentd
chinese_name: zabbix_agentd命令 – Zabbix客户端守护程序
syntax: zabbix_agentd [参数]
parameters: |-c: 配置文件路径 | |-p: 打印出所有的item | |-t: 测试指定item key |
category: 其他命令(other)
description:
zabbix_agentd 是一个用于监控各种服务器参数的守护进程。
zabbix_agentd是安装到被监控服务器上，zabbix_agentd又是一个跨平台工具，zabbix_server便可以和zabbix_agentd通信来获取数据。

examples:
示例1: 
列出所有的items：
[root@linuxcool ~]# zabbix_agentd -p

示例2: 
测试指定的key：
[root@linuxcool ~]# zabbix_agentd -t system.uptime -c zabbix_agentd.conf

示例3: 
启动zabbix_agentd：
[root@linuxcool ~]# zabbix_agentd -c zabbix_agentd.conf


command_name: nmtui
chinese_name: nmtui命令 – 管理网卡配置参数
syntax: nmtui
parameters: |Activate a connection: 激活网卡 | |Edit a connection: 编辑网卡 | |Set system hostname: 设置主机名 |
examples: 示例1: 进入网卡参数配置界面： [root@linuxcool ~]# nmtui
category: 其他命令(other)
description:
nmtui命令来自英文词组network manager tui的缩写，其功能是管理网卡配置参数。用户可以使用nmtui命令在终端下调出类图形界面，然后使用方向键和Enter键即可进行控制，因此对于不会使用nmcli命令的新手管理员来讲十分友好。


command_name: archive
chinese_name: archive命令 – 新闻组文件备存程序
description: archive会读取新闻组的文件，然后加以备存。archive备存时，会保存[源文件]中文件的目录阶层。
syntax: archive [参数]
category: 其他命令(other)
parameters:
|-a<备存目录>: 指定备存的目录 |
|-f: 将阶层目录名称的阶层关系取消，以句点来取代斜线 |
|-i<索引文件>: 制作文件索引 |
|-m: 将文件复制到目的地，建立文件连接后，以连接取代原始的文件 |
|-r: archive预设的标准错误输出为/var/errlog，-r参数可取消此功能 |

examples:
示例1: 
指定目录进行备份：
[root@linuxcool ~]# archive -a ./linuxcool

示例2: 
将文件关联起来：
[root@linuxcool ~]# archive -i test.txt

示例3: 
取代文件：
[root@linuxcool ~]# archive -m test.txt


command_name: break
chinese_name: break命令 – 结束for while或until循环
description: break命令用于结束for，while或until循环，可指定退出几层循环。
syntax: break [参数]
parameters: |n: 大于等于1的整数，用于指定退出几层循环 |
category: 其他命令(other)
examples:
示例1: 
break的可选参数n缺省值为1：
for((j=3;j>0;j--)); do   
  for((i=3;i>0;i--)); do   
    if((j==2)); then  
      break     
    fi   
printf "%s %s\n" ${i} ${j}  
  done 
done  
# 输出结果 3 3 2 3 1 3

示例2: 
当n为2时: 退出两层循环，结束：
for((i=3;i>0;i--)); do   
  for((j=3;j>0;j--)); do    
   if((j==2)); then   
     break 2 
   fi   
printf "%s %s\n" ${i} ${j}
  done           
done  
# 输出结果 3 3


command_name: rmmod
chinese_name: rmmod命令 – 移除内核模块
syntax: rmmod [参数] [模块名]
category: 其他命令(other)
description:
rmmod命令来自英文词组“remove module”的缩写，其功能是用于移除内核模块。Linux操作系统的内核具有模块化的特点，运维人员可以使用rmmod命令移除不需要的内核模块，待有需要时再重新加载回来它们。

parameters:
|-a: 删除所有目前不需要的模块 |
|-f: 强制移除模块而不询问 |
|-s: 将信息写入至日志服务中 |
|-v: 显示执行过程详细信息 |
|-V: 显示版本信息 |
|-w: 确认模块能被删除时再操作 |

examples:
示例1: 
移除指定内核模块并显示过程信息：
[root@linuxcool ~]#rmmod -v bridge

示例2: 
移除指定内核模块并将错误信息写入日志：
[root@linuxcool ~]#rmmod -s bridge

示例3: 
等待模块能够被移除时，然后再进行移除操作：
[root@linuxcool ~]#rmmod -w bridge

示例4: 
强制移除指定内核模块：
[root@linuxcool ~]#rmmod -f bridge


command_name: xconfigurator
chinese_name: xconfigurator命令 – 设置XFree86
description: 这是Red Hat公司遵循GPL规则所开发的程序，它具有互动式操作界面，您可以轻易地利用方向键和空格键等，设置显卡和显示器，并选择欲使用的画面分辨率与色彩深度，最后保存配置文件XF86Config。
syntax: xconfigurator [参数]
category: 其他命令(other)
parameters:
|--card: 设置显卡的型号，可用”--help”参数查询型号列表 |
|--expert: 启用专家模式，增加用户得以自行选择的项目而非由程序完全自动检测 |
|--help: 在线帮助 |
|--kickstart: 启用全自动模式 |

examples:
示例1: 
设置显卡的型号：
[root@linuxcool ~]# xconfigurator card

示例2: 
设置显示器的型号：
[root@linuxcool ~]# xconfigurator monitor

示例3: 
设置水平扫描频率：
[root@linuxcool ~]# xconfigurator hsync "1024 768"


command_name: troff
chinese_name: troff命令 – 格式化打印机和字符终端的文本
syntax: troff [参数]
category: 其他命令(other)
description:
troff格式化打印机和字符终端的文本，是 Unix 历史上最重要的软件之一。
像 roff，nroff 和 groff 一样，troff 是由 Jerome Saltzer 在 20 世纪 60 年代中期为麻省理工学院的 CTSS 操作系统编写的名为 RUNOFF 的文本格式化程序的后代。名称 RUNOFF 来自短语“运行文档”，意思是最终确定文档，或准备发布或演示文稿。
虽然其他排版软件包如 LaTeX 多年来已经得到了广泛的应用，但 troff 仍然在 Unix 中广泛使用，并且是人类的默认类型格式化程序。

parameters:
|-a: 生成排版输出的ASCII近似值 |
|-b: 使用每条警告或错误消息打印回溯， 此回溯应有助于追踪错误原因 |
|-c: 禁用颜色输出（在兼容模式下始终禁用） |
|-C: 启用兼容模式 |
|-E: 禁止troff的所有错误消息 |
|-i: 在处理完所有命名输入文件后读取标准输入 |
|-z: 抑制格式化输出 |

examples:
示例1: 
指定要优化格式的文件：
[root@linuxcool ~]# troff file

示例2: 
输出原格式文件：
[root@linuxcool ~]# troff -z file

示例3: 
禁用颜色输出：
[root@linuxcool ~]# troff -c file


command_name: mkinitrd
chinese_name: mkinitrd命令 – 建立ramdisk映像文件
syntax: mkinitrd [参数]
parameters: |-f: 若指定的映像问家名称与现有文件重复，则覆盖现有的文件 | |-v: 执行时显示详细的信息 | |--version: 显示版本信息 |
category: 其他命令(other)
description:
mkinitrd命令建立要载入ramdisk的映像文件，以供Linux开机时载入ramdisk。
这个是重新封包核心的命令，例如你自己修改了一个设备的驱动，如果这个驱动要加入核心级别的话，就需要对核心进行重新封包，把新加的配置编译到核心内部去！

examples:
示例1: 
显示版本信息：
[root@linuxcool ~]# mkinitrd  text.img --version

示例2: 
执行时显示详细的信息：
[root@linuxcool ~]# mkinitrd  text.img -v

示例3: 
建立test.img文件,并显示详细信息,如有同名则覆盖：
[root@linuxcool ~]# mkinitrd -v -f text.img $(uname -r)


command_name: xlsclients
chinese_name: xlsclients命令 – 列出应用程序
description: xlsclients命令用来列出显示器中的客户端应用程序。
syntax: xlsclients [参数]
category: 其他命令(other)
parameters:
|-a: 列出所有显示器的客户端应用程序信息 |
|-display<显示器编号>: 指定X Server连接的显示器编号，该编号由”0″开始计算，依序递增 |
|-l: 使用详细格式列表 |
|-m<最大指令长度>: 设置显示指令信息的最大长度，单位以字符计算。 |

examples:
示例1: 
列出所有显示器的客户端应用程序信息 ：
[root@linuxcool ~]# xlsclients -a

示例2: 
显示编号为0的显示器的应用程序信息：
[root@linuxcool ~]# xlsclients -display0


command_name: aimanifest
chinese_name: aimanifest命令 – 修改自动安装程序使用的XML文件
syntax: aimanifest [参数]
parameters: |-i: 在添加新数据之前，不要清除数据 | |-r: 返回到受影响节点的唯一路径 | |validate: 验证XML数据 |
category: 其他命令(other)
description:
aimanifest命令可以创建一个新的 XML 清单或修改一个现有的清单。虽然 aimanifest 可以用于任何包含对 DTD 定义的有效 !DOCTYPE 引用的 XML [文件]，但它旨在创建自动安装程序 (AI) 使用的衍生清单。

examples:
示例1: 
添加新数据到清单列表：
[root@linuxcool ~]# aimanifest load -i linuxcool.xml

示例2: 
返回到受影响节点的唯一路径：
[root@linuxcool ~]# aimanifest add -r /home/linuxprobe true

示例3: 
验证清单里面的XML数据：
[root@linuxcool ~]# aimanifest validate


command_name: shuf
chinese_name: shuf命令 – 产生随机的排列
description: shuf命令将输入的内容随机排列并输出。 shuf命令当没有文件或文件为-时，读取标准输入。
syntax: shuf [参数]
parameters: |-e: 将每个ARG视为输入行 | |-i: 将数字范围LO（最低）到HI（最高）之间的作为输入行 | |--help: 显示帮助信息并退出 |
category: 其他命令(other)
examples:
示例1: 
模拟硬币抛掷，获取前10个结果：
[root@linuxcool ~]# shuf -r -n 10 -e "正面" -e "反面"
反面
正面
正面
正面
反面
反面
反面
正面
正面
正面

示例2: 
模拟体彩超级大乐透：
[root@linuxcool ~]# shuf -i 1-35 -n 5|sort -n && shuf -i 1-12 -n 2|sort -n
4
17
20
29
31
6
11


command_name: pv
chinese_name: pv命令 – 管道查看器
syntax: pv [参数] [文件]
category: 其他命令(other)
description:
pv命令来自于英文词组”Pipe viewer“的缩写，其功能是用于管道查看器。pv命令能够通过管道显示数据处理进度信息，包含已经耗费的时间、完成百分比、当前速度、全部传输的数据以及预估剩余时间等信息。

parameters:
|-p: 显示进度条 |
|-t: 显示任务已经进行的时长 |
|-e: 显示剩余多长时间完成 |
|-r: 显示当前传输速率 |
|-a: 显示平均传输速率 |
|-b: 显示传输的字节数 |
|-F: 设置输出格式为format |
|-n: 显示进度百分比 |
|-q: 不输出任何信息 |
|-W: 在传输第一个字节之前不显示任何内容 |

examples:
示例1: 
显示与操作有关的有用信息，包括已经传输了的数据量，花费的时间，传输速率，进度条，进度的百分比，以及剩余的时间:
[root@linuxcool ~]# pv /media/himanshu/1AC2-A8E3/fNf.mkv > ./Desktop/fnf.mkv

示例2: 
使用 -n 选项来允许 pv [命令]显示整数百分比，在标准错误输出上每行显示一个数字，用来替代通常的可视进度条:
[root@linuxcool ~]# pv -n /media/himanshu/1AC2-A8E3/fNf.mkv > ./Desktop/fnf.mkv

示例3: 
列出存储池中具有特定名称的物理卷，请输入以下命令:
[root@linuxcool ~]# pv –list –attr pv_name=hdisk7

示例4: 
列出存储池中具有特定名称的物理卷，请输入以下命令:
[root@linuxcool ~]# pv –list –attr pv_name=hdisk7
 POOL_NAME: testsp
 TIER_NAME : tier1
 FG_NAME : fg2
 PV_NAME     SIZE(MB)    STATE        UDID
 hdisk7      10240       ONLINE                3E213600A0B80006E25060000D2E64F755F420F1828    FAStT03IBMfcp


command_name: command
chinese_name: command命令 – 调用并执行指定的命令
syntax: command [参数] [命令]
parameters: |-p: 使用指定路径搜索命令 | |-v: 搜索命令信息但是不执行 |
category: 其他命令(other)
description:
command命令来自英文单词“命令”，其功能是用于调用并执行指定的命令。当系统同时定义了与命令相同的函数时，command命令会忽略Shell函数，而去执行相应的Linux命令。对于绝大部分的Linux系统命令无需使用此命令调用，可直接在Shell终端执行，因此很多运维人员会对此命令感到陌生。

examples:
示例1: 
调用并执行指定的命令：
[root@linuxcool ~]#command fdisk -lDisk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xe2147da7
………………省略部分输出信息………………

示例2: 
调用并执行指定的命令：
[root@linuxcool ~]#command uptime14:49:59 up  1:18,  1 user,  load average: 0.01, 0.05, 0.18


command_name: seq
chinese_name: seq命令 – 打印数字序列
description: seq命令用于以指定增量从首数开始打印数字到尾数，即产生从某个数到另外一个数之间的所有整数，并且可以对整数的格式、宽度、分割符号进行控制。
syntax: seq [参数]
parameters: |-f: 格式 | |-s: 字符串 | |-w: 在列前添加0 使得宽度相同 |
category: 其他命令(other)
examples:
示例1: 
产生5以内的整数:
[root@linuxcool ~]# seq 5

示例2: 
产生98~101之间的整数，并且要求数字之间的分隔符为”:::”:
[root@linuxcool ~]# seq -s ":::" -f "%03g" 98 101


command_name: setsid
chinese_name: setsid命令 – 新会话中运行程序
syntax: setsid [参数]
parameters: |-c: 将控制终端设置为当前控制终端 | |-f: 总是 fork | |-w: 等待程序退出，并使用相同的返回 |
category: 其他命令(other)
description:
setsid命令子进程从父进程继承了：SessionID、进程组ID和打开的终端。子进程如果要脱离这些，代码中可通过调用setsid来实现。
命令行或脚本中可以通过使用命令setsid来运行程序实现。setsid帮助一个进程脱离从父进程继承而来的已打开的终端、隶属进程组和隶属的会话。

examples:
示例1: 
在新的会话中运行程序及命令：
[root@linuxcool ~]# setsid ping www.linuxprobe.com
[root@linuxcool ~]# ps -ef |grep www.linuxprobe.com
root 31094 1 0 07:28 ? 00:00:00 ping www.linuxprobe.com
root 31102 29217 0 07:29 pts/4 00:00:00 grep www.linuxprobe.com


command_name: smbtree
chinese_name: smbtree命令 – 基于文本的SMB网络浏览器工具
description: smbtree命令是一款文本模式的smb浏览器程序，它类似于Windows电脑上的 “网络邻居”；它打印出一棵树，上面有所有已知的域、这些域中的服务器和服务器上的共享。
syntax: smbtree [参数]
category: 其他命令(other)
parameters:
|-b: 通过以广播方式发送请求来查询网络节点，而不是查询本地主浏览器 |
|-D: 只打印广播或主浏览器已知的所有域的列表 |
|-d: 调试模式 |
|-s: 指定的文件包含配置细节 |
|-S: 只打印在广播中响应或主浏览器已知的所有域和服务器的列表 |

examples:
示例1: 
通过以广播方式发送请求来查询网络节点，而不是查询本地主浏览器：
[root@linuxcool ~]# smbtree -b

示例2: 
只打印广播或主浏览器已知的所有域的列表：
[root@linuxcool ~]# smbtree -D

示例3: 
只打印在广播中响应或主浏览器已知的所有域和服务器的列表：
[root@linuxcool ~]# smbtree -S


command_name: pigz
chinese_name: pigz命令 – 多线程的解压缩文件
syntax: pigz [参数] [文件名]
category: 其他命令(other)
description:
pigz命令来自英文词组parallel implementation of gzip的缩写，其功能是认多线程的方式解压缩文件。与其他解压缩命令不同的是，pigz命令支持多线程的并行处理方式，比gzip快60%以上，当然CPU的消耗也会更高。如果想快速地压缩、解压文件，那么就一定要选它！

parameters:
|—: 显示压缩后的内容 |
|-b: 设置文件数据块大小 |
|-d: 将压缩文件恢复为原始文件 |
|-f: 强制覆盖文件而不询问 |
|-h: 显示帮助信息 |
|-i: 独立压缩区块，以便恢复损坏内容 |
|-k: 处理后不删除原始文件 |
|-L: 显示命令许可证信息 |
|-q: 静默执行模式 |
|-r: 递归处理所有子文件 |
|-S: 使用后缀.sss而不是.gz |
|-t: 测试压缩包的完整性 |
|-v: 显示执行过程详细信息 |
|-V: 显示版本信息 |
|-z: 使用zlib压缩格式 |

examples:
示例1: 
对已打包好的指定文件进行压缩：
[root@linuxcool ~]# pigz File.tar

示例2: 
查看指定文件的压缩比率信息：
[root@linuxcool ~]# pigz -l File.tgz 
compressed   original reduced  name 
   6300707   27074560   76.7%  File.tar

示例3: 
解压指定的文件，线程设定为8个：
[root@linuxcool ~]# pigz -d -p 8 File.tgz


command_name: jobs
chinese_name: jobs命令 – 显示终端后台的作业信息
syntax: jobs [参数]
category: 其他命令(other)
description:
jobs命令来自英文单词“工作”，其功能是用于显示终端后台的作业信息。Linux系统运维人员可以使用jobs命令查看到当前系统中终端后台的任务列表及其运行状态，查看任务列表及对应的进程号码，简单方便地了解到当前有哪些正在后台运行的工作。

parameters:
|-l: 显示作业列表及进程号 |
|-n: 仅显示自发生变化的作业 |
|-p: 仅显示其对应的进程号 |
|-r: 仅显示运行的作业 |
|-s: 仅显示暂停的作业 |
|-x: 替代原有作业的进程ID |

examples:
示例1: 
显示当前后台的作业列表：
[root@linuxcool ~]#jobs

示例2: 
显示当前后台的作业列表及进程号：
[root@linuxcool ~]#jobs -l

示例3: 
仅显示运行的后台作业：
[root@linuxcool ~]#jobs -r

示例4: 
仅显示已暂停的后台作业：
[root@linuxcool ~]#jobs -s

示例5: 
仅显示自上次执行jobs命令后状态又发生变化的后台作业：
[root@linuxcool ~]#jobs -n


command_name: slappasswd
chinese_name: slappasswd命令 – 设置LDAP管理员密码
syntax: slappasswd [参数]
category: 其他命令(other)
description:
slappasswd命令的作用是可以生成LDAP管理员密码。
slappasswd命令支持多种加密方案如：CRYPT、MD5、SMD5、SSHA和SHA。
其中最常用的是：MD5全称为Message Digest algorithm 5，信息摘要算法。SHA全称为Secure Hash Algorithm，安全散列算法。而SHA算法中SHA256相对安全。

parameters:
|-h<加密方案>: 指定加密方案，它支持{CRYPT}、{MD5}、{SMD5}、{SSHA}和{SHA}等方式，默认值是{SSHA} |
|-v: 启用详细信息模式 |
|-g: 生成随机密码 |
|-s<>: 生成哈希密码 |
|-u: 生成RFC2307值（默认） |
|-c crypt-salt-format: 生成{CRYPT}密码 |

examples:
示例1: 
生成SSHA方案密码：
[root@linuxcool ~]# slappasswd

示例2: 
生成随机密码：
[root@linuxcool ~]# slappasswd -g

示例3: 
生成哈希密码：
[root@linuxcool ~]# slappasswd -s linuxcool


command_name: redis-server
chinese_name: redis-server命令 – 启动Redis服务程序
syntax: redis-server [参数] [对象]
parameters: |--loglevel: 设置日志级别 | |--port: 设置自定义端口 | |--sentinel: 使用哨兵模式 | |--slaveof: 转变为从属服务器 |
category: 其他命令(other)
description:
redis-server命令的作用是用于启动Redis服务程序。Redis服务的英文全称为“Remote Dictionary Server”，中文译为远程字典服务，是一个开源、支持网络、基于内存亦可持久化的日志型数据库。

examples:
示例1: 
启动Redis服务并加载配置文件：
[root@linuxcool ~]#redis-server

示例2: 
启动Redis服务并自定义端口号：
[root@linuxcool ~]#redis-server --port 7777 --slaveof 127.0.0.1 8888

示例3: 
配置Redis服务的日志类级别：
[root@linuxcool ~]#redis-server /etc/myredis.conf --loglevel verbose

示例4: 
以哨兵模式运行Redis服务：
[root@linuxcool ~]#redis-server /etc/sentinel.conf --sentinel


command_name: rake
chinese_name: rake命令 – ruby程序构建
syntax: rake [参数]
category: 其他命令(other)
description:
rake是一个简单的ruby构建程序，其功能类似于常规make命令。
rake具有以下特性：1、rakefile（rake的makefile版本）完全用标准的Ruby语法定义。没有要编辑的XML文件。不用担心奇怪的Makefile语法；2、用户可以使用先决条件指定任务；3、rake支持规则模式来合成隐式任务；4、灵活的文件管理器，像数组一样，但知道操纵文件名和路径。

parameters:
|-T: 显示任务（匹配可选模式）与描述，然后退出 |
|-C: 将Task和FileTask放在顶级命名空间中 |
|-I: 在所需模块的搜索路径中包含LIBDIR |
|-q: 不要将消息记录到标准输出 |

examples:
示例1: 
显示任务与描述：
[root@linuxcool ~]# rake -T

示例2: 
在所需模块的搜索路径中包含LIBDIR：
[root@linuxcool ~]# rake -I

示例3: 
不要将消息记录到标准输出：
[root@linuxcool ~]# rake -q


command_name: pstack
chinese_name: pstack命令 – 显示进程的栈跟踪信息
syntax: pstack [参数] [进程号码]
parameters: |-d: 设置定间隔符（默认为tab） | |-s: 使用串列处理，而非平行处理 | |--help: 显示帮助信息 | |--version: 显示版本信息 |
category: 其他命令(other)
description:
pstack命令来自英文词组“process stack”的缩写，其功能是用于显示进程的栈跟踪信息。pstack实际上是gstack的一个链接命令，gstack本身是一个由gdb封装的Shell脚本程序，该命令用于显示指定进程的栈追踪信息。pstack命令必须由管理员身份执行，能够准确地定位进程挂起的位置，使用方法非常简单，仅需后面加上进程号码即可。

examples:
示例1: 
显示指定进程的栈跟踪信息：
[root@linuxcool ~]#pstack 4551Thread 7 (Thread 1084229984 (LWP 4552)):
#0  0x000000302afc63dc in epoll_wait () from /lib64/tls/libc.so.6
#1  0x00000000006f0730 in ub::EPollEx::poll ()
#2  0x00000000006f172a in ub::NetReactor::callback ()
#3  0x00000000006fbbbb in ub::UBTask::CALLBACK ()
#4  0x000000302b80610a in start_thread () from /lib64/tls/libpthread.so.0
#5  0x000000302afc6003 in clone () from /lib64/tls/libc.so.6
#6  0x0000000000000000 in ?? ()
………………省略部分输出信息………………


command_name: xargs
chinese_name: xargs命令 – 给其他命令传参数的过滤器
syntax: xargs [参数] [文件名]
category: 其他命令(other)
description:
xargs命令来自英文词组extended arguments的缩写，用作给其他命令传递参数的过滤器。xargs命令能够处理从标准输入或管道符输入的数据，并将其转换成命令参数，也可以将单行或多行输入的文本转换成其他格式。
xargs命令默认接收的信息中，空格是默认定界符，所以可以接收包含换行和空白的内容。

parameters:
|-a: 设置从文件中读取数据 |
|-d: 设置自定义定界符 |
|-I: 设置替换字符串 |
|-n: 设置多行输出 |
|-p: 执行命令前询问用户是否确认 |
|-s: 设置每条命令最大字符数 |
|-t: 显示xargs执行的命令 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 |

examples:
示例1: 
默认以空格为定界符，以多行形式输出文件内容，每行显示3段内容值：
[root@linuxcool ~]# cat File.cfg | xargs -n 3 
#version=RHEL8 ignoredisk --only-use=sda 
autopart --type=lvm # 
Partition clearing information 
clearpart --all --initlabel 
--drives=sda # Use 
graphical install graphical
 ………………省略部分输出信息………………

示例2: 
指定字符X为定界符，默认以单行的形式输出字符串内容：
[root@linuxcool ~]# echo "FirstXSecondXThirdXFourthXFifth" | xargs -dX
First Second Third Fourth Fifth

示例3: 
指定字符X为定界符，以多行形式输出文本内容，每行显示两段内容值：
[root@linuxcool ~]# echo "FirstXSecondXThirdXFourthXFifth" | xargs -dX -n 2 
First Second 
Third Fourth 
Fifth

示例4: 
设定每一次输出信息时，都需要用户手动确认后再显示到终端界面：
[root@linuxcool ~]# echo "FirstXSecondXThirdXFourthXFifth" | xargs -dX -n 2 -p 
echo First Second ?...y 
First Second 
echo Third Fourth ?...y 
Third Fourth 
echo Fifth 
 ?...y 
Fifth

示例5: 
由xargs调用要执行的命令，并将结果输出到终端界面：
[root@linuxcool ~]# ls | xargs -t -I{} echo {} 
echo anaconda-ks.cfg 
anaconda-ks.cfg 
echo Desktop 
Desktop 
echo Documents 
Documents


command_name: mkpasswd
chinese_name: mkpasswd命令 – 生成用户的新密码
syntax: mkpasswd [参数] [用户名]
category: 其他命令(other)
description:
mkpasswd命令来自英文词组make password的缩写，其功能是生成用户的新密码。mkpasswd命令可以生成一个适用于用户的随机的新密码，管理员可以指定随机密码的长度及所含字符的规则。有经验的用户可以结合管道符将新生成的密码直接作用于用户，一条命令即可设置好新密码。
每次生成的随机密码均不同，请在正式设置用户密码前保存好，不要忘记哦！

parameters:
|-c: 设置在密码中小写字母的最少个数 |
|-C: 设置在密码中大写字母的最少个数 |
|-d: 设置密码的最少字符数 |
|-l: 设置生成密码的长度 |
|-s: 设置在密码中特殊字符的最少个数 |
|-v: 设置密码互动可见 |

examples:
示例1: 
生成出一个长度为20字符的新密码：
[root@linuxcool ~]# mkpasswd -l 20 
I#4Zwretqzyhq3xnsaeo

示例2: 
生成出一个含3位数字的新密码：
[root@linuxcool ~]# mkpasswd -d 3 
c30UMd2h:

示例3: 
生成出一个长度为20字符、含5位大写字母的新密码，并自动为指定用户进行新密码设定：
[root@linuxcool ~]# mkpasswd -C 5 -l 10 | passwd --stdin linuxcool 
Changing password for user linuxcool. 
passwd: all authentication tokens updated successfully.


