# linux_commands

command_name: touch
chinese_name: touch命令 – 创建空文件与修改时间戳
syntax: touch [参数] [文件名]
category: 文件管理(file)
description:
touch命令的功能是创建空文件与修改时间戳。如果文件不存在，则会创建一个空内容的文本文件；如果文件已经存在，则会对文件的Atime（访问时间）和Ctime（修改时间）进行修改操作，管理员可以完成此项工作，而普通用户只能管理主机的文‍件。

parameters:
|-a: 设置文件的读取时间记录 |
|-c: 不创建新文件 |
|-d: 设置时间与日期 |
|-m: 设置文件的修改时间记录 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 |

examples:
示例1: 
创建出一个指定名称的空文件：
[root@linuxcool ~]# touch File.txt

示例2: 
结合通配符，创建多个指定名称的空文件：
[root@linuxcool ~]# touch File{1..5}.txt

示例3: 
修改指定文件的查看时间和修改时间：
[root@linuxcool ~]# touch -d "2023-05-18 15:44" File.cfg 
[root@linuxcool ~]# stat File.cfg 
  File: File.cfg 
  Size: 1256            Blocks: 8          IO Block: 4096    regular file 
Device: fd00h/64768d    Inode: 35319937     Links: 1 
Access: (0600/-rw-------)   Uid: (     0/     root)   Gid: (     0/     root) 
Context: system_u:object_r:admin_home_t:s0 
Access: 2023-05-18 15:44:00.000000000 +0800 
Modify: 2023-05-18 15:44:00.000000000 +0800 
Change: 2023-05-06 15:43:47.843170709 +0800 
 Birth: -


command_name: e2image
chinese_name: e2image命令 – 保存ext2/ext3文件元数据
syntax: e2image [参数] [文件/文件系统]
parameters: |-I: 将文件中的元数据恢复到分区 | |-r: 创建raw格式的image | |-Q: 创建QCOW2格式的image |
category: 文件管理(file)
description:
e2image命令可以将处于危险状态的“ext2”或者“ext3”文件系统保存到文件中。生成的文件可以被dumpe2fs命令和debugfs命令通过“-i”参数使用。有经验的管理员可以用它来做文件系统的灾难恢复。
为了节省磁盘空间，e2Image将image文件创建为稀疏文件，或以QCOW2格式创建。因此，如果需要将稀疏image文件复制到另一个位置，则应该首先对其进行压缩，或者使用GNU版本的cp ” sparse=always”选项。这不适用于QCOW2映像，它并不稀疏。

examples:
示例1: 
生成制定分区元数据映像文件：
[root@linuxcool ~]# e2image /dev/sda1 sda1
e2image 1.44.3 (10-July-2018)

示例2: 
查看文件的系统类型：
[root@linuxcool ~]#file sda1
sda1：Linux rev 1.0 ext2 filesystem data

示例3: 
生成一个QCOW2图像文件：
[root@linuxcool ~]# e2image -Q /dev/hda1 hda1.qcow2

示例4: 
生成一个原始image文件：
[root@linuxcool ~]# e2image -r /dev/hda1 | bzip2> hda1.e2i.bz2


command_name: myisamchk
chinese_name: myisamchk命令 – 检查和修复MyISAM表
description: 使用myisamchk命令可以检查和修复MyISAM表。使用不带选项的命令，所有表将被检查是否有错误。
syntax: myisamchk [参数] [表]
parameters: |-p: 与-r和-n的用法相同，但使用不同的线程并行创建所有键 | |-c: 检查表的错误 | |-w: 如果表被锁住就等待 |
category: 文件管理(file)
examples:
示例1: 
检查和修复MyISAM表：
[root@linuxcool ~]# myisamchk /var/lib/mysql/mysql/db.MYI

示例2: 
检查和恢复t1表：
[root@linuxcool ~]# myisamchk -iBfqr /var/lib/mysql/backup/t1

示例3: 
为myisamchk设置更多的内存，来使其运行的更快：
[root@linuxcool ~]# myisamchk --sort_buffer_size=16M --key_buffer_size=16M --read_buffer_size=1M --write_buffer_size=1M


command_name: vipw
chinese_name: vipw命令 – 编辑某些配置文件
description: 使用vipw命令可以编辑/etc/passwd、/etc/shadow、/etc/group和/etc/gshadow文件。该方式将设置适当的锁，以防止文件损坏。
syntax: vipw [参数]
parameters: |-g: 编辑group数据库 | |-p: 编辑passwd数据库 | |-q: 安静模式 | |-s: 编辑shadow或gshadow数据库 |
category: 文件管理(file)
examples:
示例1: 
编辑/etc/passwd文件：
[root@linuxcool ~]# vipw -p

示例2: 
编辑/etc/group文件：
[root@linuxcool ~]# vipw -g

示例3: 
编辑/etc/shadow文件：
[root@linuxcool ~]# vipw -s


command_name: last
chinese_name: last命令 – 显示用户历史登录情况
syntax: last [参数] [对象]
category: 文件管理(file)
description:
last命令的功能是显示用户历史登录情况。通过查看系统记录的日志文件内容，可使管理员获知谁曾经或者试图连接过服务器。
通过读取系统登录历史日志文件（/var/log/wtmp）并按照用户名、登录终端、来源终端、时间等信息进行划分，可让用户对系统历史登录情况一目了然。

parameters:
|-a: 将来源终端信息项放到最后 |
|-d: 将IP地址解析成域名或主机名 |
|-f: 设置记录文件 |
|-F: 显示完整的登录时间和日期 |
|-h: 显示帮助信息 |
|-i: 显示指定IP的登录情况 |
|-R: 不显示主机名字段 |
|-s: 显示指定时间以后的行 |
|-t: 显示指定时间之前的行 |
|-x: 显示系统开关机信息 |
|-V: 显示版本信息 |

examples:
示例1: 
显示近期用户或终端的历史登录情况：
[root@linuxcool ~]# last 
root    tty2         tty2             Mon Oct 17 03:13    gone - no logout 
reboot  system boot  4.18.0-80.el8.x8 Mon Oct 17 03:05   still running 
root    tty2         tty2             Mon Oct 17 03:00 - 03:05 (00:05) 
reboot  system boot  4.18.0-80.el8.x8 Mon Oct 17 02:59 - 03:05 (00:06) 

wtmp begins Mon Oct 17 02:59:19 2023

示例2: 
仅显示最近3条历史登录情况，并不显示来源终端信息：
[root@linuxcool ~]# last -n 3 -R 
root    tty2        Mon Oct 17 03:13 gone - no logout 
reboot  system boot Mon Oct 17 03:05 still running 
root    tty2        Mon Oct 17 03:00 - 03:05 (00:05) 

wtmp begins Mon Oct 17 02:59:19 2023

示例3: 
显示系统的开关机历史信息，并将来源终端放到最后：
[root@linuxcool ~]# last -x -a 
root     tty2 		 Mon Oct 17 03:13    gone - no logout tty2 
runlevel (to lvl 5)	 Mon Oct 17 03:06   still running 　　4.18.0-80.el8.x86_64
reboot   system boot Mon Oct 17 03:05   still running 　　4.18.0-80.el8.x86_64 
shutdown system down Mon Oct 17 03:05 - 03:05 (00:00) 　　4.18.0-80.el8.x86_64 
root     tty2 		 Mon Oct 17 03:00 - 03:05 (00:05) 　　tty2 
runlevel (to lvl 5)	 Mon Oct 17 02:59 - 03:05 (00:05) 　　4.18.0-80.el8.x86_64 
reboot   system boot Mon Oct 17 02:59 - 03:05 (00:06) 　　4.18.0-80.el8.x86_64 

wtmp begins Mon Oct 17 02:59:19 2023


command_name: chmod
chinese_name: chmod命令 – 改变文件或目录权限
syntax: chmod [参数] [文件名]
category: 文件管理(file)
description:
chmod命令来自英文词组change mode的缩写，其功能是改变文件或目录权限的命令。默认只有文件的所有者和管理员可以设置文件权限，普通用户只能管理自己文件的权限属性。
设置权限时可以使用数字法，亦可使用字母表达式，对于目录文件，建议加入-R参数进行递归操作，这意味着不仅对于目录本身，而且也对目录内的子文件/目录进行新权限的设定。

parameters:
|-c: 改变权限成功后再输出成功信息 |
|-f: 改变权限失败后不显示错误信息 |
|-R: 递归处理所有子文件 |
|-v: 显示执行过程详细信息 |
|--help: 显示帮助信息 |
|--preserve-root: 禁止对根目录进行递归操作 |
|--reference: 使用指定参考文件的权限 |
|--version: 显示版本信息 |

examples:
示例1: 
设定某个文件的权限为775：
[root@linuxcool ~]# chmod 775 File.cfg

示例2: 
设定某个文件让任何人都可以读取：
[root@linuxcool ~]# chmod a+r File.cfg

示例3: 
设定某个目录及其内部的子文件可被任何人读取：
[root@linuxcool ~]# chmod -R a+r Dir

示例4: 
为某个二进制命令文件新增SUID特殊权限位：
[root@linuxcool ~]# chmod u+s /sbin/reboot


command_name: get-module
chinese_name: get_module命令 – 获取模块信息
description: get_module命令用于获取Linux内核模块的详细信息。 使用get_module命令获取模块详细信息时，必须确定该模块已经加载到内核，否则会提示“模块找不到”的错误。
syntax: get_module [模块名]
category: 文件管理(file)
examples:
示例1: 
获取指定模块信息：
[root@linuxcool ~]# get_module ipv6

示例2: 
查看内核模块sr_mod的详细信息：
[root@linuxcool ~]# get_module sr_mod


command_name: gzexe
chinese_name: gzexe命令 – 压缩执行文件
syntax: gzexe [参数] [文件]
parameters: |-d: 解开压缩文件 |
examples: 示例1: 压缩可执行文件： [root@linuxcool ~]# gzexe abc 示例2: 解压可执行文件： [root@linuxcool ~]# gzexe -d test.sh
category: 文件管理(file)
description:
gzexe命令用来压缩可执行文件，压缩后的文件仍然为可执行文件，在执行时进行自动解压缩。当您去执行被压缩过的执行文件时，该文件会自动解压然后继续执行，和使用一般的执行文件相同。这个命令也可以看成是gunzip命令的一个扩展。


command_name: chfn
chinese_name: chfn命令 – 系统管理
description: chfn命令的英文全称是“change finger”，即用来改变finger命令显示的信息。这些信息都存放在/etc目录里的passwd文件里。若不指定任何选项，则chfn命令会进入问答式界面。
syntax: chfn [参数]
parameters: |-f: 设置真实姓名 | |-h: 设置家中的电话号码 | |-u: 在线帮助 | |-v: 显示版本信息 |
category: 文件管理(file)
examples:
示例1: 
改变finger信息 ：
[root@linuxcool ~]# chfnChanging finger information for root.Name [root]: linuxcoolOffice []: coolOffice Phone []: 888888Home Phone []: 999999Finger information changed.

示例2: 
改变账号真实姓名：
[root@linuxcool ~]# chfn -fhnunix Changing finger information for root.Finger information changed.


command_name: dumpe2fs
chinese_name: dumpe2fs命令 – 打印快组信息
description: dumpe2fs命令用于打印“ext2/ext3”文件系统的超级块和快组信息。
syntax: dumpe2fs [参数]
category: 文件管理(file)
parameters:
|-b: 打印文件系统中预留的块信息 |
|-ob<超级块>: 指定检查文件系统时使用的超级块 |
|-OB<块大小>: 检查文件系统时使用的指定的块大小 |
|-h: 仅显示超级块信息 |
|-i: 从指定的文件系统映像文件中读取文件系统信息 |
|-x: 以16进制格式打印信息块成员 |

examples:
示例1: 
打印/dev/hda1文件系统的超级块和快组信息:
[root@linuxcool ~]# dumpe2fs /dev/hda1

示例2: 
打印/dev/hda1文件系统的超级块信息:
[root@linuxcool ~]# dumpe2fs -h /dev/hda1


command_name: fstrim
chinese_name: fstrim命令 – 回收文件系统中未使用的块资源
syntax: fstrim [参数]
category: 文件管理(file)
description:
fstrim命令来自英文词组filesystem trim的缩写，其功能是回收文件系统中未使用的块资源。fstrim命令对固态硬盘和精简配置的存储设备意义较大，有提高驱动器读写效率，延长使用寿命的作用，当然设备一定要支持该命令才行。

parameters:
|-a: 回收所有已挂载文件系统上的未使用空间 |
|-h: 显示帮助信息 |
|-l: 设置在多大范围内搜索空闲块 |
|-o: 设置文件系统上搜索空闲块的起点 |
|-v: 显示执行过程详细信息 |

examples:
示例1: 
回收当前系统上所有已挂载的文件系统的未使用空间：
[root@linuxcool ~]# fstrim -a

示例2: 
回收当前系统上所有已挂载的文件系统的未使用空间，并显示详细的过程：
[root@linuxcool ~]# fstrim -a -v


command_name: isosize
chinese_name: isosize命令 – 输出iso9660文件系统的长度
syntax: isosize [参数] [iso9660镜像文件]
category: 文件管理(file)
description:
使用isosize命令可以输出包含指定文件的iso9660文件系统的长度。该文件可以是正常的文件或块设备（比如/dev/hdd或/dev/sr0）。
文件可以是普通文件，也可以是块设备，如/dev/sr0或者/dev/sda。如果没有相关参数的规定，默认以字节的方式显示大小。该命令支持大于4G的文件系统。

parameters:
|-x: 以可读的形式输出块的总数和块大小 |
|-d <num>: 显示的结果是实际大小（字节表示）除了已指定的num。所以如果num表示“块”大小，则输出的结果将是块大小 |
|iso9660_image_file: 指定的iso9660文件系统 |

examples:
示例1: 
查看/dev/cdrom文件的长度：
[root@linuxcool ~]# isosize /dev/cdrom

示例2: 
显示扇区数和扇区大小：
[root@linuxcool ~]# isosize -x /dev/cdrom

示例3: 
/以一块为“1024”个字节显示设备大小：
[root@linuxcool ~]# isosize -d 1024 /dev/cdrom


command_name: mtools
chinese_name: mtools命令 – 显示mtools支持的指令
description: mtools为MS-DOS文件系统的工具程序，可模拟许多MS-DOS的指令。这些指令都是mtools的符号连接，因此会有一些共同的特性 。
syntax: mtools [参数]
category: 文件管理(file)
parameters:
|-a: 长文件名重复时自动更改目标文件的长文件名 |
|-A: 短文件名重复但长文件名不同时自动更改目标文件的短文件名 |
|-o: 长文件名重复时，将目标文件覆盖现有的文件 |
|-O: 短文件名重复但长文件名不同时，将目标文件覆盖现有的文件 |
|-r: 长文件名重复时，要求用户更改目标文件的长文件名 |
|-R: 短文件名重复但长文件名不同时，要求用户更改目标文件的短文件名 |
|-s: 长文件名重复时，则不处理该目标文件 |
|-S: 短文件名重复但长文件名不同时，则不处理该目标文件 |
|-v: 执行时显示详细的说明 |
|-V: 显示版本信息 |

examples:
示例1: 
在命令提示符中直接输入mtools，可显示其所支持的MS-DOS命令，如下所示：
[root@linuxcool ~]# mtools   
Supported commands: 
mattrib, mbadblocks, mcat, mcd, mclasserase, mcopy, mdel, mdeltree  
mdir, mdoctorfat, mdu, mformat, minfo, mlabel, mmd, mmount  
mpartition, mrd, mread, mmove, mren, mshowfat, mtoolstest, mtype  
mwrite, mzip


command_name: xlsfonts
chinese_name: xlsfonts命令 – 显示X服务器字体列表
syntax: xlsfonts [参数]
category: 文件管理(file)
description:
xlsfonts命令显示当前X服务器使用的字体列表，也能使用范本样式仅列出的符合条件的字体。
运行xlsfonts命令时要求启动本地X-Windows的图形界面后，在图形界面下的命令行中输入，否则将有错误提示。

parameters:
|-l: 除字体名称外，同时列出字体的属性 |
|-ll: 此参数的效果和指定”l”参数类似，但显示更详细的信息 |
|-lll: 此参数的效果和指定”ll”参数类似，但显示更详细的信息 |
|-m: 配合参数”-l”使用时，一并列出字体大小的上下限 |
|-n<显示栏位数>: 设置每列显示的栏位数 |
|-o: 以OpenFont的形式列出字体清单 |
|-u: 列出字体清单时不依照其名称排序 |
|-w<每列字符数>: 设置每列的最大字符数 |

examples:
示例1: 
显示使用的前五个字体列表：
[root@linuxcool ~]# xlsfonts | head -n 5

示例2: 
以OpenFont形式同时显示字体名称及属性：
[root@linuxcool ~]# xlsfonts -lo

示例3: 
同时显示字体名称及属性与大小上限：
[root@linuxcool ~]# xlsfonts -lm


command_name: gdb
chinese_name: gdb命令 – GUN程序调试器
syntax: gdb [参数] [文件名]
category: 文件管理(file)
description:
gdb命令来自英文词组“GNU Debugger”的缩写，其功能是用于GNU程序调试。gdb命令是类UNIX系统下常见的程序调试工具，是Linux系统软件库gcc开发套件中的一员，掌握了以下十余个常用命令和参数，定能帮助您完成日常的基本程序调试工作。

parameters:
|-a: 显示为地址 |
|-c: 显示为字符 |
|-cd: 设置工作目录 |
|-d: 添加文件查找路径 |
|-o: 显示为八进制数 |
|-q: 静默执行模式 |
|-f: 显示为浮点数 |
|-s: 显示为字符串 |
|-t: 显示为二进制数 |
|-u: 显示为无符号十六进制数 |

examples:
示例1: 
开启gdb调试工具，进入到调试界面：
[root@linuxcool ~]#gdb(gdb)

示例2: 
加载指定的二进制可执行程序：
[root@linuxcool ~]#gdb
(gdb)file File.out

示例3: 
运行并追踪指定的二进制可执行程序：
[root@linuxcool ~]#gdb
(gdb)file File.out
(gdb)start


command_name: mysqldump
chinese_name: mysqldump命令 – MySQL数据库备份
description: mysqldump命令是MySQL数据库中备份工具，用于将MySQL服务器中的数据库以标准的sql语言的方式导出，并保存到文件中。
syntax: mysqldump [参数]
category: 文件管理(file)
parameters:
|-- -add-drop-table: 在每个创建数据库表语句前添加删除数据库表的语句 |
|-- -add-locks: 备份数据库表时锁定数据库表 |
|-- -all-databases: 备份MySQL服务器上的所有数据库 |
|-- -comments: 添加注释信息 |
|-- -compact: 压缩模式，产生更少的输出 |
|-- -complete-insert: 输出完成的插入语句 |
|-- -databases: 指定要备份的数据库 |
|-- -default-character-set: 指定默认字符集 |
|-- -force: 当出现错误时仍然继续备份操作 |
|-- -host: 指定要备份数据库的服务器 |
|-- -lock-tables: 备份前，锁定所有数据库表 |
|-- -no-create-db: 禁止生成创建数据库语句 |
|-- -no-create-info: 禁止生成创建数据库库表语句 |
|-- -password: 连接MySQL服务器的密码 |
|-- -port: MySQL服务器的端口号 |
|-- -user: 连接MySQL服务器的用户名 |

examples:
示例1: 
导出整个数据库：
[root@linuxcool ~]# mysqldump -u linuxcool -p smgp_apps_linuxcool > linuxcool.sql

示例2: 
导出数据库中的一个表：
[root@linuxcool ~]# mysqldump -u linuxcool -p smgp_apps_linuxcool users > linuxcool_users.sql

示例3: 
导出一个数据库结构：
[root@linuxcool ~]# mysqldump -u linuxcool -p -d --add-drop-table smgp_apps_linuxcool > linuxcool_db.sql


command_name: vsish
chinese_name: vsish命令 – vsan命令行
description: 与vsish进行交互的方式有两种，您可以交互式地登录到VSI shell并执行ls，获取或设置操作，或者通过非交互模式执行相同的操作，是代替Procfs的强大命令。
syntax: vsish [参数]
parameters: |ls: 显示所有的节点信息 | |set: 设置vc配置 |
category: 文件管理(file)
examples:
示例1: 
获取内存映射表：
[root@linuxcool ~]# vsish -e ls /userworld/cartel/%pid/mem/mmaps

示例2: 
启用Procfs：
[root@linuxcool ~]# vsish -e set /config/User/intOpts/UserProcEnable 1

示例3: 
触发ESXi紫屏：
[root@linuxcool ~]#vsish -e set /reliability/crashMe/Panic

示例4: 
修改vsan 并发数据同步进程数量：
[root@linuxcool ~]# vsish -e set /vmkModules/vsan/dom/MaxNumResyncCopyInFlight 30

示例5: 
验证vsan 并发数据同步进程数量：
[root@linuxcool ~]# vsish -e get /vmkModules/vsan/dom/MaxNumResyncCopyInFlight


command_name: mysqldumpslow
chinese_name: mysqldumpslow命令 – 显示慢查询日志文件摘要
description: 使用mysqldumpslow命令可以解析慢查询日志文件，并显示其内容摘要。慢查询日志包含有关需要很长的时间来执行查询的信息。
syntax: mysqldumpslow [参数] [慢查询日志文件]
category: 文件管理(file)
parameters:
|-I: 从总时间中不减去锁定时间 |
|-i: 指定服务器实例的名称 |
|-t: 查询时间 |
|-v: 显示详细信息 |
|-s: 是表示按照何种方式排序 |
|-r: 返回记录 |
|-d: 启用调试模式 |

examples:
示例1: 
显示慢查询日志文件 /var/lib/mysql/slowquery.log摘要：
[root@linuxcool ~]# mysqldumpslow /var/lib/mysql/slowquery.log

示例2: 
得到返回记录集最多的10个SQL：
[root@linuxcool ~]# mysqldumpslow -s r -t 10 /database/mysql/mysql06_slow.log

示例3: 
得到访问次数最多的10个SQL：
[root@linuxcool ~]# mysqldumpslow -s c -t 10 /database/mysql/mysql06_slow.log


command_name: la
chinese_name: la命令 – 显示目录下所有文件
description: la命令来自英文词组“list all”的缩写，其功能是用于显示指定目录下的所有文件信息。la命令的作用等同于“ls -a”命令组合，用于显示当前目录下全部的文件列表，包含隐藏文件。
syntax: la
category: 文件管理(file)
examples:
示例1: 
显示当前路径下面的所有文件：
[root@linuxcool ~]#la.                .bashrc  Documents             Music      Videos
..               .cache   Downloads             Pictures   .viminfo
anaconda-ks.cfg  .config  .esd_auth             .pki
.bash_history    .cshrc   .ICEauthority         Public
.bash_logout     .dbus    initial-setup-ks.cfg  .tcshrc
.bash_profile    Desktop  .local                Templates


command_name: apt-key
chinese_name: apt-key命令 – 管理APT软件包密钥信息
syntax: apt-key [参数] [密钥文件]
category: 文件管理(file)
description:
apt-key命令来自英文词组“APT-key”的拼写，其功能是用于管理APT软件包密钥信息。APT的全称为Advanced Packaging Tool，是DebianLinux系统中默认的软件管理工具，管理员可以使用apt-key命令对软件包密钥信息进行管理。

parameters:
|add: 加载新的密钥文件 |
|adv: 传递高级特性 |
|del: 从被信任的列表中删除指定密钥 |
|export keyed: 将指定密钥输出到标准输出设备 |
|exportall: 将所有密钥输出到标准输出设备 |
|finger: 显示被信任密钥的指纹信息 |
|list: 显示被信任密钥的列表 |
|update: 通过密钥包来更新密钥 |

examples:
示例1: 
显示系统中已有的被信任的密钥列表：
[root@linuxcool ~]#apt-key list

示例2: 
将指定的密钥信息加入到本地信任数据库中：
[root@linuxcool ~]#apt-key add Keyname

示例3: 
将指定的密钥信息从本地信任数据库中删除：
[root@linuxcool ~]#apt-key del Keyname

示例4: 
更新本地信任数据库中指定的密钥，删除过期和失效信息：
[root@linuxcool ~]#apt-key update


command_name: mcopy
chinese_name: mcopy命令 – 复制 MSDOS 格式文件到Linux中
syntax: mcopy [参数] [源文件]
category: 文件管理(file)
description:
mcopy命令用来复制 MSDOS 格式文件到Linux中，或是由 Linux 中复制 MSDOS [文件]到磁片上。
mcopy 可复制单一的文件到所指定的文件名称，或是复制数个文件到所指定的目录之中。来源与目的文件可为 MSDOS 或是 Linux [文件]。
mcopy指令是一种mtools工具指令，可以在DOS系统中复制文件或者在DOS与Linux操作系统之间进行文件复制。

parameters:
|-b: 批处理模式 |
|-n: 覆盖其他文件时，不需要进行确认而直接覆盖 |
|-m: 将源文件修改时间设置为目标文件的修改时间 |
|-p: 将源文件的属性设置为目标文件的属性 |
|-Q: 当复制多个文件产生错误时，尽快结束程序 |
|-t: 转换为文本文件 |
|-o: 在覆盖 MSDOS [文件]时不出现警示讯息 |

examples:
示例1: 
将 A 盘根目录中的 autoexec.bat 复制到目前工作目录之下：
[root@linuxcool ~]# mcopy a:autoexec.bat

示例2: 
当复制的内容包括子目录和文件时，必须使用参数”-/”递归操作：
[root@linuxcool ~]# mcopy -/ A:\*


command_name: chroot
chinese_name: chroot命令 – 切换根目录
syntax: chroot [参数] [目录名]
parameters: |--groups: 指定补充用户组 | |--userspec: 指定用户及用户组 | |--help: 显示帮助信息 | |--version: 显示版本信息 |
examples: 示例1: 切换到新的根目录路径： [root@linuxcool ~]#chroot /usr
category: 文件管理(file)
description:
chroot命令来自英文词组“change root directory”的缩写，其功能是用于切换根目录。chroot命令的历史最早可被追溯到1979年的UNIX系统，后被引入到Linux系统中，Linux系统中的目录结构都是以/（即根目录）开始的，管理员可以使用chroot将根目录切换至其他位置。切换根目录后的Linux系统读取到的目录和文件将不再是旧系统根下的，而是新的根目录所对应路径下的目录和文件。
举例来说，对Vsftpd服务程序进行chroot操作后，其默认根目录（/）会被映射到某个指定的新目录，Vsftp将不能够对新目录外的文件进行访问操作，大大增强了服务器数据的安全性。


command_name: mkfs-minix
chinese_name: mkfs.minix命令 – 建立Minix文件系统
description: mkfs.minix命令用来建立Minix文件系统。 Minix文件系统（英语：MINIX file system），一种文件系统，是Minix操作系统中的原生文件系统。
syntax: mkfs.minix [参数]
category: 文件管理(file)
parameters:
|-c: 检查是否有损坏的区块 |
|-i<inode>: 指定文件系统的inode总数 |
|-l<文件>: 从指定的文件中，读取文件系统中损坏区块的信息 |
|-n<文件名长度>: 指定文件名称长度的上限 |
|-v: 建立第2版的Minix文件系统 |

examples:
示例1: 
检查/目录下是否有损坏的区块：
[root@linuxcool ~]# mkfs.minix -c /

示例2: 
指定文件系统的inode总数为5：
[root@linuxcool ~]# mkfs.minix -i 5

示例3: 
读取test文件损坏信息：
[root@linuxcool ~]# mkfs.minix -l test


command_name: groff
chinese_name: groff命令 – 编写手册页面
syntax: groff [参数]
parameters: |.B: 黑体 | |.I: 下划线（或斜体） | |.RI: 普通体和下划线（或斜体）交替 | |.SM: 小号字（用于缩写） | |.HP: 开始悬挂式缩进 |
category: 文件管理(file)
description:
groff 是一套用GNU 实现troff 的程序。它还包括一个脚本，用来模仿nroff 和其他roff 家族。
groff命令以符号“.”开始，.TH 是标题每个手册页面只使用一次，它设置页面的标题、段号以及日期。NAME段的格式非常重要，。在.SH NAME的后面是命令的名称。“\-”也很重要，因为makewhatis，apropos以及man－k在搜索手册页面时依赖这种格式。
段以 .SH 开始，后跟标题。如果标题包含空格并且和 .SH 在同一行，则需在标题上加双引号。.TP指令创建一个带有起始标志的新段落。 其他的命令指定字体类型和大小。

examples:
示例1: 
把man文件转换为HTML文档：
[root@linuxcool ~]# groff －Thtml -mandoc test.1 > test.html

示例2: 
把标准的文本和特殊的命令翻译成格式化的输出:
[root@linuxcool ~]# groff －test1 －man test2.1

示例3: 
将 lorem-ipsum.me [文件]保存到您的系统并通过 groff 运行:
[root@linuxcool ~]# groff -Tps -me lorem-ipsum.me > lorem-ipsum.me.ps


command_name: mysql-install-db
chinese_name: mysql_install_db命令 – 初始化MySQL数据目录
description: 使用mysql_install_db命令可以初始化MySQL数据目录，并创建系统表。
syntax: mysql_install_db [参数]
parameters: |--srcdir: MySQL源码目录的路径 | |--rpm: 供内部使用 | |--basedir: MySQL安装目录的路径 |
category: 文件管理(file)
examples:
示例1: 
初始化Mysql数据目录:
[root@linuxcool ~]# mysql_install_db

示例2: 
指定mysql源码目录的路劲是/data/source/mysql:
[root@linuxcool ~]# mysql_install_db --srcdir=/data/source/mysql

示例3: 
指定mysql安装目录是/opt/mysql：
[root@linuxcool ~]# mysql_install_db --basedir=/opt/mysql


command_name: umount-nfs
chinese_name: umount.nfs命令 – 卸载NFS文件系统
syntax: umount.nfs [参数] [共享目录名]
parameters: |-f: 强制卸载文件系统而不询问 | |-n: 不更新“/etc/mtab”文件 | |-r: 使用只读模式 | |-v: 显示详细信息 |
category: 文件管理(file)
description:
umount.nfs命令来自英文词组“unmount NFS”的缩写，其功能是用于卸载NFS文件系统。NFS全称是“Network File System”，中文译为“网络文件系统”，是Linux系统平台之间进行文件数据共享的常用服务，本地的用户可以直接读写远程NFS服务器上的文件内容，就像操作本地文件一样简单。

examples:
示例1: 
卸载本地已挂载的指定NFS目录：
[root@linuxcool ~]#umount.nfs /Dir

示例2: 
强制卸载本地已挂载的指定NFS目录：
[root@linuxcool ~]#umount.nfs -f /Dir

示例3: 
将本地已挂载的指定NFS目录改为只读模式：
[root@linuxcool ~]#umount.nfs -r /Dir


command_name: mysqlbinlog
chinese_name: mysqlbinlog命令 – 查看二进制日志文件
description: 使用mysqlbinlog命令可以查看二进制日志文件，该日志文件里面记录着所有的的DDL和DML语句。
syntax: mysqlbinlog [参数] [日志文件]
parameters: |-d: 为指定数据库列出条目 | |--debug-info: 显示一些调试信息 | |--protocol: 进行连接要使用的协议 | |-D: 禁用二进制日志 |
category: 文件管理(file)
examples:
示例1: 
查看二进制日志文件/var/lib/mysql/mysqld-bin.0001:
[root@linuxcool ~]# mysqlbinlog /var/lib/mysql/mysqld-bin.0001

示例2: 
查询一段时间的binlog：
[root@linuxcool ~]# mysqlbinlog --start-datetime="2017-01-09 17:50:00" --stop-datetime="2017-01-09 18:00:00" bin.000025

示例3: 
mysqlbinlog拆库，拆除test库的所有操作，然后进行恢复：
[root@linuxcool ~]# mysqlbinlog -d test mysqlbin.000002 > test.sql


command_name: dpkg-reconfigure
chinese_name: dpkg-reconfigure命令 – 重新配置已安装的软件包
syntax: dpkg-reconfigure [参数] [软件包]
category: 文件管理(file)
description:
dpkg-reconfigure命令是Debianlinux中重新配置已经安装过的软件包，可以将一个或者多个已安装的软件包传递给此指令，它将询问软件初次安装后的配置问题。
当用户需要再次对软件包配置的时候，可以使用dpkg-reconfigure命令来对指定的软件包进行配置。

parameters:
|-a: 重新配置所有的软件包 |
|-u: 仅显示未提过的问题 |
|-- -default-priority: 使用默认优先级 |
|-- -force: 强制执行操作 |
|-- -no-reload: 不要轻易的重装模板 |
|-f: 指定 debconf 前端界面 |
|-p: 指定要显示的问题的最优先级 |
|-- -terse: 开启简要模式 |

examples:
示例1: 
查询配置“bash”软件包：
[root@linuxcool ~]# dpkg-reconfigure bash

示例2: 
重配置所有软件包：
[root@linuxcool ~]# dpkg-reconfigure -a


command_name: ipcs
chinese_name: ipcs命令 – 多进程间通信常用的工具
description: ipcs命令是用于报告Linux中进程间通信设施的状态，显示的信息包括消息列表、共享内存和信号量的信息 。
syntax: ipcs [参数]
parameters: |-a: 默认的输出信息 | |-m: 打印出使用共享内存进行进程间通信的信息 | |-q: 打印出使用消息队列进行进程间通信的信息 | |-s: 打印出使用信号进行进程间通信的信息 |
category: 文件管理(file)
examples:
示例1: 
输出信息的详细变化时间：
[root@linuxcool ~]# ipcs -t

示例2: 
输出ipc方式的进程ID：
[root@linuxcool ~]# ipcs -p

示例3: 
输出ipc方式的创建者/拥有者：
[root@linuxcool ~]# ipcs -c

示例4: 
输出当前系统下ipc各种方式的状态信息：
[root@linuxcool ~]# ipcs -u

示例5: 
查看各个资源的系统限制信息 :
[root@linuxcool ~]# ipcs -l


command_name: cdp
chinese_name: cdp命令 – 播放CD音乐
syntax: cdp [参数]
parameters: |0: 退出播放程序 | |2: 弹出CD | |4: 退到前一音轨 | |6: 进到下一音轨 | |7: 停止 | |8: 暂停 | |9: 播放 |
examples: 示例1: 装载CD音乐： [root@linuxcool ~]# mount /dev/cdrom 示例2: 播放CD音乐： [root@linuxcool ~]# cdp
category: 文件管理(file)
description:
cdp命令用于播放CD音乐。
声卡设置好了，可以在光驱中插入一张CD，用装载命令mount将光盘载入，然后输入cdp命令就可以播放了。在屏幕上可以看到CD的音轨清单，小键盘的9是播放，7是停止，6进到下一音轨，4退到前一音轨，0退出播放程序，2弹出CD，8是暂停。
如果是在X-Window中，可以用xplaycd播放CD，这是一个有图形界面的播放器，按钮及功能一目了然。


command_name: apropos
chinese_name: apropos命令 – 在whatis数据库中查找字符串
syntax: apropos [参数] [关键字]
parameters: |-d: 输出调试信息 | |-l: 不根据终端宽度缩减输出 | |-w: 将每个keyword作为shell样式的通配符解释 |
category: 文件管理(file)
description:
apropos命令在一些特定的包含系统命令的简短描述的数据库文件里查找关键字，然后把结果送到标准输出。
如果你不知道完成某个特定任务所需要命令的名称，可以使用一个关键字通过Linuxapropos实用程序来搜索它。该实用程序可以搜索关键字并且显示所有包含匹配项的man页面的简短描述。另外，使用man实用程序和-k（关键字）选项，可以得到和用Linux apropos实用程序相同的结果（实际上是相同的命令）。

examples:
示例1: 
查找手册页名字和描述中包含emacs和vi的手册页:
[root@linuxcool ~]# apropos -a emacs vi

示例2: 
打印版本信息并退出:
[root@linuxcool ~]# apropos -V

示例3: 
打印帮助信息并退出 :
[root@linuxcool ~]# apropos -h

示例4: 
查找包含who的关键字：
[root@linuxcool ~]# apropos who

示例5: 
不根据终端宽度缩减输出：
[root@linuxcool ~]# apropos -l who


command_name: strings
chinese_name: strings命令 – 在对象文件或二进制文件中查找可打印的字符串
description: strings命令在对象文件或二进制文件中查找可打印的字符串。字符串是4个或更多可打印字符的任意序列，以换行符或空字符结束。 strings命令对识别随机对象文件很有用。
syntax: strings [参数]
parameters: |-a: 扫描整个文件而不是只扫描目标文件初始化和装载段 | |-f: 在显示字符串前先显示文件名 | |-t: 输出字符的位置，基于八进制，十进制或者十六进制 |
category: 文件管理(file)
examples:
示例1: 
列出ls中所有的ASCII文本：
[root@linuxcool ~]# strings /bin/ls

示例2: 
列出ls中所有的ASCII文本：
[root@linuxcool ~]# cat /bin/ls strings

示例3: 
查找ls中包含libc的字符串，不区分大小写：
[root@linuxcool ~]# strings /bin/ls | grep -i libc

示例4: 
在显示字符串前先显示文件名：
[root@linuxcool ~]# strings -f /bin/ls | grep libc

示例5: 
输出字符的位置：
[root@linuxcool ~]# strings -t /bin/ls | grep libc


command_name: extundelete
chinese_name: extundelete命令 – 文件恢复工具
syntax: extundelete [参数] [文件或目录名]
category: 文件管理(file)
description:
extundelete命令的功能是用于文件恢复。extundelete命令能够恢复分区中被意外删除的文件，在使用前，需要先将要恢复的分区卸载，以防数据被意外覆盖。
*刘遄老师实测，extundelete命令仅可恢复ext3与ext4格式系统中的文件。

parameters:
|--after: 只恢复指定时间后被删除的文件 |
|--before: 只恢复指定时间前被删除的文件 |
|--help: 显示帮助信息 |
|--journal: 显示分区的日志信息 |
|--superblock: 显示分区的超级块信息 |
|--version: 显示版本信息 |

examples:
示例1: 
恢复指定分区中的全部文件：
[root@linuxcool ~]#extundelete /dev/sdb --restore-all

示例2: 
恢复指定分区中的指定文件：
[root@linuxcool ~]#extundelete /dev/sdb --restore-file File.img

示例3: 
恢复指定分区中的指定目录：
[root@linuxcool ~]#extundelete /dev/sdb --restore-directory /Dir


command_name: mread
chinese_name: mread命令 – mtools工具
syntax: mread [参数]
parameters: |[MS-DOS文件…]: 执行操作的DOS源文件或目录路径 | |[Linux文件或目录]: 执行操作后的Linux目标文件或目录路径 |
examples: 示例1: 将盘”a:\”中的所有内容复制到当前工作目录下： [root@linuxcool ~]# mread a:\* ./
category: 文件管理(file)
description:
mread命令用于将MS-DOS文件复制到Linux/Unix的目录中。
mread为mtools工具命令，可将MS-DOS文件复制到Linux的文件系统中。这个命令目前已经不常用，一般都使用mcopy命令来代替。


command_name: rpmquery
chinese_name: rpmquery命令 – 查询信息
description: rpmquery命令使用多种依据从rpm数据库中查询软件包信息。
syntax: rpmquery [参数]
parameters: |-qf: 查询指定的文件所属的软件包 | |-q: 查询指定的软件包是否被安装 | |-qd: 查询软件包中的文档文件 | |-qi: 查询软件包的基本信息 |
category: 文件管理(file)
examples:
示例1: 
使用rpmquery命令查询指定文件所属的软件包：
[root@linuxcool ~]# rpmquery -qf /usr/bin/htpasswd
httpd-2.2.3-81.el5.centos


command_name: tmpwatch
chinese_name: tmpwatch命令 – 删除暂存文件
description: 执行tmpwatch指令可删除不必要的暂存文件，您可以设置文件超期时间，单位以小时计算 。
syntax: tmpwatch [参数]
examples: 示例1: 使用指令”tmpwatch”删除目录”/tmp”中超过一天未使用的文件，输入如下命令： [root@linuxcool ~]# tmpwatch 24 /tmp/
category: 文件管理(file)
parameters:
|-a: 删除任何类型的文件 |
|-f: 强制删除文件或目录，其效果类似rm指令的”-f”参数 |
|-q: 不显示指令执行过程 |
|-v: 详细显示指令执行过程 |
|-test: 仅作测试，并不真的删除文件或目录 |


command_name: batch
chinese_name: batch命令 – 指定时间执行任务
description: batch命令用于在指定时间，当系统不繁忙时执行任务，用法与at相似。 batch命令是在当系统负载水平允许时执行命令；换句话说，当负载平均值低于0.8或ATD调用中指定的值时。
syntax: batch [参数]
parameters: |-f: 指定包含具体指令的任务文件 | |-q: 指定新任务的队列名称 | |-m: 任务执行完后向用户发送E-mail |
category: 文件管理(file)
examples:
示例1: 
指定任务执行的日期时间：
[root@linuxcool ~]# batch 
 at> echo 1234
 at> <EOT>
job 5 at Sun Apr 28 08:49:00 2013


command_name: diffstat
chinese_name: diffstat命令 – 显示统计数字
description: diffstat命令用于读取diff的输出结果，然后统计各文件的插入，删除，修改等差异计量 。
syntax: diffstat [参数]
category: 文件管理(file)
parameters:
|-n: 指定文件名长度，指定的长度必须大于或等于所有文件中最长的文件名 |
|-p: 与-n参数相同，但此处的<文件名长度>包括了文件的路径 |
|-w: 指定输出时栏位的宽度 |
|-V: 显示版本信息 |

examples:
示例1: 
将目录”test1″和”test2″下的同名文件”testf.txt”使用diff指令进行比较。然后使用diffstat指令对结果进行统计显示：
[root@linuxcool ~]# diff test1 test2 | diffstat


command_name: bzcmp
chinese_name: bzcmp命令 – 比较.bz2压缩包中的文件
syntax: bzcmp [参数] [文件1] [文件2]
category: 文件管理(file)
description:
bzcmp命令主要功能是在不真正解压缩.bz2压缩包的情况下，比较两个压缩包中的文件，省去了解压缩后在调用cmp命令的过程。
bzcmp命令本身自己没有任何选项，但是可以使用cmp命令的相关参数，所有的参数将直接传递给cmp命令。在使用bzcmp命令时，会在临时目录/tmp下生成解压后的文件以供cmp命令使用。完毕后删除此临时文件。

parameters:
|--help: 显示帮助 |
|-v: 显示版本信息 |
|-s: 不显示错误信息 |
|-l: 标示出所有不一样的地方 |
|-i: 指定一个数目 |
|-c: 除了标明差异处的十进制字码之外，一并显示该字符所对应字符 |

examples:
示例1: 
比较两个压缩包中的文件的不同：
[root@linuxcool ~]# bzcmp linuxcool.bz2 linuxprobe.bz2

示例2: 
比较两个压缩包中的文件的不同并且不显示错误信息：
[root@linuxcool ~]# bzcmp -s linuxcool.bz2 linuxprobe.bz2

示例3: 
比较两个压缩包中的文件的不同，且显示不同之处：
[root@linuxcool ~]# bzcmp -l linuxcool.bz2 linuxprobe.bz2


command_name: 7z
chinese_name: 7z命令 – 文件解压缩命令
description: 7z命令的功能是对文件进行解压缩操作。7-z命令是Linux系统中常用的解压缩工具，7z也是一种压缩格式，具备较高的压缩比率，对文本文件尤其有效。
syntax: 7z [参数] [文件名]
parameters: |a: 向压缩包中添加文件 | |d: 从压缩包中删除文件 | |e: 从压缩包中提取文件 | |l: 显示压缩包内文件列表 | |u: 更新压缩包中的文件 | |x: 解压文件时保留绝对路径 |
category: 文件管理(file)
examples:
示例1: 
对指定的目录进行压缩，压缩包以7z为后缀：
[root@linuxcool ~]# 7z a File.7z /Dir

示例2: 
对指定的压缩包文件进行解压缩：
[root@linuxcool ~]# 7z x File.7z

示例3: 
将指定压缩包内的以txt结尾的文件都删除：
[root@linuxcool ~]# 7z d File.7z -r *.txt

示例4: 
更新指定压缩包内的以txt结尾的文件：
[root@linuxcool ~]# 7z u File.7z *.txt


command_name: xsetwacom
chinese_name: xsetwacom命令 – 查询和修改wacom驱动程序设置
description: xsetwacom命令是用来查询或更改wacom驱动程序加载的设备上的属性，属性的修改在运行时发生，并且在X服务器重新启动时不持久。
syntax: xsetwacom [参数]
parameters: |--list: 显示wacom设备驱动 | |-v: 启用详细输出，用于调试 |
category: 文件管理(file)
examples:
示例1: 
使用--list列出wacom设备驱动：
[root@linuxcool ~]# xsetwacom --list devices

示例2: 
显示可以设置那些参数：
[root@linuxcool ~]# xsetwacom --list parameters

示例3: 
获取设备并添加到安装列表中：
[root@linuxcool ~]# xsetwacom --get 'DEVICE-NAME' all


command_name: rpm
chinese_name: rpm命令 – RPM软件包管理器
syntax: rpm [参数] [软件包名]
category: 文件管理(file)
description:
rpm命令来自英文词组redhat package manager的缩写，中文译为“红帽软件包管理器”，其功能是在Linux系统下对软件包进行安装、卸载、查询、验证、升级等工作，常见的主流系统（如RHEL、CentOS、Fedora等）都采用这种软件包管理器，推荐用固定搭配“rpm-ivh [软件包名]”安装软件，而卸载软件则用固定搭配“rpm -evh [软件包名]”，简单好记又好用。

parameters:
|-a: 显示所有软件包 |
|-c: 仅显示组态配置文件 |
|-d: 仅显示文本文件 |
|-e: 卸载软件包 |
|-f: 显示文件或命令属于哪个软件包 |
|-h: 安装软件包时显示标记信息 |
|-i: 安装软件包 |
|-l: 显示软件包的文件列表 |
|-q: 显示指定软件包是否已安装 |
|-R: 显示软件包的依赖关系 |
|-s: 显示文件状态信息 |
|-U: 升级软件包 |
|-v: 显示执行过程信息 |
|-vv: 显示执行过程详细信息 |

examples:
示例1: 
正常安装软件包：
[root@linuxcool ~]# rpm -ivh cockpit-185-2.el8.x86_64.rpm 
Verifying...                         ################################# [100%] 
Preparing...                         ################################# [100%] 
        package cockpit-185-2.el8.x86_64 is already installed

示例2: 
显示系统已安装过的全部RPM软件包：
[root@linuxcool ~]# rpm -qa 
qemu-kvm-block-gluster-2.12.0-63.module+el8+2833+c7d6d092.x86_64 
boost-atomic-1.66.0-6.el8.x86_64 
gnome-session-wayland-session-3.28.1-6.el8.x86_64 
grub2-tools-2.02-66.el8.x86_64 
lohit-gurmukhi-fonts-2.91.2-3.el8.noarch 
liberation-fonts-common-2.00.3-4.el8.noarch 
policycoreutils-python-utils-2.8-16.1.el8.noarch 
………………省略部分输出信息………………

示例3: 
查询某个软件的安装路径：
[root@linuxcool ~]# rpm -ql cockpit 
/usr/share/cockpit 
/usr/share/doc/cockpit/AUTHORS 
/usr/share/doc/cockpit/COPYING 
/usr/share/doc/cockpit/README.md 
/usr/share/man/man1/cockpit.1.gz 
/usr/share/metainfo/cockpit.appdata.xml 
/usr/share/pixmaps/cockpit.png

示例4: 
卸载通过RPM软件包安装的某个服务：
[root@linuxcool ~]# rpm -evh cockpit 
Preparing...       ################################# [100%] 
Cleaning up / removing... 
1:cockpit-185-2.el8   ################################ [100%]

示例5: 
升级某个软件包：
[root@linuxcool ~]# rpm -Uvh cockpit-185-2.el8.x86_64.rpm 
Verifying... 				################################# [100%] 
Preparing... 				################################# [100%] 
Updating / installing... 
   1:cockpit-185-2.el8 		################################# [100%]


command_name: echo
chinese_name: echo命令 – 输出字符串或提取后的变量值
syntax: echo [参数] [字符串或$变量名]
category: 文件管理(file)
description:
echo命令的功能是在终端设备上输出指定字符串或变量提取后的值，能够给用户一些简单的提醒信息，亦可以将输出的指定字符串内容同管道符一起传递给后续命令作为标准输入信息进行二次处理，还可以同输出重定向符一起操作，将信息直接写入文件。如需提取变量值，需在变量名称前加入$符号，变量名称一般均为大写形‍式。

parameters:
|-e “\a”: 发出警告音 |
|-e “\b”: 删除前面的一个字符 |
|-e “\c”: 结尾不加换行符 |
|-e “\f”: 换行后光标仍停留在原来的位置 |
|-e “\n”: 换行后光标移至行首 |
|-E: 禁止反斜杠转义 |
|-n: 不输出结尾的换行符 |
|--version: 显示版本信息 |
|--help: 显示帮助信息 |

examples:
示例1: 
输出指定字符串到终端设备界面（默认为电脑屏幕）：
[root@linuxcool ~]# echo LinuxCool 
LinuxCool

示例2: 
输出某个变量值：
[root@linuxcool ~]# echo $PATH /usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/root/bin

示例3: 
搭配转义符一起使用，输出纯字符串内容：
[root@linuxcool ~]#echo \$PATH$PATH

示例4: 
搭配输出重定向符一起使用，将字符串内容直接写入文件中：
[root@linuxcool ~]# echo "Hello World" > Doc.txt

示例5: 
搭配反引号执行命令，并将执行结果输出：
[root@linuxcool ~]# echo `uptime` 
16:16:12 up 52 min, 1 user, load average: 0.01, 0.02, 0.05

示例6: 
输出带有换行符的内容：
[root@linuxcool ~]# echo -e "First\nSecond\nThird" 
First 
Second 
Third

示例7: 
指定删除字符串中某些字符，随后将内容输出：
[root@linuxcool ~]# echo -e "123\b456"
12456


command_name: getopt
chinese_name: getopt命令 – 解析命令行选项
syntax: getopt [参数]
parameters: |-a: 允许长选项以单个字符”-“开始 | |-n: 指定一个程序，供getopt(3)函数输出错误信息时使用 | |-o: 识别单字符的短选项 | |-q: 禁止输出错误信息 |
category: 文件管理(file)
description:
getopt命令用于解析命令行选项，检测给定的选项是否合法。在此命令中，选项部分主要用于影响getopt命令解析选项,其中optstring是需要解析的合法选项的字符串，paramenters通常是一组变量，用于存储从命令行获取的每个选项及参数。

examples:
示例1: 
检查提供的参数列表(-a -b test1 -cd test2 test3)，并基于提供的optstring进行解析 ：
[root@linuxcool ~]# getopt ab:cd -a -b test1 -cd test2 test3


command_name: grub-md5-crypt
chinese_name: grub-md5-crypt命令 – 对GRUB 的密码进行加密
syntax: grub-md5-crypt [参数]
parameters: |--grub-shell=<文件>: 使用指定文件作为GRUB |
category: 文件管理(file)
description:
MD5，一种被广泛使用的密码散列函数，可以产生出一个128位的散列值（hash value），用于确保信息传输完整一致。MD5算法的原理可简要的叙述为：MD5码以512位分组来处理输入的信息，且每一分组又被划分为16个32位子分组，经过了一系列的处理后，算法的输出由四个32位分组组成，将这四个32位分组级联后将生成一个128位散列值。
使用grub-md5-crypt命令可以以MD5格式对GRUB 的密码进行添加加密口令。

examples:
示例1: 
生成MD5加密口令：
[root@linuxcool ~]# grub-md5-crypt

示例2: 
编辑grub配置文件：
[root@linuxcool ~]# vi /etc/grub.conf
password  --md5  $1$xdRKQ/$43ZXGkk1yziGE12Vlqgg71


command_name: bunzip2
chinese_name: bunzip2命令 – bz2文件的解压缩程序
description: bunzip2可解压缩.bz2格式的压缩文件。bunzip2实际上是bzip2的符号连接，执行bunzip2与bzip2 -d的效果相同。
syntax: bunzip2 [参数]
examples: 示例1: 解压.bz2文件： [root@linuxcool ~]# bunzip2 -v temp.bz2
category: 文件管理(file)
parameters:
|-f: 解压缩时，若输出的文件与现有文件名时，预设不会覆盖现有的文件。若要覆盖，请使用此参数 |
|-k: 在解压缩后，预设会删除原来的压缩文件。若要保留压缩文件，请使用此参数 |
|-s: 降低程序执行时，内存的使用量 |
|-v: 解压缩文件时，显示详细的信息 |
|-L: 显示版本信息 |


command_name: dpkg-trigger
chinese_name: dpkg-trigger命令 – 软件包触发器
description: dpkg-trigger命令是Debianlinux下的软件包触发器。 dpkg-trigger命令只能应用在维护者脚本中，或者必须使用“- -- by-package”参数。
syntax: dpkg-trigger [参数] [触发器]
category: 文件管理(file)
parameters:
|-- -check-supported: 检查运行的dpkg是否支持触发器，返回值为0，则支持触发器 |
|-- -help: 显示帮助信息 |
|-- -admindir=<目录>: 设置dpkg数据库所在的目录 |
|-- -no-act: 仅用于测试，不执行任何操作 |
|-- -by-package=<软件包>: 覆盖触发器等待者 |

examples:
示例1: 
在命令行中运行dpkg-trigger：
[root@linuxcool ~]# dpkg-trigger nowait
dpkg-trigger: 错误: 必须从维护者脚本中调用(或者通过 --by-package 选项)


command_name: mdir
chinese_name: mdir命令 – 显示MS-DOS目录
description: mdir为mtools工具指令，模拟MS-DOS的dir指令，可显示MS-DOS文件系统中的目录内容。
syntax: mdir [参数] [目录]
category: 文件管理(file)
parameters:
|-/: 显示目录下所有子目录与文件 |
|-a: 显示隐藏文件 |
|-f: 不显示磁盘所剩余的可用空间 |
|-w: 仅显示目录或文件名称，并以横排方式呈现，以便一次能显示较多的目录或文件 |
|-X: 仅显示目录下所有子目录与文件的完整路径，不显示其他信息 |

examples:
示例1: 
显示a盘中的内容：
[root@linuxcool ~]# mdir -/ a:\*

示例2: 
显示d盘中的隐藏文件：
[root@linuxcool ~]# mdir -a d:\*

示例3: 
显示d盘目录，并以横排方式呈现：
[root@linuxcool ~]# mdir -W d:\*


command_name: setfacl
chinese_name: setfacl命令 – 设置文件ACL策略规则
syntax: setfacl [参数] [文件或目录名]
category: 文件管理(file)
description:
setfacl命令来自英文词组set file access control list的缩写，其功能是设置文件ACL策略规则。FACL即文件访问控制列表策略，通过该技术可以更加精准地控制权限的分配，例如仅允许某个用户访问指定目录，或仅有某个用户才具有写入权限。把权限约束在一个极小的范围内，系统也就更加安全了。

parameters:
|-b: 清空扩展访问控制列表策略 |
|-d: 应用到默认访问控制列表 |
|-k: 移除默认访问控制列表 |
|-L: 跟踪符号链接文件 |
|-m: 更改文件访问控制列表策略 |
|-R: 递归处理所有子文件 |
|-x: 根据文件中的访问控制列表移除指定策略 |
|--help: 显示帮助信息 |
|--vesion: 显示版本信息 |

examples:
示例1: 
对目录进行FACL策略规则设置，允许指定用户进行读、写、执行操作：
[root@linuxcool ~]# setfacl -Rm u:linuxcool:rwx File 
[root@linuxcool ~]# getfacl File 
 file: File 
 owner: root group: root 
 user::rwx 
 user:linuxcool:rw- 
 group::r-x 
 mask::rwx 
 other::r-x

示例2: 
清除指定目录上已有的FACL策略规则：
[root@linuxcool ~]# setfacl -x u:linuxcool File 
[root@linuxcool ~]# getfacl File 
 file: File 
 owner: root 
 group: root 
 user::rwx 
 group::r-x 
 other::r-x


command_name: restore
chinese_name: restore命令 – 还原备份
description: restore命令用来还原由dump操作所备份下来的文件或整个文件系统(一个分区)。
syntax: restore [参数] [文件]
category: 文件管理(file)
parameters:
|-b: 设置区块大小，单位是Byte |
|-c: 不检查dump操作的备份格式，仅准许读取使用旧格式的备份文件 |
|-C: 使用对比模式，将备份的文件与现行的文件相互对比 |
|-D: 允许用户指定文件系统的名称 |
|-f: <备份文件> 从指定的文件中读取备份数据，进行还原操作 |
|-h: 仅解出目录而不包括与该目录相关的所有文件 |
|-i: 使用互动模式，在进行还原操作时，restore指令将依序询问用户 |
|-m: 解开符合指定的inode编号的文件或目录而非采用文件名称指定 |
|-r: 进行还原操作 |
|-R: 全面还原文件系统时，检查应从何处开始进行 |
|-s: 当备份数据超过一卷磁带时，您可以指定备份文件的编号 |
|-t: 指定文件名称，若该文件已存在备份文件中，则列出它们的名称 |
|-v: 显示指令执行过程 |
|-x: 设置文件名称，且从指定的存储媒体里读入它们，若该文件已存在在备份文件中，则将其还原到文件系统内 |
|-y: 不询问任何问题，一律以同意回答并继续执行指令 |

examples:
示例1: 
使用已执行的转储来执行完全重建：
[root@linuxcool ~]# restore -rf /dev/nst0

示例2: 
仅从磁带备份中提取 /etc 目录：
[root@linuxcool ~]# restore -xf /dev/nst0 /etc

示例3: 
交互式还原：
[root@linuxcool ~]# restore -if /dev/nst0

示例4: 
完全重建是一律同意执行：
[root@linuxcool ~]# restore -rfy /dev/nst0


command_name: whereis
chinese_name: whereis命令 – 显示命令及相关文件的路径位置
syntax: whereis [参数] [命令名]
parameters: |-b: 查找二进制程序或命令文件 | |-m: 查找man帮助手册文件 | |-u: 查找可执行文件、源代码及帮助文档 |
category: 文件管理(file)
description:
whereis命令的功能是显示命令及相关文件的路径位置信息，可用于找到命令（二进制程序）、命令源代码、man帮助手册等相关文件的路径位置信息，帮助我们更好地管理这些文件。
有别于find命令进行的全盘搜索，whereis命令的查找速度非常快，因为它不是在磁盘中乱找，而是在指定数据库中查询，该数据库是Linux系统自动创建的，包含本地所有文件的信息，每天自动更新一次。但也正因为这样，whereis命令的搜索结果会不及时，比如刚添加的文件可能搜不到，原因就是该数据库文件还没有更新，管理人员需手动执行updatedb命令进行更新。

examples:
示例1: 
查找指定命令程序及相关文件所在的位置：
[root@linuxcool ~]# whereis poweroff
poweroff: /usr/sbin/poweroff /usr/share/man/man8/poweroff.8.gz

示例2: 
仅查找指定命令程序文件所在的位置：
[root@linuxcool ~]# whereis -b poweroff 
poweroff: /usr/sbin/poweroff

示例3: 
仅查找指定命令的帮助文件所在的位置：
[root@linuxcool ~]# whereis -m poweroff 
poweroff: /usr/share/man/man8/poweroff.8.gz


command_name: readlink
chinese_name: readlink命令 – 找出符号链接所指向的位置
syntax: readlink [参数] [文件名]
category: 文件管理(file)
description:
readlink命令来自英文词组“read link”的拼写，中文译为“读取链接”，其功能是用于找出符号链接所指向的位置。常用Linux系统的运维人员一定熟悉ln命令和软硬链接吧，这是一种类似于“Windows系统快捷方式”的文件形式，让用户可以从不同路径下访问到指定文件。而readlink命令则是用于找出这些软链接文件所对应真实位置的工具，还原其最初的信息。

parameters:
|-f: 递归处理所有子文件 |
|-n: 输出结果后不自动回车换行 |
|-s: 静默执行模式 |
|-v: 显示执行过程详细信息 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 |

examples:
示例1: 
找出指定符号链接所对应的真实文件名称：
[root@linuxcool ~]#readlink /dev/cdromsr0
[root@linuxcool ~]#

示例2: 
找出指定符号链接所对应的真实文件名称，并保留路径信息：
[root@linuxcool ~]#readlink /dev/cdrom/dev/sr0
[root@linuxcool ~]#

示例3: 
找出指定符号链接所对应的真实文件名称，保留路径信息，但不换行：
[root@linuxcool ~]#readlink /dev/cdrom/dev/sr0[root@linuxcool ~]#


command_name: zcat
chinese_name: zcat命令 – 查看压缩文件的内容
description: zcat命令来自英文词组“zip cat”的缩写，其功能是用于查看压缩文件的内容。zcat命令可以在不真正解压文件的情况下查看到文件内容，类似于gunnzip -c命令组合的作用。
syntax: zcat [参数] [压缩包]
category: 文件管理(file)
parameters:
|-1: 更快的压缩速度 |
|-9: 更高的压缩比 |
|-a: 使用ASCII文本模式 |
|-c: 将文件内容写入标准输出 |
|-d: 执行解压缩操作 |
|-f: 强制压缩或解压缩而不询问 |
|-h: 显示帮助信息 |
|-l: 显示压缩包中文件的列表 |
|-L: 显示软件许可信息 |
|-n: 压缩时不保存源文件名和时间戳 |
|-N: 压缩时始终保存源文件名和时间戳 |
|-q: 静默执行模式 |
|-r: 递归处理所有子文件 |
|-S: 设置压缩包非标准后缀 |
|-t: 检查压缩包的完整性 |
|-V: 显示版本信息 |

examples:
示例1: 
在不解压文件的情况下，显示某个压缩包内文件的内容：
[root@linuxcool ~]#zcat File.tar.gz

示例2: 
在不解压文件的情况下，显示多个压缩包内文件的内容：
[root@linuxcool ~]#zcat File1.tar.gz File2.tar.gz

示例3: 
查看指定文件的压缩信息（压缩后大小，未压缩大小，压缩率，文件名）：
[root@linuxcool ~]#zcat -l File.tar.gzcompressed        uncompressed  ratio uncompressed_name
            6316096            27074560  76.7% File.tar


command_name: chacl
chinese_name: chacl命令 – 更改文件或目录的ACL
description: chacl命令的作用是用来更改文件或目录的访问控制列表。chacl命令和chmod有异曲同工之妙。但是chacl命令比chmod更为强大，更为精细。
syntax: chacl [参数] [文件或目录]
category: 文件管理(file)
parameters:
|-b: 表示改变两个ACL，第一个是文件访问ACL，第二个是目录的默认ACL |
|-d: 只设置目录的ACL |
|-R: 只清除文件的ACL |
|-D: 只清除目录的默认ACL |
|-l: 列出访问ACL和可能与指定的文件或目录关联的默认ACL |
|-B: 清除所有的ACL |
|-r: 递归设置访问ACL |

examples:
示例1: 
查询文件linuxcool_file1的权限配置：
[root@linuxcool ~]# chacl -l linuxcool_file1

示例2: 
将文件linuxcool_file1的权限设置为：拥有者可读可写可运行，同组者可读可运行，其他人仅可运行：
[root@linuxcool ~]# chacl u:rwx,g:r-x,o:--x linuxcool_file1

示例3: 
清除/opt/ta文件的ACL设置：
[root@linuxcool ~]# chacl -B /opt/ta


command_name: crlutil
chinese_name: crlutil命令 – 列出、生成、修改或删除NSS安全数据库文件中的CRL
description: crlutil命令列出、生成、修改或删除NSS安全数据库文件中的CRL，并列出、创建、修改或删除特定CRL中的证书项。
syntax: crlutil [参数]
category: 文件管理(file)
parameters:
|-D: 从证书数据库中删除证书吊销列表 |
|-E: 从证书数据库中删除指定类型的所有CRL |
|-G: 创建新证书吊销列表（CRL） |
|-I: 导入到CRL到证书数据库 |
|-L: 列出位于证书数据库文件中的现有CRL |

examples:
示例1: 
使用crlutil命令生成证书：
[root@linuxcool ~]# certutil -R -k rsa -g 1024 -s "CN=John Smith,O=Example Corp,L=Mountain View,ST=California,C=US" -d sql:$HOME/nssdb -p 650-555-0123 -a -o cert.cer

示例2: 
创建一个新的CRL并将其导入到指定目录中的数据库中：
[root@linuxcool ~]# crlutil -G -d certdir -n cert-nickname -c crl-script-file

示例3: 
在数据库中列出CRL：
[root@linuxcool ~]# crlutil -L -d certdir


command_name: getfacl
chinese_name: getfacl命令 – 显示文件或目录的ACL策略
syntax: getfacl [参数] [文件或目录名]
category: 文件管理(file)
description:
getfacl命令来自英文词组get file access control list的缩写，其功能是显示文件或目录的ACL策略。对指定的文件或目录进行精准的权限控制，FACL（File Access Control List，文件访问控制列表）一定是不二之选，快用getfacl命令看看文件都有哪些权限‍吧！

parameters:
|-a: 显示文件的ACL策略 |
|-c: 不显示注释标题 |
|-d: 显示目录的ACL策略 |
|-e: 显示所有的有效权限 |
|-h: 显示帮助信息 |
|-L: 找到符号链接对应的文件 |
|-P: 不找符号链接对应的文件 |
|-R: 递归处理所有子文件 |
|-t: 设置表格输出格式 |
|-v: 显示版本信息 |

examples:
示例1: 
查看指定文件上有哪些访问控制策略：
[root@linuxcool ~]# getfacl File.txt 
# file: File.txt 
# owner: root 
# group: root 
user::rw- 
group::r—
other::r--

示例2: 
查看指定文件上有哪些访问控制策略，不显示注释信息：
[root@linuxcool ~]# getfacl -c File.txt 
user::rw- 
group::r-- 
other::r--

示例3: 
使用表格形式查看指定文件上有哪些访问控制策略：
[root@linuxcool ~]# getfacl -t File.txt 
file: File.txt 
USER root rw- 
GROUP root r-- 
other r--


command_name: arptables-save
chinese_name: arptables-save命令 – 保存ARP表
description: 使用arptables-save命令可以转储ARP表中的内容，已便于以解析的格式输出到标准输出中。
syntax: arptables-save [参数]
parameters: |-c: 在输出中包含的所有数据包和字节计数器的当前值 | |-t: 限制输出只有一个表，如果没有指定，输出包括所有的可用表 |
category: 文件管理(file)
examples:
示例1: 
保存ARP表：
[root@linuxcool ~]# arptables-save

示例2: 
保存ARP表到/root/arp文件中：
[root@linuxcool ~]# arptables-save >/root/arp

示例3: 
追加ARP表到/root/arp中：
[root@linuxcool ~]# arptables-save >>/root/arp


command_name: cdplay
chinese_name: cdplay命令 – CD播放工具
description: cdplay命令用于CD播放工具。 cdplay命令实际上就是一款cd播放软件，比如CD PLAYER，就是我们在日常生活中常说的CD播放器。
syntax: cdplay [参数]
parameters: |–s: 随机播放 | |–b: 后台运行模式 | |–d: 显示当前正在播放的CD的所有相关信息 | |-tn: 第几首歌曲，n代表数字 |
category: 文件管理(file)
examples:
示例1: 
随机播放一首CD上的歌曲：
[root@linuxcool ~]# cdplay –s

示例2: 
以后台运行模式播放CD上的第8首歌曲：
[root@linuxcool ~]# cdplay –b –t8

示例3: 
显示当前正在播放的CD的所有相关信息：
[root@linuxcool ~]# cdplay –d


command_name: sz
chinese_name: sz命令 – 基于ZModem协议下载文件到本地
syntax: sz [参数] [文件名]
category: 文件管理(file)
description:
sz命令来自英文词组send Zmodem的缩写，其功能是基于Zmodem协议从远程服务器下载文件到本地。当我们在使用Xshell、SecureCRT、PuTTY等虚拟终端软件时，可以使用sz命令将远程文件直接下载到本地，在软件弹出的窗口选择本地保存路径即可。
若您的系统中找不到sz与rz命令，请配置好软件仓库后执行yum install lszrz命令即可。

parameters:
|+: 将数据写入到文件中 |
|-a: 以文本方式传输 |
|-b: 以二进制方式传输 |
|-c: 发送命令到服务器 |
|-C: 设置发送命令的最大次数 |
|-D: 将发送路径中所有点号“.”改成斜杠“/” |
|-e: 对控制字符进行转义操作 |
|-f: 发送完整的路径名 |
|-h: 显示帮助信息 |
|-i: 在接收端执行命令 |
|+: 将数据写入到文件中 |
|-L: 设置Zmodem子包的长度 |
|-n: 如果当前文件较新，则覆盖原始文件 |
|-p: 若目标文件存在，则保留，不要覆盖 |
|-q: 静默执行模式 |
|-r: 恢复中断的文件传输 |
|-R: 限制使用目录路径 |
|-S: 启用支持TimeSync协议 |
|-v: 显示执行过程详细信息 |
|-X: 使用Xmodem协议 |

examples:
示例1: 
下载指定的某个文件：
[root@linuxcool ~]# sz File.cfg
 …………弹出窗口中选择本地保存路径即可…………

示例2: 
以文本方式批量下载指定的多个文件：
[root@linuxcool ~]# sz -a /Dir/* 
…………弹出窗口中选择本地保存路径即可…………

示例3: 
以二进制方式下载指定的某个文件：
[root@linuxcool ~]# sz -b File.tar.gz
 …………弹出窗口中选择本地保存路径即可…………


command_name: ld
chinese_name: ld命令 – GUN连接器
description: ld命令是GNU的连接器，将目标文件连接为可执行程序。 很少单独使用ld命令对目标进行连接操作，通常都是使用gcc命令在编译后自动进行连接。
syntax: ld [参数]
parameters: |-o: 指定输出文件名 | |-e: 指定程序的入口符号 |
category: 文件管理(file)
examples:
示例1: 
将文件“/lib/linuxcool_1.o”与“ linuxcool_2 .o”和库“linuxcool_3.a”链接起来，生成一个名为 linuxcool_4的文件，该文件将来自标准搜索目录：
[root@linuxcool ~]# ld -o linuxcool_4 /lib/linuxcool_1.o linuxcool_2 .o -lc


command_name: rlogin
chinese_name: rlogin命令 – 远端登入
description: rlogin命令用于远端登入。执行rlogin指令开启终端机阶段操作，并登入远端主机。
syntax: rlogin [参数]
category: 文件管理(file)
parameters:
|-E: 忽略escape字符 |
|-8: 只识别8位字的字符 |
|-L: 允许rlogin会话运行在litout模式 |
|-ec: 设置escape字符为c |
|-c: 断开连接前要求确认 |
|-a: 强制要求远程主机在发送完一个空的本地用户名之后请求一个密码 |
|-f: 向远端主机发送一个本地认证 |
|-F: 向远程主机发送一个可转寄的本地认证 |
|-7: 强制执行7为的传输 |
|-d: 打开用于远端主机通信的TCP套接口的调试 |
|-k: 要求包含远端主机的tisckets |
|-x: 启动数据传输的DES加密 |
|-4: 只使用 kerkberos的版本4的认证 |

examples:
示例1: 
显示rlogin服务是否开启：
[root@linuxcool ~]# chkconfig --list

示例2: 
开启rlogin服务：
[root@linuxcool ~]# chkconfig rlogin on

示例3: 
登陆远程主机：
[root@linuxcool ~]#  rlogin 192.168.1.88 Password：
  Password：
  Login incorrect
  Login:root
  Passwd: Login
  incorrect
  Login:kk
  Passwd:


command_name: return
chinese_name: return命令 – 从函数中退出并返回数值
syntax: return [参数]
parameters: |n: 整数 |
category: 文件管理(file)
description:
return命令的作用是使得shell函数退出并返回数值，如果没有指定n的值，则默认为函数最后一条命令执行的返回状态。
返回值为你指定的参数n的值，如果你指定的参数大于255或小于0，那么会通过加或减256的方式使得返回值总是处于0到255之间。在函数外执行return语句会返回失败。
就bash而言, return命令只能用在函数中，不能直接用在脚本中
内置命令return用于从函数中返回, return命令在函数中不是必须的，函数被调用时，函数内的命令执行完成后自然会返回到调用它的地方（一般是返回到主程序）。如果某函数中有return命令，执行到return时就返回。如果return在函数中不是最后一条命令，那么return后面的其他命令不再执行。

examples:
示例1: 
定义一个返回值大于255的函数：
[root@linuxcool ~]# example() {return 259}
// 执行函数
[root@linuxcool ~]# example
// 显示3
[root@linuxcool ~]# echo $?
3

示例2: 
立即结束本procedure的执行：
Procedure checkstatus
Parameter name
if len(name) = 0 then
return
else
?name
endif
messagebox('hello')
endproc

示例3: 
在具有对象引用返回类型的方法中返回null：
public Button doStuff（）{
return null；
}


command_name: inncheck
chinese_name: inncheck命令 – 检查语法
syntax: inncheck [参数]
category: 文件管理(file)
description:
inncheck会检查inn配置文件的语法是否正确，但不会实际修改这些配置文件。
INN文件是一个微焦点COBOL覆盖文件。Micro Focus COBOL是一种用于Windows、.NET、UNIX和Linux。
INN文件支持的操作系统有 Windows Server 2003/2008/2012/2016, Windows 7, Windows 8, Windows 10, Linux, FreeBSD, NetBSD, OpenBSD, Mac OS X, iOS, Android。

parameters:
|-a: 不管是否出现[文件]参数，仍然检查全部的配置文件 |
|-f: 若发现配置文件有误，则列出可修正错误的指令 |
|-v: 执行时显示详细的信息 |
|-pedantic: 以较为严格的方式来检查 |
|-perm: 检查文件权限是否有误 |
|--noperm: 不检查文件的权限设置 |

examples:
示例1: 
检查全部的配置文件：
[root@linuxcool ~]# inncheck -a

示例2: 
检查user.ini文件时显示详细的信息：
[root@linuxcool ~]# inncheck -v user.ini

示例3: 
检查user.ini文件并输出可修正错误：
[root@linuxcool ~]# inncheck -f user.ini


command_name: umount
chinese_name: umount命令 – 卸载文件系统
description: umount命令的功能是卸载文件系统。与mount挂载命令需要同时提供设备名与挂载目录不同，umount卸载命令只需要提供设备名或挂载目录之一即可。
syntax: umount [参数] 设备或目录名
category: 文件管理(file)
parameters:
|-a: 卸载/etc/mtab文件中记录的所有设备 |
|-F: 强制卸载设备而不询问 |
|-h: 显示帮助信息 |
|-n: 卸载时不要将信息写入/etc/mtab文件中 |
|-t: 仅卸载指定的文件系统 |
|-v: 显示执行过程详细信息 |
|-V: 显示版本信息 |

examples:
示例1: 
卸载指定的文件系统：
[root@linuxcool ~]# umount /dev/sdb

示例2: 
卸载指定的文件系统并显示过程：
[root@linuxcool ~]# umount -v /dev/cdrom 
umount: /media/cdrom (/dev/sr0) unmounted


command_name: nntptest
chinese_name: nntptest命令 – 交互式NNTP测试程序
description: 使用nntptest命令可以进行交互式NNTP测试。它允许验证到一个NNTP服务器和交互式发出命令给它。一旦通过验证可以通过简单地键入而发出任何NNTP命令。
syntax: nntpstest [参数] [主机名]
parameters: |-p: 指定连接的端口 | |-t: 启用TLS。 | |-u: 指定用来认标识使用许可的用户 |
category: 文件管理(file)
examples:
示例1: 
进行交互式NNTP测试：
[root@linuxcool ~]# nntptest 10.0.0.21

示例2: 
启用TLS进行交互式NNTP测试：
[root@linuxcool ~]# nntptest -t 10.0.0.21

示例3: 
指定54321端口进行交互式NNTP测试：
[root@linuxcool ~]# nntptest -p 54321 10.0.0.21


command_name: grep
chinese_name: grep命令 – 强大的文本搜索工具
syntax: grep [参数] [文件名]
category: 文件管理(file)
description:
grep命令来自英文词组global search regular expression and print out the line的缩写，意思是用于全面搜索的正则表达式，并将结果输出。人们通常会将grep命令与正则表达式搭配使用，参数作为搜索过程中的补充或对输出结果的筛选，命令模式十分灵‍活。
与之容易混淆的是egrep命令和fgrep命令。如果把grep命令当作标准搜索命令，那么egrep则是扩展搜索命令，等价于grep -E命令，支持扩展的正则表达式。而fgrep则是快速搜索命令，等价于grep -F命令，不支持正则表达式，直接按照字符串内容进行匹配。

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

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

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

示例3: 
搜索多个文件中包含某个关键词的内容行：
[root@linuxcool ~]# grep linuxprobe /etc/passwd /etc/shadow 
/etc/passwd:linuxprobe:x:1000:1000:linuxprobe:/home/linuxprobe:/bin/bash 
/etc/shadow:linuxprobe:$6$9Av/41hCM17T2PrT$hoggWJ3J/j6IqEOSp62elhdOYPLhQ1qDho7hANcm5fQkPCQdib8KCWGdvxbRvDmqyOarKpWGxd8NAmp3j2Ln00::0:99999:7:::

示例4: 
搜索多个文件中包含某个关键词的内容，不显示文件名称：
[root@linuxcool ~]# grep -h linuxprobe /etc/passwd /etc/shadow 
linuxprobe:x:1000:1000:linuxprobe:/home/linuxprobe:/bin/bash 
linuxprobe:$6$9Av/41hCM17T2PrT$hoggWJ3J/j6IqEOSp62elhdOYPLhQ1qDho7hANcm5fQkPCQdib8KCWGdvxbRvDmqyOarKpWGxd8NAmp3j2Ln00::0:99999:7:::

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

示例6: 
搜索指定文件中包含某个关键词位置的行号及内容行：
[root@linuxcool ~]# grep -n network anaconda-ks.cfg 
17:network --bootproto=static --device=ens160 --ip=192.168.10.10 --netmask=255.255.255.0 --onboot=off --ipv6=auto --activate 
18:network --hostname=www.linuxcool.com

示例7: 
搜索指定文件中不包含某个关键词的内容行：
[root@linuxcool ~]# grep -v nologin /etc/passwd 
root:x:0:0:root:/root:/bin/bash 
sync:x:5:0:sync:/sbin:/bin/sync 
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown 
halt:x:7:0:halt:/sbin:/sbin/halt 
linuxprobe:x:1000:1000:linuxprobe:/home/linuxprobe:/bin/bash

示例8: 
搜索当前工作目录中包含某个关键词内容的文件，未找到则提示：
[root@linuxcool ~]# grep -l root * 
anaconda-ks.cfg 
grep: Desktop: Is a directory 
grep: Documents: Is a directory 
grep: Downloads: Is a directory 
initial-setup-ks.cfg 
grep: Music: Is a directory 
grep: Pictures: Is a directory 
grep: Public: Is a directory 
grep: Templates: Is a directory 
grep: Videos: Is a directory

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

示例10: 
不仅搜索指定目录，还搜索其内子目录内是否有关键词文件：
[root@linuxcool ~]#grep -srl root /etc/etc/fstab
/etc/X11/xinit/Xclients
/etc/X11/xinit/xinitrc
/etc/libreport/events.d/collect_dnf.conf
/etc/libreport/events.d/bugzilla_anaconda_event.conf
/etc/libreport/forbidden_words.conf
………………省略部分输出信息………………

示例11: 
搜索指定文件中精准匹配到某个关键词的内容行：
[root@linuxcool ~]#grep -x cd anaconda-ks.cfg[root@linuxcool ~]#grep -x cdrom anaconda-ks.cfgcdrom

示例12: 
判断指定文件中是否包含某个关键词，通过返回状态值输出结果（0为包含，1为不包含）：
[root@linuxcool ~]#grep -q linuxprobe anaconda-ks.cfg[root@linuxcool ~]#echo $?0
[root@linuxcool ~]#grep -q linuxcool anaconda-ks.cfg[root@linuxcool ~]#echo $?1

示例13: 
搜索指定文件中空行的数量：
[root@linuxcool ~]#grep -c ^$ anaconda-ks.cfg6


command_name: mkntfs
chinese_name: mkntfs命令 – 创建 NTFS文件系统
syntax: mkntfs [参数]
category: 文件管理(file)
description:
mkntfs用于在设备上（通常是磁盘分区或文件）创建 NTFS [文件]系统。device操作数是对应于设备的特殊文件，例如 /dev/dsk/c0d0p0。number-of-sectors操作数是设备上的块的数目。如果省略，则 mkntfs 将自动计算文件系统大小。

parameters:
|–C: 在卷上启用压缩 |
|–f、–-fast或 –q、–-quick: 执行快速格式化，此选项会跳过卷的零位调整和坏扇区检查 |
|–L、–-label: 设置文件系统的卷标签 |
|–n、–-no-action: mkntfs不实际创建文件系统，但显示它创建文件系统时将执行的工作 |
|-c: 以字节为单位指定簇的大小 |
|–p、–-partition: 指定分区开始扇区 |
|-f/--force: 强制执行mkntfs |
|–v: 详细模式执行 |

examples:
示例1: 
启用压缩：
[root@linuxcool ~]# mkntfs -C

示例2: 
在压缩时候输出详细信息：
[root@linuxcool ~]# mkntfs -v

示例3: 
设置文件系统的卷标签为string：
[root@linuxcool ~]# mkntfs -L string


command_name: fgrep
chinese_name: fgrep命令 – 为文件搜索文字字符串
syntax: fgrep [参数]
category: 文件管理(file)
description:
fgrep命令的作用是用来搜索file参数指定的输入文件（缺省为标准输入）中的匹配模式的行。fgrep [命令]特别搜索Pattern参数，它们是固定的字符串。如果在File [参数]中指定一个以上的文件fgrep命令将显示包含匹配行的文件。
fgrep命令 作用与grep和egrep命令不同，因为它搜索字符串而不是搜索匹配表达式的模式。fgrep命令使用快速的压缩算法。$, *, [, |, (, )和\等字符串被fgrep命令按字面意思解释。这些字符并不解释为正则表达式。
如果没有指定文件，fgrep命令假定标准输入。一般，找到的每行都复制到标准输出中去。如果不止一个输入文件，则在找到的每行前打印文件名。
fgrep有以下相关属性:

parameters:
|-b: 在找到的每行之前添加行所在的块编号 |
|-c: 仅显示匹配行的计数 |
|-e: 指定模式 |
|-f: 指定包含字符串的文件 |
|-h: 当多个文件被处理时隐藏文件名 |
|-i: 当进行比较时忽略字母的大小写 |
|-l: 只列出包含匹配行的文件名（一次） |
|n: 将文件中每行的相对行号置于行前 |
|-pSeparator: 显示包含匹配行的整个段落 |
|-q: 禁止所有写入到标准输出的操作，不管是否为匹配行 |
|-s: 仅显示出错消息 |
|-v: 显示除了匹配特定模式的行以外的所有行 |
|-w: 执行单词搜索 |
|-x: 显示匹配模式的行，要求无额外的字符 |
|-y: 当进行比较时忽略字符的大小写 |

examples:
示例1: 
当前目录下所有以 .c字符串结尾的文件中搜索字符串strcpy：
[root@linuxcool ~]# fgrep strcpy *.c

示例2: 
搜索当前目录下以 .c 结尾的文件，然后显示包含 strcpy 字符串的文件名：
[root@linuxcool ~]# fgrep -l strcpy *.c

示例3: 
匹配含有a的行：
[root@linuxcool ~]# cat linuxcool.sh |fgrep a


command_name: find
chinese_name: find命令 – 根据路径和条件搜索指定文件
syntax: find [路径] [条件] [文件名]
category: 文件管理(file)
description:
find命令的功能是根据给定的路径和条件查找相关文件或目录，其参数灵活方便，且支持正则表达式，结合管道符后能够实现更加复杂的功能，是Linux系统运维人员必须掌握的命令之一。
find命令通常进行的是从根目录（/）开始的全盘搜索，有别于whereis、which、locate等有条件或部分文件的搜索。对于服务器负载较高的情况，建议不要在高峰时期使用find命令的模糊搜索，这会相对消耗较多的系统资源。

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

examples:
示例1: 
全盘搜索系统中所有以.conf结尾的文件：
[root@linuxcool ~]# find / -name *.conf 
/run/tmpfiles.d/kmod.conf 
/etc/resolv.conf 
/etc/dnf/dnf.conf 
/etc/dnf/plugins/copr.conf 
/etc/dnf/plugins/debuginfo-install.conf 
/etc/dnf/plugins/product-id.conf 
/etc/dnf/plugins/subscription-manager.conf 
………………省略部分输出信息………………

示例2: 
在/etc目录中搜索所有大于1MB的文件：
[root@linuxcool ~]# find /etc -size +1M 
/etc/selinux/targeted/policy/policy.31 
/etc/udev/hwdb.bin

示例3: 
在/home目录中搜索所有属于指定用户的文件：
[root@linuxcool ~]# find /home -user linuxprobe 
/home/linuxprobe 
/home/linuxprobe/.mozilla 
/home/linuxprobe/.mozilla/extensions 
/home/linuxprobe/.mozilla/plugins 
/home/linuxprobe/.bash_logout 
/home/linuxprobe/.bash_profile 
/home/linuxprobe/.bashrc

示例4: 
列出当前工作目录中的所有文件、目录以及子文件信息：
[root@linuxcool ~]# find .
. 
./.bash_logout 
./.bash_profile 
./.bashrc 
./.cshrc 
./.tcshrc 
./anaconda-ks.cfg 
………………省略部分输出信息………………

示例5: 
在/var/log目录下搜索所有指定后缀的文件：
[root@linuxcool ~]# find /var/log -name "*.log" 
/var/log/audit/audit.log 
/var/log/rhsm/rhsmcertd.log 
/var/log/rhsm/rhsm.log 
/var/log/sssd/sssd.log 
/var/log/sssd/sssd_implicit_files.log 
/var/log/sssd/sssd_nss.log 
/var/log/sssd/sssd_kcm.log 
/var/log/tuned/tuned.log 
/var/log/anaconda/anaconda.log 
/var/log/anaconda/X.log 
………………省略部分输出信息………………

示例6: 
在/var/log目录下搜索所有不是以.log结尾的文件：
[root@linuxcool ~]# find /var/log ! -name "*.log" 
/var/log 
/var/log/lastlog 
/var/log/README 
/var/log/private 
/var/log/wtmp 
/var/log/btmp 
/var/log/samba

示例7: 
搜索当前工作目录中所有近7天被修改过的文件：
[root@linuxcool ~]# find . -mtime +7 
./.bash_logout 
./.bash_profile 
./.bashrc
./.cshrc 
./.tcshrc 
………………省略部分输出信息………………

示例8: 
全盘搜索系统中所有类型为目录，且权限为1777的目录文件：
[root@linuxcool ~]#find / -type d -perm 1777/dev/mqueue
/dev/shm
/var/tmp
/tmp
………………省略部分输出信息………………

示例9: 
全盘搜索系统中所有类型为普通文件，且可以执行的文件信息：
[root@linuxcool ~]#find / -type f -perm /a=x/boot/vmlinuz-4.18.0-80.el8.x86_64
/boot/vmlinuz-0-rescue-c8b04558503242459d908c6c22a2d481
/etc/X11/xinit/xinitrc.d/50-systemd-user.sh
/etc/X11/xinit/xinitrc.d/00-start-message-bus.sh
/etc/X11/xinit/xinitrc.d/localuser.sh
/etc/X11/xinit/Xclients
/etc/X11/xinit/Xsession
/etc/X11/xinit/xinitrc
………………省略部分输出信息………………

示例10: 
全盘搜索系统中所有后缀为.mp4的文件，并删除所有查找到的文件：
[root@linuxcool ~]#find / -name "*.mp4" -exec rm -rf {} \;


command_name: inotifywait
chinese_name: inotifywait命令 – 异步文件系统监控
syntax: inotifywait [参数]
category: 文件管理(file)
description:
inotifywait命令作用是用来收集有关文件访问信息。
linux发行版一般没有包括这个命令，需要安装inotify-tools，这个命令还需要将inotify支持编译入linux内核，目前大多数linux发行版都在内核中启用了inotify。

parameters:
|-m: 持续监视变化 |
|-r: 使用递归形式监视目录 |
|-q: 减少冗余信息，只打印出需要的信息 |
|-e<事件>: 指定要监视的事件列表 |
|-- -timefmt: 指定时间的输出格式 |
|-- -format: 指定文件变化的详细信息 |

examples:
示例1: 
持续监听/linuxcool目录的变化：
[root@linuxcool ~]# inotifywait -m /linuxcool

示例2: 
监听/linuxcool目录下左右子目录的变化：
[root@linuxcool ~]# inotifywait -mr /linuxcool

示例3: 
监听/linuxcool目录发生的指定事件：
[root@linuxcool ~]# inotifywait -e move /linuxcool


command_name: which
chinese_name: which命令 – 查找命令文件
syntax: which [参数] [文件名]
category: 文件管理(file)
description:
which命令的功能是查找命令文件，能够快速搜索二进制程序所对应的位置。如果我们既不关心同名文件（find与locate），也不关心命令所对应的源代码和帮助文件（whereis），仅仅是想找到命令本身所在的路径，那么这个which命令就太合适了。

parameters:
|-a: 显示PATH变量中所有匹配的可执行文件 |
|-n: 设置文件名长度（不含路径） |
|-p: 设置文件名长度（含路径） |
|-V: 显示版本信息 |
|-w: 设置输出时栏位的宽度 |
|--read-functions: 从标准输入中读取shell函数定义 |
|--show-tilde: 使用波浪线代替路径中的家目录 |
|--skip-dot: 跳过PATH变量中以点号开头的目录 |

examples:
示例1: 
查找某个指定命令文件的所在位置：
[root@linuxcool ~]# which reboot 
/usr/sbin/reboot

示例2: 
查找多个指定命令文件的所在位置：
[root@linuxcool ~]# which shutdown poweroff 
/usr/sbin/shutdown 
/usr/sbin/poweroff


command_name: sort
chinese_name: sort命令 – 对文件内容进行排序
description: sort命令的功能是对文件内容进行排序。有时文本中的内容顺序不正确，一行行地手动修改实在太麻烦了。此时使用sort命令就再合适不过了，它能够对文本内容进行再次排序。
syntax: sort [参数] [文件名]
category: 文件管理(file)
parameters:
|-b: 忽略每行前面出现的空格字符 |
|-c: 检查文件是否已经按照顺序排序 |
|-d: 除字母、数字及空格字符外，忽略其他字符 |
|-f: 将小写字母视为大写字母 |
|-h: 以更易读的格式输出信息 |
|-i: 除40～176之间的ASCII字符外，忽略其他字符 |
|-k: 设置需要排序的列号 |
|-m: 将几个排好序的文件进行合并 |
|-M: 将前面3个字母依照月份的缩写进行排序 |
|-o: 将排序后的结果写入指定文件 |
|-r: 以相反的顺序排序 |
|-R: 依据随机哈希值进行排序 |
|-t: 设置排序时所用的栏位分隔符 |
|-T: 设置临时目录 |
|-z: 使用0字节结尾，而不是换行 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 |

examples:
示例1: 
对指定的文件内容按照字母顺序进行排序：
[root@linuxcool ~]# cat File.txt 
banana 
pear 
apple 
orange 
Raspaberry
[root@linuxcool ~]# sort File.txt 
apple 
banana 
orange 
pear 
raspaberry

示例2: 
对指定的文件内容按照数字大小进行排序：
[root@linuxcool ~]# cat File.txt 
45 
12 
3 
98 
82 
67 
24 
56 
9 
[root@linuxcool ~]# sort -n File.txt 
3 
9 
12 
24 
45 
56 
67 
82 
98

示例3: 
以冒号（：）为间隔符，对指定的文件内容按照数字大小对第3列进行排序：
[root@linuxcool ~]# sort -t : -k 3 -n File.txt 
rpc:x:32:32:Rpcbind Daemon 
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon qemu:x:107:107:qemu user 
usbmuxd:x:113:113:usbmuxd user 
pulse:x:171:171:PulseAudio System Daemon 
rtkit:x:172:172:RealtimeKit 
gluster:x:995:990:GlusterFS daemons 
unbound:x:996:991:Unbound DNS resolver 
geoclue:x:997:995:User for geoclue 
polkitd:x:998:996:User for polkitd 
………………省略部分输出信息………………


command_name: wc
chinese_name: wc命令 – 统计文件的字节数、单词数、行数
syntax: wc [参数] [文件名]
parameters: |-c: 统计字节数 | |-l: 统计行数 | |-L: 设置最长行的长度 | |-m: 统计字符数 | |--help: 显示帮助信息 | |--version: 显示版本信息 |
category: 文件管理(file)
description:
wc命令来自英文词组word count的缩写，其功能是统计文件的字节数、单词数、行数等信息，并将统计结果输出到终端界面。利用wc命令可以很快地计算出准确的单词数及行数，评估出文本的内容长度。要想了解一个文件，不妨先使用一下wc命令吧!

examples:
示例1: 
统计指定文件的单词数量：
[root@linuxcool ~]# wc -w File.cfg 
117 File.cfg

示例2: 
统计指定文件的字节数量：
[root@linuxcool ~]# wc -c File.cfg 
1256 File.cfg

示例3: 
统计指定文件的字符数量：
[root@linuxcool ~]# wc -m File.cfg 
1256 File.cfg

示例4: 
统计指定文件的总行数：
[root@linuxcool ~]# wc -l File.cfg 
43 File.cfg


command_name: smbget
chinese_name: smbget命令 – 下载samba共享资源
description: smbget命令来自英文词组“Samba get”的缩写，其功能是用于下载samba共享资源。smbget命令可以通过SMB协议下载远程文件，使用原理和方法类似于wget命令。
syntax: smbget [参数] [远程文件名] [本地文件名]
parameters: |-o: 写入到指定文件 | |-O: 写入到标准输出 |
category: 文件管理(file)
examples:
示例1: 
下载某个指定服务器上的文件到本地当前目录：
[root@linuxcool ~]#smbget smb://192.168.10.10/Dir

示例2: 
下载某个指定服务器上的文件到本地指定目录：
[root@linuxcool ~]#smbget smb://192.168.10.10/Dir -o /Dir

示例3: 
下载某个指定服务器上的文件到本地，并将内容输出到屏幕：
[root@linuxcool ~]#smbget smb://192.168.10.10/Dir -O


command_name: mkfs-msdos
chinese_name: mkfs.msdos命令 – 建立DOS文件系统
syntax: mkfs.msdos [参数]
category: 文件管理(file)
description:
mkfs.msdos命令用于建立DOS文件系统。与mkdosfs命令功能相同。
DOS时代中就有了“目录”一术语，而目录是树型结构的，打开一个“文件夹”，里面可能继续会有次文件夹，再打开次文件夹，以后可能还会有文件夹，所以DOS文件系统其实就是一种树型结构。

parameters:
|-c: 建立档案系统之前先检查是否有坏轨 |
|-l: 从得定的档案中读取坏轨记录 |
|-f: 指定档案配置表的数量 |
|-F: 指定 FAT 表的大小，通常是 12 或是 16 个位元组 |
|-n: 指定 Volume Name，即磁碟标签 |

examples:
示例1: 
将 A 槽里的磁碟片格式化为 DOS 格式，并将标签设为 Tester：
[root@linuxcool ~]# mkfs.msdos -n Tester /dev/fd0

示例2: 
检查是否有坏轨：
[root@linuxcool ~]# mkfs.msdos -c

示例3: 
从test目录中读取坏轨记录：
[root@linuxcool ~]# mkfs.msdos -l test


command_name: e2label
chinese_name: e2label命令 – 设置文件系统的卷标
description: e2label命令用来设置第二扩展文件系统的卷标。
syntax: e2label [参数]
parameters: |文件系统: 指定文件系统所对应的设备文件名 | |新卷标: 为文件系统指定新卷标 |
category: 文件管理(file)
examples:
示例1: 
指定新卷标：
[root@linuxcool ~]# mkdir /new
[root@linuxcool ~]# e2label /dev/hdax /new
[root@linuxcool ~]# vim /etc/fstab
label=/new  /new  ext4  defaults  1 1


command_name: objdump
chinese_name: objdump命令 – 显示目标文件附加信息
syntax: objdump [参数] [文件名]
category: 文件管理(file)
description:
objdump命令来自于英文词组“object files dump”的缩写，其功能是用于显示目标文件附加信息。如果只是想让自己编写的代码运行起来，做个能用的小程序，那么这个命令确实用处不大。但如果想深入了解指定二进制可执行文件的附加信息，那么就一定要试试objdump命令了。

parameters:
|-a: 显示档案库的成员信息 |
|-g: 显示调试信息 |
|-d: 从objfile中反汇编那些特定指令机器码的section |
|-D: 与 -d 类似，但反汇编所有section |
|-f: 显示objfile中每个文件的整体头部摘要信息 |
|-H: 简短的帮助信息 |
|-s: 显示指定section的完整内容。默认所有的非空section都会被显示 |

examples:
示例1: 
查看档案库文件中的信息：
[root@linuxcool ~]# objdump -a libmy2.a

示例2: 
显示mytest.o文件中的text段的内容：
[root@linuxcool ~]# objdump --section=.text -s mytest.o


command_name: chattr
chinese_name: chattr命令 – 更改文件隐藏属性
syntax: chattr [参数] [文件名]
parameters: |-R: 递归处理所有子文件 | |-v: 设置文件或目录版本 | |-V: 显示执行过程详细信息 | |—: 关闭文件或目录的指定隐藏属性 | |=: 设置文件或目录的指定隐藏属性 |
category: 文件管理(file)
description:
chattr命令来自英文词组change attribute的缩写，其功能是更改文件隐藏属性。常用的ls命令仅能查看文件的一般权限、特殊权限、SELinux安全上下文与是否有FACL（文件访问控制列表）等情况，但却无法查看到文件隐藏属性，所以有些运维人员甚至不清楚竟然还有第五种文件权限！

examples:
示例1: 
给指定文件添加隐藏属性：
[root@linuxcool ~]# chattr +i File.cfg

示例2: 
从指定文件移除隐藏属性：
[root@linuxcool ~]# chattr -i File.cfg

示例3: 
给指定目录添加隐藏属性，递归操作：
[root@linuxcool ~]# chattr -R +i /Dir

示例4: 
从指定目录移除隐藏属性，递归操作：
[root@linuxcool ~]# chattr -R -i /Dir


command_name: apk
chinese_name: apk命令 – 下载包管理工具
syntax: apk [参数]
parameters: |install: 安装应用程序包 | |upgrade: 更新最新本地镜像源 | |search: 搜索 |
category: 文件管理(file)
description:
Android应用程序包（APK）是android操作系统使用的应用程序包文件格式，用于分发和安装移动应用及中间件。 一个Android应用程序的代码想要在Android设备上运行，必须先进行编译，然后被打包成一个android系统所能识别的文件才可以运行。

examples:
示例1: 
安装应用程序包：
[root@linuxcool ~]# apk install xxx

示例2: 
升级系统已安装的所以软件包(一般包括内核):
[root@linuxcool ~]# apk upgrade

示例3: 
查找所以可用软件包及其描述内容:
[root@linuxcool ~]# apk search -v

示例4: 
显示软件包的信息:
[root@linuxcool ~]# apk info

示例5: 
卸载并删除包:
[root@linuxcool ~]# apk del openssh openntp vim


command_name: dpkg-preconfigure
chinese_name: dpkg-preconfigure命令 – 软件包安装之前询问问题
syntax: dpkg-preconfigure [参数] [软件包]
parameters: |-f: 选择使用的前端 | |-p: 感兴趣的最低的优先级问题 | |-- -apt: 在apt模式下运行 |
category: 文件管理(file)
description:
dpkg-preconfigure命令用于在Debianlinux中软件包安装之前询问问题。如果软件包不需要进行配置，则不会询问任何问题。
在非交互式环境下安装支持debconf的软件时，用户无法在线提供软件的配置项。因此用户需要通过dpkg-preconfigure命令预先指定软件配置。

examples:
示例1: 
导入debconf模板：
[root@linuxcool ~]# dpkg-preconfigure /var/cache/apt/archives/mysql-server-5.5*.deb

示例2: 
安装前询问问题：
[root@linuxcool ~]# dpkg-preconfigure mysql-server-5.5*.deb

示例3: 
在apt模式下运行：
[root@linuxcool ~]# dpkg-preconfigure - -apt


command_name: dpkg-split
chinese_name: dpkg-split命令 – 分割软件包
syntax: dpkg-split [参数] [软件包]
category: 文件管理(file)
description:
dpkg-split命令用来将Debianlinux中的大软件包分割成小软件包，它还能够将已分割的文件进行合并。
dpkg-split命令只能在Debian系统上使用，因为他需要调用dpkg-deb命令分析软件包的组成。

parameters:
|-S: 设置分割后的每个小文件最大尺寸（以字节为单位） |
|-s: 分割软件包 |
|-j<分块文件><分块文件>: 把各个分块合并到一起 |
|-I<分块文件>: 显示分块文件的相关信息 |
|-l: 列出不匹配的部分 |
|-dscard<文件名>: 忽略不匹配的部分 |

examples:
示例1: 
分割软件包：
[root@linuxcool ~]# dpkg-split -s gcc-4.5.deb

示例2: 
以2MB为单位分割文件：
[root@linuxcool ~]# dpkg-split -S 2048 -s gcc-4.5.deb

示例3: 
合并GCC软件包：
[root@linuxcool ~]# dpkg-split -j gcc-4.5.*


command_name: ln
chinese_name: ln命令 – 为文件创建快捷方式
syntax: ln [参数] [源文件名] [目标文件名]
category: 文件管理(file)
description:
ln命令来自英文单词link的缩写，中文译为“链接”，其功能是为某个文件在另外一个位置建立同步的链接。Linux系统中的链接文件有两种形式，一种是硬链接，另一种是软链接。软链接相当于Windows系统中的快捷方式文件，原始文件被移动或删除后，软链接文件也将无法使用；硬链接则是将文件的inode属性块进行了复制，因此把原始文件移动或删除后，硬链接文件依然可以使用。

parameters:
|-b: 为已存在的目标文件创建备份 |
|-d: 允许管理员创建目录的硬链接 |
|-f: 强制创建链接而不询问 |
|-i: 若目标文件已存在，则需要用户二次确认 |
|-L: 若目标文件为软链接，找到其对应文件 |
|-n: 将指向目录的软链接视为普通文件 |
|-P: 若目标文件为软链接，直接链接它自身 |
|-r: 创建相对于文件位置的软链接 |
|-S: 设置备份文件的后缀 |
|-t: 设置链接文件存放于哪个目录 |
|-v: 显示执行过程详细信息 |
|--backup: 备份已存在的文件 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 |

examples:
示例1: 
为指定的源文件创建快捷方式（默认为硬链接形式）：
[root@linuxcool ~]# ln File1.cfg File2.cfg

示例2: 
为指定的源文件创建快捷方式（设定为软链接形式）：
[root@linuxcool ~]# ln -s File1.cfg File2.cfg

示例3: 
为指定的源文件创建快捷方式，并输出制作的过程信息：
[root@linuxcool ~]# ln -v File1.cfg File2.cfg 
'File1.cfg' => 'File2.cfg'


command_name: hping3
chinese_name: hping3命令 – 测试网络及主机的安全
syntax: hping3 [参数]
parameters: |-c: 发送数据包的次数 | |-m: 设置TCP序列数 | |-v: 版本信息 | |-I: 网卡接口 |
category: 文件管理(file)
description:
hping3命令是用于生成和解析TCPIP协议数据包的开源工具，也是安全审计、防火墙测试等工作的标配工具 。
目前最新版是hping3，支持使用tcl脚本自动化地调用其API。优势在于能够定制数据包的各个部分，因此用户可以灵活对目标机进行细致地探测。

examples:
示例1: 
对目标端口扫描：
[root@linuxcool ~]# hping3 -I eth0 -S 192.168.10.1 -p 80

示例2: 
测试目标防火墙：
[root@linuxcool ~]# hping3 -S  -c 1000000 -a 10.10.10.10 -p 21 10.10.10.10

示例3: 
在发送端使用签名打包的ICMP包发送文件：
[root@linuxcool ~]#hping3 192.168.1.108 --icmp -d 100 --sign signature --file /etc/passwd

示例4: 
很直观的看到TTL的变化：
[root@linuxcool ~]# hping3 -z 192.168.0.107

示例5: 
使用随机地址伪装自己的地址：
[root@linuxcool ~]# hping3 --rand-source 192.168.0.107


command_name: cd
chinese_name: cd命令 – 切换目录
description: cd命令来自英文词组change directory的缩写，其功能是更改当前所处的工作目录，路径可以是绝对路径，也可以是相对路径，若省略不写则会跳转至当前使用者的家目‍录。
syntax: cd [参数] [目录名]
parameters: |-L: 切换至符号链接所在的目录 | |-P: 切换至符号链接对应的实际目录 | |--: 切换至上次所在目录 | |..: 切换至当前位置的上一级目录 |
category: 文件管理(file)
examples:
示例1: 
切换到指定目录：
[root@linuxcool ~]# cd /Dir 
[root@linuxcool Dir]#

示例2: 
切换至当前用户的家目录：
[root@linuxcool Dir]# cd ~ 
[root@linuxcool ~]#

示例3: 
进入到上一级所在目录：
[root@linuxcool ~]# cd .. 
[root@linuxcool /]#

示例4: 
返回到上一次所在目录：
[root@linuxcool /]# cd - 
/root 
[root@linuxcool ~]#


command_name: createdb
chinese_name: createdb命令 – 创建PostgreSQL数据库
syntax: createdb [参数] [数据库]
category: 文件管理(file)
description:
createdb命令来自英文词组“create database”的缩写，其功能是用于创建PostgreSQL数据库。PostgreSQL是一个功能强大的、开放源代码的客户/服务器关系型数据库管理系统，支持灵活的权限管理，能够控制一个角色对某张表的读、写、更新、删除等操作权限，执行某个函数的权限以及操作视图。

parameters:
|-D: 设置数据库默认表空间 |
|-e: 显示发送到服务端的命令 |
|-E: 设置数据库编码 |
|-h: 设置数据库服务器的主机名 |
|-O: 设置数据库用户名称 |
|-p: 设置数据库服务器端口号 |
|-T: 设置要复制的数据库模版 |
|-U: 设置连接的用户名 |
|-w: 永远不提示输入口令 |
|-W: 强制提示输入口令 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 |

examples:
示例1: 
创建一个指定名称的本地数据库：
[root@linuxcool ~]#createdb linuxcool

示例2: 
创建一个指定名称的远程数据库：
[root@linuxcool ~]#createdb -p 5888 -h 192.168.10.10 linuxcool

示例3: 
以原有数据库为模板（linuxcool），创建一个新的数据库（linuxprobe）：
[root@linuxcool ~]#createdb linuxprobe -T linuxcool


command_name: auditctl
chinese_name: auditctl命令 – 管理内核的审计系统
syntax: auditctl [参数]
category: 文件管理(file)
description:
auditctl命令来自英文词组“audit contol”的缩写，其功能是用于管理内核的审计系统。系统管理员可以使用auditctl命令对Linux系统内核的审计系统进行管理，例如执行查看审计系统状态、添加或删除审计规则等等操作。

parameters:
|-a: 向列表尾部添加规则 |
|-A: 向列表头部添加规则 |
|-b: 设置缓冲区最大值 |
|-d: 删除规则 |
|-D: 清空全部规则 |
|-F: 创建一个字段 |
|-i: 忽略读取文件时的错误 |
|-k: 设置要过滤的关键词 |
|-l: 显示所有的规则 |
|-p: 设置审计文件的权限 |
|-R: 设置从文件中读取规则 |
|-s: 显示审计系统状态 |
|-S: 设置规则名称 |
|-w: 设置要监控的路径 |

examples:
示例1: 
查看审计系统的运行状态信息：
[root@linuxcool ~]#auditctl -senabled 1
failure 1
pid 937
rate_limit 0
backlog_limit 8192
lost 0
backlog 0
backlog_wait_time 60000
loginuid_immutable 0 unlocked

示例2: 
查看现有的审计规则：
[root@linuxcool ~]#auditctl -lNo rules

示例3: 
添加一条审计规则，用于记录指定用户（UID：1000）的所有打开系统调用的行为：
[root@linuxcool ~]#auditctl -a entry, always -S open -F uid=1000Warning - entry rules deprecated, changing to exit rule]
WARNING -32/64 bit syscall mismatch, you should specify an arch

示例4: 
删除一条指定的审计规则：
[root@linuxcool ~]#auditctl -d entry, always -S open -F uid=1000Warning - entry rules deprecated, changing to exit rule

示例5: 
清空当前系统中已有的全部审计规则：
[root@linuxcool ~]#auditctl -D


command_name: mattrib
chinese_name: mattrib命令 – 更改或显示MS-DOS文件的属性
syntax: mattrib [参数] [文件]
category: 文件管理(file)
description:
mattrib命令用于变更或显示MS-DOS文件的属性，MS-DOS文件是指记录在存储介质（如磁盘、光盘）上的一组相关信息的集合。
mattrib为mtools工具指令，模拟MS-DOS的attrib指令，可变更MS-DOS文件的属性 。

parameters:
|-a/+a: 除去/设定备份属性 |
|-h/+h: 除去/设定隐藏属性 |
|-r/+r: 除去/设定只读属性 |
|-s/+s: 除去/设定系统属性 |
|-/: 递归的处理包含所有子目录的文件 |
|-X: 以较短的格式输出结果 |

examples:
示例1: 
列出 A 槽 MSDOS 格式磁片上所有文件的属性：
[root@linuxcool ~]# mattrib a:

示例2: 
除去 A 槽磁片上 msdos.sys 档案的隐藏属性 ：
[root@linuxcool ~]# mattrib -h a:msdos.sys

示例3: 
增加 A 槽磁片上 msdos.sys 档案的只读属性 ：
[root@linuxcool ~]# mattrib +r a:msdos.sys

示例4: 
除去 A 槽磁片上 msdos.sys 档案的备份、系统属性 ：
[root@linuxcool ~]# mattrib -a -s a:msdos.sys

示例5: 
除去 A 槽磁片上包含子目录下所有档案的只读属性：
[root@linuxcool ~]# mattrib -r -/ a:*.*


command_name: lsattr
chinese_name: lsattr命令 – 显示文件的隐藏属性
syntax: lsattr [参数] [文件名]
category: 文件管理(file)
description:
lsattr命令来自英文词组list attribute的缩写，其功能是显示文件的隐藏属性。隐藏属性也叫隐藏权限，顾名思义就是用chattr命令添加在文件上的隐藏权限属性。这些属性信息用常规的ls命令无法查看，需要使用lsattr命令查看。

parameters:
|-a: 显示目录中的所有文件 |
|-d: 仅显示目录名称 |
|-D: 显示属性的名称及默认值 |
|-E: 显示从用户设备数据库中获得的当前值 |
|-l: 显示设备的逻辑名称 |
|-R: 递归处理所有子文件 |
|-V: 显示版本信息 |

examples:
示例1: 
查看指定文件的隐藏属性：
[root@linuxcool ~]# lsattr File.cfg 
-----a------------ File.cfg

示例2: 
仅查看指定目录本身的隐藏属性：
[root@linuxcool ~]# lsattr -d /root 
------------------ /Dir

示例3: 
查看指定目录中全部文件的隐藏属性：
[root@linuxcool ~]# lsattr -a /root 
------------------ /root/. 
------------------ /root/.. 
------------------ /root/.bash_logout 
------------------ /root/.bash_profile 
------------------ /root/.bashrc 
------------------ /root/.cshrc 
------------------ /root/.tcshrc 
-----a------------ /root/File.cfg 
------------------ /root/.cache


command_name: fixfiles
chinese_name: fixfiles命令 – 修复安全上下文
syntax: fixfiles [参数] [概要]
category: 文件管理(file)
description:
fixfiles命令的作用是可以修改RPM数据包里的文件的安全上下文。RPM包安装的会根据rpm包内记录来生成安全上下文。
关于安全上下文的解释：所有的操作系统访问控制都是主体和客体的相关访问控制属性来实现，在SELinux中访问控制属性称为安全上下文。
安全上下文是一个简单的、一致的访问控制属性，所有客体（文件，进程间通信，通信管道，套接字，网络主机等）和主体（进程）有一个和客体和他们相关的单一安全上下文，一个进程的类型通常称为域，域和域类型都一样，即都是安全上下文的’TYPE’，一个安全上下文是由角色，用户和类型标识符组成。

parameters:
|-l<日志文件>: 将输出保存到指定的日志文件 |
|-F: 强制重置上下文为匹配file_context的自定义文件 |
|-f: 清除/tmp目录 |
|-R<RPM软件包名称>: 使用rpm数据库，以发现指定数据包中的所有文件和恢复文件的上下文 |
|check: 显示任何不正确的文件上下文标签，显示新老上下文，但不改变它们 |
|restore: 更改任何不正确的文件上下文标签 |
|relabel: 提示去除/tmp目录中的内容，然后更改任何不正确的文件上下文 |
|verify: 列出不正确的文件上下文标签，但不改变它们 |
|[dir/file]: 检查文件上下文中的文件或目录树列表 |

examples:
示例1: 
检查指定软件包中文件的安全上下文：
[root@linuxcool ~]# fixfiles -R crontabs check

示例2: 
修改crontabs软件包中文件的安全上下文：
[root@linuxcool ~]# fixfiles -R crontabs restore

示例3: 
列出不正确的文件上下文标签：
[root@linuxcool ~]# fixfiles -R crontabs verify


command_name: dd
chinese_name: dd命令 – 复制及转换文件
description: dd命令来自英文词组disk dump的缩写，其功能是复制及转换文件。使用dd命令可以按照指定大小的数据块来复制文件，并在复制的过程中对内容进行转换。
syntax: dd [参数] [对象]
parameters: |if: 输入文件 | |bs: 块大小 | |-h: 显示帮助信息 | |count: 块个数 | |-v: 显示版本信息 |
category: 文件管理(file)
examples:
示例1: 
生成一个指定大小（500MB）的新文件：
[root@linuxcool ~]# dd if=/dev/zero of=File count=1 bs=500M 
1+0 records in 
1+0 records out 
524288000 bytes (524 MB, 500 MiB) copied, 1.13337 s, 463 MB/s

示例2: 
复制指定文件的前50个字节：
[root@linuxcool ~]# dd if=File1.cfg of=File2.cfg count=1 bs=50 
1+0 records in 
1+0 records out 
50 bytes copied, 0.000441764 s, 113 kB/s

示例3: 
复制指定文件的内容，并将所有字符转换成大写后输出到新文件中：
[root@linuxcool ~]# dd if=File1.cfg of=File2.cfg conv=ucase 
2+1 records in 
2+1 records out 
1388 bytes (1.4 kB, 1.4 KiB) copied, 0.000234248 s, 5.9 MB/s


command_name: pr
chinese_name: pr命令 – 将文本文件转换成适合打印的格式
description: pr命令用来将文本文件转换成适合打印的格式，它可以把较大的文件分割成多个页面进行打印，并为每个页面添加标题。
syntax: pr [参数]
parameters: |-h: 为页指定标题 |
category: 文件管理(file)
examples:
示例1: 
将较大的文件分割成多个页面进行打印：
[root@linuxcool ~]# pr test.txt

示例2: 
为页指定标题 ：
[root@linuxcool ~]# pr -h 'Hello World' test.txt

示例3: 
将文件内容分割成多列进行打印：
[root@linuxcool ~]# pr -6 test.txt


command_name: ethtool
chinese_name: ethtool命令 – 查询与设置网卡参数
syntax: ethtool [参数] [网卡名]
category: 文件管理(file)
description:
ethtool命令来自英文词组“ethernet tool”的缩写，其功能是用于查询与设置网卡参数。使用ethtool命令不仅可以查询到网卡当前运行状态，并能够对网卡设备的常规参数进行自由设定，亦能够开启如自动协商、传输速度限制、双工或局域网唤醒等功能。

parameters:
|-a: 显示网卡接收、发送模块状态 |
|-A: 设置网卡接收、发送模块状态 |
|-C: 设置指定网络设备的合并配置 |
|-E: 设置网卡只读存储器字节 |
|-g: 显示指定网卡的收发参数信息 |
|-G: 设置指定网卡的收发参数信息 |
|-i: 显示网卡驱动的信息 |
|-k: 显示网卡Offload的状态 |
|-K: 设置网卡Offload的状态 |
|-I: 显示网卡的队列信息 |
|-L: 设置网卡的队列数 |
|-P: 显示指定网卡设备的永久硬件地址 |
|-s: 设置网卡的部分配置 |
|-S: 显示网卡收发和广播数据 |
|-t: 执行网卡自检操作 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 |

examples:
示例1: 
查询指定网卡当前的运行状态：
[root@linuxcool ~]#ethtool ens160Settings for ens160:
	Supported ports: [ TP ]
	Supported link modes:   1000baseT/Full 
	                        10000baseT/Full 
	Supported pause frame use: No
	Supports auto-negotiation: No
	Supported FEC modes: Not reported
	Advertised link modes:  Not reported
………………省略部分输出信息………………

示例2: 
查询指定网卡的驱动相关信息：
[root@linuxcool ~]#ethtool -i ens160driver: vmxnet3
version: 1.4.16.0-k-NAPI
firmware-version: 
expansion-rom-version: 
bus-info: 0000:03:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no

示例3: 
设置网卡设备的工作方式为全双工：
[root@linuxcool ~]#ethtool -s ens160 autoneg off speed 100 duplex full

示例4: 
查看网卡设备在接收与发送数据时有无出错：
[root@linuxcool ~]#ethtool -S ens160NIC statistics:
     Tx Queue#: 0
       TSO pkts tx: 0
       TSO bytes tx: 0
       ucast pkts tx: 0
       ucast bytes tx: 0
       mcast pkts tx: 0
………………省略部分输出信息………………

示例5: 
暂停指定网卡的数据发送模块:
[root@linuxcool ~]#ethtool -A tx off ens160


command_name: updatedb
chinese_name: updatedb命令 – 创建或更新数据库文件
syntax: updatedb [参数]
parameters: |-o: 忽略默认的数据库文件，使用指定的slocate数据库文件 | |-U: 更新指定目录的slocate数据库 | |-v: 显示执行的详细过程 |
category: 文件管理(file)
description:
updatedb命令用来创建或更新 slocate/locate [命令]所必需的数据库文件。
updatedb命令的执行过程较长，因为在执行时它会遍历整个系统的目录树，并将所有的文件信息写入 slocate/locate [数据库]文件中。 注意：slocate 本身具有一个数据库，里面存放了系统中文件与目录的相关信息。
使用updatedb命令可以创建或更新locate所使用的数据库。如果数据库已经存在，它的数据是重复使用，以避免重读并没有改变的目录。updatedb通常每天由cron运行来更新默认的数据库。

examples:
示例1: 
检测一个未存在的文件file.txt：
[root@linuxcool ~]# locate file.txt

示例2: 
使用 -U [参数]可以指定要更新 slocate [数据库]的目录：
[root@linuxcool ~]# updatedb -U /root/file/

示例3: 
创建或更新mlocate数据库：
[root@linuxcool ~]# updatedb

示例4: 
创建mlocate数据库，只扫描/etc目录，写入数据库到db_file文件：
[root@linuxcool ~]# updatedb -o db_file -U /etc


command_name: iperf
chinese_name: iperf命令 – 网络性能测试
syntax: iperf [参数] [IP地址]
category: 文件管理(file)
description:
iperf是一款用于测试网络性能的命令工具，由美国伊利诺伊大学研发和维护，可以用来测试一些网络设备（如路由器、防火墙、交换机等）的性能。
性能测试是在服务器已经启动服务的场景下进行的，服务器需先执行iperf -s或iperf3 -s命令。

parameters:
|-b: 设置数据包大小 |
|-c: 使用客户端模式 |
|-D: 将服务器作为守护进程运行 |
|-f: 设置报告的格式 |
|-F: 从指定文件中获取要传输的数据 |
|-h: 显示帮助信息 |
|-i: 设置报告之间的停顿秒数 |
|-l: 设置读写缓冲区的长度 |
|-M: 设置TCP最大网段 |
|-n: 设置要传输的字节数 |
|-o: 让重定向输出到指定文件 |
|-p: 设置与服务器端的监听端口一致 |
|-P: 设置要运行的并行客户端线程数量 |
|-s: 使用服务器模式 |
|-t: 设置传输的总时间 |
|-T: 设置存活时间 |
|-u: 使用UDP协议 |
|-U: 使用单线程UDP运行模式 |
|-v: 显示版本信息 |

examples:
示例1: 
客户端向服务器发起累计10秒、每秒数据包为100MB的请求：
[root@linuxcool ~]# iperf -c 192.168.10.10 -b 100M -t 10 
Connecting to host 192.168.10.10, port 5201

示例2: 
基于默认的TCP协议，测试客户端到服务器的上传速度：
[root@linuxcool ~]# iperf -c 192.168.10.10 -t 10 
Connecting to host 192.168.10.10, port 5201


command_name: ls
chinese_name: ls命令：显示目录中文件及其属性信息
syntax: ls [参数] [文件或目录…]
category: 文件管理(file)
description:
ls命令来自英文单词list的缩写，中文译为“列出”，其功能是显示目录中的文件及其属性信息，是最常使用的Linux命令之‍一。
默认不添加任何参数的情况下，ls命令会列出当前工作目录中的文件信息，常与cd或pwd命令搭配使用，十分方便。带上参数后，我们可以做更多的事情。作为最基础、最频繁使用的命令，有必要仔细了解其常用功‍能。

parameters:
|-a: 显示所有文件，包括以.开头的隐藏文件 |
|-A: 显示除.和..外的所有文件 |
|-b: 以八进制转义字符显示不可打印字符 |
|-c: 根据文件状态更改时间排序，并显示ctime |
|-d: 将目录视为普通文件，显示目录自身的信息 |
|-f: 不进行排序，直接列出结果，等同于启用-aU并禁用-lst |
|-F: 在每个名称后附加指示符号（例如：/表示目录，*表示可执行文件） |
|-h: 以人类可读的格式显示文件大小（例如：1K，234M，2G） |
|-i: 显示文件的inode编号 |
|-l: 以长格式显示文件的详细信息，包括权限、所有者、大小和修改时间 |
|-m: 使用逗号分隔文件名，横向输出 |
|-n: 以数字形式显示用户和组ID，而非名称 |
|-p: 在目录名后加上斜杠/以区分目录 |
|-q: 用问号?替换不可打印的字符 |
|-r: 逆序排列输出 |
|-R: 递归列出所有子目录及其内容 |
|-s: 显示每个文件的块大小 |
|-S: 按文件大小排序 |
|-t: 按修改时间排序，最新的排在前面 |
|-u: 显示文件的访问时间，并根据访问时间排序 |
|-x: 按行列顺序排列输出，横向排序 |
|-1: 每行只输出一个文件名 |
|--color: 根据文件类型使用不同颜色显示，参数可为never、always或auto |
|--full-time: 显示完整的时间戳信息 |
|--help: 显示此命令的帮助信息 |
|--version: 显示此命令的版本信息 |

examples:
示例1: 
显示当前目录中的文件名（默认不含隐藏文件）：
[root@linuxcool ~]# lsanaconda-ks.cfg   Documents  initial-setup-ks.cfg    Pictures  TemplatesDesktop           Downloads  Music                   Public    Videos

示例2: 
显示当前目录中的文件名（含隐藏文件）：
[root@linuxcool ~]# ls -a
.                   .bashrc   Documents              Music       Videos
..                  .cache    Downloads              Pictures   .viminfo
anaconda-ks.cfg     .config  .esd_auth               .pki
.bash_history       .cshrc   .ICEauthority           Public
.bash_logout        .dbus     initial-setup-ks.cfg  .tcshrc
.bash_profile       Desktop  .local                  Templates

示例3: 
以详细信息模式输出文件名及其属性信息：
[root@linuxcool ~]# ls -l
total 8
-rw-------. 1 root root 1430 Dec 14 08:05 anaconda-ks.cfg
drwxr-xr-x. 2 root root     6 Dec 14 08:37 Desktop
drwxr-xr-x. 2 root root     6 Dec 14 08:37 Documents
drwxr-xr-x. 2 root root     6 Dec 14 08:37 Downloads
-rw-r--r--. 1 root root 1585 Dec 14 08:34 initial-setup-ks.cfg
drwxr-xr-x. 2 root root    6 Dec 14 08:37 Music
drwxr-xr-x. 2 root root    6 Dec 14 08:37 Pictures
drwxr-xr-x. 2 root root    6 Dec 14 08:37 Public
drwxr-xr-x. 2 root root    6 Dec 14 08:37 Templates
drwxr-xr-x. 2 root root    6 Dec 14 08:37 Videos

示例4: 
显示指定目录中的文件列表：
[root@linuxcool ~]# ls /etc
adjtime                     hosts                     pulse
aliases                     hosts.allow              qemu-ga
alsa                       hosts.deny               qemu-kvm
alternatives               hp                         radvd.conf
anacrontab                 idmapd.conf              ras
asound.conf                init.d                    rc0.d
at.deny                     inittab                   rc1.d
………………省略部分输出信息………………

示例5: 
显示当前目录中的文件名及inode属性信息：
[root@linuxcool ~]# ls -i
35290115 anaconda-ks.cfg  35290137 initial-setup-ks.cfg  35290164 Templates
 1137391 Desktop            17840039 Music                    51609597 Videos
 1137392 Documents          35290165 Pictures
17840038 Downloads          51609596 Public

示例6: 
结合通配符一起使用，显示指定目录中所有以sd开头的文件列表：
[root@linuxcool ~]# ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2

示例7: 
依据文件内容大小进行排序，显示指定目录中文件名及其属性详情信息：
[root@linuxcool ~]# ls -Sl /etctotal 1348-rw-r--r--.  1 root root      692241 Sep  10  2023 services-rw-r--r--.  1 root root      66482  Dec  14 08:34 ld.so.cache-rw-r--r--.  1 root root      60352  May  11  2023 mime.types-rw-r--r--.  1 root dnsmasq  26843  Aug  12  2023 dnsmasq.conf-rw-r--r--.  1 root root      25696  Dec  12  2023 brltty.conf-rw-r--r--.  1 root root      9450   Aug  12  2023 nanorc-rw-r--r--.  1 root root      7265   Dec  14 08:03 kdump.conf-rw-------.  1 tss  tss       7046   Aug  13  2023 tcsd.conf………………省略部分输出信息………………


command_name: mkdir
chinese_name: mkdir命令 – 创建目录文件
syntax: mkdir [参数] [目录名]
parameters: |-m: 创建目录的同时设置权限 | |-p: 递归创建多级目录 | |-z: 设置目录安全上下文 |
category: 文件管理(file)
description:
mkdir命令来自英文词组make directories的缩写，其功能是创建目录文件。该命令的使用简单，但需要注意，若要创建的目标目录已经存在，则会提示已存在而不继续创建，不覆盖已有文件。若目录不存在，但具有嵌套的依赖关系时，例如/Dir1/Dir2/Dir3/Dir4/Dir5，要想一次性创建则需要加入-p参数，进行递归操‍作。

examples:
示例1: 
建立一个目录文件：
[root@linuxcool ~]# mkdir Dir1

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

示例3: 
一次性创建多个目录文件：
[root@linuxcool ~]# mkdir Dir3 Dir4 Dir5

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


command_name: read
chinese_name: read – 读取单行数据内容
description: read命令的功能是用于读取单行数据内容，一般是从标准输入中读取数值，用于给变量赋值。
syntax: read [参数] [变量名]
category: 文件管理(file)
parameters:
|-a: 定义一个数组 |
|-d: 定义一个结束标志 |
|-e: 设置输入时可以使用命令补全功能 |
|-n: 定义输入文本的长度 |
|-p: 设置提示信息 |
|-r: 禁用转义符 |
|-s: 设置输入字符不在屏幕显示 |
|-t: 设置最长等待时间 |
|-u: 从文件描述符中读入信息 |

examples:
示例1: 
通过用户的输入操作，给指定的变量赋值：
[root@linuxcool ~]#read WEBSITEwww.linuxprobe.com

示例2: 
给出一些提示信息，让用户进行输入操作，给指定的变量赋值：
[root@linuxcool ~]#read -p "INPUT: "  WEBSITEINPUT:www.linuxprobe.com

示例3: 
限定10秒钟内，让用户进行输入操作，给指定的变量赋值：
[root@linuxcool ~]#read -p "INPUT: " -t 10 WEBSITEINPUT:www.linuxprobe.com

示例4: 
限定最大输入字符数量，让用户进行输入操作，给指定的变量赋值：
[root@linuxcool ~]#read -p "INPUT: " -n 7 WEBSITEINPUT:1234567

示例5: 
隐藏字符内容，让用户进行输入操作，给指定的变量赋值：
[root@linuxcool ~]#read -s -p "INPUT: " WEBSITEINPUT:


command_name: getent
chinese_name: getent命令 – 查看系统数据库中的记录信息
description: getent命令来自英文词组“get entries”的缩写，其功能是用于查看系统数据库中的记录信息。即便这些数据库不是本地的，类似于LDAP或者NIS也可以使用getent命令进行查看。
syntax: getent [参数] [对象]
parameters: |-i: 禁用IDN编码 | |-s: 设置使用的服务配置 | |--help: 显示帮助信息 | |--usage: 简要用法信息 | |--version: 显示版本信息 |
category: 文件管理(file)
examples:
示例1: 
查看本地的主机文件（/etc/hosts）中包含的指定域名信息：
[root@linuxcool ~]#getent hosts linuxcool.com182.149.160.47  linuxcool.com

示例2: 
查看本地的密码文件（/etc/passwd）中包含的指定用户信息：
[root@linuxcool ~]#getent passwd linuxprobelinuxprobe:x:1000:1000:linuxprobe:/home/linuxprobe:/bin/bash


command_name: inotifywatch
chinese_name: inotifywatch命令 – 收集文件系统的统计数据
syntax: inotifywatch [参数] [目录名]
category: 文件管理(file)
description:
inotifywatch命令来自于英文词组”inotify watch“的拼写，其功能是用于收集文件系统的统计数据。Inotify是Linux系统中的一种异步事件监控机制，最早可追溯到Linux内核的2.6.13版本，通过Inotify可以监视、收集指定文件系统中添加、删除、修改、移动等事件数据，利用这个内核接口，inotifywatch命令就可以监视文件系统下的各种变化情况了。

parameters:
|-a: 按事件计数的升序排序输出 |
|-d: 按事件计数的降序排序输出 |
|-z: 输出表格的行和列，即使元素为空 |
|-r: 监视一个目录下的所有子目录 |
|-t: 设置超时时间 |
|-e: 只监听指定的事件 |

examples:
示例1: 
统计指定目录60秒内发生的文件读、写事件数据：
[root@linuxcool ~]#inotifywatch -v -e access -e modify -t 60 -r /root

示例2: 
统计指定目录信息，并以表格形式输出：
[root@linuxcool ~]#inotifywatch -z /root

示例3: 
统计指定目录内发生的文件移动事件数据：
[root@linuxcool ~]#inotifywatch -a move /root


command_name: vmkfstools
chinese_name: vmkfstools命令 – 虚拟磁盘管理工具
syntax: vmkfstools [参数] 磁盘名
parameters: |-C: 创建磁盘文件 | |-d: 设置磁盘格式 | |-H: 显示帮助信息 | |-i: 显示原磁盘名 | |-v: 显示执行过程详细信息 |
category: 文件管理(file)
description:
vmkfstools命令来自英文词组“VMK filesystem tools”的缩写，其功能是用于管理虚拟磁盘，VMK的全称为“virtual-machine extensions”，中文译为虚拟机扩展工具。vmkfstools命令常被比作是Linux系统中管理磁盘的瑞士军刀，可用于可用于复制、转换、重命名、输入、输出和调整虚拟磁盘文件的大小，功能丰富又操作简单，性价比极强。

examples:
示例1: 
更改指定虚拟磁盘的大小：
[root@linuxcool ~]#vmkfstools -X 40g File.vmdk

示例2: 
创建虚拟磁盘文件：
[root@linuxcool ~]#vmkfstools -C --createfs vmfs3


command_name: newusers
chinese_name: newusers命令 – 批量创建或更新用户信息
syntax: newusers [参数] [文件名]
parameters: |-c: 设置加密方式 | |-h: 显示帮助信息 | |-r: 创建系统账户 | |-R: 设置chroot机制 | |-s: 对SHA加密算法进行四舍五入 |
category: 文件管理(file)
description:
newusers命令来自英文词组“create new users”的拼写，中文译为“创建新用户们”，其功能是用于批量创建或更新用户信息。newusers命令能够通过读取用户名和明文密码对应的文件，完成对Linux系统中用户信息进行批量创建和更新的工作。

examples:
示例1: 
创建一个包含新用户信息的文件，随后自动创建它们：
[root@linuxcool ~]#cat users.txtlinuxprobe:x:520:520::/home/linuxprobe:/bin/bash
linuxcool:x:521:521::/home/linuxcool:/bin/bash
linuxdown:x:522:522::/home/linuxdown:/bin/bash
[root@linuxcool ~]#newusers users.txt

示例2: 
验证命令的执行效果：
[root@linuxcool ~]#id linuxprobeuid=520(linuxprobe) gid=520(linuxprobe) groups=520(linuxprobe)
[root@linuxcool ~]#id linuxcooluid=521(linuxdown) gid=521(linuxcool) groups=521(linuxcool)
[root@linuxcool ~]#id linuxdownuid=522(linuxdown) gid=522(linuxdown) groups=522(linuxdown)


command_name: blkid
chinese_name: blkid命令 – 显示块设备信息
syntax: blkid [参数] [块设备名]
parameters: |-g: 显示缓存信息 | |-i: 显示I/O限制信息 | |-L: 显示卷标对应的分区信息 | |-p: 低级超级块探测 | |-U: 显示UUID对应的分区信息 | |-v: 显示版本信息 |
category: 文件管理(file)
description:
blkid命令来自英文词组“block ID”的缩写，其功能是用于显示块设备信息。blkid命令能够查看Linux系统中全部的块设备信息，也就是我们俗称的硬盘或光盘设备，并可以依据块设备名称、文件系统类型、LABEL、UUID等项目进行信息检索。

examples:
示例1: 
显示当前系统中全部块设备信息（名称、UUID、文件系统类型等）：
[root@linuxcool ~]#blkid/dev/sda1: UUID="ea96959d-6fb2-4680-984e-53a1288cb21a" TYPE="xfs" PARTUUID="e2147da7-01"
/dev/sda2: UUID="UkZsuT-AEZL-O1Js-71NH-qHfL-2ELp-N9wklL" TYPE="LVM2_member" PARTUUID="e2147da7-02"
/dev/sr0: UUID="2019-04-04-08-40-23-00" LABEL="RHEL-8-0-0-BaseOS-x86_64" TYPE="iso9660" PTUUID="0da1aba4" PTTYPE="dos"
/dev/mapper/rhel-root: UUID="6204eca9-58b0-440c-b79c-498b7f64c920" TYPE="xfs"
/dev/mapper/rhel-swap: UUID="b02544bb-a3b8-4030-92c9-b2355dd29383" TYPE="swap"

示例2: 
显示指定块设备所对应的UUID信息：
[root@linuxcool ~]#blkid -s UUID /dev/sda1/dev/sda1: UUID="ea96959d-6fb2-4680-984e-53a1288cb21a"

示例3: 
以列表方式显示当前系统中全部块设备信息：
[root@linuxcool ~]#blkid -o listdevice     fs_type label    mount point    UUID
-------------------------------------------------------------------------------
/dev/sda1  xfs              /boot          ea96959d-6fb2-4680-984e-53a1288cb21a
/dev/sda2  LVM2_member      (in use)       UkZsuT-AEZL-O1Js-71NH-qHfL-2ELp-N9wklL
/dev/sr0   iso9660 RHEL-8-0-0-BaseOS-x86_64 /media/cdrom 2019-04-04-08-40-23-00
/dev/mapper/rhel-root       xfs     /      6204eca9-58b0-440c-b79c-498b7f64c920
/dev/mapper/rhel-swap       swap   [SWAP]  b02544bb-a3b8-4030-92c9-b2355dd29383

示例4: 
显示系统中所有块设备的名称信息：
[root@linuxcool ~]#blkid -o device/dev/sda1
/dev/sda2
/dev/sr0
/dev/mapper/rhel-root
/dev/mapper/rhel-swap

示例5: 
显示系统中所有块设备的文件系统类型信息：
[root@linuxcool ~]#blkid -s TYPE/dev/sda1: TYPE="xfs"
/dev/sda2: TYPE="LVM2_member"
/dev/sr0: TYPE="iso9660"
/dev/mapper/rhel-root: TYPE="xfs"
/dev/mapper/rhel-swap: TYPE="swap"

示例6: 
显示系统中所有块设备的LABEL信息：
[root@linuxcool ~]#blkid -s LABEL/dev/sr0: LABEL="RHEL-8-0-0-BaseOS-x86_64"


command_name: umask
chinese_name: umask命令 – 管理权限掩码
syntax: umask [参数] [权限掩码]
parameters: |-p: 输出的权限掩码可直接作为指令来执行 | |-S: 使用文字来表示权限掩码 |
category: 文件管理(file)
description:
umask命令来自英文词组“user file-creation mode mask”的缩写，其功能是用于管理权限掩码。umask中文常被译为文件掩码，权限掩码是由3个八进制的数字所组成，将现有的存取权限减掉权限掩码后，即可获得建立文件时预设的权限啦。
例如当前Linux系统默认对于普通文件的存取权限为666，若将umask设定为022，则最终建立文件时权限为644。

examples:
示例1: 
查看当前系统中预设的权限掩码：
[root@linuxcool ~]#umask0022

示例2: 
设置新建文件权限默认为654（即666-umask）：
[root@linuxcool ~]#umask 012


command_name: xxd
chinese_name: xxd命令 – 以十六进制形式显示文件内容
description: xdd命令的功能是用于以十六进制形式显示文件内容，亦可以将十六进制内容转换回原始二进制的形式。
syntax: xxd [参数] [文件名]
category: 文件管理(file)
parameters:
|-a: 自动跳过空白内容 |
|-c: 设置每行显示多少字节内容 |
|-b: 转换成二进制模式 |
|-g: 设置以几个字节为一块 |
|-h: 显示帮助信息 |
|-i: 显示为C语言的包含文件形式 |
|-l: 显示多少字节的内容 |
|-p: 使用连续的纯十六进制转储输出 |
|-r: 将十六进制逆向操作成二进制形式 |
|-s: 设置从某个地址开始内容 |
|-u: 使用大写字母形式 |
|-v: 显示帮助信息 |

examples:
示例1: 
以十六进制形式查看文件，自动跳过空白，从0x200位置开始显示内容：
[root@linuxcool ~]#xdd -a -s +0x200 File.cfg

示例2: 
以十六进制形式查看文件，每行显示12字节，从0x200位置开始显示内容：
[root@linuxcool ~]#xxd -c 12 -s +0x200 File.cfg

示例3: 
以十六进制形式查看文件，1个字节一块，总共显示512字节内容：
[root@linuxcool ~]#xxd -g 1 -l 512 -s +0x200 File.cfg


command_name: cp
chinese_name: cp命令 – 复制文件或目录
syntax: cp [参数] [源文件名] [目标文件名]
category: 文件管理(file)
description:
cp命令来自英文单词copy的缩写，中文译为“复制”，其功能是复制文件或目录。cp命令能够将一个或多个文件或目录复制到指定位置，亦常用于文件的备份工作。-r参数用于递归操作，复制目录时若忘记添加则会直接报错；-f参数则用于当目标文件已存在时会直接覆盖而不再询问。这两个参数尤为常用。

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

examples:
示例1: 
复制指定的源文件，并定义新文件的名称：
[root@linuxcool ~]# cp File1.cfg File2.cfg

示例2: 
复制指定的源目录，并定义新目录的名称：
[root@linuxcool ~]# cp -r Dir1 Dir2

示例3: 
复制文件时，保留其原始权限及用户归属信息：
[root@linuxcool ~]# cp -a File1.cfg File2.cfg

示例4: 
将指定文件复制到/etc目录中，并覆盖已有文件，不进行询问：
[root@linuxcool ~]# cp -f File1.cfg /etc

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


command_name: ltrace
chinese_name: ltrace命令 – 跟踪进程调用库函数的情况
syntax: ltrace [参数]
parameters: |-a: 对齐具体某个列的返回值 | |-c: 计算时间和调用，并在程序退出时打印摘要 | |-d: 打印调试信息 | |-f: 跟踪子进程 | |-l: 只打印某个库中的调用 |
category: 文件管理(file)
description:
ltrace命令是用来跟踪进程调用库函数的情况，ltrace其实也是基于ptrace。我们知道，ptrace能够主要是用来跟踪系统调用，那么它是如何跟踪库函数呢？ 首先ltrace打开elf文件，对其进行分析。在elf文件中，出于动态连接的需要，需要在elf文件中保存函数的符号，供连接器使用。

examples:
示例1: 
最基本应用，不带任何参数：
[root@linuxcool ~]# ltrace ./a.out

示例2: 
输出调用时间开销：
[root@linuxcool ~]# ltrace -T ./a.out

示例3: 
显示系统调用：
[root@linuxcool ~]# ltrace -S ./a.out

示例4: 
计算时间和调用，并在程序退出时打印摘要：
[root@linuxcool ~]# ltrace -c ./a.out

示例5: 
打印调试信息：
[root@linuxcool ~]# ltrace -d ./a.out


command_name: split
chinese_name: split命令 – 分割文件内容
syntax: split [参数] [文件名]
category: 文件管理(file)
description:
split命令来自英文单词“分裂”，其功能是用于分割文件内容。Linux系统运维人员可以使用split命令对指定的大文件进行内容分割，默认会按照每1000行切割成一个小文件来执行，也可以自定义分割大小，方便阅读和传输。

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

examples:
示例1: 
将指定的文件内容每6行分割成一个小文件：
[root@linuxcool ~]#split -6 File.cfg[root@linuxcool ~]#ls -a xa*xaa  xab  xac  xad  xae  xaf  xag  xah

示例2: 
将指定的文件内容每60个字节分割成一个小文件：
[root@linuxcool ~]#split -b 60 File.cfg[root@linuxcool ~]#ls xa*xaa  xac  xae  xag  xai  xak  xam  xao  xaq  xas  xau  xaw
xab  xad  xaf  xah  xaj  xal  xan  xap  xar  xat  xav  xax

示例3: 
以数字为后缀，将指定的文件内容每10行分割成一个小文件：
[root@linuxcool ~]#split -d -l 10 File.cfg[root@linuxcool ~]#ls x0*x00  x01  x02  x03  x04


command_name: mren
chinese_name: mren命令 – 更改文件或目录
syntax: mren [参数]
parameters: |[源文件或目录…]: 执行操作的源文件名或者源文件路径 | |[目标文件或目录]: 执行操作的目标文件名或者目标文件路径 |
examples: 示例1: 将a盘下的文件”test.txt”的文件名修改为”test1.txt”： [root@linuxcool ~]# mren a:\test.txt test1.txt
category: 文件管理(file)
description:
mren命令用于更改MS-DOS文件或目录的名称，或是移动文件或目录。
mren为MS-DOS工具指令，与DOS下的ren指令相似，可以实现更改MS-DOS文件或目录名称。  源文件必须是磁盘上已经存在的文件，若忽略盘符及路径，则表示当前盘及当前目录的文件。  新文件名是所要更换的文件名称。新文件名称前不可以加与源文件不同的盘符及路径，因为该命令只能更改同一盘上的文件名称。


command_name: export
chinese_name: export命令 – 将变量提升成环境变量
syntax: export [参数] [变量]
parameters: |-f: 设置函数名称 | |-n: 删除指定变量 | |-o: 创建JSON文件路径 | |-s: 设置文件来源 |
category: 文件管理(file)
description:
export命令的功能是将变量提升成环境变量，亦可将shell函数输出为环境变量。通常个人创建出的变量仅能在自己账户下使用，其他人是无法看到的。若想让每个人都能看到并有权利去使用变量值，则需要使用export命令进行提升操作。

examples:
示例1: 
列出当前系统中所有的环境变量信息：
[root@linuxcool ~]# export -p 
declare -x COLORTERM="truecolor" 
declare -x DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/0/bus" 
declare -x DESKTOP_SESSION="gnome" 
declare -x DISPLAY=":0" 
declare -x GDMSESSION="gnome" 
………………省略部分输出信息………………

示例2: 
将指定变量提升成环境变量：
[root@linuxcool ~]# export MYENV

示例3: 
定义一个变量并提升成环境变量：
[root@linuxcool ~]# export MYENV=www.linuxcool.com


command_name: userdel
chinese_name: userdel命令 – 删除用户
syntax: userdel [参数] [用户名]
parameters: |-f: 强制删除用户而不询问 | |-h: 显示帮助信息 | |-Z: 删除用户的SELinux映射用户 |
category: 文件管理(file)
description:
userdel命令来自英文词组user delete的缩写，其功能是删除用户信息。在Linux系统中，一切都是文件，用户信息被保存到了/etc/passwd、/etc/shadow以及/etc/group文件中，因此使用userdel命令实际上就是删除指定用户在上述3个文件中的对应信息。

examples:
示例1: 
删除指定的用户信息：
[root@linuxcool ~]# userdel linuxprobe

示例2: 
删除指定的用户信息及家目录：
[root@linuxcool ~]# userdel -r linuxprobe


command_name: initdb
chinese_name: initdb命令 – 初始化数据库
syntax: initdb [参数]
examples: 示例1: 创建一个新的PostgreSQL数据库簇并进行初始化： [root@linuxcool ~]#initdb PostgreSQL
category: 文件管理(file)
description:
initdb命令来自英文词组“initialization database”的缩写，其功能是用于初始化数据库。类似于MySQL数据库的mysql_install_db命令一样，安装完PostgreSQL数据库也需要进行初始化操作，initdb命令会自动完成后续工作。

parameters:
|-A: 设置本地连接的默认认证方法 |
|-D: 设置当前数据库簇的位置 |
|-E: 设置数据库编码 |
|-k: 启用数据页面的校验 |
|-U: 设置数据库管理用户名 |
|-W: 提示输入口令 |
|--locate: 设置数据库区域 |
|--waldir: 设置数据库日志位置 |
|--wal-seqsize: 设置单个日志文件大小 |


command_name: locate
chinese_name: locate命令 – 快速查找文件或目录
syntax: locate [参数] [文件名]
category: 文件管理(file)
description:
locate命令的功能是快速查找文件或目录。与find命令进行全局搜索不同，locate命令是基于数据文件（/var/lib/locatedb）进行的定点查找，由于缩小了搜索范围，因此速度快很多。
要想让locate命令查询的结果更加准确，建议定期执行updatedb命令对数据库文件进行更新。

parameters:
|-b: 仅匹配文件名 |
|-c: 不输出文件名 |
|-d: 设置数据库所在目录 |
|-i: 忽略大小写 |
|-l: 限制最大查找数量 |
|-q: 静默执行模式 |
|-S: 显示数据库的统计信息 |
|-w: 匹配完整的文件路径 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 |

examples:
示例1: 
搜索带有指定关键词的文件：
[root@linuxcool ~]# updatedb 
[root@linuxcool ~]# locate network 
/dev/network_latency 
/dev/network_throughput 
/etc/networks 
/etc/libvirt/qemu/networks 
/etc/libvirt/qemu/networks/autostart 
/etc/libvirt/qemu/networks/default.xml
………………省略部分输出信息………………

示例2: 
在指定的目录下搜索带有指定关键词的文件：
[root@linuxcool ~]# locate /etc/network 
 /etc/networks


command_name: tail
chinese_name: tail命令 – 查看文件尾部内容
syntax: tail [参数] [文件名]
category: 文件管理(file)
description:
tail命令的功能是查看文件尾部内容，例如默认会在终端界面上显示指定文件的末尾10行，如果指定了多个文件，则会在显示的每个文件内容前面加上文件名来加以区分。高阶玩法的-f参数的作用是持续显示文件的尾部最新内容，类似于机场候机厅的大屏幕，总会把最新的消息展示给用户，对阅读日志文件尤为适合，再也不需要手动刷新了。

parameters:
|-c: 设置显示文件尾部的字符数 |
|-f: 持续显示文件尾部最新内容 |
|-n: 设置显示文件尾部的行数 |
|--help: 显示帮助信息 |
|--retry: 当文件无权限访问时，依然尝试打开 |
|--version: 显示版本信息 |

examples:
示例1: 
默认显示指定文件尾部的后10行内容：
[root@linuxcool ~]# tail File.cfg 
%addon com_redhat_subscription_manager 
%end 
%addon ADDON_placeholder --disable --reserve-mb=auto 
%end 

%anaconda 
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty 
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok 
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty 
%end

示例2: 
指定显示指定文件尾部的后5行内容：
[root@linuxcool ~]# tail -n 5 File.cfg 
%anaconda 
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty 
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok 
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty 
%end

示例3: 
指定显示指定文件尾部的后30个字节：
[root@linuxcool ~]# tail -c 30 File.cfg 
t --nochanges --notempty 
%end

示例4: 
持续刷新显示指定文件尾部的后10行内容：
[root@linuxcool ~]# tail -f File.cfg


command_name: zegrep
chinese_name: zegrep命令 – 文件字符串过滤
description: zegrep命令是一个文件字符串过滤工具，可以使用zegrep在压缩文件中多次搜索相对应的文件名与内容。
syntax: zegrep [参数] [文件路径]
parameters: |-n: 搜索显示行 | |-l: 列出包含多个模式的那些压缩文件的文件名 |
category: 文件管理(file)
examples:
示例1: 
使用zegrep过滤linuxprobe.txt中linuxcool字符：
[root@linuxcool ~]# zegrep "linuxcool" linuxprobe.txt

示例2: 
使用zegrep搜索压缩文件中的多重模式：
[root@linuxcool ~]# zegrep 'shah|root|apache' linuxprobe.gz

示例3: 
使用压缩文件中的-n选项在文件中搜索多个模式以及相关的行号：
[root@linuxcool ~]# zegrep -n 'shah|root|apache' linuxprobe.gz

示例4: 
使用-l选项列出包含多个模式的那些压缩文件的文件名：
[root@linuxcool ~]# zegrep -l 'shah|root|apache' *.gz


command_name: zgrep
chinese_name: zgrep命令 – 检索压缩包内文件的内容
description: zgrep命令来自英文词组“gzipped grep”命令的缩写，其功能是用于检索压缩包内文件的内容。zgrep命令能够基于正则表达式检索压缩包内文件的内容，找出包含指定关键词的文件。
syntax: zgrep [参数] [文件名]
category: 文件管理(file)
parameters:
|-A: 显示匹配行及其后的行数 |
|-B: 显示匹配行及其前的行数 |
|-E: 扩展正则表达式 |
|-i: 忽略大小写 |
|-n: 显示行号 |
|-r: 递归处理所有子文件 |
|-v: 反选匹配结果 |
|-x: 排除指定文件 |

examples:
示例1: 
检索压缩包中包含指定关键词的文件：
[root@linuxcool ~]#zgrep linuxcool File.zip

示例2: 
检索压缩包中包含指定关键词的文件，不区分大小写：
[root@linuxcool ~]#zgrep -i linuxcool File.zip

示例3: 
检索压缩包中包含指定关键词的文件，然后反选显示：
[root@linuxcool ~]#zgrep -v linuxcool File.zip

示例4: 
检索压缩包中包含指定关键词的文件，并显示行号：
[root@linuxcool ~]#zgrep -n linuxcool File.zip


command_name: grub-install
chinese_name: grub-install命令 – 在设备上安装GRUB服务
syntax: grub-install [参数] [设备名]
category: 文件管理(file)
description:
grub-install命令来自英文词组“GRand Unified Bootloader install”的缩写，其功能是用于在设备上安装GRUB服务。GRUB是一个多重启动加载器服务，新的项目比此前GRUB Legacy更加强大，实现了模块化和增强了移植性，用户可以使用grub-install命令将GRUB安装到指定硬盘或分区上。

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

examples:
示例1: 
安装GRUB到指定的硬盘中：
[root@linuxcool ~]#grub-install /dev/sdb

示例2: 
安装GRUB到指定的硬盘中，不探测任何软盘：
[root@linuxcool ~]#grub-install --no-floppy /dev/sdb

示例3: 
安装GRUB到指定的硬盘中，并指定镜像目录：
[root@linuxcool ~]#grub-install --root-directory=/Dir --no-floppy /dev/sdb


command_name: nm
chinese_name: nm命令 – 显示二进制目标文件的符号表
description: nm是names的缩写， nm命令主要是用来列出某些文件中的符号（说白了就是一些函数和全局变量等）。 一般来说， 搞linux开发的人， 才会用到nm命令， 非开发的人， 应该用不到。
syntax: nm [参数]
parameters: |-A: 每个符号前显示文件名 | |-D: 显示动态符号 | |-g: 仅显示外部符号 | |-r: 反序显示符号表 |
category: 文件管理(file)
examples:
示例1: 
显示hello.o 中的未定义符号，需要和其他对象文件进行链接：
[root@linuxcool ~]# nm -u hello.o

示例2: 
在/usr/lib/ 目录下找出哪个库文件定义了memset函数：
[root@linuxcool ~]# nm -A /usr/lib/* 2>/dev/null | grep "T memset"

示例3: 
显示nm的版本号：
[root@linuxcool ~]# nm -v

示例4: 
显示调试符号：
[root@linuxcool ~]# nm -a hello.o


command_name: man
chinese_name: man命令 – 查看帮助信息
syntax: man [参数] [对象]
category: 文件管理(file)
description:
man命令来自英文单词manual的缩写，中文译为“帮助手册”，其功能是查看命令、配置文件及服务的帮助信息。一般而言，网上搜索来的资料普遍不够准确，或者缺乏系统性，导致学习进度缓慢，而man命令作为权威的官方工具，很好地解决了上述两点弊病。一份完整的帮助信息包含以下信息。
man文档的结构和含义：

parameters:
|NAME: [命令]的名称 |
|SYNOPSIS: [参数]的大致使用方法 |
|DESCRIPTION: 介绍说明 |
|EXAMPLES: 演示 |
|OVERVIEW: 概述 |
|DEFAULTS: 默认的功能 |
|ENVIRONMENT: 环境变量 |
|FILES: 用到的文件 |
|SEE ALSO: 相关的资料 |
|HISTORY: 维护历史与联系方式 |

examples:
示例1: 
查看指定命令的帮助信息：
[root@linuxcool ~]# man ls

示例2: 
查看指定配置文件的帮助信息：
[root@linuxcool ~]# man 5 passwd

示例3: 
找到某个命令的帮助信息的存储位置：
[root@linuxcool ~]# man -w ls 
/usr/share/man/man1/ls.1.gz

示例4: 
找到某个配置文件的帮助信息的存储位置：
[root@linuxcool ~]# man -w 5 passwd 
/usr/share/man/man5/passwd.5.gz


command_name: mc
chinese_name: mc命令 – 菜单式文件管理程序
description: mc命令用于提供一个菜单式的文件管理程序，执行mc之后，将会看到菜单式的文件管理程序，共分成４个部分。
syntax: mc [参数] [文件]
parameters: |-a: 当mc程序画线时不用绘图字符画线 | |-b: 使用单色模式显示 | |-c: 使用彩色模式显示 | |-d: 不使用鼠标 | |-f: 显示mc函数库所在的目录 |
category: 文件管理(file)
examples:
示例1: 
使用单色模式管理test文件：
[root@linuxcool ~]# mc -b test

示例2: 
使用彩色模式管理test文件：
[root@linuxcool ~]# mc -c test


command_name: readonly
chinese_name: readonly命令 – 标记shell变量或函数为只读
description: readonly命令主要用于定义一到多个变量并设置只读属性, 为已定义的一到多个变量设置只读属性, 显示全部包含只读属性的变量 , 为已定义的一到多个函数设置只读属性 ,显示全部包含只读属性的函数。
syntax: readonly [参数]
parameters: |-a: 指向数组 | |-A: 指向关联数组 | |-p: 示全部只读变量 | |-f: 指向函数 |
category: 文件管理(file)
examples:
示例1: 
显示全部只读变量：
[root@linuxcool ~]# readonly

示例2: 
显示全部拥有只读属性的数组：
[root@linuxcool ~]# readonly -a

示例3: 
显示全部拥有只读属性的关联数组：
[root@linuxcool ~]# readonly -A

示例4: 
显示全部拥有只读属性的函数：
[root@linuxcool ~]# readonly -f

示例5: 
在它之后的选项无效：
[root@linuxcool ~]# readonly --


command_name: git
chinese_name: git命令 – 管理分布式版本控制系统
syntax: git [参数] [对象]
category: 文件管理(file)
description:
git命令的功能是用于管理分布式版本控制系统，是著名的Git版本控制系统的客户端，能够敏捷高效地处理任何或大或小的代码项目。Git是Linus Torvalds为了帮助管理Linux内核项目而开发的一个开放源代码的版本控制系统，因其开源及去中心化的理念，与此前常用的CVS、Subversion等版本控制系统有着本质区别，成为了当今最受欢迎的版本控制系统。

parameters:
|add: 将文件内容添加到索引 |
|branch: 显示、创建、删除分支 |
|checkout: 切换至一个分支 |
|clean: 清理没有track的文件 |
|clone: 将存储库克隆到新目录中 |
|commit: 记录对存储库的更改 |
|diff: 比较当前文件和暂存区域快照之间的差异 |
|fetch: 从远程存储库下载分支和数据 |
|init: 创建一个空的Git存储库 |
|log: 显示历史提交记录 |
|merge: 合并一个分支 |
|pull: 从远程存储库下载分支和数据，并合并到本地 |
|pull: 从另一个存储库与之合并 |
|push: 更新远程引用以及关联的对象 |
|push: 上传分支和数据到远程存储库 |
|rebase: 不会产生合并的提交 |
|remote: 显示、创建、删除远程存储库别名 |
|reset: 重置改变和提交 |
|revert: 反转撤销提交 |
|rm: 从工作树和索引中删除文件 |
|status: 显示工作树状态 |
|stash: 将当前的改动压入一个栈 |
|tag: 在提交上建立永久性的标签 |

examples:
示例1: 
创建空的存储库并初始化：
[root@linuxcool ~]#git init

示例2: 
将Linux系统内核存储库克隆到本地：
[root@linuxcool ~]#git clone https://github.com/torvalds/linux

示例3: 
显示工作树状态：
[root@linuxcool ~]#git status

示例4: 
从工作树和索引中删除指定文件：
[root@linuxcool ~]#git rm File.md


command_name: patch
chinese_name: patch命令 – 给文件打补丁
syntax: patch [参数] [文件名]
examples: 示例1: 使用补丁文件（file.patch）对指定文件（file）进行升级： [root@linuxcool ~]#patch file file.patch
category: 文件管理(file)
description:
patch命令来自于英文单词“修补”，其功能是用于给文件打补丁。倘若一次仅修改一个文件，可直接在指令列中下达指令依序执行。如果配合修补文件的方式则能一次修补大批文件，这也是Linux系统核心的升级方法之一 。

parameters:
|-b: 备份原始文件 |
|-B: 附加在备份文件名前的字符 |
|-c: 把修补数据解译成关联性的差异 |
|-d: 设置工作目录 |
|-D: 指定符号把改变的地方标示出来 |
|-E: 删除修补后内容为空的文件 |
|-F: 设置监别列数的最大值 |
|-g: 设置以RSC或SCCS控制修补作业 |
|-i: 读取指定的修补文件 |
|-l: 忽略修补数据与输入数据的空格字符 |
|-n: 把修补数据解译成一般性的差异 |
|-N: 忽略修补的数据较原始文件的版本更旧 |
|-o: 设置输出文件的名称 |
|-p: 设置欲剥离几层路径名称 |
|-f: 设置保存拒绝修补相关信息的文件名称 |
|-R: 假设修补数据是由新旧文件交换位置而产生 |
|-s: 只显示指令执行过程中的错误信息 |
|-t: 自动略过错误，不询问任何问题 |
|-u: 把修补数据解译成一致化的差异 |
|-v: 显示版本信息 |
|-V: 指定不同的备份方式 |
|-Y: 附加在备份文件名前的字符 |
|-Z: 设置存储为UTC时间 |
|--binary: 以二进制模式读写数据 |
|--help: 查看帮助信息 |
|--verbose: 详细显示指令的执行过程 |


command_name: renice
chinese_name: renice命令 – 系统管理
syntax: renice [参数]
parameters: |-g: 指定进程组id | |-p: 改变该程序的优先权等级，此参数为预设值 | |-u: 指定开启进程的用户名 |
category: 文件管理(file)
description:
renice命令可以修改正在运行的进程的调度优先级。
该命令预设是以程序识别码指定程序调整其优先权，您亦可以指定程序群组或用户名称调整优先权等级，并修改所有隶属于该程序群组或用户的程序的优先权。只有系统管理者可以改变其他用户程序的优先权，也仅有系统管理者可以设置负数等级。

examples:
示例1: 
将行程id为987及32的进程与进程拥有者为daemon及root的优先序号码加1：
[root@linuxcool ~]# renice +1 987 -u daemon root -p 32


command_name: bzgrep
chinese_name: bzgrep命令 – 搜索.bz2压缩包中文件内容
syntax: bzgrep [参数] [文件]
category: 文件管理(file)
description:
bzgrep命令使用正则表达式搜索“.bz2”压缩包中文件，将匹配的行显示到标注输出。
bzgrep命令本身没有任何选项，但它支持grep命令的所有选项。在命令行中的选项将直接传递给grep命令。
bzgrep命令和bzegrep命令，bzfgrep命令的功能相同。

parameters:
|-i: 搜索时，忽略大小写 |
|-c: 只输出匹配行的数量 |
|-l: 只列出符合匹配的文件名，不列出具体的匹配行 |
|-n: 列出所有的匹配行，显示行号 |
|-h: 查询多文件时不显示文件名 |
|-s: 不显示不存在、没有匹配文本的错误信息 |
|-v: 显示不包含匹配文本的所有行 |
|-w: 匹配整词 |
|-x: 匹配整行 |
|-r: 递归搜索 |
|-q: 禁止输出任何结果，已退出状态表示搜索是否成功 |
|-b: 打印匹配行距文件头部的偏移量，以字节为单位 |
|-o: 与-b结合使用，打印匹配的词据文件头部的偏移量，以字节为单位 |

examples:
示例1: 
忽略大小写搜索：
[root@linuxcool ~]# bzgrep -i Linuxcool linuxcool.bz2

示例2: 
只输出含有“linuxcool”的搜索结果：
[root@linuxcool ~]# bzgrep -c linuxcool linuxcool.bz2

示例3: 
匹配整词搜索“linuxcool”：
[root@linuxcool ~]# bzgrep -w linuxcool linuxcool.bz2


command_name: yum
chinese_name: yum命令 – 基于RPM的软件包管理器
syntax: yum [参数] [动作] [软件包]
category: 文件管理(file)
description:
yum命令来自英文词组yellow dog updater modified的缩写，其功能是在Linux系统中基于RPM技术进行软件包的管理工作。yum技术通用于RHEL、CentOS、Fedora、OpenSUSE等主流系统，可以让系统管理人员交互式地自动化更新和管理软件包，实现从指定服务器自动下载、更新、删除软件包的工作。
yum软件仓库及命令能够自动处理软件依赖关系，一次性安装所需的全部软件，无须烦琐的操作。

parameters:
|install: 安装软件包 |
|update: 更新软件包 |
|check-update: 检查是否有可用的更新软件包 |
|remove: 删除软件包 |
|list: 显示软件包的信息 |
|search: 搜索指定软件包 |
|info: 显示指定软件包的描述和概要信息 |
|shell: 设置使用的shell提示符 |
|resolvedep: 显示软件包的依赖关系 |
|localinstall: 安装本地软件包 |
|localupdate: 更新本地软件包 |
|deplist: 显示软件包的依赖关系 |

examples:
示例1: 
清理原有的软件仓库信息缓存：
[root@linuxcool ~]# yum clean all

示例2: 
建立最新的软件仓库信息缓存：
[root@linuxcool ~]# yum makecache

示例3: 
安装指定的服务及相关软件包：
[root@linuxcool ~]# yum install httpd 
………………省略输出信息………………

示例4: 
更新指定的服务及相关软件包：
[root@linuxcool ~]# yum update httpd 
………………省略输出信息………………

示例5: 
卸载指定的服务及相关软件包：
[root@linuxcool ~]# yum remove httpd 
………………省略输出信息………………

示例6: 
显示可安装的软件包组列表：
[root@linuxcool ~]# yum grouplist

示例7: 
显示指定服务的软件信息：
[root@linuxcool ~]# yum info httpd


command_name: diff3
chinese_name: diff3命令 – 比较3个文件的不同之处
description: diff3命令用于比较3个文件，将3个文件的不同的地方显示到标准输出。
syntax: diff3 [参数]
parameters: |-A: 全部显示，有冲突内容用括号括起来 | |-a: 将所有文件视为文本 | |-T: 使制表符对齐 |
category: 文件管理(file)
examples:
示例1: 
比较3个文件的不同之处：
[root@linuxcool ~]# diff3 file1 file2 file3

示例2: 
全部显示，有冲突内容用括号括起来：
[root@linuxcool ~]# diff3 -A file1 file2 file3

示例3: 
将所有文件视为文本：
[root@linuxcool ~]# diff3 -a file1 file2 file3

示例4: 
使制表符对齐：
[root@linuxcool ~]# diff3 -T file1 file2 file3


command_name: keytool
chinese_name: keytool命令 – 密钥和证书管理工具
description: keytool命令的功能是管理密钥和证书文件。密钥就是用于加解密的文件或字符串，可以使用keytool命令进行生成、导入和删除等操作。不同的程序需要的密钥格式不尽相同，需要留意具体的格式。
syntax: keytool [参数] [对象]
category: 文件管理(file)
parameters:
|-certreq: 创建证书 |
|-changealias: 更改别名 |
|-delete: 删除条目 |
|-exportcert: 导出证书 |
|-gencert: 生成证书 |
|-genkeypait: 生成密钥对 |
|-genseckey: 生成密钥 |
|-importcert: 导入证书 |
|-importkeystore: 从密钥库导入条目 |
|-keystore: 设置证书保存位置 |
|-keypasswd: 更改条目的密钥口令 |
|-list: 显示密钥库中的条目 |
|-printcert: 显示证书内容 |
|-printcertreq: 显示证书请求的内容 |
|-printcrl: 显示CRL文件的内容 |
|-storepasswd: 更改密钥库的存储口令 |

examples:
示例1: 
生成一个指定名称的证书文件，加密类型为RSA，有效期365天：
[root@linuxcool ~]# keytool -genkey -alias tomcat -keyalg RSA -keystore /etc/ tomcat.keystore -validity 365

示例2: 
导入一个指定名称的证书文件，定义别名名称：
[root@linuxcool ~]# keytool -import -keystore cacerts -storepass 666666 -keypass 888888 -alias linuxcool -file /etc/tomcat.keystore

示例3: 
删除一个指定名称的证书：
[root@linuxcool ~]# keytool -delete -alias linuxcool -keystore cacerts -storepass 666666


command_name: rm
chinese_name: rm命令 – 删除文件或目录
syntax: rm [参数] [文件名]
category: 文件管理(file)
description:
rm命令来自英文单词remove的缩写，中文译为“消除”，其功能是删除文件或目录，一次可以删除多个文件，或递归删除目录及其内的所有子文件。
rm也是一个很危险的命令，使用的时候要特别当心，尤其对于新手更要格外注意。例如，执行rm -rf /*命令会清空系统中所有的文件，甚至无法恢复回来。所以我们在执行之前一定要再次确认在在哪个目录中、到底要删除什么文件，考虑好后再敲击Enter键，要时刻保持清醒的头‍脑。

parameters:
|-d: 仅删除无子文件的空目录 |
|-f: 强制删除文件而不询问 |
|-i: 删除文件前询问用户是否确认 |
|-r: 递归删除目录及其内全部子文件 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 |

examples:
示例1: 
删除文件时默认会进行二次确认，敲击y进行确认：
[root@linuxcool ~]# rm File.cfg 
rm: remove regular file 'File.cfg'? y

示例2: 
强制删除文件而无须二次确认：
[root@linuxcool ~]# rm -f File.cfg

示例3: 
删除指定目录及其内的全部子文件，一并强制删除：
[root@linuxcool ~]# rm -rf Dir

示例4: 
强制删除当前工作目录内所有以.txt为后缀的文件：
[root@linuxcool ~]# rm -f *.txt

示例5: 
强制清空服务器系统内的所有文件（慎用！！！）：
[root@linuxcool ~]# rm -rf /*


command_name: semanage
chinese_name: semanage命令 – 查询与修改安全上下文
syntax: semanage [参数] [对象]
parameters: |-a: 增加 | |-d: 删除 | |-l: 查询 | |-m: 修改 |
category: 文件管理(file)
description:
semanage命令来自英文词组“SELinuxmanage”的缩写，其功能是用于查询与修改安全上下文。semanage的功能类似于chcon命令，它们都可以用于设置文件的SELinux安全上下文策略，而semanage命令功能更强大一些，还能够对系统端口、进程等SELinux域策略进行查询和修改，因此更推荐使用。
*设置过后需要使用restorecon命令让新设置的安全上下文值立即生效。

examples:
示例1: 
对指定目录和文件添加新的SELinux安全上下文值：
[root@linuxcool ~]#semanage fcontext -a -t httpd_sys_content_t /Dir/wwwroot[root@linuxcool ~]#semanage fcontext -a -t httpd_sys_content_t /Dir/wwwroot/*

示例2: 
查询指定服务所对应的SELinux域允许端口列表：
[root@linuxcool ~]#semanage port -l | grep httphttp_cache_port_t            tcp      8080, 8118, 8123, 10001-10010
http_cache_port_t            udp      3130
http_port_t                  tcp      80, 81, 443, 488, 8008, 8009, 8443, 9000
pegasus_http_port_t          tcp      5988
pegasus_https_port_t         tcp      5989

示例3: 
对指定服务所对应的SELinux域允许端口列表添加新的值：
[root@linuxcool ~]#semanage port -a -t http_port_t -p tcp 6111


command_name: zipgrep
chinese_name: zipgrep命令 – 查找压缩包内指定的文件
description: zipgrep命令的功能是用于查找压缩包内指定的文件，亦可以用于查看压缩包内指定文件的内容。如果压缩包被加密，则需要输入密码后方可进行后续操作。
syntax: zipgrep [参数] [压缩包]
category: 文件管理(file)
parameters:
|-b: 显示匹配行距文件头部的偏移量 |
|-c: 显示匹配行的数量 |
|-h: 查询多文件时不显示文件名 |
|-i: 搜索时忽略大小写 |
|-l: 仅显示符合匹配的文件名 |
|-n: 显示所有的匹配行及其行号 |
|-q: 静默执行模式 |
|-r: 递归处理所有子文件 |
|-s: 不显示错误信息 |
|-v: 反选匹配结果，输出不匹配的行 |
|-w: 匹配整词 |
|-x: 匹配整行 |

examples:
示例1: 
在压缩包内查找指定关键词名称的文件：
[root@linuxcool ~]#zipgrep Keyword File.zip

示例2: 
在压缩包内匹配要搜索的整个词字符：
[root@linuxcool ~]#zipgrep -w Keyword File.zip

示例3: 
在压缩包内搜索指定字符的行号：
[root@linuxcool ~]#zipgrep -n Keyword File.zip


command_name: apt-sortpkgs
chinese_name: apt-sortpkgs命令 – 排序软件包索引文件
syntax: apt-sortpkgs [参数] [文件]
parameters: |-c: 指定要使用的配置文件 | |-s: 使用源索引字段排序 | |-o: 设置配置选项 | |-h: 显示帮助信息 |
category: 文件管理(file)
description:
apt-sortpkgs命令是Debianlinux下对软件包索引文件进行排序的简单工具。
该命令会获取索引文件(源索引或包索引)并对记录进行排序，它还将根据内部排序规则对每个记录的内部字段进行排序。

examples:
示例1: 
排序软件包(Packages)索引文件：
[root@linuxcool ~]# apt-sortpkgs Packages

示例2: 
使用指定的配置文件进行操作：
[root@linuxcool ~]# apt-sortpkgs -c Packages

示例3: 
使用源索引字段进行排序：
[root@linuxcool ~]# apt-sortpkgs -s Packages


command_name: mdel
chinese_name: mdel命令 – 删除 MSDOS 格式的档案
description: mdel为mtools工具命令，模拟MS-DOS的deltree命令，可删除MS-D0S文件系统中的目录及目录下所有子目录与文件，在删除只读之前会有提示信息产生。
syntax: mdel [参数]
parameters: |-v: 显示更多的信息 |
category: 文件管理(file)
examples:
示例1: 
将 A 槽磁片根目录中的autoexec.bat删除：
[root@linuxcool ~]# mdel a:autoexec.bat

示例2: 
将 B 槽磁片根目录中的demo.bat删除：
[root@linuxcool ~]# mdel b:demo.bat


command_name: awk
chinese_name: awk命令 – 对文本和数据进行处理的编程语言
syntax: awk [参数] [文件名]
category: 文件管理(file)
description:
awk命令来自三位创始人Alfred Aho、Peter Weinberger、Brian Kernighan的姓氏缩写，其功能是对文本和数据进行处理。使用awk命令可以让用户自定义函数或正则表达式，对文本内容进行高效管理，awk与sed、grep并称为Linux系统中的“文本三剑客”。

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

examples:
示例1: 
仅显示指定文件中第1、2列的内容（默认以空格为间隔符）：
[root@linuxcool ~]# awk '{print $1,$2}' File.cfg 
#version=RHEL8
 ignoredisk --only-use=sda 
autopart --type=lvm 
# Partition 
clearpart --none
………………省略部分输出信息………………

示例2: 
以冒号为间隔符，仅显示指定文件中第1列的内容：
[root@linuxcool ~]# awk -F : '{print $1}' /etc/passwd 
root 
bin 
daemon 
adm 
lp 
sync 
shutdown
………………省略部分输出信息………………

示例3: 
以冒号为间隔符，显示系统中所有UID号码大于500的用户信息（第3列）：
[root@linuxcool ~]# awk -F : '$3>=500' /etc/passwd 
nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin 
systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin 
polkitd:x:998:996:User for polkitd:/:/sbin/nologin 
geoclue:x:997:995:User for geoclue:/var/lib/geoclue:/sbin/nologin 
………………省略部分输出信息………………

示例4: 
仅显示指定文件中含有指定关键词root的内容：
[root@linuxcool ~]# awk '/root/{print}' File.cfg 
rootpw --iscrypted $6$n9sZuTcY8Yzk4l.Q$LsuMNAROewyx.LomDtPpL9iJIOD3tsRThnzsAGE0hZX LMtdVCHVQ3pxzm3El8K2kuhcYLXJnhz.xUDGiE27s/1 
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty

示例5: 
以冒号为间隔符，仅显示指定文件中最后一个字段的内容：
[root@linuxcool ~]# awk -F : '{print $NF}' 
/etc/passwd 
/bin/bash 
/sbin/nologin /sbin/nologin 
/sbin/nologin 
/sbin/nologin 
/bin/sync 
………………省略部分输出信息………………


command_name: joe
chinese_name: joe命令 – 纯文本编辑器
syntax: joe [参数]
category: 文件管理(file)
description:
joe命令用于编辑文本文件。joe是一个功能强大的全屏幕文本编辑程序。操作的复杂度要比Pico高一点，但是功能较为齐全。joe一次可开启多个文件，每个文件各放在一个编辑区内，并可在文件之间执行剪贴的动作。

parameters:
|-columns: 设置栏数 |
|-help: 执行程序时一并显示帮助 |
|-lines: 设置行数 |
|-marking: 在选取区块时，反白区块会随着光标移动 |
|-nosta: 程序执行时，不显示状态列 |
|-pg: 按”PageUp”或”PageDown”换页时，所要保留前一页的行数 |
|-linums: 在每行前面加上行号 |

examples:
示例1: 
利用joe编辑C 语言源代码txt.c：
[root@linuxcool ~]# joe txt.c

示例2: 
设置栏数：
[root@linuxcool ~]# joe columns 20


command_name: mkfs-ext2
chinese_name: mkfs.ext2命令 – 建立ext2文件系统
syntax: mkfs.ext2 [参数]
category: 文件管理(file)
description:
mkfs.ext2命令与mke2fs命令功能相同。都是用来建立ext2文件系统。
Ext2文件系统使用以inode为基础的文件系统。
Ext2文件系统一开始将inode与block规划好了，除非重新格式化，否则inode与block固定后就不再变动，但是当inode与block数量过多时，就不易于管理。因此Ext2在格式化的时候基本上是区分为多个块组（block group），每个块组都有独立的/inode/block/superblock系统。

parameters:
|-b: 指定区块大小，单位为字节 |
|-c: 检查是否有损坏的区块 |
|-F: 不管指定的设备为何，强制执行mkfs.ext2 |
|-M: 记录最后一次挂入的目录 |
|-q: 执行时不显示任何信息 |

examples:
示例1: 
创建指定的ext2文件系统:
[root@linuxcool ~]# mkfs.ext2 -q /dev/hda1

示例2: 
检查是否有损坏的区块:
[root@linuxcool ~]# mkfs.ext2 -c

示例3: 
强行执行mkfs.ext2：
[root@linuxcool ~]# mkfs.ext2 -F


command_name: tee
chinese_name: tee命令 – 读取标准输入的数据
description: tee命令的功能是用于读取标准输入的数据，将其内容转交到标准输出设备中，同时保存成文件。
syntax: tee [参数] [文件名]
parameters: |-a: 追加写入操作 | |-i: 忽略中断信号 | |-p: 诊断写入非管道的错误 | |--help: 显示帮助信息 | |--version: 显示版本信息 |
category: 文件管理(file)
examples:
示例1: 
将用户输入的数据同时写入到两个文件中：
[root@linuxcool ~]#tee File1 File2linuxcool.comlinuxcool.com^C

示例2: 
执行某个指定的命令，并将其执行结果即输出到屏幕，又写入到文件中：
[root@linuxcool ~]#uptime | tee File.txt16:13:43 up  1:38,  1 user,  load average: 0.00, 0.00, 0.00


command_name: udevadm-info
chinese_name: udevadm info命令 – 查询udev数据库中的设备信息
description: 使用udevadm info命令可以查询udev数据库中的设备信息。也可以从sysfs文件系统中查询到设备的属性以辅助创建udev规则。
syntax: udevadm info [参数]
parameters: |-p: 查询系统设备的路径 | |-r: 查询dev目录路径名 | |-q: 查询指定类型的设备信息 |
category: 文件管理(file)
examples:
示例1: 
查询/dev/sda设备的系统设备路径：
[root@linuxcool ~]# udevadm info -q path -n /dev/sda

示例2: 
查询/dev/sda设备的符号链接文件：
[root@linuxcool ~]# udevadm info -q sysmlink -n /dev/sda

示例3: 
查询/dev/sda设备的所有的值：
[root@linuxcool ~]# udevadm info -q all -n /dev/sda


command_name: mount
chinese_name: mount命令 – 将文件系统挂载到目录
syntax: mount [参数] [设备名] [目录名]
category: 文件管理(file)
description:
mount命令的功能是将文件系统挂载到目录。文件系统指的是被格式化过的硬盘或分区设备，进行挂载操作后，用户便可以在挂载目录中使用硬盘资源‍了。
默认情况下，Linux系统并不会像Windows系统那样自动地挂载光盘和U盘设备，需要我们自行完成。

parameters:
|-a: 加载/etc/fstab文件中记录的所有文件系统 |
|-F: 为每个设备创建出一个新的挂载版本 |
|-h: 显示帮助信息 |
|-l: 显示已加载的文件系统列表 |
|-L: 挂载具有指定标签的分区 |
|-n: 加载没有写入/etc/mtab文件中的文件系统 |
|-t: 挂载指定文件类型的设备分区 |
|-U: 挂载指定UUID的设备分区 |
|-V: 显示版本信息 |
|-w: 以读写方式挂载文件系统 |

examples:
示例1: 
查看当前系统中已有的文件系统信息：
[root@linuxcool ~]# mount 
sysfson/systypesysfs(rw,nosuid,nodev,noexec,relatime,seclabel) 
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=99130k,nr_inodes=27835, mode=755) 
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime) 
………………省略部分输出信息………………

示例2: 
挂载/etc/fstab文件中所有已定义的设备文件：
[root@linuxcool ~]# mount -a

示例3: 
将光盘设备挂载到指定目录：
[root@linuxcool ~]# mount /dev/cdrom /Dir 
mount: /Dir: WARNING: device write-protected, mounted read-only.

示例4: 
强制以XFS文件系统挂载硬盘设备到指定目录：
[root@linuxcool ~]# mount -t xfs /dev/sdb /Dir


command_name: egrep
chinese_name: egrep命令 – 在文件内查找指定的字符串
syntax: egrep [参数] [文件名]
category: 文件管理(file)
description:
egrep命令来自英文词组extended global regular expression print的缩写，其功能是在文件内查找指定的字符串。egrep命令的执行效果与grep -E相似，使用的参数也可以直接参考grep命令。egrep命令改良了grep命令原有的一些字符串处理功能，支持的正则表达式规‍则更多。

parameters:
|-a: 像处理文本一样处理二进制程序 |
|-b: 显示匹配行距文件头部的偏移量 |
|-c: 仅显示匹配行的数量 |
|-h: 不显示文件名 |
|-i: 忽略大小写 |
|-l: 只显示符合匹配条件的文件名 |
|-n: 显示内容行号 |
|-q: 静默执行模式 |
|-s: 不显示错误信息 |
|-v: 内容反选 |
|-w: 匹配整词 |
|-x: 匹配整行 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 |
|-r: 使用递归搜索模式 |

examples:
示例1: 
在某个文件中搜索包含指定关键词的行（单一关键词）：
[root@linuxcool ~]# egrep 'root' File.cfg 
Rootpw --iscrypted $6$c2VGkv/8C3IEwtRt$iPEjNXml6v5KEmcM9okIT.Op9/LEpFejqR.
kmQWAVX7fla3roq.3MMVKDahnv0l/pONz2WMNecy17WJ8Ib0iO1 
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty

示例2: 
在某个文件中搜索包含指定关键词的行并显示行号：
[root@linuxcool ~]# egrep -n 'root|linuxprobe' File.cfg 
18:network --hostname=linuxprobe.com 
20:rootpw --iscrypted $6$c2VGkv/8C3IEwtRt$iPEjNXml6v5KEmcM9okIT.Op9/LEpFejqR.
kmQWAVX7fla3roq.3MMVKDahnv0l/pONz2WMNecy17WJ8Ib0iO1 
40:pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty

示例3: 
在某个文件中搜索包含指定关键词的行，将匹配内容反选后输出到屏幕：
[root@linuxcool ~]# egrep -v 'root|linuxprobe' File.cfg 
#version=RHEL8 
ignoredisk --only-use=sda 
autopart --type=lvm 
………………省略部分输出信息………………

示例4: 
在某个文件中搜索包含指定关键词的行（多个关键词，有任意一个即满足条件）：
[root@linuxcool ~]# egrep 'root|linuxprobe' File.cfg 
network--hostname=linuxprobe.com 
rootpw --iscrypted $6$c2VGkv/8C3IEwtRt$iPEjNXml6v5KEmcM9okIT.Op9/LEpFejqR.kmQWAVX7 fla3roq.3MMVKDahnv0l/pONz2WMNecy17WJ8Ib0iO1 
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty


command_name: scp
chinese_name: scp命令 – 基于SSH协议远程复制文件
syntax: scp [参数] [文件或目录名] [远程服务器信息]
category: 文件管理(file)
description:
scp命令来自英文词组secure copy的缩写，其功能是基于SSH协议远程复制文件。scp命令可以在多台Linux系统之间复制文件或目录，它有些类似于cp命令的功能，但复制的范围却不是本地，而是网络上的另一台主机。
由于scp命令是基于SSH协议进行的复制操作，全部数据都是加密的，因此会比HTTP和FTP更加安全。

parameters:
|-1: 使用SSH协议版本1 |
|-2: 使用SSH协议版本2 |
|-4: 基于IPv4网络协议 |
|-6: 基于IPv6网络协议 |
|-B: 使用批处理模式 |
|-c: 使用指定密钥对传输文件进行加密 |
|-C: 使用压缩模式 |
|-F: 设置ssh配置文件路径 |
|-i: 从指定文件中读取传输文件的密钥 |
|-o: 设置ssh服务选项 |
|-P: 设置远程主机的端口号 |
|-p: 保留文件的修改时间、访问时间和权限属性 |
|-q: 静默执行模式 |
|-r: 递归处理所有子文件 |
|-S: 设置加密传输时所使用的程序 |
|-v: 显示执行过程详细信息 |

examples:
示例1: 
将某个本地文件复制到指定的远程主机的指定目录中：
[root@linuxcool ~]# scp File.cfg 192.168.10.10:/Dir

示例2: 
将指定远程主机中的某个文件复制到本地家目录中：
[root@linuxcool ~]# scp 192.168.10.10:/Dir/File.cfg /root

示例3: 
将某个本地目录复制到指定的远程主机的指定目录中：
[root@linuxcool ~]# scp -r Dir 192.168.10.10:/Dir

示例4: 
将指定远程主机中的某个目录复制到本地家目录中：
[root@linuxcool ~]# scp -r 192.168.10.10:/Dir /root

示例5: 
将某个本地文件复制到指定的远程主机的指定目录中，指定要使用的传输用户身份，并保留原始文件的权限属性：
[root@linuxcool ~]# scp -p File.cfg linuxprobe@192.168.10.10:/Dir


command_name: zipcloak
chinese_name: zipcloak命令 – 压缩文件加密
description: zipcloak命令对一个 zip [文件]进行加密，提示你输入两次密码（以确保你不会“胖手指”），然后将该文件原位存储。你可以想到，文件大小与原始文件会有所不同。
syntax: zipcloak [参数]
parameters: |-d: 解密加密进度条 | |-b: 使用由路径指定的目录作为临时zip文件 | |-O: 将输出写入新的文件中，保留原始文件不变 |
category: 文件管理(file)
examples:
示例1: 
使用zipcloak加密linuxcool.zip文件：
[root@linuxcool ~]# zipcloak linuxcool.zip

示例2: 
显示加密进度条：
[root@linuxcool ~]# zipcloak -d linuxcool.zip

示例3: 
将加密的存档输出到新文件：
[root@linuxcool ~]# zipcloak archive.zip -O crypto.zip


command_name: dnsdomainname
chinese_name: dnsdomainname命令 – 打印DNS的域名
syntax: dnsdomainname [参数]
parameters: |-v: 详细信息模式，输出命令执行的详细信息 |
category: 文件管理(file)
description:
dnsdomainname命令用于定义DNS系统中FQDN名称中的域名。
dnsdomainname命令仅打印FQDN中的域名部分，例如，主机FQDN为“www.linuxcool.com”则使用dnsdomainname命令将打印出“linuxcool.com”

examples:
示例1: 
打印DNS域名：
[root@linuxcool ~]# dnsdomainname -v 
gethostname()='www.linuxcool.com' 
Resolving'www.linuxcool.com' ... 
Result: h_name='www.linuxcool.com' 
Result: h_addr_list=`192.168.10.10'


command_name: namei
chinese_name: namei命令 – 列出一个路径中所有的成分
syntax: namei [参数]
parameters: |-m, --modes: 显示每个文件的模式位 | |-o, --owners: 显示文件的用户和用户组 |
category: 文件管理(file)
description:
namei命令通常可以用在出现权限问题时，它可以用于任何 UNIX [文件]，如符号链接、文件、目录等。使用namei可以列出路径中所有成分的信息，包含符号链接。通过参数可以显示出包括权限、所有者和所属组等信息。

examples:
示例1: 
连级查看文件权限：
[root@linuxcool ~]# namei -m /usr/local/sbin/

示例2: 
查看文件所属组：
[root@linuxcool ~]# namei -o /etc/hosts

示例3: 
以长列表格式显示：
[root@linuxcool ~]# namei -l /etc/hosts


command_name: stty
chinese_name: stty命令 – 修改终端命令行的相关设置
syntax: stty [参数]
parameters: |-a: 以容易阅读的方式打印当前的所有配置 | |-g: 以stty可读方式打印当前的所有配置 |
category: 文件管理(file)
description:
stty命令用于检查和修改当前注册的终端的通信参数。UNIX系统为键盘的输入和终端的输出提供了重要的控制手段，可以通过stty命令对特定终端或通信线路设置选项。stty还可用于控制一些具有特殊控制功能的键。比如系统可能已经使用CTRL-D作为文件结束符，但你可能喜欢使用CTRL-C。这时我们可以使用stty命令改变这些默认设置。

examples:
示例1: 
在命令行下禁止输出大写的方法：
[root@linuxcool ~]# stty iuclc
stty -iuclc

示例2: 
在命令行下禁止输出小写：
[root@linuxcool ~]# stty olcuc
stty -olcuc

示例3: 
打印出终端的行数和列数：
[root@linuxcool ~]# stty size

示例4: 
改变Ctrl+D的方法：
[root@linuxcool ~]# stty eof "string"

示例5: 
屏蔽显示：
[root@linuxcool ~]# stty -echo
stty echo

示例6: 
测试方法:
[root@linuxcool ~]# stty -echo;read;stty echo;read

示例7: 
忽略回车符：
[root@linuxcool ~]# stty igncr


command_name: fsview
chinese_name: fsview命令 – 文件系统浏览器
description: 使用fsview命令可以进行文件系统浏览。
syntax: fsview [参数] [目录]
examples: 示例1: 浏览/root目录： [root@linuxcool ~]# fsview /root
category: 文件管理(file)
parameters:
|--display: 使用X-server显示displayname |
|--session: 恢复给定sessionId的应用程序 |
|-sync: 切换到同步模式以便调试 |
|--bg: 设置默认的背景颜色 |
|--noxim: 禁用XIM |


command_name: nmcli
chinese_name: nmcli命令 – 基于命令行配置网卡参数
syntax: nmcli [参数] [网卡名]
parameters: |-f: 设置要显示的字段名 | |-h: 显示帮助信息 | |-p: 美观输出信息 | |-v: 显示版本信息 |
category: 文件管理(file)
description:
nmcli命令来自英文词组networkmanager command-line interface的缩写，其功能是基于命令行配置网卡参数。使用nmcli与nmtui命令工具配置过的参数会直接写入网卡服务配置文件，并永久生效。

examples:
示例1: 
显示所有网络连接的列表：
[root@linuxcool ~]# nmcli con show 
NAME    UUID                                  TYPE     DEVICE 
ens160  1136e9fc-4549-4737-b9e5-86e8250f2b5d  ethernet ens160 
virbr0  8065a10b-356e-439a-a55f-ccb965059640  bridge   virbr0

示例2: 
显示所有网络连接的详细信息：
[root@linuxcool ~]# nmcli device show 
GENERAL.DEVICE: 						ens160 
GENERAL.TYPE: 							ethernet 
GENERAL.HWADDR: 						00:0C:29:22:31:9C 
GENERAL.MTU: 							1500 
GENERAL.STATE: 							100 (connected) 
GENERAL.CONNECTION: 						ens160 
………………省略部分输出信息………………

示例3: 
对指定网卡创建一个网络会话连接，网卡参数通过DHCP服务获取：
[root@linuxcool ~]# nmcli connection add con-name house type ethernet ifname ens160 
Connection 'house' (d848242a-4bdf-4446-9079-6e12ab5d1f15) successfully added.

示例4: 
对指定网卡创建一个网络会话连接，网卡参数由手动指定配置：
[root@linuxcool ~]# nmcli connection add con-name company ifname ens160 autoconnect no type ethernet ip4 192.168.10.10/24 gw4 192.168.10.1 
Connection 'company' (6ac8f3ad-0846-42f4-819a-e1ae84f4da86) successfully added.

示例5: 
对一个指定的网络会话连接添加DNS地址参数：
[root@linuxcool ~]# nmcli connection modify company ipv4.dns 8.8.8.8


command_name: gitps
chinese_name: gitps命令 – 报告程序状况
syntax: gitps [参数]
category: 文件管理(file)
description:
gitps(gnu interactive tools process status)是用来报告并管理程序执行的指令，基本上它就是通过ps指令来报告，管理程序，也能通过gitps指令随时中断，删除不必要的程序。因为gitps指令会去执行ps指令，所以其参数和ps指令相当类似。

parameters:
|a: 显示现行终端机下的所有程序，包括其他用户的程序 |
|n: 以数字来表示USER和WCHAN栏位 |
|T: 显示现行终端机下的所有程序 |
|u: 以用户为主的格式来显示程序状况 |
|w: 采用宽阔的格式来显示程序状况 |

examples:
示例1: 
显示指定用户信息：
[root@linuxcool ~]# gitps hnlinux

示例2: 
显示现行终端机下的所有程序：
[root@linuxcool ~]# gitps a

示例3: 
采用旧试的Linux i386登陆格式显示程序状况：
[root@linuxcool ~]# gitps X

示例4: 
列出程序时，包括已中断的子程序信息：
[root@linuxcool ~]# gitps S

示例5: 
采用纤细的格式来显示程序状况：
[root@linuxcool ~]# gitps l


command_name: uncompress
chinese_name: uncompress命令 – 压缩或解压缩compress文件
description: 使用uncompres命令可以压缩或解压缩compress文件。其实uncompres命令是compress命令的符号链接，所以命令语法和命令选项与compress命令是一样的。
syntax: uncompress [参数] [文件]
examples: 示例1: 解压缩/root/install.log.Z文件: [root@linuxcool ~]# compress -f /root/install.log
category: 文件管理(file)
parameters:
|-b: 压缩效率是一个介于9到16的数值，值越大，压缩效率就越高 |
|-c: 把压缩后的文件输出到标准输出设备，不删除原始文件 |
|-f: 强制执行压缩或者解压缩 |
|-v: 显示压缩统计信息 |


command_name: xfs-info
chinese_name: xfs_info命令 – 查看XFS类型设备详情
description: xfs_info命令来自英文词组“XFS information”的缩写，其功能是用于查看XFS文件系统详情。这是一个超简单的命令，常见的用法是直接追加设备的名称，即可看到指定XFS设备的详情了。
syntax: xfs_info [参数] [设备名]
category: 文件管理(file)
parameters:
|-d: 设置应增长文件系统的数据部分 |
|-e: 设置实时范围大小 |
|-L: 设置尺寸 |
|-n: 设置不更改文件系统 |
|-r: 设置应增长文件系统的实时部分 |
|-t: 设置备用装载表文件 |
|-V: 显示版本信息 |

examples:
示例1: 
查看指定XFS设备的详细信息：
[root@linuxcool ~]#xfs_info /dev/vda1meta-data=/dev/vda1              isize=512    agcount=17, agsize=1310656 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=0 inobtcount=0
data     =                       bsize=4096   blocks=20971259, 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

示例2: 
查看命令工具自身的版本号：
[root@linuxcool ~]# xfs_info -Vxfs_info version 5.0.0


command_name: mke2fs
chinese_name: mke2fs命令 -创建文件系统
description: mke2fs命令被用于创建磁盘分区上的“etc2/etc3”文件系统。
syntax: mke2fs [参数]
category: 文件管理(file)
parameters:
|-b: 指定区块大小，单位为字节 |
|-c: 检查是否有损坏的区块 |
|-F: 不管指定的设备为何，强制执行mke2fs |
|-M: 记录最后一次挂入的目录 |
|-q: 执行时不显示任何信息 |
|-r: 指定要建立的ext2文件系统版本 |
|-v: 执行时显示详细信息 |
|-V: 显示版本信息 |

examples:
示例1: 
创建指定的ext2文件系统:
[root@linuxcool ~]# mke2fs -q /dev/hda1

示例2: 
检查是否有损坏的区块:
[root@linuxcool ~]# mke2fs -c


command_name: su
chinese_name: su命令 – 切换用户身份
syntax: su [参数] [用户名]
category: 文件管理(file)
description:
su命令来自英文单词switch user的缩写，其功能是切换用户身份。将管理员切换至任意用户身份时无须密码验证，而将普通用户切换至任意用户身份时均需密码验证。另外，添加单个减号（-）参数表示完全的身份变更，不保留之前用户的任何环境变量信‍息。

parameters:
|—: 完全地切换身份 |
|-c: 执行完命令后，自动恢复原来的身份 |
|-f: 不读取启动文件（适用于csh和tsch） |
|-l: 切换身份时，同时变更工作目录 |
|-s: 设置要执行的Shell终端 |

examples:
示例1: 
变更至指定的用户身份：
[root@linuxcool ~]# su linuxprobe

示例2: 
完全变更至指定的用户身份：
[root@linuxcool ~]# su - linuxprobe


command_name: cpupower
chinese_name: cpupower命令 – 调整CPU主频参数
parameters: |frequency-info: 显示主频信息 | |frequency-set: 设置主频模式 | |-c: 指定要显示的内核列表 | |--help: 显示帮助信息 |
category: 文件管理(file)
description:
cpupower命令的功能是调整CPU主频参数。Linux系统内核支持根据使用场景来调节CPU主频参数，以提高计算性能或降低功耗。
对于移动设备来讲，在没有接通电源的时候，续航是很重要的，此时就可以启用CPU休眠功能。而服务器一直接着电源，而且需要具有很强的性能，此时就应禁止CPU休眠功能，并把CPU主频固定到最高值。

examples:
示例1: 
查看当前CPU的全部主频信息：
[root@linuxcool ~]# cpupower -c all frequency-info

示例2: 
设置当前CPU为性能模式：
[root@linuxcool ~]# cpupower -c all frequency-set -g performance

示例3: 
设置当前CPU为节能模式：
[root@linuxcool ~]# cpupower -c all frequency-set -g powersave

示例4: 
查看CPU主频信息：
[root@linuxcool ~]# cpupower frequency-info


command_name: dris
chinese_name: dris命令 – 显示和清空目录堆栈中的内容
description: dris命令用于显示和清空目录堆栈中的内容。
syntax: dris [参数]
parameters: |+n: 显示从左边算起第n笔的目录 | |-n: 显示从右边算起第n笔的目录 | |-l: 显示目录完整的记录 |
category: 文件管理(file)
examples:
示例1: 
显示从左边算起第6笔的目录：
[root@linuxcool ~]# dris +6

示例2: 
显示从右边算起第7笔的目录：
[root@linuxcool ~]# dris -6

示例3: 
显示目录完整的记录：
[root@linuxcool ~]# dris -l


command_name: smbclient
chinese_name: smbclient命令 – 存取SMB/CIFS服务器的用户端程序
description: SMB与CIFS为服务器通信协议，常用于Windows95/98/NT等系统。smbclient(samba client)可让Linux系统存取Windows系统所分享的资源。
syntax: smbclient [参数]
parameters: |-L: 显示服务器端所分享出来的所有资源 | |-U: 指定用户名称 | |-s: 指定smb.conf所在的目录 | |-O: 设置用户端TCP连接槽的选项 | |-N: 不用询问密码 |
category: 文件管理(file)
examples:
示例1: 
列出某个IP地址所提供的共享文件夹：
[root@linuxcool ~]# smbclient -L 198.168.0.1 -U username%password

示例2: 
像ftp客户端一样使用smbclient ：
[root@linuxcool ~]# smbclient //192.168.0.1/tmp  -U username%password

示例3: 
直接一次性使用smbclient命令：
[root@linuxcool ~]# smbclient -c "ls"  //192.168.0.1/tmp  -U username%password

示例4: 
或者：
[root@linuxcool ~]# smbclient //192.168.0.1/tmp  -U username%password smb:/>ls

示例5: 
创建一个共享文件夹：
[root@linuxcool ~]# smbclient -c "mkdir share1" //192.168.0.1/tmp -U username%password


command_name: vcdtools
chinese_name: vcdtools命令 – 制作vcd影像
syntax: vcdtools [参数]
parameters: |mkvcdfs: MPEG文件合并 | |vcdmplex: 用于音频和视频合并 | |cdrdao: 用于刻录影像到光盘 |
category: 文件管理(file)
description:
vcdtools命令用于制作vcd光盘影像。
需要有支持SCSI和”generic”SCSI的Linux核心，不用担心您的CD-R或CD-RW是ATAPI/IDE接口，只要把  SCSI emulation(SCSI仿真)编译进您的Linux即可。如果您手中的Linux是一个正式发行的Distributed版本，如  蓝点(BluePoint)、红旗(Red-Flag)等，那么您就可以跳过编译核心这一步。
启动Linux，启动时仍然需要加入”/dev/node=ide-scsi”参数，这是ATAPI/IDE接口的CD-R或CD-RW打开SCSI仿真模 式所必须的。

examples:
示例1: 
安装vcdtools中的cdrdao：
[root@linuxcool ~]# apt-get install vcdtools cdrdao

示例2: 
解压缩vcdtools打包文件：
[root@linuxcool ~]# tar zxvf vcdtools-0.4.tar.gz

示例3: 
在软件目录下完成编译：
[root@linuxcool ~]# cd /etc/home/vcdtools-0.4
[root@linuxcool vcdtools-0.4]# make


command_name: ntpq
chinese_name: ntpq命令 – 查询NTP时间服务器信息
description: ntpq命令来自英文词组“NTP query”的缩写，其功能是用于查询NTP时间服务器信息。
syntax: ntpq [参数] [对象]
category: 文件管理(file)
parameters:
|-4: 基于IPv4网络协议 |
|-6: 基于IPv6网络协议 |
|-c: 添加到主机的命令列表 |
|-d: 使用调试模式 |
|-i: 使用交互模式 |
|-n: 使用十进制格式显示主机地址 |
|-p: 显示服务器同级设备的列表 |

examples:
示例1: 
查看服务器同级设备列表：
[root@linuxcool ~]#ntpq -p

示例2: 
显示内核相关信息：
[root@linuxcool ~]#ntpq -c kerninfo

示例3: 
要求用户输入密码进行验证：
[root@linuxcool ~]#ntpq -c passwd

示例4: 
以十进制格式显示主机地址：
[root@linuxcool ~]#ntpq -pn


command_name: dpkg-divert
chinese_name: dpkg-divert命令 – 将文件安装到转移目录
description: dpkg-divert命令是用于将引起冲突的文件安装到转移目录而非默认目录。
syntax: dpkg-divert [参数] [文件]
category: 文件管理(file)
parameters:
|-- -add: 添加一个转移文件 |
|-- -remove: 删除一个转移文件 |
|-- -list: 列出匹配的转移 |
|-- -truename: 对应转移文件真实文件名 |
|-- -quidet: 安静模式 |

examples:
示例1: 
指定软件包wibble安装时，写入/usr/bin/linuxcool.foo，而不是/usr/bin/ linuxcool：
[root@linuxcool ~]# dpkg-divert --package wibble --divert /usr/bin/linuxcool.foo --rename /usr/bin/linuxcool

示例2: 
指定软件包wibble安装时，删除对/usr/bin/linuxcool的转移修改：
[root@linuxcool ~]# dpkg-divert --package wibble --rename --remove /usr/bin/linuxcool

示例3: 
删除对/usr/bin/linuxcool的转移修改：
[root@linuxcool ~]# dpkg-divert --rename --remove /usr/bin/linuxcool

示例4: 
添加一个软件包安装时，写入/usr/bin/linuxcool.foo，而不是/usr/bin/ linuxcool的修改：
[root@linuxcool ~]# dpkg-divert --divert /usr/bin/linuxcool.foo --rename /usr/bin/linuxcool


command_name: ll
chinese_name: ll命令 – 显示指定文件的详细属性信息
syntax: ll [参数] [文件名]
category: 文件管理(file)
description:
ll命令的功能是显示指定文件或目录的详细属性信息。实际它不是一个真实存在的命令，只是“ls -l --color=auto”的别名而已。ll命令可以默认列出当前目录内文件的详细属性信息，包含权限、所属、修改时间以及占用空间等信息。

parameters:
|-a: 显示目录下的所有文件 |
|-A: 显示除“.”和“..”外的所有文件 |
|-d: 显示目录自身的属性信息 |
|-f: 不进行文件排序 |
|-h: 以更易读的容量单位显示文件大小 |
|-i: 显示文件的inode属性块信息 |
|-k: 以字节为单位显示文件的大小 |
|-l: 使用长格式输出文件信息 |
|-m: 以逗号为间隔符输出文件信息 |
|-q: 用问号代替所有无法显示的字符 |
|-Q: 为所有文件名称加上双引号 |
|-r: 反向显示文件排序 |
|-R: 递归显示所有子文件 |
|-s: 显示每个文件名时加上大小信息 |
|-S: 依据文件大小排序 |
|-t: 依据文件修改时间排序 |
|-u: 依据文件访问时间排序 |

examples:
示例1: 
显示当前目录内文件的详细属性信息：
[root@linuxcool ~]# ll 
total 8 
-rw-------. 1 root root 1256 Dec 14 08:42 anaconda-ks.cfg 
drwxr-xr-x. 2 root root    6 Dec 14 08:44 Desktop 
drwxr-xr-x. 2 root root    6 Dec 14 08:44 Documents 
drwxr-xr-x. 2 root root    6 Dec 14 08:44 Downloads 
-rw-r--r--. 1 root root 1585 Dec 14 08:43 initial-setup-ks.cfg 
drwxr-xr-x. 2 root root    6 Dec 14 08:44 Music 
drwxr-xr-x. 2 root root    6 Dec 14 08:44 Pictures 
drwxr-xr-x. 2 root root    6 Dec 14 08:44 Public 
drwxr-xr-x. 2 root root    6 Dec 14 08:44 Templates 
drwxr-xr-x. 2 root root    6 Dec 14 08:44 Videos

示例2: 
以文件上次被修改的时间排序，显示当前目录内文件的详细属性信息：
[root@linuxcool ~]# ll -t 
total 8 
drwxr-xr-x. 2 root root    6 Dec 14 08:44 Documents 
drwxr-xr-x. 2 root root    6 Dec 14 08:44 Music 
drwxr-xr-x. 2 root root    6 Dec 14 08:44 Pictures 
drwxr-xr-x. 2 root root    6 Dec 14 08:44 Videos 
drwxr-xr-x. 2 root root    6 Dec 14 08:44 Desktop 
drwxr-xr-x. 2 root root    6 Dec 14 08:44 Downloads 
drwxr-xr-x. 2 root root    6 Dec 14 08:44 Public 
drwxr-xr-x. 2 root root    6 Dec 14 08:44 Templates 
-rw-r--r--. 1 root root 1585 Dec 14 08:43 initial-setup-ks.cfg 
-rw-------. 1 root root 1256 Dec 14 08:42 anaconda-ks.cfg

示例3: 
以更易读的容量单位显示文件大小：
[root@linuxcool ~]# ll -h 
total 8.0K 
-rw-------. 1 root root 1.3K Dec 14 08:42 anaconda-ks.cfg 
drwxr-xr-x. 2 root root    6 Dec 14 08:44 Desktop 
drwxr-xr-x. 2 root root    6 Dec 14 08:44 Documents 
drwxr-xr-x. 2 root root    6 Dec 14 08:44 Downloads 
-rw-r--r--. 1 root root 1.6K Dec 14 08:43 initial-setup-ks.cfg 
drwxr-xr-x. 2 root root    6 Dec 14 08:44 Music 
drwxr-xr-x. 2 root root    6 Dec 14 08:44 Pictures 
drwxr-xr-x. 2 root root    6 Dec 14 08:44 Public 
drwxr-xr-x. 2 root root    6 Dec 14 08:44 Templates
drwxr-xr-x. 2 root root    6 Dec 14 08:44 Videos

示例4: 
查看某个指定文件的详细属性信息：
[root@linuxcool ~]# ll anaconda-ks.cfg 
-rw-------. 1 root root 1256 Dec 14 08:42 anaconda-ks.cfg


command_name: dirname
chinese_name: dirname命令 – 去除文件名中的非目录部分
syntax: dirname [参数]
parameters: |--help: 显示帮助 | |--version: 显示版本号 |
category: 文件管理(file)
description:
dirname命令去除文件名中的非目录部分，仅显示与目录有关的内容。dirname命令读取指定路径名保留最后一个/及其后面的字符，删除其他部分，并写结果到标准输出。如果最后一个/后无字符，dirname [命令]使用倒数第二个/，并忽略其后的所有字符。dirname 和 basename 通常在 shell 内部命令替换使用，以指定一个与指定输入文件名略有差异的输出文件名。

examples:
示例1: 
去除  //  的非目录部分结果为 / ：
[root@linuxcool ~]# dirname //
/

示例2: 
去除 /a/b/  的非目录部分结果为 /a ：
[root@linuxcool ~]# dirname /a/b/
/a

示例3: 
去除 a 的非目录部分结果为 . ：
[root@linuxcool ~]# dirname a
.

示例4: 
去除 a/b 的非目录部分结果为路径名 a ：
[root@linuxcool ~]# dirname a/b
a


command_name: lftpget
chinese_name: lftpget命令 – 下载指定的文件
description: lftp是linux中一款ftp服务器，相比windows中的ftp显得要复杂不少了，下面我来总结一下lftp文件上传，文件下载，及文件查找等等相关命令吧。
syntax: lftpget [参数] [文件]
parameters: |-c: 继续先前的下载 | |-d: 输出调试信息 |
category: 文件管理(file)
examples:
示例1: 
lftp上传单个文件命令：
[root@linuxcool ~]# lftp webmaster@linuxprobe.com:/> put test.txt

示例2: 
lftp上传多个文件命令：
[root@linuxcool ~]# lftp webmaster@linuxprobe.com:/> mput *.txt

示例3: 
选择某个目录下某种扩展名的下载：
[root@linuxcool ~]# lftp webmaster@linuxprobe.com:/usr/local> mget *.php

示例4: 
断点续传功能：
[root@linuxcool ~]# lftp webmaster@linuxprobe.com:/> mget -c ./usr/local /*.*

示例5: 
下载整个目录：
[root@linuxcool ~]# lftp webmaster@linuxprobe.com:/> mirror  /usr/local /


command_name: dpkg-statoverride
chinese_name: dpkg-statoverride命令 – 改写所有权和模式
syntax: dpkg-statoverride [参数]
parameters: |-add: 为文件添加一个改写 | |-- -remove: 为文件删除一个改写 | |-- -list: 显示所有改写列表 | |-- -update: 如果文件存在，则立刻执行改写操作 |
category: 文件管理(file)
description:
dpkg-statoverride命令是Debianlinux下改写软件包状态的实用工具，dpkg-statoverride命令有3个基本功能即添加、删除、和显示改写列表。
使用dpkg-statoverride命令删除改写后，如果希望恢复旧的权限，需要手工设置权限或重新安装包含该文件的软件包。

examples:
示例1: 
显示当前所有改写列表：
[root@linuxcool ~]# dpkg-statoverride --list

示例2: 
修改文件夹的权限属性：
[root@linuxcool ~]# dpkg-statoverride --update --add nagios nagios 751 /var/lib/nagios3

示例3: 
强制修改文件夹的权限属性：
[root@linuxcool ~]# dpkg-statoverride --force --update --add root sasl 755 /var/spool/postfix/var/run/saslauthd

示例4: 
将文件从数据库中删除：
[root@linuxcool ~]# dpkg-statoverride --remove /usr/bin/wall


command_name: mysql
chinese_name: mysql命令 – MySQL服务器的客户端工具
description: mysql命令的功能是用于MySQL服务器的客户端工具，它工作在Shell命令行终端中，完成对远程MySQL数据库服务器的管理操作。
syntax: mysql [参数] [数据库]
parameters: |-e: 执行MySQL内部命令 | |-h: 设置服务器的域名或IP地址 | |-p: 设置服务器的密码 | |-u: 设置服务器的用户名 |
category: 文件管理(file)
examples:
示例1: 
连接本地MySQL服务器：
[root@linuxcool ~]#mysql -h localhost -u root -p

示例2: 
连接远程MySQL服务器，并打开指定名称的数据库：
[root@linuxcool ~]#mysql -h 192.168.10.10 -u root -p linuxcool


command_name: cksum
chinese_name: cksum命令 – 校验文件
syntax: cksum [参数] [文件]
parameters: |--help: 在线帮助 | |--version: 显示版本信息 |
examples: 示例1: 计算文件“tempfile”的完整性： [root@linuxcool ~]# cksum tempfile4294967295 0 tempfile
category: 文件管理(file)
description:
cksum命令用于检查文件的CRC是否正确， 确保文件从一个系统传输到另一个系统的过程中的正确性 。循环冗余校验法 （ CRC ）是一种排错检查方式，该校验法的标准由CCITT所指定，至少可检测到99.998%的已知错误。
这种方法要求校验和在源系统和目的系统中分别被计算出来，之后进行比较，如果校验和相等，则认为该文件传输正确。若不指定任何文件名称或是所给予的文件名为”-“，则指令”cksum”会从标准输入设备中读取数据。


command_name: as
chinese_name: as命令 – 汇编语言编译器
syntax: as [参数] [文件名]
category: 文件管理(file)
description:
as命令的功能是用于汇编语言编译器，属于二进制工具集GNU Binutils的一员，也是GNU开放源代码项目推出的一款重量级汇编语言编译器。as命令能够将汇编代码编译成二进制程序，支持多种类型的处理器，非常好用。

parameters:
|-ac: 忽略失败条件 |
|-ad: 忽略调试指令 |
|-ah: 包括高级源 |
|-al: 包括装配 |
|-am: 包括宏扩展 |
|-an: 忽略形式处理 |
|-as: 包括符号 |
|-I: 将指定目录加入到搜索列表 |
|-f: 跳过空白和注释预处理 |
|-g: 显示调试信息 |
|-J: 对于有符号溢出不显示警告信息 |
|-L: 在符号表中保留本地符号 |
|-o: 设置要生成的目标文件 |
|--no-warn: 不显示告警信息 |
|--statistics: 打印汇编所用的最大空间和总时间 |
|--version: 显示版本信息 |
|--warn: 显示告警信息 |

examples:
示例1: 
将指定的汇编文件（File.s）编译成为二进制程序（File.o）：
[root@linuxcool ~]#as File.s -o File.o

示例2: 
将指定的汇编文件编译成为二进制程序，忽略失败条件：
[root@linuxcool ~]#as -ac File.s -o File.o

示例3: 
将指定的汇编文件编译成为二进制程序，并生成出调试信息：
[root@linuxcool ~]#as -g File.s -o File.o


command_name: visudo
chinese_name: visudo命令 – 编辑/etc/sudoers文件
description: 使用visudo命令可以打开/etc/sudoers文件进行编辑设置sudo
syntax: visudo [参数]
parameters: |-c: 启用check-only模式 | |-q: 启用安静模式，此模式下不显示错误信息 | |-s: 启用严格检查sudoers文件 |
category: 文件管理(file)
examples:
示例1: 
使用visudo命令编辑/etc/sudoers文件：
[root@linuxcool ~]# visudo

示例2: 
检查/etc/sudoers文件的语法错误、所有者和模式：
[root@linuxcool ~]# visudo -c


command_name: beadm
chinese_name: beadm命令 – 管理 ZFS 引导环境
description: beadm命令是管理ZFS启动环境（BEs）的用户界面。此实用程序供希望在一个系统上管理多个 Oracle Solaris 实例的系统管理员使用。用户通过使用BeFmris确定要管理的BE。
syntax: beadm [参数]
category: 文件管理(file)
parameters:
|create: 创建新的引导环境 |
|destroy: 销毁引导环境 |
|list: 列出引导环境信息 |
|mount: 挂载引导环境 |
|unmount: 卸载引导环境 |
|rename: 修改引导环境名称 |

examples:
示例1: 
创建新的引导环境：
[root@linuxcool ~]# beadm create linuxcool

示例2: 
销毁上面创建的引导环境：
[root@linuxcool ~]# beadm destroy linuxcool

示例3: 
列出所有引导环境信息：
[root@linuxcool ~]# beadm list

示例4: 
挂载引导环境：
[root@linuxcool ~]# beadm mount linuxcool


command_name: resize
chinese_name: resize命令 – 设置终端机视窗的大小
description: resize命令设置终端机视窗的大小。执行resize指令可设置虚拟终端机的视窗大小。
syntax: resize [参数]
category: 文件管理(file)
parameters:
|-c: 就算用户环境并非C Shell，也用C Shell指令改变视窗大小 |
|-s: 设置终端机视窗的垂直高度和水平宽度 |
|-u: 就算用户环境并非Bourne Shell，也用Bourne Shell指令改变视窗大小 |

examples:
示例1: 
使用 C shell：
[root@linuxcool ~]# resize -c set noglob; 
setenv COLUMNS '99'; 
setenv LINES '34'; 
unset noglob;

示例2: 
使用 Bourne shell ：
[root@linuxcool ~]# resize -u COLUMNS=99; 
LINES=34; 
export COLUMNS LINES;

示例3: 
设置指定大小 ：
[root@linuxcool ~]# resize -s 80 160


command_name: ngrep
chinese_name: ngrep命令 – 数据包匹配和显示工具
syntax: ngrep [参数]
parameters: |-i: 忽略大小写 | |-o: 将匹配的数据保存到文件 | |-c: 强制显示列的宽度 | |-L: 查询网卡接口 |
category: 文件管理(file)
description:
ngrep命令是grep命令的网络版，他力求更多的grep特征，用于搜寻指定的数据包。正由于安装ngrep需用到libpcap库， 所以支持大量的操作系统和网络协议。能识别TCP、UDP和ICMP包，理解bpf的过滤机制。

examples:
示例1: 
捕捉amazon：80端口的request和response。-d eth0是用来监听对外的网卡：
[root@linuxcool ~]# ngrep -W byline -d eth0 port 80

示例2: 
捕捉所有的包：
[root@linuxcool ~]# ngrep '[a-zA-Z]' -t -W byline -d any tcp port 18080


command_name: traceroute
chinese_name: traceroute命令 – 追踪网络数据包传输路径
syntax: traceroute [参数] [域名或IP地址]
category: 文件管理(file)
description:
traceroute命令来自英文词组“Trace router”的拼写，其功能是用于追踪网络数据包传输路径。执行tracerouter命令后会默认发送一个40字节大小的数据包到远程目标主机，从反馈信息我们可以得知数据包经过了哪些路径最终到达了终点。

parameters:
|-4: 基于IPv4网络协议 |
|-6: 基于IPv6网络协议 |
|-d: 使用Socket层级的排错功能 |
|-f: 设置数据包的存活数值（TTL） |
|-F: 设置勿离断位 |
|-g: 设置来源路由网关 |
|-i: 使用指定的网卡发送出数据包 |
|-I: 使用ICMP回应取代UDP资料信息 |
|-m: 检测数据包的最大存活数值（TTL） |
|-n: 使用IP地址而非主机名称 |
|-p: 设置UDP传输协议的通信端口 |
|-r: 将数据包送到远端主机上 |
|-s: 设置本地主机送出数据包的IP地址 |
|-t: 设置检测数据包的TOS数值 |
|-T: 使用TCP SYN进行探测 |
|-U: 使用UDP到特定端口进行路由 |
|-v: 显示执行过程详细信息 |
|-V: 显示版本信息 |
|-w: 设置等待远端主机回报的时间 |
|-x: 开启或关闭数据包的正确性检验 |

examples:
示例1: 
追踪本地数据包到指定网站经过的传输路径（默认）：
[root@linuxcool ~]#traceroute www.linuxprobe.com

示例2: 
追踪本地数据包到指定网站经过的传输路径，跳数最大为7次：
[root@linuxcool ~]#traceroute -m 7 www.linuxprobe.com

示例3: 
追踪本地数据包到指定网站经过的传输路径，显示IP地址而不是主机名：
[root@linuxcool ~]#traceroute -n www.linuxprobe.com

示例4: 
追踪本地数据包到指定网站经过的传输路径，探测包个数为4次：
[root@linuxcool ~]#traceroute -q 4 www.linuxprobe.com

示例5: 
追踪本地数据包到指定网站经过的传输路径，最长等待时间为3秒：
[root@linuxcool ~]#traceroute -w 3 www.linuxprobe.com


command_name: arj
chinese_name: arj命令 – 创建和管理.arj压缩包
syntax: arj [参数]
category: 文件管理(file)
description:
arj命令是“.arj”格式的压缩文件的管理器，用于创建和管理“.arj”压缩包。
当创建arj压缩包时，可省略“.arj”的后缀，由arj命令自动添加，对现有的arj压缩包操作时，必须同时指明文件名和后缀。

parameters:
|ac: 将章节加入章节压缩包 |
|cc: 将压缩包转换为章节压缩包 |
|dc: 从压缩包中删除最近的章节 |
|a: 将指定文件加入压缩包 |
|b: 执行批处理操作或者dos命令 |
|c: 为压缩包文件添加注释信息 |
|d: 从压缩包中删除指定文件 |
|e: 从压缩包中解压指定文件 |
|f: 刷新压缩包中的文件 |
|i: 检查arj程序的完整性 |
|j: 将多个arj压缩包合并到一个压缩包中 |
|k: 删除过时的备份文件 |
|l: 显示压缩包中的文件列表 |
|m: 将文件移动到压缩包中 |
|n: 重命名压缩包中的指定文件 |
|o: 排序压缩包中的文件 |
|p: 打印压缩包中的文件内容到标注输出 |
|q: 修复被破坏的arj压缩文件 |
|r: 将文件名中的路径信息删除 |
|s: 将文件内容显示到屏幕上并暂停 |
|t: 测试压缩包的完整性 |
|u: 更新指定文件到压缩包中 |
|v: 输出压缩包中文件的更详细信息 |
|w: 在压缩包中的文件内搜索指定的字符串 |
|x: 解压文件时包括文件的全部路径 |
|y: 用新选项复制压缩包 |

examples:
示例1: 
显示压缩包中的文件列表：
[root@linuxcool ~]# arj l linuxcool.arj

示例2: 
显示压缩包中的详细文件列表：
[root@linuxcool ~]# arj v linuxcool.arj

示例3: 
压缩整个目录，忽略文件路径：
[root@linuxcool ~]# arj a -e linuxcool *


command_name: indent
chinese_name: indent命令 – 调整代码文件格式
description: indent命令用于调整C原始代码文件的格式。indent可辨识C的原始代码文件，并加以格式化，以方便程序设计师阅读。 indent命令按照随命令输入的标志所指定的格式重新格式化一个 C 程序。
syntax: indent [参数]
parameters: |-bad: 在声明区段或加上空白行 | |-bap: 在程序或加上空白行 | |-i: 设置缩排的格数 | |-v: 执行时显示详细的信息 |
category: 文件管理(file)
examples:
示例1: 
执行时显示详细的信息：
[root@linuxcool ~]# indent -v

示例2: 
执行时不显示详细的信息：
[root@linuxcool ~]# indent -nv

示例3: 
将结果显示在标准输出设备：
[root@linuxcool ~]# indent -st


command_name: rpm2cpio
chinese_name: rpm2cpio命令 – 文件格式转换
description: rpm2cpio命令用于将rpm软件包转换为cpio格式的文件。
syntax: rpm2cpio [参数]
parameters: |文件名: 指定要转换的rpm包的文件名 |
category: 文件管理(file)
examples:
示例1: 
libstdc++-4.3.0-8.i386.rpm软件包转换成cpio格式：
[root@linuxcool ~]# rpm2cpio ../libstdc++-4.3.0-8.i386.rpm | cpio -idv


command_name: stat
chinese_name: stat命令 – 显示文件的状态信息
syntax: stat [参数] [文件名]
parameters: |-c: 设置显示格式 | |-f: 显示文件系统信息 | |-L: 支持符号链接 | |-t: 设置以简洁方式显示 | |--help: 显示帮助信息 | |--version: 显示版本信息 |
category: 文件管理(file)
description:
stat命令来自英文单词status的缩写，其功能是显示文件的状态信息。在Linux系统中，每个文件都有3个“历史时间”——最后访问时间（ATIME）、最后修改时间（MTIME）、最后更改时间（CTIME），用户可以使用stat命令查看到它们，进而判别有没有其他人修改过文件内容。
使用touch命令可以轻易修改文件的ATIME和MTIME，因此请勿单纯以文件历史时间作为判别系统有无被他人入侵的唯一标准。

examples:
示例1: 
查看指定文件的状态信息（含ATIME、MTIME与CTIME）：
[root@linuxcool ~]# stat 
  File.cfg File: File.cfg 
  Size: 1388           Blocks: 8          IO Block: 4096   regular file 
Device: fd00h/64768d   Inode: 35314179    Links: 1 
Access: (0600/-rw-------) Uid: (    0/    root) Gid: (    0/    root) 
Context: system_u:object_r:admin_home_t:s0 
Access: 2023-10-17 02:59:34.692395342 +0800 
Modify: 2023-10-17 02:32:41.346972365 +0800 
Change: 2023-10-17 02:32:41.346972365 +0800 
  Birth: -

示例2: 
仅查看指定文件的文件系统信息：
[root@linuxcool ~]# stat -f File.cfg 
  File: "File.cfg" 
    ID: fd0000000000 Namelen: 255     Type: xfs 
Block size: 4096       Fundamental block size: 4096 
Blocks: Total: 4452864    Free: 3442276    Available: 3442276 
Inodes: Total: 8910848    Free: 8792229

示例3: 
以简洁的方式查看指定文件的状态信息：
[root@linuxcool ~]# stat -t File.cfg 
File.cfg 1388 8 8180 0 0 fd00 35314179 1 0 0 1665946774 1665945161 1665945161 
0 4096 system_u:object_r:admin_home_t:s0


command_name: tailf
chinese_name: tailf命令 – 跟踪输出文件的新内容
syntax: tailf [参数] [文件名]
parameters: |-h: 显示帮助信息 | |-n: 设置输出行数 | |-V: 显示版本信息 |
category: 文件管理(file)
description:
tailf命令来自英文词组“tail file”的缩写，其功能是用于跟踪输出文件的新内容，无限相像于“tail -f”命令组合。tailf命令能够持续显示指定文件中的最新内容，就像官网中推荐的那样——特别适合于日志文件的追踪（follow the growth of a log file），好用到流眼泪~

examples:
示例1: 
持续跟踪输出指定文件中的最新内容：
[root@linuxcool ~]#tailf File.log

示例2: 
持续跟踪输出指定文件中最后5行的最新内容：
[root@linuxcool ~]#tailf -n 5 File.log


command_name: ldd
chinese_name: ldd命令 – 打印程序依赖的共享库
description: ldd命令用于打印程序或者库文件所依赖的共享库列表。
syntax: ldd [参数] [文件]
category: 文件管理(file)
parameters:
|-v: 详细信息模式，打印所有相关信息 |
|-u: 打印未使用的直接依赖 |
|-d: 执行重定位和报告任何丢失的对象 |
|-r: 执行数据对象和函数的重定位，并且报告任何丢失的对象和函数 |
|-- -help: 显示帮助信息 |

examples:
示例1: 
显示命令依赖的共享库：
[root@linuxcool ~]# ldd /bin/vim
linux-vdso.so.1 =>  (0x00007ffe3dbc1000)
libm.so.6 => /lib64/libm.so.6 (0x00007f17a5b55000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f17a592e000)
libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00007f17a5704000)


command_name: hwclock
chinese_name: hwclock命令 – 显示与设置系统硬件时钟
syntax: hwclock [参数] [对象]
category: 文件管理(file)
description:
hwclock命令来自英文词组“hardware clock”的缩写，其功能是用于显示与设置系统硬件时钟。hwclock是一个硬件时钟的管理工具，可以用于显示当前时间、设置硬件时钟与系统时钟同步任务。
系统硬件时钟是指电脑主板上的时钟信息，通常会被写入到BIOS中，而系统时钟则指的是内核中的时钟信息。Linux系统在启动时会由内核读取硬件时钟的信息，随后系统时钟便独立运作，Linux相关函数及指令都会依据该时间工作。

parameters:
|--adjust: 根据先前记录评估时钟偏差值 |
|--compare: 将系统时钟与硬件时钟比较 |
|--debug: 使用调试模式 |
|--directisa: 直接从I/O指令来存取硬件时钟 |
|--epoch: 设置硬件时钟时代开始的年份 |
|--hctosys: 同步系统时钟到硬件时钟 |
|--localtime: 设置硬件时钟保持为本地时间 |
|--rtc: 设置默认配置文件 |
|--set-date: 设置硬件时钟 |
|--show: 显示硬件时钟 |
|--systohc: 同步硬件时钟到系统时钟 |
|--test: 测试硬件时钟 |
|--utc: 使用格林威治时间 |
|--version: 显示版本信息 |

examples:
示例1: 
显示当前系统硬件时间：
[root@linuxcool ~]#hwclock2023-03-29 15:40:55.522990+08:00

示例2: 
同步硬件时钟与系统时钟：
[root@linuxcool ~]#hwclock --systohc

示例3: 
显示硬件时钟及版本信息 ：
[root@linuxcool ~]#hwclock --versionhwclock from util-linux 2.32.1
System Time: 1680075709.819263
Trying to open: /dev/rtc0
Using the rtc interface to the clock.
Last drift adjustment done at 0 seconds after 1969
Last calibration done at 0 seconds after 1969
Hardware clock is on UTC time
Assuming hardware clock is kept in UTC time.
Waiting for clock tick...
...got clock tick
Time read from Hardware Clock: 2023/03/29 07:41:50
Hw clock time : 2023/03/29 07:41:50 = 1680075710 seconds since 1969
Time since last adjustment is 1680075710 seconds
Calculated Hardware Clock drift is 0.000000 seconds
2023-03-29 15:41:49.959847+08:00


command_name: mysqlcheck
chinese_name: mysqlcheck命令 – 检查和修复MyISAM表
syntax: mysqlcheck [参数] [数据库] [表]
parameters: |-B: 处理数据库中命名的所有表 | |-a: 分析表 | |-A: 检查所有数据库 | |-c: 检查表的错误 |
category: 文件管理(file)
description:
使用mysqlcheck命令可以检查和修复MyISAM表。它可以优化和分析表。mysqlcheck的功能类似myisamchk，但其工作不同。主要差别是当mysql服务器在运行时必须使用mysqlcheck，而myisamchk应用于服务器没有运行时。使用mysqlcheck的好处是不需要停止服务器来检查或修复表。

examples:
示例1: 
检查和修复数据库www中的所有表：
[root@linuxcool ~]# mysqlcheck www

示例2: 
检查和修复数据库www中的table1表：
[root@linuxcool ~]# mysqlcheck www table1

示例3: 
对mysql库进行mysqlcheck操作：
mysqlcheck mysql -uroot -p


command_name: file
chinese_name: file命令 -识别文件类型
syntax: file [参数] [文件名]
category: 文件管理(file)
description:
file命令的功能是识别文件类型，也可以用来辨别一些内容的编码格式。由于Linux系统并不是像Windows系统那样通过扩展名来定义文件类型的，因此用户无法直接通过文件名来进行区别。file命令可以通过分析文件头部信息中的标识信息来显示文件类型，使用很方‍便。

parameters:
|-b: 不显示文件名 |
|-c: 显示执行过程 |
|-f: 显示文件类型信息 |
|-i: 显示MIME类别信息 |
|-m: 指定魔法数字文件 |
|-v: 显示版本信息 |
|-z: 尝试去解读压缩内的文件内容 |

examples:
示例1: 
查看指定文件的类型：
[root@linuxcool ~]# file File.cfg 
File.cfg: ASCII text 
[root@linuxcool ~]# file Dir 
Dir: directory 
[root@linuxcool ~]# file /dev/sda 
/dev/sda: block special (8/0)
[root@linuxcool ~]# file 
/bin/ls /bin/ls: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1] =937708964f0f7e3673465d7749d6cf6a2601dea2, stripped, too many notes (256)

示例2: 
查看指定文件的类型，但不显示文件名：
[root@linuxcool ~]# file -b File.cfg 
ASCII text

示例3: 
通过MIME来分辨指定文件的类型：
[root@linuxcool ~]# file -i File.cfg 
File.cfg: text/plain; charset=us-ascii

示例4: 
查看符号链接文件的类型，会提示实际的文件名称：
[root@linuxcool ~]# file /dev/cdrom
/dev/cdrom: symbolic link to sr0

示例5: 
直接查看指定符号链接文件所对应的目标文件的类型：
[root@linuxcool ~]# file -L /dev/cdrom 
/dev/cdrom: block special (11/0)


command_name: iwconfig
chinese_name: iwconfig命令 – 配置无线网络接口
description: 使用iwconfig命令可以为无线接口显示或设置网络接口的参数，它可以用来配置无线网络接口是非常好用的。
syntax: iwconfig [参数]
parameters: |nwid: 设置网络ID | |nick: 设置昵称或站点名称 |
category: 文件管理(file)
examples:
示例1: 
设置发送数据包的分片大小：
[root@linuxcool ~]# iwconfig ath0 frag 256

示例2: 
指定最长重试时间为300毫秒：
[root@linuxcool ~]# iwconfig ath0 retrylifetime 300m

示例3: 
通过MAC 设置AP：
[root@linuxcool ~]# iwconfig ath1 ap 00:0A:EB:CA:79:B0


command_name: true
chinese_name: true命令 – 重定向清空文件内容
syntax: true [参数] [文件名]
parameters: |--help: 显示帮助信息 | |--version: 显示版本信息 |
examples: 示例1: 清空指定文件中的内容： [root@linuxcool ~]#true > File.log
category: 文件管理(file)
description:
true命令的功能是用于重定向清空文件内容，相当于使用echo命令输出重定向空白信息到指定文件的效果。true命令会清空文件中的内容，而不删除文件本身，并在操作完成后返回退出码0，在Shell脚本中较为常用。


command_name: vimdiff
chinese_name: vimdiff命令 – 同时编辑多个文本文件
syntax: vimdiff [参数] [文件名1] [文件名2] [文件名N]
examples: 示例1: 同时编辑两个内容不同，存在差异的文件： [root@linuxcool ~]#vimdiff File1 File2
category: 文件管理(file)
description:
vimdiff命令来自英文词组“Vim differences”的缩写，其功能是用于同时编辑多个文本文件。对纯文本文件的比较和合并工具一直是软件开发过程中比较重要的组成部分，vimdiff命令能够比较多个文本文件之间的差异并快速定位，并很容易地进行文件合并操作。

parameters:
|dd: 剪切当前行 |
|数字dd: 剪切当前行开始的多行 |
|p: 粘贴 |
|qa: 同时退出多个文件 |
|u: 撤销操作 |
|wa: 保存文件 |
|wqa: 保存并退出文件 |
|yy: 复制当前行 |
|数字yy: 复制当前行开始的多行 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 |


command_name: svn
chinese_name: svn命令 – subversion命令行客户端程序
description: svn命令是subversion命令行客户端程序，大都数的子命令可接受文件或目录参数，对目录进行递归处理。如果指定参数，默认对当前目录进行递归处理。
syntax: svn [参数]
parameters: |add: 把文件和目录纳入版本控制，通过调度添加到版本库 | |copy: 在工作副本或版本中复制数据，保留历史 | |checkout: 从版本库中签出工作副本 |
category: 文件管理(file)
examples:
示例1: 
从版本库签出工作副本：
[root@linuxcool ~]# svn checkout svn://192.168.0.2 /root/subversion

示例2: 
往版本库中添加新的文件test.php：
[root@linuxcool ~]# svn add test.php

示例3: 
将文件checkout到本地目录:
[root@linuxcool ~]# svn checkout svn://192.168.1.1/pro/domain


command_name: rename
chinese_name: rename命令 – 批量修改文件名称
syntax: rename [原字符] [新字符] [文件名]
parameters: |-V: 显示版本信息 |
category: 文件管理(file)
description:
rename命令的功能是用于批量修改文件名称。与mv命令一次只能修改一个文件名不同，rename命令能够基于正则表达式对文件名进行批量修改，但要求是把匹配规则准确地描述给系统。
rename命令的参数有三项：其一是当前文件名中要被修改的字符，其二是其要被修改为的新字符，其三是要被执行的对象文件列表。初次可能有点难理解，动手尝试下吧~

examples:
示例1: 
将当前工作目录下后缀为.cfg的文件，改成.txt后缀结尾：
[root@linuxcool ~]#rename .cfg .txt *

示例2: 
将当前工作目录下文件名中的小写a改成大写A：
[root@linuxcool ~]#rename a A *


command_name: statserial
chinese_name: statserial命令 – 显示串口状态
description: statserial(status ofserial port)可显示各个接脚的状态，常用来判断串口是否正常。
syntax: statserial [参数]
parameters: |-d: 以10进制数字来表示串口的状态 | |-n: 仅显示一次串口的状态后即结束程序 | |-x: 与-n参数类似，但是以16进制来表示 |
category: 文件管理(file)
examples:
示例1: 
显示串口状态：
[root@linuxcool ~]# statserial /dev/tty1

示例2: 
只显示一次串口状态：
[root@linuxcool ~]# statserial -n /dev/tty1


command_name: tree
chinese_name: tree命令 – 以树状图形式列出目录内容
description: tree命令的功能是以树状图形式列出目录内容，可帮助运维人员快速了解目录的层级关‍系。
syntax: tree [参数]
category: 文件管理(file)
parameters:
|-a: 显示所有文件和目录 |
|-A: 使用ASNI绘图字符形式 |
|-C: 使用彩色显示 |
|-d: 仅显示目录名 |
|-D: 显示文件更改时间 |
|-f: 显示完整的相对路径名 |
|-F: 显示每个文件的完整路径 |
|-g: 显示文件所属组名 |
|-G: 显示组名或GID |
|-H: 以更易读的格式输出信息 |
|-i: 不使用阶梯状显示文件或目录名 |
|-I: 不显示符合范本样式的文件或目录名 |
|-l: 直接显示链接文件所指向的原始目录 |
|-L: 使用层级显示内容 |
|-N: 直接显示文件和目录名 |
|-o: 写入指定文件 |
|-p: 显示权限标示 |
|-P: 仅显示符合范本样式的文件或目录名 |
|-q: 用“?”号替代控制字符，显示文件和目录名 |
|-s: 显示文件或目录大小 |
|-t: 依据文件更改时间排序 |
|-T: 设置标题和字符串 |
|-u: 显示文件或目录的所有者名 |
|-x: 将范围局限在当前的文件系统中 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 |

examples:
示例1: 
显示当前工作目录下的文件层级情况：
[root@linuxcool ~]# tree 
. 
├── anaconda-ks.cfg 
├── Desktop 
├── Documents 
├── Downloads 
├── file.zip 
├── initial-setup-ks.cfg 
├── Music 
├── Pictures 
├── Public 
├── Templates 
├── Videos 
└── website 
     ├── linuxcool.com 
     ├── linuxdown.com 
     └── linuxprobe.com

示例2: 
以文件和目录的更改时间进行排序：
[root@linuxcool ~]# tree -t 
. 
├── anaconda-ks.cfg 
├── initial-setup-ks.cfg 
├── Desktop 
├── Documents 
├── Downloads 
├── Music 
├── Pictures 
├── Public 
├── Templates 
├── Videos 
├── file.zip 
└── website 
     ├── linuxdown.com 
     ├── linuxprobe.com 
     └── linuxcool.com

示例3: 
以带有相对路径的形式，显示当前工作目录下的文件层级情况：
[root@linuxcool ~]# tree -f 
. 
├── ./anaconda-ks.cfg 
├── ./Desktop 
├── ./Documents 
├── ./Downloads 
├── ./file.zip 
├── ./initial-setup-ks.cfg 
├── ./Music 
├── ./Pictures 
├── ./Public 
├── ./Templates 
├── ./Videos 
└── ./website 
     ├── ./website/linuxcool.com 
     ├── ./website/linuxdown.com 
     └── ./website/linuxprobe.com

示例4: 
只显示目录的层级关系情况：
[root@linuxcool ~]# tree -d 
. 
├── Desktop 
├── Documents 
├── Downloads 
├── Music 
├── Pictures 
├── Public 
├── Templates 
├── Videos 
└── website 
     ├── linuxcool.com 
     ├── linuxdown.com 
     └── linuxprobe.com 
12 directories


command_name: matchpathcon
chinese_name: matchpathcon命令 – 查看文件默认安全上下文
syntax: matchpathcon [参数] [选项]
category: 文件管理(file)
description:
matchpathcon命令的作用是可以得到指定文件默认SELinux安全上下文。
相同的路径可以具有不同的安全性上下文，具体取决于文件类型。matchpathcon命令还将在确定默认安全上下文时的文件类型（如果文件存在）。如果文件不存在，则不会发生文件类型匹配。
如果系统提示没有安装matchpathcon命令，则需要先安装selinux-utils工具包。

parameters:
|-p: 使用前缀的速度解答 |
|-N: 不使用解答 |
|-n: 不显示路径 |
|-V: 在磁盘匹配默认上验证文件上下文 |
|-f<file_context_file文件>: 使用备用file_context文件 |

examples:
示例1: 
查看指定文件的默认安全上下文：
[root@linuxcool ~]# matchpathcon /root/anaconda-ks.cfg

示例2: 
查看指定文件的默认安全上下，不显示文件路径：
[root@linuxcool ~]# matchpathcon -n /root/anaconda-ks.cfg

示例3: 
在磁盘上匹配默认上验证文件上下文：
[root@linuxcool ~]# matchpathcon -V /root/anaconda-ks.cfg


command_name: mmove
chinese_name: mmove命令 – 移动文件或目录
syntax: mmove [源文件或目录] [目标文件或目录]
parameters: |源文件或目录: 执行操作的源文件或目录路径 | |目标文件或目录: 执行操作后的目标文件或目录路径 |
category: 文件管理(file)
description:
Linuxmmove命令用于在MS-DOS文件系统中，移动文件或目录，或更改名称。
mmove为mtools工具命令，模拟MS-DOS的move命令，可在MS-DOS文件系统中移动现有的文件或目录，或是更改现有文件或目录的名称。

examples:
示例1: 
使用指令mmove将文件a.txt移动到目录dir中：
[root@linuxcool ~]# mmove a.txt dir

示例2: 
使用指令mmove将文件”autorun.bat”移动到目录”test”中 ：
[root@linuxcool ~]# mmove autorun.bat test

示例3: 
使用指令mmove将文件test移动到目录”autorun.bat”中 ：
[root@linuxcool ~]# mmove test autorun.bat

示例4: 
使用该命令前先查看原来的目录，得到如下结果：
[root@linuxcool ~]# mdir -/ a:\* 
Volume in drive A has no label #加载信息  
Volume Serial Number is 13D2~055C  
Directory for A:/ #以下为目录信息  
#文件名目录大小 修改时间  
./TEST<DIR>2009-09-23 16:59  
AUTORUN.INF 265 2009-09-23 16:53  
AUTORUN.BAT 43 2009-09-23 16:56  
3 files 308 bytes #统计总大小  
724 325 bytes free #剩余空间

示例5: 
使用mmove命令，并再次查看，结果如下：
[root@linuxcool ~]# mmove autorun.bat test
[root@linuxcool ~]# mdir -/ a:\*
Volume in drive A has no label #加载信息  
Volume Serial Number is 13D2~055C  
Directory for A:/ #以下为目录信息  
#文件名目录大小 修改时间  
./TEST<DIR>2009-09-23 16:59  
AUTORUN.INF 265 2009-09-23 16:53  
2 files 265 bytes #统计总大小  
724 683 bytes free #剩余空间  
cmd@cmd-desktop:~$ mdir -/ a:\test\* #再次查看test目录中文件  
AUTORUN.BAT 43 2009-09-23 16:56  
1 files 43 bytes #统计总大小


command_name: alias
chinese_name: alias命令 – 设置命令别名
syntax: alias [参数] [对象]
parameters: |-p: 显示系统中已有的命令别名 |
category: 文件管理(file)
description:
alias命令来自英文单词alias，中文译为“别名”，其功能是设置命令别名信息。我们可以使用alias将一些较长的命令进行简写，往往几十个字符的命令会变成几个字母，从而大大提高我们的工作效率。
必须使用单引号将原来的命令引起来，防止特殊字符导致错误。并且alias命令的作用只局限于该次登入的操作，若要每次登入都能使用这些命令别名，则可将相应的alias命令存放到bash的初始化文件/etc/bashrc中。

examples:
示例1: 
查看系统中已有的命令别名信息：
[root@linuxcool ~]# alias -p 
alias cp='cp -i' 
alias egrep='egrep --color=auto' 
alias fgrep='fgrep --color=auto' 
alias grep='grep --color=auto' 
alias l.='ls -d .* --color=auto' 
alias ll='ls -l --color=auto' 
alias ls='ls --color=auto' 
alias mv='mv -i' 
alias rm='rm -i' 
………………省略部分输出信息………………

示例2: 
新增一个命令别名（lc），其作用是查看当前目录下文件列表及权限等信息：
[root@linuxcool ~]# alias lc='ls -al' 
[root@linuxcool ~]# lc 
total 48 
dr-xr-x---. 15 root root 4096 Jan 22 14:41 . 
dr-xr-xr-x. 17 root root  224 Jan 22 06:34 .. 
-rw-------.  1 root root 1387 Jan 22 06:41 anaconda-ks.cfg 
-rw-------.  1 root root  127 Jan 22 14:42 .bash_history 
-rw-r--r--.  1 root root   18 Aug 13  2023 .bash_logout 
-rw-r--r--.  1 root root  176 Aug 13  2023 .bash_profile 
-rw-r--r--.  1 root root  176 Aug 13  2023 .bashrc 
………………省略部分输出信息………………


command_name: mv
chinese_name: mv命令 – 移动或改名文件
syntax: mv [参数] [源文件名] [目标文件名]
category: 文件管理(file)
description:
mv命令来自英文单词move的缩写，中文译为“移动”，其功能与英文含义相同，能够对文件进行剪切和重命名操作。这是一个被高频使用的文件管理命令，我们需要留意它与复制命令的区别。cp命令是用于文件的复制操作，文件个数是增加的，而mv则为剪切操作，也就是对文件进行移动（搬家）操作，文件位置发生变化，但总个数并无增‍加。
在同一个目录内对文件进行剪切的操作，实际上应理解成重命名操作，例如下面的第一个示例所‍示。

parameters:
|-b: 覆盖前为目标文件创建备份 |
|-f: 强制覆盖目标文件而不询问 |
|-i: 覆盖目标文件前询问用户是否确认 |
|-n: 不要覆盖已有文件 |
|-u: 当源文件比目标文件更新时，才执行覆盖操作 |
|-Z: 设置文件安全上下文 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 |

examples:
示例1: 
对指定文件进行剪切后粘贴（重命名）操作：
[root@linuxcool ~]# mv File1.cfg File2.cfg

示例2: 
将指定文件移动到/etc目录中，保留文件原始名称：
[root@linuxcool ~]# mv File2.cfg /etc

示例3: 
将指定目录移动到/etc目录中，并定义新的目录名称：
[root@linuxcool ~]# mv Dir1 /etc/Dir2

示例4: 
将/home目录中所有的文件都移动到当前工作目录中，若遇到文件已存在则直接覆盖：
[root@linuxcool ~]# mv -f /home/* .


command_name: ausearch
chinese_name: ausearch命令 – 检索审计记录
syntax: ausearch [参数] [对象]
category: 文件管理(file)
description:
ausearch命令来自英文词组“audit search”的缩写，其功能是用于检索审计记录。ausearch命令会基于审计文件（/var/log/audit/audit.log）进行信息检索，能够根据不同的事件或条件，如事件标识符、密钥标识符、CPU体系结构、命令名、主机名、组名、组ID、系统调用……等来检索日志，帮助运维人员更好地了解系统运行情况。

parameters:
|-a: 基于事件ID搜索 |
|-c: 基于命令行搜索 |
|-e: 基于退出码搜索 |
|-f: 基于文件名搜索 |
|-h: 显示帮助信息 |
|-k: 基于关键词搜索 |
|-l: 刷新每一行的输出 |
|-p: 基于进程PID搜索 |
|-v: 显示版本信息 |
|-w: 基于字符串搜索 |
|-ga: 基于用户组ID搜索 |
|-hn: 基于主机名搜索 |
|-tm: 基于终端搜索 |
|-ua: 基于用户ID搜索 |
|-ui: 基于计算机名称搜索 |

examples:
示例1: 
查看系统的审计记录：
[root@linuxcool ~]#ausearch -ui 0----
time->Sun Jan 22 10:58:45 2023
type=DAEMON_START msg=audit(1674356325.286:1175): op=start ver=3.0 format=enrich
ed kernel=4.18.0-80.el8.x86_64 auid=4294967295 pid=933 uid=0 ses=4294967295 subj
=system_u:system_r:auditd_t:s0 res=success
………………省略部分输出信息………………

示例2: 
指定系统终端名称，查看系统的审计记录：
[root@linuxcool ~]#ausearch -tm tty1----
time->Sun Jan 22 11:04:01 2023
type=USER_AUTH msg=audit(1674356641.103:67): pid=2077 uid=0 auid=4294967295 ses=
4294967295 subj=system_u:system_r:xdm_t:s0-s0:c0.c1023 msg='op=PAM:authenticatio
n grantors=pam_permit acct="gdm" exe="/usr/libexec/gdm-session-worker" hostname=
linuxcool.com addr=? terminal=/dev/tty1 res=success'
………………省略部分输出信息………………


command_name: uucp
chinese_name: uucp命令 – unix系统之间传输文件
description: UUCP为Unix系统之间，通过序列线来连线的协议。uucp使用UUCP协议，主要的功能为传送文件。
syntax: uucp [参数]
category: 文件管理(file)
parameters:
|-c: 不用将文件复制到缓冲区 |
|-C: 将文件复制到缓冲区 |
|-d: 在传送文件时，自动在[目的]建立必要的目录 |
|-f: 在传送文件时，若需要在[目的]建立目录，则放弃执行该作业 |
|-I: 指定uucp配置文件 |
|-j: 显示作业编号 |
|-R: 若[来源]为目录，则将整个目录包含子目录复制到[目的] |

examples:
示例1: 
将temp/目录下所有文件传送到远程主机localhost的uucp公共目录下的Public/目录下：
[root@linuxcool ~]# uucp -d -R temp localhost ~/Public/

示例2: 
将home/目录下所有文件传送到远程主机localhost的uucp公共目录下的Public/目录下并显示作业编号：
[root@linuxcool ~]# uucp -d -R -j home localhost ~/Public/


command_name: cpio
chinese_name: cpio命令 – 复制文件到归档包
description: cpio命令主要是用来建立或者还原备份档的工具程序，cpio命令可以复制文件到归档包中，或者从归档包中复制文件。
syntax: cpio [参数]
category: 文件管理(file)
parameters:
|-0: 接受新增列控制字符，通常配合find指令的“-print0”参数使用 |
|-a: 重新设置文件的存取时间 |
|-A: 附加到已存在的备份文档中，且这个备份文档必须存放在磁盘上，而不能放置于磁带机里 |
|-B: 将输入/输出的区块大小改成5210Bytes |
|-c: 使用旧ASCII备份格式 |

examples:
示例1: 
将/etc下的所有普通文件都备份到/opt/etc.cpio：
[root@linuxcool ~]# find /etc –type f | cpio –ocvB >/opt/etc.cpio

示例2: 
将系统上所有资料备份到磁带机内：
[root@linuxcool ~]# find / -print | cpio -covB > /dev/st0

示例3: 
将系统上所有资料备份到磁带机内：
[root@linuxcool ~]# cpio  -icdvt < /dev/st0 > /tmp/st_content


command_name: pg-ctl
chinese_name: pg_ctl命令 – 控制PostgreSQL服务
description: pg_ctl是一个启动、停止、重新启动、重新加载配置文件、报告PostgreSQL服务器的状态，或者是杀掉PostgreSQL进程的工具。
syntax: pg_ctl [参数]
parameters: |-D: 指定数据存储的位置 | |-s: 只显示错误信息，没有其他信息 | |-W: 不用等待操作完成 | |-w: 等待直到操作完成 |
category: 文件管理(file)
examples:
示例1: 
启动postgresql服务
[root@linuxcool ~]# pg_ctl start

示例2: 
启动服务器的一个例子， 等到服务器 启动了才退出：
[root@linuxcool ~]# pg_ctl -w start

示例3: 
用于一个 postmaster 使用端口 5433，而且不带 fsync 运行，使用：
[root@linuxcool ~]# pg_ctl -o "-F -p 5433" start


command_name: insmod
chinese_name: insmod命令 – 载入模块
syntax: insmod [参数]
examples: 示例1: 加载RAID1阵列级别模块，如下所示： [root@linuxcool ~]# insmod /lib/modules/2.6.
category: 文件管理(file)
description:
insmod命令用于将给定的模块加载到内核中。
Linux有许多功能是通过模块的方式，在需要时才载入kernel。如此可使kernel较为精简，进而提高效率，以及保有较大的弹性。这类可载入的模块，通常是设备驱动程序。

parameters:
|-f: 不检查目前kernel版本与模块编译时的kernel版本是否一致，强制将模块载入 |
|-k: 将模块设置为自动卸除 |
|-m: 输出模块的载入信息 |
|-o: 指定模块的名称，可使用模块文件的文件名 |
|-p: 测试模块是否能正确地载入kernel |
|-s: 将所有信息记录在系统记录文件中 |
|-v: 执行时显示详细的信息 |
|-x: 不要汇出模块的外部符号 |
|-X: 汇出模块所有的外部符号，此为预设置 |


command_name: ytalk
chinese_name: ytalk命令 – 与其他用户交谈
description: 通过ytalk指令，你可以和其他用户线上交谈，如果想和其他主机的用户交谈，在用户名称后加上其主机名称或IP地址即可。
syntax: ytalk [参数]
category: 文件管理(file)
parameters:
|-h: 指定交谈对象所在的远端主机 |
|-i: 用提醒声响代替显示信息 |
|-s: 在指令提示符号先开启ytalk交谈窗 |
|-x: 关闭图形界面 |
|-Y: 所有必须回应yes或no的问题，都必须用大写英文字母”Y”或”N”回答 |

examples:
示例1: 
发送消息：
[root@linuxcool ~]# who
 root   :0      Apr 9 20:17
 root   pts/1    Apr 9 20:17
 w3c   pts/6    May 27 16:47 (192.168.0.1)
 root   pts/2    May 27 17:37 (192.168.0.1)
[root@linuxcool ~]# ytalk w3c
 hey


command_name: dos2unix
chinese_name: dos2unix命令 – 将DOS格式的文本文件转换成UNIX格式
syntax: dos2unix [参数] [文件]
category: 文件管理(file)
description:
dos2unix命令用来将DOS格式的文本文件转换成UNIX格式的（DOS/MAC to UNIX text file format converter）。DOS下的文本文件是以\r\n作为断行标志的，表示成十六进制就是0D 0A。而Unix下的文本文件是以\n作为断行标志的，表示成十六进制就是0A。
DOS格式的文本文件在Linux下，用较低版本的vi打开时行尾会显示^M，而且很多命令都无法很好的处理这种格式的文件。如果是个shell脚本，而Unix格式的文本文件在Windows下用Notepad打开时会拼在一起显示。因此产生了两种格式文件相互转换的需求，对应的将UNIX格式文本文件转成成DOS格式的是unix2dos命令。

parameters:
|-k: 保持输出文件的日期不变 |
|-q: 安静模式，不提示任何警告信息 |
|-V: 查看版本 |
|-c: 转换模式：ASCII 7bit ISO Mac |
|-o: 写入到源文件 |
|-n: 写入到新文件 |

examples:
示例1: 
最简单的用法就是dos2unix直接跟上文件名：
[root@linuxcool ~]# dos2unix file

示例2: 
如果一次转换多个文件，把这些文件名直接跟在dos2unix之后。（注：也可以加上-o参数，也可以不加，效果一样）
[root@linuxcool ~]# dos2unix file1 file2 file3
[root@linuxcool ~]# dos2unix -o file1 file2 file3

示例3: 
上面在转换时，都会直接在原来的文件上修改，如果想把转换的结果保存在别的文件，而源文件不变，则可以使用-n参数。
[root@linuxcool ~]# dos2unix -n oldfile newfile

示例4: 
如果要保持文件时间戳不变，加上-k参数。所以上面几条命令都是可以加上-k参数来保持文件时间戳的。
[root@linuxcool ~]# dos2unix -k file
[root@linuxcool ~]# dos2unix -k file1 file2 file3
[root@linuxcool ~]# dos2unix -k -o file1 file2 file3
[root@linuxcool ~]# dos2unix -k -n oldfile newfile


command_name: rndc-confgen
chinese_name: rndc-confgen命令 – 密钥生成工具
syntax: rndc-confgen [参数]
category: 文件管理(file)
description:
rndc-confgen命令的作用是可以为rndc生成配置文件。
rndc命令通过TCP连接与DNS服务器通信，发送使用数字签名认证的命令。在rndc命令和named守护进程的当前版本中，唯一支持的认证算法是HMAC-MD5,它在连接的每一端使用共享密钥。这为命令请求和DNS服务器响应提供了TSIG-style认证。所有的经通道发送的命令必须由服务器认识的key_id标记。rndc命令会读取配置文件以确定如何与DNS服务器联系必须使用何种算法。

parameters:
|-t<目录>: 指定一个运行chroot目录，rndc.key文件的副本将被写入到该目录中 |
|-s<IP地址>: 为来自rndc的命令通道连接指定监听的IP地址。默认值是环回地址127.0.0.1 |
|-c<密钥文件>: 指定备用位置的rndc.key密钥文件 |
|-b<密钥大小>: 指定密钥的大小，单位是位。必须介于1和512位之间，默认值是128 |
|-p<端口>: 为来自rndc的连接指定监听的命令通道端口。默认值是953 |
|-u<用户>: 设置生成的rndc.key密钥文件的所有者 |
|-r<随机文件>: 指定用于生成授权随机数据源 |
|-k<密钥名称>: 指定rndc认证密钥的密钥名称 |
|-a: 自动rndc配置，创建密钥文件/etc/rndc.key |

examples:
示例1: 
为rndc生成配置文件/etc/rndc.conf：
[root@linuxcool ~]# pwdhash -c linuxcool linux

示例2: 
自动rndc配置，创建密钥文件/etc/rndc.key：
[root@linuxcool ~]# rndc-confgen -a

示例3: 
更新key文件：
[root@linuxcool ~]# rndc-confgen


command_name: zipnote
chinese_name: zipnote命令 – 显示压缩包注释内容
description: zipnote命令可用于从 zip 归档中提取注释或添加注释。要显示注释，只需在命令前面加上归档名称即可,如果之前未添加任何注释。
syntax: zipnote [参数]
parameters: |-w: 从stdin向zipfile写入注释 | |-b: 使用临时zip文件的路径 | |-q: 禁止显示某些信息性消息 |
category: 文件管理(file)
examples:
示例1: 
显示linuxcool.zip压缩文件的注释内容：
[root@linuxcool ~]# zipnote linuxcool.zip

示例2: 
使用zipnote更改files.zip中的注释，首先需要将zipnote的输出捕获到文件中，让我们将输出重定向到名为comments.txt的文件：
[root@linuxcool ~]# zipnote files.zip> comments.txt

示例3: 
使用-w参数，从stdin向zipfile写入注释：
[root@linuxcool ~]# zipnote -w files.zip < comments.txt


command_name: emacs
chinese_name: emacs命令 – 功能强大的文本编辑器
description: emacs命令是由GNU组织的创始人Richard Stallman开发的一个功能强大的全屏文本编辑器，它支持多种编程语言，具有很多优良的特性。有众多的系统管理员和软件开发者使用emacs。
syntax: emacs [参数]
category: 文件管理(file)
parameters:
|-q: 启动emacs编辑器，而不加载初始化文件 |
|-u: 启动emacs编辑器时，加载指定用户的初始化文件 |
|-l: 加载指定的lisp代码文件 |
|-batch: 以批处理模式运行emacs编辑器 |

examples:
示例1: 
退出Emacs：
[root@linuxcool ~]# C-x C-c

示例2: 
关闭当前buffer：
[root@linuxcool ~]# C-x k

示例3: 
切换到前一个编辑的buffer：
[root@linuxcool ~]# C-x b

示例4: 
关闭当前窗：
[root@linuxcool ~]# C-x 0

示例5: 
向前搜索（增量式搜索）；连续C-s，跳到下一个搜索到的目标：
[root@linuxcool ~]# C-s


command_name: chown
chinese_name: chown命令 – 改变文件或目录的用户和用户组
description: chown命令来自英文词组change owner的缩写，其功能是改变文件或目录的用户和用户组信息。管理员可以改变一切文件的所属信息，而普通用户只能改变自己文件的所属信息。
syntax: chown [参数] [所属主:所属组] [文件名]
category: 文件管理(file)
parameters:
|-c: 显示所属变更信息 |
|-f: 若该文件拥有者无法被更改也不显示错误 |
|-h: 仅对链接文件（而非真正指向的文件）进行更改 |
|-P: 不遍历任何符号链接 |
|-R: 递归处理所有子文件 |
|--help: 显示帮助信息 |
|--no-preserve-root: 不特殊对待根目录 |
|--preserve-root: 不允许在根目录上执行递归操作 |
|--version: 显示版本信息 |

examples:
示例1: 
改变指定文件的所属主与所属组：
[root@linuxcool ~]# chown root:root File.txt

示例2: 
改变指定文件的所属主与所属组，并显示过程：
[root@linuxcool ~]# chown -c linuxprobe:linuxprobe /Dir 
changed ownership of '/Dir' from root:root to linuxprobe:linuxprobe

示例3: 
改变指定目录及其内部所有子文件的所属主与所属组：
[root@linuxcool ~]# chown -R root:root /Dir


command_name: mailx
chinese_name: mailx命令 – 发送和接收电子邮件
description: mailx命令的功能是用于发送和接收电子邮件，拥有比mail命令更易读的邮件格式，应用于RHEL /CentOS8版本以后的系统中。
syntax: mailx [参数] [用户名]
category: 文件管理(file)
parameters:
|-a: 添加附件文件 |
|-b: 发送密件副本 |
|-e: 检验是否有邮件系统 |
|-f: 从指定文件中读取消息 |
|-H: 仅显示标题摘要 |
|-r: 设置发件人地址 |
|-s: 设置邮件标题 |
|-u: 读取指定用户的邮箱 |
|-v: 显示执行过程详细信息 |
|-V: 显示版本信息 |

examples:
示例1: 
查看本地接收到的邮件信息：
[root@linuxcool ~]#mailx

示例2: 
发送邮件给本地指定的用户：
[root@linuxcool ~]#mailx linuxprobe

示例3: 
发送邮件给指定的邮箱账户：
[root@linuxcool ~]#mailx root@linuxprobe.com

示例4: 
发送邮件给指定的邮箱账户，内容从指定文件中读取：
[root@linuxcool ~]#mailx -s "This is the title" root@linuxprobe.com < File.txt


command_name: tgz
chinese_name: tgz命令 – 将文件压缩为.tgz格式文件
syntax: tgz 目标文件 原始文件
category: 文件管理(file)
description:
tgz命令来自英文词组“tape archive gunzip”的缩写，其功能适用于将文件压缩为.tgz格式文件。Linux系统管理员们一般会使用tar命令进行压缩或解压工作，但其实.tar.gz和.tgz是完全相同的格式，只是名称不同，因此用那个都是一样的，今后又多了一个选择~

examples:
示例1: 
将指定文件进行压缩操作：
[root@linuxcool ~]#tgz File.tgzFile.cfgWriting gzip'd tar archive to "File.tgz".
File.cfg
Total bytes written: 10240 (10KiB, 8.8MiB/s)
 91.2%
-rw-r--r--. 1 root root 924 Oct 30 15:18 File.tgz


command_name: mysqlimport
chinese_name: mysqlimport命令 – MySQL服务器数据导入
description: mysqlimport命令为MySQL数据库服务器提供了一种命令行方式导入数据工具，它从特定格式的文本文件中读取数据插入MySQL数据库表中。
syntax: mysqlimport [参数]
category: 文件管理(file)
parameters:
|-D: 导入数据前清空表 |
|-f: 出现错误时继续处理剩余的操作 |
|-h: MySQL服务器的ip地址或主机名 |
|-u: 连接MySQL服务器的用户名 |
|-p: 连接MySQL服务器的密码 |

examples:
示例1: 
导入数据库：
[root@linuxcool ~]# mysqlimport -u root --local linuxcool.sql --fields-terminated-by="|"

示例2: 
导入本文到数据库：
[root@linuxcool ~]# [root@linuxcool ~]# mysqlimport -v -u root -p linuxcool_db linuxcool.txt


command_name: groupmems
chinese_name: groupmems命令 – 管理用户主要组群的成员
description: 使用groupmems命令可以管理用户主要组群的成员。
syntax: groupmems [参数]
parameters: |-a: 添加用户为组成员 | |-d: 从组成员中删除用户 | |-l: 列出组群的成员 | |-p: 从组群中清除所有成员 |
category: 文件管理(file)
examples:
示例1: 
设置用户zhangsan的主要组群为root：
[root@linuxcool ~]# groupmems -g root -a zhangsan

示例2: 
列出主要组群的成员：
[root@linuxcool ~]# groupmems -l


command_name: vacuumdb
chinese_name: vacuumdb命令 – 清理并优化PostgreSQL数据库
syntax: vacuumdb [参数] [数据库名]
category: 文件管理(file)
description:
vacuumdb命令的作用是可以清理并优化一个PostgreSQL数据库。
vacuumdb命令也将产生由PostgreSQL查询优化器所使用的内部统计信息。
vacuumdb命令是SQL命令VACUUM的一个包装器。在通过这个工具和其他方法访问服务器来清理和分析数据库之间没有实质性的区别。虽然在新版本的PostgreSQL中有自动的vacuum，但是如果是大批量的数据IO可能会导致自动执行很慢，需要配合手动执行以及自己的脚本来清理数据库。

parameters:
|-a: 清理所有的数据库 |
|-d<数据库名称>: 清理指定的数据库 |
|-e: 显示发送到服务端的命令 |
|-f: 完全清理 |
|-F: 冻结记录的事务信息 |
|-q: 不写任何信息 |
|-t<表名>: 只清理指定的表 |
|-U<用户名>: 指定连接的用户名 |
|-w: 永远不提示输入口令 |
|-W: 强制提示输入口令 |
|-h<主机名>: [数据库]服务器所在主机的主机名或套接字目录 |
|-p<端口号>: 指定数据库服务器端口号 |
|-z: 更新优化器信息 |
|-v: 输出大量的信息 |

examples:
示例1: 
清理所有的数据库：
[root@linuxcool ~]# su - postgres
$ vacuumdb -a

示例2: 
为优化器清理和分析一个名为bigdb的数据库：
[root@linuxcool ~]# su - postgres
$ vacuumdb -z bigdb

示例3: 
清理数据库linuxcool中的table1表：
[root@linuxcool ~]# su - postgres
$ vacuumdb -d linuxcool -t 'table1'


command_name: pssh
chinese_name: pssh命令 – 批量管理执行
syntax: pssh [参数] [文件]
category: 文件管理(file)
description:
pssh是一款开源的软件，使用python实现，用于批量ssh操作大批量机器；pssh是一个可以在多台服务器上执行命令的工具，同时支持拷贝文件，是同类工具中很出色的；比起for循环的做法，我更推荐使用pssh！使用pssh的前提是：必须在本机与其他服务器上配置好密钥认证访问（即ssh信任关系）。

parameters:
|-h: 执行命令的远程主机列表文件 |
|-l: 远程机器的用户名 |
|-p: 一次最大允许多少连接 |
|-A: 提示输入密码并且把密码传递给ssh（注意这个参数添加后只是提示作用，随便输入或者不输入直接回车都可以） |
|-O: 设置ssh参数的具体配置，参照ssh_config配置文件 |
|-x: 传递多个SSH [命令]，多个命令用空格分开，用引号括起来 |
|-X: 同-x 但是一次只能传递一个命令 |

examples:
示例1: 
批量执行命令:
[root@linuxcool ~]# pssh -h hosts.txt -l root -i 'uptime'

示例2: 
如果添加-A参数，那么即使提前做了ssh信任关系，还是会提示输入密码:
[root@linuxcool ~]# pssh -h hosts.txt -l root -i -A 'uptime'


command_name: hexdump
chinese_name: hexdump – 以多种进制格式查看文件内容
syntax: hexdump [参数] [文件]
category: 文件管理(file)
description:
hexdump命令来自英文词组hexadecimal dump的缩写，其功能是以多种进制格式查看文件内容。hexdump命令是Linux系统中一款好用的文件内容查看工具，可以将文件内容转换成ASCII、二进制、八进制、十进制、十六进制格式进行查看，满足各种需求。

parameters:
|-b: 使用八进制显示 |
|-c: 使用单字节字符显示 |
|-C: 使用十六进制和ASCII码显示 |
|-d: 使用双字节十进制显示 |
|-e: 设置字符串格式 |
|-o: 使用双字节八进制显示 |
|-s: 从偏移量开始输出 |
|-v: 显示所有输入数据 |
|-x: 使用双字节十六进制显示 |

examples:
示例1: 
以十六进制格式查看指定文件的内容：
[root@linuxcool ~]# hexdump File.cfg 
0000000 7623 7265 6973 6e6f 523d 4548 384c 690a 
0000010 6e67 726f 6465 7369 206b 2d2d 6e6f 796c 
0000020 752d 6573 733d 6164 610a 7475 706f 7261 
0000030 2074 2d2d 7974 6570 6c3d 6d76 230a 5020 
0000040 7261 6974 6974 6e6f 6320 656c 7261 6e69 
0000050 2067 6e69 6f66 6d72 7461 6f69 0a6e 6c63 
………………省略部分输出信息………………

示例2: 
以十六进制和ASCII格式查看指定文件的内容：
[root@linuxcool ~]# hexdump -C File.cfg 
00000000 23 76 65 72 73 69 6f 6e 3d 52 48 45 4c 38 0a 69 |#version=RHEL8.i| 
00000010 67 6e 6f 72 65 64 69 73 6b 20 2d 2d 6f 6e 6c 79 |gnoredisk --only| 
00000020 2d 75 73 65 3d 73 64 61 0a 61 75 74 6f 70 61 72 |-use=sda.autopar| 
00000030 74 20 2d 2d 74 79 70 65 3d 6c 76 6d 0a 23 20 50 |t --type=lvm.# P| 
00000040 61 72 74 69 74 69 6f 6e 20 63 6c 65 61 72 69 6e |artition clearin| 
………………省略部分输出信息………………

示例3: 
以十进制格式查看指定文件的内容：
[root@linuxcool ~]# hexdump -d File.cfg 
0000000  30243  29285  26995  28271  21053  17736  14412  26890 
0000010  28263  29295  25701  29545  08299  11565  28271  31084 
0000020  29997  25971  29501  24932  24842  29813  28783  29281 
0000030  08308  11565  31092  25968  27709  28022  08970  20512 
0000040  29281  26996  26996  28271  25376  25964  29281  28265
………………省略部分输出信息………………


command_name: tar
chinese_name: tar命令 – 压缩和解压缩文件
syntax: tar [参数] [压缩包名] [文件或目录名]
category: 文件管理(file)
description:
tar命令的功能是压缩和解压缩文件，能够制作出Linux系统中常见的tar、tar.gz、tar.bz2等格式的压缩包文件。对于RHEL 7、CentOS7版本及以后的系统，解压缩时不添加格式参数（如z或j），系统也能自动进行分析并解压。把要传输的文件先压缩再传输，能够很好地提高工作效率，方便分享。

parameters:
|-A: 添加文件到已存在的压缩包 |
|-B: 设置区块大小 |
|-c: 创建新的压缩 |
|-C: 解压缩到指定目录 |
|-d: 记录文件的差别 |
|-f: 指定压缩包文件 |
|-j: 使用bzip2压缩格式 |
|-l: 设置文件系统边界 |
|-m: 保护文件不被覆盖 |
|-N: 只将较新日期的文件保存到压缩包中 |
|-P: 使用绝对路径 |
|-t: 显示压缩包的内容 |
|-u: 更新压缩包内的文件 |
|-v: 显示执行过程详细信息 |
|-w: 确认压缩包的完整性 |
|-x: 从压缩包内提取文件 |
|-z: 使用gzip压缩格式 |
|--exclude: 排除指定的文件不压缩 |
|--remove-files: 操作完成后删除源文件 |

examples:
示例1: 
使用gzip压缩格式对指定目录进行打包操作，显示压缩过程，压缩包规范后缀为.tar.gz：
[root@linuxcool ~]# tar czvf File.tar.gz /etc 
tar: Removing leading `/' from member names 
/etc/ 
/etc/mtab 
/etc/fstab 
/etc/crypttab 
/etc/resolv.conf 
/etc/dnf/ 
………………省略部分输出信息………………

示例2: 
使用bzip2压缩格式对某个目录进行打包操作，显示压缩过程，压缩包规范后缀为.tar.bz2：
[root@linuxcool ~]# tar cjvf File.tar.bz2 /etc 
tar: Removing leading `/' from member names 
/etc/ 
/etc/mtab 
/etc/fstab 
/etc/crypttab 
/etc/resolv.conf 
/etc/dnf/ /etc/dnf/modules.d/ 
/etc/dnf/modules.d/container-tools.module 
………………省略部分输出信息………………

示例3: 
将当前工作目录内所有以.cfg为后缀的文件打包，不进行压缩：
[root@linuxcool ~]# tar cvf File.tar *.cfg 
anaconda-ks.cfg 
initial-setup-ks.cfg

示例4: 
将当前工作目录内所有以.cfg为后缀的文件打包，不进行压缩，并删除原始文件：
[root@linuxcool ~]# tar cvf File.tar *.cfg --remove-files 
anaconda-ks.cfg 
initial-setup-ks.cfg

示例5: 
解压指定压缩包到当前工作目录：
[root@linuxcool ~]# tar xvf File.tar 
anaconda-ks.cfg 
initial-setup-ks.cfg

示例6: 
解压指定压缩包到/etc目录：
[root@linuxcool ~]# tar xvf File.tar -C /etc 
anaconda-ks.cfg 
initial-setup-ks.cfg

示例7: 
查看某个压缩包内文件信息（无须解压）：
[root@linuxcool ~]# tar tvf File.tar 
-rw------- root/root 1256 2023-05-18 08:42 anaconda-ks.cfg 
-rw-r--r-- root/root 1585 2023-05-18 08:43 initial-setup-ks.cfg


command_name: lnewusers
chinese_name: lnewusers命令 – 创建用户账号
description: 使用lnewusers命令可以通过从标准输入中读取数据来创建用户账号。输入的数据每行有7个冒号分隔的字段，需要输入用户名、用户明文密码、用户ID、群组ID、真实姓名、主目录和登录Shell。
syntax: lnewusers [参数]
parameters: |-M: 不创建用户主目录 | |-n: 不创建用户邮件队列文件 |
category: 文件管理(file)
examples:
示例1: 
创建用户zhangsan22：
[root@linuxcool ~]# lnewusers
 zhangsan22:123456:1000:1000:zhangsan:/home/hh:/bin/bash


command_name: gitview
chinese_name: gitview命令 – 查看文件内容
description: gitview的命令全称为“gnu interactie tools viewer”。该命令用于查看文件内容。 当使用gitview命令查看文件内容时，会同时显示十六进制和ASCII格式的字符。
syntax: gitview [参数]
category: 文件管理(file)
parameters:
|-b: 单色模式，不使用ANSI控制码显示彩色 |
|-c: 彩色模式，使用ANSI控制码显示色彩 |
|-i: 显示存放gitview程序的所在位置 |
|-l: 不使用先前的显示字符 |
|-h: 显示帮助信息 |

examples:
示例1: 
以彩色模式观看指定文件中的内容：
[root@linuxcool ~]# gitview -c /home/linuxcool/file.txt

示例2: 
以单色模式观看指定文件中的内容：
[root@linuxcool ~]# gitview -b /home/linuxcool/file.txt

示例3: 
显示存放gitview程序的所在位置：
[root@linuxcool ~]# gitview -i


command_name: more
chinese_name: more命令 – 分页显示文本文件内容
syntax: more [参数] [文件名]
category: 文件管理(file)
description:
more命令的功能是分页显示文本文件的内容。如果文本文件中的内容较多较长，使用cat命令读取后则很难看清，这时使用more命令进行分页查看就比较合适了，该命令可以把文本内容一页一页地显示在终端界面上，用户每按一次Enter键即向下一行，每按一次空格键即向下一页，直至看完为止。

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

examples:
示例1: 
分页显示指定的文本文件内容：
[root@linuxcool ~]# more File.cfg 
#version=RHEL8 
ignoredisk --only-use=sda 
autopart --type=lvm 
# Partition clearing information 
clearpart --none --initlabel 
# Use graphical install graphical 
# Use CDROM installation media 
cdrom 
………………省略部分输出信息………………

示例2: 
先进行清屏操作，随后以每次10行内容的格式显示指定的文本文件内容：
[root@linuxcool ~]# more -c -10 File.cfg
 #version=RHEL8 
ignoredisk --only-use=sda 
autopart --type=lvm 
# Partition clearing information 
clearpart --none --initlabel 
# Use graphical install 
graphical repo --name="AppStream" --baseurl=file:///run/install/repo/AppStream
# Use CDROM installation media 
cdrom 
--More--(20%)

示例3: 
分页显示指定的文本文件内容，若遇到连续两行及以上空白行的情况，则以一行空白行显示：
[root@linuxcool ~]# more -s File.cfg 
#version=RHEL8 
ignoredisk --only-use=sda 
autopart --type=lvm 
# Partition clearing information 
clearpart --none --initlabel 
# Use graphical install graphical 
# Use CDROM installation media 
cdrom 
………………省略输出信息………………

示例4: 
从第10行开始，分页显示指定的文本文件内容：
[root@linuxcool ~]# more +10 File.cfg 
cdrom 
# Keyboard layouts 
keyboard --vckeymap=us --xlayouts='us' 
# System language 
lang en_US.UTF-8 

# Network information 
network --bootproto=static --device=ens160 --ip=192.168.10.10 --netmask=255.255.255.0 --onboot=off --ipv6=auto --activate 
network --hostname=linuxcool.com 
# Root password
………………省略部分输出信息………………


command_name: rcp
chinese_name: rcp命令 – 远程文件复制
syntax: rcp [参数] [目录]
category: 文件管理(file)
description:
rcp命令的英文是“remote file copy”，即远程文件复制，可以使在两台Linux主机之间的文件复制操作更简单。通过适当的配置，在两台Linux主机之间复制文件而无需输入密码，就像本地文件复制一样简单。
rcp指令用在远端复制文件或目录，如同时指定两个以上的文件或目录，且最后的目的地是一个已经存在的目录，则它会把前面指定的所有文件或目录复制到该目录中。
rcp命令默认系统没有安装，需要安装rsh和rsh-server这2个库，通过配置实现网络文件复制。

parameters:
|-p: 保留源文件或目录的属性，包括拥有者，所属群组，权限与时间 |
|-r: 递归处理，将指定目录下的文件与子目录一并处理 |
|-x: 加密两台Linux主机间传送的所有信息 |
|-D: 指定远程服务器的端口号 |

examples:
示例1: 
将当前目录下test1复制到远程系统：
[root@linuxcool ~]# rcp test1 192.168.10.10:/home/test1

示例2: 
复制远程主机文件到本地：
[root@linuxcool ~]# rcp root@192.168.10.10:./test2 test2


command_name: setenv
chinese_name: setenv命令 – 设置与显示系统环境变量信息
syntax: setenv [参数] [变量名]
parameters: |ENVVAR: 要设置的环境变量名 |
category: 文件管理(file)
description:
setenv命令来自英文词组set environment variable的缩写，其功能是设置与显示系统环境变量信息。设置的环境变量如需永久生效，需要将其写入/etc/profile或/etc/bashrc文件。

examples:
示例1: 
显示当前系统中全部的环境变量信息：
[root@linuxcool ~]# setenv 
XDG_MENU_PREFIX=gnome- 
LANG=en_US.UTF-8 
GDM_LANG=en_US.UTF-8 
HISTCONTROL=ignoredups 
DISPLAY=:0 
HOSTNAME=linuxcool.com 
COLORTERM=truecolor 
USERNAME=root 
XDG_VTNR=2 
………………省略部分输出信息………………

示例2: 
设置一个新的系统环境变量信息：
[root@linuxcool ~]# setenv WEBSITE linuxcool.com


command_name: aptitude
chinese_name: aptitude命令 – 管理APT软件包
syntax: aptitude [参数] [软件包名]
category: 文件管理(file)
description:
aptitude命令的功能是用于管理APT软件包，是DebianLinux及其衍生系统中功能强大的包管理工具。与apt-get命令相似，但对于处理依赖软件包来讲效果更好，例如使用aptitude移除某个软件包时，会同时删除其本身所依赖的其他包，不会残留无用的软件包，使整个系统更加干净。

parameters:
|-d: 仅下载软件包 |
|-D: 显示安装包的依赖关系信息 |
|-f: 修复损坏的软件包 |
|-F: 设置搜索结果的格式 |
|-h: 显示帮助信息 |
|-i: 运行时执行安装操作 |
|-O: 设置如何排列显示搜索结果 |
|-p: 每一步操作都要求确认 |
|-q: 不显示进度条 |
|-u: 启动时下载新的软件包列表 |
|-v: 显示版本信息 |
|-V: 显示软件包的版本信息 |
|-w: 设置搜索结果的格式宽度 |
|-y: 所有询问均回答自动yes |
|-Z: 显示每个软件包的安装尺寸变化 |

examples:
示例1: 
更新系统中全部软件包：
[root@linuxcool ~]#aptitude update

示例2: 
执行一次安全的升级：
[root@linuxcool ~]#aptitude safe-upgrade

示例3: 
安装指定名称的软件及其相关包：
[root@linuxcool ~]#aptitude install Package_name

示例4: 
删除指定名称的软件包及其配置文件：
[root@linuxcool ~]#aptitude purge Package_name

示例5: 
删除已下载的软件包缓存文件：
[root@linuxcool ~]#aptitude clean

示例6: 
搜索指定名称的软件包：
[root@linuxcool ~]#aptitude search package_name


command_name: od
chinese_name: od命令 – 输出文件内容
description: od命令会读取所给予的文件的内容，并将其内容以八进制字码呈现出来。
syntax: od [参数]
category: 文件管理(file)
parameters:
|-a: 此参数的效果和同时指定”-ta”参数相同 |
|-A: 选择要以何种基数计算字码 |
|-b: 此参数的效果和同时指定”-toC”参数相同 |
|-c: 此参数的效果和同时指定”-tC”参数相同 |
|-d: 此参数的效果和同时指定”-tu2″参数相同 |
|-f: 此参数的效果和同时指定”-tfF”参数相同 |
|-h: 此参数的效果和同时指定”-tx2″参数相同 |
|-i: 此参数的效果和同时指定”-td2″参数相同 |
|-j<字符数目>: 略过设置的字符数目 |
|-l: 此参数的效果和同时指定”-td4″参数相同 |
|-N<字符数目>: 到设置的字符数目为止 |
|-o: 此参数的效果和同时指定”-to2″参数相同 |
|-s<字符串字符数>: 只显示符合指定的字符数目的字符串 |
|-t<输出格式>: 设置输出格式 |
|-v: 输出时不省略重复的数据 |
|-w<每列字符数>: 设置每列的最大字符数 |
|-x: 此参数的效果和同时指定”-h”参数相同 |
|--help: 查看帮助信息 |
|--version: 显示版本信息 |

examples:
示例1: 
创建 tmp [文件]：
[root@linuxcool ~]# echo abcdef g > tmp
[root@linuxcool ~]# cat tmp

示例2: 
使用 od [命令]：
[root@linuxcool ~]# od -b tmp

示例3: 
使用单字节八进制解释进行输出，注意左侧的默认地址格式为八字节：
[root@linuxcool ~]# od -c tmp

示例4: 
使用ASCII码进行输出，注意其中包括转义字符：
[root@linuxcool ~]# od -t d1 tmp

示例5: 
使用单字节十进制进行解释：
[root@linuxcool ~]# od -A d -c tmp


command_name: install
chinese_name: install命令 – 复制文件和设置权限属性
syntax: install [参数] [源文件名] [目标文件名]
category: 文件管理(file)
description:
install命令来自英文单词“安装”，但单词含义与功能无任何关联，其功能是用于复制文件和设置权限属性。使用install命令能够在复制文件的同时设置所有权和权限模式，一次性完成cp和chmod两条命令的工作内容。

parameters:
|-c: 比较源文件和目标文件 |
|-d: 将所有参数视为目标名称 |
|-D: 递归处理所有子文件 |
|-g: 设置所属组 |
|-m: 设置权限属性 |
|-o: 设置所属用户 |
|-p: 同步源文件和目标文件的访问和修改时间 |
|-s: 拆解二进制程序文件 |
|-S: 覆盖常用备份文件后缀 |
|-t: 将源文件所有参数复制到指定目录 |
|-T: 将目标文件视为普通文件 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 |

examples:
示例1: 
创建指定名称的新目录：
[root@linuxcool ~]#install -d /home/Dir

示例2: 
复制文件到目录中：
[root@linuxcool ~]#install File.cfg /home/Dir

示例3: 
复制文件到目录中，并设置权限属性：
[root@linuxcool ~]#install -m 644 File.cfg /home/Dir

示例4: 
复制文件并设置所属用户及用户组：
[root@linuxcool ~]#install -o linuxcool -g linuxcool File1.cfg File2.cfg

示例5: 
复制文件到不存在的目录中，自动创建它：
[root@linuxcool ~]#install -D File.cfg /home/Dir


command_name: cat
chinese_name: cat命令 – 在终端设备上显示文件内容
syntax: cat [参数] [文件名]
category: 文件管理(file)
description:
cat命令来自英文词组concatenate files and print的缩写，其功能是在终端设备上显示文件内容。在Linux系统中有很多用于查看文件内容的命令，例如more、tail、head等，每个命令都有各自的特点。cat命令适合查看内容较少的纯文本文件。 对于内容较多的文件，使用cat命令查看后会在屏幕上快速滚屏，用户往往看不清所显示的具体内容，只好按Ctrl+C组合键中断命令执行，所以对于大文件，干脆用more命令‍显示吧。

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

examples:
示例1: 
查看指定文件的内容：
[root@linuxcool ~]# cat anaconda-ks.cfg 
#version=RHEL8 
ignoredisk --only-use=sda 
autopart --type=lvm 
# Partition clearing information 
………………省略部分输出信息………………

示例2: 
查看指定文件的内容并显示行号：
[root@linuxcool ~]# cat -n anaconda-ks.cfg 
     1 #version=RHEL8 
     2 ignoredisk --only-use=sda 
     3 autopart --type=lvm
     4 # Partition clearing information 
     5 clearpart --none --initlabel 
     6 # Use graphical install
 ………省略部分输出信息………

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

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

示例5: 
搭配输出重定向操作符，将光盘设备制作成镜像文件：
[root@linuxcool ~]# cat /dev/cdrom > rhel.iso 
[root@linuxcool ~]# ls rhel.iso -lh 
-rw-r--r--. 1 root root 6.7G May 2 00:43 rhel.iso
[root@linuxcool ~]# file rhel.iso 
rhel.iso: DOS/MBR boot sector; partition 2 : ID=0xef, start-CHS (0x3ff,254,63), end-CHS (0x3ff,254,63), startsector 23128, 19888 sectors


command_name: zipdetails
chinese_name: zipdetails命令 – 显示zip文件的内部结构
syntax: zipdetails [参数]
parameters: |-v: 详细输出更多内容 |
category: 文件管理(file)
description:
zipdetails命令将向你显示详细信息：有关压缩文件的详细信息，可能比你想象的要多得多。即使我们正在查看一个加密的文件，zipdetails 也会显示文件名以及文件修改日期、用户和组信息、文件长度数据等。请记住，这都是“元数据”。

examples:
示例1: 
使用zipdetails命令来显示linuxcool.zip文件的内部结构：
[root@linuxcool ~]# zipdetails linuxcool.zip

示例2: 
使用-v参数详细的输出更多内容：
[root@linuxcool ~]# zipdetails -v securecrt_39196.zip


command_name: vncviewer
chinese_name: vncviewer命令 – 连接VNC服务器
syntax: vncviewer [参数] 主机地址:端口
category: 文件管理(file)
description:
vncviewer命令来自英文词组“VNC viewer”的拼写，中文译为“VNC查看器”，其功能是用于连接VNC服务器。VNC全称为“Virtual Network Console”，是一种虚拟网络控制台协议，也是著名的AT&T公司研发的一款远程控制软件的名字。其中vncviewer命令则是连接VNC协议的客户端，输入正确的目标主机地址及端口号后即可进行图形化的远程控制，弥补了SSH协议只能命令行文字控制的遗憾。

parameters:
|-display: 设置应显示VNC画面的窗口 |
|-geometry: 设置位置和尺寸规格 |
|-listen: 使用反向连接模式 |
|-passwd: 设置密码文件路径 |
|-Shared: 与其他人共享桌面 |

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

示例2: 
使用特定端口号（5901）连接远程指定目标服务器：
[root@linuxcool ~]#vncviewer 192.168.10.10:5901

示例3: 
通过加载密码文件的方式（/root/vncpasswd）连接远程指定目标服务器：
[root@linuxcool ~]#vncviewer -passwd /root/vncpasswd 192.168.10.10


command_name: less
chinese_name: less命令 – 分页显示文件内容
syntax: less [参数] [文件名]
category: 文件管理(file)
description:
less命令的功能是分页显示文件内容。Less命令分页显示的功能与more命令很相像，但more命令只能从前向后浏览文件内容，而less命令不仅能从前向后浏览（按PageDown键），还可以从后向前浏览（按PageUp键），更加灵‍活。

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

examples:
示例1: 
分页查看指定文件的内容：
[root@linuxcool ~]# less File.cfg

示例2: 
分页查看指定文件的内容及行号：
[root@linuxcool ~]# less -N File.cfg

示例3: 
分页显示指定命令的输出结果：
[root@linuxcool ~]# history | less


command_name: bsdtar
chinese_name: bsdtar命令 – 读取和写入磁带存档文件
syntax: bsdtar [参数]
parameters: |-c: 创建一个档案 | |-f archive-filename: 档案文件的名称 | |-t: 列出档案的内容 | |-x: 提取档案的内容 |
category: 文件管理(file)
description:
bsdtar创建和操作流式档案文件， 这个实现可以从tar、pax、cpio、zip、jar、ar、xar、rpm、7-zip和ISO 9660 cdrom镜像中提取，并且可以创建tar、pax、cpio、ar、zip、7-zip和shar存档。

examples:
示例1: 
列出档案的文件名称和内容：
[root@linuxcool ~]# bsdtar -tf archive-filename

示例2: 
提取档案的内容：
[root@linuxcool ~]# bsdtar -xf archive-filename

示例3: 
创建一个档案：
[root@linuxcool ~]# bsdtar -cf archive-filename


command_name: rpmverify
chinese_name: rpmverify命令 – 验证已安装的RPM软件包的正确性
description: rpmverify命令用来验证已安装的rpm软件包的正确性。
syntax: rpmverify [参数]
parameters: |-Va: 验证所有软件包 | |-Vf: 验证指定软件包 | |--nomd5: 不验证软件包的md5摘要 |
category: 文件管理(file)
examples:
示例1: 
验证所有软件包：
[root@linuxcool ~]# rpmverify -Va

示例2: 
改变软件包权限：
[root@linuxcool ~]# rpmverify -Vf /bin/touch 
[root@linuxcool ~]# rpm -qf /bin/touch
coreutils-8.4-43.el6.x86_64  
[root@linuxcool ~]# vim /bin/touch  
[root@linuxcool ~]# ll -h /bin/touch 
-rwxr-xr-x. 1 root root 47K May 11  2016 /bin/touch  
[root@linuxcool ~]# chmod 777 /bin/touch  
[root@linuxcool ~]# ll -h /bin/touch 
-rwxrwxrwx. 1 root root 47K May 11  2016 /bin/touch
[root@linuxcool ~]# rpmverify -Vf /bin/touch
.M.......    /bin/touch

示例3: 
如果恢复权限后:
[root@linuxcool ~]# chmod 755 /bin/touch 
[root@linuxcool ~]# ll -h /bin/touch
-rwxr-xr-x. 1 root root 47K May 11  2016 /bin/touch   
[root@linuxcool ~]# rpmverify -Vf /bin/touch

示例4: 
如果编辑一个文件,并增加内容,如果修改过来,修改时间就会变化:
[root@linuxcool ~]# rpmverify -Vf /etc/ssh/sshd_config #增加内容
S.5....T.  c /etc/ssh/sshd_config  
[root@linuxcool ~]# vim /etc/ssh/sshd_config  #去掉增加内容
[root@linuxcool ~]# rpmverify -Vf /etc/ssh/sshd_config  
.......T.  c /etc/ssh/sshd_config

示例5: 
不验证软件包的md5摘要:
[root@linuxcool ~]# rpmverify --nomd5 -Vf /bin/touch


command_name: cmp
chinese_name: cmp命令 – 比较两个文件是否有差异
syntax: cmp [参数] [文件] [文件]
category: 文件管理(file)
description:
cmp命令有用于比较两个任意类型的文件，若两个文件相同则默认不输出任何信息，若两个文件不同，则会输出第一个不同之处的字符和列数编号，结果输出到标准输出。
若不指定任何文件名称或是所给予的文件名为”-“，则cmp命令会从标准输入设备读取数据。

parameters:
|--help: 显示帮助 |
|-v/--version: 显示版本信息 |
|-s/--quit/--silent: 不显示错误信息 |
|-l/--verbose: 标示出所有不一样的地方 |
|-i/--ignore-initial: 指定一个数目 |
|-c/--print-chars: 除了标明差异处的十进制字码之外，一并显示该字符所对应字符 |

examples:
示例1: 
比较文件“tempfile”和“tempfile1”(两文件相同时，不显示任何信息，两文件不同时)：
[root@linuxcool ~]# cmp tempfile tempfile1tempfile tempfile1 differ：byte 1, line 1

示例2: 
比较文件“tempfile”和“tempfile1” ，不显示错误信息：
[root@linuxcool ~]# cmp -s tempfile tempfile1

示例3: 
比较文件“tempfile”和“tempfile1”，标示出所有不一样的地方：
[root@linuxcool ~]# cmp -l tempfile tempfile11 12 1512 151 1678 167 12cmp: EOF on tempfole1 after byte8

示例4: 
比较文件“tempfile”和“tempfile1” ，指定一个数目：
[root@linuxcool ~]# cmp -i 2 tempfile tempfile1tempfile tempfile1 differ：byte 6, line 1

示例5: 
比较文件“tempfile”和“tempfile1” ,  除了标明差异处的十进制字码之外，一并显示该字符所对应字符：
[root@linuxcool ~]# cmp -c tempfile tempfile1tempfile tempfile1 differ：byte 1, line 1 is 12 'J 151 i


command_name: unrar
chinese_name: unrar命令 – 解压提取RAR压缩文件
description: unrar命令来自英文词组unzip rar的缩写，其功能是解压提取RAR压缩文件。该命令轻松解压来自Windows系统的rar压缩包文件。若有zip压缩包文件需要解压，使用unzip命令即可。
syntax: unrar [参数] [压缩包]
category: 文件管理(file)
parameters:
|e: 将文件解压缩到当前目录 |
|l: 显示文件列表 |
|p: 将文件显示到标准输出 |
|t: 测试压缩包文件完整性 |
|v: 显示执行过程详细信息 |
|x: 使用完整路径提取文件 |
|o+: 覆盖现有文件 |
|p: 设置压缩包密码 |
|r: 递归处理所有子文件 |
|u: 更新指定文件 |
|x: 排除指定文件 |
|y: 所有询问均回答yes |

examples:
示例1: 
以完整路径解压指定压缩包文件：
[root@linuxcool ~]# unrar x File.rar

示例2: 
查看指定压缩包内的文件信息：
[root@linuxcool ~]# unrar l File.rar

示例3: 
测试指定压缩包内文件是否损坏，能够正常解压：
[root@linuxcool ~]# unrar t File.rar

示例4: 
解压指定压缩包内的文件到当前工作目录：
[root@linuxcool ~]# unrar e File.rar


command_name: swapoff
chinese_name: swapoff命令 – 关闭SWAP交换分区
syntax: swapoff [参数] [设备名]
parameters: |-a: 关闭“/etc/fstab”文件中全部SWAP设备 | |-h: 显示帮助信息 | |-L: 指定设备卷标 | |-U: 指定设备UUID | |-V: 显示版本信息 |
category: 文件管理(file)
description:
swapoff命令来自英文词组“SWAP off”的缩写，其功能是用于关闭SWAP交换分区。SWAP交换分区是一种在服务器物理内存不够的情况下，将内存中暂时不用的数据临时存放到硬盘空间的一种技术，目的是让物理内存一直保持高效，总是在处理重要数据。与Windows系统中pagefile.sys虚拟内存文件的作用一样。
swapoff命令用于关闭Linux系统中的指定SWAP交换分区，与swapon命令功能相反，但都是仅当前生效，要想永久地启用或关闭指定交换分区设备，要记得修改/etc/fstab文件哦~

examples:
示例1: 
关闭指定的交换分区设备：
[root@linuxcool ~]#swapoff /dev/sda

示例2: 
关闭指定的交换分区文件：
[root@linuxcool ~]#swapoff /swapfile


command_name: manpath
chinese_name: manpath命令 – 查看man手册页的查询路径
description: 使用manpath命令可以查看和设置man手册页的查询路径。
syntax: manpath [参数] [名称]
parameters: |-a: 找到所有匹配的条目 | |-c: 不使用cat文件 | |-d: 显示调试信息的采空区 | |-w: 类似于-w选项，但是只显示文件名 |
category: 文件管理(file)
examples:
示例1: 
查看man手册页的查询路径：
[root@linuxcool ~]# manpath

示例2: 
设置man手册页的查询路径为/home目录：
[root@linuxcool ~]# manpath -M /home


command_name: mktemp
chinese_name: mktemp命令 – 建立暂存文件
syntax: mktemp [参数] [文件]
parameters: |-q: 执行时若发生错误，不会显示任何信息 | |-u: 暂存文件会在mktemp结束前先行删除 |
category: 文件管理(file)
description:
mktemp用来建立暂存文件，其创建的临时文件是唯一的 ，供shell 使用 。
默认情况下，mktemp会在本地当前目录创建一个临时文件，创建临时文件时只需要创建模板文件，模板可以包含任意的文件名，文件末尾可以根据需要添加n个x。

examples:
示例1: 
生成临时文件，文件名参数应当以”文件名.XXXX”的形式给出 ：
[root@linuxcool ~]# mktemp tmp.xxxx

示例2: 
生成临时目录：
[root@linuxcool ~]# mktemp -d

示例3: 
在指定目录下生成临时文件：
[root@linuxcool ~]# mktemp -d --tmpdir=/home abc.XXX

示例4: 
自定义文件模板，并且生成在系统目录下：
[root@linuxcool ~]# mktemp -t abc.XXXXXX

示例5: 
自定义文件模板，并且生成在系统目录下， 执行时若发生错误，不会显示任何信息 ：
[root@linuxcool ~]# mktemp -t -q abc.XXXXXX


command_name: cut
chinese_name: cut命令 – 按列提取文件内容
description: cut命令的功能是按列提取文件内容。常用的grep命令仅能对关键词进行按行提取过滤，而cut命令则可以根据指定的关键词信息，针对特定的列内容进行过滤。
syntax: cut [参数] [文件名]
category: 文件管理(file)
parameters:
|-b: 以字节为单位进行分割 |
|-c: 以字符为单位进行分割 |
|-d: 设置分隔符 |
|-f: 显示指定字段的内容 |
|--complement: 补足被选择的字节、字符或字段 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 |

examples:
示例1: 
以冒号为间隔符，仅提取指定文件中第一列的内容：
[root@linuxcool ~]# cut -d : -f 1 /etc/passwd 
root 
bin 
daemon 
Adm
lp 
sync 
………………省略部分输出信息………………

示例2: 
仅提取指定文件中每行的前4个字符：
[root@linuxcool ~]# cut -c 1-4 /etc/passwd 
root 
bin: 
daem 
adm: 
lp:x 
sync 
shut 
halt 
mail 
……………省略部分输出信息………………


command_name: mysqlhotcopy
chinese_name: mysqlhotcopy命令 – 备份数据库
syntax: mysqlhotcopy [参数] [数据库名] [./匹配表的正则表达式/] [新数据库名|目录]
parameters: |-u: 指定数据库登录的用户 | |-p: 连接到服务器时使用的密码 | |-h: 以TCP/IP连接到本地服务器的主机名 |
category: 文件管理(file)
description:
使用mysqlhotcopy命令可以进行Mysql数据库备份，它使用FLUSH TABLES、LOCK TABLES和cp或scp来进行数据库备份，这是一种快速备份数据库或表的方法，仅用于备份MyISAM和ARCHIVE表。

examples:
示例1: 
备份数据库www到/root目录下：
[root@linuxcool ~]# mysqlhotcopy www /root

示例2: 
备份数据库www为数据库abc：
[root@linuxcool ~]# mysqlhotcopy www abc

示例3: 
备份主机名zx密码为p的主机的数据库data1到/www目录下
[root@linuxcool ~]# mysqlhotcopy -u zx -p 123 data1 /www


command_name: smbd
chinese_name: smbd命令 – Samba服务器程序
description: smbd为Samba服务器程序，可分享文件与打印机等网络资源供Windows相关的用户端程序存取。
syntax: smbd [参数]
examples: 示例1: 启动Samba服务器： [root@linuxcool ~]# smbd -D
category: 文件管理(file)
parameters:
|-a: 所有的连线记录都会加到记录文件中 |
|-d: 指定记录文件所记载事件的详细程度 |
|-D: 使用此参数时，smbd会以服务程序的方式在后台执行 |
|-h: 显示帮助 |
|-i: 指定NetBIOS名称的范围 |
|-l: 指定记录文件的名称 |
|-o: 每次启动时，会覆盖原有的记录文件 |
|-O: 设置连接槽选项 |
|-p: 设置连接端口编号 |
|-P: 仅用来测试smbd程序的正确性 |
|-s: 指定smbd的设置文件 |


command_name: getfattr
chinese_name: getfattr命令 – 获取文件系统扩展属性信息
syntax: getfattr [参数] [文件名]
category: 文件管理(file)
description:
getfattr命令来自英文词组“get extended attributes of filesystem objects”的缩写，其功能是用于获取文件系统扩展属性信息。这里所提及的文件系统扩展属性，并不是用chattr和lsattr命令设置查看的隐藏权限，而是用setfattr命令设置的，一种完全自定义的扩展属性，使用getfattr命令能够获取指定文件及其关联的一组扩展属性信息。

parameters:
|-d: 显示所有扩展属性值 |
|-e: 设置编码值类型 |
|-h: 不引用符号链接 |
|-m: 包括名称匹配正则表达式模式的属性 |
|-n: 显示已命名的扩展属性值 |
|-P: 跳过所有符号链接 |
|-R: 递归处理所有子文件 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 |

examples:
示例1: 
获取指定文件的所有扩展属性值：
[root@linuxcool ~]#getfattr -d File.cfg

示例2: 
通过匹配正则表达式来获取指定目录下的文件及其扩展属性值：
[root@linuxcool ~]#getfattr -d -m File.* /Dir


command_name: pfctl
chinese_name: pfctl命令 – 配置防火墙策略
syntax: pfctl [参数] [对象]
category: 文件管理(file)
description:
pfctl命令来自英文词组“Packet Filter”的缩写，其功能是用于配置防火墙策略。Packet Filter是Linux系统中的一款TCP/IP流量过滤和网络地址转换的防火墙管理工具，同时也能提供TCP/IP流量的策略控制，实现对网络带宽和数据包的精准控制。

parameters:
|-f: 载入文件 |
|-nf: 解析文件 |
|-Nf: 只载入文件中的NAT规则 |
|-Rf: 只载入文件中的过滤规则 |
|-sa: 显示所有信息 |
|-si: 显示过滤状态和计数 |
|-sn: 显示NAT策略 |
|-sr: 显示过滤规则 |
|-ss: 显示状态表 |

examples:
示例1: 
载入指定的配置文件：
[root@linuxcool ~]#pfctl -f File.conf

示例2: 
显示当前NAT策略信息：
[root@linuxcool ~]#pfctl -sn


command_name: dpkg-query
chinese_name: dpkg-query命令 – 在dpkg数据库中查询软件包
syntax: dpkg-query [参数] [软件包]
category: 文件管理(file)
description:
dpkg-query命令是Debianlinux中软件包的查询工具，它从dpkg软件包数据库中查询并显示软件包的信息。
查询软件包时，软件包的名称支持通配符，如“gcc*”将查询所有以“gcc”开头的软件包。

parameters:
|-l: 列出符合匹配模式的软件包 |
|-s: 查询软件包的状态信息 |
|-L: 显示软件包所安装的文件列表 |
|-S: 从安装的软件包中查询文件 |
|-w: 显示软件包信息 |
|-c: 显示软件包的控制文件路径 |
|-p: 显示软件包的细节 |

examples:
示例1: 
查找文件linuxcool_1在哪个包里安装：
[root@linuxcool ~]# dpkg-query -S linuxcool_1

示例2: 
查看软件包详细信息：
[root@linuxcool ~]# dpkg-query -s gimp

示例3: 
查看软件包安装时安装到系统的文件列表：
[root@linuxcool ~]# dpkg-query -L gimp

示例4: 
列出所有安装的包：
[root@linuxcool ~]# dpkg-query -l


command_name: rz
chinese_name: rz命令 – 基于Zmodem协议上传文件到服务器
syntax: rz [参数] [文件名]
category: 文件管理(file)
description:
rz命令来自英文词组receive Zmodem的缩写，其功能是基于Zmodem协议上传文件到服务器。当我们在使用Xshell、SecureCRT、PuTTY等虚拟终端软件时，可以使用rz命令将本地文件上传到服务器，方法是直接输入rz命令后选择要上传的文件即可。
若您的系统中找不到sz与rz命令，请配置好软件仓库后执行yum install lszrz命令即可。

parameters:
|+: 将收到的数据写入指定文件 |
|-B: 设置缓冲区大小 |
|-C: 允许远程执行命令 |
|-D: 使用测试模式，不保存文件 |
|-e: 转义所有的控制字符 |
|-h: 显示帮助信息 |
|-O: 不读取超时处理代码 |
|-p: 遇到重名的文件不要覆盖 |
|-r: 恢复中断传输 |
|-U: 关闭受限模式 |
|-v: 显示执行过程详细信息 |
|-w: 设置窗口大小 |
|-X: 使用Xmodem协议 |
|-y: 遇到重名的文件直接覆盖 |
|-Z: 使用Zmodem协议 |

examples:
示例1: 
上传指定的文件到服务器：
[root@linuxcool ~]# rz
 …………弹出窗口中选择要上传的文件即可…………

示例2: 
上传指定的文件到服务器，若遇到重名的文件则直接覆盖：
[root@linuxcool ~]# rz -y 
…………弹出窗口中选择要上传的文件即可…………

示例3: 
上传指定的文件到服务器，遇到重名的文件也不要覆盖：
[root@linuxcool ~]# rz -p  
…………弹出窗口中选择要上传的文件即可…………


command_name: nl
chinese_name: nl命令-显示文件内容及行号
description: nl命令来自英文词组“Number of lines”的缩写，其功能是用于显示文件内容及行号，使用nl命令会有类似于“cat -n [文件名]”的效果，除此之外还可以对于显示的行号格式进行深度定制。
syntax: nl [参数] [文件名]
category: 文件管理(file)
parameters:
|-b: 设置行号指定的方式 |
|-f: 设置页脚行数 |
|-h: 设置页眉行数 |
|-i: 设置自动递增值 |
|-l: 设置将N个空行视为一行 |
|-n: 显示行号表示的方式 |
|-p: 在逻辑定界符处不重新开始计算 |
|-s: 在行号后添加字符串 |
|-w: 设置行号栏位的占用位数 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 |

examples:
示例1: 
显示指定文件内容及行号信息：
[root@linuxcool ~]#nl File.cfg1	#version=RHEL8
     2	ignoredisk --only-use=sda
     3	autopart --type=lvm
     4	# Partition clearing information

     5	clearpart --none --initlabel
     6	# Use graphical install
     7	graphical

     8	# Use CDROM installation media
     9	cdrom
……………………省略部分输出信息………………

示例2: 
显示指定文件内容及行号信息，空行也加上行号：
[root@linuxcool ~]#nl -b aFile.cfg1	#version=RHEL8
     2	ignoredisk --only-use=sda
     3	autopart --type=lvm
     4	# Partition clearing information
     5
     6	clearpart --none --initlabel
     7	# Use graphical install
     8	graphical
     9
     10	# Use CDROM installation media
     11	cdrom
……………………省略部分输出信息………………

示例3: 
空行也算一行，并且行号前面自动补0，统一输出格式后显示指定文件内容及行号信息：
[root@linuxcool ~]#nl -b a -n rz File.cfg000001	#version=RHEL8
     000002	ignoredisk --only-use=sda
     000003	autopart --type=lvm
     000004	# Partition clearing information
     000005
     000006	clearpart --none --initlabel
     000007	# Use graphical install
     000008	graphical
     000009
     000010	# Use CDROM installation media
     000011	cdrom
……………………省略部分输出信息………………


command_name: htdigest
chinese_name: htdigest命令 – 管理用户摘要认证文件
syntax: htdigest [参数] [密码文件、域、用户名]
parameters: |-c: 创建密码文件 |
category: 文件管理(file)
description:
htdigest命令是Apache的Web服务器内置工具，用于创建和更新存储用户名、域和用于摘要认证的密码文件。
使用htdigest命令和“.htaccess”文件可以在apache的Web服务器中实现，访问目录时输入密码认证的效果。

examples:
示例1: 
生成用户的摘要认证文件：
[root@linuxcool ~]# htdigest -c /var/www/html/.htdigest test- realmtest
Adding password for realmtest in realm test-.
New password: 
Re-type new password:


command_name: mount-nfs4
chinese_name: mount.nfs4命令 – 挂载NFSv4文件系统
syntax: mount.nfs4 [参数] [挂载对象] [本地目录]
parameters: |-r: 以只读模式挂载文件系统 | |-v: 显示执行过程详细信息 | |-w: 以可读写模式挂载文件系统 |
category: 文件管理(file)
description:
mount.nfs4命令来自英文词组“mount NFSv4”的缩写，其功能是用于挂载NFSv4文件系统。NFS全称为“Network File System”，中文为网络文件系统，是广泛在Linux系统中使用的一种文件共享协议，而mount.nfs4命令则仅针对于NFSv4版本协议进行挂载使用。

examples:
示例1: 
挂载远程主机上指定的NFS共享文件系统到本地：
[root@linuxcool ~]#mount.nfs4 192.168.10.10:/Dir /Dir

示例2: 
以只读的模式挂载远程主机上指定的NFS共享文件系统到本地：
[root@linuxcool ~]#mount.nfs4 -r 192.168.10.10:/Dir/Dir

示例3: 
挂载远程主机上指定的NFS共享文件系统到本地，并显示详细信息：
[root@linuxcool ~]#mount.nfs4 -v 192.168.10.10:/Dir/Dir


command_name: uucico
chinese_name: uucico命令 – 文件传输服务程序
syntax: uucico [参数]
category: 文件管理(file)
description:
uucico命令是UUCP文件传输服务程序。uucico是用来处理uucp或uux送到队列的文件传输工具。uucico有两种工作模式：主动模式和附属模式。当在主动模式下时，uucico会调用远端主机；在附属模式下时，uucico则接受远端主机的调用。

parameters:
|-c或--quiet: 当不执行任何工作时，不要更改记录文件的内容及更新目前的状态 |
|-C或--ifwork: 当有工作要执行时，才调用-s或-S参数所指定主机 |
|-r1: 以主动模式启动 |

examples:
示例1: 
使用主动模式启动uucico服务:
[root@linuxcool ~]# uucico -r1

示例2: 
使用附属模式启动uucico服务:
[root@linuxcool ~]# uucico -r0

示例3: 
指定登入的用户帐号，而不允许输入任意的登入帐号：
[root@linuxcool ~]# uucico -u username

示例4: 
显示版本信息，并且结束程序：
[root@linuxcool ~]# uucico -v

示例5: 
调用指定的主机：
[root@linuxcool ~]# uucico -s 主机名


command_name: ebtables
chinese_name: ebtables命令 – 网络数据包过滤的配置工具
description: ebtables和iptables类似，都是Linux系统下网络数据包过滤的配置工具。既然称之为配置工具，就是说过滤功能是由内核底层提供支持的，这两个工具只是负责制定过滤的rules.
syntax: ebtables [参数]
category: 文件管理(file)
parameters:
|-F: 对所有的规则表的规则链清空 |
|-L: 指明规则表。可加参数，--Lc,--Ln |
|-p: 指明使用的协议类型，ipv4,arp等可选（使用时必选）详情见/etc/ethertypes |
|--ip-proto: IP包的类型，1为ICMP包，6为TCP包，17为UDP包，在/etc/protocols下有详细说明 |
|-t table: 一般为FORWARD链 |
|--ip-src: IP包的源地址 |

examples:
示例1: 
设置转发表默认动作为接受：
[root@linuxcool ~]# ebtables -P FORWARD ACCEPT

示例2: 
查看现有防火墙规则：
[root@linuxcool ~]# ebtables -L

示例3: 
添加eth1入方向原端口为80的丢弃规则：
[root@linuxcool ~]# ebtables -A FORWARD -i eth1 -p ipv4 –p-proto tcp –p-sport 80 -j DROP

示例4: 
清空规则表：
[root@linuxcool ~]# ebtables -F


command_name: mount-nfs
chinese_name: mount.nfs命令 – 挂载网络文件系统
syntax: mount.nfs [参数] [域名或IP地址] [本地目录]
category: 文件管理(file)
description:
mount.nfs命令来自英文词组mount network file system的缩写，其功能是挂载网络文件系统（NFS）。其实从RHEL/CentOS6版本开始，挂载NFS已经可以使用mount命令直接完成了。如果系统版本比较老，NFS版本为v2或v3，则可以用mount.nfs命令来完成挂载操作。

parameters:
|-f: 仅模拟挂载，不实际操作 |
|-h: 显示帮助信息 |
|-n: 不更新/etc/mtab配置文件 |
|-r: 使用只读方式挂载文件系统 |
|-v: 显示详细信息 |
|-V: 显示版本信息 |
|-w: 使用读写方式挂载文件系统 |

examples:
示例1: 
挂载指定的远程NFS服务器共享目录到本地：
[root@linuxcool ~]# mount.nfs 192.168.10.10:/Dir /Dir

示例2: 
以只读方式挂载指定的远程NFS服务器共享目录到本地：
[root@linuxcool ~]# mount.nfs -r 192.168.10.10:/Dir /Dir

示例3: 
以详细信息模式挂载指定的远程NFS服务器共享目录到本地：
[root@linuxcool ~]# mount.nfs -v 192.168.10.10:/Dir /Dir


command_name: gdbserver
chinese_name: gdbserver – 调试远程服务器
description: 使用gdbserver命令可以允许在不同的主机上运行GDB来进行程序调试。
syntax: gdbserver [参数]
parameters: |--debug: 启用一般的调试输出 | |--attach: 指定进程号 |
category: 文件管理(file)
examples:
示例1: 
使用串行端口进行程序调试：
[root@linuxcool ~]# gdbserver /dev/coml emacs gdb.txt

示例2: 
使用TCP连接进行程序调试：
[root@linuxcool ~]# gdbserver host:2345 emacs gdb.txt


command_name: gcov
chinese_name: gcov命令 – 测试代码覆盖率
syntax: gcov [参数] [文件]
examples: 示例1: 显示/root/linuxcool.c文件的代码覆盖信息： [root@linuxcool ~]# gcov /root/linuxcool.c
category: 文件管理(file)
description:
gcov命令是一款测试程序的代码覆盖率的工具。
gcov可以统计每一行代码的执行频率，实际上哪些代码确实被执行了，每一段代码的执行时间。 gcov只在使用GCC编译的代码上工作。它与任何其他概要或测试覆盖机制不兼容。
gcov命令在测试代码覆盖率时，必须使用gcc命令的“-fprofile-arcs”选项和“-ftest-coverage”选项编译C语言文件。

parameters:
|-a: 显示每个基本的信息 |
|-b: 输出包含分支概率 |
|-c: 给出跳转的分支数，而不是百分比 |
|-n: 不创建输出文件 |
|-l: 为包含进来的源文件使用长输出文件名 |
|-f: 输出每个函数的小结信息 |
|-p: 保留所有路径名 |


command_name: pushd
chinese_name: pushd命令 – 添加目录到目录堆栈顶部
description: pushd命令用于更改新目录并（或）压栈，或者把栈里的某个目录推到栈顶。
syntax: pushd [参数]
parameters: |+N: 把正数第N个放到栈顶 | |-N: 把倒数第N个放到栈顶 | |-n: 不切换，只压栈 | |dir: 要推送的目录 |
category: 文件管理(file)
examples:
示例1: 
添加目录到堆栈，改变了当前工作目录:
[root@linuxcool ~]# dirs
~
[root@linuxcool ~]# pushd ~/Desktop
~/Desktop ~

示例2: 
添加目录到堆栈，当前工作目录不变:
[root@linuxcool ~]# dirs
~
[root@linuxcool ~]# pushd -n ~/Desktop
~ ~/Desktop
[root@linuxcool ~]# pushd -n ~/Pictures
~ ~/Pictures ~/Desktop

示例3: 
调整顺序:
[root@linuxcool ~]# pushd +1
~/Pictures ~/Desktop ~
[root@linuxcool ~]# pushd -1
~/Desktop ~ ~/Pictures
[root@linuxcool ~]# pushd
~ ~/Desktop ~/Pictures


command_name: docker
chinese_name: docker命令 – 管理应用容器引擎
description: docker命令的功能是用于管理应用容器引擎，可以让开发者们打包他们的应用以及依赖包到一个可移植的容器中，然后发布到任何主流的Linux系统之上，也可以用于实现虚拟化。
syntax: docker [参数] [对象]
category: 文件管理(file)
parameters:
|ps: 显示状态为运行（Up）的容器 |
|cp: 从容器里向外拷贝文件或目录 |
|kill: 发送信号给容器，默认SIGKILL |
|--name: 指定容器名称 |
|-p: 端口映射 |
|-v: 挂载目录 |

examples:
示例1: 
关闭全部正在运行的容器：
[root@linuxcool ~]#docker kill $(docker ps -q)

示例2: 
删除已经停止的容器：
[root@linuxcool ~]#docker rm `docker ps -a -q`

示例3: 
登陆指定的容器系统中（con01）：
[root@linuxcool ~]#docker exec -it con01 /bin/bash

示例4: 
停止指定的容器系统（con01）：
[root@linuxcool ~]#docker stop con01

示例5: 
启动指定的容器系统（con01）：
[root@linuxcool ~]#docker start con01


command_name: mdeltree
chinese_name: mdeltree命令 – 删除 MSDOS 格式文档及目录
description: mdeltree命令会将所指定的目录与目录之下的所有档案与目录都删除掉。如果所指定的档案或目录不存在，则会传回错误讯息。
syntax: mdeltree [参数]
parameters: |-v: 显示更多的信息 |
category: 文件管理(file)
examples:
示例1: 
删除A磁盘根目录中的 msdosdir 目录及其文件：
[root@linuxcool ~]# mdeltree a:msdosdir

示例2: 
在删除过程中显示删除信息：
[root@linuxcool ~]# mdeltree -v a:msdosdir


command_name: dpkg-deb
chinese_name: dpkg-deb命令 – deb软件包管理器
syntax: dpkg-deb [参数] [文件名]
category: 文件管理(file)
description:
dpkg-deb命令来自英文词组“Debian package”的缩写，其功能是用于管理deb软件包。dpkg-deb命令是DebianLinux系统下的软件包管理工具，相当于红帽系Linux平台的rpm命令，它可以对deb格式的软件包执行打包、解压、查看信息等操作，是Debian和Ubuntu系统中常用命令之一。

parameters:
|-b: 创建软件包 |
|-c: 显示软件包中的文件列表 |
|-e: 将主控信息解压 |
|-f: 显示软件包的字段内容 |
|-i: 安装软件包 |
|-l: 显示软件包的详细信息 |
|-L: 显示软件包的关联文件 |
|-P: 删除软件包及其配置文件 |
|-r: 删除软件包 |
|-R: 提取控制信息和存档的清单文件 |
|-w: 显示软件包的信息 |
|-x: 解压软件包到指定目录 |
|-X: 解压软件包到指定目录并显示过程信息 |

examples:
示例1: 
解压deb格式软件包到指定目录：
[root@linuxcool ~]#dpkg-deb -x File.deb linuxcool

示例2: 
解压deb格式软件包的主控信息文件到指定目录：
[root@linuxcool ~]#dpkg-deb -e File.deb linuxcool/DEBIAN

示例3: 
打包指定的deb格式软件包：
[root@linuxcool ~]#dpkg-deb -b File.deb

示例4: 
查看指定deb软件包内的内容：
[root@linuxcool ~]#dpkg-deb -c File.deb


command_name: mysqladmin
chinese_name: mysqladmin命令 – MySQL服务器客户端管理工具
description: mysqladmin命令是MySQL服务器管理任务的客户端工具，它可以检查MySQL服务器的配置和当前工作状态，创建和删除数据库，创建用户和修改用户密码等操作。
syntax: mysqladmin [参数] [管理命令]
parameters: |-h: MySQL服务器主机名或ip地址 | |-u: 连接MySQL服务器的用户名 | |-p: 连接MySQL服务器的密码 | |-- -help: 显示帮助信息 |
category: 文件管理(file)
examples:
示例1: 
查看服务器当前状态：
[root@linuxcool ~]# mysqladmin  -u root -p status
Enter password: 
Uptime: 26  Threads: 1  Questions: 2  Slow queries: 0  Opens: 67  Flush tables: 1  Open tables: 60  Queries per second avg: 0.076

示例2: 
修改root密码：
[root@linuxcool ~]# mysqladmin -u root -poldpassword password 'linuxcool'

示例3: 
检查mysqlserver是否可用：
[root@linuxcool ~]# mysqladmin -u root -p ping
mysqld is alive

示例4: 
创建新数据库：
[root@linuxcool ~]# mysqladmin -u root -p create mysql_linuxcool


command_name: apmd
chinese_name: apmd命令 – 进阶电源管理服务程序
description: apmd命令用于进阶电源管理服务程序。apmd负责BIOS进阶电源管理(APM)相关的记录，警告与管理工作。
syntax: apmd [参数]
examples: 示例1: 记录所有的电源管理事件： [root@linuxcool ~]# apmd -v 示例2: 设置BIOS时钟： [root@linuxcool ~]# apmd -utc
category: 文件管理(file)
parameters:
|-p: 记录事件百分比变化量的预设值为5，若设置值超过100，则关闭此功能 |
|-u: 将BIOS时钟设为UTC |
|-v: 记录所有的APM事件 |
|-V: 显示版本信息 |
|-w: 当电池不在充电状态时，且电池电量低于设置的百分比值，则在syslog(2)的ALERT层记录警告信息。百分比值的预设置为10，若设置为0，则关闭此功能 |
|-W: 发出警告信息给所有人 |


command_name: bzdiff
chinese_name: bzdiff命令 – 比较两个.bz2压缩包中文件的不同
syntax: bzdiff [参数] [文件1] [文件2]
category: 文件管理(file)
description:
bzdiff命令用于直接比较两个“.bz2”压缩包中文件的不同，省去了解压缩后再调用diff命令的过程。
bzdiff命令本身没有任何的参数选项，但是可以使用diff命令的相关参数，所有的参数将直接传递给diff命令。

parameters:
|-<行数>: 指定要显示多少行的文本。此参数必须与-c或-u参数一并使用 |
|-a: diff预设只会逐行比较文本文件 |
|-b: 不检查空格字符的不同 |
|-c: 显示全部内容，并标出不同之处 |
|-W: 指定输出的列宽，默认130 |
|-x: 不比较选项中所指定的文件或目录 |
|-X: 您可以将文件或目录类型存成文本文件，然后在=<文件>中指定此文本文件 |
|-y: 以并列的方式显示文件的异同之处 |
|--help: 查看帮助信息 |
|--left-column: 在使用-y参数时，若两个文件某一行内容相同，则仅在左侧的栏位显示该行内容 |
|--suppress-common-lines: 在使用-y参数时，仅显示不同之处 |

examples:
示例1: 
比较两个.bz2压缩包中文件的不同：
[root@linuxcool ~]# bzdiff linuxcool.bz2 linuxprobe.bz2

示例2: 
显示全部内容，并标出不同之处：
[root@linuxcool ~]# bzdiff -c linuxcool.bz2 linuxprobe.bz2

示例3: 
以并列的方式显示异同之处：
[root@linuxcool ~]# bzdiff -y linuxcool.bz2 linuxprobe.bz2


command_name: perl
chinese_name: perl命令 – 实用报表提取语言
description: 使用perl命令可以扫描任意文本文件，从这些文本文件中提取信息优化的语言，根据这些信息打印报告。
syntax: perl [参数] [程序文件]
parameters: |-c: 只进行语法检查 | |-e: 可以让Perl程序在命令行上运行 | |-l: 启用行结束处理，指定行结束 |
category: 文件管理(file)
examples:
示例1: 
只对/root/program.pl文件进行语法检查：
[root@linuxcool ~]# perl -c /root/program.pl

示例2: 
让Perl程序在命令行上运行：
[root@linuxcool ~]# perl -e 'print "Hello World\n"' Hello World

示例3: 
让Perl程序在命令行上运行，启用行结束处理：
[root@linuxcool ~]# perl -le 'print "Hello Linux"'


command_name: gcc
chinese_name: gcc命令 – C/C++语言编译器
syntax: gcc [参数] [文件名]
category: 文件管理(file)
description:
gcc命令来自英文词组GNU Compiler Collection的缩写，是C/C++语言编译器。gcc是开源领域使用最广泛的编译工具，具有功能强大、兼容性强、效率高等特点。
编译工作由4个阶段组成：预编译（Preprocessing）、编译（Compilation）、汇编（Assembly）、链接（Linking）。

parameters:
|-B: 将指定目录添加到搜索路径 |
|-c: 仅执行编译，不进行链接操作 |
|-E: 仅执行编译预处理 |
|-l: 设置头文件 |
|-L: 设置链接库 |
|-o: 指定要生成的输出文件 |
|-S: 将C代码转换为汇编代码 |
|--help: 显示帮助信息 |
|--pipe: 使用管道符 |
|--shared: 创建动态共享库 |
|--static: 使用静态链接 |
|--time: 设置每个子流程的执行时间 |
|--version: 显示版本信息 |

examples:
示例1: 
编译指定的源码文件：
[root@linuxcool ~]# gcc File.c

示例2: 
编译指定的源码文件，并生成可执行文件：
[root@linuxcool ~]# gcc File.c -o linux

示例3: 
对指定的源码文件进行预处理：
[root@linuxcool ~]# gcc -E File.c -o linux.i

示例4: 
对预处理后的指定文件进行汇编操作：
[root@linuxcool ~]# gcc -S File.i -o linux.s

示例5: 
对汇编处理后的指定文件进行编译操作：
[root@linuxcool ~]# gcc -c File.s -o linux.o

示例6: 
对编译处理后的指定文件进行链接操作：
[root@linuxcool ~]# gcc File.o -o linux


command_name: diff
chinese_name: diff命令 – 比较文件内容差异
description: diff命令来自英文单词different的缩写，其功能是比较文件内容的差异。如果有多个内容相近的文件，如何快速定位到不同内容所在位置呢？此时用diff命令就再合适不过了！
syntax: diff [参数] [文件名1] [文件名2]
category: 文件管理(file)
parameters:
|-a: 逐行比较文本文件内容 |
|-b: 不检查空格字符的不同 |
|-d: 尽力找到一组较小的更改 |
|-E: 忽略由于选项卡扩展而引起的更改 |
|-i: 忽略大小写 |
|-N: 将不存在的文件视为空文件 |
|-q: 仅判断两个文件是否不同 |
|-r: 递归处理所有子文件 |
|-t: 将制表符扩展为空格 |
|-w: 忽略所有空白 |
|-x: 不比较指定的文件或目录 |
|-X: 将文件或目录类型存成文本文件 |
|-y: 以并列的方式显示文件的异同之处 |
|--brief: 仅判断两个文件是否不同 |
|--help: 显示帮助信息 |
|--left-column: 若两个文件某一行内容相同，则在左侧列显示 |
|--strip-trailing-cr: 输入时删除尾随的回车符 |
|--suppress-common-lines: 仅显示不同之处，需要与y参数搭配使用 |
|--version: 显示版本信息 |

examples:
示例1: 
仅判断两个文件是否不同：
[root@linuxcool ~]# diff --brief File1.txt File2.txt Files File1.txt and File2.txt differ

示例2: 
比较两个文件内容的不同之处，定位所在行数：
[root@linuxcool ~]# diff -c File1.txt File2.txt 
*** File1.txt 2023-08-30 18:07:45.230864626 +0800 
--- File2.txt 2023-08-30 18:08:52.203860389 +0800 
*************** 
*** 1,5 ****
 ! Welcome to linuxprobe.com 
Red Hat certified 
! Free Linux Lessons 
Professional guidance 
Linux Course 
--- 1,7 ---- 
! Welcome tooo linuxprobe.com 
!
Red Hat certified 
! Free Linux LeSSonS 
! ////////.....//////// 
Professional guidance 
Linux Course


command_name: vim
chinese_name: vim命令 – 文本编辑器
syntax: vim [参数] [文件名]
category: 文件管理(file)
description:
vim命令的功能是编辑文本内容，是Linux系统字符界面下最常用的文本编辑工具，能够编辑任何的ASCII格式的文件，可对内容进行创建、查找、替换、修改、删除、复制、粘贴等操作。编写文件时，无须担心目标文件是否存在，若不存在则会自动在内存中创建，并随保存操作输出到硬盘中。
由于深入学习vi/vim编辑器的难度较大，无法通过单一词条为读者讲透，如想熟练使用请参阅《Linux就该这么学》第四章4.1小节。

parameters:
|-b: 使用二进制模式 |
|-c: 加载文件后执行指定命令 |
|-e: 使用ex底层编辑模式 |
|-m: 不允许修改内容 |
|-n: 不使用交换分区，强制使用内存 |
|-N: 使用非兼容模式 |
|-o: 打开指定数量的窗口 |
|-p: 打开指定数量的标签页 |
|-r: 显示交换文件 |
|-R: 使用只读模式 |
|--version: 显示版本信息 |
|-s: 静默执行模式 |
|-T: 设置使用指定终端 |
|-u: 强制使用vimrc |
|-v: 使用vi编辑模式 |
|-w: 写入脚本输出文件 |
|-x: 对文件进行加密 |
|-y: 使用简易模式 |
|-Z: 使用受限模式 |
|--help: 显示帮助信息 |
|--noplugin: 不加载插件脚本 |
|+数字: 从指定行开始 |

examples:
示例1: 
创建某个文件，并进行编写操作：
[root@linuxcool ~]# vim File.cfg

示例2: 
打开某个已存在的文件，从第6行开始编写：
[root@linuxcool ~]# vim +6 File.cfg

示例3: 
打开某个已存在的文件，以只读模式进入：
[root@linuxcool ~]# vim -R File.cfg


command_name: readelf
chinese_name: readelf命令 – 显示elf格式文件的信息
syntax: readelf [参数] [文件名]
parameters: |-a: 显示全部信息 | |-h: 显示elf文件开始的文件头信息 | |-S: 显示节头信息 | |-g: 显示节组信息 | |-V: 显示版本段的信息 |
category: 文件管理(file)
description:
readelf命令用来显示一个或者多个elf格式的目标文件的信息，可以通过它的选项来控制显示哪些信息。这里的elf-file(s)就表示那些被检查的文件。可以支持32位，64位的elf格式文件，也支持包含elf文件的文档（这里一般指的是使用ar命令将一些elf文件打包之后生成的例如lib*.a之类的“静态库”文件）。
这个程序和objdump提供的功能类似，但是它显示的信息更为具体，并且它不依赖BFD库(BFD库是一个GNU项目，它的目标就是希望通过一种统一的接口来处理不同的目标文件)，所以即使BFD库有什么bug存在的话也不会影响到readelf程序。
还需注意的是运行readelf的时候，除了-v和-H之外，其它的选项必须有一个被指定。

examples:
示例1: 
读取可执行文件形式的elf文件头信息：
[root@linuxcool ~]# readelf -h main

示例2: 
读取目标文件形式的elf文件头信息：
[root@linuxcool ~]# readelf -h myfile.o

示例3: 
读取静态库文件形式的elf文件头信息：
[root@linuxcool ~]# readelf -h libmy.a

示例4: 
读取动态库文件形式的elf文件头信息：
[root@linuxcool ~]# readelf -h libmy.so

示例5: 
查看可执行的elf文件程序头表信息：
[root@linuxcool ~]# readelf -l main


command_name: md5sum
chinese_name: md5sum命令 – 计算文件内容的MD5值
syntax: md5sum [参数] [文件名]
parameters: |-b: 使用二进制模式 | |-c: 使用已生成的MD5值对文件进行检验 | |-t: 使用文本模式 | |--quiet: 静默执行模式 |
category: 文件管理(file)
description:
md5sum命令来自英文词组MD5 summation的缩写，其功能是计算文件内容的MD5值，进而比较两个文件是否相同。MD5值是一个128位的二进制数据，转换成十六进制则是32位。
用户可以通过此命令对文件内容进行汇总并计算出一个MD5值，如果有某两个文件的MD5值完全相同，则代表两个文件内容完全相同。文件名称不对计算结果产生影响。

examples:
示例1: 
生成文件MD5值：
[root@linuxcool ~]# md5sum File.cfg 
24eefbc43eb4f019c05f478e4378428e File.cfg

示例2: 
以文本模式读取文件内容，并生成MD5值：
[root@linuxcool ~]# md5sum -t File.cfg 
24eefbc43eb4f019c05f478e4378428e File.cfg

示例3: 
以二进制模式读取文件内容，并生成MD5值：
[root@linuxcool ~]# md5sum -b File.cfg 
24eefbc43eb4f019c05f478e4378428e File.cfg


command_name: info
chinese_name: info命令 – 阅读info格式的文件
description: info命令可以阅读info格式的文件，用来查看帮助信息。info文档可以支持链接跳转功能。info文档都存放在/usr/share/info目录中，该目录提供了整个软件包的帮助文档。
syntax: info [参数] [菜单项目]
parameters: |-w: 显示info文档的物理位置 | |-f: 指定要访问的info文件 | |-n: 在首个浏览过info文件中指定节点 | |-O: 跳转至命令行选项节点 |
category: 文件管理(file)
examples:
示例1: 
查看ls命令的info文档：
[root@linuxcool ~]# info ls

示例2: 
显示ls命令info文档的物理位置：
[root@linuxcool ~]# info -w ls


command_name: esxcfg-firewall
chinese_name: esxcfg-firewall命令 – 防火墙设置
syntax: esxcfg-firewall [参数]
parameters: |-h: 查看帮助文档 | |-l: 显示当前的网络配置 |
category: 文件管理(file)
description:
esxcfg命令集分为网络管理类、存储管理类、系统管理类等几种类型，ESX Server防火墙使用内置的iptables，很常用的Linux防火墙。然而使用其他esxcfg工具创建规则，它就是esxcfg-firewall。esxcfg-firewall负责配置ESX主机上的网络防火墙，属于网络管理类。

examples:
示例1: 
显示当前的网络配置：
[root@linuxcool ~]# esxcfg-firewall -l

示例2: 
列出当前节点所有的网络服务：
[root@linuxcool ~]# esxcfg-firewall -s

示例3: 
阻塞特定的服务：
[root@linuxcool ~]# esxcfg-firewall -d

示例4: 
重置服务：
[root@linuxcool ~]# esxcfg-firewall -r

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


command_name: xclip
chinese_name: xclip命令 – 跨窗口复制文字
description: 使用fsview命令方便的管理 X selections 里面内容的工具 。
syntax: xclip [参数]
parameters: |-i: 从 stdin 读入 | |-o: 打印到标准输出 |
category: 文件管理(file)
examples:
示例1: 
剪切板内容输出到文件:
[root@linuxcool ~]# xclip -o > ~/test.txt

示例2: 
剪切板内容输出到终端:
[root@linuxcool ~]# xclip -selection c -o


command_name: named-checkconf
chinese_name: named-checkconf命令 – named配置文件语法检查
syntax: named-checkconf [参数] [文件名]
examples: 示例1: 对named服务程序配置文件进行语法检查： [root@linuxcool ~]#named-checkconf /etc/named.conf
category: 文件管理(file)
description:
named-checkconf命令来自英文词组“named check config”的缩写，其功能是用于named配置文件语法检查。named一定是当今部署DNS协议当之无愧的首选服务程序，但参数众多，难免会稍有纰漏，因此建议在每次启动服务前先执行一遍named-checkconf命令，看看是否有报错，更加安心。

parameters:
|-b: 显示摘要信息 |
|-h: 显示帮助信息 |
|-j: 读取指定区域文件的日志信息 |
|-p: 检查无错误后输出配置文件内容 |
|-t: 切换至指定目录 |
|-v: 显示版本信息 |
|-z: 对主要区域进行负载测试 |


command_name: rndc
chinese_name: rndc命令 – 控制DNS服务器的操作
description: 使用rndc命令可以控制DNS服务器的操作。如果运行rndc命令时没有使用任何选项或参数，那么该命令会显示受支持命令和可用选项及其参数的简短摘要。
syntax: rndc [参数]
parameters: |-s: 指定rndc命令的配置文件中服务器 | |-V: 启动详细的日志记录 | |-p: 发送命令指定TCP端口 |
category: 文件管理(file)
examples:
示例1: 
重新加载配置文件和区域：
[root@linuxcool ~]# rndc reload

示例2: 
显示DNS服务器状态：
[root@linuxcool ~]# rndc status


command_name: mysqld-safe
chinese_name: mysqld_safe命令 – MySQL服务器启动脚本
description: 使用mysqld_safe命令可以启动MySQL服务器。mysqld_safe增加了一些安全功能，比如发生错误时重新启动服务器，并记录运行信息到错误日志文件。
syntax: mysqld_safe [参数]
category: 文件管理(file)
parameters:
|--port: 监听TCP/IP连接时，服务器应该使用的端口号。 |
|--user: 运行mysqld服务器的系统登录用户 |
|--log-error: 写入错误日志到指定文件 |
|--pid-file: [进程ID]文件的路径名 |

examples:
示例1: 
启动MySQL服务器：
[root@linuxcool ~]# mysqld_safe

示例2: 
启动MySQL服务器使用3306:
[root@linuxcool ~]# mysqld_safe --port 3306

示例3: 
指定启动mysql服务器使用的系统登录用户是zx：
[root@linuxcool ~]# mysqld_safe --user zx


command_name: psql
chinese_name: psql命令 – PostgreSQL交互式客户端工具
description: psql是PostgreSQL的交互式客户端工具，通过该工具来管理和操作PostgreSQL数据库。
syntax: psql [参数] [数据库名称] [用户名称]
parameters: |-h: [数据库]服务器主机 | |-p: 指定PostgreSQL数据库服务器的端口，如果不指定则默认是5432 | |-w: 永远不提示输入口令 | |-e: 显示发送给服务器的命令 |
category: 文件管理(file)
examples:
示例1: 
连接到数据库template1，并列出服务器上所有的数据库：
[root@linuxcool ~]# psql template1

示例2: 
进入数据库postgres：
psql -U postgres

示例3: 
进入数据库查看：
psql -U postgres 
\l


command_name: pico
chinese_name: pico命令 – 编辑文字文件
description: pico是个简单易用、以显示导向为主的文字编辑程序，它伴随着处理电子邮件和新闻组的程序pine而来。
syntax: pico [参数] [文件]
category: 文档编辑(document)
parameters:
|-k: 预设pico在使用剪下命令时，会把光标所在的列的内容全部删除 |
|-m: 开启鼠标支持的功能，您可用鼠标点选命令列表 |
|-v: 启动阅读模式，用户只能观看，无法编辑文件的内容 |
|-w: 关闭自动换行，通过这个参数可以编辑内容很长的列 |
|-z: 让pico可被Ctrl+z中断，暂存在后台作业里 |

examples:
示例1: 
使用pico命令来编辑file文件：
[root@linuxcool ~]# pico file

示例2: 
启动阅读模式，用户只能观看，无法编辑文件的内容 ：
[root@linuxcool ~]# pico -v file

示例3: 
对file文件关闭自动换行功能：
[root@linuxcool ~]# pico -w file

示例4: 
对file文件开启鼠标支持的功能：
[root@linuxcool ~]# pico -m file

示例5: 
对file文件开启删除的功能：
[root@linuxcool ~]# pico -d file


command_name: rmdir
chinese_name: rmdir命令 – 删除空目录文件
syntax: rmdir [参数] [目录名]
parameters: |-p: 递归处理所有子文件 | |-v: 显示执行过程详细信息 | |--version: 显示版本信息 |
category: 文档编辑(document)
description:
rmdir命令来自英文词组remove directory的缩写，其功能是删除空目录文件。rmdir命令仅能删除空内容的目录文件，如需删除非空目录时，需要使用带有-R参数的rm命令进行操作。而rmdir命令的递归删除操作（-p参数使用）并不意味着能删除目录中已有的文件，而是要求每个子目录都必须是空的。

examples:
示例1: 
删除指定的空目录：
[root@linuxcool ~]# rmdir Dir

示例2: 
删除指定的空目录及其内部的子空目录：
[root@linuxcool ~]# rmdir -p Dir

示例3: 
删除指定的空目录并显示删除的过程：
[root@linuxcool ~]# rmdir -v Dir 
rmdir: removing directory, 'Dir'


command_name: genisoimage
chinese_name: genisoimage命令 – 创建ISO镜像文件
syntax: genisoimage [参数] [镜像名] [目录名]
category: 文档编辑(document)
description:
genisoimage命令来自英文词组“generate ISO image”的缩写，其功能是用于创建ISO镜像文件。运维人员常使用该命令将指定的目录与文件制成ISO 9660格式的系统镜像文件，以刻录成光盘。

parameters:
|-J: 使用Joliet格式的目录与文件名称 |
|-o: 设置镜像文件名称 |
|-r: 保留文件的权限属性信息 |
|--help: 显示帮助信息 |
|--sysid: 设置光盘的系统ID |

examples:
示例1: 
将指定的目录制成ISO镜像文件：
[root@linuxcool ~]#genisoimage -o File.iso /Dir

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


command_name: jed
chinese_name: jed命令 – 编辑文本文件
description: jed命令用于编辑文本文件。 jed是以Slang所写成的程序，适合用来编辑程序原始代码。
syntax: jed [参数] [文件]
parameters: |-2: 显示上下两个编辑区 | |-batch: 以批处理模式来执行 | |-g: 移到缓冲区中指定的行数 | |-i: 将指定的文件载入缓冲区 | |-s: 查找并移到指定的字符串 |
category: 文档编辑(document)
examples:
示例1: 
编辑源码文件，默认会以彩色高亮的方式显示程序的语法：
[root@linuxcool ~]# jed main.c

示例2: 
以批处理模式来执行testfile文件：
[root@linuxcool ~]# jed -batch file

示例3: 
将指定的文件载入缓冲区：
[root@linuxcool ~]# jed -i file

示例4: 
移到缓冲区中指定的行数：
[root@linuxcool ~]# jed -g 2 file

示例5: 
查找并移到指定的字符串：
[root@linuxcool ~]# jed -s "string" file


command_name: tr
chinese_name: tr命令 – 字符转换工具
syntax: tr [参数] [字符串1] [字符串2]
parameters: |-c: 反选字符串1的补集 | |-d: 删除字符串1中出现的所有字符 | |-s: 删除所有重复出现的字符序列 | |--help: 显示帮助信息 | |--version: 显示版本信息 |
category: 文档编辑(document)
description:
tr命令来自英文单词transform的缩写，中文译为“转换”，其功能是转换字符。tr命令是一款批量字符转换、压缩、删除的文本工具，但仅能从标准输入中读取文本内容，需要与管道符或输入重定向操作符搭配使用。

examples:
示例1: 
将指定文件中的小写字母转换成大写字母后输出内容到终端界面：
[root@linuxcool ~]# tr [a-z] [A-Z] < File.cfg 
#VERSION=RHEL8 
IGNOREDISK --ONLY-USE=SDA 
AUTOPART --TYPE=LVM 
# PARTITION CLEARING INFORMATION 
CLEARPART --ALL --INITLABEL --DRIVES=SDA 
# USE GRAPHICAL INSTALL 
………………省略部分输出信息………………

示例2: 
删除指定文件中所有的数字后输出内容到终端界面：
[root@linuxcool ~]# tr -d [0-9] < File.cfg 
#version=RHEL 
ignoredisk --only-use=sda 
autopart --type=lvm 
# Partition clearing information 
clearpart --all --initlabel --drives=sda
# Use graphical install 
………………省略部分输出信息………………

示例3: 
将指定文件中的多个相邻空行去重后输出内容到终端界面：
[root@linuxcool ~]# tr -s "[\n]" < File.cfg 
#version=RHEL8 
ignoredisk --only-use=sda 
autopart --type=lvm 
# Partition clearing information 
clearpart --all --initlabel --drives=sda
 # Use graphical install 
………………省略部分输出信息………………


command_name: cdparanoia
chinese_name: cdparanoia命令 – 翻录CD文件
syntax: cdparanoia [参数]
parameters: |-B: 强制将每首曲目放到一个单独的文件 | |1-: 从第一首曲目到最后一首 | |2-: 从音乐CD上“刮写”除了第一道音轨之外的所有音轨 | |数字: 以1~16x的速度刻录 |
category: 文档编辑(document)
description:
cdparanoia命令用于翻录CD文件。
cdparanoia翻录工具通常被认为是可用于翻录CD的最佳工具。它直接从CD中切割数据，没有模拟步骤，并且还很好地报告在翻录时感觉到的任何抖动，因此您知道您的CD撕裂尽可能接近原始。

examples:
示例1: 
安装cdparanoia：
[root@linuxcool ~]# apt-get install cdparanoia

示例2: 
按4x的速度“刮写”所有的音轨，每个音轨存为不同的*.wav文件：
[root@linuxcool ~]# cdparanoia -S 4 -B "1-"

示例3: 
从音乐CD上“刮写”除了第一道音轨之外的所有音轨：
[root@linuxcool ~]# cdparanoia -B "2-"


command_name: red
chinese_name: red命令 – 文本编辑工具
syntax: red [参数] [文件名]
category: 文档编辑(document)
description:
red命令的功能是用于文本编辑工具，能够将文件内容读入编辑器缓存，对副本进行编辑操作后再写入回硬盘中。与vi/vim命令很大不同点在于red命令在编辑时无法查看到文件内容，因此一定要仔细检查输入信息的正确性，避免频繁往返于编辑和命令行模式，浪费大量的时间。
很少有Linux系统运维人员会直接使用red命令编辑文本内容，而更多的是基于Shell脚本调用red命令，从而对指定文件内容进行准确地修改操作，这样就比vi/vim有优势了。

parameters:
|i: 在最后一行前插入新内容 |
|o: 把最后一行替换成新内容 |
|q: 退出编辑器 |
|w: 保存文件内容 |
|.: 使用命令行模式 |
|-G: 使用兼容模式 |
|-l: 失败后使用0状态退出 |
|-p: 设置指定字符串作为交互提示 |
|-v: 显示执行过程详细信息 |

examples:
示例1: 
在指定文件的最后一行插入新内容：
[root@linuxcool ~]#red File.cfg1387a
welcome to Linuxcool.com                                              
.
w1412q

示例2: 
在指定文件的最后一行前插入新内容：
[root@linuxcool ~]#redFile.cfg1412i
Vist Linuxprobe.com
.
w1436q

示例3: 
查看前面两条命令的插入效果：
[root@linuxcool ~]#tail -n 2 File.cfgVist Linuxprobe.com
welcome to Linuxcool.com


command_name: col
chinese_name: col命令 – 用于过滤控制字符
syntax: col [参数]
category: 文档编辑(document)
description:
功能介绍：
col命令的英文全称是“colation”，其中文释义就是“过滤”。该命令是一个标准输入文本过滤器，它从标注输入设备读取文本内容，并把内容显示到标注输出设备。 在许多UNIX说明文件里，都有RLF控制字符。当我们运用shell特殊字符”>”和”>>”，把说明文件的内容输出成纯文本文件时，控制字符会变成乱码，col指令则能有效滤除这些控制字符。

parameters:
|-b: 过滤掉所有的控制字符，包括RLF和HRLF |
|-f: 滤除RLF字符，但允许将HRLF字符呈现出来 |
|-x: 以多个空格字符来表示跳格字符 |
|-l<缓冲区列数>: 预设的内存缓冲区有128列，您可以自行指定缓冲区的大小 |

examples:
示例1: 
将man命令的帮助文档保存为man_help，使用-b [参数]过滤所有控制字符：
[root@linuxcool ~]# man man | col-b > man_help

示例2: 
将man的说明文件转存为纯文本文件并过滤掉所有控制字符 ：
[root@linuxcool ~]# man col | col -b > file

示例3: 
利用 cat -A 显示出所有特殊按键，最后以 col 将  转成空白：
[root@linuxcool ~]# cat -A /etc/man.config

示例4: 
将 col 的 man page 转存成为 /root/col.man 的纯文本档：
[root@linuxcool ~]# man col | col -b > /root/col.man


command_name: rgrep
chinese_name: rgrep命令 – 查找文件里符合条件的字符串
description: rgrep命令的功能和grep命令类似，可查找内容包含指定的范本样式的文件，如果发现某文件的内容符合所指定的范本样式，预设rgrep命令会把含有范本样式的那一列显示出来。
syntax: rgrep [参数]
category: 文档编辑(document)
parameters:
|-?: 显示范本样式与范例的说明 |
|-B: 忽略二进制的数据 |
|-c: 计算符合范本样式的列数 |
|-D: 排错模式，只列出命令搜寻的目录清单，而不会读取文件内容 |
|-F: 只读取该连接所指向的原始文件的内容 |
|-h: 特别将符合范本样式的字符串标示出来 |
|-H: 只列出符合范本样式的字符串，而非显示整列的内容 |
|-i: 忽略字符大小写的差别 |
|-l: 列出文件内容符合指定的范本样式的文件名称 |
|-n: 在显示符合坊本样式的那一列之前，标示出该列的列数编号 |
|-N: 不要递归处理 |
|-r: 递归处理，将指定目录下的所有文件及子目录一并处理 |
|-R: 此参数的效果和指定”-r”参数类似，但只主力符合范本样式文件名称的文件 |
|-v: 反转查找 |
|-W: 限制符合范本样式的字符串所在列，必须拥有的字符数 |
|-x: 只处理符合指定扩展名的文件名称的文件 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 |

examples:
示例1: 
在当前目录下查找句子中包含”Hello”字符串的文件：
[root@linuxcool ~]# rgrep Hello *

示例2: 
显示范本样式与范例的说明：
[root@linuxcool ~]# rgrep -?


command_name: head
chinese_name: head命令 – 显示文件开头的内容
description: head命令的功能是显示文件开头的内容，默认为前10行。
syntax: head [参数] [文件名]
parameters: |-c: 设置显示头部内容的字符数 | |-n: 设置显示行数 | |-q: 不显示文件名的头信息 | |--help: 显示帮助信息 |
category: 文档编辑(document)
examples:
示例1: 
默认显示文件的前10行内容：
[root@linuxcool ~]# head -n 10 File.cfg 
#version=RHEL8 
ignoredisk --only-use=sda 
autopart --type=lvm 
# Partition clearing information 
clearpart --none --initlabel 
# Use graphical install 
graphical 
repo --name="AppStream" --baseurl=file:///run/install/repo/AppStream 
# Use CDROM installation media 
cdrom

示例2: 
显示指定文件的前5行内容：
[root@linuxcool ~]# head -n 5 File.cfg
#version=RHEL8 
ignoredisk --only-use=sda 
autopart --type=lvm 
# Partition clearing information 
clearpart --none --initlabel

示例3: 
显示指定文件的前20个字符：
[root@linuxcool ~]# head -c 20 File.cfg 
#version=RHEL8


command_name: comm
chinese_name: comm命令 – 比较两个已排过序的文件
syntax: [参数] [文件1][文件2]
category: 文档编辑(document)
description:
comm命令会一列列地比较两个已排序文件的差异，并将其结果显示出来，如果没有指定任何参数，则会把结果分成3行显示：第1行仅是在第1个文件中出现过的列，第2行是仅在第2个文件中出现过的列，第3行则是在第1与第2个文件里都出现过的列。若给予的文件名称为”-“，则comm指令会从标准输入设备读取数据。

parameters:
|-1: 不显示只在第1个文件里出现过的列 |
|-2: 不显示只在第2个文件里出现过的列 |
|-3: 不显示只在第1和第2个文件里出现过的列 |
|–help: 在线帮助 |
|–version: 显示版本信息 |

examples:
示例1: 
对比文件filename1.txt和filename2.txt：
[root@linuxcool ~]# comm filename1.txt filename2.txt

示例2: 
打印两个文件的交集，需要删除第一列和第二列：
[root@linuxcool ~]# comm filename1.txt filename2.txt -1 -2

示例3: 
打印出两个文件中不相同的行，需要删除第三列：
[root@linuxcool ~]# comm filename1.txt filename2.txt -3 | sed 's/^\t//'

示例4: 
相较于filename2.txt，filename1.txt的差集 :
[root@linuxcool ~]# comm filename1.txt filename2.txt -2 -3

示例5: 
相较于filename1.txt，filename2.txt的差集 :
[root@linuxcool ~]# comm filename2.txt filename1.txt -2 -3


command_name: make
chinese_name: make命令 – 编译内核或源码文件
syntax: make [参数] [文件名]
category: 文档编辑(document)
description:
make命令的功能是编译内核或源码文件。make是GNU工程化编译工具，用于编译众多相互关联的源代码文件。make命令也可以编译内核或模块功能，以工程化的工作方式提高开发效率。
初次运行make命令时，它会通过扫描Makefile文件找到目标及其依赖关系，并在建立依赖关系后依次编译所对应的源码程序。

parameters:
|-b: 忽略兼容性 |
|-B: 始终编译指定的目标文件 |
|-C: 更改为指定的目录 |
|-r: 禁用内置的隐含规则 |
|-d: 显示调试信息 |
|-e: 使用环境变量覆盖Makefile文件 |
|-f: 读取指定文件作为Makefile文件 |
|-I: 搜索指定目录中包含的Makefile文件 |
|-j: 完成指定工作编号的作业 |
|-k: 当某个目标不能make时，继续执行任务 |
|-l: 低于指定负载时，才会启动多个任务 |
|-n: 不实际运行任何命令 |
|-o: 不编译指定的文件 |
|-p: 显示内部数据库 |
|-q: 使用安静模式 |
|-R: 禁用内置变量 |
|-s: 静默执行模式 |
|-t: 创建指定目标 |
|-v: 显示版本信息 |
|-w: 显示当前目录 |
|-W: 设置目标文件 |

examples:
示例1: 
编译当前工作目录下的工程源码：
[root@linuxcool ~]# make

示例2: 
读取指定文件作为Makefile文件：
[root@linuxcool ~]# make -f Makefile

示例3: 
为make命令提供指定的不同目录路径：
[root@linuxcool ~]# make -C /Dir

示例4: 
显示全部的调试信息：
[root@linuxcool ~]# make -d


command_name: gawk
chinese_name: gawk命令 – 模式扫描与处理语言
description: gawk是Unix中原始awk程序的GNU版本,强大之处在于可以写脚本来读取文本行的数据，然后处理并显示数据。
syntax: gawk [参数]
category: 文档编辑(document)
parameters:
|-f: 从文件程序文件读取AWK程序源，而不是从第一个命令行参数。可以使用多个-f（或--file）选项 |
|-F: 指定描绘一行中数据字段的文件分隔符 |
|-v: 定义gawk程序中使用的变量和默认值 |
|-mr: 指定数据文件中的最大记录大小 |

examples:
示例1: 
命令行读取程序脚本：
[root@linuxcool ~]# gawk '{print "hello world"}'

示例2: 
指定描绘一行中数据字段的文件分隔符：
[root@linuxcool ~]# gawk -F: '{print $1}' /etc/passwd


command_name: tput
chinese_name: tput命令 – 初始化和操作会话
description: tput命令将通过 terminfo [数据库]对您的终端会话进行初始化和操作。通过使用 tput，您可以更改几项终端功能，如移动或更改光标、更改文本属性，以及清除终端屏幕的特定区域。
syntax: tput [参数]
parameters: |setb: 用于设置背景颜色 | |setf: 用于设置前景颜色 |
category: 文档编辑(document)
examples:
示例1: 
移动光标并显示信息：
[root@linuxcool ~]# tput sc
[root@linuxcool ~]# tput cup 23 45
[root@linuxcool ~]# echo “Input from tput/echo at 23/45”
[root@linuxcool ~]# tput rc

示例2: 
将背景颜色更改为黄色，将前景颜色更改为红色：
[root@linuxcool ~]# tput setb 6 tput setf 4


command_name: look
chinese_name: look命令 – 查询单词
description: look指令用于英文单字的查询。您仅需给予它欲查询的字首字符串，它会显示所有开头字符串符合该条件的单字。
syntax: look [参数] [字符串] [文件]
category: 文档编辑(document)
parameters:
|-a: 使用另一个字典文件web2，该文件也位于/usr/dict目录下 |
|-d: 只对比英文字母和数字，其余一慨忽略不予比对 |
|-f: 忽略字符大小写差别。 |
|-t: <字尾字符串> 设置字尾字符串 |

examples:
示例1: 
查询file文件中以L开头的行：
[root@linuxcool ~]# cat fileLINUX!Linux is a free unix-type opterating system.This is a linux testfile!Linux test[root@linuxcool ~]# look L fileLINUX!Linux is a free unix-type opterating system.


command_name: nano
chinese_name: nano命令 – 字符终端文本编辑器
syntax: nano [参数] [文件名]
category: 文档编辑(document)
description:
nano是一款基于字符终端的文本编辑器工具，类似于DOS系统下的editor程序，比Linux系统中常用的vi/vim相比更加简单，更适合初学者使用。
nano命令可以打开指定文件进行编辑，默认情况下它会自动断行，即在一行中输入过长的内容时自动拆分成几行，但用这种方式来处理某些文件可能会带来问题，比如Linux系统的配置文件，自动断行就会使本来只能写在一行上的内容折断成多行了，有可能造成程序崩溃。因此，如果你想避免这种情况出现，就加上-w选项吧。

parameters:
|-A: 启用智能HOME键 |
|-B: 设置文件备份 |
|-c: 持续显示游标位置 |
|-d: 区别退格键和删除键 |
|-D: 使用粗体字代替色彩变化 |
|-E: 将制表符转成空格 |
|-F: 启用多重文件缓冲区功能 |
|-H: 记录历史日志字符串 |
|-i: 自动缩进新行 |
|-k: 从游标位置剪切至行尾 |
|-L: 不要将换行加到文件末端 |
|-m: 启用鼠标功能 |
|-o: 设置操作目录 |
|-O: 编辑时多使用一行 |
|-R: 使用限制模式 |
|-S: 设置按行滚动 |
|-u: 允许通用撤销 |
|-U: 状态行快速闪动 |
|-v: 使用只读模式 |
|-V: 显示版本信息 |
|-w: 禁止自动换行 |
|-x: 不显示辅助区 |
|-z: 启用暂停功能 |
|--help: 显示帮助信息 |

examples:
示例1: 
编辑指定的文本文件：
[root@linuxcool ~]#nano File.cfgGNU nano 2.9.8                   File.cfg                              

#version=RHEL8
ignoredisk --only-use=sda
autopart --type=lvm
# Partition clearing information
clearpart --none --initlabel
# Use graphical install
graphical
repo --name="AppStream" --baseurl=file:///run/install/repo/AppStream
# Use CDROM installation media
cdrom
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8

# Network information
network  --bootproto=dhcp --device=ens160 --onboot=off --ipv6=auto --no-activate
network  --hostname=www.linuxcool.com
# Root password
                               [ Read 44 lines ]
^G Get Help  ^O Write Out ^W Where Is  ^K Cut Text  ^J Justify   ^C Cur Pos
^X Exit      ^R Read File ^\ Replace   ^U Uncut Text^T To Spell  ^_ Go To Line

示例2: 
编辑指定的文本文件，并禁止自动换行：
[root@linuxcool ~]#nano -w File.cfg


command_name: fmt
chinese_name: fmt命令 – 编排文本文件
description: fmt命令会从指定的文件里读取内容，将其依照指定格式重新编排后，输出到标准输出设备。若指定的文件名为”-“，则fmt指令会从标准输入设备读取数据。
syntax: fmt [参数] [文件]
category: 文档编辑(document)
parameters:
|-c: 每段前两列缩排 |
|-s: 只拆开字数超出每列字符数的列，但不合并字数不足每列字符数的列 |
|-t: 每列前两列缩排，但第1列和第2列的缩排格式不同 |
|-u: 每个字符之间都以一个空格字符间隔，每个句子之间则两个空格字符分隔 |
|-w: 设置每列的最大字符数 |

examples:
示例1: 
重排指定文件。如文件file共5行文字，可以通过命令对该文件格式进行重排：
[root@linuxcool ~]# fmt file

示例2: 
将文件file重新排成85 个字符一行：
[root@linuxcool ~]# fmt -w 85 file

示例3: 
让fmt突出显示第一行：
[root@linuxcool ~]# fmt -t file

示例4: 
用fmt拆分长行：
[root@linuxcool ~]# fmt -s file

示例5: 
在单词与单词之间，句子之间用空格分开：
[root@linuxcool ~]# fmt -u file


command_name: paste
chinese_name: paste命令 – 合并两个文件
syntax: paste [参数] [文件名1] [文件名2]
parameters: |-d: 设置自定义间隔符 | |-s: 将每个文件粘贴成一行 | |--: 从标准输入中读取数据 |
category: 文档编辑(document)
description:
paste命令来自英文单词“粘贴”，其功能是用于合并两个文件。paste命令能够将两个文件以列对列的方式进行合并，相当于是把两个不同的文件内容粘贴到了一起，形成新的文件，如需先将内容合并成一行，再以行粘贴的方式合并，可以用-s参数搞定。

examples:
示例1: 
现有两个文件（File1，File2），对其进行合并操作：
[root@linuxcool ~]#cat File1aaa
 bbb
 ccc
 ddd
 eee
[root@linuxcool ~]#cat File2AAA
 BBB
 CCC
 DDD
 EEE
[root@linuxcool ~]#paste File1 File2aaa	 AAA
 bbb	 BBB
 ccc	 CCC
 ddd	 DDD
 eee	 EEE

示例2: 
设置合并后内容的分隔符，再进行合并操作：
[root@linuxcool ~]#paste -d: File1 File2aaa: AAA
 bbb: BBB
 ccc: CCC
 ddd: DDD
 eee: EEE

示例3: 
设置每个文件内容为一行，再进行合并操作：
[root@linuxcool ~]#paste -s File1 File2aaa 	 bbb	 ccc	 ddd	 eee
 AAA	 BBB	 CCC	 DDD	 EEE


command_name: csplit
chinese_name: csplit命令 – 分割文件
category: 文档编辑(document)
description:
csplit命令的英文全称是“context split”，该命令用于将一个大文件分割成小的碎片，并且将分割后的每个碎片保存成一个文件。碎片文件的命名类似“xx00”，“xx01”。csplit命令是split的一个变体，split只能够根据文件大小或行数来分割，但csplit能够根据文件本身特点来分割文件。
语法参数：csplit [参数]
常用参数：
参考实例
将文本文件filename以第 2 行为分界点切割成两份：
将文本文件filename以120行为分界点切割成2份，并指定输出文件名的位数为3：
将文本文件textfile以120行为分界点切割成2份，并指定输出文件名的前缘为fileName位数为3：
将文件 filename 以10行为单位分割8次，并指定输出文件名的格式 :
将文本文件 filename 以每20行为单位分割：
把文件以字符串”Chapter X”为分界符，分成两部分：
这篇优质的内容由TA贡献而来
刘遄
《Linux就该这么学》书籍作者，RHCA认证架构师，教育学（计算机专业硕士）。
京ICP备16058923号-1
推荐用书：《Linux就该这么学》
真正好用的Linux命令在线查询手册

parameters:
|-b<输出格式>或--suffix-format=<输出格式>: 预设的输出格式其文件名称为xx00，xx01等，用户可以通过改变<输出格式>来改变输出的文件名 |
|-f<输出字首字符串>或--prefix=<输出字首字符串>: 预设的输出字首字符串其文件名为xx00，xx01等，如果制定输出字首字符串为“hello”，则输出的文件名称会变成hello00，hello、01…… |
|-k或--keep-files: 保留文件，就算发生错误或中断执行，与不能删除已经输出保存的文件 |
|-n<输出文件名位数>或--digits=<输出文件名位数>: 预设的输出文件名位数其文件名称为xx00，xx01……如果用户指定输出文件名位数为“3”，则输出的文件名称会变成xx000，xx001等 |
|-q或-s或--quiet或--silent: 不显示指令执行过程 |
|-z或--elide-empty-files: 删除长度为0 Byte文件。 |

examples:
示例1: 
将文本文件filename以第 2 行为分界点切割成两份：
[root@linuxcool ~]# csplit filename 2

示例2: 
将文本文件filename以120行为分界点切割成2份，并指定输出文件名的位数为3：
[root@linuxcool ~]# csplit -n 3 filename 120

示例3: 
将文本文件textfile以120行为分界点切割成2份，并指定输出文件名的前缘为fileName位数为3：
[root@linuxcool ~]# csplit -f fileName testfile 120

示例4: 
将文件 filename 以10行为单位分割8次，并指定输出文件名的格式 :
[root@linuxcool ~]# csplit -b "myfile%o% filename 10 {8}

示例5: 
将文本文件 filename 以每20行为单位分割：
[root@linuxcool ~]# csplit filename 20 {*}

示例6: 
把文件以字符串”Chapter X”为分界符，分成两部分：
[root@linuxcool ~]# csplit filename /"Chapter X"/


command_name: view
chinese_name: view命令 – 编辑文本文件
description: view命令的功能是用于编辑文本文件。view实际并不是一个真实存在的命令文件，而是vi命令的别名命令，因此使用方法与vi编辑器完全一致，无须担心。
syntax: view [参数] [文件名]
category: 文档编辑(document)
parameters:
|+数字: 设置从文件第N行开始编辑 |
|-b: 使用二进制模式 |
|-c: 加载文件后执行指定命令 |
|-e: 使用Ex模式 |
|-m: 不允许修改文件内容 |
|-n: 不使用交换分区，只用物理内存 |
|-o: 打开指定数量的窗口 |
|-p: 打开指定数量的标签页 |
|-R: 使用只读模式 |
|-s: 静默执行模式 |
|-T: 设置使用的终端 |
|-u: 使用vimrc，而不是.vimrc |
|-v: 使用Vi模式 |
|-y: 使用简易模式 |
|-Z: 使用受限模式 |
|--help: 显示帮助信息 |
|--literal: 不扩展通配符 |
|--noplugin: 跳过指定插件 |
|--remote: 连接至远程服务器 |
|--version: 显示版本信息 |

examples:
示例1: 
编辑指定的文件：
[root@linuxcool ~]#view File.cfg

示例2: 
从第2行开始，编辑指定的文件：
[root@linuxcool ~]#view +2 File.cfg

示例3: 
以只读模式，打开指定的文件：
[root@linuxcool ~]#view -R File.cfg


command_name: ed
chinese_name: ed命令 – 文本编辑
syntax: ed [参数]
examples: 示例1: 以下是一个 Linux ed 完整实例解析： [root@linuxcool ~]# ed
category: 文档编辑(document)
description:
ed是Linux中功能最简单的文本编辑程序，一次仅能编辑一行而非全屏幕方式的操作。
ed命令并不是一个常用的命令，一般使用比较多的是vi 指令。但ed文本编辑器对于编辑大文件或对于在shell脚本程序中进行文本编辑很有用。

parameters:
|-G: 提供回兼容的功能 |
|-p: 指定ed在command mode的提示字符 |
|-s: 不执行开启文件时的检查功能 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 |


command_name: mkvcdfs
chinese_name: mkvcdfs命令 – 制作vcd文件
syntax: mkvcdfs [参数]
parameters: |文件名.mpg: MPEG文件 |
category: 文档编辑(document)
description:
mkvcdfs命令用来制作能刻录VCD的镜像文件。
需要有支持SCSI和”generic”SCSI的Linux核心，不用担心您的CD-R或CD-RW是ATAPI/IDE接口，只要把  SCSI emulation(SCSI仿真)编译进您的Linux即可。如果您手中的Linux是一个正式发行的Distributed版本，如  蓝点(BluePoint)、红旗(Red-Flag)等，那么您就可以跳过编译核心这一步。
启动Linux，启动时仍然需要加入”/dev/node=ide-scsi”参数，这是ATAPI/IDE接口的CD-R或CD-RW打开SCSI仿真模 式所必须的。

examples:
示例1: 
安装mkvcdfs命令工具包：
[root@linuxcool ~]# apt-get install vcdtools mkvcdfs

示例2: 
将avi格式的视频文件转换成mkvcdfs命令识别的mpg文件：
[root@linuxcool ~]# ffmpeg -i 1.avi -target vcd 1.mpg 
[root@linuxcool ~]# ffmpeg -i 2.avi -target vcd 2.mpg
[root@linuxcool ~]# ffmpeg -i 3.avi -target vcd 3.mpg

示例3: 
把MPEG文件（video1.mpg～video3.mpg等3个文件）合并成2个文件：
[root@linuxcool ~]# mkvcdfs 1.mpg 2.mpg 3.mpg
Copying file vcd/20050208_1558_1.mpg Done with vcd/20050208_1558_1.mpg, got 4536 sectors Copying file vcd/20050208_1559_1.mpg Done with vcd/20050208_1559_1.mpg, got 4530 sectors


command_name: fold
chinese_name: fold命令 – 限制文件列宽
description: fold命令会从指定的文件里读取内容，将超过限定列宽的列加入增列字符后，输出到标准输出设备。若不指定任何文件名称，或是所给予的文件名为”-“，则fold指令会从标准输入设备读取数据。
syntax: fold [参数] [文件]
category: 文档编辑(document)
parameters:
|-b: 以Byte为单位计算列宽，而非采用行数编号为单位 |
|-s: 以空格字符作为换列点 |
|-w: 设置每列的最大行数 |
|--help: 在线帮助 |
|--version: 显示版本信息 |

examples:
示例1: 
将一个名为testfile 的文件的行折叠成宽度为30：
[root@linuxcool ~]# fold -w 30 file

示例2: 
以空格字符作为换列点：
[root@linuxcool ~]# fold -s file

示例3: 
以Byte为单位计算列宽，而非采用行数编号为单位：
[root@linuxcool ~]# fold -b file


command_name: ispell
chinese_name: ispell命令 – 用于拼写检查程序
syntax: ispell [参数]
category: 文档编辑(document)
description:
ispell预设会使用/usr/lib/ispell/english.hash字典文件来检查文本文件。若在检查的文件中找到字典没有的词汇，ispell会建议使用的词汇，或是让你将新的词汇加入个人字典。

parameters:
|-a: 当其他程序输出送到ispell时，必须使用此参数 |
|-A: 读取到”&Include File&”字符串时，就去检查字符串后所指定文件的内容 |
|-b: 产生备份文件，文件名为.bak |
|-B: 检查连字错误 |
|-C: 不检查连字错误 |
|-d: 指定字典文件 |
|-l: 从标准输入设备读取字符串，结束后显示拼错的词汇 |
|-L: 指定内文显示的行数 |
|-m: 自动考虑字尾的变化 |
|-M: 进入ispell后，在画面下方显示指令的按键 |
|-n: 检查的文件为noff或troff的格式 |
|-N: 进入ispell后，在画面下方不显示指令的按键 |
|-p: 指定个人字典文件 |
|-P: 不考虑字尾变化的情形 |
|-S: 不排序建议取代的词汇 |
|-t: 检查的文件为TeX或LaTeX的格式 |
|-V: 非ANSI标准的字符会以”M-^”的方式来显示 |
|-w: 检查时，特别挑出含有指定的字符 |
|-W: 不检查指定长度的词汇 |
|-x: 不要产生备份文件 |

examples:
示例1: 
检查testfile文件：
[root@linuxcool ~]# ispell testfile

示例2: 
文件testfile中有拼写错误，对该文件进行修改后需备份文件：
[root@linuxcool ~]# ispell -b testfile


command_name: tempfile
chinese_name: tempfile命令 – 临时文件命名
syntax: tempfile [参数]
parameters: |$: [变量] |
examples: 示例1: 用一个加带了随机数的文件名作为临时文件命名： [root@linuxcool ~]# temp_file_name="/tmp/file_$RANDOM"
category: 文档编辑(document)
description:
有时候在写Shell脚本的时候需要一些临时存储数据的才做，最适合存储临时文件数据的位置就是/tmp，因为该目录中所有的内容在系统重启后就会被清空。
tempfile命令只有在基于Debian的发行版中才默认自带，比如Ubuntu，其他发行版没有这个命令。


command_name: gedit
chinese_name: gedit命令 – GNOME桌面的文本编辑器
syntax: gedit [参数] [文件名]
category: 文档编辑(document)
description:
gedit命令来自英文词组“GNOME text editor”的缩写，其功能是用于编辑文本信息，是GNOME桌面环境的文本编辑器。gedit命令拥有非常强大的通用文本编辑功能，能够创建和编辑各类型文本文件，用户还可以向gedit中添加自主选择的插件，让编辑器支持更多高级功能。

parameters:
|-f: 忽略部分错误信息 |
|-R: 递归处理所有子文件 |
|-s: 使用独立模式 |
|-v: 显示执行过程详细信息 |
|-w: 使用独占方式打开文件 |
|--encoding: 设置字符编码 |
|--help: 显示帮助信息 |
|--list-encodings: 显示可使用的编码列表 |
|--new-document: 新建一个新文档 |
|--new-window: 新建一个新窗口 |
|--preserve-root: 禁止对目录进行递归操作 |
|--version: 显示版本信息 |

examples:
示例1: 
打开并编辑指定的文件：
[root@linuxcool ~]#gedit File.cfg

示例2: 
显示可使用的编码列表：
[root@linuxcool ~]#gedit --list-encodingsUTF-8
ISO-8859-1
ISO-8859-2
ISO-8859-3
ISO-8859-4
ISO-8859-5
………………省略部分输出信息………………

示例3: 
设置打开文件时使用的字符编码：
[root@linuxcool ~]#gedit --encoding=UTF-8

示例4: 
新建一个新窗口，置于桌面最上层：
[root@linuxcool ~]#gedit --new-window

示例5: 
以独立模式运行：
[root@linuxcool ~]#gedit -s


command_name: vi
chinese_name: vi命令 – 文本编辑器
syntax: vi [参数] [文件]
category: 文档编辑(document)
description:
vi命令的功能是用于编辑文本内容，是Linux系统字符界面下最常用的文本编辑工具，能够编辑任何的ASCII格式文件，对内容进行创建、查找、替换、修改、删除、复制、粘贴等操作。编写文件时，无需担心目标文件是否存在，若不存在则会自动在内存中创建，随保存操作输出到硬盘中。
由于vi/vim编辑器深入学习的难度较大，无法通过单一词条为读者讲透，如想熟练使用请参阅《Linux就该这么学》第四章4.1小节。

parameters:
|-s: 静默模式 |
|-- -cmd<命令>: 加载任何vimrc文件之前执行指定命令 |
|-R: 只读模式 |
|-v: Vi模式 |
|-e: Ex模式 |
|-y: 简易模式 |
|-c<命令>: 加载第一个文件之后执行指定命令 |
|-s<脚本输入文件>: 从指定脚本输入文件阅读普通模式命令 |
|-w<脚本输出文件>: 追加所有类型的命令写入脚本输出文件 |
|-W<脚本输出文件>: 写入所有类型的命令到指定脚本输出文件 |
|+<行数>: 从指定行开始 |
|-- -noplugin: 不要加载插件脚本 |
|-p<数量>: 打开指定数量的标签页（带文件名） |
|-r<文件名>: 恢复崩溃的会话 |
|-L: 等同于-r |
|-r: 列出交换文件并退出 |
|-u<vimrc>: 熟用指定vimrc，而不是.vimrc |
|-T<终端>: 设置使用指定终端 |
|-o<数量>: 打开指定数量的窗口 |
|-n: 不使用交换文件，只用内存 |
|-Z: 受限模式 |
|-m: 不允许修改（写入） |
|-b: 二进制模式 |
|-M: 在文本中不允许修改 |

examples:
示例1: 
创建某个文件，并进行编写操作：
[root@linuxcool ~]#vi anaconda-ks.cfg

示例2: 
打开某个已存在的文件，从第6行开始编写：
[root@linuxcool ~]#vi +6 anaconda-ks.cfg

示例3: 
打开某个已存在的文件，以只读模式进入：
[root@linuxcool ~]#vi +R anaconda-ks.cfg


command_name: crudini
chinese_name: crudini命令 – 配置ini格式文件
syntax: crudini [参数] [文件名]
category: 文档编辑(document)
description:
crudini命令来自英文词组“Create read update delete ini”的缩写，中文译为“增删改查”，其功能是用于配置ini格式文件参数信息。ini格式文件是Linux系统中常见的服务配置文件，例如php.ini，这种配置文件通常会被分为多个段落，每个段落以类似[default]的格式标识，而crudini则是为了配置ini格式文件而开发的专用命令工具。

parameters:
|--del: 删除变量 |
|--existing: 指定文件已存在 |
|--format: 设置输出格式 |
|--get: 显示变量值 |
|--inplace: 锁定并写入文件 |
|--list: 更新一个列表的值 |
|--list-sep: 设置自定义间隔符 |
|--output: 将输出内容写入指定文件 |
|--set: 增加或修改变量 |
|--verbose: 显示执行过程详细信息 |

examples:
示例1: 
新建一个用于实验的init格式配置文件：
[root@linuxcool ~]#cat File.ini[DEFAULT]
user = liuchuan
passwd = redhat
port = 8088
[URL]
http1 = www.linuxprobe.com
http2 = www.linuxcool.com

示例2: 
向指定文件中添加一个变量，段落名为URL，变量名为http3：
[root@linuxcool ~]#crudini --set File.ini URL http3 www.linuxdown.com

示例3: 
更新指定文件中的一个变量，段落名为DEFAULT，变量名为port：
[root@linuxcool ~]#crudini --set --existing File.ini DEFAULT port 443

示例4: 
删除指定文件中的一个变量，段落名为URL，变量名为http3：
[root@linuxcool ~]#crudini --del File.ini URL http3

示例5: 
删除指定文件中的一个段落，段落名为URL：
[root@linuxcool ~]#crudini --del File.ini URL

示例6: 
获取指定文件中的一个变量，段落名为DEFAULT，变量名为user：
[root@linuxcool ~]#crudini --get File.ini DEFAULT user

示例7: 
获取指定文件中的一个段落，段落名为DEFAULT：
[root@linuxcool ~]#crudini --get File.ini DEFAULT


command_name: db-load
chinese_name: db_load命令 – 加密信息并生成数据库文件
syntax: db_load [参数] [源文件名] [目标数据库名]
parameters: |-f: 指定用户名和密码文件 | |-t: 指定数据库的加密格式 |
category: 文档编辑(document)
description:
db_load命令来自英文词组“read and load data”的缩写，其功能是用于加密信息并生成数据库文件。Linux系统中最常用的数据库文件生成工具之一，能够将用户信息进行hash加密并生成db数据库文件，方便第三方应用程序调用。
*源文件内容为明文形式，奇数行为用户名，偶数行为密码。

examples:
示例1: 
新建一个用户名和密码文件，并对其进行hash加密操作：
[root@linuxcool ~]#cat users.txtlinuxprobe
redhat
linuxcool
redhat
[root@linuxcool ~]#db_load -T -t hash -f users.txt users.db


command_name: cdrdao
chinese_name: cdrdao命令 – 刻录影像到光盘
syntax: cdrdao [参数]
parameters: |–scanbus: 扫描光驱挂在哪个设备上面 | |–write: 写入 | |--device: 光驱位置 |
category: 文档编辑(document)
description:
cdrdao命令用来刻录影像到光盘。用来向您的  CD-R或CD-RW写数据。
需要有支持SCSI和”generic”SCSI的Linux核心，不用担心您的CD-R或CD-RW是ATAPI/IDE接口，只要把  SCSI emulation(SCSI仿真)编译进您的Linux即可。如果您手中的Linux是一个正式发行的Distributed版本，如  蓝点(BluePoint)、红旗(Red-Flag)等，那么您就可以跳过编译核心这一步。
启动Linux，启动时仍然需要加入”/dev/node=ide-scsi”参数，这是ATAPI/IDE接口的CD-R或CD-RW打开SCSI仿真模 式所必须的。

examples:
示例1: 
扫描光驱挂在哪个设备上面：
[root@linuxcool ~]# cdrdao scanbus

示例2: 
把bin文件写入光盘：
[root@linuxcool ~]# cdrdao write --device ATA:1,1,0 vcd.toc

示例3: 
将CD复制到硬盘中以data.bin文件存放：
[root@linuxcool ~]# cdrdao read -cd --device ATA:1,1,0 --buffers 64 --driver generic-mmc-raw --read-raw vcd.toc

示例4: 
为CD创建一个指定的内容目录表：
[root@linuxcool ~]# cdrdao read -toc --device ATA:1,1,0 --buffers 64 --driver generic-mmc-raw --read-raw vcd.toc


command_name: expr
chinese_name: expr命令 – 字符串及整数计算器
syntax: expr [表达式] [对象]
parameters: |index: 找到指定字符最先出现的位置 | |length: 统计字符串长度 | |substr: 设置截取字符位置 |
category: 文档编辑(document)
description:
expr命令来自英文单词“expression”的缩写，中文译为“表达式”，其功能是用于字符串及整数计算。常被用作Linux系统中求表达式变量值的工具，亦可用于计算整数值或字符串的结果，当作计算器也没问题的。

examples:
示例1: 
统计指定字符串的长度：
[root@linuxcool ~]#expr length "This is a test"14

示例2: 
抓取指定字符串中指定位置区间的字符（起始位置为3，抓取数量为5）：
[root@linuxcool ~]#expr substr "this is a test" 3 5is is

示例3: 
进行四则运算：
[root@linuxcool ~]#expr "\( 10 + 10 \) \* 2 + 100"
140

示例4: 
进行一系列的简单整数运算，其中乘法（*）需转义符：
[root@linuxcool ~]#expr "5 + 5"10
[root@linuxcool ~]#expr "10 - 5"5
[root@linuxcool ~]#expr "5 \* 5"25
[root@linuxcool ~]#expr "5 / 5"1


command_name: colrm
chinese_name: colrm命令 – 过滤指定列
description: colrm命令的英文全称是“column remove”，即意为删除列，功能是从标准输入设备读取数据，转而输出到标准输出设备，如果不加任何参数，则该指令不会过滤任何一列。
syntax: colrm [开始列数编号<结束列数编号>]
parameters: |开始列数编号: 指定要删除的列的起始编号 | |结束列数编号: 指定要删除的列的结束编号，有时候这个参数可以省略 |
category: 文档编辑(document)
examples:
示例1: 
删除第4 列之后的所有内容 ：
[root@linuxcool ~]# colrm 4

示例2: 
删除第4列到第6列的内容 ：
[root@linuxcool ~]# colrm 4 6


command_name: sdiff
chinese_name: sdiff命令 – 以并排方式合并文件之间的差异
syntax: sdiff [参数] [文件名1] [文件名2]
category: 文档编辑(document)
description:
sdiff命令来自英文词组“Side-by-side merge of file differences”的缩写，其功能是用于以并排方式合并文件之间的差异。合理运用sdiff命令能够帮助运维人员更好地区分文件之间的不同之处，更直观地对比它们的内容差异。

parameters:
|-a: 使用文本格式处理文件 |
|-b: 忽略由空格数不同造成的差异 |
|-B: 忽略任何因空行而造成的差异 |
|-E: 忽略由制表符宽度造成的差异 |
|-i: 忽略大小写的差异 |
|-l: 当有两行相同时只显示左栏的一行 |
|-o: 将结果写入到文件中 |
|-t: 将Tab转换成空格 |
|-v: 显示版本信息 |
|-W: 忽略所有空白字符 |
|-w: 限制每列最大字节 |
|--help: 显示帮助信息 |

examples:
示例1: 
准备两个文件，内容略有差异：
[root@linuxcool ~]#cat File1.txtWelcome to linuxprobe.com
Red Hat certified
Free Linux Lessons
Professional guidance
Linux Course
[root@linuxcool ~]#cat File2.txtWelcome tooo linuxprobe.com

Red Hat certified
Free Linux LeSSonS
////////.....////////
Professional guidance
Linux Course

示例2: 
以文本方式，比较二个文件内容的不同：
[root@linuxcool ~]#sdiff -a File1.txt File2.txtWelcome to linuxprobe.com			|	Welcome tooo linuxprobe.com
						>
Red Hat certified					Red Hat certified
Free Linux Lessons				|	Free Linux LeSSonS
						>	////////.....////////
Professional guidance					Professional guidance
Linux Course						Linux Course

示例3: 
比较二个文件内容的不同，忽略大小写的差异：
[root@linuxcool ~]#sdiff -i File1.txt File2.txtWelcome to linuxprobe.com			|	Welcome tooo linuxprobe.com
						>
Red Hat certified					Red Hat certified
Free Linux Lessons					Free Linux LeSSonS
						>	////////.....////////
Professional guidance					Professional guidance
Linux Course						Linux Course


command_name: column
chinese_name: column命令 – 格式化内容为多列格式
description: column命令来自英文单词“列、柱子”，其功能是用于格式化内容为多列格式。处理对象可以是标准输入，亦可以为文件，column命令会自动化地将这些内容修改为多个列的形式。
syntax: column [参数] [标准输入或文件名]
category: 文档编辑(document)
parameters:
|-c: 设置输出格式化为显示列宽 |
|-e: 不忽略空白行 |
|-n: 禁止将多个相邻分隔符合并 |
|-s: 设置自定义间隔符 |
|-t: 确定输入包含的列数并创建表 |
|-x: 在填充行之前填充列 |

examples:
示例1: 
定义句号为间隔符，格式化内容为多个列：
[root@linuxcool ~]#echo linuxprobe.linuxcool.linuxdown | column -s . -tlinuxprobe  linuxcool  linuxdown

示例2: 
定义数字3为间隔符，格式化内容为多个列：
[root@linuxcool ~]#echo 123123123123 | column -s 3 -t12  12  12  12


command_name: tac
chinese_name: tac命令 – 反向显示文件内容
syntax: tac [参数] [文件名]
parameters: |-b: 在行前添加分隔标志 | |-r: 将分隔标志视作正则表达式来解析 | |-s: 使用字符串作为分隔标志 | |--help: 显示帮助信息 | |--version: 显示版本信息 |
category: 文档编辑(document)
description:
tac命令的功能是用于反向显示文件内容，即常见的查看文件内容命令cat的反写形式，非常有趣，好记。也就是说，当我们使用tac命令查看文件内容时，最先显示的是最后一行，倒数第二行，倒数第三行，以此类推到最后显示原本文件的第一行内容。

examples:
示例1: 
反向显示指定文件的内容：
[root@linuxcool ~]#cat File.txthello world
hello linuxcool.com
hello linuxprobe.com
[root@linuxcool ~]#tac File.txthello linuxprobe.com
hello linuxcool.com
hello world


command_name: join
chinese_name: join命令 – 连接两个文件
description: join的连接操作简言之就是将两个具有相同域的纪录给挑选出来，再将这些纪录所有的域放到一行。 注意：join在对两个文件进行连接时，两个文件必须都是按照连接域排好序的，按其他域排序是无效的。
syntax: join [参数] [文件1] [文件2]
category: 文档编辑(document)
parameters:
|-a1或-a2: 除了显示共同域的纪录之外，-a1显示第一个文件没有共同域的纪录，-a2显示第二个文件中没有共同域的纪录 |
|-i: 忽略大小写 |
|-o: 设置结果显示的格式 |
|-t: 改变域的分隔符 |
|-v1或-v2: 不显示共同域的纪录之外，-v1显示第一个文件没有共同域的纪录，-v2显示第二个文件中没有共同域的纪录 |
|-1或-2: -1用来设置文件1连接的域，-2用来设置文件2连接的域 |

examples:
示例1: 
将两个文件的具有共同域的纪录连接在一起：
[root@linuxcool ~]# cat file.dbA li:20:men:anhuiB wang:21:women:jiangsuC zhang:22:men:anhuiD liu:23:women:ShanghaiE chen:23:women:Hefei[root@linuxcool ~]# cat file_hobby.dbA li:SongB wang:shoppingC zhang:pingpongD liu:chessE Wang:reading[root@linuxcool ~]# join -t: file.db file_hobby.dbA li:20:men:anhui:SongB wang:21:women:jiangsu:shoppingC zhang:22:men:anhui:pingpongD liu:23:women:Shanghai:chess

示例2: 
-a1还显示第一个文件中没有共同域的纪录，-a2则显示第二个：
[root@linuxcool ~]# join -t: -a1 file.db file_hobby.dbA li:20:men:anhui:SongB wang:21:women:jiangsu:shoppingC zhang:22:men:anhui:pingpongD liu:23:women:Shanghai:chessE chen:23:women:Hefei[root@linuxcool ~]# join -t: -a2 file.db file_hobby.dbA li:20:men:anhui:SongB wang:21:women:jiangsu:shoppingC zhang:22:men:anhui:pingpongD liu:23:women:Shanghai:chessE Wang:reading

示例3: 
设置指定格式的域来显示出来（将具有共同纪录的域按照姓名+性别+爱好的格式显示出来）：
[root@linuxcool ~]# join -t: -o1.1 1.3 2.2 file.db file_hobby.dbA li:men:SongB wang:women:shoppingC zhang:men:pingpongD liu:women:chess


command_name: uniq
chinese_name: uniq命令 – 去除文件中的重复内容行
syntax: uniq [参数] [文件名]
category: 文档编辑(document)
description:
uniq命令来自英文单词unique的缩写，中文译为“独特的、唯一的”，其功能是去除文件中的重复内容行。uniq命令能够去除掉文件中相邻的重复内容行，如果两端相同内容，但中间夹杂了其他文本行，则需要先使用sort命令进行排序后再去重，这样保留下来的内容就都是唯一的了。

parameters:
|-c: 显示每行在文本中重复出现的次数 |
|-d: 设置每个重复纪录只出现一次 |
|-D: 显示所有相邻的重复行 |
|-f: 跳过对前N个列的比较 |
|-i: 忽略大小写 |
|-s: 跳过对前N个字符的比较 |
|-w: 仅对前N个字符进行比较 |
|-z: 设置终止符（默认为换行符） |
|--help: 显示帮助信息 |
|--version: 显示版本信息 |

examples:
示例1: 
对指定的文件进行去重操作：
[root@linuxcool ~]# cat File 
test 30 
test 30 
test 30 
Hello 95 
Hello 95 
Hello 95 
Hello 95 
Linux 85 
Linux 85 
[root@linuxcool ~]# uniq File 
test 30 
Hello 95 
Linux 85

示例2: 
统计相同内容行在文件中重复出现的次数：
[root@linuxcool ~]# uniq -c File 
3 test 30 
4 Hello 95 
2 Linux 85

示例3: 
仅显示指定文件中没有存在完全相同内容行的信息：
[root@linuxcool ~]# uniq -u File 
[root@linuxcool ~]#

示例4: 
仅显示指定文件中存在完全相同内容行的信息：
[root@linuxcool ~]# uniq -d File 
test 30 
Hello 95 
Linux 85


command_name: sed
chinese_name: sed命令 – 批量编辑文本文件
syntax: sed [参数] [文件名]
category: 文档编辑(document)
description:
sed命令来自英文词组stream editor的缩写，其功能是利用语法/脚本对文本文件进行批量的编辑操作。sed命令最初由贝尔实验室开发，后被众多Linux系统集成，能够通过正则表达式对文件进行批量编辑，让重复性的工作不再浪费时间。

parameters:
|-e: 使用指定脚本处理输入的文本文件 |
|-f: 使用指定脚本文件处理输入的文本文件 |
|-h: 显示帮助信息 |
|-i: 直接修改文件内容，而不输出到终端 |
|-r: 支持扩展正则表达式 |
|-V: 显示版本信息 |

examples:
示例1: 
查找指定文件中带有某个关键词的行：
[root@linuxcool ~]# cat -n File.cfg | sed -n '/root/p' 
    20 rootpw --iscrypted $6$c2VGkv/8C3IEwtRt$iPEjNXml6v5KEmcM9okIT.Op9/LEpFejqR. kmQWAVX7fla3roq.3MMVKDahnv0l/pONz2WMNecy17WJ8Ib0iO1 
    40 pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty

示例2: 
将指定文件中某个关键词替换成大写形式：
[root@linuxcool ~]# sed 's/root/ROOT/g' File.cfg 
………………省略输出信息………………

示例3: 
读取指定文件，删除所有带有某个关键词的行：
[root@linuxcool ~]# sed '/root/d' File.cfg 
………………省略输出信息………………

示例4: 
读取指定文件，在第4行后插入一行新内容：
[root@linuxcool ~]# sed -e 4a\NewLine File.cfg 
#version=RHEL8 
ignoredisk --only-use=sda 
autopart --type=lvm 
# Partition clearing information 
NewLine
………………省略部分输出信息………………

示例5: 
读取指定文件，在第4行后插入多行新内容：
[root@linuxcool ~]# cat File.cfg | sed -e '4a NewLine1 \ 
> NewLine2 \ 
> NewLine3 ' 
#version=RHEL8 
ignoredisk --only-use=sda 
autopart --type=lvm 
# Partition clearing information 
NewLine1 
NewLine2 
NewLine3 
clearpart --none --initlabel 
# Use graphical install 
graphical 
………………省略部分输出信息………………

示例6: 
读取指定文件，删除第2～5行的内容：
1 root:x:0:0:root:/root:/bin/bash 
     6 sync:x:5:0:sync:/sbin:/bin/sync 
     7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown 
     8 halt:x:7:0:halt:/sbin:/sbin/halt 
………………省略部分输出信息………………

示例7: 
读取指定文件，替换第2～5行的内容：
[root@linuxcool ~]# sed '2,5c NewSentence' File.cfg 
#version=RHEL8 
NewSentence 
# Use graphical install 
graphical 
repo --name="AppStream" --baseurl=file:///run/install/repo/AppStream 
# Use CDROM installation media 
cdrom 
………………省略部分输出信息………………

示例8: 
读取指定文件的第3～7行：
[root@linuxcool ~]# sed -n '3,7p' File.cfg 
autopart --type=lvm 
# Partition clearing information 
clearpart --none --initlabel 
# Use graphical install 
graphical


command_name: logrotate
chinese_name: logrotate命令 – 管理记录文件
syntax: logrotate [参数]
category: 系统管理(system)
description:
使用logrotate指令，可以让你轻松管理系统所产生的记录文件。它提供自动替换，压缩，删除和邮寄记录文件，每个记录文件都可被设置成每日，每周或每月处理，也能在文件太大时立即处理。您必须自行编辑，指定配置文件，预设的配置文件存放在/etc目录下，文件名称为logrotate.conf。

parameters:
|--help: 在线帮助 |
|-d: 详细显示指令执行过程，便于排错或了解程序执行的情况 |
|-f: 强行启动记录文件维护操作，纵使logrotate指令认为没有需要亦然 |
|-s: 使用指定的状态文件 |
|-v: 显示指令执行过程 |
|-usage: 显示指令基本用法 |

examples:
示例1: 
指定记录文件：
[root@linuxcool ~]# logrotate /root/log.config

示例2: 
强行启动记录文件维护操作：
[root@linuxcool ~]# logrotate -f /root/log.config

示例3: 
显示配置文件的执行过程：
[root@linuxcool ~]# logrotate -d -f /etc/logrotate.d/nginx


command_name: sudo
chinese_name: sudo命令 – 授权普通用户执行管理员命令
syntax: sudo [参数] [命令]
category: 系统管理(system)
description:
sudo命令来自英文词组super user do的缩写，中文译为“超级用户才能干的事”，其功能是授权普通用户执行管理员命令。使用su命令变更用户身份虽然好用，但是需要将管理员的账户密码告诉他人，总感觉心里不踏实，幸好有了sudo服务。
使用sudo服务可以授权某个指定的用户执行某些指定的命令。通过在满足工作需求的前提下尽可能少放权，可保证服务器的安全。配置sudo服务时，可以直接编辑配置文件/etc/sudoers，亦可以执行visudo命令进行设置，一切妥当后普通用户便能够使用sudo命令进行操作了。

parameters:
|-A: 使用图形化界面读取用户密码值 |
|-b: 将要执行的命令放在后台执行 |
|-E: 保留用户原本的环境变量信息 |
|-h: 显示帮助信息 |
|-H: 将用户的家目录环境变量设置为/root |
|-i: 模拟用户的初始登录过程 |
|-k: 下次强制验证当前用户的密码 |
|-K: 删除用户的缓存信息，让密码有效期立即结束 |
|-r: 设置新的SELinux映射角色 |
|-s: 设置默认调用的Shell终端 |
|-t: 设置新的SELinux安全上下文类型 |
|-u: 设置使用哪位用户的身份执行 |
|-v: 设置需要验证当前用户的密码 |
|-v: 更新用户的缓存信息，让密码有效期延长5分钟 |
|-V: 显示版本信息 |

examples:
示例1: 
查看当前用户有哪些被sudo服务授权的命令：
[linuxprobe@linuxcool ~]$ sudo -l

示例2: 
使用某个被sudo服务允许的用户身份来执行管理员的重启命令：
[root@linuxcool ~]# sudo -u linuxprobe "reboot"

示例3: 
使用当前用户身份，基于sudo命令来执行管理员的重启命令：
[root@linuxcool ~]# sudo reboot


command_name: tty
chinese_name: tty命令 – 打印输出连接到标准输入的终端文件名
syntax: tty [参数]
category: 系统管理(system)
description:
tty是 Teletype（电传打字机）的缩写，电传打字机是最早出现的一种终端设备，现在通常使用 TTY 来统称各种类型的终端设备，如键盘 、打印机 、显示器等。
pty（虚拟终端): 如果我们远程telnet到主机或使用xterm时,也需要一个终端交互，这就是虚拟终端pty(pseudo-tty) 。
pts/ptmx(pts/ptmx结合使用，进而实现pty): pts(pseudo-terminal slave)是pty的实现方法，与ptmx(pseudo-terminal master)配合使用实现pty。

parameters:
|-s/--silent/--quiet: 无打印输出结果，只是返回退出状态码 |
|--help: 打印输出tty命令的帮助信息并退出 |
|--version: 打印输出当前tty命令版本信息 |

examples:
示例1: 
直接输入tty命令，打印输连接到当前标准输入的终端设备文件名：
[root@linuxcool ~]# tty
/dev/pts/1

示例2: 
输入”tty -s/--silent/--quiet”无直接返回结果，需要通过”echo $?”查看返回的退出码：
[root@linuxcool ~]# tty -s
[root@linuxcool ~]# echo $?
0


command_name: pkill
chinese_name: pkill命令 – 依据进程名杀死指定进程
syntax: pkill [参数] [进程名]
examples: 示例1: 杀死指定名称的进程： [root@linuxcool ~]#pkill sshd
category: 系统管理(system)
description:
pkill命令来自英文词组“process kill”的缩写，其功能是依据进程名杀死指定进程。pkill命令与kill、killall十分相似，都是用于杀死（结束）指定进程的命令。
*获取进程名称可使用ps命令，获取进程号码可使用pidof命令。

parameters:
|-c: 匹配进程ID |
|-g: 匹配进程组 |
|-l: 使用长格式显示 |
|-n: 匹配最近生成的进程 |
|-o: 匹配最早生成的进程 |
|-P: 匹配父进程ID |
|-t: 匹配开启进程的终端 |
|-u: 匹配用户ID |
|-v: 反向选择结果 |
|-z: 匹配区域ID |


command_name: dircolors
chinese_name: dircolors命令 – 设置 ls 指令在显示目录或文件时所用的色彩
description: dircolors可根据色彩配置文件来设置LS_COLORS环境变量或是显示设置LS_COLORS环境变量的shell指令。
syntax: dircolors [参数]
examples: 示例1: 显示默认值： [root@linuxcool ~]# dircolors -p
category: 系统管理(system)
parameters:
|--help: 在线帮助 |
|--vesion: 显示版本信息 |
|-b: 显示在Boume shell中，将LS_COLORS设为目前预设置的shell指令 |
|-c: 显示在C shell中，将LS_COLORS设为目前预设置的shell指令 |
|-p: 显示预设置 |


command_name: chmem
chinese_name: chmem命令 – 设置内存
description: chmem命令将特定大小或范围的内存设置为联机或离线。当设置内存联机时，chmem从最低内存块开始数字。当设置内存脱机时，chmem从最高内存块编号
syntax: chmem [参数]
category: 系统管理(system)
parameters:
|-b, --blocks: 为enable和--disable选项使用blockrange参数，而不是range或size |
|-d, --disable: 设置内存的指定范围、大小或块范围为离线 |
|-e, --enable: 将指定的内存范围、大小或块范围设置为联机 |
|-z, --zone: 选择要在其中设置指定范围、大小和或在线或离线的内存块范围。默认情况下，内存将设置为可移动的在线区域 |
|-h, --help: 帮助信息 |
|-v, --verbose: 输出详细信息 |
|-V, --version: 版本信息 |

examples:
示例1: 
将1024 Mb的内存设置为联机：
[root@linuxcool ~]# chmem --enable 1024

示例2: 
将2 Gb内存设置为联机：
[root@linuxcool ~]# chmem -e 2g

示例3: 
从开始的内存范围0x00000000e40000，以0x00000000f3ffffffff结尾设置为脱机：
[root@linuxcool ~]# chmem --disable 0x00000000e4000000-0x00000000f3ffffff

示例4: 
设置编号10的存储器块离线：
[root@linuxcool ~]# chmem -b -d 10


command_name: anacron
chinese_name: anacron命令 – 定期运行命令
description: anacron命令可用于定期执行命令，频率以天为单位指定，与cron（8）不同的是，它不假定机器连续运行。因此，它可以用于每天不运行24小时的机器上，以控制通常由cron控制的每日、每周和每月作业。
syntax: anacron [参数]
category: 系统管理(system)
parameters:
|-f: 强制执行作业，忽略时间戳 |
|-u: 只将作业的时间戳更新到当前日期，但不运行任何操作 |
|-s: 序列化作业的执行，在前一个作业完成之前，anacron不会启动新作业 |
|-d: 在此模式下，anacron将信息性消息输出到标准错误和syslog,作业的输出像往常一样通过邮件发送 |
|-q: 禁止将消息显示为标准错误,仅适用于-d参数结合使用 |

examples:
示例1: 
测试anacron语法：
[root@linuxcool ~]# cat /etc/anacrontab

示例2: 
使用/root/myspool存储/etc/myanacron文件中定义的作业的所有时间戳信息：
[root@linuxcool ~]# anacron -S /root/myspool -t /etc/myanacron

示例3: 
使用-f参数，强制执行作业，忽略时间戳：
[root@linuxcool ~]# anacron -f /root/myspool

示例4: 
只将作业的时间戳更新到当前日期，但不运行任何操作：
[root@linuxcool ~]# anacron -d -u


command_name: date
chinese_name: date命令 – 显示或设置系统日期与时间
syntax: date [参数] [对象]
category: 系统管理(system)
description:
date命令的功能是显示或设置系统日期与时间信息。运维人员可以根据想要的格式来输出系统时间信息，时间格式为MMDDhhmm[CC][YY][.ss]，其中MM为月份，DD为日，hh为小时，mm为分钟，CC为年份前两位数字，YY为年份后两位数字，ss为秒的值。

parameters:
|-d: 显示系统时间 |
|-f: 从日期文件中按行读入时间信息 |
|-r: 显示文件内容的最后修改时间 |
|-R: 以RFC-2822格式显示时间 |
|-u: 显示格林尼治时间 |
|--help: 显示帮助信息 |

examples:
示例1: 
以默认格式输出系统当前的日期与时间信息：
[root@linuxcool ~]# date 
Thu May 18 09:14:35 CST 2023

示例2: 
按照“年-月-日”的指定格式输出系统当前的日期信息：
[root@linuxcool ~]# date "+%Y-%m-%d" 
2023-05-18

示例3: 
按照“小时:分钟:秒”的指定格式输出系统当前的时间信息：
[root@linuxcool ~]# date "%H:%M:%S" 
09:14:35

示例4: 
设置当前系统为指定的日期和时间：
[root@linuxcool ~]# date -s "20241101 8:30:00" 
Sun Nov 1 08:30:00 CST 2024


command_name: semodule
chinese_name: semodule命令 – 管理SELinux策略模块
syntax: semodule [参数] [模块名]
category: 系统管理(system)
description:
semodule命令来自英文词组“Manage SELinuxpolicy modules”的缩写，其功能是用于管理SELinux策略模块。Linux系统管理员可以使用semodule命令对SELinux策略模块进行查看、安装、重装、升级、删除、激活或禁用等操作，并能够强制重新加载策略而不执行其他任务。

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

examples:
示例1: 
显示已安装的SELinux策略模块列表：
[root@linuxcool ~]#semodule -labrt
accountsd
acct
afs
aiccu
aide
ajaxterm
alsa
amanda
amtu
………………省略部分输出信息………………

示例2: 
禁用指定的SELinux策略模块：
[root@linuxcool ~]#semodule -d apache

示例3: 
激活指定的SELinux策略模块：
[root@linuxcool ~]#semodule -e apache

示例4: 
安装或替换指定的基本策略包：
[root@linuxcool ~]#semodule -b base.pp

示例5: 
安装或替换指定的非基本策略包：
[root@linuxcool ~]#semodule -i base.pp


command_name: testparm
chinese_name: testparm命令 – 测试Samba的设置是否正确无误
syntax: testparm [参数]
parameters: |-s: 直接列出Samba服务定义信息 |
category: 系统管理(system)
description:
testparm命令用于测试Samba的设置是否正确无误，执行testparm(test parameter)指令可以简单测试Samba的配置文件，假如测试结果无误，Samba常驻服务就能正确载入该设置值，但并不保证其后的操作如预期般一切正常。

examples:
示例1: 
查看Samba配置，按Enter键显示Samba配置结果：
[root@linuxcool ~]# testparm

示例2: 
直接查看Samba配置 ：
[root@linuxcool ~]# testparm -s


command_name: reboot
chinese_name: reboot命令 – 重新启动计算机
description: reboot命令的功能是用于重新启动计算机。与halt和shutdown命令相似，reboot命令的作用就是用于重启系统，简单快捷。
syntax: reboot [参数]
examples: 示例1: 重启当前系统： [root@linuxcool ~]#reboot 示例2: 模拟重启当前系统： [root@linuxcool ~]#reboot -w
category: 系统管理(system)
parameters:
|-d: 不将重启系统的过程写入日志中 |
|-f: 强制重启系统而不询问 |
|-i: 关闭所有的网络服务然后再重启系统 |
|-n: 直接重启系统，不保存当前资料 |
|-w: 仅模拟重启过程，将过程写入日志中 |
|--verbose: 显示执行过程详细信息 |


command_name: lslk
chinese_name: lslk命令 – 列出本地锁
syntax: lslk [参数] [路径]
category: 系统管理(system)
description:
lslk命令的作用是可以列出本地inode上的文件锁的信息。
锁可以属于本地系统上的进程，也可以属于本地系统是NFS服务器的NFS客户端系统上的进程。
注意选定文件如果没有任何选项，lslk命令将列出与系统本地文件关联的所有锁。 指定选择选项后，将禁用所有锁的列表，并且将选择选项进行或运算。仅列出满足任何选择条件的锁。 指定-a选项时，将禁用所有锁的列表，并且将选择选项与在一起。仅列出符合所有选择条件的锁。

parameters:
|-a: 列出选择选项进行AND运算 |
|-b: 避免内核函数可能会阻塞 |
|-n: 禁止在网络主机名和网络地址之间互相转化 |
|-i<主机名>: 按拥有进程是Internet主机还是网络地址选择锁的列表 |
|-v: 列出版本信息 |
|-k<内核名称>: 以指定内核名称作为默认的内核名称列出文件路径 |
|-p<进程PID>: 按所属的进程标识（PID）号选择锁的列表 |
|-S<超时时间>: 为内核函数lstat、readlink和stat指定一个可选的超时时间，单位为秒，否则可能出现死锁。超时时间最小设置为2，在默认情况下是15，当没有指定值时，则使用默认值 |
|-w: 禁止非致命警告消息 |

examples:
示例1: 
列出所有的锁：
[root@linuxcool ~]# lslk

示例2: 
从主机linuxcool.com上列出锁：
[root@localhost ~]# lslk -i linuxcool.com

示例3: 
列出进程1234和8888持有的锁：
[root@linuxcool ~]# lslk -p 1234,8888


command_name: ctrlaltdel
chinese_name: ctrlaltdel命令 – 设置Ctrl+Alt+Del组合键的功能
syntax: ctrlaltdel [参数]
parameters: |hard: 硬复位 | |soft: 软复位 | |--help: 显示帮助信息 | |--version: 显示版本信息 |
category: 系统管理(system)
description:
ctrlaltdel命令来自英文词组“control alter delete”的缩写，其功能是用于设置Ctrl+Alt+Del组合键的功能。Linux系统中若同时按下“Ctrl+Alt+Del”组合的话，默认会让用户选择是否关闭或重启服务器，而系统中的ctrlaltdel命令则可以设置重启或关闭服务器时使用的模式，分别为hard（硬复位）和soft（软复位）两种。
硬复位会直接关闭或重启服务器而无需调用sync同步命令，而软复位则会先发送SIGINT中断信号给init进程，随后同步后再关闭或重启服务器。

examples:
示例1: 
设置关闭或重启服务器为硬复位模式：
[root@linuxcool ~]#ctrlaltdel hard

示例2: 
设置关闭或重启服务器为软复位模式：
[root@linuxcool ~]#ctrlaltdel soft

示例3: 
查看命令版本信息：
[root@linuxcool ~]#ctrlaltdel --versionctrlaltdel from util-linux 2.32.1


command_name: exit
chinese_name: exit命令 – 退出终端
description: exit命令的功能是退出终端。在终端或shell脚本中执行exit命令默认会直接退出终端，亦可在命令后添加状态值参数，这样退出后可方便后续脚本判断本次执行结果是否成功（例如执行echo $?命令）。
syntax: exit [参数]
parameters: |0: 执行成功 |
category: 系统管理(system)
examples:
示例1: 
退出当前shell终端：
[root@linuxcool ~]# exit

示例2: 
退出当前SSH连接终端：
[root@linuxcool ~]# exit 
logout Connection to 192.168.10.10 closed.


command_name: mkbootdisk
chinese_name: mkbootdisk命令 – 建立启动盘
description: mkbootdisk命令用来为当前运行的系统创建能够单独使用的系统引导软盘，以便在系统出现故障时能够启动操作进行适当的修复工作。
syntax: mkbootdisk [参数]
parameters: |--device<设备>: 指定设备 | |--noprompt: 不会提示用户插入磁盘 | |--verbose: 执行时显示详细的信息 | |--version: 显示版本信息 |
category: 系统管理(system)
examples:
示例1: 
以核心版本2.2.18设定开机：
[root@linuxcool ~]# mkbootdisk --device /dev/fd0 2.2.18

示例2: 
显示版本信息：
[root@linuxcool ~]# mkbootdisk --version


command_name: rpmlint
chinese_name: rpmlint命令 – 检查rpm软件包中的常见错误
syntax: rpmlint [参数] [文件或软件包]
category: 系统管理(system)
description:
rpmlint命令的作用是可以检查rpm软件包中常见的错误。使用rpmlint命令需要先安装rpmlint软件包。
rpmlint命令可用于在上传之前测试单个软件包或检查整个发行版。默认情况下，将对包进行全面检查，根据需要可以使用参数执行特定的检查。

parameters:
|-I: 未指定的消息标识符显示解释然后退出 |
|-v: 详细模式 |
|-C<目录>: 在路径列表的前面插入指定目录，来进行加载检查 |
|-a: 检查所有已安装的软件包 |
|-c: 只运行指定的检查 |
|-i: 显示报告信息的说明 |
|-E<目录>: 为提取临时文件指定基本目录 |
|-n: 忽略输出过滤 |
|-f<配置文件>: 从指定的文件加载用户的配置 |
|-o<值>: 覆盖配置选项 |

examples:
示例1: 
检查指定软件包中的错误：
[root@linuxcool ~]# rpmlint bind

示例2: 
检查所有的已安装软件包：
[root@linuxcool ~]# rpmlint -a

示例3: 
详细检查所有已安装的软件包：
[root@linuxcool ~]# rpmlint -a -v


command_name: crontab
chinese_name: crontab命令 – 管理定时计划任务
syntax: crontab [参数] [对象]
parameters: |-e: 编辑任务 | |-i: 删除前询问用户是否确认 | |-l: 显示任务 | |-u: 设置用户名 | |--help: 显示帮助信息 |
category: 系统管理(system)
description:
crontab命令来自英文词组cron table的缩写，其功能是管理定时计划任务。定时计划任务，顾名思义就是计划好的任务，到了时间就会自动执行。在Linux系统中，crond是一个定时计划任务服务，用户只要能够按照正确的格式（分、时、日、月、星期、命令）写入配置文件，那么就会按照预定的周期时间自动执行，而crontab命令则是用于配置定时计划任务的工具名称。
由于定时计划任务非常复杂，本词条仅作简单介绍，建议阅读《Linux就该这么学（第2版）》一书的第4章节。

examples:
示例1: 
管理当前用户的计划任务：
[root@linuxcool ~]# crontab -e

示例2: 
管理指定用户的计划任务：
[root@linuxcool ~]# crontab -e -u linuxprobe

示例3: 
查看当前用户的已有计划任务列表：
[root@linuxcool ~]# crontab -l 
25 3 * * 1,3,5 /usr/bin/tar -czvf File.tar.gz /Dir/www


command_name: sliplogin
chinese_name: sliplogin命令 – 将SLIP接口加入标准输入
syntax: sliplogin [用户名称]
examples: 示例1: 改变用户的连接方式： [root@linuxcool ~]# sliplogin kk
category: 系统管理(system)
description:
sliplogin可将SLIP接口加入标准输入，把一般终端机的连线变成SLIP连线。通常可用来建立SLIP服务器，让远端电脑以SLIP连线到服务器。
sliplogin会去检查/etc/slip/slip.hosts文件中是否有相同的用户名称。通过检查后，sliplogin会调用执行shell script来设置IP地址，子网掩码等网络界面环境。此shell script通常是/etc/slip/slip.login。


command_name: du
chinese_name: du命令 – 查看文件或目录的大小
syntax: du [参数] [文件名]
category: 系统管理(system)
description:
du命令来自英文词组disk usage的缩写，其功能是查看文件或目录的大小。人们经常会把df和du命令混淆，df是用于查看磁盘或分区使用情况的命令，而du命令则是用于按照指定容量单位来查看文件或目录在磁盘中的占用情况。

parameters:
|-a: 显示目录中所有文件大小 |
|-b: 以B为单位显示文件大小 |
|-c: 显示占用磁盘空间的大小总和 |
|-D: 显示符号链接对应原文件的大小 |
|-g: 以GB为单位显示文件大小 |
|-h: 使用易读格式显示文件大小 |
|-k: 以KB为单位显示文件大小 |
|-P: 不显示符号链接对应原文件的大小 |
|-s: 显示子目录总大小 |
|-S: 不显示子目录大小 |
|-X: 排除指定文件 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 |

examples:
示例1: 
以易读的容量格式显示指定目录内各个文件的大小信息：
[root@linuxcool ~]# du -h /etc 
28K     /etc/dnf/modules.d 
20K     /etc/dnf/plugins 
12K     /etc/dnf/protected.d 
64K     /etc/dnf 
16K     /etc/fonts/conf.d 
20K     /etc/fonts
………………省略部分输出信息………………

示例2: 
以易读的格式显示指定目录内总文件的大小信息：
[root@linuxcool ~]# du -sh /Dir 
29M     /Dir

示例3: 
显示指定文件的大小信息（默认单位为KB）：
[root@linuxcool ~]# du File.cfg 
4       File.cfg


command_name: dmesg
chinese_name: dmesg命令 – 显示开机过程信息
syntax: dmesg [参数]
category: 系统管理(system)
description:
dmesg命令来自英文词组“display message”的缩写，其功能是用于显示开机过程信息。Linux系统内核会将开机过程信息存储在环形缓冲区（ring buffer）中，随后再写入到/var/log/dmesg文件里，如果开机时来不及查看这些信息，则可以利用dmesg命令进行调取。

parameters:
|-c: 清空环形缓冲区中的内容 |
|-d: 显示信息时间差 |
|-D: 禁止向终端输出信息 |
|-E: 启用向终端输出信息 |
|-H: 以更易读的格式输出信息 |
|-k: 显示内核信息 |
|-l: 设置输出级别 |
|-L: 显示彩色信息 |
|-n: 设置记录信息的层级 |
|-r: 显示原生消息缓冲区信息 |
|-s: 设置环形缓冲区的大小 |
|-t: 不显示消息时间戳 |
|-T: 显示易读的时间戳格式 |
|-u: 显示用户空间消息 |
|-w: 等待新消息 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 |

examples:
示例1: 
显示全部的系统开机过程信息：
[root@linuxcool ~]#dmesg

示例2: 
显示与指定硬盘设备相关的开机过程信息：
[root@linuxcool ~]#dmesg | grep sda[    5.065202] sd 2:0:0:0: [sda] 41943040 512-byte logical blocks: (21.5 GB/20.0 GiB)
[    5.065253] sd 2:0:0:0: [sda] Write Protect is off
[    5.065255] sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    5.065396] sd 2:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[    5.069757]  sda: sda1 sda2
[    5.083650] sd 2:0:0:0: [sda] Attached SCSI disk
[    8.379578] XFS (sda1): Mounting V5 Filesystem
[    9.009002] XFS (sda1): Ending clean mount

示例3: 
显示与内存相关的开机过程信息：
[root@linuxcool ~]#dmesg | grep memory[    0.000000] Base memory trampoline at [(____ptrval____)] 98000 size 24576
[    0.000000] Early memory node ranges
[    0.000000] PM: Registered nosave memory: [mem 0x00000000-0x00000fff]
[    0.000000] PM: Registered nosave memory: [mem 0x0009e000-0x0009efff]
[    0.000000] PM: Registered nosave memory: [mem 0x0009f000-0x0009ffff]
[    0.000000] PM: Registered nosave memory: [mem 0x000a0000-0x000dbfff]
[    0.000000] PM: Registered nosave memory: [mem 0x000dc000-0x000fffff]
[    0.000000] PM: Registered nosave memory: [mem 0x7fee0000-0x7fefefff]
[    0.000000] PM: Registered nosave memory: [mem 0x7feff000-0x7fefffff]
[    0.033593] Freeing SMP alternatives memory: 32K
[    1.716349] Freeing initrd memory: 26068K
[    1.893488] Non-volatile memory driver v1.3
[    2.374146] Freeing unused kernel memory: 2348K
[    2.382073] Freeing unused kernel memory: 2020K
[    2.382772] Freeing unused kernel memory: 280K
[    4.604351] [drm] Max dedicated hypervisor surface memory is 0 kiB
[    4.604352] [drm] Maximum display memory size is 262144 kiB
[    4.606362] [TTM] Zone  kernel: Available graphics memory: 1006652 kiB

示例4: 
清空环形缓冲区中的已有日志内容：
[root@linuxcool ~]#dmesg -c


command_name: mkbootmedia
chinese_name: mkbootmedia命令 – 创建可引导的Solaris ISO映像
description: mkbootmedia实用程序以媒体根(磁盘上Solaris安装媒体的根)作为输入，并使用mkisofs在文件ISO中创建一个可引导的Solaris ISO映像。
syntax: mkbootmedia[参数]
parameters: |–llabel: 设置标记为ISO映像的标签/卷名称 | |–v: 详细，多个–v选项可增加详细程度 |
category: 系统管理(system)
examples:
示例1: 
根据s10u1的内容创建一个ISO映像并将其刻录到CD / DVD：
[root@linuxcool ~]#/usr/bin/mkbootmedia s10u1 s10u1.iso#/usr/bin/cdrw -i s10u1.iso


command_name: chpasswd
chinese_name: chpasswd命令 – 批量更新密码
syntax: chpasswd [参数]
parameters: |-e: 输入的密码是加密后的密文 | |-m: 当被支持的密码未被加密时，使用MD5加密代替DES加密 | |-h: 显示帮助信息并退出 |
category: 系统管理(system)
description:
chpasswd命令是批量更新用户口令的工具，是把一个文件内容重新定向添加到/etc/shadow中。
chpasswd命令从系统的标准输入读入用户的名称和口令，并利用这些信息来更新系统上已存在的用户的口令。

examples:
示例1: 
运用chpasswd命令来批量修改密码，是linux系统管理中的捷径：
[root@linuxcool ~]# cat user.txt
linuxcool:redhat
[root@linuxcool ~]# chpasswd < user.txt


command_name: bind
chinese_name: bind命令 – 显示或设置键盘按键与其相关的功能
description: 您可以利用bind命令了解有哪些按键组合与其功能，也可以自行指定要用哪些按键组合。
syntax: bind [参数]
category: 系统管理(system)
parameters:
|-d: 显示按键配置的内容 |
|-f<按键配置文件>: 载入指定的按键配置文件 |
|-l: 列出所有的功能 |
|-m<按键配置>: 指定按键配置 |
|-q<功能>: 显示指定功能的按键 |
|-v: 列出目前的按键配置与其功能 |
|--help: 在线帮助 |
|--vesion: 显示版本信息 |

examples:
示例1: 
显示按键组合的所有功能：
[root@linuxcool ~]# bind -l

示例2: 
列出指定功能的按键和按键组合：
[root@linuxcool ~]# bind -q abort


command_name: help
chinese_name: help命令 – 显示帮助信息
description: help命令的功能是显示帮助信息，能够输出shell内部命令的帮助内容，但对于外部命令则无法使用，需要用man或info命令进行查看。
syntax: help [参数] [命令名]
parameters: |-d: 显示命令的简短描述 | |-m: 使用man手册格式显示帮助信息 |
category: 系统管理(system)
examples:
示例1: 
以默认格式显示指定命令的帮助信息：
[root@linuxcool ~]# help cd 
cd: cd [-L|[-P [-e]] [-@]] [dir] 
    Change the shell working directory. 

    Change the current directory to DIR. The default DIR is the value of the 
    HOME shell variable. 

    The variable CDPATH defines the search path for the directory containing 
    DIR. Alternative directory names in CDPATH are separated by a colon (:). 
    A null directory name is the same as the current directory. If DIR begins 
    with a slash (/), then CDPATH is not used.
………………省略部分输出信息………………

示例2: 
以短格式显示指定命令的帮助信息：
[root@linuxcool ~]# help -s cd 
cd: cd [-L|[-P [-e]] [-@]] [dir]

示例3: 
以简短格式显示指定命令的帮助信息：
[root@linuxcool ~]# help -d cd 
cd - Change the shell working directory.

示例4: 
以man手册格式显示指定命令的帮助信息：
[root@linuxcool ~]# help -m cd 
NAME 
    cd - Change the shell working directory. 

SYNOPSIS 
    cd [-L|[-P [-e]] [-@]] [dir] 

DESCRIPTION 
    Change the shell working directory. 

    Change the current directory to DIR. The default DIR is the value of the 
    HOME shell variable. 
………………省略部分输出信息………………


command_name: aulastlog
chinese_name: aulastlog命令 – 打印最近登陆记录
syntax: aulastlog [参数]
parameters: |-u, --user: 仅使用指定的登录名为用户打印最后日志记录 | |--stdin: 使用 stdin 作为审核记录的来源 |
category: 系统管理(system)
description:
aulastlog是一个程序，它打印出计算机的所有用户的最后一个登录名，并使用类似于lastlog命令的方式，将打印登录名、端口和上次登录时间。
如果用户从未登录，将显示消息“从未登录”而不是端口和时间。

examples:
示例1: 
打印linuxcool用户的登陆日志：
[root@linuxcool ~]# aulastlog -u linuxcool

示例2: 
从标准输入中获取登陆日志：
[root@linuxcool ~]# aulastlog --stdin

示例3: 
获取所有用户的登陆日志：
[root@linuxcool ~]# aulastlog


command_name: finger
chinese_name: finger命令 – 查询其他使用者的资料
description: finger命令的功能是用于查询其他使用者的资料，包含本机现在所有用户的登录信息、账户名称、真实名字、登录终端、空闲时间、登入时间以及地址和电话等信息。
syntax: finger [参数] [用户名]
parameters: |-l: 显示用户的详细信息 | |-m: 查找用户的真实姓名 | |-s: 显示用户的基本信息 |
category: 系统管理(system)
examples:
示例1: 
列出当前系统登录用户的相关信息 :
[root@linuxcool ~]#finger -l

示例2: 
显示指定远程用户的相关信息：
[root@linuxcool ~]#finger -m root@192.168.10.10

示例3: 
显示指定本地用户的相关信息：
[root@linuxcool ~]#finger linuxcool


command_name: type
chinese_name: type命令 – 查看命令类型
description: type命令来自英文单词“类型”，其功能是用于查看命令类型，如需区分某个命令是Shell内部指令还是外部命令，则可以使用type命令进行查看。
syntax: type [参数] [命令名称]
parameters: |builtin: 内部指令 | |file: [文件] | |function: 函数 | |keyword: 关键字 | |alias: 别名 | |unfound: 没有找到 |
category: 系统管理(system)
examples:
示例1: 
查看某指定别名命令的类型信息：
[root@linuxcool ~]#type lsls is aliased to `ls --color=auto'

示例2: 
查看某指定Shell内部指令的类型信息：
[root@linuxcool ~]#type cdcd is a shell builtin

示例3: 
查看某指定关键字的类型信息：
[root@linuxcool ~]#type ifif is a shell keyword


command_name: modprobe
chinese_name: modprobe命令 – 内核模块智能加载工具
syntax: modprobe [参数] [模块名]
category: 系统管理(system)
description:
modprobe命令用于智能地向内核中加载模块或者从内核中移除模块。
modprobe命令可载入指定的个别模块，或是载入一组相依的模块。若在载入过程中发生错误，在modprobe会卸载整组的模块。内核模块加载成功或失败信息可以使用dmesg指令来查看。

parameters:
|-a: 加载命令行给出的全部的模块 |
|-c: 显示所有模块的设置信息 |
|-d: 使用排错模式 |
|-l: 显示可用的模块 |
|-r: 从内核中移除模块 |
|-t: 指定模块类型 |
|-s: 记录错误信息到系统日志中 |
|-- -show-depends: 显示模块依赖关系 |
|-v: 执行时显示详细的信息 |
|-V: 显示版本信息 |
|-help: 显示帮助 |

examples:
示例1: 
查看modules的配置文件：
[root@linuxcool ~]# modprobe -c

示例2: 
列出内核中所有已经或者未挂载的所有模块：
[root@linuxcool ~]# modprobe -l

示例3: 
挂载指定模块：
[root@linuxcool ~]# modprobe -v ide-cd

示例4: 
移除指定模块：
[root@linuxcool ~]# modprobe -r ide-cd


command_name: dstat
chinese_name: dstat命令 – 全能系统信息统计工具
syntax: dstat [参数]
category: 系统管理(system)
description:
dstat命令是一个用来替换vmstat、iostat、netstat、nfsstat和ifstat这些命令的工具，是一个全能系统信息统计工具。与sysstat相比，dstat拥有一个彩色的界面，在手动观察性能状况时，数据比较显眼容易观察；而且dstat支持即时刷新，譬如输入dstat 3即每三秒收集一次，但最新的数据都会每秒刷新显示。和sysstat相同的是，dstat也可以收集指定的性能资源，譬如dstat -c即显示CPU的使用情况。

parameters:
|-c: 显示CPU系统占用，用户占用，空闲，等待，中断，软件中断等信息 |
|-d: 显示磁盘读写数据大小 |
|-n: 显示网络状态 |
|-l: 显示系统负载情况 |
|-m: 显示内存使用情况 |
|-g: 显示页面使用情况 |
|-p: 显示进程状态 |
|-s: 显示交换分区使用情况 |
|-r: I/O请求情况 |
|-y: 系统状态 |
|--ipc: 显示ipc消息队列，信号等信息 |
|--socket: 用来显示tcp udp端口状态 |

examples:
示例1: 
分别显示cpu、disk、net、page、system信息：
[root@linuxcool ~]# dstat

示例2: 
每三秒收集一次 cpu、disk、net、page、system 信息 ：
[root@linuxcool ~]# dstat 3

示例3: 
显示CPU系统占用，用户占用，空闲，等待，中断，软件中断等信息 ：
[root@linuxcool ~]# dstat -c

示例4: 
显示磁盘读写数据大小 ：
[root@linuxcool ~]# dstat -d

示例5: 
显示网络状态：
[root@linuxcool ~]# dstat -n


command_name: uptime
chinese_name: uptime命令 – 查看系统负载
syntax: uptime [参数]
parameters: |-p: 以更易读的方式显示 | |-s: 显示本次开机时间 | |--version: 显示版本信息 |
category: 系统管理(system)
description:
uptime命令的功能是查看系统负载，是Linux系统中最常用的命令之一。uptime命令能够显示系统已经运行了多长时间、当前登入用户的数量，以及过去1分钟、5分钟、15分钟内的负载信息。该命令的用法也十分简单，一般不需要加参数，直接输入uptime即可。

examples:
示例1: 
查看当前系统负载及相关信息：
[root@linuxcool ~]# uptime 
05:52:21 up 1:41, 1 user, load average: 0.01, 0.01, 0.00

示例2: 
以更易读的形式显示系统的已运行时间：
[root@linuxcool ~]# uptime -p 
up 1 hour, 39 minutes

示例3: 
显示本次系统的开机时间：
[root@linuxcool ~]# uptime -s 
2024-01-30 04:11:20


command_name: unalias
chinese_name: unalias命令 – 取消命令别名
description: unalias命令用来取消命令别名，是为shell内建命令。如果需要取消任意一个命令别名，则使用该命令别名作为指令的参数选项即可。如果使用-a选项，则表示取消所有已经存在的命令别名。
syntax: unalias [参数] [别名]
parameters: |-a: 取消所有命令别名 |
category: 系统管理(system)
examples:
示例1: 
先设置一个别名：
[root@linuxcool ~]# alias i='ls'
[root@linuxcool ~]# i
IGI  Leader  NetEase

示例2: 
使用unalias命令将已经设置的命令别名”i”取消：
[root@linuxcool ~]# unalias i

示例3: 
上面的命令执行后，系统会将指定的命令别名取消掉。如果再使用该命令别名时，系统将提示如下信息：
[root@linuxcool ~]# i
-bash: i: command not found


command_name: syslog
chinese_name: syslog命令 – 系统默认的日志守护进程
syntax: show syslog [参数]
parameters: |statistics: 统计信息 | |error: 异常日志 | |memory: 内存日志 |
category: 系统管理(system)
description:
syslog 是Linux系统默认的日志守护进程。默认的syslog配置文件是/etc/syslog.conf文件。程序，守护进程和内核提供了访问系统的日志信息。因此，任何希望生成日志信息的程序都可以向 syslog 接口呼叫生成该信息。
几乎所有的网络设备都可以通过syslog协议，将日志信息以用户数据报协议(UDP)方式传送到远端服务器，远端接收日志服务器必须通过syslogd监听UDP 端口514，并根据 syslog.conf配置文件中的配置处理本机，接收访问系统的日志信息，把指定的事件写入特定文件中，供后台数据库管理和响应之用。意味着可以让任何事件都登录到一台或多台服务器上，以备后台数据库用off-line(离线) 方法分析远端设备的事件。
通常，syslog 接受来自系统的各种功能的信息，每个信息都包括重要级。/etc/syslog.conf [文件]通知 syslogd 如何根据设备和信息重要级别来报告信息。

examples:
示例1: 
要向syslog文件/var/log/messages中记录日志信息：
[root@linuxcool ~]# logger this is a test log line

示例2: 
显示系统所有内核日志统计表：
[root@linuxcool ~]# show syslog statistics

示例3: 
显示系统所有异常日志信息:
[root@linuxcool ~]# show system log error

示例4: 
显示日志配置信息：
[root@linuxcool ~]# show log-config

示例5: 
显示内存日志信息：
[root@linuxcool ~]# show log memory notice


command_name: tset
chinese_name: tset命令 – 终端初始化
syntax: tset [参数] [终端]
category: 系统管理(system)
description:
tset命令的作用是可以进行终端初始化。默认终端类型为“unknown”。
如果命令行上没有指定终端类型，则应用-m选项映射，如果终端类型以问号(” ? “)开头，则提示用户确认终端类型。或者可以输入另一个类型来指定新类型。一旦确定了终端类型，就会检索终端。如果没有找到该类型的，则提示用户输入另一种终端类型。
一旦获取了条目，就会设置窗口大小、退格、中断和行终止字符(以及许多其他内容)，并且将终端和制表符初始化字符串发送到标准错误输出。最后，如果擦除、中断和行终止字符已经更改，或者没有设置为默认值，那么它们的值将显示在标准错误输出中。

parameters:
|-w: 调整窗口的大小，以匹配通过setupterm推导的大小 |
|-c: 控制字符和模式 |
|-e<ch>: 将擦除字符设置为ch |
|-i<ch>: 将中断字符设置为ch |
|-I: 不要发送终端或标签初始化字符串到终端 |
|-k<ch>: 将行删除字符设置为ch |
|-m<映射>: 从一个端口类型到一个终端指定一个映射 |
|-Q: 为擦除、中断和行删除字符不显示任何值 |
|-q: 终端类型被显示到标准输出，并且所述终端是不以任何方式进行初始化 |
|-r: 输出终端类型到标准输出 |
|-s: 输出shell命令的序列来初始化环境变量TEERM到标准输出 |

examples:
示例1: 
终端初始化：
[root@linuxcool ~]# tset

示例2: 
显示终端类型：
[root@linuxcool ~]# tset -q

示例3: 
将中断字符设置为ch：
[root@linuxcool ~]# tset -i ch
Interrupt set to c.


command_name: kill
chinese_name: kill命令 – 杀死进程
syntax: kill [参数] 进程号
parameters: |-a: 不限制命令名与进程号的对应关系 | |-l: 显示系统支持的信号列表 | |-s: 设置向进程发送的信号 |
category: 系统管理(system)
description:
kill命令的功能是杀死（结束）进程。Linux系统中如需结束某个进程，既可以使用如service或systemctl这样的管理命令来结束服务，也可以使用kill命令直接结束进程信息。
如使用kill命令后进程并没有结束，则可以使用信号9进行强制杀死动作。

examples:
示例1: 
列出系统支持的全部信号列表：
[root@linuxcool ~]# kill -l 
 1) SIGHUP  	  2) SIGINT 	    3) SIGQUIT   	 4) SIGILL 	   5) SIGTRAP 
 6) SIGABRT 	  7) SIGBUS 	    8) SIGFPE 		 9) SIGKILL 	  10) SIGUSR1 
11) SIGSEGV 	 12) SIGUSR2 	   13) SIGPIPE 	14) SIGALRM 	  15) SIGTERM 
16) SIGSTKFLT 	 17) SIGCHLD 	   18) SIGCONT 	19) SIGSTOP 	  20) SIGTSTP 
21) SIGTTIN 	 22) SIGTTOU 	   23) SIGURG 		24) SIGXCPU 	  25) SIGXFSZ 
26) SIGVTALRM 	 27) SIGPROF 	   28) SIGWINCH 	29) SIGIO 	  30) SIGPWR 
31) SIGSYS 	 34) SIGRTMIN 	   35) SIGRTMIN+1 	36) SIGRTMIN+2  37) SIGRTMIN+3 
38) SIGRTMIN+4 	 39) SIGRTMIN+5  40) SIGRTMIN+6 	41) SIGRTMIN+7  42) SIGRTMIN+8 
43) SIGRTMIN+9 	 44) SIGRTMIN+10 45) SIGRTMIN+11	46) SIGRTMIN+12 47) SIGRTMIN+13 
48) SIGRTMIN+14	 49) SIGRTMIN+15 50) SIGRTMAX-14	51) SIGRTMAX-13 52) SIGRTMAX-12 
53) SIGRTMAX-11	 54) SIGRTMAX-10 55) SIGRTMAX-9	56) SIGRTMAX-8  57) SIGRTMAX-7 
58) SIGRTMAX-6 	 59) SIGRTMAX-5  60) SIGRTMAX-4	61) SIGRTMAX-3  62) SIGRTMAX-2 
63) SIGRTMAX-1 	 64) SIGRTMAX

示例2: 
结束某个指定的进程（数字为对应的PID值）：
[root@linuxcool ~]# kill 518

示例3: 
强制结束某个指定的进程（数字为对应的PID值）：
[root@linuxcool ~]# kill -9 518


command_name: timedatectl
chinese_name: timedatectl命令 – 设置系统时间与日期
syntax: timedatectl [参数] [对象]
category: 系统管理(system)
description:
timedatectl命令来自英文词组time date control的缩写，其功能是设置系统时间与日期。与使用date命令设置日期时间不同，使用timedatectl命令设置过的日期时间信息将被写入系统配置文件，从而立即且长期有效，不会随系统重启而失效。该命令还能用来查看系统时间与日期，一站式搞定系统时间。

parameters:
|list-timezones: 显示已知时区信息 |
|set-local-rtc 0: 设置硬件始终为UTC时间 |
|set-local-rtc 1: 设置硬件始终为本地时间 |
|set-ntp (true/false): 开启或关闭NTP时间服务器同步功能 |
|set-timezone ZONE: 设置系统时区 |
|status: 显示当前时间状态 |

examples:
示例1: 
查看当前系统中的时区、日期、时间等信息：
[root@linuxcool ~]# timedatectl status 
               Local time: Fri 2023-10-21 16:23:57 CST 
           Universal time: Fri 2023-10-21 08:23:57 UTC 
                 RTC time: Fri 2023-10-21 16:23:55 
                Time zone: Asia/Shanghai (CST, +0800) 
System clock synchronized: no 
              NTP service: active 
          RTC in local TZ: no

示例2: 
关闭NTP时间服务器同步功能：
[root@linuxcool ~]# timedatectl set-ntp false

示例3: 
设置系统日期：
[root@linuxcool ~]# timedatectl set-time 2024-05-18

示例4: 
设置系统时间：
[root@linuxcool ~]# timedatectl set-time 20:18

示例5: 
查看可选时区：
[root@linuxcool ~]# timedatectl list-timezones 
Africa/Abidjan 
Africa/Accra 
Africa/Addis_Ababa 
Africa/Algiers
Africa/Asmara 
Africa/Bamako 
Africa/Bangui 
Africa/Banjul 
………………省略部分输出信息………………

示例6: 
设置系统时区：
[root@linuxcool ~]# timedatectl set-timezone "Asia/Shanghai"


command_name: metassist
chinese_name: metassist命令 – 支持Solaris Volume Manager的自动卷创建实用程序
description: metassist命令通过自动化提供使用常见Solaris卷管理器任务的帮助。
syntax: metassist[参数]
category: 系统管理(system)
parameters:
|–c: 输出将执行指定或生成的卷配置的命令脚本 |
|–d: 输出满足指定或生成的卷请求的卷配置 |
|–f: 指定该卷在故障后是否应支持自动组件更换 |
|–nname: 指定新卷的名称 |
|–pn: 指定存储卷所需的路径数 |
|–vvalue: 指定详细程度 |

examples:
示例1: 
在控制器1和控制器2的可用设备上创建一个双向36Gb镜像。它将卷放置在磁盘集mirrorset中：
[root@linuxcool ~]# metassist create -r 2 -a c1,c2 -s mirrorset -S 36GB

示例2: 
创建具有附加容错功能的镜像：
[root@linuxcool ~]# metassist create -f -r 2 -a c1,c2 -s mirrorset -S 36GB

示例3: 
确定并实现满足请求文件中指定的请求的配置：
[root@linuxcool ~]# metassist create -F request.xml

示例4: 
确定配置并将其保存在volume-config文件中：
[root@linuxcool ~]# metassist create -d -F request.xml > volume-config

示例5: 
实现给定的vol-config：
[root@linuxcool ~]# metassist create -F config.xml

示例6: 
将给定的vol-config转换为Shell脚本：
[root@linuxcool ~]# metassist create -c -F config.xml > setupvols.sh


command_name: atrm
chinese_name: atrm命令 – 删除待执行的任务
syntax: atrm [参数] [任务号]
parameters: |-V: 显示版本号 | |-d<任务编号>: 将指定任务编号的待执行任务删除 |
examples: 示例1: 删除1、2、3号任务： [root@linuxcool ~]# atrm 1 2 3 示例2: 删除指定编号任务： [root@linuxcool ~]# atrm -d 055
category: 系统管理(system)
description:
atrm命令的作用是删除待执行任务队列中的指定任务。
通常，先使用atq命令查询待执行任务列表以显示任务号，再使用atrm指令删除具体任务，被删除的任务到指定时间后将不会被执行。可以在命令行中一次删除多个任务，多个任务之间用空格隔开。


command_name: screen
chinese_name: screen命令 – 多重视窗管理程序
syntax: screen [参数] [对象]
category: 系统管理(system)
description:
screen命令来自英文单词“屏幕”，其功能是用于管理终端窗口的多重视窗。所谓的视窗，实际是指Linux系统中一个全屏幕的文字模式画面，由于默认每个终端窗口单一时间只能执行一个命令任务，难免会造成视窗界面的浪费，我们能否将终端界面改造成多个视窗呢？类似于某些股票管理软件，左侧是大盘数据，右侧是账户信息，上面是系统时间，下面再来些专家建议，这样就要用到screen服务程序了。

parameters:
|-A: 调整视窗尺寸为终端界面大小 |
|-d: 将指定视窗作业离线 |
|-h: 设置视窗缓冲区的行数 |
|-ls: 显示全部的作业 |
|-m: 强制建立新的视窗 |
|-r: 恢复指定视窗作业 |
|-R: 先尝试恢复离线作业，失败则建立新的视窗 |
|-s: 建立新视窗时的终端 |
|-v: 显示版本信息 |
|-x: 恢复此前已离线的视窗作业 |
|-wipe: 检查所有的作业并删除无法使用的 |

examples:
示例1: 
创建新的视窗：
[root@linuxcool ~]#screen

示例2: 
创建新的视窗并执行指定命令任务：
[root@linuxcool ~]#screen vim File.txt

示例3: 
恢复指定编号的视窗任务：
[root@linuxcool ~]#screen -r 1518

示例4: 
显示已创建的视窗任务列表：
[root@linuxcool ~]#screen ls

示例5: 
将指定名称的视窗任务离线：
[root@linuxcool ~]#screen -d linuxcool


command_name: yum-debug-restore
chinese_name: yum-debug-restore命令 – 重播在调试转储文件中捕获的yum事务
description: yum debug restore是一个程序，它接受由yum debug dump创建的gzip文件，并对其中包含的已安装包的信息执行操作。
syntax: yum debug restore [参数]
category: 系统管理(system)
parameters:
|-C: 只从缓存中运行 |
|-c<配置文件>: 指定配置文件的位置 |
|--output: 输出yum shell命令 |
|shell=<文件>: 输出yum shell命令到一个文件 |
|install-latest: 安装最新的版本而不是指定版本 |

examples:
示例1: 
借助yum-debug-dump创建的gzip压缩文件来进行还原：
[root@linuxcool ~]# yum-debug-dump yum_debug_dump-linuxcool-2020-04-24_22:07:40.txt.gz

示例2: 
使用-C参数从缓存中运行：
[root@linuxcool ~]# yum-debug-dump -C linuxcool.gz

示例3: 
使用install-latest参数获取最新版本的：
[root@linuxcool ~]# yum-debug-dump install-latest net-tools


command_name: printenv
chinese_name: printenv命令 – 显示系统环境变量与值
syntax: printenv [参数] [变量名]
parameters: |--help: 显示帮助信息 | |--null: 使用空字符结束每一行 | |--version: 显示版本信息 |
category: 系统管理(system)
description:
printenv命令来自英文词组“print environment”的缩写，其功能是用于显示系统环境变量与值。Linux系统中的环境变量多达几十个，在它们的共同协作下才有了用户的工作界面，例如PATH变量让命令得以被运行了、MAIL变量让邮件能够被接收了、HOME变量让用户有了家目录等。

examples:
示例1: 
显示系统中所有的环境变量与值：
[root@linuxcool ~]#printenvXDG_MENU_PREFIX=gnome-
LANG=en_US.UTF-8
GDM_LANG=en_US.UTF-8
HISTCONTROL=ignoredups
DISPLAY=:0
HOSTNAME=linuxcool.com
COLORTERM=truecolor
USERNAME=root
XDG_VTNR=2
SSH_AUTH_SOCK=/run/user/0/keyring/ssh
………………省略部分输出信息………………

示例2: 
显示指定环境变量的值：
[root@linuxcool ~]#printenv LANGen_US.UTF-8
[root@linuxcool ~]#printenv HOME/root
[root@linuxcool ~]#printenv MAIL/var/spool/mail/root
[root@linuxcool ~]#printenv PATH/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/root/bin

示例3: 
显示命令的帮助信息：
[root@linuxcool ~]#printenv --helpUsage: printenv [OPTION]... [VARIABLE]...
Print the values of the specified environment VARIABLE(s).
If no VARIABLE is specified, print name and value pairs for them all.

  -0, --null     end each output line with NUL, not newline
      --help     display this help and exit
      --version  output version information and exit

NOTE: your shell may have its own version of printenv, which usually supersedes
the version described here.  Please refer to your shell's documentation
for details about the options it supports.

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Full documentation at: <https://www.gnu.org/software/coreutils/printenv>
or available locally via: info '(coreutils) printenv invocation'


command_name: journalctl-2
chinese_name: [重]journalctl命令 – 检索systemd日志
syntax: journalctl [参数]
category: 系统管理(system)
description:
journalctl命令可以用来查询 systemd-journald.service(8) 所写的 systemd(1) 日志的内容。如果调用时没有参数，则会显示日志的全部内容，从收集到的最早的条目开始。

parameters:
|-a: 完整显示所有字段内容，即使其中包含非打印字符或者字段内容超长 |
|-f: 只显示最新的日志项， 并且不断显示新生成的日志项 |
|-n: 限制显示最新的日志行数 |
|-e: 在分页工具内 立即跳转到日志的尾部 |
|-o: 控制日志的 输出格式 |

examples:
示例1: 
不带任何选项与参数， 表示显示全部日志：
[root@linuxcool ~]# journalctl

示例2: 
仅指定一个匹配条件， 显示所有符合该匹配条件的日志：
[root@linuxcool ~]# journalctl _SYSTEMD_UNIT=avahi-daemon.service

示例3: 
指定了两个不同字段的匹配条件， 显示同时满足两个匹配条件的日志：
[root@linuxcool ~]# journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=28097

示例4: 
指定了同一个字段的两个不同匹配条件， 显示满足其中任意一个条件的日志：
[root@linuxcool ~]# journalctl _SYSTEMD_UNIT=avahi-daemon.service _SYSTEMD_UNIT=dbus.service

示例5: 
使用 “+” 连接 两组匹配条件， 相当于 逻辑”OR”连接：
[root@linuxcool ~]# journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=28097 + _SYSTEMD_UNIT=dbus.service

示例6: 
显示所有 D-Bus 进程产生的日志：
[root@linuxcool ~]# journalctl /usr/bin/dbus-daemon

示例7: 
显示上一次启动所产生的所有内核日志：
[root@linuxcool ~]# journalctl -k -b -1

示例8: 
持续显示 apache.service 服务不断生成的日志：
[root@linuxcool ~]# journalctl -f -u apache


command_name: lsmod
chinese_name: lsmod命令 – 显示已加载模块状态
syntax: lsmod
examples: 示例1: 显示模块信息： [root@linuxcool ~]# lsmod
category: 系统管理(system)
description:
lsmod命令用于显示已经加载到内核中的模块的状态信息。
执行lsmod命令后会列出所有已载入系统的模块。linux操作系统的核心具有模块化的特性，因此在编译核心时，务须把全部的功能都放入核心。可以将这些功能编译成独立的模块，待需要时再分别载入。
lsmod命令支持内核版本为2.5.48以上的linux系统，比此版本老的内核使用命令lsmod.old


command_name: bootadm
chinese_name: bootadm命令 – 管理引导配置
syntax: bootadm [参数]
parameters: |update-archive: 更新引导归档文件 | |set-menu: 设置缺省的引导项 | |list-menu: 显示GRUB 菜单项 | |add-entry: 添加菜单项 |
category: 系统管理(system)
description:
bootadm命令管理启动存档，对于 x86 的启动环境，管理 GRUB（GRand Unified Bootloader）菜单。 对于x86来说，支持Legacy GRUB和GRUB2（但不是同时）。更新存档选项为用户提供了一种更新引导存档的方法，作为一种预防措施或作为恢复程序的一部分。

examples:
示例1: 
更新引导归档文件：
[root@linuxcool ~]# bootadm update-archive

示例2: 
设置缺省的引导项：
[root@linuxcool ~]# bootadm set-menu default=5

示例3: 
显示GRUB 菜单项：
[root@linuxcool ~]# bootadm list-menu


command_name: pidof
chinese_name: pidof命令 – 查找服务进程的PID号码
syntax: pidof [参数] [服务名]
parameters: |-c: 仅显示同一根目录的进程PID值 | |-o: 忽略指定PID的进程 | |-s: 仅显示一个进程PID | |-x: 显示指定运行脚本的进程PID |
category: 系统管理(system)
description:
pidof命令来自英文词组“Process identifier of”的缩写，其功能是用于查找服务进程的PID号码。在没有pidof命令之前，Linux系统运维人员要想获知一个服务进程的PID号码，只得先用ps命令遍历整个系统的进程状态，再使用grep命令进行查找，不仅操作复杂而且效率也很低。现在只需要在命令后加上想查询的服务名称，pidof命令就会查找到具体信息。

examples:
示例1: 
查找某个指定服务所对应的进程PID号码：
[root@linuxcool ~]#pidof sshd7518

示例2: 
查找多个指定服务所对应的进程PID号码：
[root@linuxcool ~]#pidof sshd crond7518 2443


command_name: fsck-ext2
chinese_name: fsck.ext2命令 – 检查及修复ext2文件系统
description: 当ext2文件系统发生错误时，可用fsck.ext2指令尝试加以修复。
syntax: fsck.ext2 [参数]
category: 系统管理(system)
parameters:
|-a: 自动修复文件系统，不询问任何问题 |
|-c: 检查指定的文件系统内，是否存在有损坏的区块 |
|-d: 详细显示指令执行过程，便于排错或分析程序执行的情形 |
|-f: 强制对该文件系统进行完整检查，纵然该文件系统在慨略检查下没有问题 |
|-F: 检查文件系统之前，先清理该保存设备块区内的数据 |
|-v: 详细显示指令执行过程 |
|-V: 显示版本信息 |

examples:
示例1: 
自动修复文件系统，不询问任何问题：
[root@linuxcool ~]# fsck.ext2 -a /dev/sdd1

示例2: 
检查指定的文件系统内，是否存在有损坏的区块：
[root@linuxcool ~]# fsck.ext2 -c /dev/sdd1

示例3: 
详细显示指令执行过程，便于排错或分析程序执行的情形：
[root@linuxcool ~]# fsck.ext2 -d /dev/sdd1

示例4: 
强制对该文件系统进行完整检查，纵然该文件系统在慨略检查下没有问题：
[root@linuxcool ~]# fsck.ext2 -f /dev/sdd1

示例5: 
-F 检查文件系统之前，先清理该保存设备块区内的数据：
[root@linuxcool ~]# fsck.ext2 -F /dev/sdd1


command_name: cal
chinese_name: cal命令 – 显示系统月历与日期
description: cal命令来自英文单词“Calendar”的缩写，中文译为“日历”，其功能是用于显示系统月历与日期信息。简单好用，无需过多介绍，想好需求后参考常用参数表格即可使用。
syntax: cal [参数] [对象]
category: 系统管理(system)
parameters:
|-1: 显示本月的日历 |
|-3: 显示最近三个月的日历 |
|-C: 使用校准模式 |
|-h: 显示帮助信息 |
|-j: 显示在当年中的第几天（儒略日） |
|-l: 单月份输出日历 |
|-m: 将星期一作为每月的第一天 |
|-s: 将星期天作为每月的第一天 |
|-V: 显示版本信息 |
|-y: 显示当年的日历 |

examples:
示例1: 
显示当前月份及对应日期：
[root@linuxcool ~]#calApril 2023     
Su Mo Tu We Th Fr Sa
                   1
 2  3  4  5  6  7  8
 9 10 11 12 13 14 15
16 17 18 19 202122
23 24 25 26 27 28 29
30

示例2: 
显示指定的月历信息，如2025年2月：
[root@linuxcool ~]#cal 2 2025February 2025   
Su Mo Tu We Th Fr Sa
                   1
 2  3  4  5  6  7  8
 9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28

示例3: 
显示最近3个月的日历（上个月、当前月、下个月）：
[root@linuxcool ~]#cal -3March 2023            April 2023             May 2023      
Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa
          1  2  3  4                     1      1  2  3  4  5  6
 5  6  7  8  9 10 11   2  3  4  5  6  7  8   7  8  9 10 11 12 13
12 13 14 15 16 17 18   9 10 11 12 13 14 15  14 15 16 17 18 19 20
19 20 21 22 23 24 25  16 17 18 19 202122  21 22 23 24 25 26 27
26 27 28 29 30 31     23 24 25 26 27 28 29  28 29 30 31         
                      30


command_name: ntpdate
chinese_name: ntpdate命令 – 设置日期和时间
syntax: ntpdate [参数]
category: 系统管理(system)
description:
ntpdate命令来自英文词组”NTP date“的拼写，其功能是用于设置日期和时间。ntpdate命令能够基于NTP协议设置Linux系统的本地日期和时间，利用NTP服务的时钟过滤器来选择最优方案，大大提高了可靠性和精度，让系统时间总是准确无误。

parameters:
|-a: 使用Keyid来认证全部数据包 |
|-b: 自动调整日期时钟 |
|-d: 设置调试方式 |
|-e: 设置延迟认证处理的时间秒数 |
|-k: 设置包含密钥信息的文件名 |
|-o: 设置发送轮询数据包时的NTP版本 |
|-p: 设置从每个服务器上获取的样本数目 |
|-q: 仅进行查询操作 |
|-s: 使用日志服务，而不是用标准输出 |
|-t: 设置等待响应的时间 |
|-u: 设置端口号发送数据包 |
|-v: 显示版本信息 |

examples:
示例1: 
调整日期时钟：
[root@linuxcool ~]#ntpdate -b

示例2: 
向指定NTP服务器同步时间：
[root@linuxcool ~]#ntpdate ntp.aliyun.com

示例3: 
仅向指定NTP服务器查询时间，但不进行同步设置：
[root@linuxcool ~]#ntpdate -q ntp.aliyun.com


command_name: ntsysv
chinese_name: ntsysv命令 – 设置系统服务
description: ntsysv是Red Hat公司遵循GPL规则所开发的程序，它具有互动式操作界面，您可以轻易地利用方向键和空格键等，开启，关闭操作系统在每个执行等级中，所要执行的系统服务。
syntax: ntsysv [参数]
parameters: |-back: 在互动式界面里，显示Back钮，而非Cancel钮 | |-level <等级代号>: 在指定的执行等级中，决定要开启或关闭哪些系统服务 |
category: 系统管理(system)
examples:
示例1: 
编辑运行级别0，1和6：
[root@linuxcool ~]# ntsysv --levels 016

示例2: 
配置系统的各种服务运行等级，并且在交互式界面中显示Back按钮，可在命令行提示符下输入：
[root@linuxcool ~]# ntsysv --back


command_name: time
chinese_name: time命令 – 指令执行时所消耗的时间
syntax: time [参数] [命令]
examples: 示例1: 显示命令date的时间统计结果： [root@linuxcool ~]# time date
category: 系统管理(system)
description:
time命令的用途，在于量测特定指令执行时所需消耗的时间及系统资源等消息。 例如 CPU 时间、记忆体、输入输出等等。需要特别注意的是，部分消息在Linux上显示不出来。这是因为在 Linux 上部分资源的分配函式与 time 指令所预设的方式并不相同，以致于 time 指令无法取得这些资料。

parameters:
|-o: 设定结果输出档。这个选项会将 time 的输出写入 所指定的档案中。 |
|-a: 配合 -o 使用，会将结果写到档案的末端，而不会覆盖掉原来的内容。 |
|-f  FORMAT: 以 FORMAT 字串设定显示方式。 |


command_name: timeout
chinese_name: timeout命令 – 在指定的时间应在运行则杀死该进程
syntax: timeout [参数]
parameters: |-s<信号>: 指定在超时时发送的信号，信号可以是类似“HUP”的信号名或是信号数 | |-k<时间>: 达到给定的时间限制后会强制结束 | |-- -foreground: 在前台运行 |
category: 系统管理(system)
description:
timeout命令作用是运行指定命令，如果在指定时间后在运行则杀死该进程。
timeout命令是GNU核心实用程序软件包的一部分，该软件包几乎安装在所有Linux发行版中。后缀s代表秒（默认值），m代表分，h代表小时，d代表天。如果不添加任何单位，默认是秒。如果持续时间为0，则禁用关联的超时。
默认情况下，timeout在后台运行托管命令。

examples:
示例1: 
发送SIGKILL信号给ping命令，5秒钟后终止：
[root@linuxcool ~]# timeout -s SIGKILL 5s ping www.linuxprobe.com

示例2: 
运行命令一分钟，如果命令没有结束，将在10秒后终止命令：
[root@linuxcool ~]# timeout -k 10s 1m sh linuxcool.sh

示例3: 
在前台运行命令：
[root@linuxcool ~]# timeout --foreground 5m ./linuxcool.sh


command_name: set
chinese_name: set命令 – 显示与设置Shell变量信息
description: set命令的功能是用于显示与设置Shell变量信息，管理员亦可以用该命令设置Shell终端特性，更好符合日常工作需要。
syntax: set [参数] [变量名]
category: 系统管理(system)
parameters:
|-a: 显示已修改的变量 |
|-b: 使被中止的后台程序立刻回报执行状态 |
|-e: 若指令传回值不等于0则立即退出 |
|-f: 取消使用通配符 |
|-h: 自动记录函数的所在位置 |
|-k: 指令所给的参数都会被视为此指令的环境变量 |
|-l: 记录for循环的变量名称 |
|-m: 使用监视模式 |
|-n: 只读取命令而不实际执行 |
|-p: 使用优先顺序模式 |
|-t: 执行完指令后即退出 |
|-u: 遇到未定义的变量时报错 |

examples:
示例1: 
将指定的变量提升成环境变量，并进行标记：
[root@linuxcool ~]#set -a linuxprobe

示例2: 
设置当前Shell终端取消使用通配符：
[root@linuxcool ~]#set -f

示例3: 
设置当前Shell终端使用监控模式：
[root@linuxcool ~]#set -m


command_name: nohup
chinese_name: nohup命令 – 后端运行程序
description: nohup命令来自英文词组“no hang up”的缩写，其功能是用于后端运行程序。nohup命令可以将程序以忽略挂起信号的方式运行起来，而被运行程序的输出信息不会显示到屏幕上。
syntax: nohup [参数] [对象]
parameters: |--help: 显示帮助信息 | |--version: 显示版本信息 |
category: 系统管理(system)
examples:
示例1: 
以后端模式运行指定脚本程序：
[root@linuxcool ~]#nohup File.sh &

示例2: 
以后端模式执行指定命令，并将输出结果写入到文件：
[root@linuxcool ~]#nohup uptime &> File.txt


command_name: iptables-save
chinese_name: iptables-save命令 – 保存防火墙策略规则
syntax: iptables-save [参数] [对象]
parameters: |-c: 保存当前的数据包计算器和字节计数器的值 | |-M: 设置调制解调器探测程序的路径 |
category: 系统管理(system)
description:
iptables-save命令的功能是保存防火墙策略规则。由于iptables与firewalld防火墙配置工具的策略默认都是当前生效而重启后失效，因此均需要执行对应的命令进行保存，让已有的防火墙策略在服务器重启后依然可以奏效。

examples:
示例1: 
保存防火墙策略规则：
[root@linuxcool ~]# iptables-save

示例2: 
保存防火墙策略规则及数据包计数器信息：
[root@linuxcool ~]# iptables-save -c

示例3: 
将当前防火墙策略规则信息输出重定向到文件：
[root@linuxcool ~]# iptables-save > File.bak

示例4: 
仅保存防火墙策略中指定的表单内容：
[root@linuxcool ~]# iptables-save -t filter


command_name: watch
chinese_name: watch命令 – 周期性执行任务命令
syntax: watch [参数] 任务命令
category: 系统管理(system)
description:
watch命令来自英文单词“观察、监视”，其功能是用于周期性执行任务命令。watch命令会以周期性的方式执行指定命令，例如每隔几秒钟、几分钟执行一次，持续关注某个命令的运行结果，免去运维人员一遍遍地手动运行。

parameters:
|-b: 任务命令失败时发出警报声 |
|-d: 高亮显示变化内容 |
|-e: 任务命令错误时停止更新 |
|-g: 任务命令变化时停止更新 |
|-h: 显示帮助信息 |
|-n: 设置间隔时间 |
|-t: 不显示顶部的格式 |
|-v: 显示版本信息 |

examples:
示例1: 
设定每间隔1秒钟执行一次指定命令，用于监视系统负载情况：
[root@linuxcool ~]#watch -n 1 uptime

示例2: 
默认每间隔2秒钟执行一次指定命令，用于监视网络链接情况：
[root@linuxcool ~]#watch "netstat -ant"

示例3: 
默认每间隔2秒钟执行一次指定命令，用于监视磁盘使用情况，并高亮显示变化信息：
[root@linuxcool ~]#watch -d "df -h"

示例4: 
设定每间隔2分钟执行一次指定命令，用于观察文件内容变化情况：
[root@linuxcool ~]#watch -n 120 "cat File.cfg"


command_name: lua
chinese_name: lua命令 – 独立的Lua解释器
description: Lua是一门强大，高效，轻量级的嵌入式脚本语言。lua命令是独立的Lua解释器。它能能够加载并执行Lua源程序和预编译的二进制格式。lua既可以作为脚本解释器，也可以用作交互式解释器。
syntax: lua [参数] [文件]
category: 系统管理(system)
parameters:
|-e start: 执行start语句，如果start中含有空格，引号等特殊字符则需要使用引号括起来 |
|-i: 在执行完script后进入交互模式 |
|-l: 加载库文件 |
|-v: 显示版本信息 |

examples:
示例1: 
新建一个test.lua文件：
[root@linuxcool ~]# vim test.lua 
print("Hello World！")
print("www.linuxcool.com")

示例2: 
使用lua命令执行以上脚本：
[root@linuxcool ~]# lua test.lua 
Hello World！
www.linuxcool.com


command_name: pathchk
chinese_name: pathchk命令 – 检查文件中不可移植的部分
description: pathchk命令用于检查文件中不可移植的部分。
syntax: pathchk [参数]
examples: 示例1: 检查文件路径是否具有可移植性： [root@linuxcool ~]# pathchk /etc/httpd/conf/httpd.conf
category: 系统管理(system)
parameters:
|-p: 检查大多数的POSIX系统 |
|-P: 检查空名字和“-”开头的文件 |
|--portability: 检查所有的POSIX系统，等同于“-P-p”选项 |
|--help: 显示帮助 |
|--version: 显示版本号 |


command_name: env
chinese_name: env命令 – 显示和定义环境变量
description: env命令来自英文单词environment的缩写，其功能是显示和定义环境变量。为了能够让每个用户都拥有独立的工作环境，Linux系统使用了大量环境变量，可以使用env命令进行查看和修改。
syntax: env [参数] [对象]
parameters: |-i: 创建一个新的空白环境 | |-u: 从当前环境中删除指定的变量 | |--version: 显示版本信息 |
category: 系统管理(system)
examples:
示例1: 
显示当前系统的全部环境变量信息：
[root@linuxcool ~]# env

示例2: 
删除当前系统中的指定环境变量：
[root@linuxcool ~]# env -u PWD

示例3: 
定义当前系统中的指定环境变量值：
[root@linuxcool ~]# env PWD=/Dir


command_name: sh
chinese_name: sh命令 – shell命令语言解释器
description: sh命令来自英文单词“shell”的缩写，其功能是Shell命令语言的解释器。sh其实并不是一个实际存在的命令文件，而是bash的别名命令而已，作为人与系统的翻译官。
syntax: sh [参数] [脚本名]
category: 系统管理(system)
parameters:
|-c: 从字符串中读取命令 |
|-i: 实现脚本交互 |
|-n: 进行语法检查 |
|-v: 显示执行过程详细信息 |
|-x: 实现逐条语句的跟踪 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 |

examples:
示例1: 
执行指定的脚本文件：
[root@linuxcool ~]#sh File.sh/root
 21:33:45 up 42 min,  1 user,  load average: 0.01, 0.05, 0.18

示例2: 
执行指定的脚本文件，并逐条命令进行追踪：
[root@linuxcool ~]#sh -x File.sh+ pwd
/root
+ uptime
 21:33:50 up 42 min,  1 user,  load average: 0.01, 0.03, 0.09


command_name: groupmod
chinese_name: groupmod命令 – 更改群组属性
syntax: groupmod [参数] [群组名]
parameters: |-g: 设置群组识别码 | |-h: 显示帮助信息 | |-n: 设置群组名称 | |-o: 允许重复使用群组识别码 | |-p: 设置群组密码 |
category: 系统管理(system)
description:
groupmod命令来自英文词组“group modify”的缩写，其功能是用于更改群组属性。Linux系统中的群组信息一般不建议更改，因为涉及已加入用户的归属问题，尤其是群组名称、组GID，一定要确认好后再操作。

examples:
示例1: 
更改指定用户组的名称（原名linuxprobe）：
[root@linuxcool ~]#groupmod -n linuxcool linuxprobe

示例2: 
更改指定用户组的识别码：
[root@linuxcool ~]#groupmod -g 8888 linuxcool


command_name: size
chinese_name: size命令 – 显示文件各段大小
description: size命令来自英文单词，中文译为“大小”，其功能是用于显示文件各段大小。size命令是GNU二进制工具集中的一员，用于查看指定文件的库和可执行文件中各段及总大小。
syntax: size [参数] [文件名]
category: 系统管理(system)
parameters:
|-A: 设置输出样式 |
|-b: 设置各段大小 |
|-B: 设置字节数 |
|-d: 使用十进制数显示 |
|-D: 设置反汇编目标文件 |
|-e: 设置输出数据格式 |
|-F: 显示文件头信息 |
|-i: 显示额外的信息 |
|-l: 显示行号 |
|-m: 设置目标机器类型 |
|-r: 设置输出数据的数制 |
|-R: 显示重定位信息 |
|-s: 显示符号表 |
|-t: 显示文件的总大小 |
|-A|-B|--format=compatibility: 设置输出格式 |
|-d|-o|-x|--radix=number: 设置输出进制 |
|--common: 显示文件的符号大小 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 |

examples:
示例1: 
查看指定命令文件的各段大小信息：
[root@linuxcool ~]#size /bin/lstext	   data	    bss	    dec	    hex	filename
 127915	   4800	   4760	 137475	  21903	/bin/ls

示例2: 
查看静态库中指定文件的段大小信息：
[root@linuxcool ~]#size /usr/lib64/libc.so.6text	   data	    bss	    dec	    hex	filename
1807664	  21016	  16416	1845096	 1c2768	/usr/lib64/libc.so.6


command_name: uname
chinese_name: uname命令 – 显示系统内核信息
description: uname命令来自英文词组UNIX name的缩写，其功能是查看系统主机名、内核及硬件架构等信息。如果不加任何参数，默认仅显示系统内核名称（相当于-s参数）的作用。
syntax: uname [参数]
category: 系统管理(system)
parameters:
|-a: 显示系统所有相关信息 |
|-i: 显示硬件平台 |
|-m: 显示计算机硬件架构 |
|-n: 显示主机名称 |
|-o: 显示操作系统名称 |
|-p: 显示主机处理器类型 |
|-s: 显示内核名称 |
|-v: 显示内核版本 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 |

examples:
示例1: 
显示系统内核名称：
[root@linuxcool ~]# uname 
Linux

示例2: 
显示系统所有相关信息（含内核名称、主机名、版本号及硬件架构）：
[root@linuxcool ~]# uname -a 
Linux linuxcool.com 4.18.0-80.el8.x86_64 #1 SMP Wed Mar 13 12:02:46 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

示例3: 
显示系统内核版本号：
[root@linuxcool ~]# uname -r 
4.18.0-80.el8.x86_64

示例4: 
显示系统硬件架构：
[root@linuxcool ~]# uname -i 
x86_64


command_name: firewall-offline-cmd
chinese_name: firewall-offline-cmd命令 – 防火墙脱机客户端
syntax: firewall-offline-cmd [参数]
category: 系统管理(system)
description:
firewall-offline-cmd命令来自英文词组“Firewall offline cmd”的拼写，其功能是用于防火墙脱机客户端。作为防火墙守护进程的脱机命令客户端，只有在firewalld服务没有运行时才会被使用。

parameters:
|--check-config: 检查永久配置信息 |
|--default-config: 设置默认配置的路径 |
|--disabled: 禁用防火墙服务 |
|--enabled: 启用防火墙服务 |
|--get-default-zone: 显示连接和接口的默认区域 |
|--info-zone=zone: 显示指定区域的配置信息 |
|--list-all-zones: 显示所有区域名 |
|--set-default-zone=zone: 设置默认区域名 |
|--system-config: 系统配置的路径 |

examples:
示例1: 
显示防火墙连接和接口的默认区域：
[root@linuxcool ~]#systemctl stop firewalld[root@linuxcool ~]#firewall-offline-cmd --get-default-zonepublic

示例2: 
列出为所有区域添加或启用的所有内容：
[root@linuxcool ~]#firewall-offline-cmd --list-all-zonesblock
  target: %%REJECT%%
  icmp-block-inversion: no
  interfaces: 
  sources: 
  services: 
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 
………………省略部分输出信息………………

示例3: 
显示指定区域的配置信息：
[root@linuxcool ~]#firewall-offline-cmd --info-zone=publicpublic
  target: default
  icmp-block-inversion: no
  interfaces: 
  sources: 
  services: cockpit dhcpv6-client ssh
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules:


command_name: w
chinese_name: w命令 – 显示已登录用户的信息
syntax: w [参数]
category: 系统管理(system)
description:
w命令来自英文单词“who”的缩写，其功能是用于显示已登录用户的信息。运维人员只需要在命令终端中敲下w键并回车，即可查看到当前系统中已登录的用户列表和他们正在执行的命令等信息，更好地了解系统正在执行的工作，以及等同事都下班了再重启或关闭服务器，避免突然中断他人工作。

parameters:
|-f: 显示用户登录来源 |
|-h: 不显示头信息 |
|-i: 显示IP地址而不是主机名 |
|-l: 显示执行过程详细信息 |
|-o: 使用老式输出格式 |
|-s: 使用短输出格式 |
|-u: 忽略指定用户名 |
|-V: 显示版本信息 |
|--help: 显示帮助信息 |

examples:
示例1: 
显示目前登入系统用户的信息（默认格式）：
[root@linuxcool ~]#w06:21:04 up 10 min,  1 user,  load average: 0.11, 0.06, 0.02
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty2     tty2             22Jun23 17days 11.47s  0.19s /usr/libexec/tr

示例2: 
显示目前登入系统用户的信息（不打印头信息）：
[root@linuxcool ~]#w -hroot     tty2     tty2             22Jun23 17days 12.51s  0.20s /usr/libexec/tr

示例3: 
显示当前登录用户的来源：
[root@linuxcool ~]#w -f06:21:54 up 11 min,  1 user,  load average: 0.11, 0.06, 0.02
USER     TTY        LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty2      22Jun23 17days 14.17s  0.20s /usr/libexec/tracker-miner-fs


command_name: getsebool
chinese_name: getsebool命令 – 查询SElinux策略内各项规则的布尔值
description: getsebool命令是用来查询SElinux策略内各项规则的布尔值。
syntax: getsebool [参数]
parameters: |-a: 列出目前系统上面的所有布尔值 |
category: 系统管理(system)
examples:
示例1: 
列出目前系统上面的所有布尔值：
[root@linuxcool ~]# getsebool -a

示例2: 
查询httpd_enable_homedirs布尔值的状态：
[root@linuxcool ~]# getsebool httpd_enable_homedirs


command_name: svgatextmode
chinese_name: SVGATextMode命令 – 加强文字模式的显示画面
description: SVGATextMode可用来设置文字模式下的显示画面，包括分辨率，字体和更新频率等。
syntax: SVGATextMode [参数]
category: 系统管理(system)
parameters:
|-a: 如果新显示模式的屏幕大小与原先不同时，SVGATextMode会执行必要的系统设置 |
|-c: 维持原有的VGA时脉 |
|-d: 执行时会显示详细的信息，供排错时参考 |
|-f: 不要执行配置文件中有关字体载入的指令 |
|-h: 显示帮助 |
|-m: 允许1×1的方式来重设屏幕大小 |
|-n: 仅测试指定的模式 |
|-r: 通知或重设与屏幕大小相关的程序 |
|-s: 显示配置文件中所有可用的模式 |
|-t: 指定配置文件 |
|-v: 在配置新的显示模式时，预设会先检查垂直与水平的更新更新频率是否在配置文件所指定的范围内，如果不在范围内，则不设置新的显示模式 |

examples:
示例1: 
显示关于 SVGATextMode 的帮助：
[root@linuxcool ~]# SVGATextMode -h

示例2: 
维持原有的VGA时脉：
[root@linuxcool ~]# SVGATextMode -c


command_name: lastlog
chinese_name: lastlog命令 – 显示用户最近一次登录信息
syntax: lastlog [参数]
parameters: |-b <天数>: 显示指定天数前的登录信息 | |-t <天数>: 显示指定天数以来的登录信息 | |-u <用户名>: 显示指定用户的最近登录信息 | |-h: 显示召集令的帮助信息 |
category: 系统管理(system)
description:
lastlog文件在每次有用户登录时被查询。可以使用lastlog命令检查某特定用户上次登录的时间，并格式化输出上次登录日志/var/log/lastlog的内容。它根据UID排序显示登录名、端口号（tty）和上次登录时间。如果一个用户从未登录过，lastlog显示Never logged。注意需要以root身份运行该命令。

examples:
示例1: 
显示系统中所有用户最近一次登录信息 ：
[root@linuxcool ~]# lastlog

示例2: 
显示指定天数前的登录信息 ：
[root@linuxcool ~]# lastlog -b 7

示例3: 
显示指定天数以来的登录信息：
[root@linuxcool ~]# lastlog -t 7

示例4: 
显示指定用户的最近登录信息：
[root@linuxcool ~]# lastlog -u jakingUsername         Port     From             Latestjaking           :0                        Tue Apr  9 15:54:58 +0800 2019


command_name: chrt
chinese_name: chrt命令 – 实时管理进程的优先级策略
description: chrt命令来自英文词组“Change real-time”的缩写，其功能是用于实时管理进程的优先级策略，策略值范围在0~99之间。
syntax: chrt [参数] [对象]
parameters: |-h: 显示帮助信息 | |-m: 显示最小和最大有效优先级 | |-p: 对指定PID进程进行操作 | |-V: 显示版本信息 |
category: 系统管理(system)
examples:
示例1: 
更改指定的进程名称优先级策略：
[root@linuxcool ~]#chrt -f 10 bash

示例2: 
更改指定的进程号码优先级策略：
[root@linuxcool ~]#chrt -p -r 10 6688


command_name: metaclear
chinese_name: metaclear命令 – 删除活动的元设备和热备用池
syntax: metaclear[参数]
category: 系统管理(system)
description:
metaclear命令删除指定的metadevice或hot_spare_pool，或清除指定组件中的所有软分区。一旦元设备或热备用池被删除，必须使用metainit重新创建它，然后才能再次使用它。当前正在使用(打开)的任何元组件都不能删除。

parameters:
|–a: 删除–s或默认情况下的本地集中的所有元设备和已配置的热备用池 |
|–f: 删除（强制）包含处于错误状态的子组件的元设备 |
|–h: 显示使用情况消息 |
|–p: 从指定的元设备或组件中删除（清除）所有软分区 |
|–r: 递归删除指定的元设备和热备用池，但不删除其他设备所依赖的元设备 |

examples:
示例1: 
删除名为d10的元设备：
[root@linuxcool ~]＃metaclear / dev / md / dsk / d10

示例2: 
删除具有子镜像处于错误状态的镜像mymirror：
[root@linuxcool ~]＃metaclear -f mymirror

示例3: 
清除切片c2t3d5s2上的所有软分区，如果这些分区未被其他元设备使用或未打开：
[root@linuxcool ~]＃metaclear -p c2t3d5s2


command_name: deluser
chinese_name: deluser命令 – 删除用户账户
description: deluser命令来自英文词组“delete user”的缩写，其功能是用于删除用户账户。
syntax: deluser [参数] [用户名]
category: 系统管理(system)
parameters:
|--backup: 删除前备份用户家目录和邮件数据 |
|--backup-to: 设置指定目录进行备份 |
|--group: 删除用户组 |
|--quiet: 静默执行模式 |
|--help: 显示帮助信息 |
|--remove-all-files: 删除用户的所有文件 |
|--remove-home: 删除用户的主目录和邮件后台处理程序 |
|--version: 显示版本信息 |

examples:
示例1: 
删除指定的用户账户：
[root@linuxcool ~]#deluser linuxcool

示例2: 
将用户从指定的管理用户组中移出：
[root@linuxcool ~]#deluser root linuxcool

示例3: 
删除指定的用户账户及相关所有文件：
[root@linuxcool ~]#deluser --remove-all-files linuxcool


command_name: shutdown
chinese_name: shutdown命令 – 关闭服务器的系统
description: shutdown命令的功能是关闭服务器的系统，作用等同于poweroff命令。
syntax: sshutdown [参数] [对象]
category: 系统管理(system)
parameters:
|-c: 取消关机任务 |
|-f: 关机时不检查文件系统 |
|-F: 关机时先检查文件系统 |
|-h: 将系统立即关机 |
|-k: 发送信息给所有用户 |
|-P: 系统关机后切断电源 |
|-r: 将系统立即重启 |
|-s: 关闭此计算机，非立即操作 |
|-t: 设置距离关闭计算机还剩余的秒数 |

examples:
示例1: 
将当前服务器立即关机：
[root@linuxcool ~]# shutdown -h now

示例2: 
将当前服务器立即重启：
[root@linuxcool ~]# shutdown -r now

示例3: 
设定当前服务器在指定时间自动关机，格式为“小时:分钟”：
[root@linuxcool ~]# shutdown -h 21:00 
Shutdown scheduled for Wed 2023-05-18 21:00:00 CST, use 'shutdown -c' to cancel.

示例4: 
设定当前服务器在5分钟后关机，同时发送警告信息给所有已登录的用户：
[root@linuxcool ~]# shutdown +5 "System will shutdown after 5 minutes" 
Shutdown scheduled for Wed 2023-05-18 20:47:25 CST, use 'shutdown -c' to cancel.

示例5: 
取消当前服务器上已有的关机任务：
[root@linuxcool ~]# shutdown -c


command_name: killall
chinese_name: killall命令 – 基于服务名关闭一组进程
syntax: killall [参数] [服务名]
category: 系统管理(system)
description:
killall命令来自英文词组“Kill all”的拼写，其功能是用于基于服务名关闭一组进程。我们常使用kill命令关闭指定PID进程号的服务，暂且不论要先用ps命令找到对应的进程号才能关闭它，就说很多服务实际会发起多个进程，对应有数个不同PID进程号，要用kill命令逐一关闭也是件麻烦事。
而将ps和kill两个命令的执行过程合二为一，就得到了超好用的killall命令。一个只需要管理员给出要关闭的服务名，就能自动找到其所对应的全部进程信息，并关闭它们。

parameters:
|-e: 进行精确匹配 |
|-g: 杀死进程所属的进程组 |
|-i: 杀死进程前询问用户是否确认 |
|-l: 显示所有已知信号列表 |
|-o: 匹配指定时间前开始的进程 |
|-q: 静默执行模式 |
|-r: 使用正规表达式匹配要杀死的进程名称 |
|-s: 用指定的进程号代替默认信号 |
|-u: 杀死指定用户的进程 |
|-v: 显示执行过程详细信息 |
|-w: 一直等待命令执行完成再退出 |
|-y: 匹配指定时间后开始的进程 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 |

examples:
示例1: 
结束指定服务所对应的全部进程：
[root@linuxcool ~]#killall httpd

示例2: 
打印所有已知信号列表：
[root@linuxcool ~]#killall -lHUP INT QUIT ILL TRAP ABRT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT
CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH POLL PWR SYS


command_name: chcon
chinese_name: chcon命令 – 修改文件的安全上下文
description: chcon命令是修改对象（文件）的安全上下文，比如：用户、角色、类型、安全级别。也就是将每个文件的安全环境变更至指定环境。
syntax: chcon [参数]
category: 系统管理(system)
parameters:
|-h: 影响符号连接而非引用的文件 |
|-R: 递归处理所有的文件及子目录 |
|-v: 为处理的所有文件显示诊断信息 |
|-u: 设置指定用户的目标安全环境 |
|-r: 设置指定角色的目标安全环境 |
|-t: 设置指定类型的目标安全环境 |
|-l: 设置指定范围的目标安全环境 |

examples:
示例1: 
把ftp共享给匿名用户：
[root@linuxcool ~]# chcon -R -t public_content_t /var/ftp

示例2: 
设置的FTP目录可以上传文件的话，SELINUX需要设置：
[root@linuxcool ~]# chcon -t public_content_rw_t /var/ftp/incoming

示例3: 
允许用户HTTP访问其家目录，该设定限仅于用户的家目录主页：
[root@linuxcool ~]# chcon -R -t httpd_sys_content_t ~user/public_html

示例4: 
将samba目录共享给其他用户，需要设置：
[root@linuxcool ~]# chcon -t samba_share_t /directory


command_name: setup
chinese_name: setup命令 – 系统管理工具
description: setup命令是一个基于文本界面的系统管理工具，集成了用户认证管理、防火墙管理、网络管理和系统服务管理。
syntax: setup
examples: 示例1: 进入setup管理界面： [root@linuxcool ~]# setup
category: 系统管理(system)
parameters:
|Authentication configuration: 用户管理认证 |
|Firewall  configuration: 防火墙管理 |
|Network configuration: 网络管理 |
|System  services: 系统服务自动启动管理 |


command_name: dnf
chinese_name: dnf命令 – 新一代的软件包管理器
syntax: dnf [参数] [软件名]
category: 系统管理(system)
description:
dnf命令来自英文词组dandified yum的缩写，是新一代的软件包管理器，其功能是安装、更新、卸载Linux系统中的软件。dnf最初应用于Fedora 18系统中，旨在解决yum命令的诸多瓶颈，例如占用大量内存、软件依赖关系臃肿、运行速度缓慢等。
dnf与yum命令的执行格式高度相同，只需要将日常软件包管理操作中的yum替换成dnf命令即可。

parameters:
|autoremove: 删除孤立无用的软件包 |
|check-update: 检查更新系统的软件包 |
|clean all: 删除缓存的无用软件包 |
|distro-sync: 更新软件包到最新稳定版 |
|downgrade: 回滚软件到指定版本 |
|groupinstall: 安装一个软件包组 |
|grouplist: 查看所有的软件包组 |
|groupremove: 删除一个软件包组 |
|groupupdate: 升级软件包组中的软件包 |
|history: 显示帮助信息 |
|install: 安装软件包 |
|list: 显示全部软件包名称 |
|provides: 查找文件提供者 |
|remove: 删除软件包 |
|repolist: 显示可用软件库信息 |
|reinstall: 重新安装指定软件包 |
|search: 搜索软件库中的指定软件包 |
|update: 升级软件包 |
|version: 显示版本信息 |

examples:
示例1: 
安装指定的软件包：
[root@linuxcool ~]# dnf install httpd

示例2: 
安装指定的软件包，且无须二次确认：
[root@linuxcool ~]# dnf install httpd -y

示例3: 
更新指定的软件包：
[root@linuxcool ~]# dnf update httpd

示例4: 
重新安装指定软件包：
[root@linuxcool ~]# dnf reinstall httpd

示例5: 
卸载指定的软件包：
[root@linuxcool ~]# dnf remove httpd

示例6: 
查询软件仓库中已有软件包列表：
[root@linuxcool ~]# dnf list

示例7: 
更新系统中所有的软件包至最新版：
[root@linuxcool ~]# dnf update


command_name: fuser
chinese_name: fuser命令 – 使用文件或文件结构识别进程
syntax: fuser [参数] [文件]
category: 系统管理(system)
description:
fuser命令作用是报告进程使用的文件和网络套接字。
fuser命令可以显示出当前哪个程序在使用磁盘上的某个文件、挂载点、甚至网络端口，并给出程序进程的详细信息。 它还显示使用指定文件或者文件系统的进程ID。
每个进程号后面都跟随一个字母，该字母指示进程如何使用文件。

parameters:
|-a: 显示命令行中指定的所有文件 |
|-k: 杀死访问指定文件的所有进程 |
|-i: 杀死进程前需要用户进行确认 |
|-l: 列出所有已知信号名 |
|-m: 指定一个被加载的文件系统或一个被加载的块设备 |
|-n: 选择不同的名称空间 |
|-u: 在每个进程后显示所属的用户名 |

examples:
示例1: 
要列出使用/etc/passwd文件的本地进程的进程号：
[root@linuxcool ~]# fuser /etc/passwd

示例2: 
列出使用/etc/filesystems文件的进程的进程号和用户登录名：
[root@linuxcool ~]# fuser -u /etc/filesystems

示例3: 
终止使用给定文件系统的所有进程：
[root@linuxcool ~]# fuser -k -x -u -c /dev/hd1


command_name: logsave
chinese_name: logsave命令 – 将输出信息保存到指定的日志文件中
syntax: logsave [参数]
parameters: |-a: 追加信息到指定的日志文件中 | |-s: 显示日志信息，不写入到文件中 |
category: 系统管理(system)
description:
logsave程序将使用指定的参数执行cmd_prog，并将其输出的副本保存到logfile。如果日志文件的包含目录不存在，则logsave将在内存中累积输出，直到可以将其写出。输出的副本也将写入标准输出。
如果命令prog是单个连字符（“-”），那么log save将从标准输入中获取其输入并将其保存在日志文件中，而不是执行程序，logsave对于保存初始启动脚本的输出非常有用，直到/var分区被装入，因此输出可以写入/var/log。

examples:
示例1: 
保存输出的日志信息到指定的文件中：
[root@linuxcool ~]# logsave /tmp/logdir/logfile bash -c "sleep 2;date"

示例2: 
使用-a参数往日志文件中追加信息：
[root@linuxcool ~]# logsave -a /tmp/logdir/logfile bash -c "sleep 2;date"


command_name: lsns
chinese_name: lsns命令 – 列出名称空间
description: lsns命令列出有关所有当前可访问的名称空间或给定名称空间的信息。命名空间标识符是一个索引节点号。
syntax: lsns [参数]
category: 系统管理(system)
parameters:
|-J: 使用 JSON 输出格式 |
|-l: 使用列表格式的输出 |
|-n: 不打印标题 |
|-r: 使用原生输出格式 |
|-u: 不截断列中的文本 |
|-t: 名字空间类型(mnt, net, ipc, user, pid, uts, cgroup) |

examples:
示例1: 
列出net名字空间类型：
[root@linuxcool ~]# lsns -t net

示例2: 
使用列表格式的输出：
[root@linuxcool ~]# lsns -l

示例3: 
不打印标题：
[root@linuxcool ~]# lsns -n

示例4: 
不截断列中的文本：
[root@linuxcool ~]# lsns -u


command_name: vigr
chinese_name: vigr命令 – 修改group、gshadow文件
syntax: vigr [参数]
examples: 示例1: 修改组信息： [root@linuxcool ~]# vigr -g 示例2: 修改密码信息： [root@linuxcool ~]# vigr -p
category: 系统管理(system)
description:
vigr命令可以修改group、gshadow文件，使用vigr命令可以编辑/etc/group文件。当寻找一个编辑器时将首先尝试环境变量$VISUAL，然后是环境变量$EDITOR，最后默认是vi编辑器。

parameters:
|-g: 修改组信息 |
|-p: 修改密码信息 |
|-R: 在CHROOT_DIR目录中应用更改并使用CHROOT_DIR目录中的配置文件 |
|-s: 编辑shadow 或 gshadow 信息 |


command_name: iostat
chinese_name: iostat命令 – 监视系统I/O设备使用情况
syntax: iostat [参数] [设备名]
category: 系统管理(system)
description:
iostat命令来自英文词组“I/O stat”的缩写，其功能是用于监视系统I/O设备使用情况。I/O英文全称是Input/Output，中文译为输入/输出，通常指存储器与其他设备之间的数据交换操作。
iostat命令则能够查看到硬盘活动的统计情况，同时也会显示出CPU处理器的使用情况，帮助Linux系统运维人员进行系统调优。

parameters:
|-c: 显示CPU使用情况 |
|-d: 显示设备利用率 |
|-h: 使用NFS网络文件系统来输出报告 |
|-k: 以千字节每秒为单位 |
|-m: 以兆字节每秒为单位 |
|-N: 显示LVM逻辑卷管理器设备信息 |
|-p: 显示块设备和分区的状态 |
|-t: 显示报告产生时的时间 |
|-V: 显示版本及帮助信息 |
|-x: 设置要统计磁盘设备的扩展参数 |
|-y: 跳过不显示第一次报告的数据 |

examples:
示例1: 
每隔2秒报告一次系统硬盘使用情况：
[root@linuxcool ~]#iostat -d 2Linux 4.18.0-448.el8.x86_64 (linuxcool.com) 02/19/2023 	_x86_64_ (4 CPU)
Device         tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda           9.76        26.08       127.99   26262085  128898357
Device         tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda           0.00         0.00         0.00          0          0
Device         tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda           6.50         0.00        72.50          0        145
Device         tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda           1.50         0.00         3.00          0          6
………………省略部分输出信息………………

示例2: 
每隔2秒报告一次系统全部硬盘的使用情况，总共报告6次：
[root@linuxcool ~]#iostat -d 2 6

示例3: 
每隔2秒报告一次指定硬盘的使用情况，总共报告6次：
[root@linuxcool ~]#iostat -x vda -d 2 6


command_name: chage
chinese_name: chage命令 – 设置账户密码有效期
syntax: chage [参数] [用户名]
category: 系统管理(system)
description:
chage命令来自英文单词“change”的缩写，其功能是用于设置账号密码有效期。Linux系统管理员都有个不好的习惯，就是一个密码用无数年之久，从来不改，这样的话很容易存在安全隐患，因此建议用chage命令强行为系统账户密码设置一个有效期限，到日子必须换新密码，总是让骇客们失望而归。

parameters:
|-d: 显示上一次更改的日期 |
|-E: 设置帐号到期的日期 |
|-h: 显示帮助信息 |
|-i: 设置密码到期后还可以使用几天 |
|-l: 显示当前的设置 |
|-m: 设置密码可更改的最小天数 |
|-M: 设置密码保持有效的最大天数 |
|-R: 设置用户的chroot目录 |
|-W: 设置提前收到警告信息的天数 |

examples:
示例1: 
显示指定账户当前的设置信息：
[root@linuxcool ~]#chage -l rootLast password change					: never
Password expires					: never
Password inactive					: never
Account expires						: never
Minimum number of days between password change		: 0
Maximum number of days between password change		: 99999
Number of days of warning before password expires	: 7

示例2: 
设置指定账户的最长密码使用有效期为100天：
[root@linuxcool ~]#chage -M 100 root


command_name: metattach
chinese_name: metattach命令 – 附加或分离元设备
description: metattach将子镜像添加到镜像，增长元设备或增长软分区。无需中断服务即可完成元设备的增长。
syntax: metattach[参数]
category: 系统管理(system)
parameters:
|–Aalignment: 设置软分区范围对齐的值 |
|–f: 强制分离具有需要维护或繁忙的组件的元设备 |
|-h: 显示用法消息 |
|–ssetname: 指定在其上运行metattach命令或metadetach命令的磁盘集的名称 |

examples:
示例1: 
将单个新切片连接到现有元设备Volume.1：
[root@linuxcool ~]# metattach Volume.1 /dev/dsk/c0t1d0s2

示例2: 
将日志记录设备与跨中继设备d9分离：
[root@linuxcool ~]# metadetach d9

示例3: 
通过附加另一个片来扩展RAID5元设备d45：
[root@linuxcool ~]# metattach d45 /dev/dsk/c3t0d0s2

示例4: 
例将子镜像d2与镜像d4分离：
[root@linuxcool ~]# metadetach d4 d2


command_name: tsar
chinese_name: tsar命令 – 收集服务器系统信息
syntax: tsar [参数]
category: 系统管理(system)
description:
tsar是淘宝自己开发的一个采集工具（类似于sar工具），主要用来收集服务器的系统信息（如cpu，io，mem，tcp等），以及应用数据（如squid haproxy nginx等）。
收集到的数据存储在磁盘上，可以随时查询历史信息，输出方式灵活多样，另外支持将数据存储到mysql中，也可以将数据发送到nagios报警服务器。
tsar在展示数据时，可以指定模块，并且可以对多条信息的数据进行merge输出，带-live参数可以输出秒级的实时信息。
tsar是基于模块化设计的程序，程序有两部分组成：框架和模块。框架程序源代码主要在src目录，而模块源代码主要在modules目录中。框架提供对配置文件的解析，模块的加载，命令行参数的解析，应用模块的接口对模块原始数据的解析与输出。 模块提供接口给框架调用。tsar依赖与cron每分钟执行采集数据，因此它需要系统安装并启用crond，安装后，tsar每分钟会执行tsar –cron来定时采集信息，并且记录到原始日志文件。

parameters:
|-check: 查看最后一次的采集数据 |
|--check/-C: 查看最后一次tsar的提醒信息 |
|--cron/-c: 使用crond模式来进行tsar监控 |
|--interval/-i: 指明tsar的间隔时间，默认单位分钟,带上--live参数则单位是秒 |
|--list/-L: 列出启用的模块 |
|--live/-l: 查看实时数据 |
|--file/-f: 指定输入文件 |
|--ndays/-n: 指定过去的数据天数，默认1天 |
|--date/-d: 指定日期,YYYYMMDD或者n代表n天前 |
|--detail/-D: 能够指定查看主要字段还是模块的所有字段 |
|--cpu: 列出cpu相关的监控计数 |
|--tcp: TCP 协议 IPV4的使用情况 |
|--mem: 物理内存的使用情况 |

examples:
示例1: 
cpu监控：
[root@linuxcool ~]# tsar --cpu

示例2: 
监控虚存和load情况：
[root@linuxcool ~]# tsar --swap --load

示例3: 
列出系统内存的使用情况：
[root@linuxcool ~]# tsar --mem

示例4: 
监控系统IO情况：
[root@linuxcool ~]# tsar --io

示例5: 
历史数据回溯：
[root@linuxcool ~]# tsar -d 2 -i 1


command_name: halt
chinese_name: halt命令 – 关闭当前服务器系统
description: halt命令的功能是用于关闭当前服务器系统，类似于poweroff与shutdown命令，没有太大差别。
syntax: halt [参数]
examples: 示例1: 关闭当前服务器系统： [root@linuxcool ~]#halt 示例2: 强制关闭当前服务器系统： [root@linuxcool ~]#halt -f
category: 系统管理(system)
parameters:
|-a: 关闭系统前不同步数据 |
|-d: 不写入日志文件 |
|-f: 强制关机或重启而不询问 |
|-i: 关机或重启前关掉所有的网络服务 |
|-w: 模拟关机，将过程写入到日志文件 |
|--verbose: 显示执行过程详细信息 |


command_name: findfs
chinese_name: findfs命令 – 依据卷标（Label）和UUID查找文件系统所对应的设备文件
description: findfs命令依据卷标（LABEL）和UUID查找文件系统所对应的设备文件。
syntax: findfs [参数]
parameters: |LABEL: 卷标 | |UUID: 通用唯一识别码 |
category: 系统管理(system)
examples:
示例1: 
通过卷标来查找文件系统所对应的设备文件：
[root@linuxcool ~]# findfs LABEL="RHEL-7.3 Server.x86_64"

示例2: 
通过通用唯一识别码来查找文件系统所对应的设备文件：
[root@linuxcool ~]# findfs UUID="1271a9f5-3c66-43c5-a3ff-c79750db70c2"


command_name: lilo
chinese_name: lilo命令 – 安装核心载入
syntax: lilo [参数]
examples: 示例1: 使用LILO 作为引导加载程序： [root@linuxcool ~]# /sbin/lilo -v -v
category: 系统管理(system)
description:
lilo命令用于安装核心载入，开机管理程序。lilo是个Linux系统核心载入程序，同时具备管理开机的功能。单独执行lilo指令，它会读取/etc/lilo.conf配置文件，然后根据其内容安装lilo。虽然 LILO 仍在不断地发展，但 LILO 工作原理的基本概念保持不变。

parameters:
|-b: 指定安装lilo之处的外围设备代号 |
|-c: 使用紧致映射模式 |
|-C: 指定lilo的配置文件 |
|-d: 设置开机延迟时间 |
|-D: 指定开机后预设启动的操作系统，或系统核心识别标签 |


command_name: lsof
chinese_name: lsof命令 – 查看文件的进程信息
syntax: lsof [参数] [文件名]
category: 系统管理(system)
description:
lsof命令来自英文词组list opened files的缩写，其功能是查看文件的进程信息。由于Linux系统中的一切都是文件，因此使用lsof命令查看进程打开的文件，或是查看文件的进程信息，都能帮助用户很好地了解相关服务的运行状态，是一个不错的系统监视工具。

parameters:
|-a: 显示与打开的文件相关的进程 |
|-c: 显示指定进程所打开的文件 |
|-d: 显示占用该文件的进程 |
|-g: 显示GID号进程的详细信息 |
|-h: 显示帮助信息 |
|-i: 显示符合条件的进程 |
|-n: 显示使用NFS的文件 |
|-N: 显示NFS文件列表 |
|-p: 显示指定进程号所打开的文件 |
|-R: 显示父进程ID |
|-u: 显示UID号进程的详细信息 |
|-v: 显示版本信息 |
|+d: 显示目录下被打开的文件 |
|+D: 递归处理所有子文件 |

examples:
示例1: 
查看当前系统中全部文件与进程的对应信息：
[root@linuxcool ~]# lsof 
COMMAND   PID   TID TASKCMD  USER   FD     TYPE     DEVICE SIZE/OFF      NODE NAME 
systemd     1     root  cwd      DIR               253,0      224       128 / 
systemd     1     root  rtd      DIR               253,0      224       128 / 
………………省略部分输出信息………………

示例2: 
显示指定目录中被调用的文件信息：
[root@linuxcool ~]# lsof +d /root 
COMMAND    PID USER  FD TYPE DEVICE SIZE/OFF     NODE NAME 
dbus-daem 2158 root cwd  DIR  253,0     4096 33575041 /root 
gdm-wayla 2161 root cwd  DIR  253,0     4096 33575041 /root 
gnome-ses 2164 root cwd  DIR  253,0     4096 33575041 /root 
gnome-she 2223 root cwd  DIR  253,0     4096 33575041 /root 
gvfsd     2240 root cwd  DIR  253,0     4096 33575041 /root 
………………省略部分输出信息………………

示例3: 
递归显示指定目录中全部被调用的文件信息：
[root@linuxcool ~]# lsof +D /root 
COMMAND    PID USER   FD  TYPE DEVICE SIZE/OFF   NODE NAME 
pulseaudi 2147 root  mem   REG  253,0      696 781661 
/root/.config/pulse/d035ea0c9f884c418d9855119085f3f0-card-database.tdb 
pulseaudi 2147 root  mem   REG  253,0    12288 781660 
/root/.config/pulse/d035ea0c9f884c418d9855119085f3f0-stream-volumes.tdb 
pulseaudi 2147 root  mem   REG  253,0     8192 781659 
/root/.config/pulse/d035ea0c9f884c418d9855119085f3f0-device-volumes.tdb 
………………省略部分输出信息………………


command_name: useradd
chinese_name: useradd命令 – 创建并设置用户信息
syntax: useradd [参数] [用户名]
category: 系统管理(system)
description:
useradd命令的功能是创建并设置用户信息。使用useradd命令可以自动完成用户信息、基本组、家目录等的创建工作，并在创建过程中对用户初始信息进行定制。
针对已创建的用户，则需使用chmod命令修改用户信息，使用passwd命令修改密码信息。

parameters:
|-c: 添加备注文字 |
|-d: 设置新用户登录时所使用的家目录 |
|-D: 设置新用户的预设值 |
|-e: 设置用户的终止日期 |
|-f: 设置用户过期几日后永久停权 |
|-g: 设置用户对应的基本用户组 |
|-G: 设置用户对应的扩展用户组 |
|-h: 显示帮助信息 |
|-k: 设置用户的骨架目录 |
|-l: 不将用户添加到最近登录和登录失败数据库文件 |
|-m: 用户目录不存在时则自动创建 |
|-n: 不建立以用户名称为名的组 |
|-o: 允许创建重复UID的用户 |
|-p: 设置用户的密码 |
|-r: 建立系统用户 |
|-R: 设置根目录 |
|-s: 设置新用户的默认Shell终端 |
|-u: 设置用户ID |
|-U: 创建与用户同名的组，并将其加入 |
|-Z: 设置用户的SELinux映射角色 |

examples:
示例1: 
创建指定的用户信息：
[root@linuxcool ~]# useradd linuxprobe

示例2: 
创建指定的用户信息，但不创建家目录，亦不让登录系统：
[root@linuxcool ~]# useradd -M -s /sbin/nologin linuxprobe

示例3: 
创建指定的用户信息，并自定义UID值：
[root@linuxcool ~]# useradd -u 6688 linuxprobe

示例4: 
创建指定的用户信息，并追加指定组为该用户的扩展组：
[root@linuxcool ~]# useradd -G root linuxprobe

示例5: 
创建指定的用户信息，并指定过期时间：
[root@linuxcool ~]# useradd -e "2024/01/01" linuxprobe


command_name: iptables-restore
chinese_name: iptables-restore命令 – 还原防火墙的表配置
syntax: iptables-restore [参数] [对象]
category: 系统管理(system)
description:
iptables-restore命令来自英文词组“iptables restore”的拼写，其功能是用于还原防火墙的表配置。Linux系统管理员可以使用iptables-save命令保存iptables防火墙的表配置信息，而iptables-restore命令则是用于还原这些配置信息的工具。

parameters:
|-c: 还原数据包和字节计数器的值 |
|-M: 指定运行模式 |
|-n: 不要刷新表的先前内容 |
|-t: 只测试，而不提交 |
|-T: 设置还原的表名称 |
|-v: 显示执行过程详细信息 |
|-w: 设置等待时间 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 |

examples:
示例1: 
还原指定的表配置文件信息：
[root@linuxcool ~]#iptables-restore < File.bak

示例2: 
还原指定的表配置文件信息，并还原当前的数据包计数器和字节计数器的值：
[root@linuxcool ~]#iptables-restore -c < File.bak

示例3: 
还原指定的表配置文件信息到指定防火墙表：
[root@linuxcool ~]#iptables-restore -T filter < File.bak


command_name: bash
chinese_name: bash命令 – 命令解释器
description: bash命令来自英文词组“Bourne shell”的缩写，其功能是命令解释器。bash是绝大多数Linux系统默认的命令解释器，能够处理用户所输入的命令，以及执行指定的Shell脚本文件。
syntax: bash [参数] [文件名]
category: 系统管理(system)
parameters:
|-c: 从字符串中读入命令 |
|-i: 使用交互式模式 |
|-n: 检查脚本是否正确 |
|-x: 显示执行过程详细信息 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 |

examples:
示例1: 
检查脚本语法是否正确：
[root@linuxcool ~]#bash -n File.sh

示例2: 
执行脚本文件并输出执行过程信息：
[root@linuxcool ~]#bash -x File.sh+ pwd
/root
+ uptime
 16:09:14 up 6 min,  1 user,  load average: 0.24, 0.09, 0.03


command_name: openssl
chinese_name: openssl命令 – 加密算法
description: openSSL是一个强大的安全套接字层密码库，囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议，并提供丰富的应用程序供测试或其它目的使用。对应的命令就是openssl命令，用于加密算法。
syntax: openssl [参数]
parameters: |-in: 输入 | |-out: 输出 |
category: 系统管理(system)
examples:
示例1: 
用SHA1算法计算文件file.txt的哈西值，输出到stdout：
[root@linuxcool ~]# openssl dgst -sha1 file.txt

示例2: 
用SHA1算法计算文件file.txt的哈西值，输出到文件digest.txt：
[root@linuxcool ~]# openssl sha1 -out digest.txt file.txt

示例3: 
对称加密应用例子，用DES3算法的CBC模式加密文件plaintext.doc，加密结果输出到文件ciphertext.bin:
[root@linuxcool ~]# openssl enc -des3 -salt -in plaintext.doc -out ciphertext.bin

示例4: 
DES3算法的OFB模式解密文件ciphertext.bin，提供的口令为trousers，输出到文件plaintext.doc:
[root@linuxcool ~]# openssl enc -des-ede3-ofb -d -in ciphertext.bin -out plaintext.doc -pass pass:trousers

示例5: 
生成1024位DSA参数集，并输出到文件dsaparam.pem:
[root@linuxcool ~]# openssl dsaparam -out dsaparam.pem 1024

示例6: 
使用参数文件dsaparam.pem生成DSA私钥匙，采用3DES加密后输出到文件dsaprivatekey.pem:
[root@linuxcool ~]# openssl gendsa -out dsaprivatekey.pem -des3 dsaparam.pem

示例7: 
产生1024位RSA私匙，用3DES加密它，口令为trousers，输出到文件rsaprivatekey.pem:
[root@linuxcool ~]# openssl genrsa -out rsaprivatekey.pem -passout pass:trousers -des3 1024


command_name: lpd
chinese_name: lpd命令 – 常驻的打印机管理程序
syntax: lpd [参数]
parameters: |-l: 将一些错误信息显示在标准输出上 |
category: 系统管理(system)
description:
lpd命令是一个常驻的打印机管理程序，它会根据 /etc/printcap 的内容来管理本地或远端的打印机。这个程序通常是由 /etc/rc.d 中的程序在系统启始阶段执行。
lpr 和 lpd组成了一个可以离线工作的系统，当你使用 lpr 时，打印机不需要能立即可用，甚至不用存在。
lpd会自动监视打印机的状况，当打印机上线后，便立即将档案送交处理。这个得所有的应用程序不必等待打印机完成前一工作。

examples:
示例1: 
自动监视打印机情况：
[root@linuxcool ~]# lpd

示例2: 
安装lpd服务：
[root@linuxcool ~]# yum install lpd

示例3: 
将一些错误信息显示在标准输出上：
[root@linuxcool ~]# lpd -l


command_name: hostnamectl
chinese_name: hostnamectl命令 – 显示与设置主机名称
syntax: hostnamectl [参数]
parameters: |set-hostname: 设置主机名 | |status: 显示主机名 | |-H: 操作远程主机 | |--version: 显示版本信息 |
category: 系统管理(system)
description:
hostnamectl命令来自于英文词组hostname control的缩写，其功能是显示与设置主机名称。基于/etc/hostname文件修改主机名称时，需要重启服务器后才可生效，而使用hostnamectl命令设置过的主机名称可以立即生效，效率更高。

examples:
示例1: 
显示当前系统的主机名称及系统信息：
[root@linuxcool ~]# hostnamectl status 
   Static hostname: linuxcool.com 
         Icon name: computer-vm 
           Chassis: vm 
        Machine ID: c8b04558503242459d908c6c22a2d481 
           Boot ID: a08b17d3ed444ca6b86fdd52a499943e 
    Virtualization: vmware 
  Operating System: Red Hat Enterprise Linux 8.0 (Ootpa) 
       CPE OS Name: cpe:/o:redhat:enterprise_linux:8.0:GA 
            Kernel: Linux 4.18.0-80.el8.x86_64 
      Architecture: x86-64

示例2: 
修改当前系统的主机名称为指定字符串：
[root@linuxcool ~]# hostnamectl set-hostname linuxcool.com


command_name: service
chinese_name: service命令 – 管理系统服务
syntax: service [参数] [服务名称]
parameters: |restart: 重启服务 | |start: 启动服务 | |status: 查看服务状态 | |-h: 显示帮助信息 | |--status-all: 显示所有服务状态 |
category: 系统管理(system)
description:
service命令的功能是管理系统服务，是早期红帽公司发行的Linux系统中最常见的命令之一，主要用于RHEL 7/CentOS7版本以前的系统，能够启动、停止、重启或关闭指定服务程序，亦能查看服务的运行状态信息。

examples:
示例1: 
查看系统中所有服务的状态：
[root@linuxcool ~]# service --status-all

示例2: 
查看指定服务的状态：
[root@linuxcool ~]# service sshd status

示例3: 
启动指定的服务程序：
[root@linuxcool ~]# service sshd start

示例4: 
关闭指定的服务程序：
[root@linuxcool ~]# service sshd stop

示例5: 
重启指定的服务程序：
[root@linuxcool ~]# service sshd restart


command_name: taskset
chinese_name: taskset命令 – 绑定进程与CPU核心
syntax: taskset [参数] [进程号] [CPU核心号]
parameters: |-c: 将掩码转成数字形式 | |-h: 显示帮助信息 | |-p: 保留当前进程PID号码 | |-V: 显示版本信息 |
category: 系统管理(system)
description:
taskset命令来自英文词组“task set”的缩写，其功能是用于绑定进程与CPU核心。常见情况下，一个服务程序发起的进程会在CPU核心之间切换执行，每个进程平均公平地分配到一定量的计算性能，而如果运维人员想将某个进程与指定CPU核心进行绑定操作，就可以用taskset来完成了。绑定完的进程将只在与其绑定的CPU核心上运行，这种需求还真不多。

examples:
示例1: 
查询指定进程当前使用的CPU核心信息：
[root@linuxcool ~]#taskset -pc 1518pid 1518's current affinity list: 0-3

示例2: 
设置指定进程只可运行在编号为2的CPU核心之上：
[root@linuxcool ~]#taskset -pc 2 1518pid 1518's current affinity list: 0-3
pid 1518's new affinity list: 2


command_name: metarecover
chinese_name: metarecover命令 – 恢复软分区信息
description: metarecover命令扫描指定的组件以查找软分区配置信息并重新生成配置。
syntax: metarecover [参数]
category: 系统管理(system)
parameters:
|–d: 从设备上的扩展数据头中恢复元设备状态数据库中的软分区 |
|–m: 根据元设备状态数据库中列出的软分区，重新生成扩展区头并将其重新应用于基础设备 |
|–n: 实际不执行该操作，显示运行该操作可能导致的输出或错误 |
|–p: 根据元设备状态数据库或基础设备上的扩展区头重新生成软分区 |
|–ssetname: 指定用于元恢复的磁盘集的名称 |
|–v: 详细模式，显示所做的更改 |

examples:
示例1: 
基于磁盘范围标头更新元设备状态数据库：
[root@linuxcool ~]# metarecover -v c0t3d0s2 -p -d

示例2: 
基于不完整的软分区创建来更新元设备状态数据库：
[root@linuxcool ~]# metarecover -v c0t3d0s2 -p -m

示例3: 
验证软分区配置：
[root@linuxcool ~]# metarecover c0t3d0s2 -p


command_name: update-alternatives
chinese_name: update-alternatives命令 – 维护系统命令链接符
syntax: update-alternatives [参数] [命令]
category: 系统管理(system)
description:
update-alternatives是Debian系统中专门维护系统命令链接符的工具，通过它可以很方便的设置系统默认使用哪个命令、哪个软件版本，比如系统中同时安装了open jdk和sun jdk两个版本，而我们又希望系统默认使用sun jdk，通过update-alternatives就可以方便实现管理。

parameters:
|--install: 在系统中加入一组替换项 |
|--remove <name> <path>: 从名称替换组中去除路径项 |
|--auto: 将名称的主链接切换到自动模式 |
|--list: 列出名称替换组中所有可用替换项 |

examples:
示例1: 
将自己安装的JDK设置为默认的JDK版本：
[root@linuxcool ~]# update-alternatives --install /usr/bin/java java /usr/lib/jvm/java/bin/java 1070
[root@linuxcool ~]# update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java/bin/javac 1070
[root@linuxcool ~]# update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/java/bin/jar 1070
[root@linuxcool ~]# update-alternatives --install /usr/bin/javah javah /usr/lib/jvm/java/bin/javah 1070
[root@linuxcool ~]# update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/java/bin/javap 1070

示例2: 
选择我们安装的JDK版本：
[root@linuxcool ~]# update-alternatives --config java

示例3: 
选择我们安装的JDK版本：
[root@linuxcool ~]# update-alternatives --config java

示例4: 
列出主要候选项名称以及它们的状态：
[root@linuxcool ~]# update-alternatives --get-selections


command_name: nice
chinese_name: nice命令 – 调整进程的优先级
syntax: nice [参数] [命令]或脚本名
parameters: |-g: 匹配进程组ID | |-n: 设置优先级别 | |-p: 匹配进程ID | |-u: 匹配用户ID | |--help: 显示帮助信息 | |--version: 显示版本信息 |
category: 系统管理(system)
description:
nice命令的功能是用于调整进程的优先级，合理分配系统资源。Linux系统后台工作中某些不重要的进程，例如定期数据备份、自动清理垃圾等等工作，我们都可以通过nice命令调低其执行优先级，慢慢完成不用着急，把硬件资源留给重要的工作。优先级范围为-20~19，数字越小，优先级越高。

examples:
示例1: 
以优先级别为5的方式执行指定脚本：
[root@localhost ~]#nice -n -5 ./File.sh

示例2: 
以最高优先级的方式执行指定脚本：
[root@localhost ~]#nice -n -20 ./File.sh


command_name: sysctl
chinese_name: sysctl命令 – 配置系统内核参数
syntax: sysctl [参数] [对象]
category: 系统管理(system)
description:
sysctl命令来自英文词组“system control”的缩写，其功能是用于配置系统内核参数。sysctl命令能够在Linux系统运行时动态地配置系统内核参数，包含TCP/IP堆栈和虚拟内存系统等选项，让有经验的系统管理员更好地优化整台服务器性能，但请注意：配置结果仅在当前生效，重启后参数将恢复到初始状态，要想永久生效需要将参数写入到/etc/sysctl.conf系统文件中。

parameters:
|-a: 显示所有可用的内核参数变量和值 |
|-e: 忽略未知关键字错误 |
|-h: 显示帮助信息 |
|-n: 输出结果不带关键词 |
|-p: 从系统文件中加载内核参数 |
|-v: 显示版本信息 |

examples:
示例1: 
查看系统中所有内核参数变量和值：
[root@linuxcool ~]#sysctl -aabi.vsyscall32 = 1
crypto.fips_enabled = 0
debug.exception-trace = 1
debug.kprobes-optimization = 1
dev.cdrom.autoclose = 1
dev.cdrom.autoeject = 0
dev.cdrom.check_media = 0
dev.cdrom.debug = 0
………………省略部分输出信息………………

示例2: 
读取一个指定系统内核参数变量的值：
[root@linuxcool ~]#sysctl dev.cdrom.debugdev.cdrom.debug = 0

示例3: 
修改一个指定系统内核参数变量的值：
[root@linuxcool ~]#sysctl dev.cdrom.debug=1dev.cdrom.debug = 1


command_name: dpkg
chinese_name: dpkg命令 – 管理软件安装包
description: dpkg命令来自英文词组Debian package的缩写，其功能是管理软件安装包，是在Debian系统中最常用的软件安装、管理、卸载的实用工具。
syntax: dpkg [参数] [软件包]
category: 系统管理(system)
parameters:
|-c: 显示软件包内文件列表 |
|-i: 安装软件包 |
|-l: 显示已安装的软件包列表 |
|-L: 显示与软件包关联的文件 |
|-r: 删除软件包 |
|-s: 查询软件包 |
|-S: 搜索已安装的指定软件包 |

examples:
示例1: 
安装指定的软件包：
[root@linuxcool ~]# dpkg -i File.deb

示例2: 
卸载指定的软件包：
[root@linuxcool ~]# dpkg -r File.deb

示例3: 
列出当前已安装的软件列表：
[root@linuxcool ~]# dpkg -l

示例4: 
显示指定软件包内的文件信息：
[root@linuxcool ~]# dpkg -c File.deb


command_name: tzselect
chinese_name: tzselect命令 – 查看设置时区
description: tzselect命令在调用时不需要任何参数，它显示了一个由十几个地理区域组成的列表，人们可以粗略地将其视为大陆。按编号选择一个地理区域后，会显示这个区域的国家和城市列表。
syntax: tzselect [参数]
parameters: |-c COORD: 根据自定义数值设置时区 | |-n LIMIT: 当使用-c时，显示大多数LIMIT位置（默认为10） |
category: 系统管理(system)
examples:
示例1: 
按次序查看并设置时区：
[root@linuxcool ~]# tzselect

示例2: 
自定义设置时区：
[root@linuxcool ~]# tzselect -c -35-058

示例3: 
当使用-c时，显示LIMIT数量：
[root@linuxcool ~]# tzselect -c -35-058 -n 5


command_name: iperf3
chinese_name: iperf3命令 – 进行网络吞吐量测试
description: iperf3是一款进行网络吞吐量测试的命令工具，由美国伊利诺伊大学研发和维护。在建立好客户端和服务器后，iperf3可以测试TCP和UDP的吞吐量。
syntax: iperf3 [参数] [IP地址]
category: 系统管理(system)
parameters:
|-B: 设置绑定的接口 |
|-d: 显示调试信息 |
|-f: 格式化带宽输出 |
|-F: 传输或接收指定文件 |
|-h: 显示帮助信息 |
|-i: 设置周期性输出带宽报告（秒） |
|-J: 使用JSON格式显示信息 |
|-p: 设置服务端监听端口 |
|-s: 启动服务端监听功能 |
|-v: 显示版本信息 |
|-V: 显示执行过程详细信息 |

examples:
示例1: 
开启服务器监听：
[root@linuxcool ~]#iperf3 -s-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------

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

示例3: 
启动调试模式：
[root@linuxcool ~]#iperf3 -s -d-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------

示例4: 
启服务器监听并显示更多详细的输出信息：
[root@linuxcool ~]#iperf3 -s -Viperf 3.5
Linux linuxcool.com 4.18.0-80.el8.x86_64 #1 SMP Wed Mar 13 12:02:46 UTC 2019 x86_64
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------


command_name: modinfo
chinese_name: modinfo命令 – 显示kernel模块的信息
description: modinfo命令用于显示kernel模块的信息。
syntax: modinfo [参数] [模块文件]
parameters: |-a: 显示模块开发人员 | |-d: 显示模块的说明 | |-p: 显示模块所支持的参数 |
category: 系统管理(system)
examples:
示例1: 
显示sg模块的信息：
[root@linuxcool ~]# modinfo sg

示例2: 
显示sg模块的开发人员信息：
[root@linuxcool ~]# modinfo -a sg

示例3: 
显示sg模块说明：
[root@linuxcool ~]# modinfo -d sg

示例4: 
显示sg模块版本信息:
[root@linuxcool ~]# modinfo -V sg

示例5: 
显示sg模块所支持的参数:
[root@linuxcool ~]# modinfo -p sg


command_name: cloud-init
chinese_name: cloud-init命令 – 跨平台云实例初始化工具
description: cloud-init命令是用于跨平台云实例初始化的行业标准多分布式方法，所有主要的公共云提供商、私有云基础设施的供应系统和裸机安装都支持该方法。
syntax: cloud-init [参数]
category: 系统管理(system)
parameters:
|init: 初始化cloud-init并执行初始化模块 |
|modules: 使用给定的配置键激活模块 |
|single: 单机运行 |
|status: 报告云启动状态或等待完成 |
|clean: 删除日志和工件，以便重新运行cloud-init |
|collect-logs: 收集并打包所有云计算调试信息 |
|devel: 运行开发工具 |
|dhclient-hook: 运行dhclient钩子记录网络信息 |

examples:
示例1: 
初始化cloud-init并执行初始化模块：
[root@linuxcool ~]# cloud-init init

示例2: 
使用给定的配置键激活模块：
[root@linuxcool ~]# cloud-init modules

示例3: 
报告云启动状态或等待完成：
[root@linuxcool ~]# cloud-init status

示例4: 
删除日志和工件，以便重新运行cloud-init：
[root@linuxcool ~]# cloud-init clean


command_name: mkdumprd
chinese_name: mkdumprd命令 – 为内核转储崩溃恢复初始ramdisk映像
syntax: mkdumprd [参数] [镜像] [内核版本]
category: 系统管理(system)
description:
mkdumprd命令的作用是创建一个初始ram文件系统，用于在kdump框架中引导内核以进行崩溃恢复。
在初始ramdisk加载模块时，/etc/modprobe.conf中指定的任何模块选项都会被传递给模块。mkdumprd命令询问正在运行的系统，以了解需要在initramfs中加载哪些模块(基于从/etc/kdump.conf检索的配置)。
mkdumprd命令最初派生自mkinitrd实用程序(因此选项集的相似性)，但是mkdumprd命令的目的和任务与mkinitrd有显著的不同。如果需要自定义kdump initramfs映像，建议使用kdump服务基础结构创建一个映像，然后手动解包、修改和重新打包映像。

parameters:
|-- -image-version: 在映像创建之前，内核版本号追加initrd映像路径 |
|-- -nocompress: 创建initrd映像不使用gzip方式压缩 |
|-f: 允许mkdumprd覆盖现有的映像文件 |
|-v: 打印详细的信息，同时创建映像(通常mkdumprd以静默方式运行) |
|-- -omit-lvm-modules: 不加载任何LVM模块 |
|-d: 查询/etc/kdump |
|-- -fstab=<fstab文件>: 使用fstab文件来自动确定根设备上的文件系统的类型。通常情况下使用/etc/fstab文件 |
|-- -omit-reid-modules: 不加载任何RAID模块 |
|-- -omit-scsi-modules: 不加载任何SCSI模块 |
|-- -preload=<模块>: 在初始ramdisk映像中加载指定模块 |
|-- -builtin=<模块>: 如果模块被内置到内核使用则激活 |

examples:
示例1: 
创建初始ramdisk映像/root/ram：
[root@linuxcool ~]# mkdumprd /root/ram 2.6.32-358.el6.x86_64

示例2: 
查询/etc/kdump：
[root@linuxcool ~]# mkdumprd -d

示例3: 
打印详细的信息，同时创建映像：
[root@linuxcool ~]# mkdumprd -v


command_name: mapfile
chinese_name: mapfile命令 – 从标准输入读取行并赋值到数组
description: mapfile命令用于从标准输入或文件描述符读取行并赋值到数组
syntax: mapfile [参数]
category: 系统管理(system)
parameters:
|-n count: 从标准输入中获取最多count行，如果count为零那么获取全部 |
|-O origin: 从数组下标为origin的位置开始赋值，默认的下标为0 |
|-s count: 跳过对前count行的读取 |

examples:
示例1: 
先创建一个示例用的文件alpha.log，每行一个小写字母，共26行：
[root@linuxcool ~]#  echo {a..z} | tr " " "\n" >alpha.log
[root@linuxcool ~]#  cat alpha.log
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z

示例2: 
读取alpha.log文件并将每一行存储到数组myarr中(如果不指定，则存储到默认的MAPFILE数组中)：
[root@linuxcool ~]# mapfile myarr <alpha.log
[root@linuxcool ~]# echo ${myarr[@]}
a b c d e f g h i j k l m n o p q r s t u v w x y z
[root@linuxcool ~]#  echo ${myarr[2]}
c

示例3: 
从标准输入中获取最多6行数据：
[root@linuxcool ~]# mapfile -n 6 myarr <alpha.log 
[root@linuxcool ~]# echo ${myarr[2]}            
c
[root@linuxcool ~]# echo ${myarr[@]}             
a b c d e f

示例4: 
从数组下标为6的位置开始赋值：
[root@linuxcool ~]# mapfile -O 6 myarr <alpha.log 
[root@linuxcool ~]# echo ${myarr[@]}             
g h i j k l a b c d e f g h i j k l m n o p q r s t u v w x y z

示例5: 
跳过对前6行的读取：
[root@linuxcool ~]# mapfile -s 6 myarr <alpha.log 
[root@linuxcool ~]# echo ${myarr[@]}             
g h i j k l m n o p q r s t u v w x y z


command_name: initctl
chinese_name: initctl命令 – 管理init守护进程
syntax: initctl [参数] [对象]
category: 系统管理(system)
description:
initctl命令来自英文词组“init control”的缩写，其功能是用于管理init守护进程。init作为Linux系统中默认的初始化进程，重要性不言而喻，initctl命令能够对其进行管理操作。

parameters:
|help: 显示帮助信息 |
|list: 显示作业列表 |
|reload: 重新加载作业 |
|reload-configuration: 重新加载配置 |
|restart: 重启作业 |
|start: 启动作业 |
|status: 显示作业状态 |
|stop: 停止作业 |
|version: 显示版本信息 |

examples:
示例1: 
列出所有作业：
[root@linuxcool ~]#initctl list

示例2: 
启动指定作业：
[root@linuxcool ~]#initctl start control-alt-delete

示例3: 
查看指定终端作业的状态：
[root@linuxcool ~]#initctl status tty TTY=/dev/tty6

示例4: 
重新加载指定的终端作业：
[root@linuxcool ~]#initctl reload tty TTY=/dev/tty6


command_name: esxcfg-vswitch
chinese_name: esxcfg-vswitch命令 – ESX虚拟交换机管理工具
syntax: esxcfg-vswitch [参数]
parameters: |-l: 显示系统信息 | |-a: 添加系统配置 |
category: 系统管理(system)
description:
esxcfg命令集分为网络管理类、存储管理类、系统管理类等几种类型，esxcfg-vswitch命令是负责网络管理类命令，ESX虚拟交换机管理工具。可使用esxcfg-vswitch-l [命令]获取虚拟端口 ID 和 Dvswitchname。

examples:
示例1: 
增加一个vswitch：
[root@linuxcool ~]# esxcfg-vswitch -a

示例2: 
删除一个vswitch：
[root@linuxcool ~]# esxcfg-vswitch -d

示例3: 
显示当前vswitch的配置：
[root@linuxcool ~]# esxcfg-vswitch -l

示例4: 
添加一个新的portgroup：
[root@linuxcool ~]# esxcfg-vswitch -A

示例5: 
将一个vswitch与真实网卡绑定：
[root@linuxcool ~]# esxcfg-vswitch -L <pnic> <vSwitch_Name>


command_name: yumdb
chinese_name: yumdb命令 – 查询和修改yum数据库
syntax: yumdb [参数] [软件包]
category: 系统管理(system)
description:
yumdb命令的作用是查询和更改yum数据库，yum数据库是与rpm数据库结合使用的。任何已安装的包都可以在yum数据库中拥有相应数据，但是yum数据库主要还是在安装软件包时存储有关软件包相关的额外数据。

parameters:
|get: 获得给定的键值，限制了任何指定的包 |
|rename: 重命名指定的旧键，给定新的键 |
|set: 为给定的键设置值 |
|del: 删除指定键，并限制到任何指定的包 |
|search: 为指定键搜索所有的包，反对任何指定的通配符值 |
|sync: 从软件仓库中添加任何丢失的数据到yumdb |
|sync-force: 将从存储库替换yumdb任何数据，限制于任何特定的软件包 |
|exist: 将打印具有指定键的软件包，限制到任何指定的程序包 |
|unset: 将打印不具有指定键的软件包，限制到任何指定的软件包 |
|info: 将显示所有存储在yumdb中的数据 |
|rename-force: 强制重命名指定的旧键，给定新的键 |
|copy: 将复制给定的旧键为新的键 |
|copy-force: 强制复制给定的旧键为新的键 |

examples:
示例1: 
显示指定软件包所有存储在yumdb中的数据：
[root@linuxcool ~]# yumdb info bind

示例2: 
列出所有作为依赖项安装的包：
[root@linuxcool ~]# yumdb search reason dep

示例3: 
与软件仓库进行同步操作：
[root@linuxcool ~]# yumdb sync


command_name: hostname
chinese_name: hostname命令 – 显示和设置系统的主机名
syntax: hostname [参数] [主机名]
category: 系统管理(system)
description:
hostname命令的功能是用于显示和设置系统的主机名，Linux系统中的HOSTNAME环境变量对应保存了当前的主机名称，使用hostname命令能够查看和设置此环境变量的值，而要想永久修改主机名称则需要使用hostnamectl命令或直接编辑配置文件/etc/hostname才行。

parameters:
|-a: 显示主机别名 |
|-d: 显示DNS域名 |
|-f: 显示FQDN名称 |
|-F: 从指定文件中读取主机名 |
|-h: 显示帮助信息 |
|-i: 显示主机IP地址 |
|-s: 显示短主机名 |
|-v: 显示执行过程详细信息 |
|-V: 显示版本信息 |
|-y: 显示NIS域名 |

examples:
示例1: 
显示当前系统的主机名：
[root@linuxcool ~]#hostnamelinuxcool.com

示例2: 
显示当前系统的IP地址：
[root@linuxcool ~]#hostname -ife80::4d16:980c:e0fe:51c2%ens160 192.168.10.30 192.168.122.1

示例3: 
显示当前系统的NIS域名：
[root@linuxcool ~]#hostname -ylinuxcool.com


command_name: fg
chinese_name: fg命令 – 将作业放到前台运行
syntax: fg [参数] [作业标识]
parameters: |数字: 指定要放到前台的作业标识号 |
examples: 示例1: 将指定编号标识的作业放回到终端前台继续运行： [root@linuxcool ~]#fg 1
category: 系统管理(system)
description:
fg命令来自英文单词“foreground”，中文译为“前景”，其功能是用于将作业放到前台运行。在Linux系统中可以使用bg命令将作业放到后台运行，同理也能够使用fg命令将已经在后台运行或被挂起的作业放回前台终端继续运行。


command_name: yum-groups-manager
chinese_name: yum-groups-manager命令 – 创建和编辑yum的组元数据
description: yum groups manager用于创建或编辑yum存储库的组元数据文件；这通常比书面形式要容易得多手工编辑XML。
syntax: yum-groups-manager [参数]
category: 系统管理(system)
parameters:
|--dependencies: 为软件包添加依赖 |
|--load: 从文件中加载组的云数据 |
|--save: 保存组元数据到文件 |
|--remove: 删除列出来的软件包 |
|--merge: 加载和保存组元数据到文件 |

examples:
示例1: 
创建组元数据文件，名称以yum开头：
[root@linuxcool ~]# yum-groups-manager --name YUM --save groups.xml'yum*'

示例2: 
向yum组添加描述和翻译后的名称：
[root@linuxcool ~]# yum-groups-manager -n YUM --merge groups.xml --description 'This is a group with most of the yum packages in it' --translated-name 'en:yum packages'

示例3: 
加载groups.xml数据，使用yum组，设置该组不可见，并从中删除yum skip broken和yum priorities包：
[root@linuxcool ~]# yum-groups-manager -n YUM --merge groups.xml --remove yum-skip-broken yum-priorities --not-user-visible


command_name: supervisord
chinese_name: supervisord命令 – 配置后台服务/常驻进程的进程工具
syntax: supervisord [参数]
parameters: |status: 查看程序状态 | |start: 启动程序 | |stop: 关闭程序 | |update: 重启配置文件修改过的程序 |
category: 系统管理(system)
description:
supervisor是一个用 Python 写的进程管理工具，可以很方便的用来在 UNIX-like系统（不支持 Windows）下启动、重启（自动重启程序）、关闭进程（不仅仅是 Python 进程）。

examples:
示例1: 
查看进程运行状态：
[root@linuxcool ~]# supervisorctl status

示例2: 
启动进程：
[root@linuxcool ~]# supervisorctl start [进程名]

示例3: 
关闭进程：
[root@linuxcool ~]# supervisorctl stop [进程名]

示例4: 
清空进程日志：
[root@linuxcool ~]# supervisorctl clear [进程名]

示例5: 
重新载入配置文件：
[root@linuxcool ~]# supervisorctl update


command_name: slabtop
chinese_name: slabtop命令 – 实时显示内核slab缓冲信息
syntax: slabtop [参数]
parameters: |-d: 每n秒更新一次显示的信息，默认是每3秒 | |-s: 指定排序标准进行排序 | |-o: 显示一次后退出 | |-V: 显示版本 | |-- -help: 显示帮助信息 |
category: 系统管理(system)
description:
slabtop命令的命令是以实时的方式显示内核“slab”缓冲区的细节信息。
linux内核需要为临时对象如任务或者设备结构和节点分配内存，缓存分配器管理着这些类型对象的缓存。现代linux内核部署了该缓存分配器以持有缓存，称之为片。不同类型的片缓存由片分配器维护。slabtop命令的作用就是显示实时内核片缓存信息。
slabtop命令仅可以用于在版本高于2.4的linux内核中。使用该命令要有root权限。

examples:
示例1: 
显示内核slab缓存区信息：
[root@linuxcool ~]# slabtop

示例2: 
每隔十秒钟刷新显示slab缓冲区信息：
[root@linuxcool ~]# slabtop -d 10

示例3: 
仅输出一次信息：
[root@linuxcool ~]# slabtop -o


command_name: groupdel
chinese_name: groupdel命令 – 删除用户组
syntax: groupdel [参数] [群组名]
parameters: |-f: 强制删除而不询问 | |-h: 显示帮助信息 |
category: 系统管理(system)
description:
groupdel命令来自英文词组“delete a group”的缩写，其功能是用于删除用户组。Linux系统中的用户组信息被保存在/ect/group和/ect/gshadow文件中，手动删除对应信息即可，亦可以用groupdel命令删除。

examples:
示例1: 
删除指定名称的用户组：
[root@linuxcool ~]#groupdel linuxcool

示例2: 
强制删除指定名称的用户组：
[root@linuxcool ~]#groupdel -f linuxcool


command_name: init
chinese_name: init命令 – 切换系统运行级别
syntax: init [参数]
parameters: |0: 关机 | |1: 单用户 | |2: 多用户 | |3: 完全多用户模式 | |5: 图形界面 | |6: 重启 | |--help: 显示帮助信息 |
category: 系统管理(system)
description:
init命令来自英文单词initialize的缩写，其功能是切换系统运行级别。init命令是Linux系统中的进程初始化工具，是一切服务程序的父进程，它的进程号永远为1。管理员可以使用init命令对系统运行级别进行自由切换，亦可进行重启、关机等操作。

examples:
示例1: 
关闭服务器：
[root@linuxcool ~]# init 0

示例2: 
切换单用户模式：
[root@linuxcool ~]# init 1

示例3: 
切换多用户模式：
[root@linuxcool ~]# init 2

示例4: 
切换完全多用户模式（常见的文字界面级别）：
[root@linuxcool ~]# init 3

示例5: 
切换图形界面模式（常见的图形界面级别）：
[root@linuxcool ~]# init 5

示例6: 
重启服务器：
[root@linuxcool ~]# init 6


command_name: createrepo
chinese_name: createrepo命令 – 创建软件仓库及生成元数据
syntax: createrepo [参数] [对象]
category: 系统管理(system)
description:
createrepo命令来自英文词组“create repository”的缩写，其功能是用于创建软件仓库及生成元数据。使用createrepo命令可以让用户很方便地创建自己的YUM/dnf软件仓库资源，即为存放于本地的众多RPM软件包提供索引，自动化分析各软件包之间所需依赖关系，并生成元数据。

parameters:
|-c: 指定用于存放软件包和校验信息的目录 |
|-d: 使用SQLite来存储生成的元数据 |
|-g: 设置本地软件仓库的组划分 |
|-i: 指定用于初始元数据参数的文件 |
|-o: 设置元数据的输出位置 |
|-p: 使用整洁格式输出xml文件 |
|-q: 静默执行模式 |
|-u: 设置Base URL的地址 |
|-v: 显示执行过程详细信息 |
|-x: 设置需要排除的软件包 |
|--update: 更新软件仓库信息 |

examples:
示例1: 
将指定的目录（需内含所需RPM软件包）制作成软件仓库：
[root@linuxcool ~]#createrepo /Dir

示例2: 
将当前目录（需内含所需RPM软件包）制作成软件仓库：
[root@linuxcool ~]#createrepo .

示例3: 
当前目录中RPM软件包发生变化后，重做软件仓库及元数据信息：
[root@linuxcool ~]#createrepo --update .


command_name: xsetroot
chinese_name: xsetroot命令 – 根窗口参数设置实用程序
syntax: xsetroot [参数]
category: 系统管理(system)
description:
xsetroot命令允许您在运行X的工作站显示器上定制背景（根）窗口的外观。通常，您可以尝试使用xsetroot命令直到找到所需的个性化外观，然后将产生该外观的xsetroot命令放入您的X启动文件。如果未指定任何选项，或者如果指定了-def标志，则将窗口重置为其默认状态。可以将-def标志与其他标志一起指定，并且只有未指定的特征才被重置为默认状态。

parameters:
|-gray: 将整个背景设为灰色 |
|-def: 将未指定的属性重置为默认值 |
|-bg<color>: 使用颜色作为背景色 |
|-solid<color>: 这会将根窗口的背景设置为指定的颜色 |

examples:
示例1: 
将整个背景设为灰色：
[root@linuxcool ~]# xsetroot -gray

示例2: 
将未指定的属性重置为默认值：
[root@linuxcool ~]# xsetroot -def

示例3: 
使用-bg设置自定义背景色：
[root@linuxcool ~]# xsetroot -bg red


command_name: fbset
chinese_name: fbset命令 – 设置景框缓冲区
description: fbset命令为“framebuffer set”的简写，该命令可用于设置景框缓冲区的大小，还能调整画面之分辨率，位置，高低宽窄，色彩深度，并可决定是否启动先卡之各项硬件特性。
syntax: fbset [参数] [显示模式]
category: 系统管理(system)
parameters:
|-a: 改变所有使用该设备之虚拟终端机的显示模式 |
|-db: 指定显示模式的信息文件，预设值文件名称为fb.modes，存放在/etc目录下 |
|-fb: 指定用来做为输出景框缓冲区之外围设备，预设置为”/dev/fd0″ |
|-n: 马上改变显示模式 |

examples:
示例1: 
设置画面分辨率和桌面分辨率：
[root@linuxcool ~]# fbset -g 800 688 1024 768

示例2: 
启动硬件文本加速：
[root@linuxcool ~]# fbset -accel true

示例3: 
启动广播功能：
[root@linuxcool ~]# fbset -bcast true

示例4: 
查看画面分辨率：
[root@linuxcool ~]# fbsetmode "1366x768-60"# D: 73.078 MHz, H: 47.639 kHz, V: 59.999 Hzgeometry 1366 768 1408 768 16timings 13684 104 32 18 3 32 5hsync highvsync highrgba 5/11,6/5,5/0,0/0endmode

示例5: 
查看帮助：
[root@linuxcool ~]# fbset --helpLinux Frame Buffer Device Configuration Version 2.1 (23/06/1999)(C) Copyright 1995-1999 by Geert Uytterhoeven


command_name: chkconfig
chinese_name: chkconfig命令 – 管理服务程序
syntax: chkconfig [参数] [服务名]
category: 系统管理(system)
description:
chkconfig命令来自英文词组“Check config“的缩写，其功能是用于管理服务程序。chkconfig命令由红帽公司遵循GPL开源协议开发而成，能够用于日常管理服务程序的自启动开启、自启动关闭等工作。随着RHEL/CentOS8版本系统的发布，该命令功能逐步被systemctl命令替代。

parameters:
|off: 不随开机而自动运行 |
|on: 随开机而自动运行 |
|--add: 将服务添加至管理列表 |
|--del: 将服务移除出管理列表 |
|--help: 显示帮助信息 |
|--list: 显示当前已有的全部服务列表 |
|--short: 使用简短格式输出信息 |
|--version: 显示版本信息 |

examples:
示例1: 
列出当前系统中已有的全部服务名称：
[root@linuxcool ~]#chkconfig --list

示例2: 
将指定的服务加入到开机自启动中，重启后默认依然有效：
[root@linuxcool ~]#chkconfig telnet on

示例3: 
将指定的服务移除出开机自启动，重启后默认不会运行：
[root@linuxcool ~]#chkconfig telnet off

示例4: 
将指定名称的服务程序加入到管理列表中：
[root@linuxcool ~]#chkconfig –-add httpd

示例5: 
将指定名称的服务程序移除出管理列表：
[root@linuxcool ~]#chkconfig –-del httpd


command_name: metaparam
chinese_name: metaparam命令 – 修改元设备的参数
description: metaparam命令用于显示或修改元数据的当前参数。如果仅将metadevice指定为metaparam命令的参数，则会显示当前设置。
syntax: metaparam [参数]
parameters: |--h: 显示使用情况消息 | |–ssetname: 指定运行metaparam的磁盘集的名称 |
category: 系统管理(system)
examples:
示例1: 
将热备用池user_pool与RAID5元设备user_raid关联：
[root@linuxcool ~]# metaparam -h user_pool user_raid

示例2: 
将镜像d50上的read选项从默认的roundrobin更改为geometric：
[root@linuxcool ~]# metaparam -r geometric d50


command_name: ssh-add
chinese_name: ssh-add命令 – agent的高速缓存
description: ssh-add命令是把专用密钥添加到ssh-agent的高速缓存中。该命令位置在/usr/bin/ssh-add。
syntax: ssh-add [参数]
category: 系统管理(system)
parameters:
|-D: 删除ssh-agent中的所有密钥 |
|-d: 从ssh-agent中的删除密钥 |
|-l: 显示ssh-agent中的密钥 |
|-L: 显示ssh-agent中的公钥 |
|-X: 对ssh-agent进行解锁 |
|-x: 对ssh-agent进行加锁 |

examples:
示例1: 
把专用密钥添加到 ssh-agent 的高速缓存中：
[root@linuxcool ~]# ssh-add ~/.ssh/id_dsa

示例2: 
从ssh-agent中删除密钥:
[root@linuxcool ~]# ssh-add -d ~/.ssh/id_xxx.pub

示例3: 
查看ssh-agent中的密钥：
[root@linuxcool ~]# ssh-add -l


command_name: strace
chinese_name: strace命令 – 跟踪系统调用信息
syntax: strace [参数] [对象]
category: 系统管理(system)
description:
strace命令来自英文单词“跟踪”，其功能是用于跟踪系统调用信息。strace命令是一个集诊断、调试、统计于一体的工具，可以对系统调用和信号传递的跟踪结果进行分析，从而解决问题。
Linux系统中进程不能直接访问硬件设备，当进程需要读取磁盘文件或接收网络数据时，必须由用户态模式切换至内核态模式，通过系统调用访问硬件设备。而strace命令则可以跟踪到一个进程产生的系统调用数据——包括参数，返回值，执行消耗时间等信息。

parameters:
|-a: 设置返回值的输出位置 |
|-c: 显示执行时间、报错次数等信息 |
|-d: 使用调试模式 |
|-e: 指定一个表达式 |
|-f: 跟踪由fork调用所产生的子进程 |
|-F: 跟踪vfork调用 |
|-h: 显示帮助信息 |
|-o: 将输出结果写入到文件 |
|-p: 设置进程号码 |
|-q: 不显示离线消息 |
|-r: 显示系统调用的相对时间 |
|-t: 每一行前加上时间信息（秒） |
|-tt: 每一行前加上时间信息（微秒级） |
|-T: 显示每次调用所花费时间信息 |
|-u: 显示指定用户或用户组的信息 |
|-v: 显示所有的系统调用信息 |
|-V: 显示版本信息 |
|-x: 使用十六进制输出非标准字符串 |
|-xx: 使用十六进制输出所有字符串 |

examples:
示例1: 
根据指定进程的系统调用：
[root@linuxcool ~]#strace -p 5188

示例2: 
根据指定进程的所有系统调用，并统计所花费时间（微秒级）：
[root@linuxcool ~]#strace -T -tt -e trace=all -p 5188


command_name: uustat
chinese_name: uustat命令 – 显示UUCP目前的状况
description: 执行uucp与uux指令后，会先将工作送到队列，再由uucico来执行工作。uustat可显示，删除或启动队列中等待执行的工作。
syntax: uustat [参数]
category: 系统管理(system)
parameters:
|-a: 显示全部的UUCP工作 |
|-e: 仅显示待执行的工作 |
|-i: 针对队列中的每项工作，询问使用是否要删除工作 |
|-p: 显示负责UUCP锁定的程序 |
|-q: 显示每台远端主机上所要执行工作的状态 |
|-Q: 不显示工作 |

examples:
示例1: 
显示全部的UUCP工作：
[root@linuxcool ~]# uustat -a

示例2: 
仅显示待执行的工作：
[root@linuxcool ~]# uustat -e

示例3: 
针对队列中的每项工作，询问使用是否要删除工作：
[root@linuxcool ~]# uustat -i

示例4: 
显示负责UUCP锁定的程序：
[root@linuxcool ~]# uustat -p

示例5: 
显示每台远端主机上所要执行工作的状态：
[root@linuxcool ~]# uustat -q


command_name: who
chinese_name: who命令 – 查看当前登录用户信息
description: who命令的功能是用于显示当前登录用户信息，包含登录的用户名、终端、日期时间、进程等信息，帮助运维人员了解当前系统的登入用户情况。
syntax: who [参数]
category: 系统管理(system)
parameters:
|-a: 显示全部信息 |
|-b: 显示系统最近启动时间 |
|-H: 显示用户名、终端和时间 |
|-l: 显示系统登录进程 |
|-p: 显示由init生成的进程 |
|-r: 显示当前运行级别 |
|-s: 静默执行模式 |
|-t: 显示系统上次锁定时间 |
|-u: 显示已登录用户列表 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 |

examples:
示例1: 
查看当前登录用户信息：
[root@linuxcool ~]#whoroot     tty2         2023-10-19 02:12 (tty2)

示例2: 
查看当前登录用户信息，并加上标题：
[root@linuxcool ~]#who -HNAME     LINE         TIME             COMMENT
root     tty2         2023-10-19 02:12 (tty2)

示例3: 
查看当前全部的登录全部用户信息：
[root@linuxcool ~]#who -H -aNAME       LINE         TIME             IDLE          PID COMMENT  EXIT
           system boot  2023-10-19 02:12
           run-level 5  2023-10-19 02:12
root     + tty2         2023-10-19 02:12  old         2164 (tty2)

示例4: 
查看系统的最近启动时间：
[root@linuxcool ~]#who -bsystem boot  2023-10-19 02:12


command_name: mpstat
chinese_name: mpstat命令 – 显示变化的CPU数据
description: mpstat命令可以显示随着时间变化的CPU数据，方便找出CPU使用率与时间的关系。这个命令包含在工具集sysstat中，使用之前需要安装sysstat。
syntax: mpstat [参数]
parameters: |-P: 执行监控的CPU，取值0~CPUNUM。或者用ALL查看全部CPU | |delay: 采样间隔 | |count: 采样次数 |
category: 系统管理(system)
examples:
示例1: 
执行监控第一个CPU：
[root@linuxcool ~]# mpstat -P 1

示例2: 
执行监控全部CPU：
[root@linuxcool ~]# mpstat -P ALL

示例3: 
每隔1个时间单位采样5次：
[root@linuxcool ~]# mpstat 1 5


command_name: htop
chinese_name: htop命令 – 互动的进程查看器
syntax: htop [参数]
category: 系统管理(system)
description:
htop是linux系统中的一个互动的进程查看器，一个文本模式的应用程序(在控制台或者X终端中)，需要ncurses。htop比较人性化。它可让用户交互式操作，支持颜色主题，可横向或纵向滚动浏览进程列表，并支持鼠标操作。
htop相比较top的优势有可以横向或纵向滚动浏览进程列表，以便看到所有的进程和完整的命令行、在启动上比top更快、杀进程时不需要输入进程号、支持鼠标选中操作、top已不再维护。

parameters:
|-C: 使用单色配色方案 |
|-d: 设置更新的延迟， 单位是10微秒 |
|-s: 纵列排序 |
|-u: 只显示一个指定用户的进程 |
|-p: 只显示给用户 |
|-h: 打印此命令帮助 |
|-v: 打印版本信息 |

examples:
示例1: 
启动htop：
[root@linuxcool ~]# htop

示例2: 
以单色模式启动htop：
[root@linuxcool ~]# htop -C

示例3: 
设置显示更新的延迟为3秒：
[root@linuxcool ~]# htop -d 3

示例4: 
显示一个给定的用户的进程：
[root@linuxcool ~]# htop -u linuxcool_user


command_name: iotop
chinese_name: iotop命令 – 监视磁盘I/O状态
syntax: iotop [参数]
category: 系统管理(system)
description:
iotop命令是一个用来监视磁盘I/O使用状况的top类工具。iotop具有与top相似的UI，其中包括PID、用户、I/O、进程等相关信息。
Linux下的IO统计工具如iostat，nmon等大多数是只能统计到per设备的读写情况，如果你想知道每个进程是如何使用IO的就比较麻烦，使用iotop命令可以很方便的查看。

parameters:
|-o: 只显示有io操作的进程 |
|-b: 批量显示，无交互，主要用作记录到文件 |
|-n NUM: 显示NUM次，主要用于非交互式模式 |
|-d SEC: 间隔SEC秒显示一次 |
|-p PID: 监控的进程pid |
|-u USER: 监控的进程用户 |

examples:
示例1: 
使用-o参数只显示IO操作进程：
[root@linuxcool ~]# iotop -o

示例2: 
使用-b参数批量显示，无交互：
[root@linuxcool ~]# iotop -b

示例3: 
使用-u参数显示root用户的IO进程：
[root@linuxcool ~]# iotop -u root


command_name: vim-cmd
chinese_name: vim-cmd命令 – 控制虚拟机状态
syntax: vim-cmd [参数] [对象]
parameters: |hostsvc: 显示与主机相关的状态 | |vmsvc: 显示与虚拟机相关的状态 |
category: 系统管理(system)
description:
vim-cmd命令的功能是用于控制虚拟机状态。vim-cmd是esxi命令行，可在命令行下控制虚拟机的注册，启动等。 vim-cmd是构建在host进程之上的命令空间，允许最终用户调用几乎所有的vSphere API。vim-cmd提供了一些ESXi子命令管理不同的虚拟基础设施，而且和vimsh相比，更容易使用。

examples:
示例1: 
查看当前已有虚拟机列表：
[root@linuxcool ~]#vim-cmd vmsvc/getallvms

示例2: 
查看当前已有虚拟机状态：
[root@linuxcool ~]#vim-cmd vmsvc/power.getstate vmid

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

示例4: 
进入到维护模式：
[root@linuxcool ~]#vim-cmd hostsvc/maintenance_mode_enter

示例5: 
退出维护模式：
[root@linuxcool ~]#vim-cmd hostsvc/maintenance_mode_exit


command_name: tune2fs
chinese_name: tune2fs命令 – 管理文件系统参数
syntax: tune2fs [参数] [设备名]
category: 系统管理(system)
description:
tune2fs命令来自英文词组“adjust tunable filesystem parameters”的缩写，其功能是用于管理文件系统参数。Linux系统若出现意外断电或宕机的情况，下次开机时会自动调用tune2fs命令进行系统自检工作，管理员亦可以根据需要有周期性地对文件系统进行检查，保障系统稳定。

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

examples:
示例1: 
查看指定设备的文件系统详细信息：
[root@linuxcool ~]#tune2fs -l /dev/sdb

示例2: 
设置强制检查前，文件系统还可以挂载的最大次数：
[root@linuxcool ~]#tune2fs -c 15 /dev/sdb

示例3: 
设置10天后将自动检查文件系统：
[root@linuxcool ~]#tune2fs -i 10d /dev/sdb

示例4: 
设置3周后将自动检查文件系统：
[root@linuxcool ~]#tune2fs -i 3w /dev/sdb

示例5: 
设置6个月后将自动检查文件系统：
[root@linuxcool ~]#tune2fs -i 6m /dev/sdb

示例6: 
添加日志功能，将ext2转换成ext3文件系统：
[root@linuxcool ~]#tune2fs -j /dev/sdb

示例7: 
设置指定的磁盘分区文件系统保留空间为40000个磁盘块：
[root@linuxcool ~]#tune2fs -r 40000 /dev/sdb


command_name: lvremove
chinese_name: lvremove命令 – 删除指定LVM逻辑卷
description: lvremove命令用于删除指定LVM逻辑卷。如果逻辑卷已经使用mount命令加载，则不能使用lvremove命令删除。必须使用umount命令卸载后，逻辑卷方可被删除。
syntax: lvremove [参数]
parameters: |-f: 强制删除 |
category: 系统管理(system)
examples:
示例1: 
删除逻辑卷lvol0：
[root@linuxcool ~]# lvremove /dev/vg1000/lvol0
Do you really want to remove active logical 
volume "lvol0"? [y/n]: y   
Logical volume "lvol0" successfully removed


command_name: mountpoint
chinese_name: mountpoint命令 – 判断目录是否为挂载点
syntax: mountpoint [参数] [目录或设备名]
parameters: |-d: 显示文件系统的主、次设备号 | |-q: 静默执行模式 | |-x: 显示块设备的主、次设备号 |
category: 系统管理(system)
description:
mountpoint命令来自英文词组“mount point”的拼写，其功能是用于判断目录是否为挂载点。Linux系统要求设备被挂载到目录下才能够被正常使用，而mountpoint命令则正是用于判断目录是否被某个设备挂载着而设计的。

examples:
示例1: 
判断指定目录是否为挂载点：
[root@linuxcool ~]#mountpoint /media/cdrom/media/cdrom is a mountpoint
[root@linuxcool ~]#mountpoint /Dir/cdrommountpoint: /Dir/linuxprobe: No such file or directory

示例2: 
查看指定挂载点上的设备号码：
[root@linuxcool ~]#mountpoint -d /media/cdrom11:0

示例3: 
查看指定设备的号码：
[root@linuxcool ~]#mountpoint -x /dev/cdrom11:0


command_name: timeconfig
chinese_name: timeconfig命令 – 设置时区
description: timeconfig命令用于设置时区， 是Red Hat公司遵循GPL规则所开发的程序，它具有互动式操作界面，可以轻易地利用方向键和空格键等，设置系统时间所属的时区。
syntax: timeconfig [参数] [时区]
examples: 示例1: 设置时区： [root@linuxcool ~]# timeconfig
category: 系统管理(system)
parameters:
|--arc: 使用Alpha硬件结构的格式存储系统时间 |
|--back: 在互动式界面里，显示Back钮而非Cancel钮 |
|--test: 仅作测试，并不真的改变系统的时区 |
|--utc: 把硬件时钟上的时间视为CUT，有时也称为UTC或UCT |


command_name: resize2fs
chinese_name: resize2fs命令 – 同步文件系统容量到内核
syntax: resize2fs [参数] [设备名]
parameters: |-d: 打开调试特性 | |-f: 强制调整设备容量而不询问 | |-F: 刷新文件系统设备的缓冲区 | |-p: 显示已完成的百分比进度条 | |-P: 显示文件系统的最小值 |
category: 系统管理(system)
description:
resize2fs命令来自英文词组resize to filesystem的缩写，其功能是同步文件系统容量到内核。如对EXT3、EXT4、XFS等设备卷容量进行了调整，则需要使用resize2fs命令同步信息到系统内核。

examples:
示例1: 
同步文件系统容量信息到系统内核：
[root@linuxcool ~]# resize2fs /dev/sdb 
resize2fs 1.44.3 (10-July-2018) 
The filesystem is already 5242880 (4k) blocks long. Nothing to do!

示例2: 
同步文件系统容量信息到系统内核，并显示百分比进度条：
[root@linuxcool ~]# resize2fs -p /dev/sdb

示例3: 
强制同步系统容量信息到系统内核：
[root@linuxcool ~]# resize2fs -f /dev/sdb

示例4: 
刷新文件系统设备的缓冲区，随后同步容量信息到系统内核：
[root@linuxcool ~]# resize2fs -F /dev/sdb


command_name: firewall-cmd
chinese_name: firewall-cmd命令 – 防火墙策略管理工具
syntax: firewall-cmd [参数] [对象]
category: 系统管理(system)
description:
firewall-cmd命令的功能是管理防火墙策略，是firewalld服务的配置工具。使用firewall-cmd命令修改的防火墙策略会立即生效，但重启后失效，因此在使用时推荐加上permanent参数。
。 关于firewalld服务及firewall-cmd命令详细的使用方法，请参阅《Linux就该这么学（第2版）》第8章节的内容。

parameters:
|--add-interface: 将指定网卡的所有流量都导向某区域 |
|--add-port: 设置允许的端口 |
|--add-service: 设置允许的服务 |
|--add-source: 将指定IP地址的所有流量都导向某区域 |
|--change-interface: 设置网卡与区域进行关联 |
|--get-active-zones: 显示当前正在使用的区域与网卡名称 |
|--get-default-zone: 显示默认的区域名称 |
|--get-services: 显示预先定义的服务 |
|--get-zones: 显示可用的区域列表 |
|--list-all: 显示当前区域的网卡配置参数、资源、端口及服务 |
|--list-all-zones: 显示区域信息情况 |
|--panic-off: 关闭紧急模式 |
|--panic-on: 开启紧急模式 |
|--permanent: 将策略写入永久生效表 |
|--query-panic: 显示是否被拒绝 |
|--reload: 立即加载永久生效策略，不重启服务 |
|--remove-port: 设置默认区域不再允许指定端口的流量 |
|--remove-source: 不要将指定IP地址的所有流量导向某区域 |
|--remove-service: 设置默认区域不再允许指定服务的流量 |
|--set-default-zone: 设置默认的区域 |
|--state: 显示当前服务运行状态 |

examples:
示例1: 
查看当前防火墙状态：
[root@linuxcool ~]# firewall-cmd --state 
running

示例2: 
查看防火墙当前放行端口号列表：
[root@linuxcool ~]# firewall-cmd --zone=public --list-ports

示例3: 
重新加载防火墙策略，立即生效：
[root@linuxcool ~]# firewall-cmd --reload 
success

示例4: 
查看当前防火墙默认使用的区域名称：
[root@linuxcool ~]# firewall-cmd --get-default-zone 
public

示例5: 
设置当前防火墙默认使用的区域名称：
[root@linuxcool ~]# firewall-cmd --set-default-zone=dmz
success

示例6: 
开启紧急模式，随后关闭：
[root@linuxcool ~]# firewall-cmd --panic-on
success
[root@linuxcool ~]# firewall-cmd --panic-off
success

示例7: 
设置8080-8081为防火墙允许放行的端口号：
[root@linuxcool ~]# firewall-cmd --zone=public --add-port=8080-8081/tcp

示例8: 
查看防火墙当前放行端口号列表：
[root@linuxcool ~]# firewall-cmd --zone=public --list-ports 
8080-8081/tcp

示例9: 
查询指定服务的流量是否被防火墙允许放行：
[root@linuxcool ~]# firewall-cmd --zone=public --query-service=ssh
yes
[root@linuxcool ~]# firewall-cmd --zone=public --query-service=https
no


command_name: skill
chinese_name: skill命令 – 送讯号给正在执行的程序
syntax: skill [讯号名称] [选择程序的规则]
parameters: |-v: 详细输出/ 列出所选择程序的资讯 | |-n: 没有动作/ 显示程序代号 | |-t: 终端机代号 | |-u: 使用者名称 | |-w: 智能警告讯息/ 尚未完成 |
category: 系统管理(system)
description:
skill命令送个讯号给正在执行的程序，预设的讯息为 TERM (中断)，较常使用的讯息为 HUP、INT、KILL、STOP、CONT 和 0。
讯息有三种写法：分别为 -9、-SIGKILL、-KILL，可以使用 -l 或 -L 已列出可使用的讯息。

examples:
示例1: 
停止所有在 PTY 装置上的程序：
[root@linuxcool ~]# skill -KILL -v pts/*

示例2: 
停止三个使用者 user1、user2、user3：
[root@linuxcool ~]# skill -STOP user1 user2 user3

示例3: 
冻结16514号进程：
[root@linuxcool ~]# skill -STOP 16514

示例4: 
冻结oracle进程:
[root@linuxcool ~]# skill -STOP oracle

示例5: 
唤醒进程：
[root@linuxcool ~]# skill -CONT 16514


command_name: mtr
chinese_name: mtr命令 – 网络诊断
syntax: mtr [参数]
parameters: |-r: 已报告模式显示 | |-c: 发送多少个数据包 | |-n: 不用主机解释 | |--report: 结果显示，并不动态显示 | |-s: 用来指定ping数据包的大小 |
category: 系统管理(system)
description:
mtr在单个网络诊断工具中结合了traceroute和ping程序的功能。当mtr启动时，它调查运行在主机mtr和主机名之间的网络连接。
通过发送有目的的低TTL的包。它继续以较低的TTL发送数据包，记录中间路由器。这允许MTR打印Internet路由的响应百分比和响应时间。到主机名。包丢失或响应时间的突然增加通常是坏的（或仅仅是过度的）迹象。已加载）链接。结果通常以往返响应时间（毫秒）和包丢失百分比报告。

examples:
示例1: 
使用-r参数显示报告：
[root@linuxcool ~]# mtr -r 202.108.33.94

示例2: 
使用-c参数设置每秒发送数据包数量：
[root@linuxcool ~]# mtr -r -c 30 202.108.33.94

示例3: 
使用-s参数指定ping数据包的大小：
[root@linuxcool ~]# mtr -r -c 30 -s 1024 202.108.33.94


command_name: nstat
chinese_name: nstat命令 – 监视内核的SNMP计数器和网络接口状态
description: nstat是一个简单的监视内核的SNMP计数器和网络接口状态的实用工具 。
syntax: nstat [参数]
examples: 示例1: 直接输入以查询内核的SNMP计数器和网络接口状态： [root@linuxcool ~]# nstat
category: 系统管理(system)
parameters:
|-z: 显示0计数器 |
|-h: 显示帮助信息 |
|-V: 显示指令版本信息 |
|-r: 清零历史统计 |
|-n: 不显示任何内容，仅更新历史 |
|-a: 显示计数器的绝对值 |
|-s: 不更新历史 |
|-d: 以守护进程的方式运行本指令 |
|-j: 以json格式打印结果 |


command_name: passwd
chinese_name: passwd命令 – 修改用户的密码值
category: 系统管理(system)
description:
passwd命令来自英文单词password的缩写，其功能是修改用户的密码值；同时也可以对用户进行锁定等操作，但需要管理员身份才可以执行。
常用格式：passwd [参数] [用户名]
常用参数：
参考示例
修改当前登录用户的密码值：
修改指定用户的密码值：
锁定指定用户的密码值，不允许其进行修改：
解锁指定用户的密码值，允许其进行修改：
强制指定的用户在下次登录时必须重置其密码：
删除指定用户的密码值：
查看指定用户的密码状态：
这篇优质的内容由TA贡献而来
刘遄
《Linux就该这么学》书籍作者，RHCA认证架构师，教育学（计算机专业硕士）。
京ICP备16058923号-1
推荐用书：《Linux就该这么学》
真正好用的Linux命令在线查询手册

parameters:
|-d: 清除已有密码 |
|-e: 下次登录时强制修改密码 |
|-f: 强制执行操作而不询问 |
|-k: 设置用户在期满后能仍能正常使用 |
|-l: 锁定用户的密码值，不允许修改 |
|-n: 设置最小密码有效期 |
|-u: 解锁用户的密码值，允许修改 |
|-w: 设置密码到期前几天收到警告信息 |
|-x: 设置最大密码有效期 |
|--help: 显示帮助信息 |
|--usage: 显示简短的使用信息提示 |

examples:
示例1: 
修改当前登录用户的密码值：
[root@linuxcool ~]# passwd 
Changing password for user root. 
New password: 输入密码 
Retype new password: 再次输入密码 
passwd: all authentication tokens updated successfully.

示例2: 
修改指定用户的密码值：
[root@linuxcool ~]# passwd linuxprobe 
Changing password for user linuxprobe. 
New password: 输入密码 
Retype new password: 再次输入密码 
passwd: all authentication tokens updated successfully.

示例3: 
锁定指定用户的密码值，不允许其进行修改：
[root@linuxcool ~]#passwd -l linuxprobeLocking password for user linuxprobe.
passwd: Success

示例4: 
解锁指定用户的密码值，允许其进行修改：
[root@linuxcool ~]# passwd -u linuxprobe 
Unlocking password for user linuxprobe. 
passwd: Success

示例5: 
强制指定的用户在下次登录时必须重置其密码：
[root@linuxcool ~]# passwd -e linuxprobe 
Expiring password for user linuxprobe. 
passwd: Success

示例6: 
删除指定用户的密码值：
[root@linuxcool ~]# passwd -d linuxprobe 
Removing password for user linuxprobe. 
passwd: Success

示例7: 
查看指定用户的密码状态：
[root@linuxcool ~]# passwd -S linuxprobe 
linuxprobe NP 2023-05-18 0 99999 7 -1 (Empty password.)


command_name: lastb
chinese_name: lastb命令 – 列出登入系统失败的用户
syntax: lastb [参数]
category: 系统管理(system)
description:
lastb命令用于显示用户错误的登录列表，此指令可以发现系统的登录异常。
单独执行lastb命令，它会读取位于/var/log目录下，名称为btmp的文件，并把该文件内容记录的登入失败的用户名单，全部显示出来。

parameters:
|-a: 把从何处登入系统的主机名称或ip地址显示在最后一行 |
|-d: 将IP地址转换成主机名称 |
|-f: 指定记录文件 |
|-n: 设置列出名单的显示列数 |
|-R: 不显示登入系统的主机名称或IP地址 |
|-x: 显示系统关机，重新开机，以及执行等级的改变等信息 |

examples:
示例1: 
列出登入失败的用户记录：
[root@linuxcool ~]# lastb 
root     ssh:notty    192.168.3.8      Mon Apr 29 14:25 - 14:25  (00:00)    
root     ssh:notty    192.168.3.8      Mon Apr 29 14:25 - 14:25  (00:00)    

btmp begins Mon Apr 29 14:25:16 2019

示例2: 
使用-a参数把IP显示在最后列：
[root@linuxcool ~]# lastb -a
root     ssh:notty    Mon Apr 29 14:25 - 14:25  (00:00)     192.168.3.8
root     ssh:notty    Mon Apr 29 14:25 - 14:25  (00:00)     192.168.3.8

btmp begins Mon Apr 29 14:25:16 2019

示例3: 
使用-R参数不显示主机名和IP信息：
[root@linuxcool ~]# lastb -R
root     ssh:notty    Mon Apr 29 14:43 - 14:43  (00:00)    
root     ssh:notty    Mon Apr 29 14:25 - 14:25  (00:00)    

btmp begins Mon Apr 29 14:25:16 2019


command_name: kexec
chinese_name: kexec命令 – 直接起动另一linux内核
syntax: kexec [参数]
category: 系统管理(system)
description:
kexec命令的功能是可以从当前正在运行的内核直接引导到一个新内核。
kexec命令跳过了整个引导装载程序阶段的第一部分，直接跳转到我们希望引导到的内核。不再有硬件的重启和固件操作，不再涉及引导装载程序。完全避开了引导序列最慢的一部分。这一功能部件带来的最大益处在于，系统现在可以极其快速地重新启动。
使用kexec命令内核版本必需为 2.6.13 或以上。

parameters:
|-l: 指定内核映像文件 |
|-e: 允许当前被加载的内核 |
|-f: 强制立即调用系统调用“kexec”，而不调用“shutdown” |
|-t: 指定新内核的类型 |
|-u: 卸载当前的kexec目标内核 |

examples:
示例1: 
装在指定的内核映像：
[root@linuxcool ~]# kexec -l /boot/bzImage -append="root=/dev/hda1"

示例2: 
重新启动已装载的内核：
[root@linuxcool ~]# kexec -e


command_name: ipstat
chinese_name: ipstat命令 – 实时显示 Linux 内核中 iptables 的工作状态
syntax: ipstat [参数]
parameters: |-c: 在以前的报告之后打印更新的报告 | |-l: 指定每个报表要输出的数据行数 | |-d: 显示标准日期格式 (–dd) 的时间戳 |
category: 系统管理(system)
description:
ipstat命令用于根据命令语法中指定的所选输出模式和排序顺序收集并报告有关服务器上 IP 通信流量的统计信息。使用此命令可以观察 IP 层的网络通信流量（按源、目标、高层协议和接口进行聚合）。当您希望观察一个服务器与其他服务器之间的通信量时，使用此命令。

examples:
示例1: 
观察最活跃的五个 IP 通信流：
[root@linuxcool ~]# ipstat -l 5

示例2: 
在以前的报告之后打印更新的报告,时间间隔为3：
[root@linuxcool ~]# ipstat -c 3

示例3: 
在unix时间形式打印时间戳,时间间隔为3：
[root@linuxcool ~]# ipstat -d u -c 3


command_name: locale
chinese_name: locale命令 – 设置字符集
syntax: locale [参数]
parameters: |-a: 写入可用区域设置的名称 | |-m: 写入可用字符映射的名称 | |-c: 写入选定类别的名称 | |-k: 写入选定关键字的名称 |
examples: 示例1: 显示默认的语言字符集： [root@linuxcool ~]# locale 示例2: 查看可用的语言环境： [root@linuxcool ~]# locale -a
category: 系统管理(system)
description:
locale是linux系统中多语言环境的设置接口，Locale根据计算机用户所使用的语言，所在国家或者地区，以及当地的文化传统所定义的一个软件运行时的语言环境。
通过locale来设置程序运行的不同语言环境，locale由ANSI C提供支持。locale的命名规则为<语言>_<地区>.<字符集编码>，如zh_CN.UTF-8，zh代表中文，CN代表大陆地区，UTF-8表示字符集。在locale环境中，有一组变量，代表国际化环境中的不同设置。


command_name: xset
chinese_name: xset命令 – X-Window系统的用户爱好设置
syntax: xset [参数]
category: 系统管理(system)
description:
xset命令是设置X-Window系统中的用户爱好的实用工具。  xset是上层应用程序，主要用于在X-Window启动之后，对X-Window进行一些设置。
运行xset命令时要求启动本地X-Windows的图形界面后，在图形界面下的命令行中输入，否则将出现错误提示。

parameters:
|-b: 蜂鸣器开关设置 |
|-c: 键盘按键声响设置 |
|b: 蜂鸣器开关设置 |
|c: 键盘按键声响设置 |
|s: 屏幕保护程序设置 |
|q: 显示相关信息 |
|-fp或fp-: 从当前字体路径中删除元素 |
|+fp或fp+: 前置和附加元素到当前字体路径 |
|dpms<标记>: 允许DPMS（能源之星）的参数进行设置 |
|bc: 在服务器中控制bug兼容模式 |
|-display<显示器>: 指定使用的服务器 |
|-dpms: 禁用DPMS（能源之星）功能 |
|+dpms: 启用DPMS（能源之星）功能 |
|fp=<路径>: 设置字体路径到指定路径 |

examples:
示例1: 
显示当前的xset相关信息：
[root@linuxcool ~]# xset q

示例2: 
开启蜂鸣器和键盘按键声：
[root@linuxcool ~]# xset b on c on

示例3: 
启用DPMS（能源之星）功能：
[root@linuxcool ~]# xset -display :0 +dpms


command_name: metainit
chinese_name: metainit命令 – 配置元设备
syntax: metainit[参数]
category: 系统管理(system)
description:
metainit命令根据命令行上指定的信息配置元组件和热备用。或者，你可以运行metainit，让它使用你在/etc/lvm/md.指定的配置条目选项卡文件。所有metadevices在使用之前都必须通过metainit命令进行设置。

parameters:
|-f: 即使片中的一个包含一个已挂载的文件系统或正用作交换，或者正在创建的条带的大小小于基础软分区的大小，也强制metainit命令继续执行 |
|-h: 显示使用情况消息 |
|-n: 在不实际设置元设备的情况下检查命令行或md.tab条目的语法 |
|-r: 引导时仅在shell脚本中使用 |
|-ssetname: 指定用于metainit的磁盘集的名称 |

examples:
示例1: 
显示了一个由两个切片组成的元设备/ dev / md / dsk / d15：
[root@linuxcool ~]# metainit d15 1 2 c0t1d0s0 c0t2d0s0 -i 32k

示例2: 
显示了一个元设备/ dev / md / dsk / d75，由三个磁盘的两个条带的串联组成：
[root@linuxcool ~]# metainit d75 2 3 c0t1d0s0 c0t2d0s0 \ 
          c0t3d0s0 -i 16k \ 
3 c1t1d0s0 c1t2d0s0 c1t3d0s0 -i 32k

示例3: 
显示了一个双向镜像/ dev / md / dsk / d50，由两个子镜像组成。该镜像不包含任何现有数据：
[root@linuxcool ~]# metainit d51 1 1 c0t1d0s0 
# metainit d52 1 1 c0t2d0s0 
# metainit d50 -m d51 
# metattach d50 d52

示例4: 
显示了一个元设备/ dev / md / dsk / d75，由称为set1的磁盘集内两个条带的串联组成：
[root@linuxcool ~]# metainit -s set1 d75 2 3 c2t1d0s0 c2t2d0s0 \ 
          c2t3d0s0 -i 32k 
# metainit -s set1 d51 1 1 c2t1d0s0 
# metainit -s set1 d52 1 1 c3t1d0s0 
# metainit -s set1 d50 -m d51 
# metattach -s set1 d50 d52


command_name: metareplace
chinese_name: metareplace命令 – 启用或替换子镜像或RAID5元设备的组件
description: metareplace命令用于启用或子镜像或RAID5元设备内更换组件（片）。
syntax: metareplace[参数]
category: 系统管理(system)
parameters:
|–e: 将组件的状态转换为可用状态，然后重新同步发生故障的组件 |
|–f: 强制替换其中多个组件有错误的元设备的错误组件 |
|–h: 显示帮助信息 |
|–ssetname: 指定将在其上使用metareplace的磁盘集的名称 |

examples:
示例1: 
从RAID5元设备中的错误条件中恢复：
[root@linuxcool ~]# metareplace d10 c3t0d0s2 c5t0d0s2

示例2: 
更换物理磁盘后 使用–e：
[root@linuxcool ~]# metareplace -e mymirror1 c1t4d0s2


command_name: sha1sum
chinese_name: sha1sum命令 – 查看效验文件哈希值命令
description: sha1sum命令用于生成和校验文件的sha1值。它会逐位对文件的内容进行校验。是文件的内容，与文件名无关，也就是文件内容相同，其sha1值相同。
syntax: sha1sum [参数] [文件]
parameters: |-b: 以二进制读取 | |-t: 以文本模式读取 | |-c: 从文本中读取md5值并验证它们 |
category: 系统管理(system)
examples:
示例1: 
取得文件的md5值：
[root@linuxcool ~] # sha1sum lua-5.3.4.tar.gz 
79790cfd40e09ba796b01a571d4d63b52b1cd950  lua-5.3.4.tar.gz

示例2: 
从文本中读取md5值并验证它们：
[root@linuxcool ~] # sha1sum lua-5.3.4.tar.gz > lua-md5.txt
[root@linuxcool ~] #  sha1sum -c lua-md5.txt


command_name: pacman
chinese_name: pacman命令 – 软件包管理器
syntax: pacman [参数] [软件名]
category: 系统管理(system)
description:
pacman命令来自英文词组“package manager”的缩写，其功能是用于管理软件包。pacman命令能够在ArchLinux系统中安装、查询、升级、卸载服务程序，它吸取了其他Linux系统的软件管理优点，譬如Debian的APT机制、Redhat的Yum机制、 Suse的Yast等，同比来说效率还是很不错的。另外由于ArchLinux系统默认只会安装很少的软件，因此pacman命令工具显得尤为重要，常被用到。

parameters:
|-b: 设置数据库位置 |
|-c: 显示软件包的更新日志 |
|-d: 显示所有依赖的软件包 |
|-e: 显示所有单独指定安装的软件包 |
|-i: 显示已安装的包的详细信息 |
|-k: 检查软件包的文件 |
|-I: 显示已安装包的所有文件列表 |
|-m: 显示在同步数据库时没找到的软件包 |
|-n: 显示在同步数据库时找到的软件包 |
|-o: 显示指定文件属于哪个软件包 |
|-p: 显示指定软件包文件信息 |
|-g: 显示软件包组信息 |
|-q: 显示结果简要信息 |
|-Q: 显示已经安装的软件包 |
|-r: 设置安装的根目录 |
|-R: 删除指定软件包 |
|-s: 搜索相关依赖包 |
|-S: 安装指定软件包 |
|-u: 显示所有可升级的软件包 |
|-v: 显示执行过程详细信息 |

examples:
示例1: 
安装一个指定名称的软件包：
[root@linuxcool ~]#pacman -S Package_name

示例2: 
安装多个指定名称的软件包：
[root@linuxcool ~]#pacman -S Package_name1,Package_name2

示例3: 
升级系统中全部的服务程序：
[root@linuxcool ~]#pacman -Syu

示例4: 
卸载指定的软件包，但保留其已安装的其余依赖关系软件：
[root@linuxcool ~]#pacman -R Package_name

示例5: 
卸载指定的软件包，并卸载其余没有被其他软件使用的依赖关系软件：
[root@linuxcool ~]#pacman -Rs Package_name

示例6: 
查询指定的软件包具体详情描述：
[root@linuxcool ~]#pacman -Qs Package_name

示例7: 
获取指定已安装软件包中所包含文件的列表信息：
[root@linuxcool ~]#pacman -Ql Package_name


command_name: xf86setup
chinese_name: XF86Setup命令 – 设置XFee86
syntax: XF86Setup [参数]
category: 系统管理(system)
description:
这是Linux系统用来设置XFee86的程序，它会进入图形模式，通过互动操作界面，让用户轻松完成XFee86环境的设置。
XF86Setup命令就是通过对XFee86的配置，从而改变显示画面的效果。
XF86Setup是在图形界面下运行的设置程序，它运行在图形界面下，如果系统没有启动 X Window系统，那么它会自动启动一个标准VGA模式的X服务器。XF86Setup首先使用缺省设置启动这个16色、640×480分辨率的X服务器，然后再运行XF86Setup设置程序本身。

parameters:
|display: 指定显示XF86Setup设置画面的主机名称以及欲在该主机上的哪个显示器显示画面 |
|nodialog: 执行XF86Setup时，不显示交谈窗，直接以文字模式提出询问 |
|sync: 和X Server进行数据同步传输 |

examples:
示例1: 
指定显示XF86Setup设置画面的主机名称以及欲在该主机上的哪个显示器显示画面：
[root@linuxcool ~]# XF86Setup display test1：001

示例2: 
执行XF86Setup时，不显示交谈窗，直接以文字模式提出询问：
[root@linuxcool ~]# XF86Setup nodialog

示例3: 
执行XF86Setup时，和X Server进行数据同步传输：
[root@linuxcool ~]# XF86Setup sync


command_name: grpconv
chinese_name: grpconv命令 – 开启群组的投影密码
syntax: grpconv
category: 系统管理(system)
description:
grpconv命令用于开启群组的投影密码。Linux系统里的用户和群组密码，分别存放在/etc目录下的passwd和group文件中。因系统运作所需，任何人都得以读取它们，造成安全上的破绽。
投影密码将文件内的密码改存在/etc目录下的shadow和gshadow文件内，只允许系统管理者读取，同时把原密码置换为”x”字符。投影密码的功能可随时开启或关闭，您只需执行grpconv指令就能开启群组投影密码。

examples:
示例1: 
设置cdy组密码:
[root@linuxcool ~]# groupmod --password 123456 cdy
[root@linuxcool ~]# cat /etc/group | grep cdy
cdy:123456:1000:

示例2: 
启动影子系统:
[root@linuxcool ~]# grpconv
[root@linuxcool ~]# cat /etc/group |  grep cdy
cdy:x:1000:


command_name: chgrp
chinese_name: chgrp命令 – 更改文件所属用户组
syntax: chgrp [参数] [目录名]
category: 系统管理(system)
description:
chgrp命令来自英文词组”change group“的缩写，其功能是用于更改文件所属用户组。Linux系统中常用chown命令更改文件所属用户及用户组身份信息，如仅需要修改文件所属用户组身份信息，则可以使用chgrp命令更快地完成。

parameters:
|-c: 显示调试信息 |
|-f: 不显示错误信息 |
|-h: 对符号链接文件做修改 |
|-L: 遍历每个符号链接 |
|-P: 不遍历每个符号链接 |
|-R: 递归处理所有子文件 |
|-v: 显示执行过程详细信息 |
|--help: 显示帮助信息 |
|--vesion: 显示版本信息 |

examples:
示例1: 
更改目录所属用户组为新的指定身份信息：
[root@linuxcool ~]#chgrp linuxcool Dir

示例2: 
更改目录所属用户组为新的指定身份信息，并显示过程：
[root@linuxcool ~]#chgrp -v linuxcool Dirchanged group of 'Dir' from root to linuxcool

示例3: 
更改目录及其下所有文件的所属用户组为新的指定身份信息：
[root@linuxcool ~]#chgrp -R linuxcool Dir


command_name: pmap
chinese_name: pmap命令 – 显示进程的内存映像信息
syntax: pmap [参数] [进程ID]
category: 系统管理(system)
description:
pmap命令来自英文词组“process memory map”的缩写，其功能是用于显示进程的内存映像信息。pmap命令能够显示进程映像的起始地址、虚拟内存大小、进程访问地址空间的权限以及内存映像文件等信息，而我们只需告知进程号码即可。

parameters:
|-c: 读取默认配置 |
|-d: 显示内存映射文件的偏移值、主次设备号等信息 |
|-h: 显示帮助信息 |
|-n: 创建新的配置 |
|-N: 创建新的配置并保存到文件 |
|-p: 显示文件的完整路径 |
|-q: 静默执行模式 |
|-V: 显示版本信息 |
|-x: 显示物理内存大小、未同步磁盘页面数量等信息 |

examples:
示例1: 
显示进程的内存映像概况：
[root@linuxcool ~]#pmap 10981098:   /usr/sbin/sshd -D -oCiphers=aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr,aes256-cbc,aes128-gcm@openssh.com,aes128-ctr,aes128-cbc -oMACs=hmac-sha2-256-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha2-256,hmac-sha1,umac-128@openssh.com,hmac-sha2-512 -oGSSAPIKexAlgorithms=gss-gex-sha1-,gss-group14-sha1- -oKexAlgorithms=curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-
000055e5b8d58000    808K r-x-- sshd
000055e5b9021000     16K r---- sshd
000055e5b9025000      4K rw--- sshd
………………省略部分输出信息………………

示例2: 
显示进程的地址空间等信息：
[root@linuxcool ~]#pmap -x 10981098:   /usr/sbin/sshd -D -oCiphers=aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr,aes256-cbc,aes128-gcm@openssh.com,aes128-ctr,aes128-cbc -oMACs=hmac-sha2-256-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha2-256,hmac-sha1,umac-128@openssh.com,hmac-sha2-512 -oGSSAPIKexAlgorithms=gss-gex-sha1-,gss-group14-sha1- -oKexAlgorithms=curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-
Address           Kbytes     RSS   Dirty Mode  Mapping
000055e5b8d58000     808     656       0 r-x-- sshd
000055e5b9021000      16      16      16 r---- sshd
000055e5b9025000       4       4       4 rw--- sshd
………………省略部分输出信息………………


command_name: apt-get
chinese_name: apt-get命令 – 管理服务软件
syntax: apt-get [参数] [软件名] [动作]
category: 系统管理(system)
description:
apt-get命令来自英文词组advanced package tool get的缩写，其功能是管理服务软件。apt-get命令主要用于Debian、Ubuntu等系统，能够像yum/dnf软件仓库一样自动下载、配置、安装、卸载服务软件，用户只要准确提出需求就好。

parameters:
|-b: 下载源码后进行编译 |
|-c: 设置配置文件信息 |
|-d: 下载源码后不编译 |
|-f: 修复软件包的依赖关系 |
|-h: 显示帮助信息 |
|-m: 忽略丢失的软件包 |
|-u: 显示要升级的软件包列表 |
|-v: 显示版本信息 |
|-V: 显示软件包详细信息 |
|-y: 所有询问均回答自动yes |

examples:
示例1: 
安装指定的服务软件：
[root@linuxcool ~]# apt-get install httpd

示例2: 
更新软件列表：
[root@linuxcool ~]# apt-get update

示例3: 
卸载指定的服务软件：
[root@linuxcool ~]# apt-get remove httpd

示例4: 
卸载指定的服务软件及配置信息：
[root@linuxcool ~]# apt-get -purge remove httpd


command_name: yum-builddep
chinese_name: yum-builddep命令 – 安装缺少的依赖软件包
syntax: yum-builddep [参数] [软件包]
category: 系统管理(system)
description:
yum-builddep命令来自英文词组“yum build depend”的缩写，其功能是用于安装缺少的依赖软件包。首先我们需要一个可用的yum软件仓库，随后便可以使用yum-builddep命令来安装上某个指定软件及其所依赖的其他RPM软件包了，很方便的。

parameters:
|-c: 设置配置文件的路径 |
|-C: 从系统缓存中运行，不更新缓存 |
|-q: 静默执行模式 |
|-v: 显示执行过程详细信息 |
|-y: 所有询问均回答自动yes |
|--disableplugin: 禁用指定插件 |
|--disablepresto: 禁用指定软件仓库 |
|--enableplugin: 启用指定插件 |
|--enablerepo: 启用指定软件仓库 |
|--installroot: 设置安装根路径 |
|--noplugins: 禁用插件 |
|--nogpgcheck: 禁用GPG签名检查 |

examples:
示例1: 
下载安装指定软件及其依赖的软件包：
[root@linuxcool ~]#yum-builddep kernel

示例2: 
下载安装指定软件及其依赖的软件包，并显示详细过程：
[root@linuxcool ~]#yum-builddep -v kernel

示例3: 
下载安装指定软件及其依赖的软件包，不进行二次确认：
[root@linuxcool ~]#yum-builddep -y kernel


command_name: arch
chinese_name: arch命令 – 显示主机硬件架构类型
syntax: arch [参数]
parameters: |--help: 显示帮助信息 | |--version: 显示版本信息 |
category: 系统管理(system)
description:
arch命令来自英文单词“architecture”的缩写，中文译为“架构”，其功能是用于显示主机硬件架构类型。虽说目前主流硬件架构当数x86_64应用最广泛，但也会偶尔遇到下载了软件包无法安装的情况，这时就要排除下服务器是不是i386、i486、mips、alpha等架构类型了。

examples:
示例1: 
显示当前主机硬件架构类型：
[root@linuxcool ~]#archx86_64

示例2: 
显示命令版本信息：
[root@linuxcool ~]#arch --versionarch (GNU coreutils) 8.30
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or laterhttps://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 David MacKenzie and Karel Zak.


command_name: sestatus
chinese_name: sestatus命令 – 显示SELinux状态
syntax: sestatus [参数]
parameters: |-v: 详细检查进程和文件的安全上下文 | |-b: 显示当前布尔值状态 |
category: 系统管理(system)
description:
sestatus命令的作用是可以查看系统运行SELinux的状态，应用模式、布尔值，以及显示/etc/sestatus.conf文件内列出的文件和进程的安全上下文。
SELinux全称是Security Enhanced Linux (安全强化 Linux)，是 MAC (Mandatory Access Control，强制访问控制系统)的一个实现，已在linux内核中存在了许多年，对于目前可用的linux安全模块来说，SELinux功能最全面，测试最充分，是linux内核的安全保镖。
SELinux主要作用就是最大限度地减小系统中服务进程可访问的资源（最小权限原则）。

examples:
示例1: 
查看当前SELinux的状态：
[root@linuxcool ~]# sestatus

示例2: 
详细检查进程和文件的安全上下文：
[root@linuxcool ~]# sestatus -v

示例3: 
显示当前布尔值状态：
[root@linuxcool ~]# sestatus -b


command_name: disown
chinese_name: disown命令 – 从Shell终端中移除作业
syntax: disown [参数] [标识符或进程PID]
parameters: |-h: 标记作业使其结束Shell终端窗口时不退出 | |-a: 移除所有的作业 | |-r: 移除运行的作业 |
category: 系统管理(system)
description:
disown命令的功能是用于从Shell终端中移除作业，是一个bash解释器的内置命令。disown命令能够从Shell终端中移除指定的作业，正在运行的作业也可以被移除，亦可以对作业进行标记，使其在当前Shell终端窗口关闭后依然不会结束。

examples:
示例1: 
移除当前所有作业：
[root@linuxcool ~]#disown -a

示例2: 
移除当前正在运行状态的作业：
[root@linuxcool ~]#disown -r

示例3: 
标记指定作业使其结束Shell终端窗口时不退出：
[root@linuxcool ~]#disown -h %2


command_name: sar
chinese_name: sar命令 – 统计系统运行状态
syntax: sar [参数]
category: 系统管理(system)
description:
sar命令来自英文词组“System activity reporter”的缩写，其功能是用于统计系统运行状态。系统管理员可以使用sar命令对Linux系统进行取样，大量的取样数据和分析结果会实时存入到文件中，因此不会消耗太多的内存和额外系统资源。

parameters:
|-A: 显示全部报告信息 |
|-b: 显示I/O速率信息 |
|-c: 显示进程创建活动 |
|-d: 显示块设备的状态 |
|-e: 设置显示结束时间 |
|-f: 从文件中读取报告 |
|-i: 设置刷新间隔时间 |
|-P: 显示每个CPU状态 |
|-R: 显示内存状态 |
|-u: 显示CPU利用率 |
|-w: 显示交换分区状态 |
|-x: 显示指定进程状态 |

examples:
示例1: 
统计CPU设备的负载信息，每次间隔2秒，共3次：
[root@linuxcool ~]#sar -u 2 3Linux 4.18.0-448.el8.x86_64 (linuxcool.com) 	04/10/2023	_x86_64_	(4 CPU)
06:47:16 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
06:47:18 PM     all     10.57      0.00      1.51      0.00      0.00     87.92
06:47:20 PM     all      6.02      0.00      1.63      0.13      0.00     92.23
06:47:22 PM     all      4.39      0.00      1.13      0.00      0.00     94.49
Average:        all      6.98      0.00      1.42      0.04      0.00     91.55

示例2: 
统计硬盘设备的读写信息，每次间隔2秒，共3次：
[root@linuxcool ~]#sar -d 2 3Linux 4.18.0-448.el8.x86_64 (linuxcool.com) 	04/10/2023 	_x86_64_	(4 CPU)
06:47:52 PM   DEV   tps   rkB/s  wkB/s  areq-sz   aqu-sz    await    svctm     %util
06:47:54 PM  dev253-0  234.50 1828.00    2.00    7.80     0.16    0.68    0.18     4.25
06:47:56 PM  dev253-0    2.50    2.00   11.00    5.20     0.00    0.20    0.80     0.20
06:47:58 PM  dev253-0    5.00    2.00   65.50    13.50    0.00    0.30    0.50     0.25
Average:     dev253-0   80.67   610.67   26.17   7.89     0.05    0.66    0.19     1.57

示例3: 
统计内存设备的读写信息，每次间隔2秒，共3次：
[root@linuxcool ~]#sar -r 2 3Linux 4.18.0-448.el8.x86_64 (linuxcool.com) 	04/10/2023 	_x86_64_	(4 CPU)
06:48:38 PM kbmemfree   kbavail kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty
06:48:40 PM 349824 3943104 7258540  95.40  0  3619024 5083080 31.78  3358888 3302992  120
06:48:42 PM 383252 3976544 7225112  94.96  0  3619032 5058504 31.62  3358896 3270216  216
06:48:44 PM 375124 3968432 7233240  95.07  0  3619048 5069348 31.69  3358896 3279036  216
Average:    369400 3962693 7238964  95.14  0  3619035 5070311 31.70  3358893 3284081  184

示例4: 
统计内存设备的分页使用情况，每次间隔5秒，共3次：
[root@linuxcool ~]#sar -B 5 3Linux 4.18.0-448.el8.x86_64 (linuxcool.com) 	04/10/2023	_x86_64_	(4 CPU)
05:52:34 PM  pgpgin/s pgpgout/s   fault/s  majflt/s  pgfree/s pgscank/s pgscand/s pgsteal/s    %vmeff
05:52:39 PM   1.60  247.20  1289.00    0.40   7741.80     0.00    0.00    0.00    0.00
05:52:44 PM  51.20  168.40  1547.20    0.00   4627.40     0.00    0.00    0.00    0.00
05:52:49 PM  33.60  312.20    99.20    0.00   8066.60     0.00    0.00    0.00    0.00
Average:     28.80  242.60   978.47    0.13   6811.93     0.00    0.00    0.00    0.00

示例5: 
显示CPU使用率情况：
[root@linuxcool ~]#sar -uLinux 4.18.0-448.el8.x86_64 (linuxcool.com) 	04/10/2023	_x86_64_	(4 CPU)
12:00:42 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
12:10:42 AM     all      7.90      0.01      1.58      0.03      0.00     90.48
12:20:42 AM     all      8.13      0.00      1.66      0.03      0.00     90.18
12:30:42 AM     all     12.31      0.00      2.35      0.02      0.00     85.32
12:40:42 AM     all     14.96      0.00      2.56      0.02      0.00     82.46
12:50:42 AM     all     13.32      0.00      2.32      0.02      0.00     84.34
01:00:42 AM     all      7.97      0.00      1.50      0.02      0.00     90.51
………………省略部分输出信息………………

示例6: 
显示系统负载情况：
[root@linuxcool ~]#sar -qLinux 4.18.0-448.el8.x86_64 (linuxcool.com) 	04/10/2023 	_x86_64_	(4 CPU)
12:00:42 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
12:10:42 AM         0       393      0.21      0.46      0.66         0
12:20:42 AM         0       392      0.57      0.50      0.58         0
12:30:42 AM         0       392      1.57      1.06      0.79         0
12:40:42 AM         0       392      0.90      0.79      0.73         0
12:50:42 AM         1       392      0.30      0.52      0.65         0
01:00:42 AM         0       390      0.43      0.44      0.55         0
………………省略部分输出信息………………

示例7: 
显示硬盘I/O和传输速率情况：
[root@linuxcool ~]#sar -bLinux 4.18.0-448.el8.x86_64 (linuxcool.com) 	04/10/2023 	_x86_64_	(4 CPU)
12:00:42 AM       tps      rtps      wtps   bread/s   bwrtn/s
12:10:42 AM     14.05      7.84      6.21    318.24    181.13
12:20:42 AM     10.19      4.96      5.23    148.80    123.16
12:30:42 AM      7.14      1.35      5.78     81.15    152.31
12:40:42 AM      7.82      1.14      6.69     68.99    213.99
12:50:42 AM      8.87      2.11      6.76     84.03    212.71
01:00:42 AM      6.67      1.35      5.32     75.27    144.54
01:10:42 AM      9.48      4.13      5.35    163.05    144.38
………………省略部分输出信息………………

示例8: 
显示网卡和网络情况：
[root@linuxcool ~]#sar -n DEVLinux 4.18.0-448.el8.x86_64 (linuxcool.com) 	04/15/2023 	_x86_64_	(4 CPU)
12:00:42 AM    IFACE  rxpck/s  txpck/s   rxkB/s   txkB/s  rxcmp/s  txcmp/s rxmcst/s  %ifutil
12:10:42 AM        lo     0.00      0.00    0.00    0.00   0.00   0.00   0.00   0.00
12:10:42 AM      eth0   114.65    105.28   10.25  281.74   0.00   0.00   0.00   0.00
12:20:42 AM        lo     0.00      0.00    0.00    0.00   0.00   0.00   0.00   0.00
12:20:42 AM      eth0   108.14     95.00    9.90  258.26   0.00   0.00   0.00   0.00
12:30:42 AM        lo     0.00      0.00    0.00    0.00   0.00   0.00   0.00   0.00
12:30:42 AM      eth0   113.07    114.81   12.29  286.93   0.00   0.00   0.00   0.00


command_name: sesearch
chinese_name: sesearch命令 – 查看SElinux策略
description: 使用seinfo命令可以查询SELinux的策略提供多少相关规则，如果查到的相关类型或者布尔值，想要知道详细规则时，使用sesearch命令查询。
syntax: sesearch [参数]
category: 系统管理(system)
parameters:
|-a: 列出该类型或布尔值的所有相关信息 |
|-t: 后面还要接类型，例如 -t httpd_t |
|-b: 后面还要接布尔值的规则，例如 -b httpd_enable_ftp_server |

examples:
示例1: 
找出目标文件资源类型为httpd_sys_content_t的有关信息：
[root@linuxcool ~]# sesearch -a -t httpd_sys_content_t

示例2: 
找出主体进程为httpd_t且目标文件类型为httpd相关的所有信息：
[root@linuxcool ~]# sesearch -s httpd_t -t httpd_* -a

示例3: 
查看布尔值httpd_enable_homedirs设置了多少规则:
[root@linuxcool ~]# sesearch -b httpd_enable_homedirs -a


command_name: procinfo
chinese_name: procinfo命令 – 显示系统状态
syntax: procinfo [参数]
category: 系统管理(system)
description:
proc文件系统是一个虚拟文件系统，其中包含存储有关进程和其他系统信息的信息的文件。 它被映射到/proc目录并在启动时挂载。 许多程序从/ proc文件系统中检索信息，对其进行处理并将其提供给各种用途。
Procinfo是一个简单的命令行实用程序，用于查看从/ proc目录收集的系统信息，并在标准输出设备上打印精美的格式。

parameters:
|-a: 显示所有信息 |
|-b: 显示磁盘设备的区块数目，而非存取数目 |
|-d: 显示系统信息每秒间的变化差额，而非总和的数值。 必须配合”-f”参数使用 |
|-D: 此参数效果和指定”-d”参数类似，但内存和交换文件的信息为总和数值 |
|-f: 进入全画面的互动式操作界面 |
|-F: 把信息状态输出到文件保存起来 |
|-i: 显示完整的IRP列表 |
|-m: 显示系统模块和外围设备等相关信息 |
|-n: 设置全画面互动模式的信息更新速度，单位以秒计算 |
|-s: 显示系统的内存，磁盘空间，IRP和DMA等信息，此为预设值 |
|-S: 搭配参数”-d”或”-D”使用，每秒都会更新信息 |
|-H: 内存信息转换为可读(KB、MB、GB)格式单位 |
|-v: 显示版本信息 |

examples:
示例1: 
显示系统状态：
[root@linuxcool ~]# procinfo

示例2: 
以每秒为基础显示统计数据，而不是按总值显示：
[root@linuxcool ~]# procinfo -d -f

示例3: 
将统计信息显示为总计：
[root@linuxcool ~]# procinfo -D


command_name: nsupdate
chinese_name: nsupdate命令 – 动态DNS更新工具
syntax: nsupdate [参数]
category: 系统管理(system)
description:
nsupdate实用程序用于向名称服务器提交 RFC2136 中定义的动态 DNS 更新请求。这允许在无需手动编辑区文件的情况下从区中添加或删除资源记录。一个更新请求可以包含添加或删除多个资源记录的请求。

parameters:
|–k keyfile: 从keyfile文件中读取密钥信息 |
|-d: 调试模式 |
|-y: keyname是密钥的名称,secret是以base64编码的密钥 |
|-v: 使用TCP协议进行nsupdate.默认是使用UDP协议 |

examples:
示例1: 
使用TCP协议进行nsupdate：
[root@linuxcool ~]# nsupdate -v

示例2: 
从keyfile文件中读取密钥信息：
[root@linuxcool ~]# nsupdate -k keyfile

示例3: 
在调试模式下操作：
[root@linuxcool ~]# nsupdate -d


command_name: getenforce
chinese_name: getenforce命令 – 显示SELinux服务模式
syntax: getenforce [参数]
examples: 示例1: 显示当前SELinux服务状态： [root@linuxcool ~]#getenforceEnforcing
category: 系统管理(system)
description:
getenforce命令来自英文词组“get the current mode of SELinux”的拼写，其功能是用于显示SELinux服务模式。SELinux服务是Linux系统中重要的安全子系统，用于规范服务程序只能获取自身所需的资源——如文件或端口号等，防止权限外溢，提高安全性。
Enforcing为强制模式，意味着会禁止一切的越权操作，而Permissive为宽容模式，会允许越权操作，相当于是没有关闭SELinux服务，但关闭了防护功能。


command_name: poweroff
chinese_name: poweroff命令 – 关闭操作系统
syntax: poweroff [参数]
category: 系统管理(system)
description:
poweroff命令来自英文单词“关机”，其功能是用于关闭操作系统。很多学习者会着迷于对比poweroff、halt、shutdown、init 0等命令之间的区别，但我们要跟大家说明的是，它们都是Linux系统中的关机命令，体感上没有区别，更多地是依据个人喜好来选择的。

parameters:
|-d: 关机时不写入任何信息到日志文件 |
|-f: 强制关闭操作系统而不询问 |
|-h: 关机前将所有硬件设置为备用模式 |
|-i: 关机前先关闭所有的网卡 |
|-n: 关机时不执行同步操作 |
|-w: 模拟关机操作并记录过程到日志文件 |
|--help: 显示帮助信息 |

examples:
示例1: 
关闭操作系统：
[root@linuxcool ~]#poweroff

示例2: 
模拟关机操作并记录过程到日志文件（没有真正关机）：
[root@linuxcool ~]#poweroff -w

示例3: 
将所有的硬件设置为备用模式，并关闭操作系统：
[root@linuxcool ~]#poweroff -h


command_name: ssh-keygen
chinese_name: ssh-keygen命令 – 生成SSH密钥文件
syntax: ssh-keygen [参数] [对象]
category: 系统管理(system)
description:
ssh-keygen命令来自英文词组SSH key generate的缩写，其功能是生成SSH密钥文件。ssh-keygen命令能够对SSH密钥文件进行生成、管理、转换等工作，支持RSA和DSA两种密钥格式。

parameters:
|-b: 设置密钥长度 |
|-B: 显示密钥文件摘要 |
|-c: 设置注释信息 |
|-e: 读取已有密钥文件 |
|-f: 设置保存密钥的文件名 |
|-F: 设置搜索的主机名 |
|-i: 读取SSHv2兼容格式的未加密文件 |
|-I: 显示指定公钥文件的指纹信息 |
|-p: 设置私钥文件的密码 |
|-P: 提供旧密码 |
|-q: 静默执行模式 |
|-r: 显示指定公钥文件 |
|-t: 设置要创建的密钥类型 |
|-v: 显示执行过程详细信息 |

examples:
示例1: 
创建一个SSH密钥文件：
[root@linuxcool ~]# ssh-keygen 
Generating public/private rsa key pair. 
Enter file in which to save the key (/root/.ssh/id_rsa): 直接回车，以默认路径保存 Created directory '/root/.ssh'. 
Enter passphrase (empty for no passphrase): 直接回车，不额外设置密钥密码 
Enter same passphrase again: 直接回车，确认不额外设置密钥密码 
Your identification has been saved in /root/.ssh/id_rsa. 
Your public key has been saved in /root/.ssh/id_rsa.pub. 
The key fingerprint is: 
SHA256:tUB6SjLnvqM7p2l+bmHUZGNqUyyOPmXGyiMp3tC9xNA root@linuxcool.com 
The key's randomart image is: 
+---[RSA 2048]----+ 
|         ..      | 
|        .oB      | 
|      +++Oo.. 	  |
|     ..E@o.o .	  |
| .++Bo.S . 	  |
|..o.*=o 	  |
|..o..+o. 	  |
|   . .oo=.  	  |
|     o*Xo. 	  | 
+----[SHA256]-----+

示例2: 
手动指定加密格式并添加注释信息，创建一个SSH密钥文件
[root@linuxcool ~]#ssh-keygen -t rsa -C "welcome to linuxcool.com"Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):直接回车，以默认路径保存Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):直接回车，不额外设置密钥密码Enter same passphrase again:直接回车，确认不额外设置密钥密码Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:OQodor0B83DoxbFOY+KUo0swrQAgo8tL3qIHA0t40gQ welcome to linuxcool.com
The key's randomart image is:
+---[RSA 2048]----+
|E.  .            |
|+o.+ o           |
|*o@ X .          |
|BXo/ + . .       |
|*B+ * . S        |
|B.o  + . .       |
|.* .. .          |
|. o              |
|..               |
+----[SHA256]-----+


command_name: top
chinese_name: top命令 – 实时显示系统运行状态
syntax: top [参数] [对象]
category: 系统管理(system)
description:
top命令的功能是实时显示系统运行状态，包含处理器、内存、服务、进程等重要资产信息。运维工程师们常常会把top命令比作“加强版的Windows任务管理器”，因为除了能看到常规的服务进程信息之外，还能够对处理器和内存的负载情况一目了然，实时感知系统全局的运行状态。top命令非常适合作为接手服务器后执行的第一条命令。

parameters:
|-a: 按内存使用情况排序 |
|-b: 使用批处理模式，不进行交互式显示 |
|-c: 使用显示模式 |
|-d: 设置显示的更新速度 |
|-h: 显示帮助信息 |
|-i: 不显示任何闲置或僵死的行程 |
|-M: 显示内存单位 |
|-p: 仅显示指定进程ID |
|-s: 使用安全模式，不允许交互式指令 |
|-u: 仅显示与指定用户ID |
|-v: 使用线程模式 |
|-w: 设置显示的宽度 |

examples:
示例1: 
以默认格式显示系统运行信息：
[root@linuxcool ~]# top

示例2: 
以默认格式显示系统运行信息，但提供完整的进程路径及名称：
[root@linuxcool ~]# top -c

示例3: 
以批处理模式显示程序信息：
[root@linuxcool ~]# top -b

示例4: 
设定每隔5秒刷新一次信息：
[root@linuxcool ~]# top -d 5

示例5: 
设定总显示次数为5次，随后自动退出命令：
[root@linuxcool ~]# top -n 5


command_name: yum-complete-transaction
chinese_name: yum-complete-transaction命令 – 尝试完成系统上不完整或中止的yum事务进程
syntax: yum-complete-transaction [参数]
category: 系统管理(system)
description:
yum-complete-transaction命令的作用是在系统上查找不完整或中止的yum事务进程并尝试完成它们。yum-complete-transaction命令需要通过安装相应的软件包才能运行。
如果发现多个未完成的事务，yum-complete-transaction命令将尝试首先完成最近的事务。可以通过多次运行yum-complete-transaction命令以清理所有未完成的事务。
由于yum-complete-transaction命令使用YUM仓库来检索所有信息，因此它依赖于YUM仓库配置的默认值。

parameters:
|-t: 宽容错误 |
|-- -setopt=<设置选项>: 设置任意配置和软件仓库选项 |
|-- -cleanup-only: 清理事物日志 |
|-C: 从系统缓存中完全运行，不更新缓存 |
|-c<配置文件>: 指定配置文件的位置 |
|-R<等待时间>: 最大命令等待时间，单位是分钟 |
|-d<调试级别>: 调试输出级别 |
|-e<错误级别>: 错误输出级别 |
|-- -nogpgcheck: 禁用GPG签名检查 |
|-- -color=<颜色>: 控制使用颜色 |
|-- -releasever=<值>: 在yum配置和软件仓库文件中设置$releasever值 |
|-- -noplugins: 禁用yum插件 |
|-- -enableplugin=<插件>: 按名称启用插件 |
|-- -disableplugin=<插件>: 按名称禁用插件 |
|-q: 安静模式 |
|-v: 详细操作 |
|-y: 对所有问题回答yes |
|-- -showduplicates: 在软件仓库，在列表和搜索命令中显示重复的 |
|-- -rpmverbosity=<调试级别名>: 为rpm指定调试输出级别 |
|-- -disablepresto: 禁用Presto插件，不下载任何deltarpm |
|-- -version: 显示yum版本然后退出 |
|-- -enablerepo=<软件仓库>: 启用一个或多个仓库 |
|-- -disablerepo=<软件仓库>: 禁用一个或多个软件仓库 |
|-- -installroot=<路径>: 设置安装根路径 |
|-x<软件包>: 按名称或排除软件包 |
|-- -obsoletes: 在更新过程中启用废弃处理 |

examples:
示例1: 
尝试完成系统上不完整或中止的yum进程：
[root@linuxcool ~]# yum-complete-transaction –cleanup-only

示例2: 
显示详细的操作过程：
[root@linuxcool ~]# yum-complete-transaction -v

示例3: 
完全在缓存中运行该命令：
[root@linuxcool ~]# yum-complete-transaction -C


command_name: ufw
chinese_name: ufw命令 – 管理防火墙服务
syntax: ufw [参数]
category: 系统管理(system)
description:
ufw命令来自英文词组“Uncomplicated Firewall”的缩写，中文译为简单防火墙，其功能是用于管理防火墙服务。Linux系统早期使用的iptables防火墙由于完全基于命令行工作，操作参数及配置方法特别复杂，由此Ubuntu系统率先发布了这款基于iptables之上的全新、简单防火墙服务管理工具，ufw命令支持图形化界面操作，弥补了iptables防火墙只支持命令行配置的遗憾，使用起来也简单了不少。

parameters:
|allow: 允许通过 |
|deny: 禁止通过 |
|disable: 关闭防火墙 |
|enable: 启动防火墙 |
|logging: 启动或关闭日志 |
|reload: 重新加载 |
|reset: 重置配置 |
|status: 查看状态 |
|show REPORT: 显示报告 |
|verbose: 显示策略 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 |

examples:
示例1: 
启动UFW防火墙管理工具：
[root@linuxcool ~]#ufw enable

示例2: 
禁用UFW防火墙管理工具：
[root@linuxcool ~]#ufw disable

示例3: 
重启UFW防火墙管理工具：
[root@linuxcool ~]#ufw reload

示例4: 
显示防火墙状态及规则：
[root@linuxcool ~]#ufw status

示例5: 
重置UFW防火墙策略：
[root@linuxcool ~]#ufw reset

示例6: 
显示UFW防火墙的报告信息：
[root@linuxcool ~]#ufw show raw


command_name: lsb-release
chinese_name: lsb_release命令 – 查看LSB版本信息
description: lsb_release命令来自英文词组“LinuxStandard Base release”的缩写，其功能是用于查看LSB版本信息，帮助Linux系统运维人员快速了解系统情况。
syntax: lsb_release [参数]
parameters: |-a: 显示LSB所有信息 | |-d: 显示系统名全称和版本号 | |-i: 显示系统名简称 | |-r: 显示版本号 |
category: 系统管理(system)
examples:
示例1: 
显示系统全称和版本号：
[root@linuxcool ~]#lsb_release -dDescription:CentOSStream release 8

示例2: 
显示系统名称简写：
[root@linuxcool ~]#lsb_release -iDistributor ID:	CentOSStream

示例3: 
默认现在系统LSB版本信息：
[root@linuxcool ~]#lsb_releaseLSB Version:	:core-4.1-amd64:core-4.1-noarch

示例4: 
显示LSB所有信息：
[root@linuxcool ~]#lsb_release -aLSB Version:	:core-4.1-amd64:core-4.1-noarch
Distributor ID:	CentOS Stream
Description:	CentOS Stream release 8
Release:	8
Codename:	n/a


command_name: userconf
chinese_name: userconf命令 – 设置用户账号
syntax: userconf [参数]
category: 系统管理(system)
description:
userconf的命令全称是“user config”，该命令是用户账号设置程序。 userconf实际上为linuxconf的符号连接，提供图形界面的操作方式，供管理员建立与管理各类账号。若不加任何参数，即进入图形界面。

parameters:
|--addgroup<群组>: 新增群组 |
|--adduser<用户ID><群组><用户名称><shell>: 新增用户账户 |
|--delgroup<群组>: 删除群组 |
|--deluser<用户ID>: 删除用户账号 |
|--help: 显示帮助 |

examples:
示例1: 
新增用户账号：
[root@linuxcool ~]# userconf --adduser 666 tt lord /bin/bash

示例2: 
新增群组：
[root@linuxcool ~]# userconf --addgroup linux

示例3: 
删除用户账号：
[root@linuxcool ~]# userconf --deluser 666

示例4: 
删除群组：
[root@linuxcool ~]# userconf --delgroup lord


command_name: logger
chinese_name: logger命令 – 系统日志记录
syntax: logger [参数]
category: 系统管理(system)
description:
logger是一个shell命令接口，可以通过该接口使用Syslog的系统日志模块，还可以从命令行直接向系统日志文件写入一行信息。
logger记录器通过在系统日志中创建条目，为syslog系统日志模块提供了一个shell命令接口。

parameters:
|-d: 使用数据报(UDP)而不是使用默认的流连接(TCP) |
|-i: 逐行记录每一次logger的进程ID |
|-f: 记录特定的文件 |
|-n: 写入指定的远程syslog服务器，使用UDP代替内装式syslog的例程 |
|-P: 使用指定的UDP端口，默认的端口号是514 |
|-s: 输出标准错误到系统日志 |

examples:
示例1: 
往系统日志例程中写入，在/var/log/syslog中查看：
[root@linuxcool ~]# logger System Rebooted

示例2: 
记录特定的文件：
[root@linuxcool ~]# logger -f /home/a.txt


command_name: atq
chinese_name: atq命令 – 显示用户待执行任务列表
syntax: atq [参数]
parameters: |-V: 显示版本号 | |-q: 查询指定队列的任务 |
examples: 示例1: 显示所有用户的待执行任务列表： [root@linuxcool ~]# atq 示例2: 查询b队列中的待执行任务列表： [root@linuxcool ~]# atq -q b
category: 系统管理(system)
description:
atq命令的作用是显示系统中待执行的任务列表。
任务列表中的任务由at命令和batch命令创建，显示内容包括任务号，任务计划执行的日期时间，任务分类和提交任务的用户。
如果是root用户运行atq命令，则显示系统所有用户的任务列表，如果是普通用户运行，则显示当前用户的任务列表。


command_name: apmsleep
chinese_name: apmsleep命令 – 进入暂停或待机模式，稍后唤醒
syntax: apmsleep [参数]
category: 系统管理(system)
description:
apmsleep命令是使计算机进入备用或者修复状态，一些计算机，特别是笔记本电脑，可以使用实时时钟（RTC）芯片从低功耗暂停模式唤醒到DRAM模式，Apmsleep可用于设置RTC中的警报时间，并进入暂停或待机模式。来自RTC的中断导致计算机唤醒。程序通过等待内核时间的跃迁来检测此事件，并成功终止。如果在一分钟内没有发生时间跃迁，或出现错误，则退出值将为非零。

parameters:
|-s: 进入休眠模式，关闭除内存以为的所有程序 |
|-S: 进入备用模式，关闭显示器、硬盘、CPU |
|-w: 等待时间跳 |
|-p: 等待警告时间与实际时间匹配 |
|-n: 不调用APM BIOS 来休眠电脑,只是设置警告脑中,等待时间跳的到来 |
|-d: 输出正在进行任务的信息 |

examples:
示例1: 
进入休眠2小时50分状态：
[root@linuxcool ~]# apmsleep +2:50

示例2: 
第二天就9:00前处于休眠状态：
[root@linuxcool ~]# apmsleep 9:00

示例3: 
进入备用2小时50分：
[root@linuxcool ~]# apmsleep -S +2:50

示例4: 
第二天就9:00前 处于备用状态：
[root@linuxcool ~]# apmsleep -S 9:00

示例5: 
输出正在进行任务的信息：
[root@linuxcool ~]# apmsleep -d


command_name: yumdownloader
chinese_name: yumdownloader命令 – 从Yum存储库下载软件包
syntax: yumdownloader [参数] [软件包]
category: 系统管理(system)
description:
yumdownloader命令来自英文词组“Yum downloader”的拼写，其功能是用于从Yum存储库下载软件包。yumdownloader是一款简单、实用的命令行工具，Linux系统管理人员只需要告知其要下载的软件包名称，该命令便会自动分析出所对应的依赖关系，并将全部的软件包都下载到本地。

parameters:
|--archlist: 显示软件包的体系结构 |
|--destdir: 设置软件包的下载目录 |
|--resolve: 分析软件包的依赖关系并自动下载它们 |
|--source: 下载指定的源码包 |
|--urls: 显示要下载的URL |

examples:
示例1: 
下载指定名称的软件包：
[root@linuxcool ~]#yumdownloader net-tools.x86_64

示例2: 
设置本地目标目录，下载指定名称的软件包：
[root@linuxcool ~]#yumdownloader net-tools.x86_64 --destdir=/usr/local/bin/

示例3: 
下载指定名称的软件包及相关以来软件包：
[root@linuxcool ~]#yumdownloader --resolve net-tools.x86_64


command_name: netplan
chinese_name: netplan命令 – 网络参数配置工具
syntax: netplan [参数]
parameters: |apply: 将当前配置应用到正在运行的系统中 | |generate: 生成后台特定的配置文件 | |info: 显示当前网络计划的版本和可用功能 | |ip: 从系统中获取IP信息 |
category: 系统管理(system)
description:
netplan命令来自英文词组“Network Plan”的缩写，其功能是用于修改网卡信息，是一款网络参数配置工具。netplan命令主要用于Ubuntu及其衍生系统中，用户就无需再编辑网卡配置文件了，直接用命令就能配置网卡参数。

examples:
示例1: 
从系统中获取IP信息：
[root@linuxcool ~]#netplan ip

示例2: 
显示当前网络计划的版本和可用功能：
[root@linuxcool ~]#netplan info

示例3: 
将当前配置应用到正在运行的系统中：
[root@linuxcool ~]#netplan apply


command_name: xhost
chinese_name: xhost命令 – X服务器访问控制工具
description: xhost命令来自英文词组”X-Windows host“的缩写，其功能是X服务器访问控制工具，运行xhost命令前需要先启动本地的X-windows图形界面服务。
syntax: xhost [参数] [域名或IP地址]
parameters: |+: 允许指定的主机访问本地X服务器 | |—: 禁止指定的主机访问本地X服务器 |
category: 系统管理(system)
examples:
示例1: 
显示当前X服务器上的授权配置：
[root@linuxcool ~]#xhost

示例2: 
添加指定的IP地址为授权访问X服务器：
[root@linuxcool ~]#xhost + 192.168.10.10


command_name: yes
chinese_name: yes命令 – 重复打印字符串
syntax: yes [字符串]
parameters: |-- -help: 显示帮助信息 | |-- -version: 显示命令版本信息 |
category: 系统管理(system)
description:
yes命令的作用是中输出指定的字符串，直到yes进程被杀死。不带任何参数输的yes命令默认的字符串就是y。 终止yes命令可以使用组合键ctrl+c
yes命令通常在脚本中使用，在脚本中可以对对命令和程序的确认提示和问题进行管道输出并回答提问(例如：你确认要删除这个文件吗，按’y’ or ‘n’)。

examples:
示例1: 
重复打印一段字符：
[root@linuxcool ~]# yes linuxcoollinuxcoollinuxcoollinuxcoollinuxcoollinuxcoollinuxcoollinuxcoollinuxcool...^C //使用ctrl+c强制停止


command_name: clockdiff
chinese_name: clockdiff命令 – 检测两台linux主机的时间差
description: 在ip报文的首部和ICMP报文的首部都可以放入时间戳数据。 clockdiff 程序正是使用时间戳来测算目的主机和本地主机的系统时间差。
syntax: clockdiff [参数] [ip地址]
category: 系统管理(system)
parameters:
|-o: 使用IP时间戳选项来测量系统时间差。时间戳只用3个 |
|-o1: 使用IP时间戳选项来测量系统时间差。用4个时间戳。如果-o和-o1都没有设置，那么就是用ICMP时间戳来测试系统时间差 |

examples:
示例1: 
参考实例
[root@linuxcool ~]# ping -T tsandaddr www.ustc.edu.cn -c 1 
PING www.ustc.edu.cn (202.38.64.9) 56(124) bytes of data. 64 bytes from 202.38.64.9: icmp_seq=1 ttl=62 time=0.823 ms 
TS:     lixi-desktop.local (210.45.74.25)    12522473 absolute     210.45.74.1    -251     
local-gw.ustc.edu.cn (202.38.64.126)    248     
202.38.64.9    -857514 Unrecorded hops: 3 

--- www.ustc.edu.cn ping statistics 
--- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.823/0.823/0.823/0.000 ms

示例2: 
首先由上面的得出在RRT不大的时候，几个ICMP时间戳的关系。本地主机和202.38.64.9之间的时间差约为：-857514+248-251=-857517。分别用-o（IP选项中时间戳）和不带选项（ICMP路由时间戳）上述路由的系统时间进行测试。得到的结果：
[root@linuxcool ~]# ./clockdiff -o 202.38.64.9 
.................................................. 
host=202.38.64.9 rtt=1(0)ms/1ms delta=-857517ms/-857517ms Wed Dec 17 11:28:30 2008

示例3: 
首先由上面的得出在RRT不大的时候，几个ICMP时间戳的关系。本地主机和202.38.64.9之间的时间差约为：-857514+248-251=-857517。分别用-o（IP选项中时间戳）和不带选项（ICMP路由时间戳）上述路由的系统时间进行测试。得到的结果：
[root@linuxcool ~]# ./clockdiff 202.38.64.9 
host=202.38.64.9 rtt=750(187)ms/0ms delta=-857517ms/-857517ms Wed Dec 17 11:28:35 2008

示例4: 
两种方法测试的都比较准确:
[root@linuxcool ~]# ./clockdiff gigagate1.Princeton.EDU
.................................................. host=gigagate1.Princeton.EDU rtt=307(21)ms/271ms delta=-5ms/-5ms Wed Dec 17 11:50:16 2008


command_name: ipcrm
chinese_name: ipcrm命令 – 移除一个消息对象、共享内存段或信号集
description: ipcrm命令用来删除一个或更多的消息队列、信号量集或者共享内存标识。
syntax: ipcrm [参数]
category: 系统管理(system)
parameters:
|-m: SharedMemory id 删除共享内存标识 SharedMemoryID |
|-M: SharedMemoryKey 删除用关键字 SharedMemoryKey 创建的共享内存标识 |
|-q: MessageID 删除消息队列标识 MessageID 和与其相关的消息队列和数据结构 |
|-Q: MessageKey 删除由关键字 MessageKey 创建的消息队列标识和与其相关的消息队列和数据结构 |
|-s: SemaphoreID 删除信号量标识 SemaphoreID 和与其相关的信号量集及数据结构 |
|-S: SemaphoreKey 删除由关键字 SemaphoreKey 创建的信号标识和与其相关的信号量集和数据结构 |

examples:
示例1: 
删除和 SharedMemoryID 18163 相关的共享内存段：
[root@linuxcool ~]# ipcrm -m 18163

示例2: 
删除和 MessageID 18163 相关的共享内存段：
[root@linuxcool ~]# ipcrm -q 18163


command_name: grpck
chinese_name: grpck命令 – 验证文件的完整性
syntax: grpck [参数]
parameters: |-r: 只读模式 | |-s: 排序组id |
category: 系统管理(system)
description:
使用grpck命令检查数据是否正确存放，每条记录是否都包含足够的信息，是否有一个唯一的组名，是否包含正确的用户，是否正确设置了组的管理员等。grpck检查发现错误以后，在命令行提示用户是否删除错误的记录。如果用户没有明确回答删除记录，grpck终止运行。

examples:
示例1: 
对组账号文件进行验证：
[root@linuxcool ~]# grpck /etc/group

示例2: 
对影子文件进行验证：
[root@linuxcool ~]# grpck /etc/gshadow


command_name: mkkickstart
chinese_name: mkkickstart命令 – 建立安装的组态文件
description: mkkickstart命令用于建立安装的组态文件。可根据目前系统的设置来建立组态文件，供其他电脑在安装时使用。组态文件的内容包括使用语言，网络环境，系统磁盘状态，以及X Windows的设置等信息。
syntax: mkkickstart [参数]
examples: 示例1: 构建一个安装组态文件： [root@linuxcool ~]# mkkickstart --nonet -bootp
category: 系统管理(system)
parameters:
|-bootp: 安装与开机时，使用BOOTP |
|-dhcp: 安装与开机时，使用DHCP |
|-nfs: 使用指定的网络路径安装 |
|-nonet: 不要进行网络设置，即假设在没有网络环境的状态下 |
|-nox: 不要进行X Windows的环境设置 |
|-version: 显示版本信息 |


command_name: brctl
chinese_name: brctl命令 – 管理以太网网桥
description: brctl命令来自英文词组“bridge control”的缩写，其功能是用于管理以太网网桥。brctl命令能够设置、维护、检查Linux系统内核中的以太网网桥配置参数。
syntax: brctl [参数] [网桥名]
category: 系统管理(system)
parameters:
|addbr: 创建网桥 |
|addif: 将网卡设备接入网桥 |
|delbr: 删除网桥 |
|delif: 删除网桥接入的网卡设备 |
|setfd: 设置网桥延迟 |
|show: 显示网桥信息 |
|showmacs: 显示网卡MAC信息 |
|showstp: 显示网桥STP信息 |
|stp: 设置网桥STP功能 |

examples:
示例1: 
创建一个指定名称的网桥：
[root@linuxcool ~]#brctl addbr br10

示例2: 
删除一个指定名称的网桥：
[root@linuxcool ~]#brctl delbr br10

示例3: 
查看所有的网桥信息：
[root@linuxcool ~]#brctl show

示例4: 
启用一个指定名称的网桥：
[root@linuxcool ~]#brctl stp br10 on

示例5: 
关闭一个指定名称的网桥：
[root@linuxcool ~]#brctl stp br10 off


command_name: glances
chinese_name: glances命令 – 高层次的多子系统概览
syntax: glances [参数]
category: 系统管理(system)
description:
Linux系统自带了很多系统性能监控工具，如top，vmstat，iftop等等，还有一款监视工具glances，它能把其他几个监控的指标都集于一身。Glances是一个相对比较新的系统监控工具，用 Python 编写的，使用 psutil 库从系统获取信息。可以用它来监控 CPU、平均负载、内存、网络接口、磁盘 I/O，文件系统空间利用率、挂载的设备、所有活动进程以及消耗资源最多的进程。Glances 有很多有趣的选项。它的主要特性之一是可以在配置文件中设置阀值（careful小心、warning警告、critical致命），然后它会用不同颜色显示信息以表明系统的瓶颈。

parameters:
|-b: 显示网络连接速度 Byte/ 秒 |
|-s: 设置 glances 运行模式为服务器 |
|-B: 绑定服务器端 IP 地址或者主机名称 |
|-c: 连接 glances 服务器端 |
|-t: 设置屏幕刷新的时间间隔，单位为秒，默认值为 2 秒，数值许可范围：1~32767 |

examples:
示例1: 
192.168.10.10 主机启动 glances 服务：
[root@linuxcool ~]# glances -s -B 192.168.10.10 &

示例2: 
从另一台主机查看 192.168.10.10 主机的系统负载状态:
[root@linuxcool ~]# glances -c 192.168.10.10

示例3: 
显示网络连接速度 Byte/ 秒：
[root@linuxcool ~]# glances -b

示例4: 
设置屏幕刷新的时间间隔为6秒：
[root@linuxcool ~]# glances -t 6


command_name: sleep
chinese_name: sleep命令 – 延迟当前命令的执行
description: sleep命令的功能是用于延迟当前命令的执行，达到所设置的时间后才会执行后续工作。
syntax: sleep [参数]
parameters: |s: 秒数 | |m: 分钟 | |h: 小时 | |d: 日期 | |--help: 显示帮助信息 | |--version: 显示版本信息 |
category: 系统管理(system)
examples:
示例1: 
设定终端界面休眠3分钟：
[root@linuxcool ~]#sleep 3m

示例2: 
查看当前系统时间，随后休眠1分钟，再次显示系统时间：
[root@linuxcool ~]#date ; sleep 1m ; dateSun Jun  5 16:20:43 CST 2024
Sun Jun  5 16:21:43 CST 2024


command_name: xauth
chinese_name: xauth命令 – 管理X服务器的访问授权
description: xauth命令来自英文词组“X authority”的缩写，其功能是用于管理X服务器的访问授权，能够显示和编辑用于连接X服务器的认证信息。
syntax: xauth [参数] [对象]
category: 系统管理(system)
parameters:
|-b: 中断认证文件锁定 |
|-f: 使用指定认证文件 |
|-i: 忽略认证文件锁定 |
|-q: 静默执行模式 |
|-v: 显示执行过程详细信息 |
|add: 添加认证条目到认证文件中 |
|extract: 添加内容到密码文件中 |
|exit: 退出交互模式 |
|extract: 将内容写入指定的授权文件 |
|info: 显示授权文件相关信息 |
|list: 显示指定的显示设备内容 |
|merge: 合并多个授权文件内容 |
|nmerge: 将内容写入指定的授权文件 |
|remove: 删除指定设备的授权条目 |
|source: 读取包含xauth的内容指令 |

examples:
示例1: 
显示授权文件的信息：
[root@linuxcool ~]#xauth infoAuthority file:       /root/.Xauthority
File new:             yes
File locked:          no
Number of entries:    0
Changes honored:      yes
Changes made:         no
Current input:        (argv):1

示例2: 
显示所有授权条目：
[root@linuxcool ~]#xauth list

示例3: 
进入到交互配置模式：
[root@linuxcool ~]#xauthUsing authority file /root/.Xauthority
xauth>


command_name: setsebool
chinese_name: setsebool命令 – 修改布尔值
description: setsebool命令是用来修改SElinux策略内各项规则的布尔值。
syntax: setsebool [参数]
parameters: |-P: 直接将设置值写入配置文件，该设置数据将来会生效的 |
category: 系统管理(system)
examples:
示例1: 
允许vsvtp匿名用户写入权限：
[root@linuxcool ~]# setsebool -P allow_ftpd_anon_write=1

示例2: 
HTTP被设置允许cgi的设置：
[root@linuxcool ~]# setsebool -P httpd_enable_cgi 1

示例3: 
Selinux将本机的NFS共享设置成只读：
[root@linuxcool ~]# setsebool -P nfs_export_all_ro 1


command_name: sosreport
chinese_name: sosreport命令 – 收集并打包诊断和支持数据
description: sosreport命令从正在运行的系统生成配置和诊断信息的存档。存档文件可以存储在本地或集中，以便记录或跟踪，也可以发送给技术支持代表、开发人员或系统管理员，以帮助进行技术故障查找和调试。
syntax: sosreport [参数]
category: 系统管理(system)
parameters:
|-l: 列出所有可用的插件及其选项 |
|-n: 禁用指定的插件 |
|-e: 启用指定的插件 |
|-a: 对于所有的插件启用，将所有布尔选项设置为True |
|-v: 增加日志记录的详细程度 |
|--no-report: 禁用HTML报告写入 |
|--config-file CONFIG: 指定备用配置文件 |

examples:
示例1: 
列出所有可用的插件及其选项：
[root@linuxcool ~]# sosreport -l

示例2: 
使用-e参数，启用指定apache.log插件：
[root@linuxcool ~]# sosreport -e apache.log

示例3: 
使用-n参数，禁用指定yum.yumlist插件：
[root@linuxcool ~]# sosreport -n yum.yumlist

示例4: 
使用-a参数，启用所有列出来的插件：
[root@linuxcool ~]# sosreport -a


command_name: lshw
chinese_name: lshw命令 – 查看硬件设备信息
syntax: lshw [参数]
category: 系统管理(system)
description:
lshw命令来自英文词组“list hardware”的缩写，其功能是用于查看硬件设备信息。lshw命令能够显示Linux系统中的内存配置、固件版本、主板配置、CPU版本和速度、总线速度等丰富的硬件设备信息。

parameters:
|-C: 设置设备类型 |
|-X: 启动图形界面 |
|-businfo: 显示总线相关信息 |
|-enable test: 启动测试模式 |
|-html: 使用html格式输出结果 |
|-help: 显示帮助信息 |
|-json: 使用json格式输出结果 |
|-numeric: 显示设备的数字ID |
|-quiet: 静默执行模式 |
|-short: 使用简要信息模式 |
|-sanitize: 移除敏感信息 |
|-version: 显示版本信息 |
|-xml: 使用xml格式输出结果 |

examples:
示例1: 
使用简要信息模式，显示当前系统的全部硬件设备信息：
[root@linuxcool ~]#lshw -shortH/W path           Device      Class      Description
=====================================================
                               system     VMware Virtual Platform
/0                             bus        440BX Desktop Reference Platform
/0/0                           memory     86KiB BIOS
/0/1                           processor  Intel(R) Core(TM) i5-9300H CPU @ 2.40G
/0/1/0                         memory     16KiB L1 cache
/0/1/1                         memory     16KiB L1 cache
/0/2                           processor  CPU
/0/5                           processor  CPU
………………省略部分输出信息………………

示例2: 
显示当前系统的总线设备相关信息：
[root@linuxcool ~]#lshw -businfoBus info          Device      Class      Description
====================================================
                              system     VMware Virtual Platform
                              bus        440BX Desktop Reference Platform
                              memory     86KiB BIOS
cpu@0                         processor  Intel(R) Core(TM) i5-9300H CPU @ 2.40GH
                              memory     16KiB L1 cache
                              memory     16KiB L1 cache
cpu@1                         processor  CPU
cpu@2                         processor  CPU
………………省略部分输出信息………………

示例3: 
显示当前系统的内存设备相关信息：
[root@linuxcool ~]#lshw -C memory*-firmware                
       description: BIOS
       vendor: Phoenix Technologies LTD
       physical id: 0
       version: 6.00
       date: 11/12/2020
       size: 86KiB
       capabilities: isa pci pcmcia pnp apm upgrade shadowing escd cdboot bootselect edd int5printscreen int9keyboard int14serial int17printer int10video acpi smartbattery biosbootspecification netboot
  *-cache:0
       description: L1 cache
       physical id: 0
       slot: L1
       size: 16KiB
       capacity: 16KiB
       capabilities: asynchronous internal write-back
       configuration: level=1
………………省略部分输出信息………………


command_name: id
chinese_name: id命令 – 显示用户与用户组信息
description: id命令的功能是显示用户与用户组信息。UID是用户身份的唯一识别号码，相当于我们的身份证号码，而GID则是用户组的唯一识别号码。用户仅有一个基本组，但可以有多个扩展组。
syntax: id [参数] [用户名]
category: 系统管理(system)
parameters:
|-g: 显示用户所属基本组的ID（GID） |
|-G: 显示用户所属扩展组的ID（GID） |
|-n: 显示用户所属基本组或扩展组的名称 |
|-u: 显示用户的ID（UID） |
|--help: 显示帮助信息 |
|--version: 显示版本信息 |

examples:
示例1: 
显示当前用户的身份信息：
[root@linuxcool ~]# id 
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r: unconfined_t:s0-s0:c0.c1023

示例2: 
显示当前用户的所属群组的ID（GID）：
[root@linuxcool ~]# id -g 
0

示例3: 
显示当前用户的ID（UID）：
[root@linuxcool ~]# id -u 
0

示例4: 
查询当前用户的身份信息：
[root@linuxcool ~]# id linuxprobe 
uid=1000(linuxprobe) gid=1000(linuxprobe) groups=1000(linuxprobe)


command_name: ldconfig
chinese_name: ldconfig命令 – 动态链接库管理命令
syntax: ldconfig [参数]
category: 系统管理(system)
description:
ldconfig命令的作用主要是在默认搜寻目录/lib和/usr/lib以及动态库配置文件/etc/ld.so.conf内所列的目录下，搜索出可共享的动态链接库,进而创建出动态装入程序(ld.so)所需的连接和缓存文件。
缓存文件默认为/etc/ld.so.cache，此文件保存已排好序的动态链接库名字列表，为了让动态链接库为系统所共享，需运行动态链接库的管理命令ldconfig，此执行程序存放在/sbin目录下。
ldconfig通常在系统启动时运行，而当用户安装了一个新的动态链接库时，就需要手工运行这个命令。

parameters:
|-v: 显示正在扫描的目录及搜索到的动态链接库以及所创建的连接的名字 |
|-n: 仅扫描命令行指定的目录，不扫描默认目录，也不扫描配置文件所列的目录 |
|-N: 不重建缓存文件 |
|-X: 不更新文件的连接 |
|-f <conf>: 指定动态链接库的配置文件为CONF，系统默认为/etc/ld.so.conf |
|-C<cache>: 指定生成的缓存文件为CACHE，系统默认的是/etc/ld.so.cache |
|-r<root>: 改变应用程序的根目录为ROOT |
|-l: 进入专家模式手工设置连接 |
|-p: 打印出当前缓存文件所保存的所有共享库的名字 |
|-c<foemat>: 指定缓存文件所使用的格式 |
|-V: 打印出ldconfig的版本信息，而后退出 |
|-- -help: 打印出其帮助信息，而后退出 |

examples:
示例1: 
执行动态链接库管理命令：
[root@linuxcool ~]# sudo ldconfig

示例2: 
追加库文件/usr/local/mysql/lib到/etc/ld.so.conf文件中：
[root@linuxcool ~]# echo "/usr/local/mysql/lib" >>/etc/ld.so.conf
[root@linuxcool ~]# ldconfig -v | grep mysql

示例3: 
扫描命令行指定的目录：
[root@linuxcool ~]# ldconfig -n /linuxcool

示例4: 
不更新文件的链接：
[root@linuxcool ~]# ldconfig -X


command_name: virsh
chinese_name: virsh命令 – 管理虚拟机系统
syntax: virsh [参数] [对象]
category: 系统管理(system)
description:
virsh命令来自英文词组“virtualization shell”的缩写，中文译为虚拟化终端，其功能是用于管理虚拟机系统，主要应用于Xen、QEMU、KVM、LXC、OpenVZ、VirtualBox和VMware ESX。
virsh是用于管理虚拟化环境中客户机和Hypervisor的命令行工具，是libvirt项目中的开源软件，使用起来与virt-manager命令十分类似，它们都是系统管理员通过脚本程序实现虚拟化自动部署和管理的理想工具之一。

parameters:
|capablilities: 显示客户端特征信息 |
|destroy: 强行关闭或毁坏机器 |
|dominfo: 显示客户机硬件信息 |
|list --all: 显示客户虚拟机的数量 |
|net-list: 显示客户端所有网络信息 |
|nodecpustats: 显示客户端监控程序的CPU信息 |
|nodememstats: 显示服务器的内存信息 |
|nodeinfo: 显示服务器详细信息 |
|node-memory-tune: 显示客户端内存信息 |
|reboot: 重启虚拟机 |
|start: 启动虚拟机 |
|shutdown: 关闭虚拟机 |

examples:
示例1: 
获取服务器主机的内存信息：
[root@linuxcool ~]#virsh nodememstats

示例2: 
获取客户端虚拟机监控程序的CPU信息：
[root@linuxcool ~]#virsh nodecpustats

示例3: 
获取客户端虚拟机的数量信息：
[root@linuxcool ~]#virsh list --all

示例4: 
获取可用于客户端的所有网络信息：
[root@linuxcool ~]#virsh net-list


command_name: bg
chinese_name: bg命令 – 将作业放到后台运行
syntax: bg [参数]
parameters: |数字: 指定需要放到后台的作业标识号 |
category: 系统管理(system)
description:
bg命令来自英文单词“background”的缩写，中文译为“背景、后台”，其功能是用于将作业放到后台运行。在Linux系统终端中执行命令时，如遇到备份、打包、下载等长时间的任务，就会很长一段时间占用宝贵的终端执行界面，无法执行其他任务。而bg命令则可以将指定的命令任务放到系统后台去执行，使得终端界面可以继续其他工作，效果等同于“命令 &”的执行效果。

examples:
示例1: 
将指定标识的任务放到后台继续执行：
[root@linuxcool ~]#bg 1

示例2: 
扩展知识：执行指定任务，并将其放到后台执行：
[root@linuxcool ~]#tar czvf File.tar.gz /Dir/www &


command_name: pstree
chinese_name: pstree命令 – 以树状图形式显示进程信息
syntax: pstree [参数]
category: 系统管理(system)
description:
pstree命令来自英文词组“display a tree of processes”的缩写，其功能是用于以树状图形式显示进程信息，帮助管理员更好地了解进程间的关系。Linux系统中常用ps命令查看进程状态信息，但是却无法了解进程之间的依赖关系，哪个是父进程，哪个是子进程？这些信息则可通过pstree命令进行查看。

parameters:
|-a: 显示完整信息 |
|-A: 使用ASCII字符绘制树 |
|-c: 不使用精简标示法 |
|-g: 显示进程组ID |
|-G: 使用VT100终端机的列绘图字符 |
|-h: 特别标明现在执行的程序 |
|-I: 使用长格式显示树状图 |
|-n: 依据PID排序上下级进程 |
|-s: 显示指定进程的父进程 |
|-S: 显示命名空间转换 |
|-p: 显示进程号码 |
|-u: 显示用户名 |
|-U: 使用UTF-8线条绘制字符 |
|-V: 显示版本信息 |
|-Z: 显示每个进程的安全上下文 |

examples:
示例1: 
以树状图的形式显示当前系统中全部进程（默认）：
[root@linuxcool ~]#pstreesystemd-+-ModemManager---2*[{ModemManager}]
        |-NetworkManager---2*[{NetworkManager}]
        |-VGAuthService
        |-accounts-daemon---2*[{accounts-daemon}]
        |-atd
        |-auditd-+-sedispatch
        |        `-2*[{auditd}]
………………省略部分输出信息………………

示例2: 
以树状图的形式显示当前系统中全部进程（带有进程号）：
[root@linuxcool ~]#pstree -psystemd(1)-+-ModemManager(989)-+-{ModemManager}(1003)
           |                   `-{ModemManager}(1010)
           |-NetworkManager(1082)-+-{NetworkManager}(1091)
           |                      `-{NetworkManager}(1095)
           |-VGAuthService(984)
           |-accounts-daemon(1047)-+-{accounts-daemon}(1049)
           |                       `-{accounts-daemon}(1051)
………………省略部分输出信息………………

示例3: 
以更完整、更丰富的信息样式显示每个进程：
[root@linuxcool ~]#pstree -asystemd --switched-root --system --deserialize 17
  ├─ModemManager
  │   └─2*[{ModemManager}]
  ├─NetworkManager --no-daemon
  │   └─2*[{NetworkManager}]
  ├─VGAuthService -s
  ├─accounts-daemon
  │   └─2*[{accounts-daemon}]
  ├─atd -f
………………省略部分输出信息………………


command_name: adduser
chinese_name: adduser命令 – 创建用户
description: adduser命令的功能是创建用户。adduser实际上并不是一个真正的命令，而仅仅是useradd的一别名命令，因此这两个命令的使用方法完全相同。
syntax: adduser [参数] [用户名]
category: 系统管理(system)
parameters:
|-c: 设置备注文件 |
|-d: 设置家目录 |
|-D: 变更默认值 |
|-e: 设置用户的使用期限 |
|-f: 设置在密码过期多少天后即关闭该用户 |
|-g: 设置用户所属的基本组 |
|-G: 设置用户所属的扩展组 |
|-h: 显示帮助信息 |
|-k: 设置家目录内初始化文件 |
|-l: 不将用户信息加入最近登录与登录失败数据库中 |
|-M: 不要创建用户的登录目录 |
|-n: 不要创建与用户同名的组 |
|-o: 允许重复创建相同UID的用户 |
|-r: 建立系统用户 |
|-s: 设置用户登录后所使用的shell |
|-u: 设置用户ID值 |
|-U: 创建与用户同名的组 |
|-Z: 设置登录时映射的SELinux用户 |

examples:
示例1: 
创建指定名称的用户：
[root@linuxcool ~]# adduser linuxprobe

示例2: 
创建指定名称的用户，并设置用户有效期：
[root@linuxcool ~]# adduser -e 18/05/2024 linuxprobe

示例3: 
创建指定名称的用户，并添加扩展组：
[root@linuxcool ~]# adduser -G root linuxprobe

示例4: 
创建指定名称的用户，并设置家目录名称：
[root@linuxcool ~]# adduser -d /home/linux linuxprobe


command_name: runlevel
chinese_name: runlevel命令 – 显示系统的运行级
syntax: runlevel [参数]
parameters: |q: 禁止输出任何运行级信息，遇到问题时也不输出错误信息 | |--help: 显示命令的用法与概述等帮助信息 | |--version: 显示命令的版本等信息 |
examples: 示例1: 显示系统先前与当前的运行级: [root@linuxcool ~]# runlevel
category: 系统管理(system)
description:
runlevel命令是读取/var/run/utmp/文件或指定的其他文件，检索其中最近的运行级记录，显示系统先前与当前的运行级
如果运行级记录中没有先前的运行级，则使用字符N表示先前的运行级。如果找不到运行级记录，runlevel将会输出一条表示不知道的错误信息，然后退出，返回一个非0的结束状态


command_name: mandb
chinese_name: mandb命令 – 创建或更新手册页索引缓存
description: mandb命令用于初始化或手动更新通常由man维护的索引数据库缓存，缓存包含与手动页面系统的当前状态相关的信息，其中存储的信息由man db实用程序用于提高其速度和功能。
syntax: mandb [参数]
category: 系统管理(system)
parameters:
|-d: 打印调试信息 |
|-q: 不发出警告 |
|-s: 不花时间查找或向数据库添加有关stray cats的信息 |
|-p: 不花时间检查删除的手册页并从数据库中清理它们 |
|-u: 只创建用户数据库，即使有创建系统数据库所需的写权限 |
|-C <文件>: 使用此用户配置文件代替默认的 ~/.manpath |

examples:
示例1: 
更新top命令手册页索引缓存：
[root@linuxcool ~]# mandb top

示例2: 
使用-d参数，打印调试信息：
[root@linuxcool ~]# mandb -d unzip

示例3: 
使用-u参数，只创建用户数据库，即使有创建系统数据库所需的写权限：
[root@linuxcool ~]# mandb -d net-tools


command_name: localectl
chinese_name: localectl命令 – 控制系统的本地化与键盘布局
syntax: localectl [参数]
category: 系统管理(system)
description:
localectl命令可用于查询与修改系统的本地化(locale)与键盘布局的设置。 它通过与systemd-localed.service通信来修改例如 /etc/locale.conf 与 /etc/vconsole.conf 之类的配置文件。本地化设置控制着 用户界面的语言、字符类型与字符编码、 日期时间与货币符号的表达方式 等许多细节。

parameters:
|--no-ask-password: 在执行特权操作时不向用户索要密码 |
|-H: 操作指定的远程主机 |
|--no-pager: 不将程序的输出内容管道(pipe)给分页程序 |
|status: 显示当前的本地化设置与键盘映射 |
|set-locale LOCALE: 设置系统的本地化环境变量 |

examples:
示例1: 
使用localectl命令设置系统的本地化字符集环境变量：
[root@linuxcool ~]# localectl set-locale LANG=en_US.UTF-8

示例2: 
显示当前的本地化设置与键盘映射：
[root@linuxcool ~]# localectl status

示例3: 
列出本地所有字符集：
[root@linuxcool ~]# localectl list-locales


command_name: grpunconv
chinese_name: grpunconv命令 – 关闭群组的投影密码
description: grpunconv命令关闭群组的投影密码, 执行grpunconv指令可关闭群组投影密码，它会把密码从gshadow文件内，回存到group文件里。
syntax: grpunconv
category: 系统管理(system)
examples:
示例1: 
先查看未关闭的情况:
[root@linuxcool ~]# cat /etc/gshadow | grep cdy 
cdy:123456:1000:

示例2: 
启动影子系统:
[root@linuxcool ~]# grpconv
[root@linuxcool ~]# cat /etc/group |  grep cdy 
cdy:x:1000:


command_name: groupadd
chinese_name: groupadd命令 – 创建新的用户组
syntax: groupadd [参数] [用户组]
category: 系统管理(system)
description:
groupadd命令的功能是创建新的用户组。每个用户在创建时都有一个与其同名的基本组，后期可以使用groupadd命令创建出新的用户组信息，让多个用户加入指定的扩展组，从而为后续的工作提供了良好的文档共享环境。

parameters:
|-f: 若用户组已存在，则以成功状态退出 |
|-g: 设置用户组ID |
|-h: 显示帮助信息 |
|-K: 覆盖配置文件/etc/login.defs |
|-p: 设置用户组密码 |
|-r: 创建系统用户组 |

examples:
示例1: 
创建一个新的用户组：
[root@linuxcool ~]# groupadd linuxprobe

示例2: 
创建一个新的用户组，并指定用户组ID：
[root@linuxcool ~]# groupadd -g 6688 linuxprobe

示例3: 
创建一个新的用户组，设定为系统工作组：
[root@linuxcool ~]# groupadd -r linuxprobe


command_name: nfsstat
chinese_name: nfsstat命令 – 列出NFS统计信息
description: nfsstat命令显示关于nfs客户机和服务器活动的统计信息。
syntax: nfsstat [参数]
category: 系统管理(system)
parameters:
|-s: 仅列出NFS服务器端状态 |
|-c: 仅列出NFS客户端状态 |
|-n: 仅列出NFS状态，默认显示nfs客户端和服务器的状态 |
|-m: 打印以加载的nfs文件系统状态 |
|-r: 仅打印rpc状态 |

examples:
示例1: 
要显示关于客户机发送和拒绝的RPC和NFS调用数目的信息：
[root@linuxcool ~]# nfsstat -c

示例2: 
要显示和打印与客户机NFS调用相关的信息：
[root@linuxcool ~]# nfsstat -cn

示例3: 
要显示和打印客户机和服务器的与RPC调用相关的信息：
[root@linuxcool ~]# nfsstat -r

示例4: 
要显示关于服务器接收和拒绝的RPC和NFS调用数目的信息：
[root@linuxcool ~]# nfsstat –s


command_name: package-cleanup
chinese_name: package-cleanup命令 – 清理本地安装的RPM软件包
description: package-cleanup 清理本地安装的、重复的或孤立的的RPM软件包，这是一个只对RPM有用的工具，Ubuntu 之类的无法使用。
syntax: package-cleanup [参数]
category: 系统管理(system)
parameters:
|-c: 使用备用配置文件（默认为/etc/yum.conf） |
|-y: 同意任何要求 |
|–leaves: 列出与其他RPM没有依赖关系的软件包 |
|–orphans: 列出当前软件仓库中不再提供支持的本地已安装的软件包 |
|–oldkernels: 删除旧内核文件（kernel, kernel-devel） |
|–problems: 列出有依赖问题的软件包 |
|–dupes: 扫描重复安装的RPM软件包 |
|–cleandupes: 扫描重复安装的软件包，并删除老版本的软件包 |

examples:
示例1: 
列出与其他RPM没有依赖关系的软件包：
[root@linuxcool ~]# package-cleanup –leaves
libacl-devel-2.2.49-8.fc14.i686
libcap-devel-2.17-1.fc13.i686
libchamplain-gtk-0.6.1-4.fc14.i686
...

示例2: 
删除旧内核文件：
[root@linuxcool ~]# package-cleanup –oldkernels


command_name: journalctl
chinese_name: journalctl命令 – 查看指定的日志信息
syntax: journalctl [参数] [对象]
category: 系统管理(system)
description:
journalctl命令来自英文词组journal control的缩写，其功能是查看指定的日志信息。在RHEL 7/CentOS7及以后版本的Linux系统中，systemd服务统一管理了所有服务的启动日志，带来的好处就是可以只用journalctl一个命令来查看全部的日志信息了。

parameters:
|-a: 显示所有字段信息 |
|-b: 显示本次系统启动的日志信息 |
|-c: 从指定位置开始显示条目 |
|-D: 设置目录路径 |
|-f: 追踪日志内容 |
|-k: 显示内核日志 |
|-m: 显示所有可用日志 |
|-n: 设置日志条数 |
|-p: 依据优先级筛选 |
|-q: 静默执行模式 |
|-r: 反选内容后再显示 |
|-u: 显示指定服务的日志 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 |

examples:
示例1: 
查看系统中全部的日志信息：
[root@linuxcool ~]# journalctl 
-- Logs begin at Thu 2023-05-18 02:12:18 CST, end at Sat 2023-05-28 13:15:02 CS> 
May 18 02:12:18 linuxprobe.com kernel: Linux version 4.18.0-80.el8.x86_64 (mock> 
May 18 02:12:18 linuxprobe.com kernel: Command line: BOOT_IMAGE=(hd0,msdos1)/vm> 
May 18 02:12:18 linuxprobe.com kernel: Disabled fast string operations 
………………省略部分输出信息………………

示例2: 
指定查看内核日志信息：
[root@linuxcool ~]# journalctl -k 
-- Logs begin at Thu 2023-05-18 02:12:18 CST, end at Sat 2023-05-28 13:15:02 CS> 
May 18 02:12:18 linuxprobe.com kernel: Linux version 4.18.0-80.el8.x86_64 (mock> May 18 02:12:18 linuxprobe.com kernel: Command line: BOOT_IMAGE=(hd0,msdos1)/vm> 
May 18 02:12:18 linuxprobe.com kernel: Disabled fast string operations 
………………省略部分输出信息………………

示例3: 
指定查看本次系统启动的日志信息：
[root@linuxcool ~]# journalctl -b
-- Logs begin at Thu 2023-05-18 02:12:18 CST, end at Sat 2023-05-28 13:15:02 CS> 
May 18 02:12:18 linuxprobe.com kernel: x86/fpu: Supporting XSAVE feature 0x001:> 
May 18 02:12:18 linuxprobe.com kernel: x86/fpu: Supporting XSAVE feature 0x002:> 
May 18 02:12:18 linuxprobe.com kernel: x86/fpu: Supporting XSAVE feature 0x004:> 
………………省略部分输出信息………………

示例4: 
指定查看某个服务程序的日志信息：
[root@linuxcool ~]# journalctl -u sshd 
-- Logs begin at Thu 2023-05-18 02:12:18 CST, end at Sat 2023-05-28 13:17:01 CS> 
May 18 02:12:22 linuxcool.com systemd[1]: Starting OpenSSH server daemon... 
May 18 02:12:22 linuxcool.com sshd[1109]: Server listening on 0.0.0.0 port 22. 
May 18 02:12:22 linuxcool.com sshd[1109]: Server listening on :: port 22. 
May 18 02:12:22 linuxcool.com systemd[1]: Started OpenSSH server daemon
………………省略部分输出信息………………

示例5: 
指定查看最近10条日志信息：
[root@linuxcool ~]# journalctl -n 10 -- Logs begin at Thu 2023-05-18 02:12:18 CST, end at Sat 2023-05-28 13:17:01 CS> 
May 28 13:01:01 linuxcool.com run-parts[3541]: (/etc/cron.hourly) finished 0ana> 
May 28 13:15:00 linuxcool.com dbus-daemon[980]: [system] Activating via systemd> 
May 28 13:15:00 linuxcool.com systemd[1]: Starting Fingerprint Authentication D> 
May 28 13:15:00 linuxcool.com dbus-daemon[980]: [system] Successfully activated> 
May 28 13:15:00 linuxcool.com systemd[1]: Started Fingerprint Authentication Da> 
May 28 13:15:02 linuxcool.com gdm-password][3666]: gkr-pam: unlocked login keyr> 
May 28 13:15:02 linuxcool.com NetworkManager[1093]: [1653714902.2810] a> 
May 28 13:17:01 linuxcool.com anacron[2921]: Job `cron.monthly' started 
May 28 13:17:01 linuxcool.com anacron[2921]: Job `cron.monthly' terminated 
May 28 13:17:01 linuxcool.com anacron[2921]: Normal exit (3 jobs run)

示例6: 
持续追踪最新的日志信息，保持刷新内容：
[root@linuxcool ~]# journalctl -f 
-- Logs begin at Thu 2023-05-18 02:12:18 CST. -- 
May 28 13:01:01 linuxcool.com run-parts[3541]: (/etc/cron.hourly) finished 0anacron 
May 28 13:15:00 linuxcool.com dbus-daemon[980]: [system] Activating via systemd: service name='net.reactivated.Fprint' unit='fprintd.service' requested by ':1.177' (uid=0 pid=2222 comm="/usr/bin/gnome-shell " label="unconfined_u: unconfined_r:unconfined_t:s0-s0:c0.c1023") 
May 28 13:15:00 linuxcool.com systemd[1]: Starting Fingerprint Authentication Daemon... 
May 28 13:15:00 linuxcool.com dbus-daemon[980]: [system] Successfully activated service 'net.reactivated.Fprint' 
May 28 13:15:00 linuxcool.com systemd[1]: Started Fingerprint Authentication Daemon. May 28 13:15:02 linuxcool.com gdm-password][3666]: gkr-pam: unlocked login keyring 
May 28 13:15:02 linuxcool.com NetworkManager[1093]: [1653714902.2810] agent-manager: req[0x7fdcc8007190, :1.177/org.gnome.Shell.NetworkAgent/0]: agent registered 
May 28 13:17:01 linuxcool.com anacron[2921]: Job `cron.monthly' started 
May 28 13:17:01 linuxcool.com anacron[2921]: Job `cron.monthly' terminated 
May 28 13:17:01 linuxcool.com anacron[2921]: Normal exit (3 jobs run)
………………省略部分输出信息………………


command_name: chsh
chinese_name: chsh命令 – 更改使用者shell设定
syntax: chsh [参数]
parameters: |-l: 打印/etc/shells中列出的shell列表并退出 | |-s: 指定登录shell | |-u: 打印使用信息并退出 |
category: 系统管理(system)
description:
chsh用于更改登录shell；如果命令行上没有给定shell，chsh将提示输入一个shell。
chsh命令本身并不复杂，它的功能比较单一，就是负责查看（显示）和修改我们系统的登录 Shell；想修改登录 Shell，首先要知道我们的系统安装了哪些 Shell。
chsh仅用于更改本地条目；对非本地条目使用ypchsh、lchsh或任何其他实现。

examples:
示例1: 
使用-l参数 打印/etc/shells中列出的shell：
[root@linuxcool ~]# chsh -l

示例2: 
通过 -s [参数]改变当前的shell设置：
[root@linuxcool ~]# chsh -s /bin/csh


command_name: groups
chinese_name: groups命令 – 显示用户组信息
description: groups命令来自英文单词“群组”，其功能是用于显示用户组信息。Linux系统中的用户组信息保存在/etc/group文件中，使用groups命令能够查看到当前用户或指定用户的群组信息，方便好用。
syntax: groups [参数] [用户组名]
parameters: |--help: 显示帮助信息 | |--version: 显示版本信息 |
category: 系统管理(system)
examples:
示例1: 
显示当前用户所对应的群组信息：
[root@linuxcool ~]#groupsroot

示例2: 
显示指定用户所对应的群组信息：
[root@linuxcool ~]#groups linuxprobelinuxprobe : linuxprobe


command_name: restorecon
chinese_name: restorecon命令 – 恢复文件安全上下文
syntax: restorecon [参数] [文件或目录名]
category: 系统管理(system)
description:
restorecon命令来自英文词组“restore config”的缩写，其功能是用于恢复文件安全上下文。安全上下文是SELinux安全子系统中重要的安全控制策略，在Linux系统中一切都是文件，而SELinux安全子系统中则一切皆对象，所有的文件、系统端口和进程都具备安全上下文策略。
一般情况下使用cp命令对文件进行复制操作后，新的文件不会保留原始属性（除非加了-p参数），亦或是使用semanage命令对文件的安全上下文策略进行修改后，都需要使用restorecon命令让新的安全上下文值生效。

parameters:
|-e: 设置要排除的目录 |
|-f: 设置要处理的文件 |
|-F: 强制恢复文件安全策略而不询问 |
|-i: 忽略不存在的文件 |
|-n: 不改变文件标签 |
|-o: 将设置失败的文件名列表写入到文件 |
|-R: 递归处理所有子文件 |
|-v: 显示执行过程详细信息 |

examples:
示例1: 
对指定的文件进行恢复操作，并显示过程信息：
[root@linuxcool ~]#restorecon -v /Dir/File.txt

示例2: 
对指定的目录进行恢复操作：
[root@linuxcool ~]#restorecon -R /Dir


command_name: ssh-agent
chinese_name: ssh-agent命令 – ssh密钥管理器
syntax: ssh-agent [参数]
category: 系统管理(system)
description:
ssh-agent命令是一种控制用来保存公钥身份验证所使用的私钥的程序。ssh-agent在X会话或登录会话之初启动，所有其他窗口或程序则以客户端程序的身份启动并加入到ssh-agent程序中。通过使用环境变量，可定位代理并在登录到其他使用ssh机器上时使用代理自动进行身份验证。
其实ssh-agent就是一个密钥管理器，运行ssh-agent以后，使用ssh-add将私钥交给ssh-agent保管，其他程序需要身份验证的时候可以将验证申请交给ssh-agent来完成整个认证过程。

parameters:
|-a bind_address: 将代理绑定到Unix域套接字绑定地址 |
|-d: 调试模式 |
|-k: 把ssh-agent进程杀掉 |
|-s: 生成Bourne shell 风格的命令输出 |

examples:
示例1: 
运行ssh-agent，打印本身的环境和变量：
[root@linuxcool ~]# ssh-agent

示例2: 
使用-d参数，运行调试模式：
[root@linuxcool ~]# ssh-agent -d

示例3: 
使用-k参数杀掉ssh-agent进程：
[root@linuxcool ~]# ssh-agent -k


command_name: lssubsys
chinese_name: lssubsys命令 – 列出包含指定子系统的层次结构
description: lssubsys命令的作用是可以列出包含指定子系统的层次结构。 如果未定义子系统，那么将显示所有已安装的层次结构。不带任何参数直接执行lssubsys命令效果等同于带参数-a。
syntax: lssubsys [参数]
parameters: |-i: 如果子系统处于层次结构，则显示连接的层次数 | |-m: 显示挂载点 | |-a: 显示所有的子系统（包括没有挂载的） |
category: 系统管理(system)
examples:
示例1: 
查看所有支持的子系统：
[root@linuxcool ~]# lssubsys -a

示例2: 
查看所有子系统挂载点：
[root@linuxcool ~]# lssubsys -m

示例3: 
查看单个子系统（如memory）挂载位置：
[root@linuxcool ~]# lssubsys –m memory
memory


command_name: exec
chinese_name: exec命令 – 调用并执行指定的命令
description: exec命令来自英文单词execute的缩写，其功能是用于调用并执行指定的命令，亦可将前一个命令的输出结果作为后一个命令的标准输入值进行二次处理，功能类似于管道符。
syntax: exec [参数] [命令]
parameters: |-c: 执行指定的命令 |
category: 系统管理(system)
examples:
示例1: 
调用并执行指定的命令：
[root@linuxcool ~]#exec -c reboot

示例2: 
结合文件搜索命令，找到所有属于某个用户的文件，并将其复制到指定目录中：
[root@linuxcool ~]#find / -user linuxprobe -exec cp -Ra {} /Dir \;


command_name: fgconsole
chinese_name: fgconsole命令 – 显示活动的虚拟终端数量
syntax: fgconsole [参数]
parameters: |-n: 将显示下一个未分配的虚拟终端。正常情况下分配6个虚拟终端，7号用于X | |-h: 帮助命令 | |-V: 版本 |
category: 系统管理(system)
description:
fgconsole命令的作用是可以显示活动的虚拟终端数量。
如果活动的虚拟终端为/dev/ttyN，则在标准输出上显示N。 如果控制台是串行控制台，则打印“serial”。
如果当前进程有控制终端的话，那么/dev/tty就是当前进程的控制终端的设备特殊文件。可以使用命令”ps –ax”来查看进程与哪个控制终端相连。对于你登录的shell，/dev/tty就是你使用的终端，设备号是(5,0)。使用命令”tty”可以查看它 具体对应哪个实际终端设备。/dev/tty有些类似于到实际所使用终端设备的一个联接。

examples:
示例1: 
显示活动的虚拟终端数量：
[root@linuxcool ~]# fgconsole

示例2: 
显示下一个未分配的虚拟终端：
[root@linuxcool ~]# fgconsole -n

示例3: 
查询命令版本：
[root@linuxcool ~]# fgconsole -V


command_name: swatch
chinese_name: swatch命令 – 用于系统监控
syntax: swatch [参数]
category: 系统管理(system)
description:
swatch可用来监控系统记录文件，并在发现特定的事件时，执行指定的动作。使用之前需要预设swatch的配置文件”.swatchrc”。可以根据需求修改”.swatchrc”文件来监控事件及执行的动作。

parameters:
|-A: 预设配置文件中，动作的分隔字符，预设为逗号 |
|-c: 指定配置文件，而不使用预设的配置文件 |
|-f: 检查指定的记录文件，检查完毕后不会继续监控该记录文件 |
|-I: 指定输入记录的分隔字符，预设为换行字符 |
|-P: 指定配置文件中，事件的分隔字符，预设为逗号 |
|-r: 在指定的时间重新启动 |
|-t: 检查指定的记录文件，并且会监控加入记录文件中的后继记录 |

examples:
示例1: 
开启系统监控：
[root@linuxcool ~]# swatch

示例2: 
选定”abc.conf”配置文件(请注意文件路径)，执行将日志写入到”/var/log/secure.1″：
[root@linuxcool ~]# swatch -c /root/abc.conf --examine=/var/log/secure.1


command_name: loginctl
chinese_name: loginctl命令 – 控制systemd登录管理器
description: loginctl命令可用于检查和控制systemd的状态；查看已经登录的用户会话消息。
syntax: loginctl [参数]
category: 系统管理(system)
parameters:
|-a: 显示会话/用户/座位属性时，显示所有属性，无论是否设置 |
|list-users: 显示用户名与ID |
|list-sessions: 显示会话配置信息 |
|-M: 在本地容器上执行操作 |

examples:
示例1: 
显示所有会话及属性：
[root@linuxcool ~]# loginctl -a

示例2: 
显示会话配置消息：
[root@linuxcool ~]# loginctl show-session


command_name: compgen
chinese_name: compgen命令 – 列出所有Linux命令
description: compgen一个很棒的命令列出所有Linux命令，compgen是bash内置命令，它将显示所有可用的命令，别名和函数。
syntax: compgen [参数]
category: 系统管理(system)
parameters:
|-c: 列出所有可用的命令 |
|-a: 列出可用的所有bash shell别名 |
|-b: 显示所有bash内置插件 |
|-k: 显示所有bash关键字 |
|-A: 显示所有bash函数 |

examples:
示例1: 
列出所有可用的命令：
[root@linuxcool ~]# compgen -c

示例2: 
列出可用的所有bash shell别名：
[root@linuxcool ~]# compgen -a

示例3: 
显示所有bash内置插件：
[root@linuxcool ~]# compgen -b

示例4: 
显示所有bash关键字：
[root@linuxcool ~]# compgen -k

示例5: 
显示所有bash函数：
[root@linuxcool ~]# compgen -A


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

示例2: 
指定要保存的表的名称：
[root@linuxcool ~]# ip6tables-save -t filter > filter.bak


command_name: pgrep
chinese_name: pgrep命令 – 检索进程PID号码
syntax: pgrep [参数] [服务名称]
category: 系统管理(system)
description:
pgrep命令来自英文词组“process global regular expression print”的缩写，其功能是用于检索进程PID号码。与pidof命令必须准确输入服务名称不同，pgrep命令通过正则表达式进行检索，因此用户只需要输入服务名称中的一部分即可进行搜索操作，对于不记得全名的服务程序特别好用。

parameters:
|-d: 设置号码之间的间隔符 |
|-f: 匹配进程名 |
|-g: 匹配进程组ID |
|-h: 显示帮助信息 |
|-I: 显示进程名及ID |
|-n: 选择最近执行的进程 |
|-o: 选择最早执行的进程 |
|-P: 匹配父进程ID |
|-t: 匹配终端号 |
|-u: 匹配有效用户ID |
|-v: 反选结果，显示不符合条件的 |
|-V: 显示版本信息 |
|-x: 显示完全符合条件的 |

examples:
示例1: 
检索某名称服务所对应的PID号码信息：
[root@linuxcool ~]#pgrep sshd1709
97535
97549

示例2: 
以逗号为间隔符，检索某名称服务所对应的PID号码信息：
[root@linuxcool ~]#pgrep -d , sshd1709,97535,97549

示例3: 
指定发起人名称，检索某名称服务所对应的PID号码信息：
[root@linuxcool ~]#pgrep -u www sshd[root@linuxcool ~]#pgrep -u root sshd1709
97535
97549


command_name: setenforce
chinese_name: setenforce命令 – 设置SELinux服务状态
syntax: setenforce [1或0]
parameters: |0: 宽容允许模式（permissive） | |1: 强制禁止模式（enforcing） |
category: 系统管理(system)
description:
setenforce命令来自英文词组“set enforce”的拼写，其功能是用于设置SELinux服务状态。SELinux服务是Linux系统中重要的安全子系统，用于规范服务程序只能获取自身所需的资源——如文件或端口号等，防止权限外溢，提高安全性。

examples:
示例1: 
设置SELinux服务为强制禁止模式：
[root@linuxcool ~]#setenforce 1

示例2: 
设置SELinux服务为宽容允许模式：
[root@linuxcool ~]#setenforce 0


command_name: vnstat
chinese_name: vnstat命令 – 查看网卡流量使用情况
syntax: vnstat [参数] [对象]
category: 系统管理(system)
description:
vnstat命令的功能是用于查看网卡流量使用情况，是一个基于控制台的网络流量监控器。使用vnstat命令能够按照每小时、每天、每月的时间跨度查看Linux系统中网卡流量使用情况，由于这些数据实际并不是由vnstat命令保存的，而是读取的proc目录内系统记录的流量信息，因此即便运维人员没有root管理员身份，也是可以用该命令查看到系统流量统计情况信息的。

parameters:
|-d: 按天 |
|-h: 按小时 |
|-i: 指定网卡 |
|-l: 实时流量 |
|-m: 按月份 |
|-q: 查询数据 |
|-ru: 交换速率 |
|-s: 简要信息模式 |
|-tr: 计算流量 |
|-u: 更新数据库 |
|-v: 显示版本信息 |
|-w: 按周 |
|-?: 显示帮助信息 |

examples:
示例1: 
查询指定网卡的流量使用情况：
[root@linuxcool ~]#vnstat -i eth0

示例2: 
更新数据库后查看今天的流量使用情况：
[root@linuxcool ~]#vnstat -d

示例3: 
更新数据库后查看本月的流量使用情况：
[root@linuxcool ~]#vnstat -m

示例4: 
查看当前实时流量情况：
[root@linuxcool ~]#vnstat -l


command_name: ulimit
chinese_name: ulimit命令 – 限制使用系统资源
syntax: ulimit [参数] [对象]
category: 系统管理(system)
description:
ulimit命令来自英文词组“user limit”的缩写，是一条bash解释器的内部命令，其功能是用于限制使用系统资源。通过使用ulimit命令能够限制用户最大启动进程数、最长CPU使用时长、最高内存占用量等资源，提高整体服务器的运行稳定性，让每位用户都可以充分、合理、公平地利用系统资源。

parameters:
|-a: 显示当前全部的限制信息 |
|-d: 设置每个进程最大数据段大小（KB） |
|-f: 设置每个进程最大创建文件大小（KB） |
|-H: 设置硬资源限制，超过就不可再使用 |
|-l: 设置最大可加锁的内存值大小（KB） |
|-m: 设置最大使用内存大小（KB） |
|-n: 设置每个进程最多打开文件个数（个） |
|-p: 设置管道缓冲区大小（KB） |
|-s: 设置线程栈大小（KB） |
|-S: 设置软资源限制，超过还可以使用 |
|-t: 设置CPU使用时长的上限（秒） |
|-u: 设置用户最多可开启的程序数量（个） |
|-v: 设置用户最大可使用的内容上限（KB） |

examples:
示例1: 
显示当前系统资源的限制信息：
[root@linuxcool ~]#ulimit -acore file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 7744
max locked memory       (kbytes, -l) 16384
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 7744
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

示例2: 
限制每个用户的最大启动进程上限：
[root@linuxcool ~]#ulimit -u 500

示例3: 
限制每个进程的最多可以打开文件数量上限：
[root@linuxcool ~]#ulimit -n 100

示例4: 
限制每个用户的最大使用内存占用量上限：
[root@linuxcool ~]#ulimit -v 12800

示例5: 
限制每个进程的使用CPU时长上限：
[root@linuxcool ~]#ulimit -t 2


command_name: fwhois
chinese_name: fwhois命令 – 查找并显示用户信息
syntax: fwhois [用户]
examples: 示例1: 查找root用户的信息： [root@linuxcool ~]# fwhois root
category: 系统管理(system)
description:
fwhois的功能有点类似finger指令，它会去查找并显示指定帐号的用户相关信息。不同之处在于fwhois指令是到Network Solutions的WHOIS数据库去查找，该帐号名称必须有在上面注册才能寻获，且名称没有大小写的差别。


command_name: systemctl
chinese_name: systemctl命令 – 管理系统服务
syntax: systemctl [参数] [动作] [服务名]
category: 系统管理(system)
description:
systemctl命令来自英文词组system control的缩写，其功能是管理系统服务。从RHEL 7/CentOS7版本起，初始化进程服务init被替代为systemd服务，systemd初始化进程服务的管理是通过systemctl命令完成的，该命令涵盖了service、chkconfig、init、setup等多个命令的大部分功能。

parameters:
|-a: 显示所有单位 |
|-f: 覆盖任何冲突的符号链接 |
|-H: 设置要连接的主机名 |
|-M: 设置要连接的容器名 |
|-n: 设置要显示的日志行数 |
|-o: 设置要显示的日志格式 |
|-r: 显示本地容器的单位 |
|-s: 设置要发送的进程信号 |
|-t: 设置单元类型 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 |

examples:
示例1: 
启动指定的服务：
[root@linuxcool ~]# systemctl start sshd

示例2: 
停止指定的服务：
[root@linuxcool ~]# systemctl stop sshd

示例3: 
重启指定的服务：
[root@linuxcool ~]# systemctl restart sshd

示例4: 
将指定的服务加入到开机启动项中：
[root@linuxcool ~]# systemctl enable sshd

示例5: 
查看指定服务的运行状态：
[root@linuxcool ~]# systemctl status sshd 
• sshd.service - OpenSSH server daemon 
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset> 
   Active: active (running) since Thu 2023-05-18 17:02:08 CST; 23s ago 
     Docs: man:sshd(8) 
           man:sshd_config(5) 
Main PID: 3015 (sshd) 
   Tasks: 1 (limit: 12391) 
  Memory: 1.5M 
  CGroup: /system.slice/sshd.service 
         └─3015 /usr/sbin/sshd -D -oCiphers=aes256-gcm@openssh.com,chacha20-p> 

May 18 17:02:08 linuxcool.com systemd[1]: Stopped OpenSSH server daemon. 
May 18 17:02:08 linuxcool.com systemd[1]: Starting OpenSSH server daemon... 
May 18 17:02:08 linuxcool.com sshd[3015]: Server listening on 0.0.0.0 port 22. 
May 18 17:02:08 linuxcool.com sshd[3015]: Server listening on :: port 22. 
May 18 17:02:08 linuxcool.com systemd[1]: Started OpenSSH server daemon. 
lines 1-16/16 (END)

示例6: 
将指定的服务从开机启动项中取消：
[root@linuxcool ~]# systemctl disable sshd

示例7: 
显示系统中所有已启动的服务列表信息：
[root@linuxcool ~]# systemctl list-units --type=service 
  UNIT 						LOAD ACTIVE SUB DESCRIPTION 
  accounts-daemon.service 		loaded active running Accounts Service 
  atd.service 					loaded active running Job spooling tools 
  auditd.service 				loaded active running Security Auditing Service 
  avahi-daemon.service 			loaded active running Avahi mDNS/DNS-SD Stack 
  bolt.service 					loaded active running Thunderbolt system service 
  colord.service 				loaded active running Manage, Install and Gener> 
  crond.service 				loaded active running Command Scheduler
  cups.service 					loaded active running CUPS Scheduler


