ID 命令 名称 解释 用法 参数 例子 分类 1 touch touch命令 – 创建空文件与修改时间戳 touch命令的功能是创建空文件与修改时间戳。如果文件不存在,则会创建一个空内容的文本文件;如果文件已经存在,则会对文件的Atime(访问时间)和Ctime(修改时间)进行修改操作,管理员可以完成此项工作,而普通用户只能管理主机的文件。 touch [参数] [文件名] |-a: 设置文件的读取时间记录 |
|-c: 不创建新文件 |
|-d: 设置时间与日期 |
|-m: 设置文件的修改时间记录 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例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: - 文件管理(file) 2 xzless xzless命令 – 查看xz压缩文本文件 使用xzless命令可以查看xz压缩文本文件。 xzless [文件] 示例1:
查看/root/a.x压缩文本文件:
[root@linuxcool ~]# xzless /root/a.xz 文件管理(file) 3 mshowfat mshowfat命令 – 显示在FAT中的记录 mshowfat命令用于显示MS-DOS文件在FAT中的记录。
mshowfat为mtools工具指令,可显示MS-DOS文件在FAT中的记录编号。 mshowfat [参数] |[文件…]: 执行操作的文件相对路径或者绝对路径 | 示例1:
查看文件”test.txt”的FAT信息:
[root@linuxcool ~]# $ mshowfat test.txt 文件管理(file) 4 e2image e2image命令 – 保存ext2/ext3文件元数据 e2image命令可以将处于危险状态的“ext2”或者“ext3”文件系统保存到文件中。生成的文件可以被dumpe2fs命令和debugfs命令通过“-i”参数使用。有经验的管理员可以用它来做文件系统的灾难恢复。
为了节省磁盘空间,e2Image将image文件创建为稀疏文件,或以QCOW2格式创建。因此,如果需要将稀疏image文件复制到另一个位置,则应该首先对其进行压缩,或者使用GNU版本的cp ” sparse=always”选项。这不适用于QCOW2映像,它并不稀疏。 e2image [参数] [文件/文件系统] |-I: 将文件中的元数据恢复到分区 |
|-r: 创建raw格式的image |
|-Q: 创建QCOW2格式的image | 示例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 文件管理(file) 5 myisamchk myisamchk命令 – 检查和修复MyISAM表 使用myisamchk命令可以检查和修复MyISAM表。使用不带选项的命令,所有表将被检查是否有错误。 myisamchk [参数] [表] |-p: 与-r和-n的用法相同,但使用不同的线程并行创建所有键 |
|-c: 检查表的错误 |
|-w: 如果表被锁住就等待 | 示例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 文件管理(file) 6 vipw vipw命令 – 编辑某些配置文件 使用vipw命令可以编辑/etc/passwd、/etc/shadow、/etc/group和/etc/gshadow文件。该方式将设置适当的锁,以防止文件损坏。 vipw [参数] |-g: 编辑group数据库 |
|-p: 编辑passwd数据库 |
|-q: 安静模式 |
|-s: 编辑shadow或gshadow数据库 | 示例1:
编辑/etc/passwd文件:
[root@linuxcool ~]# vipw -p
示例2:
编辑/etc/group文件:
[root@linuxcool ~]# vipw -g
示例3:
编辑/etc/shadow文件:
[root@linuxcool ~]# vipw -s 文件管理(file) 7 last last命令 – 显示用户历史登录情况 last命令的功能是显示用户历史登录情况。通过查看系统记录的日志文件内容,可使管理员获知谁曾经或者试图连接过服务器。
通过读取系统登录历史日志文件(/var/log/wtmp)并按照用户名、登录终端、来源终端、时间等信息进行划分,可让用户对系统历史登录情况一目了然。 last [参数] [对象] |-a: 将来源终端信息项放到最后 |
|-d: 将IP地址解析成域名或主机名 |
|-f: 设置记录文件 |
|-F: 显示完整的登录时间和日期 |
|-h: 显示帮助信息 |
|-i: 显示指定IP的登录情况 |
|-R: 不显示主机名字段 |
|-s: 显示指定时间以后的行 |
|-t: 显示指定时间之前的行 |
|-x: 显示系统开关机信息 |
|-V: 显示版本信息 | 示例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 文件管理(file) 8 chmod chmod命令 – 改变文件或目录权限 chmod命令来自英文词组change mode的缩写,其功能是改变文件或目录权限的命令。默认只有文件的所有者和管理员可以设置文件权限,普通用户只能管理自己文件的权限属性。
设置权限时可以使用数字法,亦可使用字母表达式,对于目录文件,建议加入-R参数进行递归操作,这意味着不仅对于目录本身,而且也对目录内的子文件/目录进行新权限的设定。 chmod [参数] [文件名] |-c: 改变权限成功后再输出成功信息 |
|-f: 改变权限失败后不显示错误信息 |
|-R: 递归处理所有子文件 |
|-v: 显示执行过程详细信息 |
|--help: 显示帮助信息 |
|--preserve-root: 禁止对根目录进行递归操作 |
|--reference: 使用指定参考文件的权限 |
|--version: 显示版本信息 | 示例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 文件管理(file) 9 get-module get_module命令 – 获取模块信息 get_module命令用于获取Linux内核模块的详细信息。
使用get_module命令获取模块详细信息时,必须确定该模块已经加载到内核,否则会提示“模块找不到”的错误。 get_module [模块名] 示例1:
获取指定模块信息:
[root@linuxcool ~]# get_module ipv6
示例2:
查看内核模块sr_mod的详细信息:
[root@linuxcool ~]# get_module sr_mod 文件管理(file) 10 unprotoize unprotoize命令 – 删除函数原型 unprotoize命令属于gcc套件,用于删除C语言源代码文件中的函数原型。 unprotoize [参数] |-d: 设置需要转换代码的目录 |
|-x: 转换代码时排除的文件 | 示例1:
删除C语言源代码文件:
[root@linuxcool ~]# unprotoize -x test1.c 文件管理(file) 11 rpmdb rpmdb命令 – 初始化和重建数据库 rpmdb命令用于初始化和重建rpm数据库。 rpmdb [参数] |initdb: 初始化RPM数据库 |
|rebuilddb: 从已安装的包头文件,反向重建RPM数据库 | 示例1:
初始化RPM数据库:
[root@linuxcool ~]# rpmdb -initdb 文件管理(file) 12 gzexe gzexe命令 – 压缩执行文件 gzexe命令用来压缩可执行文件,压缩后的文件仍然为可执行文件,在执行时进行自动解压缩。当您去执行被压缩过的执行文件时,该文件会自动解压然后继续执行,和使用一般的执行文件相同。这个命令也可以看成是gunzip命令的一个扩展。 gzexe [参数] [文件] |-d: 解开压缩文件 | 示例1:
压缩可执行文件:
[root@linuxcool ~]# gzexe abc
示例2:
解压可执行文件:
[root@linuxcool ~]# gzexe -d test.sh 文件管理(file) 13 chfn chfn命令 – 系统管理 chfn命令的英文全称是“change finger”,即用来改变finger命令显示的信息。这些信息都存放在/etc目录里的passwd文件里。若不指定任何选项,则chfn命令会进入问答式界面。 chfn [参数] |-f: 设置真实姓名 |
|-h: 设置家中的电话号码 |
|-u: 在线帮助 |
|-v: 显示版本信息 | 示例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. 文件管理(file) 14 dumpe2fs dumpe2fs命令 – 打印快组信息 dumpe2fs命令用于打印“ext2/ext3”文件系统的超级块和快组信息。 dumpe2fs [参数] |-b: 打印文件系统中预留的块信息 |
|-ob<超级块>: 指定检查文件系统时使用的超级块 |
|-OB<块大小>: 检查文件系统时使用的指定的块大小 |
|-h: 仅显示超级块信息 |
|-i: 从指定的文件系统映像文件中读取文件系统信息 |
|-x: 以16进制格式打印信息块成员 | 示例1:
打印/dev/hda1文件系统的超级块和快组信息:
[root@linuxcool ~]# dumpe2fs /dev/hda1
示例2:
打印/dev/hda1文件系统的超级块信息:
[root@linuxcool ~]# dumpe2fs -h /dev/hda1 文件管理(file) 15 fstrim fstrim命令 – 回收文件系统中未使用的块资源 fstrim命令来自英文词组filesystem trim的缩写,其功能是回收文件系统中未使用的块资源。fstrim命令对固态硬盘和精简配置的存储设备意义较大,有提高驱动器读写效率,延长使用寿命的作用,当然设备一定要支持该命令才行。 fstrim [参数] |-a: 回收所有已挂载文件系统上的未使用空间 |
|-h: 显示帮助信息 |
|-l: 设置在多大范围内搜索空闲块 |
|-o: 设置文件系统上搜索空闲块的起点 |
|-v: 显示执行过程详细信息 | 示例1:
回收当前系统上所有已挂载的文件系统的未使用空间:
[root@linuxcool ~]# fstrim -a
示例2:
回收当前系统上所有已挂载的文件系统的未使用空间,并显示详细的过程:
[root@linuxcool ~]# fstrim -a -v 文件管理(file) 16 isosize isosize命令 – 输出iso9660文件系统的长度 使用isosize命令可以输出包含指定文件的iso9660文件系统的长度。该文件可以是正常的文件或块设备(比如/dev/hdd或/dev/sr0)。
文件可以是普通文件,也可以是块设备,如/dev/sr0或者/dev/sda。如果没有相关参数的规定,默认以字节的方式显示大小。该命令支持大于4G的文件系统。 isosize [参数] [iso9660镜像文件] |-x: 以可读的形式输出块的总数和块大小 |
|-d : 显示的结果是实际大小(字节表示)除了已指定的num。所以如果num表示“块”大小,则输出的结果将是块大小 |
|iso9660_image_file: 指定的iso9660文件系统 | 示例1:
查看/dev/cdrom文件的长度:
[root@linuxcool ~]# isosize /dev/cdrom
示例2:
显示扇区数和扇区大小:
[root@linuxcool ~]# isosize -x /dev/cdrom
示例3:
/以一块为“1024”个字节显示设备大小:
[root@linuxcool ~]# isosize -d 1024 /dev/cdrom 文件管理(file) 17 mtools mtools命令 – 显示mtools支持的指令 mtools为MS-DOS文件系统的工具程序,可模拟许多MS-DOS的指令。这些指令都是mtools的符号连接,因此会有一些共同的特性 。 mtools [参数] |-a: 长文件名重复时自动更改目标文件的长文件名 |
|-A: 短文件名重复但长文件名不同时自动更改目标文件的短文件名 |
|-o: 长文件名重复时,将目标文件覆盖现有的文件 |
|-O: 短文件名重复但长文件名不同时,将目标文件覆盖现有的文件 |
|-r: 长文件名重复时,要求用户更改目标文件的长文件名 |
|-R: 短文件名重复但长文件名不同时,要求用户更改目标文件的短文件名 |
|-s: 长文件名重复时,则不处理该目标文件 |
|-S: 短文件名重复但长文件名不同时,则不处理该目标文件 |
|-v: 执行时显示详细的说明 |
|-V: 显示版本信息 | 示例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 文件管理(file) 18 xlsfonts xlsfonts命令 – 显示X服务器字体列表 xlsfonts命令显示当前X服务器使用的字体列表,也能使用范本样式仅列出的符合条件的字体。
运行xlsfonts命令时要求启动本地X-Windows的图形界面后,在图形界面下的命令行中输入,否则将有错误提示。 xlsfonts [参数] |-l: 除字体名称外,同时列出字体的属性 |
|-ll: 此参数的效果和指定”l”参数类似,但显示更详细的信息 |
|-lll: 此参数的效果和指定”ll”参数类似,但显示更详细的信息 |
|-m: 配合参数”-l”使用时,一并列出字体大小的上下限 |
|-n<显示栏位数>: 设置每列显示的栏位数 |
|-o: 以OpenFont的形式列出字体清单 |
|-u: 列出字体清单时不依照其名称排序 |
|-w<每列字符数>: 设置每列的最大字符数 | 示例1:
显示使用的前五个字体列表:
[root@linuxcool ~]# xlsfonts | head -n 5
示例2:
以OpenFont形式同时显示字体名称及属性:
[root@linuxcool ~]# xlsfonts -lo
示例3:
同时显示字体名称及属性与大小上限:
[root@linuxcool ~]# xlsfonts -lm 文件管理(file) 19 kbdconfig kbdconfig命令 – 设置键盘类型 kbdconfig(Red HatLinux才有的指令)是一个用来设置键盘的程序,提供图形化的操作界面。kbdconfig实际上是修改/etc/sysconfig/keyboard的键盘配置文件。 kbdconfig [参数] |--back: 执行时将预设的Cancel按钮更改为Back按钮 |
|--test: 仅作测试,不会实际更改设置 | 示例1:
键盘设置:
[root@linuxcool ~]# kdbconfig 文件管理(file) 20 gdb gdb命令 – GUN程序调试器 gdb命令来自英文词组“GNU Debugger”的缩写,其功能是用于GNU程序调试。gdb命令是类UNIX系统下常见的程序调试工具,是Linux系统软件库gcc开发套件中的一员,掌握了以下十余个常用命令和参数,定能帮助您完成日常的基本程序调试工作。 gdb [参数] [文件名] |-a: 显示为地址 |
|-c: 显示为字符 |
|-cd: 设置工作目录 |
|-d: 添加文件查找路径 |
|-o: 显示为八进制数 |
|-q: 静默执行模式 |
|-f: 显示为浮点数 |
|-s: 显示为字符串 |
|-t: 显示为二进制数 |
|-u: 显示为无符号十六进制数 | 示例1:
开启gdb调试工具,进入到调试界面:
[root@linuxcool ~]#gdb(gdb)
示例2:
加载指定的二进制可执行程序:
[root@linuxcool ~]#gdb
(gdb)file File.out
示例3:
运行并追踪指定的二进制可执行程序:
[root@linuxcool ~]#gdb
(gdb)file File.out
(gdb)start 文件管理(file) 21 mysqldump mysqldump命令 – MySQL数据库备份 mysqldump命令是MySQL数据库中备份工具,用于将MySQL服务器中的数据库以标准的sql语言的方式导出,并保存到文件中。 mysqldump [参数] |-- -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服务器的用户名 | 示例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 文件管理(file) 22 vsish vsish命令 – vsan命令行 与vsish进行交互的方式有两种,您可以交互式地登录到VSI shell并执行ls,获取或设置操作,或者通过非交互模式执行相同的操作,是代替Procfs的强大命令。 vsish [参数] |ls: 显示所有的节点信息 |
|set: 设置vc配置 | 示例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 文件管理(file) 23 mysqldumpslow mysqldumpslow命令 – 显示慢查询日志文件摘要 使用mysqldumpslow命令可以解析慢查询日志文件,并显示其内容摘要。慢查询日志包含有关需要很长的时间来执行查询的信息。 mysqldumpslow [参数] [慢查询日志文件] |-I: 从总时间中不减去锁定时间 |
|-i: 指定服务器实例的名称 |
|-t: 查询时间 |
|-v: 显示详细信息 |
|-s: 是表示按照何种方式排序 |
|-r: 返回记录 |
|-d: 启用调试模式 | 示例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 文件管理(file) 24 la la命令 – 显示目录下所有文件 la命令来自英文词组“list all”的缩写,其功能是用于显示指定目录下的所有文件信息。la命令的作用等同于“ls -a”命令组合,用于显示当前目录下全部的文件列表,包含隐藏文件。 la 示例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 文件管理(file) 25 apt-key apt-key命令 – 管理APT软件包密钥信息 apt-key命令来自英文词组“APT-key”的拼写,其功能是用于管理APT软件包密钥信息。APT的全称为Advanced Packaging Tool,是DebianLinux系统中默认的软件管理工具,管理员可以使用apt-key命令对软件包密钥信息进行管理。 apt-key [参数] [密钥文件] |add: 加载新的密钥文件 |
|adv: 传递高级特性 |
|del: 从被信任的列表中删除指定密钥 |
|export keyed: 将指定密钥输出到标准输出设备 |
|exportall: 将所有密钥输出到标准输出设备 |
|finger: 显示被信任密钥的指纹信息 |
|list: 显示被信任密钥的列表 |
|update: 通过密钥包来更新密钥 | 示例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 文件管理(file) 26 mcopy mcopy命令 – 复制 MSDOS 格式文件到Linux中 mcopy命令用来复制 MSDOS 格式文件到Linux中,或是由 Linux 中复制 MSDOS [文件]到磁片上。
mcopy 可复制单一的文件到所指定的文件名称,或是复制数个文件到所指定的目录之中。来源与目的文件可为 MSDOS 或是 Linux [文件]。
mcopy指令是一种mtools工具指令,可以在DOS系统中复制文件或者在DOS与Linux操作系统之间进行文件复制。 mcopy [参数] [源文件] |-b: 批处理模式 |
|-n: 覆盖其他文件时,不需要进行确认而直接覆盖 |
|-m: 将源文件修改时间设置为目标文件的修改时间 |
|-p: 将源文件的属性设置为目标文件的属性 |
|-Q: 当复制多个文件产生错误时,尽快结束程序 |
|-t: 转换为文本文件 |
|-o: 在覆盖 MSDOS [文件]时不出现警示讯息 | 示例1:
将 A 盘根目录中的 autoexec.bat 复制到目前工作目录之下:
[root@linuxcool ~]# mcopy a:autoexec.bat
示例2:
当复制的内容包括子目录和文件时,必须使用参数”-/”递归操作:
[root@linuxcool ~]# mcopy -/ A:\* 文件管理(file) 27 chroot chroot命令 – 切换根目录 chroot命令来自英文词组“change root directory”的缩写,其功能是用于切换根目录。chroot命令的历史最早可被追溯到1979年的UNIX系统,后被引入到Linux系统中,Linux系统中的目录结构都是以/(即根目录)开始的,管理员可以使用chroot将根目录切换至其他位置。切换根目录后的Linux系统读取到的目录和文件将不再是旧系统根下的,而是新的根目录所对应路径下的目录和文件。
举例来说,对Vsftpd服务程序进行chroot操作后,其默认根目录(/)会被映射到某个指定的新目录,Vsftp将不能够对新目录外的文件进行访问操作,大大增强了服务器数据的安全性。 chroot [参数] [目录名] |--groups: 指定补充用户组 |
|--userspec: 指定用户及用户组 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例1:
切换到新的根目录路径:
[root@linuxcool ~]#chroot /usr 文件管理(file) 28 mkfs-minix mkfs.minix命令 – 建立Minix文件系统 mkfs.minix命令用来建立Minix文件系统。
Minix文件系统(英语:MINIX file system),一种文件系统,是Minix操作系统中的原生文件系统。 mkfs.minix [参数] |-c: 检查是否有损坏的区块 |
|-i: 指定文件系统的inode总数 |
|-l<文件>: 从指定的文件中,读取文件系统中损坏区块的信息 |
|-n<文件名长度>: 指定文件名称长度的上限 |
|-v: 建立第2版的Minix文件系统 | 示例1:
检查/目录下是否有损坏的区块:
[root@linuxcool ~]# mkfs.minix -c /
示例2:
指定文件系统的inode总数为5:
[root@linuxcool ~]# mkfs.minix -i 5
示例3:
读取test文件损坏信息:
[root@linuxcool ~]# mkfs.minix -l test 文件管理(file) 29 groff groff命令 – 编写手册页面 groff 是一套用GNU 实现troff 的程序。它还包括一个脚本,用来模仿nroff 和其他roff 家族。
groff命令以符号“.”开始,.TH 是标题每个手册页面只使用一次,它设置页面的标题、段号以及日期。NAME段的格式非常重要,。在.SH NAME的后面是命令的名称。“\-”也很重要,因为makewhatis,apropos以及man-k在搜索手册页面时依赖这种格式。
段以 .SH 开始,后跟标题。如果标题包含空格并且和 .SH 在同一行,则需在标题上加双引号。.TP指令创建一个带有起始标志的新段落。 其他的命令指定字体类型和大小。 groff [参数] |.B: 黑体 |
|.I: 下划线(或斜体) |
|.RI: 普通体和下划线(或斜体)交替 |
|.SM: 小号字(用于缩写) |
|.HP: 开始悬挂式缩进 | 示例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 文件管理(file) 30 mysql-install-db mysql_install_db命令 – 初始化MySQL数据目录 使用mysql_install_db命令可以初始化MySQL数据目录,并创建系统表。 mysql_install_db [参数] |--srcdir: MySQL源码目录的路径 |
|--rpm: 供内部使用 |
|--basedir: MySQL安装目录的路径 | 示例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 文件管理(file) 31 umount-nfs umount.nfs命令 – 卸载NFS文件系统 umount.nfs命令来自英文词组“unmount NFS”的缩写,其功能是用于卸载NFS文件系统。NFS全称是“Network File System”,中文译为“网络文件系统”,是Linux系统平台之间进行文件数据共享的常用服务,本地的用户可以直接读写远程NFS服务器上的文件内容,就像操作本地文件一样简单。 umount.nfs [参数] [共享目录名] |-f: 强制卸载文件系统而不询问 |
|-n: 不更新“/etc/mtab”文件 |
|-r: 使用只读模式 |
|-v: 显示详细信息 | 示例1:
卸载本地已挂载的指定NFS目录:
[root@linuxcool ~]#umount.nfs /Dir
示例2:
强制卸载本地已挂载的指定NFS目录:
[root@linuxcool ~]#umount.nfs -f /Dir
示例3:
将本地已挂载的指定NFS目录改为只读模式:
[root@linuxcool ~]#umount.nfs -r /Dir 文件管理(file) 32 mysqlbinlog mysqlbinlog命令 – 查看二进制日志文件 使用mysqlbinlog命令可以查看二进制日志文件,该日志文件里面记录着所有的的DDL和DML语句。 mysqlbinlog [参数] [日志文件] |-d: 为指定数据库列出条目 |
|--debug-info: 显示一些调试信息 |
|--protocol: 进行连接要使用的协议 |
|-D: 禁用二进制日志 | 示例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 文件管理(file) 33 dpkg-reconfigure dpkg-reconfigure命令 – 重新配置已安装的软件包 dpkg-reconfigure命令是Debianlinux中重新配置已经安装过的软件包,可以将一个或者多个已安装的软件包传递给此指令,它将询问软件初次安装后的配置问题。
当用户需要再次对软件包配置的时候,可以使用dpkg-reconfigure命令来对指定的软件包进行配置。 dpkg-reconfigure [参数] [软件包] |-a: 重新配置所有的软件包 |
|-u: 仅显示未提过的问题 |
|-- -default-priority: 使用默认优先级 |
|-- -force: 强制执行操作 |
|-- -no-reload: 不要轻易的重装模板 |
|-f: 指定 debconf 前端界面 |
|-p: 指定要显示的问题的最优先级 |
|-- -terse: 开启简要模式 | 示例1:
查询配置“bash”软件包:
[root@linuxcool ~]# dpkg-reconfigure bash
示例2:
重配置所有软件包:
[root@linuxcool ~]# dpkg-reconfigure -a 文件管理(file) 34 cupsaccept cupsaccept命令 – 接受作业发送到目的地 使用cupsaccept命令可以指示打印系统接受打印作业到指定的目的地。 cupsaccept [参数] [目的地] |-E: 当连接到服务器时强加密 |
|-U: 设置连接到服务器的用户名 | 示例1:
接受作业发送到目的地:
[root@linuxcool ~]# cupsaccept 文件管理(file) 35 ipcs ipcs命令 – 多进程间通信常用的工具 ipcs命令是用于报告Linux中进程间通信设施的状态,显示的信息包括消息列表、共享内存和信号量的信息 。 ipcs [参数] |-a: 默认的输出信息 |
|-m: 打印出使用共享内存进行进程间通信的信息 |
|-q: 打印出使用消息队列进行进程间通信的信息 |
|-s: 打印出使用信号进行进程间通信的信息 | 示例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 文件管理(file) 36 cdp cdp命令 – 播放CD音乐 cdp命令用于播放CD音乐。
声卡设置好了,可以在光驱中插入一张CD,用装载命令mount将光盘载入,然后输入cdp命令就可以播放了。在屏幕上可以看到CD的音轨清单,小键盘的9是播放,7是停止,6进到下一音轨,4退到前一音轨,0退出播放程序,2弹出CD,8是暂停。
如果是在X-Window中,可以用xplaycd播放CD,这是一个有图形界面的播放器,按钮及功能一目了然。 cdp [参数] |0: 退出播放程序 |
|2: 弹出CD |
|4: 退到前一音轨 |
|6: 进到下一音轨 |
|7: 停止 |
|8: 暂停 |
|9: 播放 | 示例1:
装载CD音乐:
[root@linuxcool ~]# mount /dev/cdrom
示例2:
播放CD音乐:
[root@linuxcool ~]# cdp 文件管理(file) 37 apropos apropos命令 – 在whatis数据库中查找字符串 apropos命令在一些特定的包含系统命令的简短描述的数据库文件里查找关键字,然后把结果送到标准输出。
如果你不知道完成某个特定任务所需要命令的名称,可以使用一个关键字通过Linuxapropos实用程序来搜索它。该实用程序可以搜索关键字并且显示所有包含匹配项的man页面的简短描述。另外,使用man实用程序和-k(关键字)选项,可以得到和用Linux apropos实用程序相同的结果(实际上是相同的命令)。 apropos [参数] [关键字] |-d: 输出调试信息 |
|-l: 不根据终端宽度缩减输出 |
|-w: 将每个keyword作为shell样式的通配符解释 | 示例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 文件管理(file) 38 strings strings命令 – 在对象文件或二进制文件中查找可打印的字符串 strings命令在对象文件或二进制文件中查找可打印的字符串。字符串是4个或更多可打印字符的任意序列,以换行符或空字符结束。 strings命令对识别随机对象文件很有用。 strings [参数] |-a: 扫描整个文件而不是只扫描目标文件初始化和装载段 |
|-f: 在显示字符串前先显示文件名 |
|-t: 输出字符的位置,基于八进制,十进制或者十六进制 | 示例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 文件管理(file) 39 extundelete extundelete命令 – 文件恢复工具 extundelete命令的功能是用于文件恢复。extundelete命令能够恢复分区中被意外删除的文件,在使用前,需要先将要恢复的分区卸载,以防数据被意外覆盖。
*刘遄老师实测,extundelete命令仅可恢复ext3与ext4格式系统中的文件。 extundelete [参数] [文件或目录名] |--after: 只恢复指定时间后被删除的文件 |
|--before: 只恢复指定时间前被删除的文件 |
|--help: 显示帮助信息 |
|--journal: 显示分区的日志信息 |
|--superblock: 显示分区的超级块信息 |
|--version: 显示版本信息 | 示例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 文件管理(file) 40 xwininfo xwininfo命令 – 窗口信息实用程序 xwininfo是一个显示windows信息的实用程序,根据选择的选项,将显示各种信息。如果未选择任何选项,则假定为-stats。 xwininfo [参数] |-int: 此选项指定所有X窗口ID都应显示为整数值,默认设置是将它们显示为十六进制值。 | 示例1:
使用xwininfo命令显示窗口信息实用程序:
[root@linuxcool ~]# xwininfo 文件管理(file) 41 source source命令 – 从指定文件中读取和执行命令 source命令的功能是用于从指定文件中读取和执行命令,通常用于被修改过的文件,使之新参数能够立即生效,而不必重启整台服务器。 source [文件名] 示例1:
读取和执行指定文件中的命令:
[root@linuxcool ~]#source ~/.bash_profile 文件管理(file) 42 mread mread命令 – mtools工具 mread命令用于将MS-DOS文件复制到Linux/Unix的目录中。
mread为mtools工具命令,可将MS-DOS文件复制到Linux的文件系统中。这个命令目前已经不常用,一般都使用mcopy命令来代替。 mread [参数] |[MS-DOS文件…]: 执行操作的DOS源文件或目录路径 |
|[Linux文件或目录]: 执行操作后的Linux目标文件或目录路径 | 示例1:
将盘”a:\”中的所有内容复制到当前工作目录下:
[root@linuxcool ~]# mread a:\* ./ 文件管理(file) 43 rpmquery rpmquery命令 – 查询信息 rpmquery命令使用多种依据从rpm数据库中查询软件包信息。 rpmquery [参数] |-qf: 查询指定的文件所属的软件包 |
|-q: 查询指定的软件包是否被安装 |
|-qd: 查询软件包中的文档文件 |
|-qi: 查询软件包的基本信息 | 示例1:
使用rpmquery命令查询指定文件所属的软件包:
[root@linuxcool ~]# rpmquery -qf /usr/bin/htpasswd
httpd-2.2.3-81.el5.centos 文件管理(file) 44 tmpwatch tmpwatch命令 – 删除暂存文件 执行tmpwatch指令可删除不必要的暂存文件,您可以设置文件超期时间,单位以小时计算 。 tmpwatch [参数] |-a: 删除任何类型的文件 |
|-f: 强制删除文件或目录,其效果类似rm指令的”-f”参数 |
|-q: 不显示指令执行过程 |
|-v: 详细显示指令执行过程 |
|-test: 仅作测试,并不真的删除文件或目录 | 示例1:
使用指令”tmpwatch”删除目录”/tmp”中超过一天未使用的文件,输入如下命令:
[root@linuxcool ~]# tmpwatch 24 /tmp/ 文件管理(file) 45 batch batch命令 – 指定时间执行任务 batch命令用于在指定时间,当系统不繁忙时执行任务,用法与at相似。
batch命令是在当系统负载水平允许时执行命令;换句话说,当负载平均值低于0.8或ATD调用中指定的值时。 batch [参数] |-f: 指定包含具体指令的任务文件 |
|-q: 指定新任务的队列名称 |
|-m: 任务执行完后向用户发送E-mail | 示例1:
指定任务执行的日期时间:
[root@linuxcool ~]# batch
at> echo 1234
at>
job 5 at Sun Apr 28 08:49:00 2013 文件管理(file) 46 cupsreject cupsreject命令 – 拒绝作业发送到目的地 使用cupsreject命令可以指示打印系统拒绝打印作业发送到指定的目的地。 cupsreject [参数] [目的地] |-E: 当连接到服务器时强制加密 |
|-U: 当连接到服务器时发送的用户名 | 示例1:
拒绝作业发送到目的地:
[root@linuxcool ~]# cupsreject 文件管理(file) 47 diffstat diffstat命令 – 显示统计数字 diffstat命令用于读取diff的输出结果,然后统计各文件的插入,删除,修改等差异计量 。 diffstat [参数] |-n: 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名 |
|-p: 与-n参数相同,但此处的<文件名长度>包括了文件的路径 |
|-w: 指定输出时栏位的宽度 |
|-V: 显示版本信息 | 示例1:
将目录”test1″和”test2″下的同名文件”testf.txt”使用diff指令进行比较。然后使用diffstat指令对结果进行统计显示:
[root@linuxcool ~]# diff test1 test2 | diffstat 文件管理(file) 48 xzcat xzcat命令 – 查看xz压缩文件的内容 xzcat命令可以查看xz压缩文件的内容。 xzcat [参数] [文件] |-z: 强制压缩 |
|-d: 强制解压缩 |
|-t: 测试压缩文件的完整性 |
|-l: 使用列表格式显示 |
|-k: 保留输入文件,不要删除 |
|-f: 强制操作 | 示例1:
查看压缩文件/root/tt.xz内容:
[root@linuxcool ~]# xzcat /root/tt.xz 文件管理(file) 49 xzcmp xzcmp命令 – 比较xz压缩文件 使用xzcmp命令可以调用cmp程序比较xz压缩文件 xzcmp [参数] [文件1] [文件2] 示例1:
比较xz压缩文件/root/a.xz和/root/b.xz:
[root@linuxcool ~]# xzcmp /root/a.xz /root/b.xz 文件管理(file) 50 autoheader autoheader命令 – 创建C定义的模板文件 使用autoheader命令可以为使用configure创建C定义的模板文件。在结尾处扫描模板文件,或configure.ac文件,或configure.ina文件 autoheader [参数] [模板文件] |-v: 详细报告处理过程 |
|-d: 不删除临时文件 |
|-f: 考虑所有文件过时 | 示例1:
创建C定义时的模板文件:
[root@linuxcool ~]# autoheader 文件管理(file) 51 sulogin sulogin命令 – 单用户登录 使用sulogin命令可以进行单用户登录,在启动时Shell将不会读取/etc/profile或$HOME/.profile文件。 sulogin [参数] |-p: 单用户Shell调用一个破折号作为参数中的第一个字符 |
|-t: 程序只会等待用户输入指定秒数 | 示例1:
进行单用户的登录:
[root@linuxcool ~]# sulogin 文件管理(file) 52 bzcmp bzcmp命令 – 比较.bz2压缩包中的文件 bzcmp命令主要功能是在不真正解压缩.bz2压缩包的情况下,比较两个压缩包中的文件,省去了解压缩后在调用cmp命令的过程。
bzcmp命令本身自己没有任何选项,但是可以使用cmp命令的相关参数,所有的参数将直接传递给cmp命令。在使用bzcmp命令时,会在临时目录/tmp下生成解压后的文件以供cmp命令使用。完毕后删除此临时文件。 bzcmp [参数] [文件1] [文件2] |--help: 显示帮助 |
|-v: 显示版本信息 |
|-s: 不显示错误信息 |
|-l: 标示出所有不一样的地方 |
|-i: 指定一个数目 |
|-c: 除了标明差异处的十进制字码之外,一并显示该字符所对应字符 | 示例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 文件管理(file) 53 7z 7z命令 – 文件解压缩命令 7z命令的功能是对文件进行解压缩操作。7-z命令是Linux系统中常用的解压缩工具,7z也是一种压缩格式,具备较高的压缩比率,对文本文件尤其有效。 7z [参数] [文件名] |a: 向压缩包中添加文件 |
|d: 从压缩包中删除文件 |
|e: 从压缩包中提取文件 |
|l: 显示压缩包内文件列表 |
|u: 更新压缩包中的文件 |
|x: 解压文件时保留绝对路径 | 示例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 文件管理(file) 54 minfo minfo命令 – 显示MS-DOS文件系统的各项参数 minfo命令用于显示MS-DOS文件系统的各项参数。
minfo为mtools工具指令,可显示MS-DOS系统磁盘的各项参数,包括磁区数,磁头数…等。 minfo [参数] |-v: 除了一般信息外,并显示可开机磁区的内容 | 示例1:
显示DOS系统参数:
[root@linuxcool ~]# minfo -v C: 文件管理(file) 55 xsetwacom xsetwacom命令 – 查询和修改wacom驱动程序设置 xsetwacom命令是用来查询或更改wacom驱动程序加载的设备上的属性,属性的修改在运行时发生,并且在X服务器重新启动时不持久。 xsetwacom [参数] |--list: 显示wacom设备驱动 |
|-v: 启用详细输出,用于调试 | 示例1:
使用--list列出wacom设备驱动:
[root@linuxcool ~]# xsetwacom --list devices
示例2:
显示可以设置那些参数:
[root@linuxcool ~]# xsetwacom --list parameters
示例3:
获取设备并添加到安装列表中:
[root@linuxcool ~]# xsetwacom --get 'DEVICE-NAME' all 文件管理(file) 56 rpm rpm命令 – RPM软件包管理器 rpm命令来自英文词组redhat package manager的缩写,中文译为“红帽软件包管理器”,其功能是在Linux系统下对软件包进行安装、卸载、查询、验证、升级等工作,常见的主流系统(如RHEL、CentOS、Fedora等)都采用这种软件包管理器,推荐用固定搭配“rpm-ivh [软件包名]”安装软件,而卸载软件则用固定搭配“rpm -evh [软件包名]”,简单好记又好用。 rpm [参数] [软件包名] |-a: 显示所有软件包 |
|-c: 仅显示组态配置文件 |
|-d: 仅显示文本文件 |
|-e: 卸载软件包 |
|-f: 显示文件或命令属于哪个软件包 |
|-h: 安装软件包时显示标记信息 |
|-i: 安装软件包 |
|-l: 显示软件包的文件列表 |
|-q: 显示指定软件包是否已安装 |
|-R: 显示软件包的依赖关系 |
|-s: 显示文件状态信息 |
|-U: 升级软件包 |
|-v: 显示执行过程信息 |
|-vv: 显示执行过程详细信息 | 示例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%] 文件管理(file) 57 echo echo命令 – 输出字符串或提取后的变量值 echo命令的功能是在终端设备上输出指定字符串或变量提取后的值,能够给用户一些简单的提醒信息,亦可以将输出的指定字符串内容同管道符一起传递给后续命令作为标准输入信息进行二次处理,还可以同输出重定向符一起操作,将信息直接写入文件。如需提取变量值,需在变量名称前加入$符号,变量名称一般均为大写形式。 echo [参数] [字符串或$变量名] |-e “\a”: 发出警告音 |
|-e “\b”: 删除前面的一个字符 |
|-e “\c”: 结尾不加换行符 |
|-e “\f”: 换行后光标仍停留在原来的位置 |
|-e “\n”: 换行后光标移至行首 |
|-E: 禁止反斜杠转义 |
|-n: 不输出结尾的换行符 |
|--version: 显示版本信息 |
|--help: 显示帮助信息 | 示例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 文件管理(file) 58 getopt getopt命令 – 解析命令行选项 getopt命令用于解析命令行选项,检测给定的选项是否合法。在此命令中,选项部分主要用于影响getopt命令解析选项,其中optstring是需要解析的合法选项的字符串,paramenters通常是一组变量,用于存储从命令行获取的每个选项及参数。 getopt [参数] |-a: 允许长选项以单个字符”-“开始 |
|-n: 指定一个程序,供getopt(3)函数输出错误信息时使用 |
|-o: 识别单字符的短选项 |
|-q: 禁止输出错误信息 | 示例1:
检查提供的参数列表(-a -b test1 -cd test2 test3),并基于提供的optstring进行解析 :
[root@linuxcool ~]# getopt ab:cd -a -b test1 -cd test2 test3 文件管理(file) 59 grub-md5-crypt grub-md5-crypt命令 – 对GRUB 的密码进行加密 MD5,一种被广泛使用的密码散列函数,可以产生出一个128位的散列值(hash value),用于确保信息传输完整一致。MD5算法的原理可简要的叙述为:MD5码以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。
使用grub-md5-crypt命令可以以MD5格式对GRUB 的密码进行添加加密口令。 grub-md5-crypt [参数] |--grub-shell=<文件>: 使用指定文件作为GRUB | 示例1:
生成MD5加密口令:
[root@linuxcool ~]# grub-md5-crypt
示例2:
编辑grub配置文件:
[root@linuxcool ~]# vi /etc/grub.conf
password --md5 $1$xdRKQ/$43ZXGkk1yziGE12Vlqgg71 文件管理(file) 60 bunzip2 bunzip2命令 – bz2文件的解压缩程序 bunzip2可解压缩.bz2格式的压缩文件。bunzip2实际上是bzip2的符号连接,执行bunzip2与bzip2 -d的效果相同。 bunzip2 [参数] |-f: 解压缩时,若输出的文件与现有文件名时,预设不会覆盖现有的文件。若要覆盖,请使用此参数 |
|-k: 在解压缩后,预设会删除原来的压缩文件。若要保留压缩文件,请使用此参数 |
|-s: 降低程序执行时,内存的使用量 |
|-v: 解压缩文件时,显示详细的信息 |
|-L: 显示版本信息 | 示例1:
解压.bz2文件:
[root@linuxcool ~]# bunzip2 -v temp.bz2 文件管理(file) 61 aureport aureport命令 – 生成审计信息报表 使用aureport命令可以生成审计信息的报表,必须以root用户执行。如果执行aureport命令时没有使用任何选项,那么会显示汇总报表。 aureport [参数] |-t: 日志时间范围报表 |
|-r: 关于异常事件响应的报表 |
|-x: 关于可执行文件的报表 | 示例1:
显示日志时间的范围报表:
[root@linuxcool ~]# aureport -t 文件管理(file) 62 dpkg-trigger dpkg-trigger命令 – 软件包触发器 dpkg-trigger命令是Debianlinux下的软件包触发器。 dpkg-trigger命令只能应用在维护者脚本中,或者必须使用“- -- by-package”参数。 dpkg-trigger [参数] [触发器] |-- -check-supported: 检查运行的dpkg是否支持触发器,返回值为0,则支持触发器 |
|-- -help: 显示帮助信息 |
|-- -admindir=<目录>: 设置dpkg数据库所在的目录 |
|-- -no-act: 仅用于测试,不执行任何操作 |
|-- -by-package=<软件包>: 覆盖触发器等待者 | 示例1:
在命令行中运行dpkg-trigger:
[root@linuxcool ~]# dpkg-trigger nowait
dpkg-trigger: 错误: 必须从维护者脚本中调用(或者通过 --by-package 选项) 文件管理(file) 63 mdir mdir命令 – 显示MS-DOS目录 mdir为mtools工具指令,模拟MS-DOS的dir指令,可显示MS-DOS文件系统中的目录内容。 mdir [参数] [目录] |-/: 显示目录下所有子目录与文件 |
|-a: 显示隐藏文件 |
|-f: 不显示磁盘所剩余的可用空间 |
|-w: 仅显示目录或文件名称,并以横排方式呈现,以便一次能显示较多的目录或文件 |
|-X: 仅显示目录下所有子目录与文件的完整路径,不显示其他信息 | 示例1:
显示a盘中的内容:
[root@linuxcool ~]# mdir -/ a:\*
示例2:
显示d盘中的隐藏文件:
[root@linuxcool ~]# mdir -a d:\*
示例3:
显示d盘目录,并以横排方式呈现:
[root@linuxcool ~]# mdir -W d:\* 文件管理(file) 64 setfacl setfacl命令 – 设置文件ACL策略规则 setfacl命令来自英文词组set file access control list的缩写,其功能是设置文件ACL策略规则。FACL即文件访问控制列表策略,通过该技术可以更加精准地控制权限的分配,例如仅允许某个用户访问指定目录,或仅有某个用户才具有写入权限。把权限约束在一个极小的范围内,系统也就更加安全了。 setfacl [参数] [文件或目录名] |-b: 清空扩展访问控制列表策略 |
|-d: 应用到默认访问控制列表 |
|-k: 移除默认访问控制列表 |
|-L: 跟踪符号链接文件 |
|-m: 更改文件访问控制列表策略 |
|-R: 递归处理所有子文件 |
|-x: 根据文件中的访问控制列表移除指定策略 |
|--help: 显示帮助信息 |
|--vesion: 显示版本信息 | 示例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 文件管理(file) 65 restore restore命令 – 还原备份 restore命令用来还原由dump操作所备份下来的文件或整个文件系统(一个分区)。 restore [参数] [文件] |-b: 设置区块大小,单位是Byte |
|-c: 不检查dump操作的备份格式,仅准许读取使用旧格式的备份文件 |
|-C: 使用对比模式,将备份的文件与现行的文件相互对比 |
|-D: 允许用户指定文件系统的名称 |
|-f: <备份文件> 从指定的文件中读取备份数据,进行还原操作 |
|-h: 仅解出目录而不包括与该目录相关的所有文件 |
|-i: 使用互动模式,在进行还原操作时,restore指令将依序询问用户 |
|-m: 解开符合指定的inode编号的文件或目录而非采用文件名称指定 |
|-r: 进行还原操作 |
|-R: 全面还原文件系统时,检查应从何处开始进行 |
|-s: 当备份数据超过一卷磁带时,您可以指定备份文件的编号 |
|-t: 指定文件名称,若该文件已存在备份文件中,则列出它们的名称 |
|-v: 显示指令执行过程 |
|-x: 设置文件名称,且从指定的存储媒体里读入它们,若该文件已存在在备份文件中,则将其还原到文件系统内 |
|-y: 不询问任何问题,一律以同意回答并继续执行指令 | 示例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 文件管理(file) 66 audit-viewer audit-viewer命令 – 查看和总结审计事件的图形工具 使用audit-viewer命令可以查看和总结审计事件。 audit-viewer 示例1:
打开审计查看器:
[root@linuxcool ~]# audit-viewer 文件管理(file) 67 whereis whereis命令 – 显示命令及相关文件的路径位置 whereis命令的功能是显示命令及相关文件的路径位置信息,可用于找到命令(二进制程序)、命令源代码、man帮助手册等相关文件的路径位置信息,帮助我们更好地管理这些文件。
有别于find命令进行的全盘搜索,whereis命令的查找速度非常快,因为它不是在磁盘中乱找,而是在指定数据库中查询,该数据库是Linux系统自动创建的,包含本地所有文件的信息,每天自动更新一次。但也正因为这样,whereis命令的搜索结果会不及时,比如刚添加的文件可能搜不到,原因就是该数据库文件还没有更新,管理人员需手动执行updatedb命令进行更新。 whereis [参数] [命令名] |-b: 查找二进制程序或命令文件 |
|-m: 查找man帮助手册文件 |
|-u: 查找可执行文件、源代码及帮助文档 | 示例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 文件管理(file) 68 readlink readlink命令 – 找出符号链接所指向的位置 readlink命令来自英文词组“read link”的拼写,中文译为“读取链接”,其功能是用于找出符号链接所指向的位置。常用Linux系统的运维人员一定熟悉ln命令和软硬链接吧,这是一种类似于“Windows系统快捷方式”的文件形式,让用户可以从不同路径下访问到指定文件。而readlink命令则是用于找出这些软链接文件所对应真实位置的工具,还原其最初的信息。 readlink [参数] [文件名] |-f: 递归处理所有子文件 |
|-n: 输出结果后不自动回车换行 |
|-s: 静默执行模式 |
|-v: 显示执行过程详细信息 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例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 ~]# 文件管理(file) 69 zcat zcat命令 – 查看压缩文件的内容 zcat命令来自英文词组“zip cat”的缩写,其功能是用于查看压缩文件的内容。zcat命令可以在不真正解压文件的情况下查看到文件内容,类似于gunnzip -c命令组合的作用。 zcat [参数] [压缩包] |-1: 更快的压缩速度 |
|-9: 更高的压缩比 |
|-a: 使用ASCII文本模式 |
|-c: 将文件内容写入标准输出 |
|-d: 执行解压缩操作 |
|-f: 强制压缩或解压缩而不询问 |
|-h: 显示帮助信息 |
|-l: 显示压缩包中文件的列表 |
|-L: 显示软件许可信息 |
|-n: 压缩时不保存源文件名和时间戳 |
|-N: 压缩时始终保存源文件名和时间戳 |
|-q: 静默执行模式 |
|-r: 递归处理所有子文件 |
|-S: 设置压缩包非标准后缀 |
|-t: 检查压缩包的完整性 |
|-V: 显示版本信息 | 示例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 文件管理(file) 70 chacl chacl命令 – 更改文件或目录的ACL chacl命令的作用是用来更改文件或目录的访问控制列表。chacl命令和chmod有异曲同工之妙。但是chacl命令比chmod更为强大,更为精细。 chacl [参数] [文件或目录] |-b: 表示改变两个ACL,第一个是文件访问ACL,第二个是目录的默认ACL |
|-d: 只设置目录的ACL |
|-R: 只清除文件的ACL |
|-D: 只清除目录的默认ACL |
|-l: 列出访问ACL和可能与指定的文件或目录关联的默认ACL |
|-B: 清除所有的ACL |
|-r: 递归设置访问ACL | 示例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 文件管理(file) 71 crlutil crlutil命令 – 列出、生成、修改或删除NSS安全数据库文件中的CRL crlutil命令列出、生成、修改或删除NSS安全数据库文件中的CRL,并列出、创建、修改或删除特定CRL中的证书项。 crlutil [参数] |-D: 从证书数据库中删除证书吊销列表 |
|-E: 从证书数据库中删除指定类型的所有CRL |
|-G: 创建新证书吊销列表(CRL) |
|-I: 导入到CRL到证书数据库 |
|-L: 列出位于证书数据库文件中的现有CRL | 示例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 文件管理(file) 72 getfacl getfacl命令 – 显示文件或目录的ACL策略 getfacl命令来自英文词组get file access control list的缩写,其功能是显示文件或目录的ACL策略。对指定的文件或目录进行精准的权限控制,FACL(File Access Control List,文件访问控制列表)一定是不二之选,快用getfacl命令看看文件都有哪些权限吧! getfacl [参数] [文件或目录名] |-a: 显示文件的ACL策略 |
|-c: 不显示注释标题 |
|-d: 显示目录的ACL策略 |
|-e: 显示所有的有效权限 |
|-h: 显示帮助信息 |
|-L: 找到符号链接对应的文件 |
|-P: 不找符号链接对应的文件 |
|-R: 递归处理所有子文件 |
|-t: 设置表格输出格式 |
|-v: 显示版本信息 | 示例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-- 文件管理(file) 73 arptables-save arptables-save命令 – 保存ARP表 使用arptables-save命令可以转储ARP表中的内容,已便于以解析的格式输出到标准输出中。 arptables-save [参数] |-c: 在输出中包含的所有数据包和字节计数器的当前值 |
|-t: 限制输出只有一个表,如果没有指定,输出包括所有的可用表 | 示例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 文件管理(file) 74 basename basename命令 显示文件路径名的基本文件名 basename命令主要用于显示文件路径名剔除目录部分后的显示文件名。如何指定了后缀参数suffix,同时也删除文件的扩展名。其中,name是文件的路径名,suffix是文件名的后缀。 basename [参数] |--help: 显示命令的简单说明与用法等帮助信息,然后退出 |
|--version: 显示命令的版本与作者等信息,然后退出 | 示例1:
显示文件路径名/usr/bin/sort的基本文件名sort:
[root@linuxcool ~]# basename /usr/bin/sort 文件管理(file) 75 cdplay cdplay命令 – CD播放工具 cdplay命令用于CD播放工具。
cdplay命令实际上就是一款cd播放软件,比如CD PLAYER,就是我们在日常生活中常说的CD播放器。 cdplay [参数] |–s: 随机播放 |
|–b: 后台运行模式 |
|–d: 显示当前正在播放的CD的所有相关信息 |
|-tn: 第几首歌曲,n代表数字 | 示例1:
随机播放一首CD上的歌曲:
[root@linuxcool ~]# cdplay –s
示例2:
以后台运行模式播放CD上的第8首歌曲:
[root@linuxcool ~]# cdplay –b –t8
示例3:
显示当前正在播放的CD的所有相关信息:
[root@linuxcool ~]# cdplay –d 文件管理(file) 76 sz sz命令 – 基于ZModem协议下载文件到本地 sz命令来自英文词组send Zmodem的缩写,其功能是基于Zmodem协议从远程服务器下载文件到本地。当我们在使用Xshell、SecureCRT、PuTTY等虚拟终端软件时,可以使用sz命令将远程文件直接下载到本地,在软件弹出的窗口选择本地保存路径即可。
若您的系统中找不到sz与rz命令,请配置好软件仓库后执行yum install lszrz命令即可。 sz [参数] [文件名] |+: 将数据写入到文件中 |
|-a: 以文本方式传输 |
|-b: 以二进制方式传输 |
|-c: 发送命令到服务器 |
|-C: 设置发送命令的最大次数 |
|-D: 将发送路径中所有点号“.”改成斜杠“/” |
|-e: 对控制字符进行转义操作 |
|-f: 发送完整的路径名 |
|-h: 显示帮助信息 |
|-i: 在接收端执行命令 |
|+: 将数据写入到文件中 |
|-L: 设置Zmodem子包的长度 |
|-n: 如果当前文件较新,则覆盖原始文件 |
|-p: 若目标文件存在,则保留,不要覆盖 |
|-q: 静默执行模式 |
|-r: 恢复中断的文件传输 |
|-R: 限制使用目录路径 |
|-S: 启用支持TimeSync协议 |
|-v: 显示执行过程详细信息 |
|-X: 使用Xmodem协议 | 示例1:
下载指定的某个文件:
[root@linuxcool ~]# sz File.cfg
…………弹出窗口中选择本地保存路径即可…………
示例2:
以文本方式批量下载指定的多个文件:
[root@linuxcool ~]# sz -a /Dir/*
…………弹出窗口中选择本地保存路径即可…………
示例3:
以二进制方式下载指定的某个文件:
[root@linuxcool ~]# sz -b File.tar.gz
…………弹出窗口中选择本地保存路径即可………… 文件管理(file) 77 ld ld命令 – GUN连接器 ld命令是GNU的连接器,将目标文件连接为可执行程序。
很少单独使用ld命令对目标进行连接操作,通常都是使用gcc命令在编译后自动进行连接。 ld [参数] |-o: 指定输出文件名 |
|-e: 指定程序的入口符号 | 示例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 文件管理(file) 78 rlogin rlogin命令 – 远端登入 rlogin命令用于远端登入。执行rlogin指令开启终端机阶段操作,并登入远端主机。 rlogin [参数] |-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的认证 | 示例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: 文件管理(file) 79 return return命令 – 从函数中退出并返回数值 return命令的作用是使得shell函数退出并返回数值,如果没有指定n的值,则默认为函数最后一条命令执行的返回状态。
返回值为你指定的参数n的值,如果你指定的参数大于255或小于0,那么会通过加或减256的方式使得返回值总是处于0到255之间。在函数外执行return语句会返回失败。
就bash而言, return命令只能用在函数中,不能直接用在脚本中
内置命令return用于从函数中返回, return命令在函数中不是必须的,函数被调用时,函数内的命令执行完成后自然会返回到调用它的地方(一般是返回到主程序)。如果某函数中有return命令,执行到return时就返回。如果return在函数中不是最后一条命令,那么return后面的其他命令不再执行。 return [参数] |n: 整数 | 示例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;
} 文件管理(file) 80 inncheck inncheck命令 – 检查语法 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。 inncheck [参数] |-a: 不管是否出现[文件]参数,仍然检查全部的配置文件 |
|-f: 若发现配置文件有误,则列出可修正错误的指令 |
|-v: 执行时显示详细的信息 |
|-pedantic: 以较为严格的方式来检查 |
|-perm: 检查文件权限是否有误 |
|--noperm: 不检查文件的权限设置 | 示例1:
检查全部的配置文件:
[root@linuxcool ~]# inncheck -a
示例2:
检查user.ini文件时显示详细的信息:
[root@linuxcool ~]# inncheck -v user.ini
示例3:
检查user.ini文件并输出可修正错误:
[root@linuxcool ~]# inncheck -f user.ini 文件管理(file) 81 umount umount命令 – 卸载文件系统 umount命令的功能是卸载文件系统。与mount挂载命令需要同时提供设备名与挂载目录不同,umount卸载命令只需要提供设备名或挂载目录之一即可。 umount [参数] 设备或目录名 |-a: 卸载/etc/mtab文件中记录的所有设备 |
|-F: 强制卸载设备而不询问 |
|-h: 显示帮助信息 |
|-n: 卸载时不要将信息写入/etc/mtab文件中 |
|-t: 仅卸载指定的文件系统 |
|-v: 显示执行过程详细信息 |
|-V: 显示版本信息 | 示例1:
卸载指定的文件系统:
[root@linuxcool ~]# umount /dev/sdb
示例2:
卸载指定的文件系统并显示过程:
[root@linuxcool ~]# umount -v /dev/cdrom
umount: /media/cdrom (/dev/sr0) unmounted 文件管理(file) 82 nntptest nntptest命令 – 交互式NNTP测试程序 使用nntptest命令可以进行交互式NNTP测试。它允许验证到一个NNTP服务器和交互式发出命令给它。一旦通过验证可以通过简单地键入而发出任何NNTP命令。 nntpstest [参数] [主机名] |-p: 指定连接的端口 |
|-t: 启用TLS。 |
|-u: 指定用来认标识使用许可的用户 | 示例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 文件管理(file) 83 grep grep命令 – 强大的文本搜索工具 grep命令来自英文词组global search regular expression and print out the line的缩写,意思是用于全面搜索的正则表达式,并将结果输出。人们通常会将grep命令与正则表达式搭配使用,参数作为搜索过程中的补充或对输出结果的筛选,命令模式十分灵活。
与之容易混淆的是egrep命令和fgrep命令。如果把grep命令当作标准搜索命令,那么egrep则是扩展搜索命令,等价于grep -E命令,支持扩展的正则表达式。而fgrep则是快速搜索命令,等价于grep -F命令,不支持正则表达式,直接按照字符串内容进行匹配。 grep [参数] [文件名] |-b: 显示匹配行距文件头部的偏移量 |
|-c: 只显示匹配的行数 |
|-E: 支持扩展正则表达式 |
|-F: 匹配固定字符串的内容 |
|-h: 搜索多文件时不显示文件名 |
|-i: 忽略关键词大小写 |
|-l: 只显示符合匹配条件的文件名 |
|-n: 显示所有匹配行及其行号 |
|-q: 静默执行模式 |
|-r: 递归搜索模式 |
|-s: 不显示没有匹配文本的错误信息 |
|-v: 显示不包含匹配文本的所有行 |
|-w: 精准匹配整词 | 示例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 文件管理(file) 84 mkntfs mkntfs命令 – 创建 NTFS文件系统 mkntfs用于在设备上(通常是磁盘分区或文件)创建 NTFS [文件]系统。device操作数是对应于设备的特殊文件,例如 /dev/dsk/c0d0p0。number-of-sectors操作数是设备上的块的数目。如果省略,则 mkntfs 将自动计算文件系统大小。 mkntfs [参数] |–C: 在卷上启用压缩 |
|–f、–-fast或 –q、–-quick: 执行快速格式化,此选项会跳过卷的零位调整和坏扇区检查 |
|–L、–-label: 设置文件系统的卷标签 |
|–n、–-no-action: mkntfs不实际创建文件系统,但显示它创建文件系统时将执行的工作 |
|-c: 以字节为单位指定簇的大小 |
|–p、–-partition: 指定分区开始扇区 |
|-f/--force: 强制执行mkntfs |
|–v: 详细模式执行 | 示例1:
启用压缩:
[root@linuxcool ~]# mkntfs -C
示例2:
在压缩时候输出详细信息:
[root@linuxcool ~]# mkntfs -v
示例3:
设置文件系统的卷标签为string:
[root@linuxcool ~]# mkntfs -L string 文件管理(file) 85 fgrep fgrep命令 – 为文件搜索文字字符串 fgrep命令的作用是用来搜索file参数指定的输入文件(缺省为标准输入)中的匹配模式的行。fgrep [命令]特别搜索Pattern参数,它们是固定的字符串。如果在File [参数]中指定一个以上的文件fgrep命令将显示包含匹配行的文件。
fgrep命令 作用与grep和egrep命令不同,因为它搜索字符串而不是搜索匹配表达式的模式。fgrep命令使用快速的压缩算法。$, *, [, |, (, )和\等字符串被fgrep命令按字面意思解释。这些字符并不解释为正则表达式。
如果没有指定文件,fgrep命令假定标准输入。一般,找到的每行都复制到标准输出中去。如果不止一个输入文件,则在找到的每行前打印文件名。
fgrep有以下相关属性: fgrep [参数] |-b: 在找到的每行之前添加行所在的块编号 |
|-c: 仅显示匹配行的计数 |
|-e: 指定模式 |
|-f: 指定包含字符串的文件 |
|-h: 当多个文件被处理时隐藏文件名 |
|-i: 当进行比较时忽略字母的大小写 |
|-l: 只列出包含匹配行的文件名(一次) |
|n: 将文件中每行的相对行号置于行前 |
|-pSeparator: 显示包含匹配行的整个段落 |
|-q: 禁止所有写入到标准输出的操作,不管是否为匹配行 |
|-s: 仅显示出错消息 |
|-v: 显示除了匹配特定模式的行以外的所有行 |
|-w: 执行单词搜索 |
|-x: 显示匹配模式的行,要求无额外的字符 |
|-y: 当进行比较时忽略字符的大小写 | 示例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 文件管理(file) 86 zmore zmore命令 – 查看压缩文件 使用zmore命令可以查看gzip、zip、compress压缩文件。 zmore [文件名] 示例1:
查看压缩文件/root/a.gz:
[root@linuxcool ~]# zmore /root/a.gz 文件管理(file) 87 mtoolstest mtoolstest命令 – 测试并显示mtools的相关设置 mtoolstest为mtools工具指令,可读取与分析mtools的配置文件,并在屏幕上显示结果 。 mtoolstest 示例1:
在命令行中直接输入mtoolstest,即可显示mtools软件包当前的配置信息,结果如下:
[root@linuxcool ~]# mtoolstest 文件管理(file) 88 find find命令 – 根据路径和条件搜索指定文件 find命令的功能是根据给定的路径和条件查找相关文件或目录,其参数灵活方便,且支持正则表达式,结合管道符后能够实现更加复杂的功能,是Linux系统运维人员必须掌握的命令之一。
find命令通常进行的是从根目录(/)开始的全盘搜索,有别于whereis、which、locate等有条件或部分文件的搜索。对于服务器负载较高的情况,建议不要在高峰时期使用find命令的模糊搜索,这会相对消耗较多的系统资源。 find [路径] [条件] [文件名] |-name: 匹配文件名 |
|-perm: 匹配文件权限 |
|-user: 匹配文件所属主 |
|-group: 匹配文件所属组 |
|-mtime: 匹配最后修改文件内容时间 |
|-atime: 匹配最后读取文件内容时间 |
|-ctime: 匹配最后修改文件属性时间 |
|-nogroup: 匹配无所属组的文件 |
|-newer: 匹配比指定文件更新的文件 |
|-type: 匹配文件类型 |
|-size: 匹配文件大小 |
|-prune: 不搜索指定目录 |
|-exec…… {}\;: 进一步处理搜索结果 | 示例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 {} \; 文件管理(file) 89 inotifywait inotifywait命令 – 异步文件系统监控 inotifywait命令作用是用来收集有关文件访问信息。
linux发行版一般没有包括这个命令,需要安装inotify-tools,这个命令还需要将inotify支持编译入linux内核,目前大多数linux发行版都在内核中启用了inotify。 inotifywait [参数] |-m: 持续监视变化 |
|-r: 使用递归形式监视目录 |
|-q: 减少冗余信息,只打印出需要的信息 |
|-e<事件>: 指定要监视的事件列表 |
|-- -timefmt: 指定时间的输出格式 |
|-- -format: 指定文件变化的详细信息 | 示例1:
持续监听/linuxcool目录的变化:
[root@linuxcool ~]# inotifywait -m /linuxcool
示例2:
监听/linuxcool目录下左右子目录的变化:
[root@linuxcool ~]# inotifywait -mr /linuxcool
示例3:
监听/linuxcool目录发生的指定事件:
[root@linuxcool ~]# inotifywait -e move /linuxcool 文件管理(file) 90 which which命令 – 查找命令文件 which命令的功能是查找命令文件,能够快速搜索二进制程序所对应的位置。如果我们既不关心同名文件(find与locate),也不关心命令所对应的源代码和帮助文件(whereis),仅仅是想找到命令本身所在的路径,那么这个which命令就太合适了。 which [参数] [文件名] |-a: 显示PATH变量中所有匹配的可执行文件 |
|-n: 设置文件名长度(不含路径) |
|-p: 设置文件名长度(含路径) |
|-V: 显示版本信息 |
|-w: 设置输出时栏位的宽度 |
|--read-functions: 从标准输入中读取shell函数定义 |
|--show-tilde: 使用波浪线代替路径中的家目录 |
|--skip-dot: 跳过PATH变量中以点号开头的目录 | 示例1:
查找某个指定命令文件的所在位置:
[root@linuxcool ~]# which reboot
/usr/sbin/reboot
示例2:
查找多个指定命令文件的所在位置:
[root@linuxcool ~]# which shutdown poweroff
/usr/sbin/shutdown
/usr/sbin/poweroff 文件管理(file) 91 sort sort命令 – 对文件内容进行排序 sort命令的功能是对文件内容进行排序。有时文本中的内容顺序不正确,一行行地手动修改实在太麻烦了。此时使用sort命令就再合适不过了,它能够对文本内容进行再次排序。 sort [参数] [文件名] |-b: 忽略每行前面出现的空格字符 |
|-c: 检查文件是否已经按照顺序排序 |
|-d: 除字母、数字及空格字符外,忽略其他字符 |
|-f: 将小写字母视为大写字母 |
|-h: 以更易读的格式输出信息 |
|-i: 除40~176之间的ASCII字符外,忽略其他字符 |
|-k: 设置需要排序的列号 |
|-m: 将几个排好序的文件进行合并 |
|-M: 将前面3个字母依照月份的缩写进行排序 |
|-o: 将排序后的结果写入指定文件 |
|-r: 以相反的顺序排序 |
|-R: 依据随机哈希值进行排序 |
|-t: 设置排序时所用的栏位分隔符 |
|-T: 设置临时目录 |
|-z: 使用0字节结尾,而不是换行 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例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
………………省略部分输出信息……………… 文件管理(file) 92 wc wc命令 – 统计文件的字节数、单词数、行数 wc命令来自英文词组word count的缩写,其功能是统计文件的字节数、单词数、行数等信息,并将统计结果输出到终端界面。利用wc命令可以很快地计算出准确的单词数及行数,评估出文本的内容长度。要想了解一个文件,不妨先使用一下wc命令吧! wc [参数] [文件名] |-c: 统计字节数 |
|-l: 统计行数 |
|-L: 设置最长行的长度 |
|-m: 统计字符数 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例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 文件管理(file) 93 smbget smbget命令 – 下载samba共享资源 smbget命令来自英文词组“Samba get”的缩写,其功能是用于下载samba共享资源。smbget命令可以通过SMB协议下载远程文件,使用原理和方法类似于wget命令。 smbget [参数] [远程文件名] [本地文件名] |-o: 写入到指定文件 |
|-O: 写入到标准输出 | 示例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 文件管理(file) 94 mkfs-msdos mkfs.msdos命令 – 建立DOS文件系统 mkfs.msdos命令用于建立DOS文件系统。与mkdosfs命令功能相同。
DOS时代中就有了“目录”一术语,而目录是树型结构的,打开一个“文件夹”,里面可能继续会有次文件夹,再打开次文件夹,以后可能还会有文件夹,所以DOS文件系统其实就是一种树型结构。 mkfs.msdos [参数] |-c: 建立档案系统之前先检查是否有坏轨 |
|-l: 从得定的档案中读取坏轨记录 |
|-f: 指定档案配置表的数量 |
|-F: 指定 FAT 表的大小,通常是 12 或是 16 个位元组 |
|-n: 指定 Volume Name,即磁碟标签 | 示例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 文件管理(file) 95 e2label e2label命令 – 设置文件系统的卷标 e2label命令用来设置第二扩展文件系统的卷标。 e2label [参数] |文件系统: 指定文件系统所对应的设备文件名 |
|新卷标: 为文件系统指定新卷标 | 示例1:
指定新卷标:
[root@linuxcool ~]# mkdir /new
[root@linuxcool ~]# e2label /dev/hdax /new
[root@linuxcool ~]# vim /etc/fstab
label=/new /new ext4 defaults 1 1 文件管理(file) 96 objdump objdump命令 – 显示目标文件附加信息 objdump命令来自于英文词组“object files dump”的缩写,其功能是用于显示目标文件附加信息。如果只是想让自己编写的代码运行起来,做个能用的小程序,那么这个命令确实用处不大。但如果想深入了解指定二进制可执行文件的附加信息,那么就一定要试试objdump命令了。 objdump [参数] [文件名] |-a: 显示档案库的成员信息 |
|-g: 显示调试信息 |
|-d: 从objfile中反汇编那些特定指令机器码的section |
|-D: 与 -d 类似,但反汇编所有section |
|-f: 显示objfile中每个文件的整体头部摘要信息 |
|-H: 简短的帮助信息 |
|-s: 显示指定section的完整内容。默认所有的非空section都会被显示 | 示例1:
查看档案库文件中的信息:
[root@linuxcool ~]# objdump -a libmy2.a
示例2:
显示mytest.o文件中的text段的内容:
[root@linuxcool ~]# objdump --section=.text -s mytest.o 文件管理(file) 97 chattr chattr命令 – 更改文件隐藏属性 chattr命令来自英文词组change attribute的缩写,其功能是更改文件隐藏属性。常用的ls命令仅能查看文件的一般权限、特殊权限、SELinux安全上下文与是否有FACL(文件访问控制列表)等情况,但却无法查看到文件隐藏属性,所以有些运维人员甚至不清楚竟然还有第五种文件权限! chattr [参数] [文件名] |-R: 递归处理所有子文件 |
|-v: 设置文件或目录版本 |
|-V: 显示执行过程详细信息 |
|—: 关闭文件或目录的指定隐藏属性 |
|=: 设置文件或目录的指定隐藏属性 | 示例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 文件管理(file) 98 apk apk命令 – 下载包管理工具 Android应用程序包(APK)是android操作系统使用的应用程序包文件格式,用于分发和安装移动应用及中间件。 一个Android应用程序的代码想要在Android设备上运行,必须先进行编译,然后被打包成一个android系统所能识别的文件才可以运行。 apk [参数] |install: 安装应用程序包 |
|upgrade: 更新最新本地镜像源 |
|search: 搜索 | 示例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 文件管理(file) 99 pinfo pinfo命令 – 基于lynx类型info浏览 使用pinfo命令可以查看info文件,pinfo命令将搜索当前目录以及例如:/usr/share/info ,/usr/info、/usr/local/share等目录。 pinfo [参数] |-m: 使用手册页 |
|-x: 在退出时清屏 |
|-f: 相当于-r选项 |
|-l: 在manual中使用长链接名称 | 示例1:
查看ls命令的info文件:
[root@linuxcool ~]# pinfo ls 文件管理(file) 100 dpkg-preconfigure dpkg-preconfigure命令 – 软件包安装之前询问问题 dpkg-preconfigure命令用于在Debianlinux中软件包安装之前询问问题。如果软件包不需要进行配置,则不会询问任何问题。
在非交互式环境下安装支持debconf的软件时,用户无法在线提供软件的配置项。因此用户需要通过dpkg-preconfigure命令预先指定软件配置。 dpkg-preconfigure [参数] [软件包] |-f: 选择使用的前端 |
|-p: 感兴趣的最低的优先级问题 |
|-- -apt: 在apt模式下运行 | 示例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 文件管理(file) 101 dpkg-split dpkg-split命令 – 分割软件包 dpkg-split命令用来将Debianlinux中的大软件包分割成小软件包,它还能够将已分割的文件进行合并。
dpkg-split命令只能在Debian系统上使用,因为他需要调用dpkg-deb命令分析软件包的组成。 dpkg-split [参数] [软件包] |-S: 设置分割后的每个小文件最大尺寸(以字节为单位) |
|-s: 分割软件包 |
|-j<分块文件><分块文件>: 把各个分块合并到一起 |
|-I<分块文件>: 显示分块文件的相关信息 |
|-l: 列出不匹配的部分 |
|-dscard<文件名>: 忽略不匹配的部分 | 示例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.* 文件管理(file) 102 systool systool命令 – 显示系统中设备的信息 systool命令指令显示基于总线、类和拓扑显示系统中设备的信息。 systool [参数] |-a: 显示被请求资源的属性 |
|-b: 显示指定总线的信息 |
|-c: 显示指定类的信息 |
|-d: 仅显示设备 |
|-h: 显示指令的用法 |
|-m: 显示指定模块的信息 | 示例1:
显示系统中设备的信息:
[root@linuxcool ~]# systool 文件管理(file) 103 ln ln命令 – 为文件创建快捷方式 ln命令来自英文单词link的缩写,中文译为“链接”,其功能是为某个文件在另外一个位置建立同步的链接。Linux系统中的链接文件有两种形式,一种是硬链接,另一种是软链接。软链接相当于Windows系统中的快捷方式文件,原始文件被移动或删除后,软链接文件也将无法使用;硬链接则是将文件的inode属性块进行了复制,因此把原始文件移动或删除后,硬链接文件依然可以使用。 ln [参数] [源文件名] [目标文件名] |-b: 为已存在的目标文件创建备份 |
|-d: 允许管理员创建目录的硬链接 |
|-f: 强制创建链接而不询问 |
|-i: 若目标文件已存在,则需要用户二次确认 |
|-L: 若目标文件为软链接,找到其对应文件 |
|-n: 将指向目录的软链接视为普通文件 |
|-P: 若目标文件为软链接,直接链接它自身 |
|-r: 创建相对于文件位置的软链接 |
|-S: 设置备份文件的后缀 |
|-t: 设置链接文件存放于哪个目录 |
|-v: 显示执行过程详细信息 |
|--backup: 备份已存在的文件 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例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' 文件管理(file) 104 hping3 hping3命令 – 测试网络及主机的安全 hping3命令是用于生成和解析TCPIP协议数据包的开源工具,也是安全审计、防火墙测试等工作的标配工具 。
目前最新版是hping3,支持使用tcl脚本自动化地调用其API。优势在于能够定制数据包的各个部分,因此用户可以灵活对目标机进行细致地探测。 hping3 [参数] |-c: 发送数据包的次数 |
|-m: 设置TCP序列数 |
|-v: 版本信息 |
|-I: 网卡接口 | 示例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 文件管理(file) 105 cd cd命令 – 切换目录 cd命令来自英文词组change directory的缩写,其功能是更改当前所处的工作目录,路径可以是绝对路径,也可以是相对路径,若省略不写则会跳转至当前使用者的家目录。 cd [参数] [目录名] |-L: 切换至符号链接所在的目录 |
|-P: 切换至符号链接对应的实际目录 |
|--: 切换至上次所在目录 |
|..: 切换至当前位置的上一级目录 | 示例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 ~]# 文件管理(file) 106 createdb createdb命令 – 创建PostgreSQL数据库 createdb命令来自英文词组“create database”的缩写,其功能是用于创建PostgreSQL数据库。PostgreSQL是一个功能强大的、开放源代码的客户/服务器关系型数据库管理系统,支持灵活的权限管理,能够控制一个角色对某张表的读、写、更新、删除等操作权限,执行某个函数的权限以及操作视图。 createdb [参数] [数据库] |-D: 设置数据库默认表空间 |
|-e: 显示发送到服务端的命令 |
|-E: 设置数据库编码 |
|-h: 设置数据库服务器的主机名 |
|-O: 设置数据库用户名称 |
|-p: 设置数据库服务器端口号 |
|-T: 设置要复制的数据库模版 |
|-U: 设置连接的用户名 |
|-w: 永远不提示输入口令 |
|-W: 强制提示输入口令 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例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 文件管理(file) 107 auditctl auditctl命令 – 管理内核的审计系统 auditctl命令来自英文词组“audit contol”的缩写,其功能是用于管理内核的审计系统。系统管理员可以使用auditctl命令对Linux系统内核的审计系统进行管理,例如执行查看审计系统状态、添加或删除审计规则等等操作。 auditctl [参数] |-a: 向列表尾部添加规则 |
|-A: 向列表头部添加规则 |
|-b: 设置缓冲区最大值 |
|-d: 删除规则 |
|-D: 清空全部规则 |
|-F: 创建一个字段 |
|-i: 忽略读取文件时的错误 |
|-k: 设置要过滤的关键词 |
|-l: 显示所有的规则 |
|-p: 设置审计文件的权限 |
|-R: 设置从文件中读取规则 |
|-s: 显示审计系统状态 |
|-S: 设置规则名称 |
|-w: 设置要监控的路径 | 示例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 文件管理(file) 108 mattrib mattrib命令 – 更改或显示MS-DOS文件的属性 mattrib命令用于变更或显示MS-DOS文件的属性,MS-DOS文件是指记录在存储介质(如磁盘、光盘)上的一组相关信息的集合。
mattrib为mtools工具指令,模拟MS-DOS的attrib指令,可变更MS-DOS文件的属性 。 mattrib [参数] [文件] |-a/+a: 除去/设定备份属性 |
|-h/+h: 除去/设定隐藏属性 |
|-r/+r: 除去/设定只读属性 |
|-s/+s: 除去/设定系统属性 |
|-/: 递归的处理包含所有子目录的文件 |
|-X: 以较短的格式输出结果 | 示例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:*.* 文件管理(file) 109 zless zless命令 – 查看zip压缩文件 使用zless命令可以查看zip压缩文件 zless [文件名] 示例1:
查看zip压缩文件/root/a.zip:
[root@linuxcool ~]# zless /root/a.zip 文件管理(file) 110 lsattr lsattr命令 – 显示文件的隐藏属性 lsattr命令来自英文词组list attribute的缩写,其功能是显示文件的隐藏属性。隐藏属性也叫隐藏权限,顾名思义就是用chattr命令添加在文件上的隐藏权限属性。这些属性信息用常规的ls命令无法查看,需要使用lsattr命令查看。 lsattr [参数] [文件名] |-a: 显示目录中的所有文件 |
|-d: 仅显示目录名称 |
|-D: 显示属性的名称及默认值 |
|-E: 显示从用户设备数据库中获得的当前值 |
|-l: 显示设备的逻辑名称 |
|-R: 递归处理所有子文件 |
|-V: 显示版本信息 | 示例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 文件管理(file) 111 fixfiles fixfiles命令 – 修复安全上下文 fixfiles命令的作用是可以修改RPM数据包里的文件的安全上下文。RPM包安装的会根据rpm包内记录来生成安全上下文。
关于安全上下文的解释:所有的操作系统访问控制都是主体和客体的相关访问控制属性来实现,在SELinux中访问控制属性称为安全上下文。
安全上下文是一个简单的、一致的访问控制属性,所有客体(文件,进程间通信,通信管道,套接字,网络主机等)和主体(进程)有一个和客体和他们相关的单一安全上下文,一个进程的类型通常称为域,域和域类型都一样,即都是安全上下文的’TYPE’,一个安全上下文是由角色,用户和类型标识符组成。 fixfiles [参数] [概要] |-l<日志文件>: 将输出保存到指定的日志文件 |
|-F: 强制重置上下文为匹配file_context的自定义文件 |
|-f: 清除/tmp目录 |
|-R: 使用rpm数据库,以发现指定数据包中的所有文件和恢复文件的上下文 |
|check: 显示任何不正确的文件上下文标签,显示新老上下文,但不改变它们 |
|restore: 更改任何不正确的文件上下文标签 |
|relabel: 提示去除/tmp目录中的内容,然后更改任何不正确的文件上下文 |
|verify: 列出不正确的文件上下文标签,但不改变它们 |
|[dir/file]: 检查文件上下文中的文件或目录树列表 | 示例1:
检查指定软件包中文件的安全上下文:
[root@linuxcool ~]# fixfiles -R crontabs check
示例2:
修改crontabs软件包中文件的安全上下文:
[root@linuxcool ~]# fixfiles -R crontabs restore
示例3:
列出不正确的文件上下文标签:
[root@linuxcool ~]# fixfiles -R crontabs verify 文件管理(file) 112 dd dd命令 – 复制及转换文件 dd命令来自英文词组disk dump的缩写,其功能是复制及转换文件。使用dd命令可以按照指定大小的数据块来复制文件,并在复制的过程中对内容进行转换。 dd [参数] [对象] |if: 输入文件 |
|bs: 块大小 |
|-h: 显示帮助信息 |
|count: 块个数 |
|-v: 显示版本信息 | 示例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 文件管理(file) 113 pr pr命令 – 将文本文件转换成适合打印的格式 pr命令用来将文本文件转换成适合打印的格式,它可以把较大的文件分割成多个页面进行打印,并为每个页面添加标题。 pr [参数] |-h: 为页指定标题 | 示例1:
将较大的文件分割成多个页面进行打印:
[root@linuxcool ~]# pr test.txt
示例2:
为页指定标题 :
[root@linuxcool ~]# pr -h 'Hello World' test.txt
示例3:
将文件内容分割成多列进行打印:
[root@linuxcool ~]# pr -6 test.txt 文件管理(file) 114 ethtool ethtool命令 – 查询与设置网卡参数 ethtool命令来自英文词组“ethernet tool”的缩写,其功能是用于查询与设置网卡参数。使用ethtool命令不仅可以查询到网卡当前运行状态,并能够对网卡设备的常规参数进行自由设定,亦能够开启如自动协商、传输速度限制、双工或局域网唤醒等功能。 ethtool [参数] [网卡名] |-a: 显示网卡接收、发送模块状态 |
|-A: 设置网卡接收、发送模块状态 |
|-C: 设置指定网络设备的合并配置 |
|-E: 设置网卡只读存储器字节 |
|-g: 显示指定网卡的收发参数信息 |
|-G: 设置指定网卡的收发参数信息 |
|-i: 显示网卡驱动的信息 |
|-k: 显示网卡Offload的状态 |
|-K: 设置网卡Offload的状态 |
|-I: 显示网卡的队列信息 |
|-L: 设置网卡的队列数 |
|-P: 显示指定网卡设备的永久硬件地址 |
|-s: 设置网卡的部分配置 |
|-S: 显示网卡收发和广播数据 |
|-t: 执行网卡自检操作 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例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 文件管理(file) 115 updatedb updatedb命令 – 创建或更新数据库文件 updatedb命令用来创建或更新 slocate/locate [命令]所必需的数据库文件。
updatedb命令的执行过程较长,因为在执行时它会遍历整个系统的目录树,并将所有的文件信息写入 slocate/locate [数据库]文件中。 注意:slocate 本身具有一个数据库,里面存放了系统中文件与目录的相关信息。
使用updatedb命令可以创建或更新locate所使用的数据库。如果数据库已经存在,它的数据是重复使用,以避免重读并没有改变的目录。updatedb通常每天由cron运行来更新默认的数据库。 updatedb [参数] |-o: 忽略默认的数据库文件,使用指定的slocate数据库文件 |
|-U: 更新指定目录的slocate数据库 |
|-v: 显示执行的详细过程 | 示例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 文件管理(file) 116 unset unset命令 – 删除指定的shell变量或函数 unset命令用于删除已定义的shell变量(包括环境变量)和shell函数。unset命令不能够删除具有只读属性的shell变量和环境变量。 unset[参数] |-f: 仅删除函数 |
|-v: 仅删除变量 | 示例1:
使用unset命令将前面所创建的环境变量mylove及其对应的值进行删除,输入如下命令:
[root@linuxcool ~]# unset -v mylove 文件管理(file) 117 iperf iperf命令 – 网络性能测试 iperf是一款用于测试网络性能的命令工具,由美国伊利诺伊大学研发和维护,可以用来测试一些网络设备(如路由器、防火墙、交换机等)的性能。
性能测试是在服务器已经启动服务的场景下进行的,服务器需先执行iperf -s或iperf3 -s命令。 iperf [参数] [IP地址] |-b: 设置数据包大小 |
|-c: 使用客户端模式 |
|-D: 将服务器作为守护进程运行 |
|-f: 设置报告的格式 |
|-F: 从指定文件中获取要传输的数据 |
|-h: 显示帮助信息 |
|-i: 设置报告之间的停顿秒数 |
|-l: 设置读写缓冲区的长度 |
|-M: 设置TCP最大网段 |
|-n: 设置要传输的字节数 |
|-o: 让重定向输出到指定文件 |
|-p: 设置与服务器端的监听端口一致 |
|-P: 设置要运行的并行客户端线程数量 |
|-s: 使用服务器模式 |
|-t: 设置传输的总时间 |
|-T: 设置存活时间 |
|-u: 使用UDP协议 |
|-U: 使用单线程UDP运行模式 |
|-v: 显示版本信息 | 示例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 文件管理(file) 118 lpstat lpstat命令 – 显示cpus状态信息 使用lpstat命令可以显示有关当前类、作业和打印机的状态信息。当不带参数运行时,将列出当前用户的作业队列。 lpstat [参数] |-U: 指定备用用户名 |
|-v: 显示打印机和什么设备联系在一起的 |
|-d: 显示当前默认的目的地 | 示例1:
显示cpus的状态信息:
[root@linuxcool ~]# lpstat 文件管理(file) 119 ls ls命令:显示目录中文件及其属性信息 ls命令来自英文单词list的缩写,中文译为“列出”,其功能是显示目录中的文件及其属性信息,是最常使用的Linux命令之一。
默认不添加任何参数的情况下,ls命令会列出当前工作目录中的文件信息,常与cd或pwd命令搭配使用,十分方便。带上参数后,我们可以做更多的事情。作为最基础、最频繁使用的命令,有必要仔细了解其常用功能。 ls [参数] [文件或目录…] |-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: 显示此命令的版本信息 | 示例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………………省略部分输出信息……………… 文件管理(file) 120 mkdir mkdir命令 – 创建目录文件 mkdir命令来自英文词组make directories的缩写,其功能是创建目录文件。该命令的使用简单,但需要注意,若要创建的目标目录已经存在,则会提示已存在而不继续创建,不覆盖已有文件。若目录不存在,但具有嵌套的依赖关系时,例如/Dir1/Dir2/Dir3/Dir4/Dir5,要想一次性创建则需要加入-p参数,进行递归操作。 mkdir [参数] [目录名] |-m: 创建目录的同时设置权限 |
|-p: 递归创建多级目录 |
|-z: 设置目录安全上下文 | 示例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 文件管理(file) 121 read read – 读取单行数据内容 read命令的功能是用于读取单行数据内容,一般是从标准输入中读取数值,用于给变量赋值。 read [参数] [变量名] |-a: 定义一个数组 |
|-d: 定义一个结束标志 |
|-e: 设置输入时可以使用命令补全功能 |
|-n: 定义输入文本的长度 |
|-p: 设置提示信息 |
|-r: 禁用转义符 |
|-s: 设置输入字符不在屏幕显示 |
|-t: 设置最长等待时间 |
|-u: 从文件描述符中读入信息 | 示例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: 文件管理(file) 122 getent getent命令 – 查看系统数据库中的记录信息 getent命令来自英文词组“get entries”的缩写,其功能是用于查看系统数据库中的记录信息。即便这些数据库不是本地的,类似于LDAP或者NIS也可以使用getent命令进行查看。 getent [参数] [对象] |-i: 禁用IDN编码 |
|-s: 设置使用的服务配置 |
|--help: 显示帮助信息 |
|--usage: 简要用法信息 |
|--version: 显示版本信息 | 示例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 文件管理(file) 123 inotifywatch inotifywatch命令 – 收集文件系统的统计数据 inotifywatch命令来自于英文词组”inotify watch“的拼写,其功能是用于收集文件系统的统计数据。Inotify是Linux系统中的一种异步事件监控机制,最早可追溯到Linux内核的2.6.13版本,通过Inotify可以监视、收集指定文件系统中添加、删除、修改、移动等事件数据,利用这个内核接口,inotifywatch命令就可以监视文件系统下的各种变化情况了。 inotifywatch [参数] [目录名] |-a: 按事件计数的升序排序输出 |
|-d: 按事件计数的降序排序输出 |
|-z: 输出表格的行和列,即使元素为空 |
|-r: 监视一个目录下的所有子目录 |
|-t: 设置超时时间 |
|-e: 只监听指定的事件 | 示例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 文件管理(file) 124 vmkfstools vmkfstools命令 – 虚拟磁盘管理工具 vmkfstools命令来自英文词组“VMK filesystem tools”的缩写,其功能是用于管理虚拟磁盘,VMK的全称为“virtual-machine extensions”,中文译为虚拟机扩展工具。vmkfstools命令常被比作是Linux系统中管理磁盘的瑞士军刀,可用于可用于复制、转换、重命名、输入、输出和调整虚拟磁盘文件的大小,功能丰富又操作简单,性价比极强。 vmkfstools [参数] 磁盘名 |-C: 创建磁盘文件 |
|-d: 设置磁盘格式 |
|-H: 显示帮助信息 |
|-i: 显示原磁盘名 |
|-v: 显示执行过程详细信息 | 示例1:
更改指定虚拟磁盘的大小:
[root@linuxcool ~]#vmkfstools -X 40g File.vmdk
示例2:
创建虚拟磁盘文件:
[root@linuxcool ~]#vmkfstools -C --createfs vmfs3 文件管理(file) 125 newusers newusers命令 – 批量创建或更新用户信息 newusers命令来自英文词组“create new users”的拼写,中文译为“创建新用户们”,其功能是用于批量创建或更新用户信息。newusers命令能够通过读取用户名和明文密码对应的文件,完成对Linux系统中用户信息进行批量创建和更新的工作。 newusers [参数] [文件名] |-c: 设置加密方式 |
|-h: 显示帮助信息 |
|-r: 创建系统账户 |
|-R: 设置chroot机制 |
|-s: 对SHA加密算法进行四舍五入 | 示例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) 文件管理(file) 126 blkid blkid命令 – 显示块设备信息 blkid命令来自英文词组“block ID”的缩写,其功能是用于显示块设备信息。blkid命令能够查看Linux系统中全部的块设备信息,也就是我们俗称的硬盘或光盘设备,并可以依据块设备名称、文件系统类型、LABEL、UUID等项目进行信息检索。 blkid [参数] [块设备名] |-g: 显示缓存信息 |
|-i: 显示I/O限制信息 |
|-L: 显示卷标对应的分区信息 |
|-p: 低级超级块探测 |
|-U: 显示UUID对应的分区信息 |
|-v: 显示版本信息 | 示例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" 文件管理(file) 127 umask umask命令 – 管理权限掩码 umask命令来自英文词组“user file-creation mode mask”的缩写,其功能是用于管理权限掩码。umask中文常被译为文件掩码,权限掩码是由3个八进制的数字所组成,将现有的存取权限减掉权限掩码后,即可获得建立文件时预设的权限啦。
例如当前Linux系统默认对于普通文件的存取权限为666,若将umask设定为022,则最终建立文件时权限为644。 umask [参数] [权限掩码] |-p: 输出的权限掩码可直接作为指令来执行 |
|-S: 使用文字来表示权限掩码 | 示例1:
查看当前系统中预设的权限掩码:
[root@linuxcool ~]#umask0022
示例2:
设置新建文件权限默认为654(即666-umask):
[root@linuxcool ~]#umask 012 文件管理(file) 128 xxd xxd命令 – 以十六进制形式显示文件内容 xdd命令的功能是用于以十六进制形式显示文件内容,亦可以将十六进制内容转换回原始二进制的形式。 xxd [参数] [文件名] |-a: 自动跳过空白内容 |
|-c: 设置每行显示多少字节内容 |
|-b: 转换成二进制模式 |
|-g: 设置以几个字节为一块 |
|-h: 显示帮助信息 |
|-i: 显示为C语言的包含文件形式 |
|-l: 显示多少字节的内容 |
|-p: 使用连续的纯十六进制转储输出 |
|-r: 将十六进制逆向操作成二进制形式 |
|-s: 设置从某个地址开始内容 |
|-u: 使用大写字母形式 |
|-v: 显示帮助信息 | 示例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 文件管理(file) 129 cp cp命令 – 复制文件或目录 cp命令来自英文单词copy的缩写,中文译为“复制”,其功能是复制文件或目录。cp命令能够将一个或多个文件或目录复制到指定位置,亦常用于文件的备份工作。-r参数用于递归操作,复制目录时若忘记添加则会直接报错;-f参数则用于当目标文件已存在时会直接覆盖而不再询问。这两个参数尤为常用。 cp [参数] [源文件名] [目标文件名] |-a: 功能等价于pdr参数组合 |
|-b: 覆盖目标文件前先进行备份 |
|-d: 复制链接文件时,将目标文件也建立为链接文件 |
|-f: 若目标文件已存在,则会直接覆盖 |
|-i: 若目标文件已存在,则会询问是否覆盖 |
|-p: 保留源文件或目录的所有属性信息 |
|-r: 递归复制所有子文件 |
|-s: 对源文件建立软链接,而非复制文件 |
|-v: 显示执行过程详细信息 | 示例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 文件管理(file) 130 ltrace ltrace命令 – 跟踪进程调用库函数的情况 ltrace命令是用来跟踪进程调用库函数的情况,ltrace其实也是基于ptrace。我们知道,ptrace能够主要是用来跟踪系统调用,那么它是如何跟踪库函数呢? 首先ltrace打开elf文件,对其进行分析。在elf文件中,出于动态连接的需要,需要在elf文件中保存函数的符号,供连接器使用。 ltrace [参数] |-a: 对齐具体某个列的返回值 |
|-c: 计算时间和调用,并在程序退出时打印摘要 |
|-d: 打印调试信息 |
|-f: 跟踪子进程 |
|-l: 只打印某个库中的调用 | 示例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 文件管理(file) 131 split split命令 – 分割文件内容 split命令来自英文单词“分裂”,其功能是用于分割文件内容。Linux系统运维人员可以使用split命令对指定的大文件进行内容分割,默认会按照每1000行切割成一个小文件来执行,也可以自定义分割大小,方便阅读和传输。 split [参数] [文件名] |-数字: 设置要分割的行数 |
|-a: 设置后缀长度 |
|-b: 设置分割的字节 |
|-C: 保持每行的完整性 |
|-d: 使用数字后缀而不是字母 |
|-l: 设置每个分割文件的行数 |
|-t: 设置间隔符 |
|--help: 显示帮助信息 |
|--verbose: 显示执行过程详细信息 |
|--version: 显示版本信息 | 示例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 文件管理(file) 132 mren mren命令 – 更改文件或目录 mren命令用于更改MS-DOS文件或目录的名称,或是移动文件或目录。
mren为MS-DOS工具指令,与DOS下的ren指令相似,可以实现更改MS-DOS文件或目录名称。 源文件必须是磁盘上已经存在的文件,若忽略盘符及路径,则表示当前盘及当前目录的文件。 新文件名是所要更换的文件名称。新文件名称前不可以加与源文件不同的盘符及路径,因为该命令只能更改同一盘上的文件名称。 mren [参数] |[源文件或目录…]: 执行操作的源文件名或者源文件路径 |
|[目标文件或目录]: 执行操作的目标文件名或者目标文件路径 | 示例1:
将a盘下的文件”test.txt”的文件名修改为”test1.txt”:
[root@linuxcool ~]# mren a:\test.txt test1.txt 文件管理(file) 133 sudoedit sudoedit命令 – 以另外一个用户文件编辑文件 使用sudoedit命令可以以另外一个用户身份编辑文件。 sudoedit [参数] [文件] |-u: 以指定用户运行命令 |
|-g: 以指定主要组群运行命令 |
|-n: 防止提示用户输入密码 | 示例1:
以用户zhangsan来编辑/root/install.log文件:
[root@linuxcool ~]# sudoedit /root/install.log 文件管理(file) 134 export export命令 – 将变量提升成环境变量 export命令的功能是将变量提升成环境变量,亦可将shell函数输出为环境变量。通常个人创建出的变量仅能在自己账户下使用,其他人是无法看到的。若想让每个人都能看到并有权利去使用变量值,则需要使用export命令进行提升操作。 export [参数] [变量] |-f: 设置函数名称 |
|-n: 删除指定变量 |
|-o: 创建JSON文件路径 |
|-s: 设置文件来源 | 示例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 文件管理(file) 135 userdel userdel命令 – 删除用户 userdel命令来自英文词组user delete的缩写,其功能是删除用户信息。在Linux系统中,一切都是文件,用户信息被保存到了/etc/passwd、/etc/shadow以及/etc/group文件中,因此使用userdel命令实际上就是删除指定用户在上述3个文件中的对应信息。 userdel [参数] [用户名] |-f: 强制删除用户而不询问 |
|-h: 显示帮助信息 |
|-Z: 删除用户的SELinux映射用户 | 示例1:
删除指定的用户信息:
[root@linuxcool ~]# userdel linuxprobe
示例2:
删除指定的用户信息及家目录:
[root@linuxcool ~]# userdel -r linuxprobe 文件管理(file) 136 initdb initdb命令 – 初始化数据库 initdb命令来自英文词组“initialization database”的缩写,其功能是用于初始化数据库。类似于MySQL数据库的mysql_install_db命令一样,安装完PostgreSQL数据库也需要进行初始化操作,initdb命令会自动完成后续工作。 initdb [参数] |-A: 设置本地连接的默认认证方法 |
|-D: 设置当前数据库簇的位置 |
|-E: 设置数据库编码 |
|-k: 启用数据页面的校验 |
|-U: 设置数据库管理用户名 |
|-W: 提示输入口令 |
|--locate: 设置数据库区域 |
|--waldir: 设置数据库日志位置 |
|--wal-seqsize: 设置单个日志文件大小 | 示例1:
创建一个新的PostgreSQL数据库簇并进行初始化:
[root@linuxcool ~]#initdb PostgreSQL 文件管理(file) 137 locate locate命令 – 快速查找文件或目录 locate命令的功能是快速查找文件或目录。与find命令进行全局搜索不同,locate命令是基于数据文件(/var/lib/locatedb)进行的定点查找,由于缩小了搜索范围,因此速度快很多。
要想让locate命令查询的结果更加准确,建议定期执行updatedb命令对数据库文件进行更新。 locate [参数] [文件名] |-b: 仅匹配文件名 |
|-c: 不输出文件名 |
|-d: 设置数据库所在目录 |
|-i: 忽略大小写 |
|-l: 限制最大查找数量 |
|-q: 静默执行模式 |
|-S: 显示数据库的统计信息 |
|-w: 匹配完整的文件路径 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例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 文件管理(file) 138 tail tail命令 – 查看文件尾部内容 tail命令的功能是查看文件尾部内容,例如默认会在终端界面上显示指定文件的末尾10行,如果指定了多个文件,则会在显示的每个文件内容前面加上文件名来加以区分。高阶玩法的-f参数的作用是持续显示文件的尾部最新内容,类似于机场候机厅的大屏幕,总会把最新的消息展示给用户,对阅读日志文件尤为适合,再也不需要手动刷新了。 tail [参数] [文件名] |-c: 设置显示文件尾部的字符数 |
|-f: 持续显示文件尾部最新内容 |
|-n: 设置显示文件尾部的行数 |
|--help: 显示帮助信息 |
|--retry: 当文件无权限访问时,依然尝试打开 |
|--version: 显示版本信息 | 示例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 文件管理(file) 139 zegrep zegrep命令 – 文件字符串过滤 zegrep命令是一个文件字符串过滤工具,可以使用zegrep在压缩文件中多次搜索相对应的文件名与内容。 zegrep [参数] [文件路径] |-n: 搜索显示行 |
|-l: 列出包含多个模式的那些压缩文件的文件名 | 示例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 文件管理(file) 140 xzmore xzmore命令 – 查看xz压缩文本文件 使用xzmore命令可以查看xz压缩文本文件。 xzmore [文件名] 示例1:
查看/root/a.xz压缩文本文件:
[root@linuxcool ~]# xzmore /root/a.xz 文件管理(file) 141 zgrep zgrep命令 – 检索压缩包内文件的内容 zgrep命令来自英文词组“gzipped grep”命令的缩写,其功能是用于检索压缩包内文件的内容。zgrep命令能够基于正则表达式检索压缩包内文件的内容,找出包含指定关键词的文件。 zgrep [参数] [文件名] |-A: 显示匹配行及其后的行数 |
|-B: 显示匹配行及其前的行数 |
|-E: 扩展正则表达式 |
|-i: 忽略大小写 |
|-n: 显示行号 |
|-r: 递归处理所有子文件 |
|-v: 反选匹配结果 |
|-x: 排除指定文件 | 示例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 文件管理(file) 142 rtacct rtacct命令 – 网络统计工具 使用rtacct命令可以监视内核snmp计数器和网络接口统计数据,它是一种网络统计的工具。 rtacct [参数] |-n: 不显示任何内容,只更新历史 |
|-t: 时间间隔的平均速率 |
|-r: 重设历史 | 示例1:
网络统计:
[root@linuxcool ~]# rtacct
示例2:
对网络统计内容的更新历史:
[root@linuxcool ~]# rtacct -n 文件管理(file) 143 grub-install grub-install命令 – 在设备上安装GRUB服务 grub-install命令来自英文词组“GRand Unified Bootloader install”的缩写,其功能是用于在设备上安装GRUB服务。GRUB是一个多重启动加载器服务,新的项目比此前GRUB Legacy更加强大,实现了模块化和增强了移植性,用户可以使用grub-install命令将GRUB安装到指定硬盘或分区上。 grub-install [参数] [设备名] |--force-lba: 强制使用LBA模式 |
|--grub-shell: 使用指定文件作为GRUB Shell |
|--help: 显示帮助信息 |
|--no-floppy: 不探测任何软盘驱动器 |
|--recheck: 探测设备映射 |
|--root-directory: 在指定目录安装GRUB镜像 |
|--version: 显示版本信息 | 示例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 文件管理(file) 144 nm nm命令 – 显示二进制目标文件的符号表 nm是names的缩写, nm命令主要是用来列出某些文件中的符号(说白了就是一些函数和全局变量等)。 一般来说, 搞linux开发的人, 才会用到nm命令, 非开发的人, 应该用不到。 nm [参数] |-A: 每个符号前显示文件名 |
|-D: 显示动态符号 |
|-g: 仅显示外部符号 |
|-r: 反序显示符号表 | 示例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 文件管理(file) 145 man man命令 – 查看帮助信息 man命令来自英文单词manual的缩写,中文译为“帮助手册”,其功能是查看命令、配置文件及服务的帮助信息。一般而言,网上搜索来的资料普遍不够准确,或者缺乏系统性,导致学习进度缓慢,而man命令作为权威的官方工具,很好地解决了上述两点弊病。一份完整的帮助信息包含以下信息。
man文档的结构和含义: man [参数] [对象] |NAME: [命令]的名称 |
|SYNOPSIS: [参数]的大致使用方法 |
|DESCRIPTION: 介绍说明 |
|EXAMPLES: 演示 |
|OVERVIEW: 概述 |
|DEFAULTS: 默认的功能 |
|ENVIRONMENT: 环境变量 |
|FILES: 用到的文件 |
|SEE ALSO: 相关的资料 |
|HISTORY: 维护历史与联系方式 | 示例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 文件管理(file) 146 userpasswd userpasswd命令 – 允许用户更改密码的图形化工具 使用userpasswd命令可以允许用户轻松地更改自己的密码,它是一个图形化的工具。 userpasswd 示例1:
更改用户自己的密码:
[root@linuxcool ~]# userpasswd 文件管理(file) 147 mc mc命令 – 菜单式文件管理程序 mc命令用于提供一个菜单式的文件管理程序,执行mc之后,将会看到菜单式的文件管理程序,共分成4个部分。 mc [参数] [文件] |-a: 当mc程序画线时不用绘图字符画线 |
|-b: 使用单色模式显示 |
|-c: 使用彩色模式显示 |
|-d: 不使用鼠标 |
|-f: 显示mc函数库所在的目录 | 示例1:
使用单色模式管理test文件:
[root@linuxcool ~]# mc -b test
示例2:
使用彩色模式管理test文件:
[root@linuxcool ~]# mc -c test 文件管理(file) 148 readonly readonly命令 – 标记shell变量或函数为只读 readonly命令主要用于定义一到多个变量并设置只读属性, 为已定义的一到多个变量设置只读属性, 显示全部包含只读属性的变量 , 为已定义的一到多个函数设置只读属性 ,显示全部包含只读属性的函数。 readonly [参数] |-a: 指向数组 |
|-A: 指向关联数组 |
|-p: 示全部只读变量 |
|-f: 指向函数 | 示例1:
显示全部只读变量:
[root@linuxcool ~]# readonly
示例2:
显示全部拥有只读属性的数组:
[root@linuxcool ~]# readonly -a
示例3:
显示全部拥有只读属性的关联数组:
[root@linuxcool ~]# readonly -A
示例4:
显示全部拥有只读属性的函数:
[root@linuxcool ~]# readonly -f
示例5:
在它之后的选项无效:
[root@linuxcool ~]# readonly -- 文件管理(file) 149 sum sum命令 – 计算文件的校验码和显示块数 sum命令用于计算并显示指定文件的校验和与文件所占用的磁盘块数 sum[参数] |-r: 使用BSD的校验和算法,块大小为1k |
|-s: 使用system V的校验和算法,块大小为512字节 | 示例1:
计算文件校验码:
[root@linuxcool ~]# sum insert.sql
00827 12 文件管理(file) 150 git git命令 – 管理分布式版本控制系统 git命令的功能是用于管理分布式版本控制系统,是著名的Git版本控制系统的客户端,能够敏捷高效地处理任何或大或小的代码项目。Git是Linus Torvalds为了帮助管理Linux内核项目而开发的一个开放源代码的版本控制系统,因其开源及去中心化的理念,与此前常用的CVS、Subversion等版本控制系统有着本质区别,成为了当今最受欢迎的版本控制系统。 git [参数] [对象] |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: 在提交上建立永久性的标签 | 示例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 文件管理(file) 151 patch patch命令 – 给文件打补丁 patch命令来自于英文单词“修补”,其功能是用于给文件打补丁。倘若一次仅修改一个文件,可直接在指令列中下达指令依序执行。如果配合修补文件的方式则能一次修补大批文件,这也是Linux系统核心的升级方法之一 。 patch [参数] [文件名] |-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: 详细显示指令的执行过程 | 示例1:
使用补丁文件(file.patch)对指定文件(file)进行升级:
[root@linuxcool ~]#patch file file.patch 文件管理(file) 152 renice renice命令 – 系统管理 renice命令可以修改正在运行的进程的调度优先级。
该命令预设是以程序识别码指定程序调整其优先权,您亦可以指定程序群组或用户名称调整优先权等级,并修改所有隶属于该程序群组或用户的程序的优先权。只有系统管理者可以改变其他用户程序的优先权,也仅有系统管理者可以设置负数等级。 renice [参数] |-g: 指定进程组id |
|-p: 改变该程序的优先权等级,此参数为预设值 |
|-u: 指定开启进程的用户名 | 示例1:
将行程id为987及32的进程与进程拥有者为daemon及root的优先序号码加1:
[root@linuxcool ~]# renice +1 987 -u daemon root -p 32 文件管理(file) 153 bzgrep bzgrep命令 – 搜索.bz2压缩包中文件内容 bzgrep命令使用正则表达式搜索“.bz2”压缩包中文件,将匹配的行显示到标注输出。
bzgrep命令本身没有任何选项,但它支持grep命令的所有选项。在命令行中的选项将直接传递给grep命令。
bzgrep命令和bzegrep命令,bzfgrep命令的功能相同。 bzgrep [参数] [文件] |-i: 搜索时,忽略大小写 |
|-c: 只输出匹配行的数量 |
|-l: 只列出符合匹配的文件名,不列出具体的匹配行 |
|-n: 列出所有的匹配行,显示行号 |
|-h: 查询多文件时不显示文件名 |
|-s: 不显示不存在、没有匹配文本的错误信息 |
|-v: 显示不包含匹配文本的所有行 |
|-w: 匹配整词 |
|-x: 匹配整行 |
|-r: 递归搜索 |
|-q: 禁止输出任何结果,已退出状态表示搜索是否成功 |
|-b: 打印匹配行距文件头部的偏移量,以字节为单位 |
|-o: 与-b结合使用,打印匹配的词据文件头部的偏移量,以字节为单位 | 示例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 文件管理(file) 154 uuname uuname命令 – 显示全部的UUCP远端主机 uuname命令用于显示全部的UUCP远端主机。 uuname [参数] |-a: 显示别名 |
|-I: 指定程序的配置文件 |
|-l: 显示本机名称 |
|-v: 显示版本信息 |
|--help: 显示帮助 | 示例1:
显示uucp主机名称:
[root@linuxcool ~]# uuname 文件管理(file) 155 yum yum命令 – 基于RPM的软件包管理器 yum命令来自英文词组yellow dog updater modified的缩写,其功能是在Linux系统中基于RPM技术进行软件包的管理工作。yum技术通用于RHEL、CentOS、Fedora、OpenSUSE等主流系统,可以让系统管理人员交互式地自动化更新和管理软件包,实现从指定服务器自动下载、更新、删除软件包的工作。
yum软件仓库及命令能够自动处理软件依赖关系,一次性安装所需的全部软件,无须烦琐的操作。 yum [参数] [动作] [软件包] |install: 安装软件包 |
|update: 更新软件包 |
|check-update: 检查是否有可用的更新软件包 |
|remove: 删除软件包 |
|list: 显示软件包的信息 |
|search: 搜索指定软件包 |
|info: 显示指定软件包的描述和概要信息 |
|shell: 设置使用的shell提示符 |
|resolvedep: 显示软件包的依赖关系 |
|localinstall: 安装本地软件包 |
|localupdate: 更新本地软件包 |
|deplist: 显示软件包的依赖关系 | 示例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 文件管理(file) 156 diff3 diff3命令 – 比较3个文件的不同之处 diff3命令用于比较3个文件,将3个文件的不同的地方显示到标准输出。 diff3 [参数] |-A: 全部显示,有冲突内容用括号括起来 |
|-a: 将所有文件视为文本 |
|-T: 使制表符对齐 | 示例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 文件管理(file) 157 autoscan autoscan命令 – 生成一个初步的configure.in autoscan [参数] [源目录] |-v: 冗长的报告处理 |
|-d: 不删除临时文件 | 示例1:
生成一个初步的configure.in:
[root@linuxcool ~]# autoscan /root 文件管理(file) 158 keytool keytool命令 – 密钥和证书管理工具 keytool命令的功能是管理密钥和证书文件。密钥就是用于加解密的文件或字符串,可以使用keytool命令进行生成、导入和删除等操作。不同的程序需要的密钥格式不尽相同,需要留意具体的格式。 keytool [参数] [对象] |-certreq: 创建证书 |
|-changealias: 更改别名 |
|-delete: 删除条目 |
|-exportcert: 导出证书 |
|-gencert: 生成证书 |
|-genkeypait: 生成密钥对 |
|-genseckey: 生成密钥 |
|-importcert: 导入证书 |
|-importkeystore: 从密钥库导入条目 |
|-keystore: 设置证书保存位置 |
|-keypasswd: 更改条目的密钥口令 |
|-list: 显示密钥库中的条目 |
|-printcert: 显示证书内容 |
|-printcertreq: 显示证书请求的内容 |
|-printcrl: 显示CRL文件的内容 |
|-storepasswd: 更改密钥库的存储口令 | 示例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 文件管理(file) 159 rm rm命令 – 删除文件或目录 rm命令来自英文单词remove的缩写,中文译为“消除”,其功能是删除文件或目录,一次可以删除多个文件,或递归删除目录及其内的所有子文件。
rm也是一个很危险的命令,使用的时候要特别当心,尤其对于新手更要格外注意。例如,执行rm -rf /*命令会清空系统中所有的文件,甚至无法恢复回来。所以我们在执行之前一定要再次确认在在哪个目录中、到底要删除什么文件,考虑好后再敲击Enter键,要时刻保持清醒的头脑。 rm [参数] [文件名] |-d: 仅删除无子文件的空目录 |
|-f: 强制删除文件而不询问 |
|-i: 删除文件前询问用户是否确认 |
|-r: 递归删除目录及其内全部子文件 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例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 /* 文件管理(file) 160 slocate slocate命令 – 查找文件或目录 slocate本身具有一个数据库,里面存放了系统中文件与目录的相关信息 。 slocate [参数] [目录] |-d: 指定数据库所在的目录 |
|-u: 更新slocate数据库 |
|--help: 查看帮助信息 |
|--version: 显示版本信息 | 示例1:
使用指令”slocate”显示文件名中含有关键字”fdisk”的文件路径信息:
[root@linuxcool ~]# slocate fdisk 文件管理(file) 161 semanage semanage命令 – 查询与修改安全上下文 semanage命令来自英文词组“SELinuxmanage”的缩写,其功能是用于查询与修改安全上下文。semanage的功能类似于chcon命令,它们都可以用于设置文件的SELinux安全上下文策略,而semanage命令功能更强大一些,还能够对系统端口、进程等SELinux域策略进行查询和修改,因此更推荐使用。
*设置过后需要使用restorecon命令让新设置的安全上下文值立即生效。 semanage [参数] [对象] |-a: 增加 |
|-d: 删除 |
|-l: 查询 |
|-m: 修改 | 示例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 文件管理(file) 162 zipgrep zipgrep命令 – 查找压缩包内指定的文件 zipgrep命令的功能是用于查找压缩包内指定的文件,亦可以用于查看压缩包内指定文件的内容。如果压缩包被加密,则需要输入密码后方可进行后续操作。 zipgrep [参数] [压缩包] |-b: 显示匹配行距文件头部的偏移量 |
|-c: 显示匹配行的数量 |
|-h: 查询多文件时不显示文件名 |
|-i: 搜索时忽略大小写 |
|-l: 仅显示符合匹配的文件名 |
|-n: 显示所有的匹配行及其行号 |
|-q: 静默执行模式 |
|-r: 递归处理所有子文件 |
|-s: 不显示错误信息 |
|-v: 反选匹配结果,输出不匹配的行 |
|-w: 匹配整词 |
|-x: 匹配整行 | 示例1:
在压缩包内查找指定关键词名称的文件:
[root@linuxcool ~]#zipgrep Keyword File.zip
示例2:
在压缩包内匹配要搜索的整个词字符:
[root@linuxcool ~]#zipgrep -w Keyword File.zip
示例3:
在压缩包内搜索指定字符的行号:
[root@linuxcool ~]#zipgrep -n Keyword File.zip 文件管理(file) 163 apt-sortpkgs apt-sortpkgs命令 – 排序软件包索引文件 apt-sortpkgs命令是Debianlinux下对软件包索引文件进行排序的简单工具。
该命令会获取索引文件(源索引或包索引)并对记录进行排序,它还将根据内部排序规则对每个记录的内部字段进行排序。 apt-sortpkgs [参数] [文件] |-c: 指定要使用的配置文件 |
|-s: 使用源索引字段排序 |
|-o: 设置配置选项 |
|-h: 显示帮助信息 | 示例1:
排序软件包(Packages)索引文件:
[root@linuxcool ~]# apt-sortpkgs Packages
示例2:
使用指定的配置文件进行操作:
[root@linuxcool ~]# apt-sortpkgs -c Packages
示例3:
使用源索引字段进行排序:
[root@linuxcool ~]# apt-sortpkgs -s Packages 文件管理(file) 164 mdel mdel命令 – 删除 MSDOS 格式的档案 mdel为mtools工具命令,模拟MS-DOS的deltree命令,可删除MS-D0S文件系统中的目录及目录下所有子目录与文件,在删除只读之前会有提示信息产生。 mdel [参数] |-v: 显示更多的信息 | 示例1:
将 A 槽磁片根目录中的autoexec.bat删除:
[root@linuxcool ~]# mdel a:autoexec.bat
示例2:
将 B 槽磁片根目录中的demo.bat删除:
[root@linuxcool ~]# mdel b:demo.bat 文件管理(file) 165 awk awk命令 – 对文本和数据进行处理的编程语言 awk命令来自三位创始人Alfred Aho、Peter Weinberger、Brian Kernighan的姓氏缩写,其功能是对文本和数据进行处理。使用awk命令可以让用户自定义函数或正则表达式,对文本内容进行高效管理,awk与sed、grep并称为Linux系统中的“文本三剑客”。 awk [参数] [文件名] |-c: 使用兼容模式 |
|-C: 显示版权信息 |
|-e: 指定源码文件 |
|-f: 从脚本中读取awk命令 |
|-F: 设置输入时的字段分隔符 |
|-v: 自定义变量信息 |
|-m: 对指定值进行限制 |
|-n: 识别输入数据中的八进制和十六进制数 |
|-O: 启用程序优化 |
|-v: 定义一个变量并赋值 |
|-V: 显示版本信息 | 示例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
………………省略部分输出信息……………… 文件管理(file) 166 joe joe命令 – 纯文本编辑器 joe命令用于编辑文本文件。joe是一个功能强大的全屏幕文本编辑程序。操作的复杂度要比Pico高一点,但是功能较为齐全。joe一次可开启多个文件,每个文件各放在一个编辑区内,并可在文件之间执行剪贴的动作。 joe [参数] |-columns: 设置栏数 |
|-help: 执行程序时一并显示帮助 |
|-lines: 设置行数 |
|-marking: 在选取区块时,反白区块会随着光标移动 |
|-nosta: 程序执行时,不显示状态列 |
|-pg: 按”PageUp”或”PageDown”换页时,所要保留前一页的行数 |
|-linums: 在每行前面加上行号 | 示例1:
利用joe编辑C 语言源代码txt.c:
[root@linuxcool ~]# joe txt.c
示例2:
设置栏数:
[root@linuxcool ~]# joe columns 20 文件管理(file) 167 autoconf autoconf命令 – 自动生成配置脚本 使用autoconf命令可以从模板文件中生成一个配置脚本 autoconf [参数] [模板文件] |-v: 详细报告处理 |
|-d: 不删除临时文件 |
|-f: 认为所有的文件都是过时的 |
|-o: 在指定文件中保存输出 | 示例1:
从模板文件/root/in生成一个配置脚本:
[root@linuxcool ~]# autoconf /root/in 文件管理(file) 168 mkfs-ext2 mkfs.ext2命令 – 建立ext2文件系统 mkfs.ext2命令与mke2fs命令功能相同。都是用来建立ext2文件系统。
Ext2文件系统使用以inode为基础的文件系统。
Ext2文件系统一开始将inode与block规划好了,除非重新格式化,否则inode与block固定后就不再变动,但是当inode与block数量过多时,就不易于管理。因此Ext2在格式化的时候基本上是区分为多个块组(block group),每个块组都有独立的/inode/block/superblock系统。 mkfs.ext2 [参数] |-b: 指定区块大小,单位为字节 |
|-c: 检查是否有损坏的区块 |
|-F: 不管指定的设备为何,强制执行mkfs.ext2 |
|-M: 记录最后一次挂入的目录 |
|-q: 执行时不显示任何信息 | 示例1:
创建指定的ext2文件系统:
[root@linuxcool ~]# mkfs.ext2 -q /dev/hda1
示例2:
检查是否有损坏的区块:
[root@linuxcool ~]# mkfs.ext2 -c
示例3:
强行执行mkfs.ext2:
[root@linuxcool ~]# mkfs.ext2 -F 文件管理(file) 169 tee tee命令 – 读取标准输入的数据 tee命令的功能是用于读取标准输入的数据,将其内容转交到标准输出设备中,同时保存成文件。 tee [参数] [文件名] |-a: 追加写入操作 |
|-i: 忽略中断信号 |
|-p: 诊断写入非管道的错误 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例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 文件管理(file) 170 udevadm-info udevadm info命令 – 查询udev数据库中的设备信息 使用udevadm info命令可以查询udev数据库中的设备信息。也可以从sysfs文件系统中查询到设备的属性以辅助创建udev规则。 udevadm info [参数] |-p: 查询系统设备的路径 |
|-r: 查询dev目录路径名 |
|-q: 查询指定类型的设备信息 | 示例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 文件管理(file) 171 mount mount命令 – 将文件系统挂载到目录 mount命令的功能是将文件系统挂载到目录。文件系统指的是被格式化过的硬盘或分区设备,进行挂载操作后,用户便可以在挂载目录中使用硬盘资源了。
默认情况下,Linux系统并不会像Windows系统那样自动地挂载光盘和U盘设备,需要我们自行完成。 mount [参数] [设备名] [目录名] |-a: 加载/etc/fstab文件中记录的所有文件系统 |
|-F: 为每个设备创建出一个新的挂载版本 |
|-h: 显示帮助信息 |
|-l: 显示已加载的文件系统列表 |
|-L: 挂载具有指定标签的分区 |
|-n: 加载没有写入/etc/mtab文件中的文件系统 |
|-t: 挂载指定文件类型的设备分区 |
|-U: 挂载指定UUID的设备分区 |
|-V: 显示版本信息 |
|-w: 以读写方式挂载文件系统 | 示例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 文件管理(file) 172 egrep egrep命令 – 在文件内查找指定的字符串 egrep命令来自英文词组extended global regular expression print的缩写,其功能是在文件内查找指定的字符串。egrep命令的执行效果与grep -E相似,使用的参数也可以直接参考grep命令。egrep命令改良了grep命令原有的一些字符串处理功能,支持的正则表达式规则更多。 egrep [参数] [文件名] |-a: 像处理文本一样处理二进制程序 |
|-b: 显示匹配行距文件头部的偏移量 |
|-c: 仅显示匹配行的数量 |
|-h: 不显示文件名 |
|-i: 忽略大小写 |
|-l: 只显示符合匹配条件的文件名 |
|-n: 显示内容行号 |
|-q: 静默执行模式 |
|-s: 不显示错误信息 |
|-v: 内容反选 |
|-w: 匹配整词 |
|-x: 匹配整行 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 |
|-r: 使用递归搜索模式 | 示例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 文件管理(file) 173 scp scp命令 – 基于SSH协议远程复制文件 scp命令来自英文词组secure copy的缩写,其功能是基于SSH协议远程复制文件。scp命令可以在多台Linux系统之间复制文件或目录,它有些类似于cp命令的功能,但复制的范围却不是本地,而是网络上的另一台主机。
由于scp命令是基于SSH协议进行的复制操作,全部数据都是加密的,因此会比HTTP和FTP更加安全。 scp [参数] [文件或目录名] [远程服务器信息] |-1: 使用SSH协议版本1 |
|-2: 使用SSH协议版本2 |
|-4: 基于IPv4网络协议 |
|-6: 基于IPv6网络协议 |
|-B: 使用批处理模式 |
|-c: 使用指定密钥对传输文件进行加密 |
|-C: 使用压缩模式 |
|-F: 设置ssh配置文件路径 |
|-i: 从指定文件中读取传输文件的密钥 |
|-o: 设置ssh服务选项 |
|-P: 设置远程主机的端口号 |
|-p: 保留文件的修改时间、访问时间和权限属性 |
|-q: 静默执行模式 |
|-r: 递归处理所有子文件 |
|-S: 设置加密传输时所使用的程序 |
|-v: 显示执行过程详细信息 | 示例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 文件管理(file) 174 zipcloak zipcloak命令 – 压缩文件加密 zipcloak命令对一个 zip [文件]进行加密,提示你输入两次密码(以确保你不会“胖手指”),然后将该文件原位存储。你可以想到,文件大小与原始文件会有所不同。 zipcloak [参数] |-d: 解密加密进度条 |
|-b: 使用由路径指定的目录作为临时zip文件 |
|-O: 将输出写入新的文件中,保留原始文件不变 | 示例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 文件管理(file) 175 dnsdomainname dnsdomainname命令 – 打印DNS的域名 dnsdomainname命令用于定义DNS系统中FQDN名称中的域名。
dnsdomainname命令仅打印FQDN中的域名部分,例如,主机FQDN为“www.linuxcool.com”则使用dnsdomainname命令将打印出“linuxcool.com” dnsdomainname [参数] |-v: 详细信息模式,输出命令执行的详细信息 | 示例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' 文件管理(file) 176 namei namei命令 – 列出一个路径中所有的成分 namei命令通常可以用在出现权限问题时,它可以用于任何 UNIX [文件],如符号链接、文件、目录等。使用namei可以列出路径中所有成分的信息,包含符号链接。通过参数可以显示出包括权限、所有者和所属组等信息。 namei [参数] |-m, --modes: 显示每个文件的模式位 |
|-o, --owners: 显示文件的用户和用户组 | 示例1:
连级查看文件权限:
[root@linuxcool ~]# namei -m /usr/local/sbin/
示例2:
查看文件所属组:
[root@linuxcool ~]# namei -o /etc/hosts
示例3:
以长列表格式显示:
[root@linuxcool ~]# namei -l /etc/hosts 文件管理(file) 177 stty stty命令 – 修改终端命令行的相关设置 stty命令用于检查和修改当前注册的终端的通信参数。UNIX系统为键盘的输入和终端的输出提供了重要的控制手段,可以通过stty命令对特定终端或通信线路设置选项。stty还可用于控制一些具有特殊控制功能的键。比如系统可能已经使用CTRL-D作为文件结束符,但你可能喜欢使用CTRL-C。这时我们可以使用stty命令改变这些默认设置。 stty [参数] |-a: 以容易阅读的方式打印当前的所有配置 |
|-g: 以stty可读方式打印当前的所有配置 | 示例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 文件管理(file) 178 fsview fsview命令 – 文件系统浏览器 使用fsview命令可以进行文件系统浏览。 fsview [参数] [目录] |--display: 使用X-server显示displayname |
|--session: 恢复给定sessionId的应用程序 |
|-sync: 切换到同步模式以便调试 |
|--bg: 设置默认的背景颜色 |
|--noxim: 禁用XIM | 示例1:
浏览/root目录:
[root@linuxcool ~]# fsview /root 文件管理(file) 179 autrace autrace命令 – 跟踪指定进程 使用autrace命令可以跟踪指定进程,并将跟踪的结果写入日志文件之中。 autrace [参数] [程序] |-r: 限制收集到分析资源使用情况所需的系统调用 | 示例1:
跟踪指定进程,并将跟踪的结果写入到日志文件中:
[root@linuxcool ~]# autrace -r /bin/ls /root 文件管理(file) 180 nmcli nmcli命令 – 基于命令行配置网卡参数 nmcli命令来自英文词组networkmanager command-line interface的缩写,其功能是基于命令行配置网卡参数。使用nmcli与nmtui命令工具配置过的参数会直接写入网卡服务配置文件,并永久生效。 nmcli [参数] [网卡名] |-f: 设置要显示的字段名 |
|-h: 显示帮助信息 |
|-p: 美观输出信息 |
|-v: 显示版本信息 | 示例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 文件管理(file) 181 gitps gitps命令 – 报告程序状况 gitps(gnu interactive tools process status)是用来报告并管理程序执行的指令,基本上它就是通过ps指令来报告,管理程序,也能通过gitps指令随时中断,删除不必要的程序。因为gitps指令会去执行ps指令,所以其参数和ps指令相当类似。 gitps [参数] |a: 显示现行终端机下的所有程序,包括其他用户的程序 |
|n: 以数字来表示USER和WCHAN栏位 |
|T: 显示现行终端机下的所有程序 |
|u: 以用户为主的格式来显示程序状况 |
|w: 采用宽阔的格式来显示程序状况 | 示例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 文件管理(file) 182 uncompress uncompress命令 – 压缩或解压缩compress文件 使用uncompres命令可以压缩或解压缩compress文件。其实uncompres命令是compress命令的符号链接,所以命令语法和命令选项与compress命令是一样的。 uncompress [参数] [文件] |-b: 压缩效率是一个介于9到16的数值,值越大,压缩效率就越高 |
|-c: 把压缩后的文件输出到标准输出设备,不删除原始文件 |
|-f: 强制执行压缩或者解压缩 |
|-v: 显示压缩统计信息 | 示例1:
解压缩/root/install.log.Z文件:
[root@linuxcool ~]# compress -f /root/install.log 文件管理(file) 183 xfs-info xfs_info命令 – 查看XFS类型设备详情 xfs_info命令来自英文词组“XFS information”的缩写,其功能是用于查看XFS文件系统详情。这是一个超简单的命令,常见的用法是直接追加设备的名称,即可看到指定XFS设备的详情了。 xfs_info [参数] [设备名] |-d: 设置应增长文件系统的数据部分 |
|-e: 设置实时范围大小 |
|-L: 设置尺寸 |
|-n: 设置不更改文件系统 |
|-r: 设置应增长文件系统的实时部分 |
|-t: 设置备用装载表文件 |
|-V: 显示版本信息 | 示例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 文件管理(file) 184 mke2fs mke2fs命令 -创建文件系统 mke2fs命令被用于创建磁盘分区上的“etc2/etc3”文件系统。 mke2fs [参数] |-b: 指定区块大小,单位为字节 |
|-c: 检查是否有损坏的区块 |
|-F: 不管指定的设备为何,强制执行mke2fs |
|-M: 记录最后一次挂入的目录 |
|-q: 执行时不显示任何信息 |
|-r: 指定要建立的ext2文件系统版本 |
|-v: 执行时显示详细信息 |
|-V: 显示版本信息 | 示例1:
创建指定的ext2文件系统:
[root@linuxcool ~]# mke2fs -q /dev/hda1
示例2:
检查是否有损坏的区块:
[root@linuxcool ~]# mke2fs -c 文件管理(file) 185 su su命令 – 切换用户身份 su命令来自英文单词switch user的缩写,其功能是切换用户身份。将管理员切换至任意用户身份时无须密码验证,而将普通用户切换至任意用户身份时均需密码验证。另外,添加单个减号(-)参数表示完全的身份变更,不保留之前用户的任何环境变量信息。 su [参数] [用户名] |—: 完全地切换身份 |
|-c: 执行完命令后,自动恢复原来的身份 |
|-f: 不读取启动文件(适用于csh和tsch) |
|-l: 切换身份时,同时变更工作目录 |
|-s: 设置要执行的Shell终端 | 示例1:
变更至指定的用户身份:
[root@linuxcool ~]# su linuxprobe
示例2:
完全变更至指定的用户身份:
[root@linuxcool ~]# su - linuxprobe 文件管理(file) 186 cpupower cpupower命令 – 调整CPU主频参数 cpupower命令的功能是调整CPU主频参数。Linux系统内核支持根据使用场景来调节CPU主频参数,以提高计算性能或降低功耗。
对于移动设备来讲,在没有接通电源的时候,续航是很重要的,此时就可以启用CPU休眠功能。而服务器一直接着电源,而且需要具有很强的性能,此时就应禁止CPU休眠功能,并把CPU主频固定到最高值。 |frequency-info: 显示主频信息 |
|frequency-set: 设置主频模式 |
|-c: 指定要显示的内核列表 |
|--help: 显示帮助信息 | 示例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 文件管理(file) 187 dris dris命令 – 显示和清空目录堆栈中的内容 dris命令用于显示和清空目录堆栈中的内容。 dris [参数] |+n: 显示从左边算起第n笔的目录 |
|-n: 显示从右边算起第n笔的目录 |
|-l: 显示目录完整的记录 | 示例1:
显示从左边算起第6笔的目录:
[root@linuxcool ~]# dris +6
示例2:
显示从右边算起第7笔的目录:
[root@linuxcool ~]# dris -6
示例3:
显示目录完整的记录:
[root@linuxcool ~]# dris -l 文件管理(file) 188 smbclient smbclient命令 – 存取SMB/CIFS服务器的用户端程序 SMB与CIFS为服务器通信协议,常用于Windows95/98/NT等系统。smbclient(samba client)可让Linux系统存取Windows系统所分享的资源。 smbclient [参数] |-L: 显示服务器端所分享出来的所有资源 |
|-U: 指定用户名称 |
|-s: 指定smb.conf所在的目录 |
|-O: 设置用户端TCP连接槽的选项 |
|-N: 不用询问密码 | 示例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 文件管理(file) 189 vcdtools vcdtools命令 – 制作vcd影像 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仿真模 式所必须的。 vcdtools [参数] |mkvcdfs: MPEG文件合并 |
|vcdmplex: 用于音频和视频合并 |
|cdrdao: 用于刻录影像到光盘 | 示例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 文件管理(file) 190 ntpq ntpq命令 – 查询NTP时间服务器信息 ntpq命令来自英文词组“NTP query”的缩写,其功能是用于查询NTP时间服务器信息。 ntpq [参数] [对象] |-4: 基于IPv4网络协议 |
|-6: 基于IPv6网络协议 |
|-c: 添加到主机的命令列表 |
|-d: 使用调试模式 |
|-i: 使用交互模式 |
|-n: 使用十进制格式显示主机地址 |
|-p: 显示服务器同级设备的列表 | 示例1:
查看服务器同级设备列表:
[root@linuxcool ~]#ntpq -p
示例2:
显示内核相关信息:
[root@linuxcool ~]#ntpq -c kerninfo
示例3:
要求用户输入密码进行验证:
[root@linuxcool ~]#ntpq -c passwd
示例4:
以十进制格式显示主机地址:
[root@linuxcool ~]#ntpq -pn 文件管理(file) 191 dpkg-divert dpkg-divert命令 – 将文件安装到转移目录 dpkg-divert命令是用于将引起冲突的文件安装到转移目录而非默认目录。 dpkg-divert [参数] [文件] |-- -add: 添加一个转移文件 |
|-- -remove: 删除一个转移文件 |
|-- -list: 列出匹配的转移 |
|-- -truename: 对应转移文件真实文件名 |
|-- -quidet: 安静模式 | 示例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 文件管理(file) 192 ll ll命令 – 显示指定文件的详细属性信息 ll命令的功能是显示指定文件或目录的详细属性信息。实际它不是一个真实存在的命令,只是“ls -l --color=auto”的别名而已。ll命令可以默认列出当前目录内文件的详细属性信息,包含权限、所属、修改时间以及占用空间等信息。 ll [参数] [文件名] |-a: 显示目录下的所有文件 |
|-A: 显示除“.”和“..”外的所有文件 |
|-d: 显示目录自身的属性信息 |
|-f: 不进行文件排序 |
|-h: 以更易读的容量单位显示文件大小 |
|-i: 显示文件的inode属性块信息 |
|-k: 以字节为单位显示文件的大小 |
|-l: 使用长格式输出文件信息 |
|-m: 以逗号为间隔符输出文件信息 |
|-q: 用问号代替所有无法显示的字符 |
|-Q: 为所有文件名称加上双引号 |
|-r: 反向显示文件排序 |
|-R: 递归显示所有子文件 |
|-s: 显示每个文件名时加上大小信息 |
|-S: 依据文件大小排序 |
|-t: 依据文件修改时间排序 |
|-u: 依据文件访问时间排序 | 示例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 文件管理(file) 193 rpmsign rpmsign命令 – 签名管理工具 rpmsign命令属于使用rpm软件包的签名管理工具。 rpmsign [参数] |--addsign: 为自动软件包添加签名 |
|--delsign: 删除软件包签名 |
|--resign: 重新签名软件包 |
|--nosignature: 不验证软件包签名 | 示例1:
安装rpmsign工具:
[root@linuxcool ~]# yum install rpm-sign 文件管理(file) 194 dirname dirname命令 – 去除文件名中的非目录部分 dirname命令去除文件名中的非目录部分,仅显示与目录有关的内容。dirname命令读取指定路径名保留最后一个/及其后面的字符,删除其他部分,并写结果到标准输出。如果最后一个/后无字符,dirname [命令]使用倒数第二个/,并忽略其后的所有字符。dirname 和 basename 通常在 shell 内部命令替换使用,以指定一个与指定输入文件名略有差异的输出文件名。 dirname [参数] |--help: 显示帮助 |
|--version: 显示版本号 | 示例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 文件管理(file) 195 lftpget lftpget命令 – 下载指定的文件 lftp是linux中一款ftp服务器,相比windows中的ftp显得要复杂不少了,下面我来总结一下lftp文件上传,文件下载,及文件查找等等相关命令吧。 lftpget [参数] [文件] |-c: 继续先前的下载 |
|-d: 输出调试信息 | 示例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 / 文件管理(file) 196 dpkg-statoverride dpkg-statoverride命令 – 改写所有权和模式 dpkg-statoverride命令是Debianlinux下改写软件包状态的实用工具,dpkg-statoverride命令有3个基本功能即添加、删除、和显示改写列表。
使用dpkg-statoverride命令删除改写后,如果希望恢复旧的权限,需要手工设置权限或重新安装包含该文件的软件包。 dpkg-statoverride [参数] |-add: 为文件添加一个改写 |
|-- -remove: 为文件删除一个改写 |
|-- -list: 显示所有改写列表 |
|-- -update: 如果文件存在,则立刻执行改写操作 | 示例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 文件管理(file) 197 rev rev命令 – 颠倒过来显示文件内容 使用rev命令可以把每一行字符的顺序颠倒过来显示文件内容 rev [文件] 示例1:
把每一行字符的顺序颠倒过来显示文件内容:
[root@linuxcool ~]# rev /root/pu 文件管理(file) 198 mysql mysql命令 – MySQL服务器的客户端工具 mysql命令的功能是用于MySQL服务器的客户端工具,它工作在Shell命令行终端中,完成对远程MySQL数据库服务器的管理操作。 mysql [参数] [数据库] |-e: 执行MySQL内部命令 |
|-h: 设置服务器的域名或IP地址 |
|-p: 设置服务器的密码 |
|-u: 设置服务器的用户名 | 示例1:
连接本地MySQL服务器:
[root@linuxcool ~]#mysql -h localhost -u root -p
示例2:
连接远程MySQL服务器,并打开指定名称的数据库:
[root@linuxcool ~]#mysql -h 192.168.10.10 -u root -p linuxcool 文件管理(file) 199 cksum cksum命令 – 校验文件 cksum命令用于检查文件的CRC是否正确, 确保文件从一个系统传输到另一个系统的过程中的正确性 。循环冗余校验法 ( CRC )是一种排错检查方式,该校验法的标准由CCITT所指定,至少可检测到99.998%的已知错误。
这种方法要求校验和在源系统和目的系统中分别被计算出来,之后进行比较,如果校验和相等,则认为该文件传输正确。若不指定任何文件名称或是所给予的文件名为”-“,则指令”cksum”会从标准输入设备中读取数据。 cksum [参数] [文件] |--help: 在线帮助 |
|--version: 显示版本信息 | 示例1:
计算文件“tempfile”的完整性:
[root@linuxcool ~]# cksum tempfile4294967295 0 tempfile 文件管理(file) 200 as as命令 – 汇编语言编译器 as命令的功能是用于汇编语言编译器,属于二进制工具集GNU Binutils的一员,也是GNU开放源代码项目推出的一款重量级汇编语言编译器。as命令能够将汇编代码编译成二进制程序,支持多种类型的处理器,非常好用。 as [参数] [文件名] |-ac: 忽略失败条件 |
|-ad: 忽略调试指令 |
|-ah: 包括高级源 |
|-al: 包括装配 |
|-am: 包括宏扩展 |
|-an: 忽略形式处理 |
|-as: 包括符号 |
|-I: 将指定目录加入到搜索列表 |
|-f: 跳过空白和注释预处理 |
|-g: 显示调试信息 |
|-J: 对于有符号溢出不显示警告信息 |
|-L: 在符号表中保留本地符号 |
|-o: 设置要生成的目标文件 |
|--no-warn: 不显示告警信息 |
|--statistics: 打印汇编所用的最大空间和总时间 |
|--version: 显示版本信息 |
|--warn: 显示告警信息 | 示例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 文件管理(file) 201 telinit telinit命令 – 更改系统的运行级别 使用telinit命令可以更改Linux系统的运行级别。运行级别可以是0~6之间的一个数字,其中0是关闭系统,1是进入单用户模式,2~5是多用户运行级别,6是重新启动系统。s或S表示单用户模式。 telinit [参数] [运行级别] |-q: 减少输出,只有错误信息 |
|-v: 增加输出,包括信息性消息 | 示例1:
更改Linux系统的运行级别为3:
[root@linuxcool ~]# telinit 3 文件管理(file) 202 visudo visudo命令 – 编辑/etc/sudoers文件 使用visudo命令可以打开/etc/sudoers文件进行编辑设置sudo visudo [参数] |-c: 启用check-only模式 |
|-q: 启用安静模式,此模式下不显示错误信息 |
|-s: 启用严格检查sudoers文件 | 示例1:
使用visudo命令编辑/etc/sudoers文件:
[root@linuxcool ~]# visudo
示例2:
检查/etc/sudoers文件的语法错误、所有者和模式:
[root@linuxcool ~]# visudo -c 文件管理(file) 203 beadm beadm命令 – 管理 ZFS 引导环境 beadm命令是管理ZFS启动环境(BEs)的用户界面。此实用程序供希望在一个系统上管理多个 Oracle Solaris 实例的系统管理员使用。用户通过使用BeFmris确定要管理的BE。 beadm [参数] |create: 创建新的引导环境 |
|destroy: 销毁引导环境 |
|list: 列出引导环境信息 |
|mount: 挂载引导环境 |
|unmount: 卸载引导环境 |
|rename: 修改引导环境名称 | 示例1:
创建新的引导环境:
[root@linuxcool ~]# beadm create linuxcool
示例2:
销毁上面创建的引导环境:
[root@linuxcool ~]# beadm destroy linuxcool
示例3:
列出所有引导环境信息:
[root@linuxcool ~]# beadm list
示例4:
挂载引导环境:
[root@linuxcool ~]# beadm mount linuxcool 文件管理(file) 204 resize resize命令 – 设置终端机视窗的大小 resize命令设置终端机视窗的大小。执行resize指令可设置虚拟终端机的视窗大小。 resize [参数] |-c: 就算用户环境并非C Shell,也用C Shell指令改变视窗大小 |
|-s: 设置终端机视窗的垂直高度和水平宽度 |
|-u: 就算用户环境并非Bourne Shell,也用Bourne Shell指令改变视窗大小 | 示例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 文件管理(file) 205 ngrep ngrep命令 – 数据包匹配和显示工具 ngrep命令是grep命令的网络版,他力求更多的grep特征,用于搜寻指定的数据包。正由于安装ngrep需用到libpcap库, 所以支持大量的操作系统和网络协议。能识别TCP、UDP和ICMP包,理解bpf的过滤机制。 ngrep [参数] |-i: 忽略大小写 |
|-o: 将匹配的数据保存到文件 |
|-c: 强制显示列的宽度 |
|-L: 查询网卡接口 | 示例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 文件管理(file) 206 traceroute traceroute命令 – 追踪网络数据包传输路径 traceroute命令来自英文词组“Trace router”的拼写,其功能是用于追踪网络数据包传输路径。执行tracerouter命令后会默认发送一个40字节大小的数据包到远程目标主机,从反馈信息我们可以得知数据包经过了哪些路径最终到达了终点。 traceroute [参数] [域名或IP地址] |-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: 开启或关闭数据包的正确性检验 | 示例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 文件管理(file) 207 rpmbuild rpmbuild命令 – 创建软件包 rpmbuild命令被用于创建rpm的二进制软件包和源码软件包。 rpmbuild [参数] |-ba: 创建二进制和源代码包 |
|-bb: 创建二进制代码包 |
|-bs: 创建源代码包 | 示例1:
在指定路径下创建二进制和源代码包:
[root@linuxcool ~]# rpmbuild -ba /usr/src/redhat/RPMS/i386 文件管理(file) 208 arj arj命令 – 创建和管理.arj压缩包 arj命令是“.arj”格式的压缩文件的管理器,用于创建和管理“.arj”压缩包。
当创建arj压缩包时,可省略“.arj”的后缀,由arj命令自动添加,对现有的arj压缩包操作时,必须同时指明文件名和后缀。 arj [参数] |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: 用新选项复制压缩包 | 示例1:
显示压缩包中的文件列表:
[root@linuxcool ~]# arj l linuxcool.arj
示例2:
显示压缩包中的详细文件列表:
[root@linuxcool ~]# arj v linuxcool.arj
示例3:
压缩整个目录,忽略文件路径:
[root@linuxcool ~]# arj a -e linuxcool * 文件管理(file) 209 indent indent命令 – 调整代码文件格式 indent命令用于调整C原始代码文件的格式。indent可辨识C的原始代码文件,并加以格式化,以方便程序设计师阅读。
indent命令按照随命令输入的标志所指定的格式重新格式化一个 C 程序。 indent [参数] |-bad: 在声明区段或加上空白行 |
|-bap: 在程序或加上空白行 |
|-i: 设置缩排的格数 |
|-v: 执行时显示详细的信息 | 示例1:
执行时显示详细的信息:
[root@linuxcool ~]# indent -v
示例2:
执行时不显示详细的信息:
[root@linuxcool ~]# indent -nv
示例3:
将结果显示在标准输出设备:
[root@linuxcool ~]# indent -st 文件管理(file) 210 rpm2cpio rpm2cpio命令 – 文件格式转换 rpm2cpio命令用于将rpm软件包转换为cpio格式的文件。 rpm2cpio [参数] |文件名: 指定要转换的rpm包的文件名 | 示例1:
libstdc++-4.3.0-8.i386.rpm软件包转换成cpio格式:
[root@linuxcool ~]# rpm2cpio ../libstdc++-4.3.0-8.i386.rpm | cpio -idv 文件管理(file) 211 stat stat命令 – 显示文件的状态信息 stat命令来自英文单词status的缩写,其功能是显示文件的状态信息。在Linux系统中,每个文件都有3个“历史时间”——最后访问时间(ATIME)、最后修改时间(MTIME)、最后更改时间(CTIME),用户可以使用stat命令查看到它们,进而判别有没有其他人修改过文件内容。
使用touch命令可以轻易修改文件的ATIME和MTIME,因此请勿单纯以文件历史时间作为判别系统有无被他人入侵的唯一标准。 stat [参数] [文件名] |-c: 设置显示格式 |
|-f: 显示文件系统信息 |
|-L: 支持符号链接 |
|-t: 设置以简洁方式显示 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例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 文件管理(file) 212 tailf tailf命令 – 跟踪输出文件的新内容 tailf命令来自英文词组“tail file”的缩写,其功能是用于跟踪输出文件的新内容,无限相像于“tail -f”命令组合。tailf命令能够持续显示指定文件中的最新内容,就像官网中推荐的那样——特别适合于日志文件的追踪(follow the growth of a log file),好用到流眼泪~ tailf [参数] [文件名] |-h: 显示帮助信息 |
|-n: 设置输出行数 |
|-V: 显示版本信息 | 示例1:
持续跟踪输出指定文件中的最新内容:
[root@linuxcool ~]#tailf File.log
示例2:
持续跟踪输出指定文件中最后5行的最新内容:
[root@linuxcool ~]#tailf -n 5 File.log 文件管理(file) 213 ldd ldd命令 – 打印程序依赖的共享库 ldd命令用于打印程序或者库文件所依赖的共享库列表。 ldd [参数] [文件] |-v: 详细信息模式,打印所有相关信息 |
|-u: 打印未使用的直接依赖 |
|-d: 执行重定位和报告任何丢失的对象 |
|-r: 执行数据对象和函数的重定位,并且报告任何丢失的对象和函数 |
|-- -help: 显示帮助信息 | 示例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) 文件管理(file) 214 hwclock hwclock命令 – 显示与设置系统硬件时钟 hwclock命令来自英文词组“hardware clock”的缩写,其功能是用于显示与设置系统硬件时钟。hwclock是一个硬件时钟的管理工具,可以用于显示当前时间、设置硬件时钟与系统时钟同步任务。
系统硬件时钟是指电脑主板上的时钟信息,通常会被写入到BIOS中,而系统时钟则指的是内核中的时钟信息。Linux系统在启动时会由内核读取硬件时钟的信息,随后系统时钟便独立运作,Linux相关函数及指令都会依据该时间工作。 hwclock [参数] [对象] |--adjust: 根据先前记录评估时钟偏差值 |
|--compare: 将系统时钟与硬件时钟比较 |
|--debug: 使用调试模式 |
|--directisa: 直接从I/O指令来存取硬件时钟 |
|--epoch: 设置硬件时钟时代开始的年份 |
|--hctosys: 同步系统时钟到硬件时钟 |
|--localtime: 设置硬件时钟保持为本地时间 |
|--rtc: 设置默认配置文件 |
|--set-date: 设置硬件时钟 |
|--show: 显示硬件时钟 |
|--systohc: 同步硬件时钟到系统时钟 |
|--test: 测试硬件时钟 |
|--utc: 使用格林威治时间 |
|--version: 显示版本信息 | 示例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 文件管理(file) 215 mysqlcheck mysqlcheck命令 – 检查和修复MyISAM表 使用mysqlcheck命令可以检查和修复MyISAM表。它可以优化和分析表。mysqlcheck的功能类似myisamchk,但其工作不同。主要差别是当mysql服务器在运行时必须使用mysqlcheck,而myisamchk应用于服务器没有运行时。使用mysqlcheck的好处是不需要停止服务器来检查或修复表。 mysqlcheck [参数] [数据库] [表] |-B: 处理数据库中命名的所有表 |
|-a: 分析表 |
|-A: 检查所有数据库 |
|-c: 检查表的错误 | 示例1:
检查和修复数据库www中的所有表:
[root@linuxcool ~]# mysqlcheck www
示例2:
检查和修复数据库www中的table1表:
[root@linuxcool ~]# mysqlcheck www table1
示例3:
对mysql库进行mysqlcheck操作:
mysqlcheck mysql -uroot -p 文件管理(file) 216 bzmore bzmore命令 – 查看bzip2压缩过的文本文件的内容 bzmore命令用于查看bzip2压缩过的文本文件的内容,当下一屏显示不下时可以实现分屏显示。 bzmore [参数] 示例1:
分屏显示backup.tar.bz2压缩文件的内容:
[root@linuxcool ~]# bzmore backup.tar.bz2 文件管理(file) 217 file file命令 -识别文件类型 file命令的功能是识别文件类型,也可以用来辨别一些内容的编码格式。由于Linux系统并不是像Windows系统那样通过扩展名来定义文件类型的,因此用户无法直接通过文件名来进行区别。file命令可以通过分析文件头部信息中的标识信息来显示文件类型,使用很方便。 file [参数] [文件名] |-b: 不显示文件名 |
|-c: 显示执行过程 |
|-f: 显示文件类型信息 |
|-i: 显示MIME类别信息 |
|-m: 指定魔法数字文件 |
|-v: 显示版本信息 |
|-z: 尝试去解读压缩内的文件内容 | 示例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) 文件管理(file) 218 iwconfig iwconfig命令 – 配置无线网络接口 使用iwconfig命令可以为无线接口显示或设置网络接口的参数,它可以用来配置无线网络接口是非常好用的。 iwconfig [参数] |nwid: 设置网络ID |
|nick: 设置昵称或站点名称 | 示例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 文件管理(file) 219 true true命令 – 重定向清空文件内容 true命令的功能是用于重定向清空文件内容,相当于使用echo命令输出重定向空白信息到指定文件的效果。true命令会清空文件中的内容,而不删除文件本身,并在操作完成后返回退出码0,在Shell脚本中较为常用。 true [参数] [文件名] |--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例1:
清空指定文件中的内容:
[root@linuxcool ~]#true > File.log 文件管理(file) 220 vimdiff vimdiff命令 – 同时编辑多个文本文件 vimdiff命令来自英文词组“Vim differences”的缩写,其功能是用于同时编辑多个文本文件。对纯文本文件的比较和合并工具一直是软件开发过程中比较重要的组成部分,vimdiff命令能够比较多个文本文件之间的差异并快速定位,并很容易地进行文件合并操作。 vimdiff [参数] [文件名1] [文件名2] [文件名N] |dd: 剪切当前行 |
|数字dd: 剪切当前行开始的多行 |
|p: 粘贴 |
|qa: 同时退出多个文件 |
|u: 撤销操作 |
|wa: 保存文件 |
|wqa: 保存并退出文件 |
|yy: 复制当前行 |
|数字yy: 复制当前行开始的多行 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例1:
同时编辑两个内容不同,存在差异的文件:
[root@linuxcool ~]#vimdiff File1 File2 文件管理(file) 221 svn svn命令 – subversion命令行客户端程序 svn命令是subversion命令行客户端程序,大都数的子命令可接受文件或目录参数,对目录进行递归处理。如果指定参数,默认对当前目录进行递归处理。 svn [参数] |add: 把文件和目录纳入版本控制,通过调度添加到版本库 |
|copy: 在工作副本或版本中复制数据,保留历史 |
|checkout: 从版本库中签出工作副本 | 示例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 文件管理(file) 222 rename rename命令 – 批量修改文件名称 rename命令的功能是用于批量修改文件名称。与mv命令一次只能修改一个文件名不同,rename命令能够基于正则表达式对文件名进行批量修改,但要求是把匹配规则准确地描述给系统。
rename命令的参数有三项:其一是当前文件名中要被修改的字符,其二是其要被修改为的新字符,其三是要被执行的对象文件列表。初次可能有点难理解,动手尝试下吧~ rename [原字符] [新字符] [文件名] |-V: 显示版本信息 | 示例1:
将当前工作目录下后缀为.cfg的文件,改成.txt后缀结尾:
[root@linuxcool ~]#rename .cfg .txt *
示例2:
将当前工作目录下文件名中的小写a改成大写A:
[root@linuxcool ~]#rename a A * 文件管理(file) 223 statserial statserial命令 – 显示串口状态 statserial(status ofserial port)可显示各个接脚的状态,常用来判断串口是否正常。 statserial [参数] |-d: 以10进制数字来表示串口的状态 |
|-n: 仅显示一次串口的状态后即结束程序 |
|-x: 与-n参数类似,但是以16进制来表示 | 示例1:
显示串口状态:
[root@linuxcool ~]# statserial /dev/tty1
示例2:
只显示一次串口状态:
[root@linuxcool ~]# statserial -n /dev/tty1 文件管理(file) 224 tree tree命令 – 以树状图形式列出目录内容 tree命令的功能是以树状图形式列出目录内容,可帮助运维人员快速了解目录的层级关系。 tree [参数] |-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: 显示版本信息 | 示例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 文件管理(file) 225 matchpathcon matchpathcon命令 – 查看文件默认安全上下文 matchpathcon命令的作用是可以得到指定文件默认SELinux安全上下文。
相同的路径可以具有不同的安全性上下文,具体取决于文件类型。matchpathcon命令还将在确定默认安全上下文时的文件类型(如果文件存在)。如果文件不存在,则不会发生文件类型匹配。
如果系统提示没有安装matchpathcon命令,则需要先安装selinux-utils工具包。 matchpathcon [参数] [选项] |-p: 使用前缀的速度解答 |
|-N: 不使用解答 |
|-n: 不显示路径 |
|-V: 在磁盘匹配默认上验证文件上下文 |
|-f: 使用备用file_context文件 | 示例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 文件管理(file) 226 mkfifo mkfifo命令 – 创建FIFO文件 使用mkfifo命令可以使用指定的名称创建先进先出文件(FIFO) mkfifo [参数] [名称] |-m <模式>: 设置权限模式,类似chmod |
|-Z : 将每个创建的目录SELinux安全环境设置为CTX | 示例1:
创建FIFO文件 /root/fifo:
[root@linuxcool ~]# mkfifo /root/fifo 文件管理(file) 227 mmove mmove命令 – 移动文件或目录 Linuxmmove命令用于在MS-DOS文件系统中,移动文件或目录,或更改名称。
mmove为mtools工具命令,模拟MS-DOS的move命令,可在MS-DOS文件系统中移动现有的文件或目录,或是更改现有文件或目录的名称。 mmove [源文件或目录] [目标文件或目录] |源文件或目录: 执行操作的源文件或目录路径 |
|目标文件或目录: 执行操作后的目标文件或目录路径 | 示例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:/ #以下为目录信息
#文件名目录大小 修改时间
./TEST2009-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:/ #以下为目录信息
#文件名目录大小 修改时间
./TEST2009-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 #统计总大小 文件管理(file) 228 alias alias命令 – 设置命令别名 alias命令来自英文单词alias,中文译为“别名”,其功能是设置命令别名信息。我们可以使用alias将一些较长的命令进行简写,往往几十个字符的命令会变成几个字母,从而大大提高我们的工作效率。
必须使用单引号将原来的命令引起来,防止特殊字符导致错误。并且alias命令的作用只局限于该次登入的操作,若要每次登入都能使用这些命令别名,则可将相应的alias命令存放到bash的初始化文件/etc/bashrc中。 alias [参数] [对象] |-p: 显示系统中已有的命令别名 | 示例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
………………省略部分输出信息……………… 文件管理(file) 229 mv mv命令 – 移动或改名文件 mv命令来自英文单词move的缩写,中文译为“移动”,其功能与英文含义相同,能够对文件进行剪切和重命名操作。这是一个被高频使用的文件管理命令,我们需要留意它与复制命令的区别。cp命令是用于文件的复制操作,文件个数是增加的,而mv则为剪切操作,也就是对文件进行移动(搬家)操作,文件位置发生变化,但总个数并无增加。
在同一个目录内对文件进行剪切的操作,实际上应理解成重命名操作,例如下面的第一个示例所示。 mv [参数] [源文件名] [目标文件名] |-b: 覆盖前为目标文件创建备份 |
|-f: 强制覆盖目标文件而不询问 |
|-i: 覆盖目标文件前询问用户是否确认 |
|-n: 不要覆盖已有文件 |
|-u: 当源文件比目标文件更新时,才执行覆盖操作 |
|-Z: 设置文件安全上下文 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例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/* . 文件管理(file) 230 ausearch ausearch命令 – 检索审计记录 ausearch命令来自英文词组“audit search”的缩写,其功能是用于检索审计记录。ausearch命令会基于审计文件(/var/log/audit/audit.log)进行信息检索,能够根据不同的事件或条件,如事件标识符、密钥标识符、CPU体系结构、命令名、主机名、组名、组ID、系统调用……等来检索日志,帮助运维人员更好地了解系统运行情况。 ausearch [参数] [对象] |-a: 基于事件ID搜索 |
|-c: 基于命令行搜索 |
|-e: 基于退出码搜索 |
|-f: 基于文件名搜索 |
|-h: 显示帮助信息 |
|-k: 基于关键词搜索 |
|-l: 刷新每一行的输出 |
|-p: 基于进程PID搜索 |
|-v: 显示版本信息 |
|-w: 基于字符串搜索 |
|-ga: 基于用户组ID搜索 |
|-hn: 基于主机名搜索 |
|-tm: 基于终端搜索 |
|-ua: 基于用户ID搜索 |
|-ui: 基于计算机名称搜索 | 示例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'
………………省略部分输出信息……………… 文件管理(file) 231 uucp uucp命令 – unix系统之间传输文件 UUCP为Unix系统之间,通过序列线来连线的协议。uucp使用UUCP协议,主要的功能为传送文件。 uucp [参数] |-c: 不用将文件复制到缓冲区 |
|-C: 将文件复制到缓冲区 |
|-d: 在传送文件时,自动在[目的]建立必要的目录 |
|-f: 在传送文件时,若需要在[目的]建立目录,则放弃执行该作业 |
|-I: 指定uucp配置文件 |
|-j: 显示作业编号 |
|-R: 若[来源]为目录,则将整个目录包含子目录复制到[目的] | 示例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/ 文件管理(file) 232 cpio cpio命令 – 复制文件到归档包 cpio命令主要是用来建立或者还原备份档的工具程序,cpio命令可以复制文件到归档包中,或者从归档包中复制文件。 cpio [参数] |-0: 接受新增列控制字符,通常配合find指令的“-print0”参数使用 |
|-a: 重新设置文件的存取时间 |
|-A: 附加到已存在的备份文档中,且这个备份文档必须存放在磁盘上,而不能放置于磁带机里 |
|-B: 将输入/输出的区块大小改成5210Bytes |
|-c: 使用旧ASCII备份格式 | 示例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 文件管理(file) 233 pg-ctl pg_ctl命令 – 控制PostgreSQL服务 pg_ctl是一个启动、停止、重新启动、重新加载配置文件、报告PostgreSQL服务器的状态,或者是杀掉PostgreSQL进程的工具。 pg_ctl [参数] |-D: 指定数据存储的位置 |
|-s: 只显示错误信息,没有其他信息 |
|-W: 不用等待操作完成 |
|-w: 等待直到操作完成 | 示例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 文件管理(file) 234 insmod insmod命令 – 载入模块 insmod命令用于将给定的模块加载到内核中。
Linux有许多功能是通过模块的方式,在需要时才载入kernel。如此可使kernel较为精简,进而提高效率,以及保有较大的弹性。这类可载入的模块,通常是设备驱动程序。 insmod [参数] |-f: 不检查目前kernel版本与模块编译时的kernel版本是否一致,强制将模块载入 |
|-k: 将模块设置为自动卸除 |
|-m: 输出模块的载入信息 |
|-o: 指定模块的名称,可使用模块文件的文件名 |
|-p: 测试模块是否能正确地载入kernel |
|-s: 将所有信息记录在系统记录文件中 |
|-v: 执行时显示详细的信息 |
|-x: 不要汇出模块的外部符号 |
|-X: 汇出模块所有的外部符号,此为预设置 | 示例1:
加载RAID1阵列级别模块,如下所示:
[root@linuxcool ~]# insmod /lib/modules/2.6. 文件管理(file) 235 ytalk ytalk命令 – 与其他用户交谈 通过ytalk指令,你可以和其他用户线上交谈,如果想和其他主机的用户交谈,在用户名称后加上其主机名称或IP地址即可。 ytalk [参数] |-h: 指定交谈对象所在的远端主机 |
|-i: 用提醒声响代替显示信息 |
|-s: 在指令提示符号先开启ytalk交谈窗 |
|-x: 关闭图形界面 |
|-Y: 所有必须回应yes或no的问题,都必须用大写英文字母”Y”或”N”回答 | 示例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 文件管理(file) 236 dos2unix dos2unix命令 – 将DOS格式的文本文件转换成UNIX格式 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命令。 dos2unix [参数] [文件] |-k: 保持输出文件的日期不变 |
|-q: 安静模式,不提示任何警告信息 |
|-V: 查看版本 |
|-c: 转换模式:ASCII 7bit ISO Mac |
|-o: 写入到源文件 |
|-n: 写入到新文件 | 示例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 文件管理(file) 237 rndc-confgen rndc-confgen命令 – 密钥生成工具 rndc-confgen命令的作用是可以为rndc生成配置文件。
rndc命令通过TCP连接与DNS服务器通信,发送使用数字签名认证的命令。在rndc命令和named守护进程的当前版本中,唯一支持的认证算法是HMAC-MD5,它在连接的每一端使用共享密钥。这为命令请求和DNS服务器响应提供了TSIG-style认证。所有的经通道发送的命令必须由服务器认识的key_id标记。rndc命令会读取配置文件以确定如何与DNS服务器联系必须使用何种算法。 rndc-confgen [参数] |-t<目录>: 指定一个运行chroot目录,rndc.key文件的副本将被写入到该目录中 |
|-s: 为来自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 | 示例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 文件管理(file) 238 zipnote zipnote命令 – 显示压缩包注释内容 zipnote命令可用于从 zip 归档中提取注释或添加注释。要显示注释,只需在命令前面加上归档名称即可,如果之前未添加任何注释。 zipnote [参数] |-w: 从stdin向zipfile写入注释 |
|-b: 使用临时zip文件的路径 |
|-q: 禁止显示某些信息性消息 | 示例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 文件管理(file) 239 emacs emacs命令 – 功能强大的文本编辑器 emacs命令是由GNU组织的创始人Richard Stallman开发的一个功能强大的全屏文本编辑器,它支持多种编程语言,具有很多优良的特性。有众多的系统管理员和软件开发者使用emacs。 emacs [参数] |-q: 启动emacs编辑器,而不加载初始化文件 |
|-u: 启动emacs编辑器时,加载指定用户的初始化文件 |
|-l: 加载指定的lisp代码文件 |
|-batch: 以批处理模式运行emacs编辑器 | 示例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 文件管理(file) 240 expand expand命令 – 转换为空白字符 expand命令用于将文件的制表符(TAB)转换为空白字符(space),将结果显示到标准输出设备。 expand [参数] |-t: 指定制表符所代表的空白字符的个数,而不使用默认的8。 |
|-i: 不转换非空白符后的制表符 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例1:
将文件中每行第一个Tab符替换为6个空格符,非空白符后的制表符不作转换:
[root@linuxcool ~]# expand -i -t 6 file 文件管理(file) 241 chown chown命令 – 改变文件或目录的用户和用户组 chown命令来自英文词组change owner的缩写,其功能是改变文件或目录的用户和用户组信息。管理员可以改变一切文件的所属信息,而普通用户只能改变自己文件的所属信息。 chown [参数] [所属主:所属组] [文件名] |-c: 显示所属变更信息 |
|-f: 若该文件拥有者无法被更改也不显示错误 |
|-h: 仅对链接文件(而非真正指向的文件)进行更改 |
|-P: 不遍历任何符号链接 |
|-R: 递归处理所有子文件 |
|--help: 显示帮助信息 |
|--no-preserve-root: 不特殊对待根目录 |
|--preserve-root: 不允许在根目录上执行递归操作 |
|--version: 显示版本信息 | 示例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 文件管理(file) 242 mailx mailx命令 – 发送和接收电子邮件 mailx命令的功能是用于发送和接收电子邮件,拥有比mail命令更易读的邮件格式,应用于RHEL /CentOS8版本以后的系统中。 mailx [参数] [用户名] |-a: 添加附件文件 |
|-b: 发送密件副本 |
|-e: 检验是否有邮件系统 |
|-f: 从指定文件中读取消息 |
|-H: 仅显示标题摘要 |
|-r: 设置发件人地址 |
|-s: 设置邮件标题 |
|-u: 读取指定用户的邮箱 |
|-v: 显示执行过程详细信息 |
|-V: 显示版本信息 | 示例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 文件管理(file) 243 xzgrep xzgrep命令 – 在xz压缩文件上搜索正则表达式 使用xzgrep命令可以在xz、gzip或bzip2压缩文件上启动grep搜索正则表达式。 xzgrep [参数] [模式] [文件] 示例1:
在压缩文件/root/a.xz中搜索字符a:
[root@linuxcool ~]# xzgrep a /root/a.xz 文件管理(file) 244 tgz tgz命令 – 将文件压缩为.tgz格式文件 tgz命令来自英文词组“tape archive gunzip”的缩写,其功能适用于将文件压缩为.tgz格式文件。Linux系统管理员们一般会使用tar命令进行压缩或解压工作,但其实.tar.gz和.tgz是完全相同的格式,只是名称不同,因此用那个都是一样的,今后又多了一个选择~ tgz 目标文件 原始文件 示例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 文件管理(file) 245 mysqlimport mysqlimport命令 – MySQL服务器数据导入 mysqlimport命令为MySQL数据库服务器提供了一种命令行方式导入数据工具,它从特定格式的文本文件中读取数据插入MySQL数据库表中。 mysqlimport [参数] |-D: 导入数据前清空表 |
|-f: 出现错误时继续处理剩余的操作 |
|-h: MySQL服务器的ip地址或主机名 |
|-u: 连接MySQL服务器的用户名 |
|-p: 连接MySQL服务器的密码 | 示例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 文件管理(file) 246 autoupdate autoupdate命令 – 更新configure.in到较新的Autoconf 使用autoupdate命令可以更新configure.ac或configure.in到较新的Autoconf autoupdate [参数] [模板文件] |-v: 冗长的报告处理 |
|-d: 不删除临时文件 | 示例1:
以模板文件/root/in来更新configure.in到较新的Autoconf:
[root@linuxcool ~]# autoupdate /root/in 文件管理(file) 247 groupmems groupmems命令 – 管理用户主要组群的成员 使用groupmems命令可以管理用户主要组群的成员。 groupmems [参数] |-a: 添加用户为组成员 |
|-d: 从组成员中删除用户 |
|-l: 列出组群的成员 |
|-p: 从组群中清除所有成员 | 示例1:
设置用户zhangsan的主要组群为root:
[root@linuxcool ~]# groupmems -g root -a zhangsan
示例2:
列出主要组群的成员:
[root@linuxcool ~]# groupmems -l 文件管理(file) 248 vacuumdb vacuumdb命令 – 清理并优化PostgreSQL数据库 vacuumdb命令的作用是可以清理并优化一个PostgreSQL数据库。
vacuumdb命令也将产生由PostgreSQL查询优化器所使用的内部统计信息。
vacuumdb命令是SQL命令VACUUM的一个包装器。在通过这个工具和其他方法访问服务器来清理和分析数据库之间没有实质性的区别。虽然在新版本的PostgreSQL中有自动的vacuum,但是如果是大批量的数据IO可能会导致自动执行很慢,需要配合手动执行以及自己的脚本来清理数据库。 vacuumdb [参数] [数据库名] |-a: 清理所有的数据库 |
|-d<数据库名称>: 清理指定的数据库 |
|-e: 显示发送到服务端的命令 |
|-f: 完全清理 |
|-F: 冻结记录的事务信息 |
|-q: 不写任何信息 |
|-t<表名>: 只清理指定的表 |
|-U<用户名>: 指定连接的用户名 |
|-w: 永远不提示输入口令 |
|-W: 强制提示输入口令 |
|-h<主机名>: [数据库]服务器所在主机的主机名或套接字目录 |
|-p<端口号>: 指定数据库服务器端口号 |
|-z: 更新优化器信息 |
|-v: 输出大量的信息 | 示例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' 文件管理(file) 249 bzless bzless命令 – 查看bzip2压缩过的文本文件的内容 bzless命令是增强 .bz2 [压缩包]查看器,bzless比bzmore命令功能更加强大。 bzless [参数] 示例1:
查看backup.tar.bz2压缩文件的内容:
[root@linuxcool ~]# bzless backup.tar.bz2 文件管理(file) 250 pssh pssh命令 – 批量管理执行 pssh是一款开源的软件,使用python实现,用于批量ssh操作大批量机器;pssh是一个可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的;比起for循环的做法,我更推荐使用pssh!使用pssh的前提是:必须在本机与其他服务器上配置好密钥认证访问(即ssh信任关系)。 pssh [参数] [文件] |-h: 执行命令的远程主机列表文件 |
|-l: 远程机器的用户名 |
|-p: 一次最大允许多少连接 |
|-A: 提示输入密码并且把密码传递给ssh(注意这个参数添加后只是提示作用,随便输入或者不输入直接回车都可以) |
|-O: 设置ssh参数的具体配置,参照ssh_config配置文件 |
|-x: 传递多个SSH [命令],多个命令用空格分开,用引号括起来 |
|-X: 同-x 但是一次只能传递一个命令 | 示例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' 文件管理(file) 251 hexdump hexdump – 以多种进制格式查看文件内容 hexdump命令来自英文词组hexadecimal dump的缩写,其功能是以多种进制格式查看文件内容。hexdump命令是Linux系统中一款好用的文件内容查看工具,可以将文件内容转换成ASCII、二进制、八进制、十进制、十六进制格式进行查看,满足各种需求。 hexdump [参数] [文件] |-b: 使用八进制显示 |
|-c: 使用单字节字符显示 |
|-C: 使用十六进制和ASCII码显示 |
|-d: 使用双字节十进制显示 |
|-e: 设置字符串格式 |
|-o: 使用双字节八进制显示 |
|-s: 从偏移量开始输出 |
|-v: 显示所有输入数据 |
|-x: 使用双字节十六进制显示 | 示例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
………………省略部分输出信息……………… 文件管理(file) 252 tar tar命令 – 压缩和解压缩文件 tar命令的功能是压缩和解压缩文件,能够制作出Linux系统中常见的tar、tar.gz、tar.bz2等格式的压缩包文件。对于RHEL 7、CentOS7版本及以后的系统,解压缩时不添加格式参数(如z或j),系统也能自动进行分析并解压。把要传输的文件先压缩再传输,能够很好地提高工作效率,方便分享。 tar [参数] [压缩包名] [文件或目录名] |-A: 添加文件到已存在的压缩包 |
|-B: 设置区块大小 |
|-c: 创建新的压缩 |
|-C: 解压缩到指定目录 |
|-d: 记录文件的差别 |
|-f: 指定压缩包文件 |
|-j: 使用bzip2压缩格式 |
|-l: 设置文件系统边界 |
|-m: 保护文件不被覆盖 |
|-N: 只将较新日期的文件保存到压缩包中 |
|-P: 使用绝对路径 |
|-t: 显示压缩包的内容 |
|-u: 更新压缩包内的文件 |
|-v: 显示执行过程详细信息 |
|-w: 确认压缩包的完整性 |
|-x: 从压缩包内提取文件 |
|-z: 使用gzip压缩格式 |
|--exclude: 排除指定的文件不压缩 |
|--remove-files: 操作完成后删除源文件 | 示例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 文件管理(file) 253 lnewusers lnewusers命令 – 创建用户账号 使用lnewusers命令可以通过从标准输入中读取数据来创建用户账号。输入的数据每行有7个冒号分隔的字段,需要输入用户名、用户明文密码、用户ID、群组ID、真实姓名、主目录和登录Shell。 lnewusers [参数] |-M: 不创建用户主目录 |
|-n: 不创建用户邮件队列文件 | 示例1:
创建用户zhangsan22:
[root@linuxcool ~]# lnewusers
zhangsan22:123456:1000:1000:zhangsan:/home/hh:/bin/bash 文件管理(file) 254 gitview gitview命令 – 查看文件内容 gitview的命令全称为“gnu interactie tools viewer”。该命令用于查看文件内容。 当使用gitview命令查看文件内容时,会同时显示十六进制和ASCII格式的字符。 gitview [参数] |-b: 单色模式,不使用ANSI控制码显示彩色 |
|-c: 彩色模式,使用ANSI控制码显示色彩 |
|-i: 显示存放gitview程序的所在位置 |
|-l: 不使用先前的显示字符 |
|-h: 显示帮助信息 | 示例1:
以彩色模式观看指定文件中的内容:
[root@linuxcool ~]# gitview -c /home/linuxcool/file.txt
示例2:
以单色模式观看指定文件中的内容:
[root@linuxcool ~]# gitview -b /home/linuxcool/file.txt
示例3:
显示存放gitview程序的所在位置:
[root@linuxcool ~]# gitview -i 文件管理(file) 255 find2perl find2perl命令 – 转换找到的命令行为perl代码 使用find2perl命令可以找到命令行并转换为等效的Perl代码。 find2perl [参数] |-size N: 如果文件的大小为N则为真 |
|-ls: 可模拟”-exec ls -dir {};” |
|-follow: 安装符号链接的取值 | 示例1:
在/etc目录下找到命令行并转换为等效的Perl代码:
[root@linuxcool ~]# find2perl /etc -name crontab 文件管理(file) 256 more more命令 – 分页显示文本文件内容 more命令的功能是分页显示文本文件的内容。如果文本文件中的内容较多较长,使用cat命令读取后则很难看清,这时使用more命令进行分页查看就比较合适了,该命令可以把文本内容一页一页地显示在终端界面上,用户每按一次Enter键即向下一行,每按一次空格键即向下一页,直至看完为止。 more [参数] [文件名] |-c: 不滚屏,先显示内容再清除旧内容 |
|-d: 显示提醒信息,关闭响铃功能 |
|-f: 统计实际的行数,而非自动换行的行数 |
|-l: 将“^L”当作普通字符处理,而不暂停输出信息 |
|-p: 先清除屏幕再显示文本文件的剩余内容 |
|-u: 禁止下划线 |
|-数字: 设置每屏显示的最大行数 |
|+数字: 设置从指定的行开始显示内容 |
|+/关键词: 从指定关键词开始显示文件内容 | 示例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
………………省略部分输出信息……………… 文件管理(file) 257 rcp rcp命令 – 远程文件复制 rcp命令的英文是“remote file copy”,即远程文件复制,可以使在两台Linux主机之间的文件复制操作更简单。通过适当的配置,在两台Linux主机之间复制文件而无需输入密码,就像本地文件复制一样简单。
rcp指令用在远端复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到该目录中。
rcp命令默认系统没有安装,需要安装rsh和rsh-server这2个库,通过配置实现网络文件复制。 rcp [参数] [目录] |-p: 保留源文件或目录的属性,包括拥有者,所属群组,权限与时间 |
|-r: 递归处理,将指定目录下的文件与子目录一并处理 |
|-x: 加密两台Linux主机间传送的所有信息 |
|-D: 指定远程服务器的端口号 | 示例1:
将当前目录下test1复制到远程系统:
[root@linuxcool ~]# rcp test1 192.168.10.10:/home/test1
示例2:
复制远程主机文件到本地:
[root@linuxcool ~]# rcp root@192.168.10.10:./test2 test2 文件管理(file) 258 setenv setenv命令 – 设置与显示系统环境变量信息 setenv命令来自英文词组set environment variable的缩写,其功能是设置与显示系统环境变量信息。设置的环境变量如需永久生效,需要将其写入/etc/profile或/etc/bashrc文件。 setenv [参数] [变量名] |ENVVAR: 要设置的环境变量名 | 示例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 文件管理(file) 259 aptitude aptitude命令 – 管理APT软件包 aptitude命令的功能是用于管理APT软件包,是DebianLinux及其衍生系统中功能强大的包管理工具。与apt-get命令相似,但对于处理依赖软件包来讲效果更好,例如使用aptitude移除某个软件包时,会同时删除其本身所依赖的其他包,不会残留无用的软件包,使整个系统更加干净。 aptitude [参数] [软件包名] |-d: 仅下载软件包 |
|-D: 显示安装包的依赖关系信息 |
|-f: 修复损坏的软件包 |
|-F: 设置搜索结果的格式 |
|-h: 显示帮助信息 |
|-i: 运行时执行安装操作 |
|-O: 设置如何排列显示搜索结果 |
|-p: 每一步操作都要求确认 |
|-q: 不显示进度条 |
|-u: 启动时下载新的软件包列表 |
|-v: 显示版本信息 |
|-V: 显示软件包的版本信息 |
|-w: 设置搜索结果的格式宽度 |
|-y: 所有询问均回答自动yes |
|-Z: 显示每个软件包的安装尺寸变化 | 示例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 文件管理(file) 260 od od命令 – 输出文件内容 od命令会读取所给予的文件的内容,并将其内容以八进制字码呈现出来。 od [参数] |-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: 显示版本信息 | 示例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 文件管理(file) 261 unlink unlink命令 – 删除文件 unlink命令来自英文单词,中文译为“取消链接”,其功能是用于删除文件。unlink命令通过系统中的unlink函数来删除指定的文件,其功能效果与rm命令一致,都是用于删除文件,选择习惯用的就好。 unlink [参数] [文件名] |--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例1:
删除指定的文件:
[root@linuxcool ~]#unlink File.cfg 文件管理(file) 262 install install命令 – 复制文件和设置权限属性 install命令来自英文单词“安装”,但单词含义与功能无任何关联,其功能是用于复制文件和设置权限属性。使用install命令能够在复制文件的同时设置所有权和权限模式,一次性完成cp和chmod两条命令的工作内容。 install [参数] [源文件名] [目标文件名] |-c: 比较源文件和目标文件 |
|-d: 将所有参数视为目标名称 |
|-D: 递归处理所有子文件 |
|-g: 设置所属组 |
|-m: 设置权限属性 |
|-o: 设置所属用户 |
|-p: 同步源文件和目标文件的访问和修改时间 |
|-s: 拆解二进制程序文件 |
|-S: 覆盖常用备份文件后缀 |
|-t: 将源文件所有参数复制到指定目录 |
|-T: 将目标文件视为普通文件 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例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 文件管理(file) 263 cat cat命令 – 在终端设备上显示文件内容 cat命令来自英文词组concatenate files and print的缩写,其功能是在终端设备上显示文件内容。在Linux系统中有很多用于查看文件内容的命令,例如more、tail、head等,每个命令都有各自的特点。cat命令适合查看内容较少的纯文本文件。 对于内容较多的文件,使用cat命令查看后会在屏幕上快速滚屏,用户往往看不清所显示的具体内容,只好按Ctrl+C组合键中断命令执行,所以对于大文件,干脆用more命令显示吧。 cat [参数] [文件名] |-A: 等价于-vET参数组合 |
|-b: 显示行数(空行不编号) |
|-e: 等价于-vE参数组合 |
|-E: 每行结束处显示$符号 |
|-n: 显示行数(空行也编号) |
|-s: 显示行数(多个空行算一个编号) |
|-T: 将TAB字符显示为^I符号 |
|-v: 使用^和M-引用,LFD和TAB除外 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例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 文件管理(file) 264 zipdetails zipdetails命令 – 显示zip文件的内部结构 zipdetails命令将向你显示详细信息:有关压缩文件的详细信息,可能比你想象的要多得多。即使我们正在查看一个加密的文件,zipdetails 也会显示文件名以及文件修改日期、用户和组信息、文件长度数据等。请记住,这都是“元数据”。 zipdetails [参数] |-v: 详细输出更多内容 | 示例1:
使用zipdetails命令来显示linuxcool.zip文件的内部结构:
[root@linuxcool ~]# zipdetails linuxcool.zip
示例2:
使用-v参数详细的输出更多内容:
[root@linuxcool ~]# zipdetails -v securecrt_39196.zip 文件管理(file) 265 userinfo userinfo命令 – 更改自己的finger信息 使用userinfo命令可以允许用户方便地更改自己的finger信息,这是一个图形化工具。 userinfo [参数] 示例1:
更改自己的finger信息:
[root@linuxcool ~]# userinfo 文件管理(file) 266 vncviewer vncviewer命令 – 连接VNC服务器 vncviewer命令来自英文词组“VNC viewer”的拼写,中文译为“VNC查看器”,其功能是用于连接VNC服务器。VNC全称为“Virtual Network Console”,是一种虚拟网络控制台协议,也是著名的AT&T公司研发的一款远程控制软件的名字。其中vncviewer命令则是连接VNC协议的客户端,输入正确的目标主机地址及端口号后即可进行图形化的远程控制,弥补了SSH协议只能命令行文字控制的遗憾。 vncviewer [参数] 主机地址:端口 |-display: 设置应显示VNC画面的窗口 |
|-geometry: 设置位置和尺寸规格 |
|-listen: 使用反向连接模式 |
|-passwd: 设置密码文件路径 |
|-Shared: 与其他人共享桌面 | 示例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 文件管理(file) 267 xzdec xzdec命令 – 解压缩xz文件 使用xzdec命令可以进行liblzma为基础的xz文件解压缩 xzdec [参数] [文件] |-d: 忽略xz兼容性,只支持解压缩 |
|-k: 忽略xz兼容性,从不创建或删除任何文件 |
|-q: 以安静模式进行操作,不显示任何警告或通知 | 示例1:
查看压缩文件:
[root@linuxcool ~]# xzdec /root/a.xz 文件管理(file) 268 less less命令 – 分页显示文件内容 less命令的功能是分页显示文件内容。Less命令分页显示的功能与more命令很相像,但more命令只能从前向后浏览文件内容,而less命令不仅能从前向后浏览(按PageDown键),还可以从后向前浏览(按PageUp键),更加灵活。 less [参数] [文件名] |-b: 设置缓冲区大小 |
|-e: 当文件显示结束后自动退出 |
|-f: 强制打开文件 |
|-g: 仅标识最后搜索的关键词 |
|-i: 忽略搜索时的大小写 |
|-K: 收到中断字符时,立即退出 |
|-m: 显示阅读进度百分比 |
|-N: 显示文件内容时带行号 |
|-o: 将要输出的内容写入指定文件 |
|-r: 显示原始字符 |
|-s: 将连续多个空行视为一行 |
|-S: 在每行显示较多的内容,而不换行 |
|-V: 显示版本信息 |
|-x: 将Tab字符显示为指定个数的空格字符 |
|-y: 设置向前滚动的最大行数 |
|--help: 显示帮助信息 | 示例1:
分页查看指定文件的内容:
[root@linuxcool ~]# less File.cfg
示例2:
分页查看指定文件的内容及行号:
[root@linuxcool ~]# less -N File.cfg
示例3:
分页显示指定命令的输出结果:
[root@linuxcool ~]# history | less 文件管理(file) 269 bsdtar bsdtar命令 – 读取和写入磁带存档文件 bsdtar创建和操作流式档案文件, 这个实现可以从tar、pax、cpio、zip、jar、ar、xar、rpm、7-zip和ISO 9660 cdrom镜像中提取,并且可以创建tar、pax、cpio、ar、zip、7-zip和shar存档。 bsdtar [参数] |-c: 创建一个档案 |
|-f archive-filename: 档案文件的名称 |
|-t: 列出档案的内容 |
|-x: 提取档案的内容 | 示例1:
列出档案的文件名称和内容:
[root@linuxcool ~]# bsdtar -tf archive-filename
示例2:
提取档案的内容:
[root@linuxcool ~]# bsdtar -xf archive-filename
示例3:
创建一个档案:
[root@linuxcool ~]# bsdtar -cf archive-filename 文件管理(file) 270 rpmverify rpmverify命令 – 验证已安装的RPM软件包的正确性 rpmverify命令用来验证已安装的rpm软件包的正确性。 rpmverify [参数] |-Va: 验证所有软件包 |
|-Vf: 验证指定软件包 |
|--nomd5: 不验证软件包的md5摘要 | 示例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 文件管理(file) 271 cmp cmp命令 – 比较两个文件是否有差异 cmp命令有用于比较两个任意类型的文件,若两个文件相同则默认不输出任何信息,若两个文件不同,则会输出第一个不同之处的字符和列数编号,结果输出到标准输出。
若不指定任何文件名称或是所给予的文件名为”-“,则cmp命令会从标准输入设备读取数据。 cmp [参数] [文件] [文件] |--help: 显示帮助 |
|-v/--version: 显示版本信息 |
|-s/--quit/--silent: 不显示错误信息 |
|-l/--verbose: 标示出所有不一样的地方 |
|-i/--ignore-initial: 指定一个数目 |
|-c/--print-chars: 除了标明差异处的十进制字码之外,一并显示该字符所对应字符 | 示例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 文件管理(file) 272 unrar unrar命令 – 解压提取RAR压缩文件 unrar命令来自英文词组unzip rar的缩写,其功能是解压提取RAR压缩文件。该命令轻松解压来自Windows系统的rar压缩包文件。若有zip压缩包文件需要解压,使用unzip命令即可。 unrar [参数] [压缩包] |e: 将文件解压缩到当前目录 |
|l: 显示文件列表 |
|p: 将文件显示到标准输出 |
|t: 测试压缩包文件完整性 |
|v: 显示执行过程详细信息 |
|x: 使用完整路径提取文件 |
|o+: 覆盖现有文件 |
|p: 设置压缩包密码 |
|r: 递归处理所有子文件 |
|u: 更新指定文件 |
|x: 排除指定文件 |
|y: 所有询问均回答yes | 示例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 文件管理(file) 273 zdump zdump命令 – 时区输出器 使用zdump命令可以在命令行上显示指定的每个区域名称的当前时间 zdump [参数] [区域名] |-v: 在命令行上为每个区域名、输出可能的最早时间值。 |
|-c: 在指定的年份开始的前后,剪切冗余的输出 | 示例1:
查看中国PRC的时区规则
[root@linuxcool ~]# zdump -v PRC 文件管理(file) 274 swapoff swapoff命令 – 关闭SWAP交换分区 swapoff命令来自英文词组“SWAP off”的缩写,其功能是用于关闭SWAP交换分区。SWAP交换分区是一种在服务器物理内存不够的情况下,将内存中暂时不用的数据临时存放到硬盘空间的一种技术,目的是让物理内存一直保持高效,总是在处理重要数据。与Windows系统中pagefile.sys虚拟内存文件的作用一样。
swapoff命令用于关闭Linux系统中的指定SWAP交换分区,与swapon命令功能相反,但都是仅当前生效,要想永久地启用或关闭指定交换分区设备,要记得修改/etc/fstab文件哦~ swapoff [参数] [设备名] |-a: 关闭“/etc/fstab”文件中全部SWAP设备 |
|-h: 显示帮助信息 |
|-L: 指定设备卷标 |
|-U: 指定设备UUID |
|-V: 显示版本信息 | 示例1:
关闭指定的交换分区设备:
[root@linuxcool ~]#swapoff /dev/sda
示例2:
关闭指定的交换分区文件:
[root@linuxcool ~]#swapoff /swapfile 文件管理(file) 275 manpath manpath命令 – 查看man手册页的查询路径 使用manpath命令可以查看和设置man手册页的查询路径。 manpath [参数] [名称] |-a: 找到所有匹配的条目 |
|-c: 不使用cat文件 |
|-d: 显示调试信息的采空区 |
|-w: 类似于-w选项,但是只显示文件名 | 示例1:
查看man手册页的查询路径:
[root@linuxcool ~]# manpath
示例2:
设置man手册页的查询路径为/home目录:
[root@linuxcool ~]# manpath -M /home 文件管理(file) 276 mktemp mktemp命令 – 建立暂存文件 mktemp用来建立暂存文件,其创建的临时文件是唯一的 ,供shell 使用 。
默认情况下,mktemp会在本地当前目录创建一个临时文件,创建临时文件时只需要创建模板文件,模板可以包含任意的文件名,文件末尾可以根据需要添加n个x。 mktemp [参数] [文件] |-q: 执行时若发生错误,不会显示任何信息 |
|-u: 暂存文件会在mktemp结束前先行删除 | 示例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 文件管理(file) 277 lynx lynx命令 – 终端上的纯文本浏览器 lynx命令是终端上的纯文本模式的网页浏览器,没有JS引擎,不支持CSS排版、图形、音视频等多媒体信息。只能作为一个很有趣的小玩具。 lynx [参数] |-case: 搜索字符串时区分大小写 |
|-ftp: 关闭ftp功能 |
|--color: 激活彩色模式 |
|--reload: 更新首页代理服务器的缓存 |
|--help: 显示帮助 | 示例1:
访问www.linuxcool.com:
[root@linuxcool ~]# lynx www.linuxcool.com 文件管理(file) 278 cut cut命令 – 按列提取文件内容 cut命令的功能是按列提取文件内容。常用的grep命令仅能对关键词进行按行提取过滤,而cut命令则可以根据指定的关键词信息,针对特定的列内容进行过滤。 cut [参数] [文件名] |-b: 以字节为单位进行分割 |
|-c: 以字符为单位进行分割 |
|-d: 设置分隔符 |
|-f: 显示指定字段的内容 |
|--complement: 补足被选择的字节、字符或字段 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例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
……………省略部分输出信息……………… 文件管理(file) 279 mysqlhotcopy mysqlhotcopy命令 – 备份数据库 使用mysqlhotcopy命令可以进行Mysql数据库备份,它使用FLUSH TABLES、LOCK TABLES和cp或scp来进行数据库备份,这是一种快速备份数据库或表的方法,仅用于备份MyISAM和ARCHIVE表。 mysqlhotcopy [参数] [数据库名] [./匹配表的正则表达式/] [新数据库名|目录] |-u: 指定数据库登录的用户 |
|-p: 连接到服务器时使用的密码 |
|-h: 以TCP/IP连接到本地服务器的主机名 | 示例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 文件管理(file) 280 smbd smbd命令 – Samba服务器程序 smbd为Samba服务器程序,可分享文件与打印机等网络资源供Windows相关的用户端程序存取。 smbd [参数] |-a: 所有的连线记录都会加到记录文件中 |
|-d: 指定记录文件所记载事件的详细程度 |
|-D: 使用此参数时,smbd会以服务程序的方式在后台执行 |
|-h: 显示帮助 |
|-i: 指定NetBIOS名称的范围 |
|-l: 指定记录文件的名称 |
|-o: 每次启动时,会覆盖原有的记录文件 |
|-O: 设置连接槽选项 |
|-p: 设置连接端口编号 |
|-P: 仅用来测试smbd程序的正确性 |
|-s: 指定smbd的设置文件 | 示例1:
启动Samba服务器:
[root@linuxcool ~]# smbd -D 文件管理(file) 281 getfattr getfattr命令 – 获取文件系统扩展属性信息 getfattr命令来自英文词组“get extended attributes of filesystem objects”的缩写,其功能是用于获取文件系统扩展属性信息。这里所提及的文件系统扩展属性,并不是用chattr和lsattr命令设置查看的隐藏权限,而是用setfattr命令设置的,一种完全自定义的扩展属性,使用getfattr命令能够获取指定文件及其关联的一组扩展属性信息。 getfattr [参数] [文件名] |-d: 显示所有扩展属性值 |
|-e: 设置编码值类型 |
|-h: 不引用符号链接 |
|-m: 包括名称匹配正则表达式模式的属性 |
|-n: 显示已命名的扩展属性值 |
|-P: 跳过所有符号链接 |
|-R: 递归处理所有子文件 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例1:
获取指定文件的所有扩展属性值:
[root@linuxcool ~]#getfattr -d File.cfg
示例2:
通过匹配正则表达式来获取指定目录下的文件及其扩展属性值:
[root@linuxcool ~]#getfattr -d -m File.* /Dir 文件管理(file) 282 pfctl pfctl命令 – 配置防火墙策略 pfctl命令来自英文词组“Packet Filter”的缩写,其功能是用于配置防火墙策略。Packet Filter是Linux系统中的一款TCP/IP流量过滤和网络地址转换的防火墙管理工具,同时也能提供TCP/IP流量的策略控制,实现对网络带宽和数据包的精准控制。 pfctl [参数] [对象] |-f: 载入文件 |
|-nf: 解析文件 |
|-Nf: 只载入文件中的NAT规则 |
|-Rf: 只载入文件中的过滤规则 |
|-sa: 显示所有信息 |
|-si: 显示过滤状态和计数 |
|-sn: 显示NAT策略 |
|-sr: 显示过滤规则 |
|-ss: 显示状态表 | 示例1:
载入指定的配置文件:
[root@linuxcool ~]#pfctl -f File.conf
示例2:
显示当前NAT策略信息:
[root@linuxcool ~]#pfctl -sn 文件管理(file) 283 dpkg-query dpkg-query命令 – 在dpkg数据库中查询软件包 dpkg-query命令是Debianlinux中软件包的查询工具,它从dpkg软件包数据库中查询并显示软件包的信息。
查询软件包时,软件包的名称支持通配符,如“gcc*”将查询所有以“gcc”开头的软件包。 dpkg-query [参数] [软件包] |-l: 列出符合匹配模式的软件包 |
|-s: 查询软件包的状态信息 |
|-L: 显示软件包所安装的文件列表 |
|-S: 从安装的软件包中查询文件 |
|-w: 显示软件包信息 |
|-c: 显示软件包的控制文件路径 |
|-p: 显示软件包的细节 | 示例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 文件管理(file) 284 rz rz命令 – 基于Zmodem协议上传文件到服务器 rz命令来自英文词组receive Zmodem的缩写,其功能是基于Zmodem协议上传文件到服务器。当我们在使用Xshell、SecureCRT、PuTTY等虚拟终端软件时,可以使用rz命令将本地文件上传到服务器,方法是直接输入rz命令后选择要上传的文件即可。
若您的系统中找不到sz与rz命令,请配置好软件仓库后执行yum install lszrz命令即可。 rz [参数] [文件名] |+: 将收到的数据写入指定文件 |
|-B: 设置缓冲区大小 |
|-C: 允许远程执行命令 |
|-D: 使用测试模式,不保存文件 |
|-e: 转义所有的控制字符 |
|-h: 显示帮助信息 |
|-O: 不读取超时处理代码 |
|-p: 遇到重名的文件不要覆盖 |
|-r: 恢复中断传输 |
|-U: 关闭受限模式 |
|-v: 显示执行过程详细信息 |
|-w: 设置窗口大小 |
|-X: 使用Xmodem协议 |
|-y: 遇到重名的文件直接覆盖 |
|-Z: 使用Zmodem协议 | 示例1:
上传指定的文件到服务器:
[root@linuxcool ~]# rz
…………弹出窗口中选择要上传的文件即可…………
示例2:
上传指定的文件到服务器,若遇到重名的文件则直接覆盖:
[root@linuxcool ~]# rz -y
…………弹出窗口中选择要上传的文件即可…………
示例3:
上传指定的文件到服务器,遇到重名的文件也不要覆盖:
[root@linuxcool ~]# rz -p
…………弹出窗口中选择要上传的文件即可………… 文件管理(file) 285 nl nl命令-显示文件内容及行号 nl命令来自英文词组“Number of lines”的缩写,其功能是用于显示文件内容及行号,使用nl命令会有类似于“cat -n [文件名]”的效果,除此之外还可以对于显示的行号格式进行深度定制。 nl [参数] [文件名] |-b: 设置行号指定的方式 |
|-f: 设置页脚行数 |
|-h: 设置页眉行数 |
|-i: 设置自动递增值 |
|-l: 设置将N个空行视为一行 |
|-n: 显示行号表示的方式 |
|-p: 在逻辑定界符处不重新开始计算 |
|-s: 在行号后添加字符串 |
|-w: 设置行号栏位的占用位数 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例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
……………………省略部分输出信息……………… 文件管理(file) 286 htdigest htdigest命令 – 管理用户摘要认证文件 htdigest命令是Apache的Web服务器内置工具,用于创建和更新存储用户名、域和用于摘要认证的密码文件。
使用htdigest命令和“.htaccess”文件可以在apache的Web服务器中实现,访问目录时输入密码认证的效果。 htdigest [参数] [密码文件、域、用户名] |-c: 创建密码文件 | 示例1:
生成用户的摘要认证文件:
[root@linuxcool ~]# htdigest -c /var/www/html/.htdigest test- realmtest
Adding password for realmtest in realm test-.
New password:
Re-type new password: 文件管理(file) 287 mount-nfs4 mount.nfs4命令 – 挂载NFSv4文件系统 mount.nfs4命令来自英文词组“mount NFSv4”的缩写,其功能是用于挂载NFSv4文件系统。NFS全称为“Network File System”,中文为网络文件系统,是广泛在Linux系统中使用的一种文件共享协议,而mount.nfs4命令则仅针对于NFSv4版本协议进行挂载使用。 mount.nfs4 [参数] [挂载对象] [本地目录] |-r: 以只读模式挂载文件系统 |
|-v: 显示执行过程详细信息 |
|-w: 以可读写模式挂载文件系统 | 示例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 文件管理(file) 288 uucico uucico命令 – 文件传输服务程序 uucico命令是UUCP文件传输服务程序。uucico是用来处理uucp或uux送到队列的文件传输工具。uucico有两种工作模式:主动模式和附属模式。当在主动模式下时,uucico会调用远端主机;在附属模式下时,uucico则接受远端主机的调用。 uucico [参数] |-c或--quiet: 当不执行任何工作时,不要更改记录文件的内容及更新目前的状态 |
|-C或--ifwork: 当有工作要执行时,才调用-s或-S参数所指定主机 |
|-r1: 以主动模式启动 | 示例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 主机名 文件管理(file) 289 ebtables ebtables命令 – 网络数据包过滤的配置工具 ebtables和iptables类似,都是Linux系统下网络数据包过滤的配置工具。既然称之为配置工具,就是说过滤功能是由内核底层提供支持的,这两个工具只是负责制定过滤的rules. ebtables [参数] |-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包的源地址 | 示例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 文件管理(file) 290 mount-nfs mount.nfs命令 – 挂载网络文件系统 mount.nfs命令来自英文词组mount network file system的缩写,其功能是挂载网络文件系统(NFS)。其实从RHEL/CentOS6版本开始,挂载NFS已经可以使用mount命令直接完成了。如果系统版本比较老,NFS版本为v2或v3,则可以用mount.nfs命令来完成挂载操作。 mount.nfs [参数] [域名或IP地址] [本地目录] |-f: 仅模拟挂载,不实际操作 |
|-h: 显示帮助信息 |
|-n: 不更新/etc/mtab配置文件 |
|-r: 使用只读方式挂载文件系统 |
|-v: 显示详细信息 |
|-V: 显示版本信息 |
|-w: 使用读写方式挂载文件系统 | 示例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 文件管理(file) 291 gdbserver gdbserver – 调试远程服务器 使用gdbserver命令可以允许在不同的主机上运行GDB来进行程序调试。 gdbserver [参数] |--debug: 启用一般的调试输出 |
|--attach: 指定进程号 | 示例1:
使用串行端口进行程序调试:
[root@linuxcool ~]# gdbserver /dev/coml emacs gdb.txt
示例2:
使用TCP连接进行程序调试:
[root@linuxcool ~]# gdbserver host:2345 emacs gdb.txt 文件管理(file) 292 gcov gcov命令 – 测试代码覆盖率 gcov命令是一款测试程序的代码覆盖率的工具。
gcov可以统计每一行代码的执行频率,实际上哪些代码确实被执行了,每一段代码的执行时间。 gcov只在使用GCC编译的代码上工作。它与任何其他概要或测试覆盖机制不兼容。
gcov命令在测试代码覆盖率时,必须使用gcc命令的“-fprofile-arcs”选项和“-ftest-coverage”选项编译C语言文件。 gcov [参数] [文件] |-a: 显示每个基本的信息 |
|-b: 输出包含分支概率 |
|-c: 给出跳转的分支数,而不是百分比 |
|-n: 不创建输出文件 |
|-l: 为包含进来的源文件使用长输出文件名 |
|-f: 输出每个函数的小结信息 |
|-p: 保留所有路径名 | 示例1:
显示/root/linuxcool.c文件的代码覆盖信息:
[root@linuxcool ~]# gcov /root/linuxcool.c 文件管理(file) 293 rhmask rhmask命令 – 加密和解密文件 Linuxrhmask命令用于对文件进行加密和解密操作。执行rhmask指令可制作加密过的文件,方便用户在公开的网络上传输该文件,而不至于被任意盗用。 rhmask [参数] [加密文件] [输出文件] |-d: 产生加密过的文件 | 示例1:
将加密文件”file1.txt”进行加密后,另存为输出文件”file2.txt” :
[root@linuxcool ~]# rhmask file1.txt file2.txt 文件管理(file) 294 pushd pushd命令 – 添加目录到目录堆栈顶部 pushd命令用于更改新目录并(或)压栈,或者把栈里的某个目录推到栈顶。 pushd [参数] |+N: 把正数第N个放到栈顶 |
|-N: 把倒数第N个放到栈顶 |
|-n: 不切换,只压栈 |
|dir: 要推送的目录 | 示例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 文件管理(file) 295 docker docker命令 – 管理应用容器引擎 docker命令的功能是用于管理应用容器引擎,可以让开发者们打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何主流的Linux系统之上,也可以用于实现虚拟化。 docker [参数] [对象] |ps: 显示状态为运行(Up)的容器 |
|cp: 从容器里向外拷贝文件或目录 |
|kill: 发送信号给容器,默认SIGKILL |
|--name: 指定容器名称 |
|-p: 端口映射 |
|-v: 挂载目录 | 示例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 文件管理(file) 296 mdeltree mdeltree命令 – 删除 MSDOS 格式文档及目录 mdeltree命令会将所指定的目录与目录之下的所有档案与目录都删除掉。如果所指定的档案或目录不存在,则会传回错误讯息。 mdeltree [参数] |-v: 显示更多的信息 | 示例1:
删除A磁盘根目录中的 msdosdir 目录及其文件:
[root@linuxcool ~]# mdeltree a:msdosdir
示例2:
在删除过程中显示删除信息:
[root@linuxcool ~]# mdeltree -v a:msdosdir 文件管理(file) 297 dpkg-deb dpkg-deb命令 – deb软件包管理器 dpkg-deb命令来自英文词组“Debian package”的缩写,其功能是用于管理deb软件包。dpkg-deb命令是DebianLinux系统下的软件包管理工具,相当于红帽系Linux平台的rpm命令,它可以对deb格式的软件包执行打包、解压、查看信息等操作,是Debian和Ubuntu系统中常用命令之一。 dpkg-deb [参数] [文件名] |-b: 创建软件包 |
|-c: 显示软件包中的文件列表 |
|-e: 将主控信息解压 |
|-f: 显示软件包的字段内容 |
|-i: 安装软件包 |
|-l: 显示软件包的详细信息 |
|-L: 显示软件包的关联文件 |
|-P: 删除软件包及其配置文件 |
|-r: 删除软件包 |
|-R: 提取控制信息和存档的清单文件 |
|-w: 显示软件包的信息 |
|-x: 解压软件包到指定目录 |
|-X: 解压软件包到指定目录并显示过程信息 | 示例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 文件管理(file) 298 mysqladmin mysqladmin命令 – MySQL服务器客户端管理工具 mysqladmin命令是MySQL服务器管理任务的客户端工具,它可以检查MySQL服务器的配置和当前工作状态,创建和删除数据库,创建用户和修改用户密码等操作。 mysqladmin [参数] [管理命令] |-h: MySQL服务器主机名或ip地址 |
|-u: 连接MySQL服务器的用户名 |
|-p: 连接MySQL服务器的密码 |
|-- -help: 显示帮助信息 | 示例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 文件管理(file) 299 apmd apmd命令 – 进阶电源管理服务程序 apmd命令用于进阶电源管理服务程序。apmd负责BIOS进阶电源管理(APM)相关的记录,警告与管理工作。 apmd [参数] |-p: 记录事件百分比变化量的预设值为5,若设置值超过100,则关闭此功能 |
|-u: 将BIOS时钟设为UTC |
|-v: 记录所有的APM事件 |
|-V: 显示版本信息 |
|-w: 当电池不在充电状态时,且电池电量低于设置的百分比值,则在syslog(2)的ALERT层记录警告信息。百分比值的预设置为10,若设置为0,则关闭此功能 |
|-W: 发出警告信息给所有人 | 示例1:
记录所有的电源管理事件:
[root@linuxcool ~]# apmd -v
示例2:
设置BIOS时钟:
[root@linuxcool ~]# apmd -utc 文件管理(file) 300 bzdiff bzdiff命令 – 比较两个.bz2压缩包中文件的不同 bzdiff命令用于直接比较两个“.bz2”压缩包中文件的不同,省去了解压缩后再调用diff命令的过程。
bzdiff命令本身没有任何的参数选项,但是可以使用diff命令的相关参数,所有的参数将直接传递给diff命令。 bzdiff [参数] [文件1] [文件2] |-<行数>: 指定要显示多少行的文本。此参数必须与-c或-u参数一并使用 |
|-a: diff预设只会逐行比较文本文件 |
|-b: 不检查空格字符的不同 |
|-c: 显示全部内容,并标出不同之处 |
|-W: 指定输出的列宽,默认130 |
|-x: 不比较选项中所指定的文件或目录 |
|-X: 您可以将文件或目录类型存成文本文件,然后在=<文件>中指定此文本文件 |
|-y: 以并列的方式显示文件的异同之处 |
|--help: 查看帮助信息 |
|--left-column: 在使用-y参数时,若两个文件某一行内容相同,则仅在左侧的栏位显示该行内容 |
|--suppress-common-lines: 在使用-y参数时,仅显示不同之处 | 示例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 文件管理(file) 301 perl perl命令 – 实用报表提取语言 使用perl命令可以扫描任意文本文件,从这些文本文件中提取信息优化的语言,根据这些信息打印报告。 perl [参数] [程序文件] |-c: 只进行语法检查 |
|-e: 可以让Perl程序在命令行上运行 |
|-l: 启用行结束处理,指定行结束 | 示例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"' 文件管理(file) 302 gcc gcc命令 – C/C++语言编译器 gcc命令来自英文词组GNU Compiler Collection的缩写,是C/C++语言编译器。gcc是开源领域使用最广泛的编译工具,具有功能强大、兼容性强、效率高等特点。
编译工作由4个阶段组成:预编译(Preprocessing)、编译(Compilation)、汇编(Assembly)、链接(Linking)。 gcc [参数] [文件名] |-B: 将指定目录添加到搜索路径 |
|-c: 仅执行编译,不进行链接操作 |
|-E: 仅执行编译预处理 |
|-l: 设置头文件 |
|-L: 设置链接库 |
|-o: 指定要生成的输出文件 |
|-S: 将C代码转换为汇编代码 |
|--help: 显示帮助信息 |
|--pipe: 使用管道符 |
|--shared: 创建动态共享库 |
|--static: 使用静态链接 |
|--time: 设置每个子流程的执行时间 |
|--version: 显示版本信息 | 示例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 文件管理(file) 303 setconsole setconsole命令 – 设置系统终端 setconsole命令用于设置系统终端,可用来指定系统终端。 setconsole [参数] |serial: 使用PROM终端 |
|ttya,cua0: 使用第1个串口设备作为终端 |
|ttyb,cua1: 使用第2个串口设备作为终端 |
|video: 使用主机上的现卡作为终端 | 示例1:
设置终端:
[root@linuxcool ~]# setconsole ttyS0 文件管理(file) 304 diff diff命令 – 比较文件内容差异 diff命令来自英文单词different的缩写,其功能是比较文件内容的差异。如果有多个内容相近的文件,如何快速定位到不同内容所在位置呢?此时用diff命令就再合适不过了! diff [参数] [文件名1] [文件名2] |-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: 显示版本信息 | 示例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 文件管理(file) 305 vim vim命令 – 文本编辑器 vim命令的功能是编辑文本内容,是Linux系统字符界面下最常用的文本编辑工具,能够编辑任何的ASCII格式的文件,可对内容进行创建、查找、替换、修改、删除、复制、粘贴等操作。编写文件时,无须担心目标文件是否存在,若不存在则会自动在内存中创建,并随保存操作输出到硬盘中。
由于深入学习vi/vim编辑器的难度较大,无法通过单一词条为读者讲透,如想熟练使用请参阅《Linux就该这么学》第四章4.1小节。 vim [参数] [文件名] |-b: 使用二进制模式 |
|-c: 加载文件后执行指定命令 |
|-e: 使用ex底层编辑模式 |
|-m: 不允许修改内容 |
|-n: 不使用交换分区,强制使用内存 |
|-N: 使用非兼容模式 |
|-o: 打开指定数量的窗口 |
|-p: 打开指定数量的标签页 |
|-r: 显示交换文件 |
|-R: 使用只读模式 |
|--version: 显示版本信息 |
|-s: 静默执行模式 |
|-T: 设置使用指定终端 |
|-u: 强制使用vimrc |
|-v: 使用vi编辑模式 |
|-w: 写入脚本输出文件 |
|-x: 对文件进行加密 |
|-y: 使用简易模式 |
|-Z: 使用受限模式 |
|--help: 显示帮助信息 |
|--noplugin: 不加载插件脚本 |
|+数字: 从指定行开始 | 示例1:
创建某个文件,并进行编写操作:
[root@linuxcool ~]# vim File.cfg
示例2:
打开某个已存在的文件,从第6行开始编写:
[root@linuxcool ~]# vim +6 File.cfg
示例3:
打开某个已存在的文件,以只读模式进入:
[root@linuxcool ~]# vim -R File.cfg 文件管理(file) 306 readelf readelf命令 – 显示elf格式文件的信息 readelf命令用来显示一个或者多个elf格式的目标文件的信息,可以通过它的选项来控制显示哪些信息。这里的elf-file(s)就表示那些被检查的文件。可以支持32位,64位的elf格式文件,也支持包含elf文件的文档(这里一般指的是使用ar命令将一些elf文件打包之后生成的例如lib*.a之类的“静态库”文件)。
这个程序和objdump提供的功能类似,但是它显示的信息更为具体,并且它不依赖BFD库(BFD库是一个GNU项目,它的目标就是希望通过一种统一的接口来处理不同的目标文件),所以即使BFD库有什么bug存在的话也不会影响到readelf程序。
还需注意的是运行readelf的时候,除了-v和-H之外,其它的选项必须有一个被指定。 readelf [参数] [文件名] |-a: 显示全部信息 |
|-h: 显示elf文件开始的文件头信息 |
|-S: 显示节头信息 |
|-g: 显示节组信息 |
|-V: 显示版本段的信息 | 示例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 文件管理(file) 307 autoreconf autoreconf命令 – 更新已经生成的配置文件 使用autoreconf命令可以重复编译指定目录下的系统文件或configure-ac指定的目录树。默认情况下,它只编译比以前编译文件更新的文件。 autoreconf [参数] [目录] |-v: 详细报告处理 |
|-d: 不删除临时文件 |
|-f: 认为所有的问价都是过期的文件,强制执行 |
|-i: 复制辅助文件 | 示例1:
更新已经生成的配置文件:
[root@linuxcool ~]# autoreconf 文件管理(file) 308 md5sum md5sum命令 – 计算文件内容的MD5值 md5sum命令来自英文词组MD5 summation的缩写,其功能是计算文件内容的MD5值,进而比较两个文件是否相同。MD5值是一个128位的二进制数据,转换成十六进制则是32位。
用户可以通过此命令对文件内容进行汇总并计算出一个MD5值,如果有某两个文件的MD5值完全相同,则代表两个文件内容完全相同。文件名称不对计算结果产生影响。 md5sum [参数] [文件名] |-b: 使用二进制模式 |
|-c: 使用已生成的MD5值对文件进行检验 |
|-t: 使用文本模式 |
|--quiet: 静默执行模式 | 示例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 文件管理(file) 309 info info命令 – 阅读info格式的文件 info命令可以阅读info格式的文件,用来查看帮助信息。info文档可以支持链接跳转功能。info文档都存放在/usr/share/info目录中,该目录提供了整个软件包的帮助文档。 info [参数] [菜单项目] |-w: 显示info文档的物理位置 |
|-f: 指定要访问的info文件 |
|-n: 在首个浏览过info文件中指定节点 |
|-O: 跳转至命令行选项节点 | 示例1:
查看ls命令的info文档:
[root@linuxcool ~]# info ls
示例2:
显示ls命令info文档的物理位置:
[root@linuxcool ~]# info -w ls 文件管理(file) 310 esxcfg-firewall esxcfg-firewall命令 – 防火墙设置 esxcfg命令集分为网络管理类、存储管理类、系统管理类等几种类型,ESX Server防火墙使用内置的iptables,很常用的Linux防火墙。然而使用其他esxcfg工具创建规则,它就是esxcfg-firewall。esxcfg-firewall负责配置ESX主机上的网络防火墙,属于网络管理类。 esxcfg-firewall [参数] |-h: 查看帮助文档 |
|-l: 显示当前的网络配置 | 示例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 文件管理(file) 311 xclip xclip命令 – 跨窗口复制文字 使用fsview命令方便的管理 X selections 里面内容的工具 。 xclip [参数] |-i: 从 stdin 读入 |
|-o: 打印到标准输出 | 示例1:
剪切板内容输出到文件:
[root@linuxcool ~]# xclip -o > ~/test.txt
示例2:
剪切板内容输出到终端:
[root@linuxcool ~]# xclip -selection c -o 文件管理(file) 312 nologin nologin命令 – 限制用户登录 使用nologin命令可以限制某些用户通过Shell登录系统。如果/etc/nologin.txt存在,显示其内容给用户,而不是默认消息。 nologin 示例1:
限制用户登录:
[root@linuxcool ~]# nologin 文件管理(file) 313 named-checkconf named-checkconf命令 – named配置文件语法检查 named-checkconf命令来自英文词组“named check config”的缩写,其功能是用于named配置文件语法检查。named一定是当今部署DNS协议当之无愧的首选服务程序,但参数众多,难免会稍有纰漏,因此建议在每次启动服务前先执行一遍named-checkconf命令,看看是否有报错,更加安心。 named-checkconf [参数] [文件名] |-b: 显示摘要信息 |
|-h: 显示帮助信息 |
|-j: 读取指定区域文件的日志信息 |
|-p: 检查无错误后输出配置文件内容 |
|-t: 切换至指定目录 |
|-v: 显示版本信息 |
|-z: 对主要区域进行负载测试 | 示例1:
对named服务程序配置文件进行语法检查:
[root@linuxcool ~]#named-checkconf /etc/named.conf 文件管理(file) 314 rndc rndc命令 – 控制DNS服务器的操作 使用rndc命令可以控制DNS服务器的操作。如果运行rndc命令时没有使用任何选项或参数,那么该命令会显示受支持命令和可用选项及其参数的简短摘要。 rndc [参数] |-s: 指定rndc命令的配置文件中服务器 |
|-V: 启动详细的日志记录 |
|-p: 发送命令指定TCP端口 | 示例1:
重新加载配置文件和区域:
[root@linuxcool ~]# rndc reload
示例2:
显示DNS服务器状态:
[root@linuxcool ~]# rndc status 文件管理(file) 315 xzdiff xzdiff命令 – 比较xz压缩文件 使用xzdiff命令可以调用diff程序比较xz压缩文件 xzdiff [参数] [文件1] [文件2] 示例1:
比较xz压缩文件/root/a.xz和/root/b.xz:
[root@linuxcool ~]# xzdiff /root/a.xz /root/b.xz 文件管理(file) 316 mysqld-safe mysqld_safe命令 – MySQL服务器启动脚本 使用mysqld_safe命令可以启动MySQL服务器。mysqld_safe增加了一些安全功能,比如发生错误时重新启动服务器,并记录运行信息到错误日志文件。 mysqld_safe [参数] |--port: 监听TCP/IP连接时,服务器应该使用的端口号。 |
|--user: 运行mysqld服务器的系统登录用户 |
|--log-error: 写入错误日志到指定文件 |
|--pid-file: [进程ID]文件的路径名 | 示例1:
启动MySQL服务器:
[root@linuxcool ~]# mysqld_safe
示例2:
启动MySQL服务器使用3306:
[root@linuxcool ~]# mysqld_safe --port 3306
示例3:
指定启动mysql服务器使用的系统登录用户是zx:
[root@linuxcool ~]# mysqld_safe --user zx 文件管理(file) 317 psql psql命令 – PostgreSQL交互式客户端工具 psql是PostgreSQL的交互式客户端工具,通过该工具来管理和操作PostgreSQL数据库。 psql [参数] [数据库名称] [用户名称] |-h: [数据库]服务器主机 |
|-p: 指定PostgreSQL数据库服务器的端口,如果不指定则默认是5432 |
|-w: 永远不提示输入口令 |
|-e: 显示发送给服务器的命令 | 示例1:
连接到数据库template1,并列出服务器上所有的数据库:
[root@linuxcool ~]# psql template1
示例2:
进入数据库postgres:
psql -U postgres
示例3:
进入数据库查看:
psql -U postgres
\l 文件管理(file) 318 pico pico命令 – 编辑文字文件 pico是个简单易用、以显示导向为主的文字编辑程序,它伴随着处理电子邮件和新闻组的程序pine而来。 pico [参数] [文件] |-k: 预设pico在使用剪下命令时,会把光标所在的列的内容全部删除 |
|-m: 开启鼠标支持的功能,您可用鼠标点选命令列表 |
|-v: 启动阅读模式,用户只能观看,无法编辑文件的内容 |
|-w: 关闭自动换行,通过这个参数可以编辑内容很长的列 |
|-z: 让pico可被Ctrl+z中断,暂存在后台作业里 | 示例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 文档编辑(document) 319 rmdir rmdir命令 – 删除空目录文件 rmdir命令来自英文词组remove directory的缩写,其功能是删除空目录文件。rmdir命令仅能删除空内容的目录文件,如需删除非空目录时,需要使用带有-R参数的rm命令进行操作。而rmdir命令的递归删除操作(-p参数使用)并不意味着能删除目录中已有的文件,而是要求每个子目录都必须是空的。 rmdir [参数] [目录名] |-p: 递归处理所有子文件 |
|-v: 显示执行过程详细信息 |
|--version: 显示版本信息 | 示例1:
删除指定的空目录:
[root@linuxcool ~]# rmdir Dir
示例2:
删除指定的空目录及其内部的子空目录:
[root@linuxcool ~]# rmdir -p Dir
示例3:
删除指定的空目录并显示删除的过程:
[root@linuxcool ~]# rmdir -v Dir
rmdir: removing directory, 'Dir' 文档编辑(document) 320 genisoimage genisoimage命令 – 创建ISO镜像文件 genisoimage命令来自英文词组“generate ISO image”的缩写,其功能是用于创建ISO镜像文件。运维人员常使用该命令将指定的目录与文件制成ISO 9660格式的系统镜像文件,以刻录成光盘。 genisoimage [参数] [镜像名] [目录名] |-J: 使用Joliet格式的目录与文件名称 |
|-o: 设置镜像文件名称 |
|-r: 保留文件的权限属性信息 |
|--help: 显示帮助信息 |
|--sysid: 设置光盘的系统ID | 示例1:
将指定的目录制成ISO镜像文件:
[root@linuxcool ~]#genisoimage -o File.iso /Dir
示例2:
显示帮助信息:
[root@linuxcool ~]#genisoimage -help 文档编辑(document) 321 spell spell命令 – 建立拼写检查程序 spell可从标准输入设备读取字符串,结束后显示拼错的词汇。 spell [字符串] 示例1:
检查testfile 拼写错误 :
[root@linuxcool ~]# spell testfile 文档编辑(document) 322 jed jed命令 – 编辑文本文件 jed命令用于编辑文本文件。 jed是以Slang所写成的程序,适合用来编辑程序原始代码。 jed [参数] [文件] |-2: 显示上下两个编辑区 |
|-batch: 以批处理模式来执行 |
|-g: 移到缓冲区中指定的行数 |
|-i: 将指定的文件载入缓冲区 |
|-s: 查找并移到指定的字符串 | 示例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 文档编辑(document) 323 tr tr命令 – 字符转换工具 tr命令来自英文单词transform的缩写,中文译为“转换”,其功能是转换字符。tr命令是一款批量字符转换、压缩、删除的文本工具,但仅能从标准输入中读取文本内容,需要与管道符或输入重定向操作符搭配使用。 tr [参数] [字符串1] [字符串2] |-c: 反选字符串1的补集 |
|-d: 删除字符串1中出现的所有字符 |
|-s: 删除所有重复出现的字符序列 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例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
………………省略部分输出信息……………… 文档编辑(document) 324 cdparanoia cdparanoia命令 – 翻录CD文件 cdparanoia命令用于翻录CD文件。
cdparanoia翻录工具通常被认为是可用于翻录CD的最佳工具。它直接从CD中切割数据,没有模拟步骤,并且还很好地报告在翻录时感觉到的任何抖动,因此您知道您的CD撕裂尽可能接近原始。 cdparanoia [参数] |-B: 强制将每首曲目放到一个单独的文件 |
|1-: 从第一首曲目到最后一首 |
|2-: 从音乐CD上“刮写”除了第一道音轨之外的所有音轨 |
|数字: 以1~16x的速度刻录 | 示例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-" 文档编辑(document) 325 red red命令 – 文本编辑工具 red命令的功能是用于文本编辑工具,能够将文件内容读入编辑器缓存,对副本进行编辑操作后再写入回硬盘中。与vi/vim命令很大不同点在于red命令在编辑时无法查看到文件内容,因此一定要仔细检查输入信息的正确性,避免频繁往返于编辑和命令行模式,浪费大量的时间。
很少有Linux系统运维人员会直接使用red命令编辑文本内容,而更多的是基于Shell脚本调用red命令,从而对指定文件内容进行准确地修改操作,这样就比vi/vim有优势了。 red [参数] [文件名] |i: 在最后一行前插入新内容 |
|o: 把最后一行替换成新内容 |
|q: 退出编辑器 |
|w: 保存文件内容 |
|.: 使用命令行模式 |
|-G: 使用兼容模式 |
|-l: 失败后使用0状态退出 |
|-p: 设置指定字符串作为交互提示 |
|-v: 显示执行过程详细信息 | 示例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 文档编辑(document) 326 col col命令 – 用于过滤控制字符 功能介绍:
col命令的英文全称是“colation”,其中文释义就是“过滤”。该命令是一个标准输入文本过滤器,它从标注输入设备读取文本内容,并把内容显示到标注输出设备。 在许多UNIX说明文件里,都有RLF控制字符。当我们运用shell特殊字符”>”和”>>”,把说明文件的内容输出成纯文本文件时,控制字符会变成乱码,col指令则能有效滤除这些控制字符。 col [参数] |-b: 过滤掉所有的控制字符,包括RLF和HRLF |
|-f: 滤除RLF字符,但允许将HRLF字符呈现出来 |
|-x: 以多个空格字符来表示跳格字符 |
|-l<缓冲区列数>: 预设的内存缓冲区有128列,您可以自行指定缓冲区的大小 | 示例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 文档编辑(document) 327 rgrep rgrep命令 – 查找文件里符合条件的字符串 rgrep命令的功能和grep命令类似,可查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设rgrep命令会把含有范本样式的那一列显示出来。 rgrep [参数] |-?: 显示范本样式与范例的说明 |
|-B: 忽略二进制的数据 |
|-c: 计算符合范本样式的列数 |
|-D: 排错模式,只列出命令搜寻的目录清单,而不会读取文件内容 |
|-F: 只读取该连接所指向的原始文件的内容 |
|-h: 特别将符合范本样式的字符串标示出来 |
|-H: 只列出符合范本样式的字符串,而非显示整列的内容 |
|-i: 忽略字符大小写的差别 |
|-l: 列出文件内容符合指定的范本样式的文件名称 |
|-n: 在显示符合坊本样式的那一列之前,标示出该列的列数编号 |
|-N: 不要递归处理 |
|-r: 递归处理,将指定目录下的所有文件及子目录一并处理 |
|-R: 此参数的效果和指定”-r”参数类似,但只主力符合范本样式文件名称的文件 |
|-v: 反转查找 |
|-W: 限制符合范本样式的字符串所在列,必须拥有的字符数 |
|-x: 只处理符合指定扩展名的文件名称的文件 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例1:
在当前目录下查找句子中包含”Hello”字符串的文件:
[root@linuxcool ~]# rgrep Hello *
示例2:
显示范本样式与范例的说明:
[root@linuxcool ~]# rgrep -? 文档编辑(document) 328 head head命令 – 显示文件开头的内容 head命令的功能是显示文件开头的内容,默认为前10行。 head [参数] [文件名] |-c: 设置显示头部内容的字符数 |
|-n: 设置显示行数 |
|-q: 不显示文件名的头信息 |
|--help: 显示帮助信息 | 示例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 文档编辑(document) 329 comm comm命令 – 比较两个已排过序的文件 comm命令会一列列地比较两个已排序文件的差异,并将其结果显示出来,如果没有指定任何参数,则会把结果分成3行显示:第1行仅是在第1个文件中出现过的列,第2行是仅在第2个文件中出现过的列,第3行则是在第1与第2个文件里都出现过的列。若给予的文件名称为”-“,则comm指令会从标准输入设备读取数据。 [参数] [文件1][文件2] |-1: 不显示只在第1个文件里出现过的列 |
|-2: 不显示只在第2个文件里出现过的列 |
|-3: 不显示只在第1和第2个文件里出现过的列 |
|–help: 在线帮助 |
|–version: 显示版本信息 | 示例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 文档编辑(document) 330 make make命令 – 编译内核或源码文件 make命令的功能是编译内核或源码文件。make是GNU工程化编译工具,用于编译众多相互关联的源代码文件。make命令也可以编译内核或模块功能,以工程化的工作方式提高开发效率。
初次运行make命令时,它会通过扫描Makefile文件找到目标及其依赖关系,并在建立依赖关系后依次编译所对应的源码程序。 make [参数] [文件名] |-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: 设置目标文件 | 示例1:
编译当前工作目录下的工程源码:
[root@linuxcool ~]# make
示例2:
读取指定文件作为Makefile文件:
[root@linuxcool ~]# make -f Makefile
示例3:
为make命令提供指定的不同目录路径:
[root@linuxcool ~]# make -C /Dir
示例4:
显示全部的调试信息:
[root@linuxcool ~]# make -d 文档编辑(document) 331 gawk gawk命令 – 模式扫描与处理语言 gawk是Unix中原始awk程序的GNU版本,强大之处在于可以写脚本来读取文本行的数据,然后处理并显示数据。 gawk [参数] |-f: 从文件程序文件读取AWK程序源,而不是从第一个命令行参数。可以使用多个-f(或--file)选项 |
|-F: 指定描绘一行中数据字段的文件分隔符 |
|-v: 定义gawk程序中使用的变量和默认值 |
|-mr: 指定数据文件中的最大记录大小 | 示例1:
命令行读取程序脚本:
[root@linuxcool ~]# gawk '{print "hello world"}'
示例2:
指定描绘一行中数据字段的文件分隔符:
[root@linuxcool ~]# gawk -F: '{print $1}' /etc/passwd 文档编辑(document) 332 tput tput命令 – 初始化和操作会话 tput命令将通过 terminfo [数据库]对您的终端会话进行初始化和操作。通过使用 tput,您可以更改几项终端功能,如移动或更改光标、更改文本属性,以及清除终端屏幕的特定区域。 tput [参数] |setb: 用于设置背景颜色 |
|setf: 用于设置前景颜色 | 示例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 文档编辑(document) 333 look look命令 – 查询单词 look指令用于英文单字的查询。您仅需给予它欲查询的字首字符串,它会显示所有开头字符串符合该条件的单字。 look [参数] [字符串] [文件] |-a: 使用另一个字典文件web2,该文件也位于/usr/dict目录下 |
|-d: 只对比英文字母和数字,其余一慨忽略不予比对 |
|-f: 忽略字符大小写差别。 |
|-t: <字尾字符串> 设置字尾字符串 | 示例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. 文档编辑(document) 334 nano nano命令 – 字符终端文本编辑器 nano是一款基于字符终端的文本编辑器工具,类似于DOS系统下的editor程序,比Linux系统中常用的vi/vim相比更加简单,更适合初学者使用。
nano命令可以打开指定文件进行编辑,默认情况下它会自动断行,即在一行中输入过长的内容时自动拆分成几行,但用这种方式来处理某些文件可能会带来问题,比如Linux系统的配置文件,自动断行就会使本来只能写在一行上的内容折断成多行了,有可能造成程序崩溃。因此,如果你想避免这种情况出现,就加上-w选项吧。 nano [参数] [文件名] |-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: 显示帮助信息 | 示例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 文档编辑(document) 335 fmt fmt命令 – 编排文本文件 fmt命令会从指定的文件里读取内容,将其依照指定格式重新编排后,输出到标准输出设备。若指定的文件名为”-“,则fmt指令会从标准输入设备读取数据。 fmt [参数] [文件] |-c: 每段前两列缩排 |
|-s: 只拆开字数超出每列字符数的列,但不合并字数不足每列字符数的列 |
|-t: 每列前两列缩排,但第1列和第2列的缩排格式不同 |
|-u: 每个字符之间都以一个空格字符间隔,每个句子之间则两个空格字符分隔 |
|-w: 设置每列的最大字符数 | 示例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 文档编辑(document) 336 paste paste命令 – 合并两个文件 paste命令来自英文单词“粘贴”,其功能是用于合并两个文件。paste命令能够将两个文件以列对列的方式进行合并,相当于是把两个不同的文件内容粘贴到了一起,形成新的文件,如需先将内容合并成一行,再以行粘贴的方式合并,可以用-s参数搞定。 paste [参数] [文件名1] [文件名2] |-d: 设置自定义间隔符 |
|-s: 将每个文件粘贴成一行 |
|--: 从标准输入中读取数据 | 示例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 文档编辑(document) 337 mtype mtype命令 – mtools工具 mtype为mtools工具命令,模拟MS-DOS的type命令,可显示MS-DOS文件的内容。 mtype [参数] [文件] |-s: 去除8位字符码集的第一个位,使它兼容于7位的ASCII。 |
|-t: 将MS-DOS文本文件中的”换行+光标移至行首”字符转换成Linux的换行字符。 | 示例1:
打开名为dos.txt 的MS-DOS文件可使用如下命令:
[root@linuxcool ~]# mtype dos.txt 文档编辑(document) 338 csplit csplit命令 – 分割文件 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命令在线查询手册 |-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文件。 | 示例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"/ 文档编辑(document) 339 view view命令 – 编辑文本文件 view命令的功能是用于编辑文本文件。view实际并不是一个真实存在的命令文件,而是vi命令的别名命令,因此使用方法与vi编辑器完全一致,无须担心。 view [参数] [文件名] |+数字: 设置从文件第N行开始编辑 |
|-b: 使用二进制模式 |
|-c: 加载文件后执行指定命令 |
|-e: 使用Ex模式 |
|-m: 不允许修改文件内容 |
|-n: 不使用交换分区,只用物理内存 |
|-o: 打开指定数量的窗口 |
|-p: 打开指定数量的标签页 |
|-R: 使用只读模式 |
|-s: 静默执行模式 |
|-T: 设置使用的终端 |
|-u: 使用vimrc,而不是.vimrc |
|-v: 使用Vi模式 |
|-y: 使用简易模式 |
|-Z: 使用受限模式 |
|--help: 显示帮助信息 |
|--literal: 不扩展通配符 |
|--noplugin: 跳过指定插件 |
|--remote: 连接至远程服务器 |
|--version: 显示版本信息 | 示例1:
编辑指定的文件:
[root@linuxcool ~]#view File.cfg
示例2:
从第2行开始,编辑指定的文件:
[root@linuxcool ~]#view +2 File.cfg
示例3:
以只读模式,打开指定的文件:
[root@linuxcool ~]#view -R File.cfg 文档编辑(document) 340 ed ed命令 – 文本编辑 ed是Linux中功能最简单的文本编辑程序,一次仅能编辑一行而非全屏幕方式的操作。
ed命令并不是一个常用的命令,一般使用比较多的是vi 指令。但ed文本编辑器对于编辑大文件或对于在shell脚本程序中进行文本编辑很有用。 ed [参数] |-G: 提供回兼容的功能 |
|-p: 指定ed在command mode的提示字符 |
|-s: 不执行开启文件时的检查功能 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例1:
以下是一个 Linux ed 完整实例解析:
[root@linuxcool ~]# ed 文档编辑(document) 341 let let命令 – 执行一个或多个表达式 let命令是bash中用于计算的工具,用于执行一个或多个表达式,变量计算中不需要加上 $ 来表示变量。如果表达式中包含了空格或其他特殊字符,则必须引起来。 let [参数] 示例1:
自加操作:
[root@linuxcool ~]# let no++
示例2:
自减操作:
[root@linuxcool ~]# let no-- 文档编辑(document) 342 mkvcdfs mkvcdfs命令 – 制作vcd文件 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仿真模 式所必须的。 mkvcdfs [参数] |文件名.mpg: MPEG文件 | 示例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 文档编辑(document) 343 fold fold命令 – 限制文件列宽 fold命令会从指定的文件里读取内容,将超过限定列宽的列加入增列字符后,输出到标准输出设备。若不指定任何文件名称,或是所给予的文件名为”-“,则fold指令会从标准输入设备读取数据。 fold [参数] [文件] |-b: 以Byte为单位计算列宽,而非采用行数编号为单位 |
|-s: 以空格字符作为换列点 |
|-w: 设置每列的最大行数 |
|--help: 在线帮助 |
|--version: 显示版本信息 | 示例1:
将一个名为testfile 的文件的行折叠成宽度为30:
[root@linuxcool ~]# fold -w 30 file
示例2:
以空格字符作为换列点:
[root@linuxcool ~]# fold -s file
示例3:
以Byte为单位计算列宽,而非采用行数编号为单位:
[root@linuxcool ~]# fold -b file 文档编辑(document) 344 ispell ispell命令 – 用于拼写检查程序 ispell预设会使用/usr/lib/ispell/english.hash字典文件来检查文本文件。若在检查的文件中找到字典没有的词汇,ispell会建议使用的词汇,或是让你将新的词汇加入个人字典。 ispell [参数] |-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: 不要产生备份文件 | 示例1:
检查testfile文件:
[root@linuxcool ~]# ispell testfile
示例2:
文件testfile中有拼写错误,对该文件进行修改后需备份文件:
[root@linuxcool ~]# ispell -b testfile 文档编辑(document) 345 tempfile tempfile命令 – 临时文件命名 有时候在写Shell脚本的时候需要一些临时存储数据的才做,最适合存储临时文件数据的位置就是/tmp,因为该目录中所有的内容在系统重启后就会被清空。
tempfile命令只有在基于Debian的发行版中才默认自带,比如Ubuntu,其他发行版没有这个命令。 tempfile [参数] |$: [变量] | 示例1:
用一个加带了随机数的文件名作为临时文件命名:
[root@linuxcool ~]# temp_file_name="/tmp/file_$RANDOM" 文档编辑(document) 346 gedit gedit命令 – GNOME桌面的文本编辑器 gedit命令来自英文词组“GNOME text editor”的缩写,其功能是用于编辑文本信息,是GNOME桌面环境的文本编辑器。gedit命令拥有非常强大的通用文本编辑功能,能够创建和编辑各类型文本文件,用户还可以向gedit中添加自主选择的插件,让编辑器支持更多高级功能。 gedit [参数] [文件名] |-f: 忽略部分错误信息 |
|-R: 递归处理所有子文件 |
|-s: 使用独立模式 |
|-v: 显示执行过程详细信息 |
|-w: 使用独占方式打开文件 |
|--encoding: 设置字符编码 |
|--help: 显示帮助信息 |
|--list-encodings: 显示可使用的编码列表 |
|--new-document: 新建一个新文档 |
|--new-window: 新建一个新窗口 |
|--preserve-root: 禁止对目录进行递归操作 |
|--version: 显示版本信息 | 示例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 文档编辑(document) 347 vi vi命令 – 文本编辑器 vi命令的功能是用于编辑文本内容,是Linux系统字符界面下最常用的文本编辑工具,能够编辑任何的ASCII格式文件,对内容进行创建、查找、替换、修改、删除、复制、粘贴等操作。编写文件时,无需担心目标文件是否存在,若不存在则会自动在内存中创建,随保存操作输出到硬盘中。
由于vi/vim编辑器深入学习的难度较大,无法通过单一词条为读者讲透,如想熟练使用请参阅《Linux就该这么学》第四章4.1小节。 vi [参数] [文件] |-s: 静默模式 |
|-- -cmd<命令>: 加载任何vimrc文件之前执行指定命令 |
|-R: 只读模式 |
|-v: Vi模式 |
|-e: Ex模式 |
|-y: 简易模式 |
|-c<命令>: 加载第一个文件之后执行指定命令 |
|-s<脚本输入文件>: 从指定脚本输入文件阅读普通模式命令 |
|-w<脚本输出文件>: 追加所有类型的命令写入脚本输出文件 |
|-W<脚本输出文件>: 写入所有类型的命令到指定脚本输出文件 |
|+<行数>: 从指定行开始 |
|-- -noplugin: 不要加载插件脚本 |
|-p<数量>: 打开指定数量的标签页(带文件名) |
|-r<文件名>: 恢复崩溃的会话 |
|-L: 等同于-r |
|-r: 列出交换文件并退出 |
|-u: 熟用指定vimrc,而不是.vimrc |
|-T<终端>: 设置使用指定终端 |
|-o<数量>: 打开指定数量的窗口 |
|-n: 不使用交换文件,只用内存 |
|-Z: 受限模式 |
|-m: 不允许修改(写入) |
|-b: 二进制模式 |
|-M: 在文本中不允许修改 | 示例1:
创建某个文件,并进行编写操作:
[root@linuxcool ~]#vi anaconda-ks.cfg
示例2:
打开某个已存在的文件,从第6行开始编写:
[root@linuxcool ~]#vi +6 anaconda-ks.cfg
示例3:
打开某个已存在的文件,以只读模式进入:
[root@linuxcool ~]#vi +R anaconda-ks.cfg 文档编辑(document) 348 crudini crudini命令 – 配置ini格式文件 crudini命令来自英文词组“Create read update delete ini”的缩写,中文译为“增删改查”,其功能是用于配置ini格式文件参数信息。ini格式文件是Linux系统中常见的服务配置文件,例如php.ini,这种配置文件通常会被分为多个段落,每个段落以类似[default]的格式标识,而crudini则是为了配置ini格式文件而开发的专用命令工具。 crudini [参数] [文件名] |--del: 删除变量 |
|--existing: 指定文件已存在 |
|--format: 设置输出格式 |
|--get: 显示变量值 |
|--inplace: 锁定并写入文件 |
|--list: 更新一个列表的值 |
|--list-sep: 设置自定义间隔符 |
|--output: 将输出内容写入指定文件 |
|--set: 增加或修改变量 |
|--verbose: 显示执行过程详细信息 | 示例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 文档编辑(document) 349 db-load db_load命令 – 加密信息并生成数据库文件 db_load命令来自英文词组“read and load data”的缩写,其功能是用于加密信息并生成数据库文件。Linux系统中最常用的数据库文件生成工具之一,能够将用户信息进行hash加密并生成db数据库文件,方便第三方应用程序调用。
*源文件内容为明文形式,奇数行为用户名,偶数行为密码。 db_load [参数] [源文件名] [目标数据库名] |-f: 指定用户名和密码文件 |
|-t: 指定数据库的加密格式 | 示例1:
新建一个用户名和密码文件,并对其进行hash加密操作:
[root@linuxcool ~]#cat users.txtlinuxprobe
redhat
linuxcool
redhat
[root@linuxcool ~]#db_load -T -t hash -f users.txt users.db 文档编辑(document) 350 cdrdao cdrdao命令 – 刻录影像到光盘 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仿真模 式所必须的。 cdrdao [参数] |–scanbus: 扫描光驱挂在哪个设备上面 |
|–write: 写入 |
|--device: 光驱位置 | 示例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 文档编辑(document) 351 expr expr命令 – 字符串及整数计算器 expr命令来自英文单词“expression”的缩写,中文译为“表达式”,其功能是用于字符串及整数计算。常被用作Linux系统中求表达式变量值的工具,亦可用于计算整数值或字符串的结果,当作计算器也没问题的。 expr [表达式] [对象] |index: 找到指定字符最先出现的位置 |
|length: 统计字符串长度 |
|substr: 设置截取字符位置 | 示例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 文档编辑(document) 352 colrm colrm命令 – 过滤指定列 colrm命令的英文全称是“column remove”,即意为删除列,功能是从标准输入设备读取数据,转而输出到标准输出设备,如果不加任何参数,则该指令不会过滤任何一列。 colrm [开始列数编号<结束列数编号>] |开始列数编号: 指定要删除的列的起始编号 |
|结束列数编号: 指定要删除的列的结束编号,有时候这个参数可以省略 | 示例1:
删除第4 列之后的所有内容 :
[root@linuxcool ~]# colrm 4
示例2:
删除第4列到第6列的内容 :
[root@linuxcool ~]# colrm 4 6 文档编辑(document) 353 sdiff sdiff命令 – 以并排方式合并文件之间的差异 sdiff命令来自英文词组“Side-by-side merge of file differences”的缩写,其功能是用于以并排方式合并文件之间的差异。合理运用sdiff命令能够帮助运维人员更好地区分文件之间的不同之处,更直观地对比它们的内容差异。 sdiff [参数] [文件名1] [文件名2] |-a: 使用文本格式处理文件 |
|-b: 忽略由空格数不同造成的差异 |
|-B: 忽略任何因空行而造成的差异 |
|-E: 忽略由制表符宽度造成的差异 |
|-i: 忽略大小写的差异 |
|-l: 当有两行相同时只显示左栏的一行 |
|-o: 将结果写入到文件中 |
|-t: 将Tab转换成空格 |
|-v: 显示版本信息 |
|-W: 忽略所有空白字符 |
|-w: 限制每列最大字节 |
|--help: 显示帮助信息 | 示例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 文档编辑(document) 354 column column命令 – 格式化内容为多列格式 column命令来自英文单词“列、柱子”,其功能是用于格式化内容为多列格式。处理对象可以是标准输入,亦可以为文件,column命令会自动化地将这些内容修改为多个列的形式。 column [参数] [标准输入或文件名] |-c: 设置输出格式化为显示列宽 |
|-e: 不忽略空白行 |
|-n: 禁止将多个相邻分隔符合并 |
|-s: 设置自定义间隔符 |
|-t: 确定输入包含的列数并创建表 |
|-x: 在填充行之前填充列 | 示例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 文档编辑(document) 355 tac tac命令 – 反向显示文件内容 tac命令的功能是用于反向显示文件内容,即常见的查看文件内容命令cat的反写形式,非常有趣,好记。也就是说,当我们使用tac命令查看文件内容时,最先显示的是最后一行,倒数第二行,倒数第三行,以此类推到最后显示原本文件的第一行内容。 tac [参数] [文件名] |-b: 在行前添加分隔标志 |
|-r: 将分隔标志视作正则表达式来解析 |
|-s: 使用字符串作为分隔标志 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例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 文档编辑(document) 356 join join命令 – 连接两个文件 join的连接操作简言之就是将两个具有相同域的纪录给挑选出来,再将这些纪录所有的域放到一行。
注意:join在对两个文件进行连接时,两个文件必须都是按照连接域排好序的,按其他域排序是无效的。 join [参数] [文件1] [文件2] |-a1或-a2: 除了显示共同域的纪录之外,-a1显示第一个文件没有共同域的纪录,-a2显示第二个文件中没有共同域的纪录 |
|-i: 忽略大小写 |
|-o: 设置结果显示的格式 |
|-t: 改变域的分隔符 |
|-v1或-v2: 不显示共同域的纪录之外,-v1显示第一个文件没有共同域的纪录,-v2显示第二个文件中没有共同域的纪录 |
|-1或-2: -1用来设置文件1连接的域,-2用来设置文件2连接的域 | 示例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 文档编辑(document) 357 uniq uniq命令 – 去除文件中的重复内容行 uniq命令来自英文单词unique的缩写,中文译为“独特的、唯一的”,其功能是去除文件中的重复内容行。uniq命令能够去除掉文件中相邻的重复内容行,如果两端相同内容,但中间夹杂了其他文本行,则需要先使用sort命令进行排序后再去重,这样保留下来的内容就都是唯一的了。 uniq [参数] [文件名] |-c: 显示每行在文本中重复出现的次数 |
|-d: 设置每个重复纪录只出现一次 |
|-D: 显示所有相邻的重复行 |
|-f: 跳过对前N个列的比较 |
|-i: 忽略大小写 |
|-s: 跳过对前N个字符的比较 |
|-w: 仅对前N个字符进行比较 |
|-z: 设置终止符(默认为换行符) |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例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 文档编辑(document) 358 sed sed命令 – 批量编辑文本文件 sed命令来自英文词组stream editor的缩写,其功能是利用语法/脚本对文本文件进行批量的编辑操作。sed命令最初由贝尔实验室开发,后被众多Linux系统集成,能够通过正则表达式对文件进行批量编辑,让重复性的工作不再浪费时间。 sed [参数] [文件名] |-e: 使用指定脚本处理输入的文本文件 |
|-f: 使用指定脚本文件处理输入的文本文件 |
|-h: 显示帮助信息 |
|-i: 直接修改文件内容,而不输出到终端 |
|-r: 支持扩展正则表达式 |
|-V: 显示版本信息 | 示例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 文档编辑(document) 359 telint telint命令 – 切换运行等级 telint命令用于切换当前正在运行的Linux系统的运行等级。 telint [参数] |-t: 指定等待的秒数 | 示例1:
切换当前正在运行的Linux系统的运行等级:
[root@linuxcool ~]# telint -t 1000 系统管理(system) 360 logrotate logrotate命令 – 管理记录文件 使用logrotate指令,可以让你轻松管理系统所产生的记录文件。它提供自动替换,压缩,删除和邮寄记录文件,每个记录文件都可被设置成每日,每周或每月处理,也能在文件太大时立即处理。您必须自行编辑,指定配置文件,预设的配置文件存放在/etc目录下,文件名称为logrotate.conf。 logrotate [参数] |--help: 在线帮助 |
|-d: 详细显示指令执行过程,便于排错或了解程序执行的情况 |
|-f: 强行启动记录文件维护操作,纵使logrotate指令认为没有需要亦然 |
|-s: 使用指定的状态文件 |
|-v: 显示指令执行过程 |
|-usage: 显示指令基本用法 | 示例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 系统管理(system) 361 sudo sudo命令 – 授权普通用户执行管理员命令 sudo命令来自英文词组super user do的缩写,中文译为“超级用户才能干的事”,其功能是授权普通用户执行管理员命令。使用su命令变更用户身份虽然好用,但是需要将管理员的账户密码告诉他人,总感觉心里不踏实,幸好有了sudo服务。
使用sudo服务可以授权某个指定的用户执行某些指定的命令。通过在满足工作需求的前提下尽可能少放权,可保证服务器的安全。配置sudo服务时,可以直接编辑配置文件/etc/sudoers,亦可以执行visudo命令进行设置,一切妥当后普通用户便能够使用sudo命令进行操作了。 sudo [参数] [命令] |-A: 使用图形化界面读取用户密码值 |
|-b: 将要执行的命令放在后台执行 |
|-E: 保留用户原本的环境变量信息 |
|-h: 显示帮助信息 |
|-H: 将用户的家目录环境变量设置为/root |
|-i: 模拟用户的初始登录过程 |
|-k: 下次强制验证当前用户的密码 |
|-K: 删除用户的缓存信息,让密码有效期立即结束 |
|-r: 设置新的SELinux映射角色 |
|-s: 设置默认调用的Shell终端 |
|-t: 设置新的SELinux安全上下文类型 |
|-u: 设置使用哪位用户的身份执行 |
|-v: 设置需要验证当前用户的密码 |
|-v: 更新用户的缓存信息,让密码有效期延长5分钟 |
|-V: 显示版本信息 | 示例1:
查看当前用户有哪些被sudo服务授权的命令:
[linuxprobe@linuxcool ~]$ sudo -l
示例2:
使用某个被sudo服务允许的用户身份来执行管理员的重启命令:
[root@linuxcool ~]# sudo -u linuxprobe "reboot"
示例3:
使用当前用户身份,基于sudo命令来执行管理员的重启命令:
[root@linuxcool ~]# sudo reboot 系统管理(system) 362 tty tty命令 – 打印输出连接到标准输入的终端文件名 tty是 Teletype(电传打字机)的缩写,电传打字机是最早出现的一种终端设备,现在通常使用 TTY 来统称各种类型的终端设备,如键盘 、打印机 、显示器等。
pty(虚拟终端): 如果我们远程telnet到主机或使用xterm时,也需要一个终端交互,这就是虚拟终端pty(pseudo-tty) 。
pts/ptmx(pts/ptmx结合使用,进而实现pty): pts(pseudo-terminal slave)是pty的实现方法,与ptmx(pseudo-terminal master)配合使用实现pty。 tty [参数] |-s/--silent/--quiet: 无打印输出结果,只是返回退出状态码 |
|--help: 打印输出tty命令的帮助信息并退出 |
|--version: 打印输出当前tty命令版本信息 | 示例1:
直接输入tty命令,打印输连接到当前标准输入的终端设备文件名:
[root@linuxcool ~]# tty
/dev/pts/1
示例2:
输入”tty -s/--silent/--quiet”无直接返回结果,需要通过”echo $?”查看返回的退出码:
[root@linuxcool ~]# tty -s
[root@linuxcool ~]# echo $?
0 系统管理(system) 363 pkill pkill命令 – 依据进程名杀死指定进程 pkill命令来自英文词组“process kill”的缩写,其功能是依据进程名杀死指定进程。pkill命令与kill、killall十分相似,都是用于杀死(结束)指定进程的命令。
*获取进程名称可使用ps命令,获取进程号码可使用pidof命令。 pkill [参数] [进程名] |-c: 匹配进程ID |
|-g: 匹配进程组 |
|-l: 使用长格式显示 |
|-n: 匹配最近生成的进程 |
|-o: 匹配最早生成的进程 |
|-P: 匹配父进程ID |
|-t: 匹配开启进程的终端 |
|-u: 匹配用户ID |
|-v: 反向选择结果 |
|-z: 匹配区域ID | 示例1:
杀死指定名称的进程:
[root@linuxcool ~]#pkill sshd 系统管理(system) 364 dircolors dircolors命令 – 设置 ls 指令在显示目录或文件时所用的色彩 dircolors可根据色彩配置文件来设置LS_COLORS环境变量或是显示设置LS_COLORS环境变量的shell指令。 dircolors [参数] |--help: 在线帮助 |
|--vesion: 显示版本信息 |
|-b: 显示在Boume shell中,将LS_COLORS设为目前预设置的shell指令 |
|-c: 显示在C shell中,将LS_COLORS设为目前预设置的shell指令 |
|-p: 显示预设置 | 示例1:
显示默认值:
[root@linuxcool ~]# dircolors -p 系统管理(system) 365 chmem chmem命令 – 设置内存 chmem命令将特定大小或范围的内存设置为联机或离线。当设置内存联机时,chmem从最低内存块开始数字。当设置内存脱机时,chmem从最高内存块编号 chmem [参数] |-b, --blocks: 为enable和--disable选项使用blockrange参数,而不是range或size |
|-d, --disable: 设置内存的指定范围、大小或块范围为离线 |
|-e, --enable: 将指定的内存范围、大小或块范围设置为联机 |
|-z, --zone: 选择要在其中设置指定范围、大小和或在线或离线的内存块范围。默认情况下,内存将设置为可移动的在线区域 |
|-h, --help: 帮助信息 |
|-v, --verbose: 输出详细信息 |
|-V, --version: 版本信息 | 示例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 系统管理(system) 366 anacron anacron命令 – 定期运行命令 anacron命令可用于定期执行命令,频率以天为单位指定,与cron(8)不同的是,它不假定机器连续运行。因此,它可以用于每天不运行24小时的机器上,以控制通常由cron控制的每日、每周和每月作业。 anacron [参数] |-f: 强制执行作业,忽略时间戳 |
|-u: 只将作业的时间戳更新到当前日期,但不运行任何操作 |
|-s: 序列化作业的执行,在前一个作业完成之前,anacron不会启动新作业 |
|-d: 在此模式下,anacron将信息性消息输出到标准错误和syslog,作业的输出像往常一样通过邮件发送 |
|-q: 禁止将消息显示为标准错误,仅适用于-d参数结合使用 | 示例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 系统管理(system) 367 date date命令 – 显示或设置系统日期与时间 date命令的功能是显示或设置系统日期与时间信息。运维人员可以根据想要的格式来输出系统时间信息,时间格式为MMDDhhmm[CC][YY][.ss],其中MM为月份,DD为日,hh为小时,mm为分钟,CC为年份前两位数字,YY为年份后两位数字,ss为秒的值。 date [参数] [对象] |-d: 显示系统时间 |
|-f: 从日期文件中按行读入时间信息 |
|-r: 显示文件内容的最后修改时间 |
|-R: 以RFC-2822格式显示时间 |
|-u: 显示格林尼治时间 |
|--help: 显示帮助信息 | 示例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 系统管理(system) 368 semodule semodule命令 – 管理SELinux策略模块 semodule命令来自英文词组“Manage SELinuxpolicy modules”的缩写,其功能是用于管理SELinux策略模块。Linux系统管理员可以使用semodule命令对SELinux策略模块进行查看、安装、重装、升级、删除、激活或禁用等操作,并能够强制重新加载策略而不执行其他任务。 semodule [参数] [模块名] |-b: 安装新的基本模块 |
|-e: 激活策略模块 |
|-h: 显示帮助信息 |
|-i: 安装新的非基本模块 |
|-l: 显示安装的模块列表 |
|-n: 不要重新加载策略 |
|-r: 删除策略模块 |
|-u: 升级策略模块 |
|-v: 显示执行过程详细信息 | 示例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 系统管理(system) 369 testparm testparm命令 – 测试Samba的设置是否正确无误 testparm命令用于测试Samba的设置是否正确无误,执行testparm(test parameter)指令可以简单测试Samba的配置文件,假如测试结果无误,Samba常驻服务就能正确载入该设置值,但并不保证其后的操作如预期般一切正常。 testparm [参数] |-s: 直接列出Samba服务定义信息 | 示例1:
查看Samba配置,按Enter键显示Samba配置结果:
[root@linuxcool ~]# testparm
示例2:
直接查看Samba配置 :
[root@linuxcool ~]# testparm -s 系统管理(system) 370 reboot reboot命令 – 重新启动计算机 reboot命令的功能是用于重新启动计算机。与halt和shutdown命令相似,reboot命令的作用就是用于重启系统,简单快捷。 reboot [参数] |-d: 不将重启系统的过程写入日志中 |
|-f: 强制重启系统而不询问 |
|-i: 关闭所有的网络服务然后再重启系统 |
|-n: 直接重启系统,不保存当前资料 |
|-w: 仅模拟重启过程,将过程写入日志中 |
|--verbose: 显示执行过程详细信息 | 示例1:
重启当前系统:
[root@linuxcool ~]#reboot
示例2:
模拟重启当前系统:
[root@linuxcool ~]#reboot -w 系统管理(system) 371 lslk lslk命令 – 列出本地锁 lslk命令的作用是可以列出本地inode上的文件锁的信息。
锁可以属于本地系统上的进程,也可以属于本地系统是NFS服务器的NFS客户端系统上的进程。
注意选定文件如果没有任何选项,lslk命令将列出与系统本地文件关联的所有锁。 指定选择选项后,将禁用所有锁的列表,并且将选择选项进行或运算。仅列出满足任何选择条件的锁。 指定-a选项时,将禁用所有锁的列表,并且将选择选项与在一起。仅列出符合所有选择条件的锁。 lslk [参数] [路径] |-a: 列出选择选项进行AND运算 |
|-b: 避免内核函数可能会阻塞 |
|-n: 禁止在网络主机名和网络地址之间互相转化 |
|-i<主机名>: 按拥有进程是Internet主机还是网络地址选择锁的列表 |
|-v: 列出版本信息 |
|-k<内核名称>: 以指定内核名称作为默认的内核名称列出文件路径 |
|-p<进程PID>: 按所属的进程标识(PID)号选择锁的列表 |
|-S<超时时间>: 为内核函数lstat、readlink和stat指定一个可选的超时时间,单位为秒,否则可能出现死锁。超时时间最小设置为2,在默认情况下是15,当没有指定值时,则使用默认值 |
|-w: 禁止非致命警告消息 | 示例1:
列出所有的锁:
[root@linuxcool ~]# lslk
示例2:
从主机linuxcool.com上列出锁:
[root@localhost ~]# lslk -i linuxcool.com
示例3:
列出进程1234和8888持有的锁:
[root@linuxcool ~]# lslk -p 1234,8888 系统管理(system) 372 ctrlaltdel ctrlaltdel命令 – 设置Ctrl+Alt+Del组合键的功能 ctrlaltdel命令来自英文词组“control alter delete”的缩写,其功能是用于设置Ctrl+Alt+Del组合键的功能。Linux系统中若同时按下“Ctrl+Alt+Del”组合的话,默认会让用户选择是否关闭或重启服务器,而系统中的ctrlaltdel命令则可以设置重启或关闭服务器时使用的模式,分别为hard(硬复位)和soft(软复位)两种。
硬复位会直接关闭或重启服务器而无需调用sync同步命令,而软复位则会先发送SIGINT中断信号给init进程,随后同步后再关闭或重启服务器。 ctrlaltdel [参数] |hard: 硬复位 |
|soft: 软复位 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例1:
设置关闭或重启服务器为硬复位模式:
[root@linuxcool ~]#ctrlaltdel hard
示例2:
设置关闭或重启服务器为软复位模式:
[root@linuxcool ~]#ctrlaltdel soft
示例3:
查看命令版本信息:
[root@linuxcool ~]#ctrlaltdel --versionctrlaltdel from util-linux 2.32.1 系统管理(system) 373 exit exit命令 – 退出终端 exit命令的功能是退出终端。在终端或shell脚本中执行exit命令默认会直接退出终端,亦可在命令后添加状态值参数,这样退出后可方便后续脚本判断本次执行结果是否成功(例如执行echo $?命令)。 exit [参数] |0: 执行成功 | 示例1:
退出当前shell终端:
[root@linuxcool ~]# exit
示例2:
退出当前SSH连接终端:
[root@linuxcool ~]# exit
logout Connection to 192.168.10.10 closed. 系统管理(system) 374 mkbootdisk mkbootdisk命令 – 建立启动盘 mkbootdisk命令用来为当前运行的系统创建能够单独使用的系统引导软盘,以便在系统出现故障时能够启动操作进行适当的修复工作。 mkbootdisk [参数] |--device<设备>: 指定设备 |
|--noprompt: 不会提示用户插入磁盘 |
|--verbose: 执行时显示详细的信息 |
|--version: 显示版本信息 | 示例1:
以核心版本2.2.18设定开机:
[root@linuxcool ~]# mkbootdisk --device /dev/fd0 2.2.18
示例2:
显示版本信息:
[root@linuxcool ~]# mkbootdisk --version 系统管理(system) 375 rpmlint rpmlint命令 – 检查rpm软件包中的常见错误 rpmlint命令的作用是可以检查rpm软件包中常见的错误。使用rpmlint命令需要先安装rpmlint软件包。
rpmlint命令可用于在上传之前测试单个软件包或检查整个发行版。默认情况下,将对包进行全面检查,根据需要可以使用参数执行特定的检查。 rpmlint [参数] [文件或软件包] |-I: 未指定的消息标识符显示解释然后退出 |
|-v: 详细模式 |
|-C<目录>: 在路径列表的前面插入指定目录,来进行加载检查 |
|-a: 检查所有已安装的软件包 |
|-c: 只运行指定的检查 |
|-i: 显示报告信息的说明 |
|-E<目录>: 为提取临时文件指定基本目录 |
|-n: 忽略输出过滤 |
|-f<配置文件>: 从指定的文件加载用户的配置 |
|-o<值>: 覆盖配置选项 | 示例1:
检查指定软件包中的错误:
[root@linuxcool ~]# rpmlint bind
示例2:
检查所有的已安装软件包:
[root@linuxcool ~]# rpmlint -a
示例3:
详细检查所有已安装的软件包:
[root@linuxcool ~]# rpmlint -a -v 系统管理(system) 376 crontab crontab命令 – 管理定时计划任务 crontab命令来自英文词组cron table的缩写,其功能是管理定时计划任务。定时计划任务,顾名思义就是计划好的任务,到了时间就会自动执行。在Linux系统中,crond是一个定时计划任务服务,用户只要能够按照正确的格式(分、时、日、月、星期、命令)写入配置文件,那么就会按照预定的周期时间自动执行,而crontab命令则是用于配置定时计划任务的工具名称。
由于定时计划任务非常复杂,本词条仅作简单介绍,建议阅读《Linux就该这么学(第2版)》一书的第4章节。 crontab [参数] [对象] |-e: 编辑任务 |
|-i: 删除前询问用户是否确认 |
|-l: 显示任务 |
|-u: 设置用户名 |
|--help: 显示帮助信息 | 示例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 系统管理(system) 377 sliplogin sliplogin命令 – 将SLIP接口加入标准输入 sliplogin可将SLIP接口加入标准输入,把一般终端机的连线变成SLIP连线。通常可用来建立SLIP服务器,让远端电脑以SLIP连线到服务器。
sliplogin会去检查/etc/slip/slip.hosts文件中是否有相同的用户名称。通过检查后,sliplogin会调用执行shell script来设置IP地址,子网掩码等网络界面环境。此shell script通常是/etc/slip/slip.login。 sliplogin [用户名称] 示例1:
改变用户的连接方式:
[root@linuxcool ~]# sliplogin kk 系统管理(system) 378 du du命令 – 查看文件或目录的大小 du命令来自英文词组disk usage的缩写,其功能是查看文件或目录的大小。人们经常会把df和du命令混淆,df是用于查看磁盘或分区使用情况的命令,而du命令则是用于按照指定容量单位来查看文件或目录在磁盘中的占用情况。 du [参数] [文件名] |-a: 显示目录中所有文件大小 |
|-b: 以B为单位显示文件大小 |
|-c: 显示占用磁盘空间的大小总和 |
|-D: 显示符号链接对应原文件的大小 |
|-g: 以GB为单位显示文件大小 |
|-h: 使用易读格式显示文件大小 |
|-k: 以KB为单位显示文件大小 |
|-P: 不显示符号链接对应原文件的大小 |
|-s: 显示子目录总大小 |
|-S: 不显示子目录大小 |
|-X: 排除指定文件 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例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 系统管理(system) 379 dmesg dmesg命令 – 显示开机过程信息 dmesg命令来自英文词组“display message”的缩写,其功能是用于显示开机过程信息。Linux系统内核会将开机过程信息存储在环形缓冲区(ring buffer)中,随后再写入到/var/log/dmesg文件里,如果开机时来不及查看这些信息,则可以利用dmesg命令进行调取。 dmesg [参数] |-c: 清空环形缓冲区中的内容 |
|-d: 显示信息时间差 |
|-D: 禁止向终端输出信息 |
|-E: 启用向终端输出信息 |
|-H: 以更易读的格式输出信息 |
|-k: 显示内核信息 |
|-l: 设置输出级别 |
|-L: 显示彩色信息 |
|-n: 设置记录信息的层级 |
|-r: 显示原生消息缓冲区信息 |
|-s: 设置环形缓冲区的大小 |
|-t: 不显示消息时间戳 |
|-T: 显示易读的时间戳格式 |
|-u: 显示用户空间消息 |
|-w: 等待新消息 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例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 系统管理(system) 380 mkbootmedia mkbootmedia命令 – 创建可引导的Solaris ISO映像 mkbootmedia实用程序以媒体根(磁盘上Solaris安装媒体的根)作为输入,并使用mkisofs在文件ISO中创建一个可引导的Solaris ISO映像。 mkbootmedia[参数] |–llabel: 设置标记为ISO映像的标签/卷名称 |
|–v: 详细,多个–v选项可增加详细程度 | 示例1:
根据s10u1的内容创建一个ISO映像并将其刻录到CD / DVD:
[root@linuxcool ~]#/usr/bin/mkbootmedia s10u1 s10u1.iso#/usr/bin/cdrw -i s10u1.iso 系统管理(system) 381 chpasswd chpasswd命令 – 批量更新密码 chpasswd命令是批量更新用户口令的工具,是把一个文件内容重新定向添加到/etc/shadow中。
chpasswd命令从系统的标准输入读入用户的名称和口令,并利用这些信息来更新系统上已存在的用户的口令。 chpasswd [参数] |-e: 输入的密码是加密后的密文 |
|-m: 当被支持的密码未被加密时,使用MD5加密代替DES加密 |
|-h: 显示帮助信息并退出 | 示例1:
运用chpasswd命令来批量修改密码,是linux系统管理中的捷径:
[root@linuxcool ~]# cat user.txt
linuxcool:redhat
[root@linuxcool ~]# chpasswd < user.txt 系统管理(system) 382 bind bind命令 – 显示或设置键盘按键与其相关的功能 您可以利用bind命令了解有哪些按键组合与其功能,也可以自行指定要用哪些按键组合。 bind [参数] |-d: 显示按键配置的内容 |
|-f<按键配置文件>: 载入指定的按键配置文件 |
|-l: 列出所有的功能 |
|-m<按键配置>: 指定按键配置 |
|-q<功能>: 显示指定功能的按键 |
|-v: 列出目前的按键配置与其功能 |
|--help: 在线帮助 |
|--vesion: 显示版本信息 | 示例1:
显示按键组合的所有功能:
[root@linuxcool ~]# bind -l
示例2:
列出指定功能的按键和按键组合:
[root@linuxcool ~]# bind -q abort 系统管理(system) 383 help help命令 – 显示帮助信息 help命令的功能是显示帮助信息,能够输出shell内部命令的帮助内容,但对于外部命令则无法使用,需要用man或info命令进行查看。 help [参数] [命令名] |-d: 显示命令的简短描述 |
|-m: 使用man手册格式显示帮助信息 | 示例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.
………………省略部分输出信息……………… 系统管理(system) 384 aulastlog aulastlog命令 – 打印最近登陆记录 aulastlog是一个程序,它打印出计算机的所有用户的最后一个登录名,并使用类似于lastlog命令的方式,将打印登录名、端口和上次登录时间。
如果用户从未登录,将显示消息“从未登录”而不是端口和时间。 aulastlog [参数] |-u, --user: 仅使用指定的登录名为用户打印最后日志记录 |
|--stdin: 使用 stdin 作为审核记录的来源 | 示例1:
打印linuxcool用户的登陆日志:
[root@linuxcool ~]# aulastlog -u linuxcool
示例2:
从标准输入中获取登陆日志:
[root@linuxcool ~]# aulastlog --stdin
示例3:
获取所有用户的登陆日志:
[root@linuxcool ~]# aulastlog 系统管理(system) 385 finger finger命令 – 查询其他使用者的资料 finger命令的功能是用于查询其他使用者的资料,包含本机现在所有用户的登录信息、账户名称、真实名字、登录终端、空闲时间、登入时间以及地址和电话等信息。 finger [参数] [用户名] |-l: 显示用户的详细信息 |
|-m: 查找用户的真实姓名 |
|-s: 显示用户的基本信息 | 示例1:
列出当前系统登录用户的相关信息 :
[root@linuxcool ~]#finger -l
示例2:
显示指定远程用户的相关信息:
[root@linuxcool ~]#finger -m root@192.168.10.10
示例3:
显示指定本地用户的相关信息:
[root@linuxcool ~]#finger linuxcool 系统管理(system) 386 type type命令 – 查看命令类型 type命令来自英文单词“类型”,其功能是用于查看命令类型,如需区分某个命令是Shell内部指令还是外部命令,则可以使用type命令进行查看。 type [参数] [命令名称] |builtin: 内部指令 |
|file: [文件] |
|function: 函数 |
|keyword: 关键字 |
|alias: 别名 |
|unfound: 没有找到 | 示例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 系统管理(system) 387 modprobe modprobe命令 – 内核模块智能加载工具 modprobe命令用于智能地向内核中加载模块或者从内核中移除模块。
modprobe命令可载入指定的个别模块,或是载入一组相依的模块。若在载入过程中发生错误,在modprobe会卸载整组的模块。内核模块加载成功或失败信息可以使用dmesg指令来查看。 modprobe [参数] [模块名] |-a: 加载命令行给出的全部的模块 |
|-c: 显示所有模块的设置信息 |
|-d: 使用排错模式 |
|-l: 显示可用的模块 |
|-r: 从内核中移除模块 |
|-t: 指定模块类型 |
|-s: 记录错误信息到系统日志中 |
|-- -show-depends: 显示模块依赖关系 |
|-v: 执行时显示详细的信息 |
|-V: 显示版本信息 |
|-help: 显示帮助 | 示例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 系统管理(system) 388 dstat dstat命令 – 全能系统信息统计工具 dstat命令是一个用来替换vmstat、iostat、netstat、nfsstat和ifstat这些命令的工具,是一个全能系统信息统计工具。与sysstat相比,dstat拥有一个彩色的界面,在手动观察性能状况时,数据比较显眼容易观察;而且dstat支持即时刷新,譬如输入dstat 3即每三秒收集一次,但最新的数据都会每秒刷新显示。和sysstat相同的是,dstat也可以收集指定的性能资源,譬如dstat -c即显示CPU的使用情况。 dstat [参数] |-c: 显示CPU系统占用,用户占用,空闲,等待,中断,软件中断等信息 |
|-d: 显示磁盘读写数据大小 |
|-n: 显示网络状态 |
|-l: 显示系统负载情况 |
|-m: 显示内存使用情况 |
|-g: 显示页面使用情况 |
|-p: 显示进程状态 |
|-s: 显示交换分区使用情况 |
|-r: I/O请求情况 |
|-y: 系统状态 |
|--ipc: 显示ipc消息队列,信号等信息 |
|--socket: 用来显示tcp udp端口状态 | 示例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 系统管理(system) 389 hostid hostid命令 – 用来打印当前主机的数字化标识 hostid命令用于打印当前主机的十六进制数字标识。是主机的唯一标识,是被用来限时软件的使用权限,不可改变。 hostid [参数] |--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例1:
打印当前主机的数字化标识:
[root@linuxcool ~]# hostid 系统管理(system) 390 uptime uptime命令 – 查看系统负载 uptime命令的功能是查看系统负载,是Linux系统中最常用的命令之一。uptime命令能够显示系统已经运行了多长时间、当前登入用户的数量,以及过去1分钟、5分钟、15分钟内的负载信息。该命令的用法也十分简单,一般不需要加参数,直接输入uptime即可。 uptime [参数] |-p: 以更易读的方式显示 |
|-s: 显示本次开机时间 |
|--version: 显示版本信息 | 示例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 系统管理(system) 391 unalias unalias命令 – 取消命令别名 unalias命令用来取消命令别名,是为shell内建命令。如果需要取消任意一个命令别名,则使用该命令别名作为指令的参数选项即可。如果使用-a选项,则表示取消所有已经存在的命令别名。 unalias [参数] [别名] |-a: 取消所有命令别名 | 示例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 系统管理(system) 392 syslog syslog命令 – 系统默认的日志守护进程 syslog 是Linux系统默认的日志守护进程。默认的syslog配置文件是/etc/syslog.conf文件。程序,守护进程和内核提供了访问系统的日志信息。因此,任何希望生成日志信息的程序都可以向 syslog 接口呼叫生成该信息。
几乎所有的网络设备都可以通过syslog协议,将日志信息以用户数据报协议(UDP)方式传送到远端服务器,远端接收日志服务器必须通过syslogd监听UDP 端口514,并根据 syslog.conf配置文件中的配置处理本机,接收访问系统的日志信息,把指定的事件写入特定文件中,供后台数据库管理和响应之用。意味着可以让任何事件都登录到一台或多台服务器上,以备后台数据库用off-line(离线) 方法分析远端设备的事件。
通常,syslog 接受来自系统的各种功能的信息,每个信息都包括重要级。/etc/syslog.conf [文件]通知 syslogd 如何根据设备和信息重要级别来报告信息。 show syslog [参数] |statistics: 统计信息 |
|error: 异常日志 |
|memory: 内存日志 | 示例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 系统管理(system) 393 tset tset命令 – 终端初始化 tset命令的作用是可以进行终端初始化。默认终端类型为“unknown”。
如果命令行上没有指定终端类型,则应用-m选项映射,如果终端类型以问号(” ? “)开头,则提示用户确认终端类型。或者可以输入另一个类型来指定新类型。一旦确定了终端类型,就会检索终端。如果没有找到该类型的,则提示用户输入另一种终端类型。
一旦获取了条目,就会设置窗口大小、退格、中断和行终止字符(以及许多其他内容),并且将终端和制表符初始化字符串发送到标准错误输出。最后,如果擦除、中断和行终止字符已经更改,或者没有设置为默认值,那么它们的值将显示在标准错误输出中。 tset [参数] [终端] |-w: 调整窗口的大小,以匹配通过setupterm推导的大小 |
|-c: 控制字符和模式 |
|-e: 将擦除字符设置为ch |
|-i: 将中断字符设置为ch |
|-I: 不要发送终端或标签初始化字符串到终端 |
|-k: 将行删除字符设置为ch |
|-m<映射>: 从一个端口类型到一个终端指定一个映射 |
|-Q: 为擦除、中断和行删除字符不显示任何值 |
|-q: 终端类型被显示到标准输出,并且所述终端是不以任何方式进行初始化 |
|-r: 输出终端类型到标准输出 |
|-s: 输出shell命令的序列来初始化环境变量TEERM到标准输出 | 示例1:
终端初始化:
[root@linuxcool ~]# tset
示例2:
显示终端类型:
[root@linuxcool ~]# tset -q
示例3:
将中断字符设置为ch:
[root@linuxcool ~]# tset -i ch
Interrupt set to c. 系统管理(system) 394 kill kill命令 – 杀死进程 kill命令的功能是杀死(结束)进程。Linux系统中如需结束某个进程,既可以使用如service或systemctl这样的管理命令来结束服务,也可以使用kill命令直接结束进程信息。
如使用kill命令后进程并没有结束,则可以使用信号9进行强制杀死动作。 kill [参数] 进程号 |-a: 不限制命令名与进程号的对应关系 |
|-l: 显示系统支持的信号列表 |
|-s: 设置向进程发送的信号 | 示例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 系统管理(system) 395 timedatectl timedatectl命令 – 设置系统时间与日期 timedatectl命令来自英文词组time date control的缩写,其功能是设置系统时间与日期。与使用date命令设置日期时间不同,使用timedatectl命令设置过的日期时间信息将被写入系统配置文件,从而立即且长期有效,不会随系统重启而失效。该命令还能用来查看系统时间与日期,一站式搞定系统时间。 timedatectl [参数] [对象] |list-timezones: 显示已知时区信息 |
|set-local-rtc 0: 设置硬件始终为UTC时间 |
|set-local-rtc 1: 设置硬件始终为本地时间 |
|set-ntp (true/false): 开启或关闭NTP时间服务器同步功能 |
|set-timezone ZONE: 设置系统时区 |
|status: 显示当前时间状态 | 示例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" 系统管理(system) 396 metassist metassist命令 – 支持Solaris Volume Manager的自动卷创建实用程序 metassist命令通过自动化提供使用常见Solaris卷管理器任务的帮助。 metassist[参数] |–c: 输出将执行指定或生成的卷配置的命令脚本 |
|–d: 输出满足指定或生成的卷请求的卷配置 |
|–f: 指定该卷在故障后是否应支持自动组件更换 |
|–nname: 指定新卷的名称 |
|–pn: 指定存储卷所需的路径数 |
|–vvalue: 指定详细程度 | 示例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 系统管理(system) 397 atrm atrm命令 – 删除待执行的任务 atrm命令的作用是删除待执行任务队列中的指定任务。
通常,先使用atq命令查询待执行任务列表以显示任务号,再使用atrm指令删除具体任务,被删除的任务到指定时间后将不会被执行。可以在命令行中一次删除多个任务,多个任务之间用空格隔开。 atrm [参数] [任务号] |-V: 显示版本号 |
|-d<任务编号>: 将指定任务编号的待执行任务删除 | 示例1:
删除1、2、3号任务:
[root@linuxcool ~]# atrm 1 2 3
示例2:
删除指定编号任务:
[root@linuxcool ~]# atrm -d 055 系统管理(system) 398 screen screen命令 – 多重视窗管理程序 screen命令来自英文单词“屏幕”,其功能是用于管理终端窗口的多重视窗。所谓的视窗,实际是指Linux系统中一个全屏幕的文字模式画面,由于默认每个终端窗口单一时间只能执行一个命令任务,难免会造成视窗界面的浪费,我们能否将终端界面改造成多个视窗呢?类似于某些股票管理软件,左侧是大盘数据,右侧是账户信息,上面是系统时间,下面再来些专家建议,这样就要用到screen服务程序了。 screen [参数] [对象] |-A: 调整视窗尺寸为终端界面大小 |
|-d: 将指定视窗作业离线 |
|-h: 设置视窗缓冲区的行数 |
|-ls: 显示全部的作业 |
|-m: 强制建立新的视窗 |
|-r: 恢复指定视窗作业 |
|-R: 先尝试恢复离线作业,失败则建立新的视窗 |
|-s: 建立新视窗时的终端 |
|-v: 显示版本信息 |
|-x: 恢复此前已离线的视窗作业 |
|-wipe: 检查所有的作业并删除无法使用的 | 示例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 系统管理(system) 399 yum-debug-restore yum-debug-restore命令 – 重播在调试转储文件中捕获的yum事务 yum debug restore是一个程序,它接受由yum debug dump创建的gzip文件,并对其中包含的已安装包的信息执行操作。 yum debug restore [参数] |-C: 只从缓存中运行 |
|-c<配置文件>: 指定配置文件的位置 |
|--output: 输出yum shell命令 |
|shell=<文件>: 输出yum shell命令到一个文件 |
|install-latest: 安装最新的版本而不是指定版本 | 示例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 系统管理(system) 400 printenv printenv命令 – 显示系统环境变量与值 printenv命令来自英文词组“print environment”的缩写,其功能是用于显示系统环境变量与值。Linux系统中的环境变量多达几十个,在它们的共同协作下才有了用户的工作界面,例如PATH变量让命令得以被运行了、MAIL变量让邮件能够被接收了、HOME变量让用户有了家目录等。 printenv [参数] [变量名] |--help: 显示帮助信息 |
|--null: 使用空字符结束每一行 |
|--version: 显示版本信息 | 示例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:
Full documentation at:
or available locally via: info '(coreutils) printenv invocation' 系统管理(system) 401 journalctl-2 [重]journalctl命令 – 检索systemd日志 journalctl命令可以用来查询 systemd-journald.service(8) 所写的 systemd(1) 日志的内容。如果调用时没有参数,则会显示日志的全部内容,从收集到的最早的条目开始。 journalctl [参数] |-a: 完整显示所有字段内容,即使其中包含非打印字符或者字段内容超长 |
|-f: 只显示最新的日志项, 并且不断显示新生成的日志项 |
|-n: 限制显示最新的日志行数 |
|-e: 在分页工具内 立即跳转到日志的尾部 |
|-o: 控制日志的 输出格式 | 示例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 系统管理(system) 402 lsmod lsmod命令 – 显示已加载模块状态 lsmod命令用于显示已经加载到内核中的模块的状态信息。
执行lsmod命令后会列出所有已载入系统的模块。linux操作系统的核心具有模块化的特性,因此在编译核心时,务须把全部的功能都放入核心。可以将这些功能编译成独立的模块,待需要时再分别载入。
lsmod命令支持内核版本为2.5.48以上的linux系统,比此版本老的内核使用命令lsmod.old lsmod 示例1:
显示模块信息:
[root@linuxcool ~]# lsmod 系统管理(system) 403 bootadm bootadm命令 – 管理引导配置 bootadm命令管理启动存档,对于 x86 的启动环境,管理 GRUB(GRand Unified Bootloader)菜单。 对于x86来说,支持Legacy GRUB和GRUB2(但不是同时)。更新存档选项为用户提供了一种更新引导存档的方法,作为一种预防措施或作为恢复程序的一部分。 bootadm [参数] |update-archive: 更新引导归档文件 |
|set-menu: 设置缺省的引导项 |
|list-menu: 显示GRUB 菜单项 |
|add-entry: 添加菜单项 | 示例1:
更新引导归档文件:
[root@linuxcool ~]# bootadm update-archive
示例2:
设置缺省的引导项:
[root@linuxcool ~]# bootadm set-menu default=5
示例3:
显示GRUB 菜单项:
[root@linuxcool ~]# bootadm list-menu 系统管理(system) 404 pidof pidof命令 – 查找服务进程的PID号码 pidof命令来自英文词组“Process identifier of”的缩写,其功能是用于查找服务进程的PID号码。在没有pidof命令之前,Linux系统运维人员要想获知一个服务进程的PID号码,只得先用ps命令遍历整个系统的进程状态,再使用grep命令进行查找,不仅操作复杂而且效率也很低。现在只需要在命令后加上想查询的服务名称,pidof命令就会查找到具体信息。 pidof [参数] [服务名] |-c: 仅显示同一根目录的进程PID值 |
|-o: 忽略指定PID的进程 |
|-s: 仅显示一个进程PID |
|-x: 显示指定运行脚本的进程PID | 示例1:
查找某个指定服务所对应的进程PID号码:
[root@linuxcool ~]#pidof sshd7518
示例2:
查找多个指定服务所对应的进程PID号码:
[root@linuxcool ~]#pidof sshd crond7518 2443 系统管理(system) 405 fsck-ext2 fsck.ext2命令 – 检查及修复ext2文件系统 当ext2文件系统发生错误时,可用fsck.ext2指令尝试加以修复。 fsck.ext2 [参数] |-a: 自动修复文件系统,不询问任何问题 |
|-c: 检查指定的文件系统内,是否存在有损坏的区块 |
|-d: 详细显示指令执行过程,便于排错或分析程序执行的情形 |
|-f: 强制对该文件系统进行完整检查,纵然该文件系统在慨略检查下没有问题 |
|-F: 检查文件系统之前,先清理该保存设备块区内的数据 |
|-v: 详细显示指令执行过程 |
|-V: 显示版本信息 | 示例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 系统管理(system) 406 cal cal命令 – 显示系统月历与日期 cal命令来自英文单词“Calendar”的缩写,中文译为“日历”,其功能是用于显示系统月历与日期信息。简单好用,无需过多介绍,想好需求后参考常用参数表格即可使用。 cal [参数] [对象] |-1: 显示本月的日历 |
|-3: 显示最近三个月的日历 |
|-C: 使用校准模式 |
|-h: 显示帮助信息 |
|-j: 显示在当年中的第几天(儒略日) |
|-l: 单月份输出日历 |
|-m: 将星期一作为每月的第一天 |
|-s: 将星期天作为每月的第一天 |
|-V: 显示版本信息 |
|-y: 显示当年的日历 | 示例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 系统管理(system) 407 ntpdate ntpdate命令 – 设置日期和时间 ntpdate命令来自英文词组”NTP date“的拼写,其功能是用于设置日期和时间。ntpdate命令能够基于NTP协议设置Linux系统的本地日期和时间,利用NTP服务的时钟过滤器来选择最优方案,大大提高了可靠性和精度,让系统时间总是准确无误。 ntpdate [参数] |-a: 使用Keyid来认证全部数据包 |
|-b: 自动调整日期时钟 |
|-d: 设置调试方式 |
|-e: 设置延迟认证处理的时间秒数 |
|-k: 设置包含密钥信息的文件名 |
|-o: 设置发送轮询数据包时的NTP版本 |
|-p: 设置从每个服务器上获取的样本数目 |
|-q: 仅进行查询操作 |
|-s: 使用日志服务,而不是用标准输出 |
|-t: 设置等待响应的时间 |
|-u: 设置端口号发送数据包 |
|-v: 显示版本信息 | 示例1:
调整日期时钟:
[root@linuxcool ~]#ntpdate -b
示例2:
向指定NTP服务器同步时间:
[root@linuxcool ~]#ntpdate ntp.aliyun.com
示例3:
仅向指定NTP服务器查询时间,但不进行同步设置:
[root@linuxcool ~]#ntpdate -q ntp.aliyun.com 系统管理(system) 408 ntsysv ntsysv命令 – 设置系统服务 ntsysv是Red Hat公司遵循GPL规则所开发的程序,它具有互动式操作界面,您可以轻易地利用方向键和空格键等,开启,关闭操作系统在每个执行等级中,所要执行的系统服务。 ntsysv [参数] |-back: 在互动式界面里,显示Back钮,而非Cancel钮 |
|-level <等级代号>: 在指定的执行等级中,决定要开启或关闭哪些系统服务 | 示例1:
编辑运行级别0,1和6:
[root@linuxcool ~]# ntsysv --levels 016
示例2:
配置系统的各种服务运行等级,并且在交互式界面中显示Back按钮,可在命令行提示符下输入:
[root@linuxcool ~]# ntsysv --back 系统管理(system) 409 time time命令 – 指令执行时所消耗的时间 time命令的用途,在于量测特定指令执行时所需消耗的时间及系统资源等消息。 例如 CPU 时间、记忆体、输入输出等等。需要特别注意的是,部分消息在Linux上显示不出来。这是因为在 Linux 上部分资源的分配函式与 time 指令所预设的方式并不相同,以致于 time 指令无法取得这些资料。 time [参数] [命令] |-o: 设定结果输出档。这个选项会将 time 的输出写入 所指定的档案中。 |
|-a: 配合 -o 使用,会将结果写到档案的末端,而不会覆盖掉原来的内容。 |
|-f FORMAT: 以 FORMAT 字串设定显示方式。 | 示例1:
显示命令date的时间统计结果:
[root@linuxcool ~]# time date 系统管理(system) 410 timeout timeout命令 – 在指定的时间应在运行则杀死该进程 timeout命令作用是运行指定命令,如果在指定时间后在运行则杀死该进程。
timeout命令是GNU核心实用程序软件包的一部分,该软件包几乎安装在所有Linux发行版中。后缀s代表秒(默认值),m代表分,h代表小时,d代表天。如果不添加任何单位,默认是秒。如果持续时间为0,则禁用关联的超时。
默认情况下,timeout在后台运行托管命令。 timeout [参数] |-s<信号>: 指定在超时时发送的信号,信号可以是类似“HUP”的信号名或是信号数 |
|-k<时间>: 达到给定的时间限制后会强制结束 |
|-- -foreground: 在前台运行 | 示例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 系统管理(system) 411 set set命令 – 显示与设置Shell变量信息 set命令的功能是用于显示与设置Shell变量信息,管理员亦可以用该命令设置Shell终端特性,更好符合日常工作需要。 set [参数] [变量名] |-a: 显示已修改的变量 |
|-b: 使被中止的后台程序立刻回报执行状态 |
|-e: 若指令传回值不等于0则立即退出 |
|-f: 取消使用通配符 |
|-h: 自动记录函数的所在位置 |
|-k: 指令所给的参数都会被视为此指令的环境变量 |
|-l: 记录for循环的变量名称 |
|-m: 使用监视模式 |
|-n: 只读取命令而不实际执行 |
|-p: 使用优先顺序模式 |
|-t: 执行完指令后即退出 |
|-u: 遇到未定义的变量时报错 | 示例1:
将指定的变量提升成环境变量,并进行标记:
[root@linuxcool ~]#set -a linuxprobe
示例2:
设置当前Shell终端取消使用通配符:
[root@linuxcool ~]#set -f
示例3:
设置当前Shell终端使用监控模式:
[root@linuxcool ~]#set -m 系统管理(system) 412 nohup nohup命令 – 后端运行程序 nohup命令来自英文词组“no hang up”的缩写,其功能是用于后端运行程序。nohup命令可以将程序以忽略挂起信号的方式运行起来,而被运行程序的输出信息不会显示到屏幕上。 nohup [参数] [对象] |--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例1:
以后端模式运行指定脚本程序:
[root@linuxcool ~]#nohup File.sh &
示例2:
以后端模式执行指定命令,并将输出结果写入到文件:
[root@linuxcool ~]#nohup uptime &> File.txt 系统管理(system) 413 iptables-save iptables-save命令 – 保存防火墙策略规则 iptables-save命令的功能是保存防火墙策略规则。由于iptables与firewalld防火墙配置工具的策略默认都是当前生效而重启后失效,因此均需要执行对应的命令进行保存,让已有的防火墙策略在服务器重启后依然可以奏效。 iptables-save [参数] [对象] |-c: 保存当前的数据包计算器和字节计数器的值 |
|-M: 设置调制解调器探测程序的路径 | 示例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 系统管理(system) 414 watch watch命令 – 周期性执行任务命令 watch命令来自英文单词“观察、监视”,其功能是用于周期性执行任务命令。watch命令会以周期性的方式执行指定命令,例如每隔几秒钟、几分钟执行一次,持续关注某个命令的运行结果,免去运维人员一遍遍地手动运行。 watch [参数] 任务命令 |-b: 任务命令失败时发出警报声 |
|-d: 高亮显示变化内容 |
|-e: 任务命令错误时停止更新 |
|-g: 任务命令变化时停止更新 |
|-h: 显示帮助信息 |
|-n: 设置间隔时间 |
|-t: 不显示顶部的格式 |
|-v: 显示版本信息 | 示例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" 系统管理(system) 415 lua lua命令 – 独立的Lua解释器 Lua是一门强大,高效,轻量级的嵌入式脚本语言。lua命令是独立的Lua解释器。它能能够加载并执行Lua源程序和预编译的二进制格式。lua既可以作为脚本解释器,也可以用作交互式解释器。 lua [参数] [文件] |-e start: 执行start语句,如果start中含有空格,引号等特殊字符则需要使用引号括起来 |
|-i: 在执行完script后进入交互模式 |
|-l: 加载库文件 |
|-v: 显示版本信息 | 示例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 系统管理(system) 416 pathchk pathchk命令 – 检查文件中不可移植的部分 pathchk命令用于检查文件中不可移植的部分。 pathchk [参数] |-p: 检查大多数的POSIX系统 |
|-P: 检查空名字和“-”开头的文件 |
|--portability: 检查所有的POSIX系统,等同于“-P-p”选项 |
|--help: 显示帮助 |
|--version: 显示版本号 | 示例1:
检查文件路径是否具有可移植性:
[root@linuxcool ~]# pathchk /etc/httpd/conf/httpd.conf 系统管理(system) 417 env env命令 – 显示和定义环境变量 env命令来自英文单词environment的缩写,其功能是显示和定义环境变量。为了能够让每个用户都拥有独立的工作环境,Linux系统使用了大量环境变量,可以使用env命令进行查看和修改。 env [参数] [对象] |-i: 创建一个新的空白环境 |
|-u: 从当前环境中删除指定的变量 |
|--version: 显示版本信息 | 示例1:
显示当前系统的全部环境变量信息:
[root@linuxcool ~]# env
示例2:
删除当前系统中的指定环境变量:
[root@linuxcool ~]# env -u PWD
示例3:
定义当前系统中的指定环境变量值:
[root@linuxcool ~]# env PWD=/Dir 系统管理(system) 418 tabs tabs命令 – 在终端上设置选项卡 tabs程序清除并设置终端上的制表位。这使用terminfo清除所有选项卡和设置选项卡功能。如果其中一个不存在,则制表符无法清除/设置制表位。终端应配置为使用硬标签。 tabs [参数] |-0: 重置选项卡 |
|-8: 将制表符设置为标准间隔 |
|-T: 使用终端类型 | 示例1:
重置选项卡:
[root@linuxcool ~]# tabs -0
示例2:
将制表符设置为标准间隔:
[root@linuxcool ~]# tabs -8 系统管理(system) 419 sh sh命令 – shell命令语言解释器 sh命令来自英文单词“shell”的缩写,其功能是Shell命令语言的解释器。sh其实并不是一个实际存在的命令文件,而是bash的别名命令而已,作为人与系统的翻译官。 sh [参数] [脚本名] |-c: 从字符串中读取命令 |
|-i: 实现脚本交互 |
|-n: 进行语法检查 |
|-v: 显示执行过程详细信息 |
|-x: 实现逐条语句的跟踪 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例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 系统管理(system) 420 groupmod groupmod命令 – 更改群组属性 groupmod命令来自英文词组“group modify”的缩写,其功能是用于更改群组属性。Linux系统中的群组信息一般不建议更改,因为涉及已加入用户的归属问题,尤其是群组名称、组GID,一定要确认好后再操作。 groupmod [参数] [群组名] |-g: 设置群组识别码 |
|-h: 显示帮助信息 |
|-n: 设置群组名称 |
|-o: 允许重复使用群组识别码 |
|-p: 设置群组密码 | 示例1:
更改指定用户组的名称(原名linuxprobe):
[root@linuxcool ~]#groupmod -n linuxcool linuxprobe
示例2:
更改指定用户组的识别码:
[root@linuxcool ~]#groupmod -g 8888 linuxcool 系统管理(system) 421 size size命令 – 显示文件各段大小 size命令来自英文单词,中文译为“大小”,其功能是用于显示文件各段大小。size命令是GNU二进制工具集中的一员,用于查看指定文件的库和可执行文件中各段及总大小。 size [参数] [文件名] |-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: 显示版本信息 | 示例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 系统管理(system) 422 uname uname命令 – 显示系统内核信息 uname命令来自英文词组UNIX name的缩写,其功能是查看系统主机名、内核及硬件架构等信息。如果不加任何参数,默认仅显示系统内核名称(相当于-s参数)的作用。 uname [参数] |-a: 显示系统所有相关信息 |
|-i: 显示硬件平台 |
|-m: 显示计算机硬件架构 |
|-n: 显示主机名称 |
|-o: 显示操作系统名称 |
|-p: 显示主机处理器类型 |
|-s: 显示内核名称 |
|-v: 显示内核版本 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例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 系统管理(system) 423 firewall-offline-cmd firewall-offline-cmd命令 – 防火墙脱机客户端 firewall-offline-cmd命令来自英文词组“Firewall offline cmd”的拼写,其功能是用于防火墙脱机客户端。作为防火墙守护进程的脱机命令客户端,只有在firewalld服务没有运行时才会被使用。 firewall-offline-cmd [参数] |--check-config: 检查永久配置信息 |
|--default-config: 设置默认配置的路径 |
|--disabled: 禁用防火墙服务 |
|--enabled: 启用防火墙服务 |
|--get-default-zone: 显示连接和接口的默认区域 |
|--info-zone=zone: 显示指定区域的配置信息 |
|--list-all-zones: 显示所有区域名 |
|--set-default-zone=zone: 设置默认区域名 |
|--system-config: 系统配置的路径 | 示例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: 系统管理(system) 424 w w命令 – 显示已登录用户的信息 w命令来自英文单词“who”的缩写,其功能是用于显示已登录用户的信息。运维人员只需要在命令终端中敲下w键并回车,即可查看到当前系统中已登录的用户列表和他们正在执行的命令等信息,更好地了解系统正在执行的工作,以及等同事都下班了再重启或关闭服务器,避免突然中断他人工作。 w [参数] |-f: 显示用户登录来源 |
|-h: 不显示头信息 |
|-i: 显示IP地址而不是主机名 |
|-l: 显示执行过程详细信息 |
|-o: 使用老式输出格式 |
|-s: 使用短输出格式 |
|-u: 忽略指定用户名 |
|-V: 显示版本信息 |
|--help: 显示帮助信息 | 示例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 系统管理(system) 425 getsebool getsebool命令 – 查询SElinux策略内各项规则的布尔值 getsebool命令是用来查询SElinux策略内各项规则的布尔值。 getsebool [参数] |-a: 列出目前系统上面的所有布尔值 | 示例1:
列出目前系统上面的所有布尔值:
[root@linuxcool ~]# getsebool -a
示例2:
查询httpd_enable_homedirs布尔值的状态:
[root@linuxcool ~]# getsebool httpd_enable_homedirs 系统管理(system) 426 svgatextmode SVGATextMode命令 – 加强文字模式的显示画面 SVGATextMode可用来设置文字模式下的显示画面,包括分辨率,字体和更新频率等。 SVGATextMode [参数] |-a: 如果新显示模式的屏幕大小与原先不同时,SVGATextMode会执行必要的系统设置 |
|-c: 维持原有的VGA时脉 |
|-d: 执行时会显示详细的信息,供排错时参考 |
|-f: 不要执行配置文件中有关字体载入的指令 |
|-h: 显示帮助 |
|-m: 允许1×1的方式来重设屏幕大小 |
|-n: 仅测试指定的模式 |
|-r: 通知或重设与屏幕大小相关的程序 |
|-s: 显示配置文件中所有可用的模式 |
|-t: 指定配置文件 |
|-v: 在配置新的显示模式时,预设会先检查垂直与水平的更新更新频率是否在配置文件所指定的范围内,如果不在范围内,则不设置新的显示模式 | 示例1:
显示关于 SVGATextMode 的帮助:
[root@linuxcool ~]# SVGATextMode -h
示例2:
维持原有的VGA时脉:
[root@linuxcool ~]# SVGATextMode -c 系统管理(system) 427 lastlog lastlog命令 – 显示用户最近一次登录信息 lastlog文件在每次有用户登录时被查询。可以使用lastlog命令检查某特定用户上次登录的时间,并格式化输出上次登录日志/var/log/lastlog的内容。它根据UID排序显示登录名、端口号(tty)和上次登录时间。如果一个用户从未登录过,lastlog显示Never logged。注意需要以root身份运行该命令。 lastlog [参数] |-b <天数>: 显示指定天数前的登录信息 |
|-t <天数>: 显示指定天数以来的登录信息 |
|-u <用户名>: 显示指定用户的最近登录信息 |
|-h: 显示召集令的帮助信息 | 示例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 系统管理(system) 428 chrt chrt命令 – 实时管理进程的优先级策略 chrt命令来自英文词组“Change real-time”的缩写,其功能是用于实时管理进程的优先级策略,策略值范围在0~99之间。 chrt [参数] [对象] |-h: 显示帮助信息 |
|-m: 显示最小和最大有效优先级 |
|-p: 对指定PID进程进行操作 |
|-V: 显示版本信息 | 示例1:
更改指定的进程名称优先级策略:
[root@linuxcool ~]#chrt -f 10 bash
示例2:
更改指定的进程号码优先级策略:
[root@linuxcool ~]#chrt -p -r 10 6688 系统管理(system) 429 metaclear metaclear命令 – 删除活动的元设备和热备用池 metaclear命令删除指定的metadevice或hot_spare_pool,或清除指定组件中的所有软分区。一旦元设备或热备用池被删除,必须使用metainit重新创建它,然后才能再次使用它。当前正在使用(打开)的任何元组件都不能删除。 metaclear[参数] |–a: 删除–s或默认情况下的本地集中的所有元设备和已配置的热备用池 |
|–f: 删除(强制)包含处于错误状态的子组件的元设备 |
|–h: 显示使用情况消息 |
|–p: 从指定的元设备或组件中删除(清除)所有软分区 |
|–r: 递归删除指定的元设备和热备用池,但不删除其他设备所依赖的元设备 | 示例1:
删除名为d10的元设备:
[root@linuxcool ~]#metaclear / dev / md / dsk / d10
示例2:
删除具有子镜像处于错误状态的镜像mymirror:
[root@linuxcool ~]#metaclear -f mymirror
示例3:
清除切片c2t3d5s2上的所有软分区,如果这些分区未被其他元设备使用或未打开:
[root@linuxcool ~]#metaclear -p c2t3d5s2 系统管理(system) 430 deluser deluser命令 – 删除用户账户 deluser命令来自英文词组“delete user”的缩写,其功能是用于删除用户账户。 deluser [参数] [用户名] |--backup: 删除前备份用户家目录和邮件数据 |
|--backup-to: 设置指定目录进行备份 |
|--group: 删除用户组 |
|--quiet: 静默执行模式 |
|--help: 显示帮助信息 |
|--remove-all-files: 删除用户的所有文件 |
|--remove-home: 删除用户的主目录和邮件后台处理程序 |
|--version: 显示版本信息 | 示例1:
删除指定的用户账户:
[root@linuxcool ~]#deluser linuxcool
示例2:
将用户从指定的管理用户组中移出:
[root@linuxcool ~]#deluser root linuxcool
示例3:
删除指定的用户账户及相关所有文件:
[root@linuxcool ~]#deluser --remove-all-files linuxcool 系统管理(system) 431 shutdown shutdown命令 – 关闭服务器的系统 shutdown命令的功能是关闭服务器的系统,作用等同于poweroff命令。 sshutdown [参数] [对象] |-c: 取消关机任务 |
|-f: 关机时不检查文件系统 |
|-F: 关机时先检查文件系统 |
|-h: 将系统立即关机 |
|-k: 发送信息给所有用户 |
|-P: 系统关机后切断电源 |
|-r: 将系统立即重启 |
|-s: 关闭此计算机,非立即操作 |
|-t: 设置距离关闭计算机还剩余的秒数 | 示例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 系统管理(system) 432 killall killall命令 – 基于服务名关闭一组进程 killall命令来自英文词组“Kill all”的拼写,其功能是用于基于服务名关闭一组进程。我们常使用kill命令关闭指定PID进程号的服务,暂且不论要先用ps命令找到对应的进程号才能关闭它,就说很多服务实际会发起多个进程,对应有数个不同PID进程号,要用kill命令逐一关闭也是件麻烦事。
而将ps和kill两个命令的执行过程合二为一,就得到了超好用的killall命令。一个只需要管理员给出要关闭的服务名,就能自动找到其所对应的全部进程信息,并关闭它们。 killall [参数] [服务名] |-e: 进行精确匹配 |
|-g: 杀死进程所属的进程组 |
|-i: 杀死进程前询问用户是否确认 |
|-l: 显示所有已知信号列表 |
|-o: 匹配指定时间前开始的进程 |
|-q: 静默执行模式 |
|-r: 使用正规表达式匹配要杀死的进程名称 |
|-s: 用指定的进程号代替默认信号 |
|-u: 杀死指定用户的进程 |
|-v: 显示执行过程详细信息 |
|-w: 一直等待命令执行完成再退出 |
|-y: 匹配指定时间后开始的进程 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例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 系统管理(system) 433 chcon chcon命令 – 修改文件的安全上下文 chcon命令是修改对象(文件)的安全上下文,比如:用户、角色、类型、安全级别。也就是将每个文件的安全环境变更至指定环境。 chcon [参数] |-h: 影响符号连接而非引用的文件 |
|-R: 递归处理所有的文件及子目录 |
|-v: 为处理的所有文件显示诊断信息 |
|-u: 设置指定用户的目标安全环境 |
|-r: 设置指定角色的目标安全环境 |
|-t: 设置指定类型的目标安全环境 |
|-l: 设置指定范围的目标安全环境 | 示例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 系统管理(system) 434 setup setup命令 – 系统管理工具 setup命令是一个基于文本界面的系统管理工具,集成了用户认证管理、防火墙管理、网络管理和系统服务管理。 setup |Authentication configuration: 用户管理认证 |
|Firewall configuration: 防火墙管理 |
|Network configuration: 网络管理 |
|System services: 系统服务自动启动管理 | 示例1:
进入setup管理界面:
[root@linuxcool ~]# setup 系统管理(system) 435 dnf dnf命令 – 新一代的软件包管理器 dnf命令来自英文词组dandified yum的缩写,是新一代的软件包管理器,其功能是安装、更新、卸载Linux系统中的软件。dnf最初应用于Fedora 18系统中,旨在解决yum命令的诸多瓶颈,例如占用大量内存、软件依赖关系臃肿、运行速度缓慢等。
dnf与yum命令的执行格式高度相同,只需要将日常软件包管理操作中的yum替换成dnf命令即可。 dnf [参数] [软件名] |autoremove: 删除孤立无用的软件包 |
|check-update: 检查更新系统的软件包 |
|clean all: 删除缓存的无用软件包 |
|distro-sync: 更新软件包到最新稳定版 |
|downgrade: 回滚软件到指定版本 |
|groupinstall: 安装一个软件包组 |
|grouplist: 查看所有的软件包组 |
|groupremove: 删除一个软件包组 |
|groupupdate: 升级软件包组中的软件包 |
|history: 显示帮助信息 |
|install: 安装软件包 |
|list: 显示全部软件包名称 |
|provides: 查找文件提供者 |
|remove: 删除软件包 |
|repolist: 显示可用软件库信息 |
|reinstall: 重新安装指定软件包 |
|search: 搜索软件库中的指定软件包 |
|update: 升级软件包 |
|version: 显示版本信息 | 示例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 系统管理(system) 436 fuser fuser命令 – 使用文件或文件结构识别进程 fuser命令作用是报告进程使用的文件和网络套接字。
fuser命令可以显示出当前哪个程序在使用磁盘上的某个文件、挂载点、甚至网络端口,并给出程序进程的详细信息。 它还显示使用指定文件或者文件系统的进程ID。
每个进程号后面都跟随一个字母,该字母指示进程如何使用文件。 fuser [参数] [文件] |-a: 显示命令行中指定的所有文件 |
|-k: 杀死访问指定文件的所有进程 |
|-i: 杀死进程前需要用户进行确认 |
|-l: 列出所有已知信号名 |
|-m: 指定一个被加载的文件系统或一个被加载的块设备 |
|-n: 选择不同的名称空间 |
|-u: 在每个进程后显示所属的用户名 | 示例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 系统管理(system) 437 logsave logsave命令 – 将输出信息保存到指定的日志文件中 logsave程序将使用指定的参数执行cmd_prog,并将其输出的副本保存到logfile。如果日志文件的包含目录不存在,则logsave将在内存中累积输出,直到可以将其写出。输出的副本也将写入标准输出。
如果命令prog是单个连字符(“-”),那么log save将从标准输入中获取其输入并将其保存在日志文件中,而不是执行程序,logsave对于保存初始启动脚本的输出非常有用,直到/var分区被装入,因此输出可以写入/var/log。 logsave [参数] |-a: 追加信息到指定的日志文件中 |
|-s: 显示日志信息,不写入到文件中 | 示例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" 系统管理(system) 438 lsns lsns命令 – 列出名称空间 lsns命令列出有关所有当前可访问的名称空间或给定名称空间的信息。命名空间标识符是一个索引节点号。 lsns [参数] |-J: 使用 JSON 输出格式 |
|-l: 使用列表格式的输出 |
|-n: 不打印标题 |
|-r: 使用原生输出格式 |
|-u: 不截断列中的文本 |
|-t: 名字空间类型(mnt, net, ipc, user, pid, uts, cgroup) | 示例1:
列出net名字空间类型:
[root@linuxcool ~]# lsns -t net
示例2:
使用列表格式的输出:
[root@linuxcool ~]# lsns -l
示例3:
不打印标题:
[root@linuxcool ~]# lsns -n
示例4:
不截断列中的文本:
[root@linuxcool ~]# lsns -u 系统管理(system) 439 vigr vigr命令 – 修改group、gshadow文件 vigr命令可以修改group、gshadow文件,使用vigr命令可以编辑/etc/group文件。当寻找一个编辑器时将首先尝试环境变量$VISUAL,然后是环境变量$EDITOR,最后默认是vi编辑器。 vigr [参数] |-g: 修改组信息 |
|-p: 修改密码信息 |
|-R: 在CHROOT_DIR目录中应用更改并使用CHROOT_DIR目录中的配置文件 |
|-s: 编辑shadow 或 gshadow 信息 | 示例1:
修改组信息:
[root@linuxcool ~]# vigr -g
示例2:
修改密码信息:
[root@linuxcool ~]# vigr -p 系统管理(system) 440 iostat iostat命令 – 监视系统I/O设备使用情况 iostat命令来自英文词组“I/O stat”的缩写,其功能是用于监视系统I/O设备使用情况。I/O英文全称是Input/Output,中文译为输入/输出,通常指存储器与其他设备之间的数据交换操作。
iostat命令则能够查看到硬盘活动的统计情况,同时也会显示出CPU处理器的使用情况,帮助Linux系统运维人员进行系统调优。 iostat [参数] [设备名] |-c: 显示CPU使用情况 |
|-d: 显示设备利用率 |
|-h: 使用NFS网络文件系统来输出报告 |
|-k: 以千字节每秒为单位 |
|-m: 以兆字节每秒为单位 |
|-N: 显示LVM逻辑卷管理器设备信息 |
|-p: 显示块设备和分区的状态 |
|-t: 显示报告产生时的时间 |
|-V: 显示版本及帮助信息 |
|-x: 设置要统计磁盘设备的扩展参数 |
|-y: 跳过不显示第一次报告的数据 | 示例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 系统管理(system) 441 chage chage命令 – 设置账户密码有效期 chage命令来自英文单词“change”的缩写,其功能是用于设置账号密码有效期。Linux系统管理员都有个不好的习惯,就是一个密码用无数年之久,从来不改,这样的话很容易存在安全隐患,因此建议用chage命令强行为系统账户密码设置一个有效期限,到日子必须换新密码,总是让骇客们失望而归。 chage [参数] [用户名] |-d: 显示上一次更改的日期 |
|-E: 设置帐号到期的日期 |
|-h: 显示帮助信息 |
|-i: 设置密码到期后还可以使用几天 |
|-l: 显示当前的设置 |
|-m: 设置密码可更改的最小天数 |
|-M: 设置密码保持有效的最大天数 |
|-R: 设置用户的chroot目录 |
|-W: 设置提前收到警告信息的天数 | 示例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 系统管理(system) 442 metattach metattach命令 – 附加或分离元设备 metattach将子镜像添加到镜像,增长元设备或增长软分区。无需中断服务即可完成元设备的增长。 metattach[参数] |–Aalignment: 设置软分区范围对齐的值 |
|–f: 强制分离具有需要维护或繁忙的组件的元设备 |
|-h: 显示用法消息 |
|–ssetname: 指定在其上运行metattach命令或metadetach命令的磁盘集的名称 | 示例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 系统管理(system) 443 tsar tsar命令 – 收集服务器系统信息 tsar是淘宝自己开发的一个采集工具(类似于sar工具),主要用来收集服务器的系统信息(如cpu,io,mem,tcp等),以及应用数据(如squid haproxy nginx等)。
收集到的数据存储在磁盘上,可以随时查询历史信息,输出方式灵活多样,另外支持将数据存储到mysql中,也可以将数据发送到nagios报警服务器。
tsar在展示数据时,可以指定模块,并且可以对多条信息的数据进行merge输出,带-live参数可以输出秒级的实时信息。
tsar是基于模块化设计的程序,程序有两部分组成:框架和模块。框架程序源代码主要在src目录,而模块源代码主要在modules目录中。框架提供对配置文件的解析,模块的加载,命令行参数的解析,应用模块的接口对模块原始数据的解析与输出。 模块提供接口给框架调用。tsar依赖与cron每分钟执行采集数据,因此它需要系统安装并启用crond,安装后,tsar每分钟会执行tsar –cron来定时采集信息,并且记录到原始日志文件。 tsar [参数] |-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: 物理内存的使用情况 | 示例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 系统管理(system) 444 halt halt命令 – 关闭当前服务器系统 halt命令的功能是用于关闭当前服务器系统,类似于poweroff与shutdown命令,没有太大差别。 halt [参数] |-a: 关闭系统前不同步数据 |
|-d: 不写入日志文件 |
|-f: 强制关机或重启而不询问 |
|-i: 关机或重启前关掉所有的网络服务 |
|-w: 模拟关机,将过程写入到日志文件 |
|--verbose: 显示执行过程详细信息 | 示例1:
关闭当前服务器系统:
[root@linuxcool ~]#halt
示例2:
强制关闭当前服务器系统:
[root@linuxcool ~]#halt -f 系统管理(system) 445 findfs findfs命令 – 依据卷标(Label)和UUID查找文件系统所对应的设备文件 findfs命令依据卷标(LABEL)和UUID查找文件系统所对应的设备文件。 findfs [参数] |LABEL: 卷标 |
|UUID: 通用唯一识别码 | 示例1:
通过卷标来查找文件系统所对应的设备文件:
[root@linuxcool ~]# findfs LABEL="RHEL-7.3 Server.x86_64"
示例2:
通过通用唯一识别码来查找文件系统所对应的设备文件:
[root@linuxcool ~]# findfs UUID="1271a9f5-3c66-43c5-a3ff-c79750db70c2" 系统管理(system) 446 lilo lilo命令 – 安装核心载入 lilo命令用于安装核心载入,开机管理程序。lilo是个Linux系统核心载入程序,同时具备管理开机的功能。单独执行lilo指令,它会读取/etc/lilo.conf配置文件,然后根据其内容安装lilo。虽然 LILO 仍在不断地发展,但 LILO 工作原理的基本概念保持不变。 lilo [参数] |-b: 指定安装lilo之处的外围设备代号 |
|-c: 使用紧致映射模式 |
|-C: 指定lilo的配置文件 |
|-d: 设置开机延迟时间 |
|-D: 指定开机后预设启动的操作系统,或系统核心识别标签 | 示例1:
使用LILO 作为引导加载程序:
[root@linuxcool ~]# /sbin/lilo -v -v 系统管理(system) 447 lsof lsof命令 – 查看文件的进程信息 lsof命令来自英文词组list opened files的缩写,其功能是查看文件的进程信息。由于Linux系统中的一切都是文件,因此使用lsof命令查看进程打开的文件,或是查看文件的进程信息,都能帮助用户很好地了解相关服务的运行状态,是一个不错的系统监视工具。 lsof [参数] [文件名] |-a: 显示与打开的文件相关的进程 |
|-c: 显示指定进程所打开的文件 |
|-d: 显示占用该文件的进程 |
|-g: 显示GID号进程的详细信息 |
|-h: 显示帮助信息 |
|-i: 显示符合条件的进程 |
|-n: 显示使用NFS的文件 |
|-N: 显示NFS文件列表 |
|-p: 显示指定进程号所打开的文件 |
|-R: 显示父进程ID |
|-u: 显示UID号进程的详细信息 |
|-v: 显示版本信息 |
|+d: 显示目录下被打开的文件 |
|+D: 递归处理所有子文件 | 示例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
………………省略部分输出信息……………… 系统管理(system) 448 useradd useradd命令 – 创建并设置用户信息 useradd命令的功能是创建并设置用户信息。使用useradd命令可以自动完成用户信息、基本组、家目录等的创建工作,并在创建过程中对用户初始信息进行定制。
针对已创建的用户,则需使用chmod命令修改用户信息,使用passwd命令修改密码信息。 useradd [参数] [用户名] |-c: 添加备注文字 |
|-d: 设置新用户登录时所使用的家目录 |
|-D: 设置新用户的预设值 |
|-e: 设置用户的终止日期 |
|-f: 设置用户过期几日后永久停权 |
|-g: 设置用户对应的基本用户组 |
|-G: 设置用户对应的扩展用户组 |
|-h: 显示帮助信息 |
|-k: 设置用户的骨架目录 |
|-l: 不将用户添加到最近登录和登录失败数据库文件 |
|-m: 用户目录不存在时则自动创建 |
|-n: 不建立以用户名称为名的组 |
|-o: 允许创建重复UID的用户 |
|-p: 设置用户的密码 |
|-r: 建立系统用户 |
|-R: 设置根目录 |
|-s: 设置新用户的默认Shell终端 |
|-u: 设置用户ID |
|-U: 创建与用户同名的组,并将其加入 |
|-Z: 设置用户的SELinux映射角色 | 示例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 系统管理(system) 449 iptables-restore iptables-restore命令 – 还原防火墙的表配置 iptables-restore命令来自英文词组“iptables restore”的拼写,其功能是用于还原防火墙的表配置。Linux系统管理员可以使用iptables-save命令保存iptables防火墙的表配置信息,而iptables-restore命令则是用于还原这些配置信息的工具。 iptables-restore [参数] [对象] |-c: 还原数据包和字节计数器的值 |
|-M: 指定运行模式 |
|-n: 不要刷新表的先前内容 |
|-t: 只测试,而不提交 |
|-T: 设置还原的表名称 |
|-v: 显示执行过程详细信息 |
|-w: 设置等待时间 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例1:
还原指定的表配置文件信息:
[root@linuxcool ~]#iptables-restore < File.bak
示例2:
还原指定的表配置文件信息,并还原当前的数据包计数器和字节计数器的值:
[root@linuxcool ~]#iptables-restore -c < File.bak
示例3:
还原指定的表配置文件信息到指定防火墙表:
[root@linuxcool ~]#iptables-restore -T filter < File.bak 系统管理(system) 450 bash bash命令 – 命令解释器 bash命令来自英文词组“Bourne shell”的缩写,其功能是命令解释器。bash是绝大多数Linux系统默认的命令解释器,能够处理用户所输入的命令,以及执行指定的Shell脚本文件。 bash [参数] [文件名] |-c: 从字符串中读入命令 |
|-i: 使用交互式模式 |
|-n: 检查脚本是否正确 |
|-x: 显示执行过程详细信息 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例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 系统管理(system) 451 openssl openssl命令 – 加密算法 openSSL是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。对应的命令就是openssl命令,用于加密算法。 openssl [参数] |-in: 输入 |
|-out: 输出 | 示例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 系统管理(system) 452 lpd lpd命令 – 常驻的打印机管理程序 lpd命令是一个常驻的打印机管理程序,它会根据 /etc/printcap 的内容来管理本地或远端的打印机。这个程序通常是由 /etc/rc.d 中的程序在系统启始阶段执行。
lpr 和 lpd组成了一个可以离线工作的系统,当你使用 lpr 时,打印机不需要能立即可用,甚至不用存在。
lpd会自动监视打印机的状况,当打印机上线后,便立即将档案送交处理。这个得所有的应用程序不必等待打印机完成前一工作。 lpd [参数] |-l: 将一些错误信息显示在标准输出上 | 示例1:
自动监视打印机情况:
[root@linuxcool ~]# lpd
示例2:
安装lpd服务:
[root@linuxcool ~]# yum install lpd
示例3:
将一些错误信息显示在标准输出上:
[root@linuxcool ~]# lpd -l 系统管理(system) 453 hostnamectl hostnamectl命令 – 显示与设置主机名称 hostnamectl命令来自于英文词组hostname control的缩写,其功能是显示与设置主机名称。基于/etc/hostname文件修改主机名称时,需要重启服务器后才可生效,而使用hostnamectl命令设置过的主机名称可以立即生效,效率更高。 hostnamectl [参数] |set-hostname: 设置主机名 |
|status: 显示主机名 |
|-H: 操作远程主机 |
|--version: 显示版本信息 | 示例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 系统管理(system) 454 service service命令 – 管理系统服务 service命令的功能是管理系统服务,是早期红帽公司发行的Linux系统中最常见的命令之一,主要用于RHEL 7/CentOS7版本以前的系统,能够启动、停止、重启或关闭指定服务程序,亦能查看服务的运行状态信息。 service [参数] [服务名称] |restart: 重启服务 |
|start: 启动服务 |
|status: 查看服务状态 |
|-h: 显示帮助信息 |
|--status-all: 显示所有服务状态 | 示例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 系统管理(system) 455 taskset taskset命令 – 绑定进程与CPU核心 taskset命令来自英文词组“task set”的缩写,其功能是用于绑定进程与CPU核心。常见情况下,一个服务程序发起的进程会在CPU核心之间切换执行,每个进程平均公平地分配到一定量的计算性能,而如果运维人员想将某个进程与指定CPU核心进行绑定操作,就可以用taskset来完成了。绑定完的进程将只在与其绑定的CPU核心上运行,这种需求还真不多。 taskset [参数] [进程号] [CPU核心号] |-c: 将掩码转成数字形式 |
|-h: 显示帮助信息 |
|-p: 保留当前进程PID号码 |
|-V: 显示版本信息 | 示例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 系统管理(system) 456 metarecover metarecover命令 – 恢复软分区信息 metarecover命令扫描指定的组件以查找软分区配置信息并重新生成配置。 metarecover [参数] |–d: 从设备上的扩展数据头中恢复元设备状态数据库中的软分区 |
|–m: 根据元设备状态数据库中列出的软分区,重新生成扩展区头并将其重新应用于基础设备 |
|–n: 实际不执行该操作,显示运行该操作可能导致的输出或错误 |
|–p: 根据元设备状态数据库或基础设备上的扩展区头重新生成软分区 |
|–ssetname: 指定用于元恢复的磁盘集的名称 |
|–v: 详细模式,显示所做的更改 | 示例1:
基于磁盘范围标头更新元设备状态数据库:
[root@linuxcool ~]# metarecover -v c0t3d0s2 -p -d
示例2:
基于不完整的软分区创建来更新元设备状态数据库:
[root@linuxcool ~]# metarecover -v c0t3d0s2 -p -m
示例3:
验证软分区配置:
[root@linuxcool ~]# metarecover c0t3d0s2 -p 系统管理(system) 457 update-alternatives update-alternatives命令 – 维护系统命令链接符 update-alternatives是Debian系统中专门维护系统命令链接符的工具,通过它可以很方便的设置系统默认使用哪个命令、哪个软件版本,比如系统中同时安装了open jdk和sun jdk两个版本,而我们又希望系统默认使用sun jdk,通过update-alternatives就可以方便实现管理。 update-alternatives [参数] [命令] |--install: 在系统中加入一组替换项 |
|--remove : 从名称替换组中去除路径项 |
|--auto: 将名称的主链接切换到自动模式 |
|--list: 列出名称替换组中所有可用替换项 | 示例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 系统管理(system) 458 nice nice命令 – 调整进程的优先级 nice命令的功能是用于调整进程的优先级,合理分配系统资源。Linux系统后台工作中某些不重要的进程,例如定期数据备份、自动清理垃圾等等工作,我们都可以通过nice命令调低其执行优先级,慢慢完成不用着急,把硬件资源留给重要的工作。优先级范围为-20~19,数字越小,优先级越高。 nice [参数] [命令]或脚本名 |-g: 匹配进程组ID |
|-n: 设置优先级别 |
|-p: 匹配进程ID |
|-u: 匹配用户ID |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例1:
以优先级别为5的方式执行指定脚本:
[root@localhost ~]#nice -n -5 ./File.sh
示例2:
以最高优先级的方式执行指定脚本:
[root@localhost ~]#nice -n -20 ./File.sh 系统管理(system) 459 sysctl sysctl命令 – 配置系统内核参数 sysctl命令来自英文词组“system control”的缩写,其功能是用于配置系统内核参数。sysctl命令能够在Linux系统运行时动态地配置系统内核参数,包含TCP/IP堆栈和虚拟内存系统等选项,让有经验的系统管理员更好地优化整台服务器性能,但请注意:配置结果仅在当前生效,重启后参数将恢复到初始状态,要想永久生效需要将参数写入到/etc/sysctl.conf系统文件中。 sysctl [参数] [对象] |-a: 显示所有可用的内核参数变量和值 |
|-e: 忽略未知关键字错误 |
|-h: 显示帮助信息 |
|-n: 输出结果不带关键词 |
|-p: 从系统文件中加载内核参数 |
|-v: 显示版本信息 | 示例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 系统管理(system) 460 dpkg dpkg命令 – 管理软件安装包 dpkg命令来自英文词组Debian package的缩写,其功能是管理软件安装包,是在Debian系统中最常用的软件安装、管理、卸载的实用工具。 dpkg [参数] [软件包] |-c: 显示软件包内文件列表 |
|-i: 安装软件包 |
|-l: 显示已安装的软件包列表 |
|-L: 显示与软件包关联的文件 |
|-r: 删除软件包 |
|-s: 查询软件包 |
|-S: 搜索已安装的指定软件包 | 示例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 系统管理(system) 461 logname logname命令 – 显示用户名称 执行logname指令,它会显示目前用户的名称。 logname [参数] |--help: 在线帮助 |
|--vesion: 显示版本信息 | 示例1:
显示登录账号的信息:
[root@linuxcool ~]# logname 系统管理(system) 462 tzselect tzselect命令 – 查看设置时区 tzselect命令在调用时不需要任何参数,它显示了一个由十几个地理区域组成的列表,人们可以粗略地将其视为大陆。按编号选择一个地理区域后,会显示这个区域的国家和城市列表。 tzselect [参数] |-c COORD: 根据自定义数值设置时区 |
|-n LIMIT: 当使用-c时,显示大多数LIMIT位置(默认为10) | 示例1:
按次序查看并设置时区:
[root@linuxcool ~]# tzselect
示例2:
自定义设置时区:
[root@linuxcool ~]# tzselect -c -35-058
示例3:
当使用-c时,显示LIMIT数量:
[root@linuxcool ~]# tzselect -c -35-058 -n 5 系统管理(system) 463 iperf3 iperf3命令 – 进行网络吞吐量测试 iperf3是一款进行网络吞吐量测试的命令工具,由美国伊利诺伊大学研发和维护。在建立好客户端和服务器后,iperf3可以测试TCP和UDP的吞吐量。 iperf3 [参数] [IP地址] |-B: 设置绑定的接口 |
|-d: 显示调试信息 |
|-f: 格式化带宽输出 |
|-F: 传输或接收指定文件 |
|-h: 显示帮助信息 |
|-i: 设置周期性输出带宽报告(秒) |
|-J: 使用JSON格式显示信息 |
|-p: 设置服务端监听端口 |
|-s: 启动服务端监听功能 |
|-v: 显示版本信息 |
|-V: 显示执行过程详细信息 | 示例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
----------------------------------------------------------- 系统管理(system) 464 modinfo modinfo命令 – 显示kernel模块的信息 modinfo命令用于显示kernel模块的信息。 modinfo [参数] [模块文件] |-a: 显示模块开发人员 |
|-d: 显示模块的说明 |
|-p: 显示模块所支持的参数 | 示例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 系统管理(system) 465 cloud-init cloud-init命令 – 跨平台云实例初始化工具 cloud-init命令是用于跨平台云实例初始化的行业标准多分布式方法,所有主要的公共云提供商、私有云基础设施的供应系统和裸机安装都支持该方法。 cloud-init [参数] |init: 初始化cloud-init并执行初始化模块 |
|modules: 使用给定的配置键激活模块 |
|single: 单机运行 |
|status: 报告云启动状态或等待完成 |
|clean: 删除日志和工件,以便重新运行cloud-init |
|collect-logs: 收集并打包所有云计算调试信息 |
|devel: 运行开发工具 |
|dhclient-hook: 运行dhclient钩子记录网络信息 | 示例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 系统管理(system) 466 mkdumprd mkdumprd命令 – 为内核转储崩溃恢复初始ramdisk映像 mkdumprd命令的作用是创建一个初始ram文件系统,用于在kdump框架中引导内核以进行崩溃恢复。
在初始ramdisk加载模块时,/etc/modprobe.conf中指定的任何模块选项都会被传递给模块。mkdumprd命令询问正在运行的系统,以了解需要在initramfs中加载哪些模块(基于从/etc/kdump.conf检索的配置)。
mkdumprd命令最初派生自mkinitrd实用程序(因此选项集的相似性),但是mkdumprd命令的目的和任务与mkinitrd有显著的不同。如果需要自定义kdump initramfs映像,建议使用kdump服务基础结构创建一个映像,然后手动解包、修改和重新打包映像。 mkdumprd [参数] [镜像] [内核版本] |-- -image-version: 在映像创建之前,内核版本号追加initrd映像路径 |
|-- -nocompress: 创建initrd映像不使用gzip方式压缩 |
|-f: 允许mkdumprd覆盖现有的映像文件 |
|-v: 打印详细的信息,同时创建映像(通常mkdumprd以静默方式运行) |
|-- -omit-lvm-modules: 不加载任何LVM模块 |
|-d: 查询/etc/kdump |
|-- -fstab=: 使用fstab文件来自动确定根设备上的文件系统的类型。通常情况下使用/etc/fstab文件 |
|-- -omit-reid-modules: 不加载任何RAID模块 |
|-- -omit-scsi-modules: 不加载任何SCSI模块 |
|-- -preload=<模块>: 在初始ramdisk映像中加载指定模块 |
|-- -builtin=<模块>: 如果模块被内置到内核使用则激活 | 示例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 系统管理(system) 467 mapfile mapfile命令 – 从标准输入读取行并赋值到数组 mapfile命令用于从标准输入或文件描述符读取行并赋值到数组 mapfile [参数] |-n count: 从标准输入中获取最多count行,如果count为零那么获取全部 |
|-O origin: 从数组下标为origin的位置开始赋值,默认的下标为0 |
|-s count: 跳过对前count行的读取 | 示例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 系统管理(system) 468 initctl initctl命令 – 管理init守护进程 initctl命令来自英文词组“init control”的缩写,其功能是用于管理init守护进程。init作为Linux系统中默认的初始化进程,重要性不言而喻,initctl命令能够对其进行管理操作。 initctl [参数] [对象] |help: 显示帮助信息 |
|list: 显示作业列表 |
|reload: 重新加载作业 |
|reload-configuration: 重新加载配置 |
|restart: 重启作业 |
|start: 启动作业 |
|status: 显示作业状态 |
|stop: 停止作业 |
|version: 显示版本信息 | 示例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 系统管理(system) 469 esxcfg-vswitch esxcfg-vswitch命令 – ESX虚拟交换机管理工具 esxcfg命令集分为网络管理类、存储管理类、系统管理类等几种类型,esxcfg-vswitch命令是负责网络管理类命令,ESX虚拟交换机管理工具。可使用esxcfg-vswitch-l [命令]获取虚拟端口 ID 和 Dvswitchname。 esxcfg-vswitch [参数] |-l: 显示系统信息 |
|-a: 添加系统配置 | 示例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 系统管理(system) 470 yumdb yumdb命令 – 查询和修改yum数据库 yumdb命令的作用是查询和更改yum数据库,yum数据库是与rpm数据库结合使用的。任何已安装的包都可以在yum数据库中拥有相应数据,但是yum数据库主要还是在安装软件包时存储有关软件包相关的额外数据。 yumdb [参数] [软件包] |get: 获得给定的键值,限制了任何指定的包 |
|rename: 重命名指定的旧键,给定新的键 |
|set: 为给定的键设置值 |
|del: 删除指定键,并限制到任何指定的包 |
|search: 为指定键搜索所有的包,反对任何指定的通配符值 |
|sync: 从软件仓库中添加任何丢失的数据到yumdb |
|sync-force: 将从存储库替换yumdb任何数据,限制于任何特定的软件包 |
|exist: 将打印具有指定键的软件包,限制到任何指定的程序包 |
|unset: 将打印不具有指定键的软件包,限制到任何指定的软件包 |
|info: 将显示所有存储在yumdb中的数据 |
|rename-force: 强制重命名指定的旧键,给定新的键 |
|copy: 将复制给定的旧键为新的键 |
|copy-force: 强制复制给定的旧键为新的键 | 示例1:
显示指定软件包所有存储在yumdb中的数据:
[root@linuxcool ~]# yumdb info bind
示例2:
列出所有作为依赖项安装的包:
[root@linuxcool ~]# yumdb search reason dep
示例3:
与软件仓库进行同步操作:
[root@linuxcool ~]# yumdb sync 系统管理(system) 471 hostname hostname命令 – 显示和设置系统的主机名 hostname命令的功能是用于显示和设置系统的主机名,Linux系统中的HOSTNAME环境变量对应保存了当前的主机名称,使用hostname命令能够查看和设置此环境变量的值,而要想永久修改主机名称则需要使用hostnamectl命令或直接编辑配置文件/etc/hostname才行。 hostname [参数] [主机名] |-a: 显示主机别名 |
|-d: 显示DNS域名 |
|-f: 显示FQDN名称 |
|-F: 从指定文件中读取主机名 |
|-h: 显示帮助信息 |
|-i: 显示主机IP地址 |
|-s: 显示短主机名 |
|-v: 显示执行过程详细信息 |
|-V: 显示版本信息 |
|-y: 显示NIS域名 | 示例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 系统管理(system) 472 fg fg命令 – 将作业放到前台运行 fg命令来自英文单词“foreground”,中文译为“前景”,其功能是用于将作业放到前台运行。在Linux系统中可以使用bg命令将作业放到后台运行,同理也能够使用fg命令将已经在后台运行或被挂起的作业放回前台终端继续运行。 fg [参数] [作业标识] |数字: 指定要放到前台的作业标识号 | 示例1:
将指定编号标识的作业放回到终端前台继续运行:
[root@linuxcool ~]#fg 1 系统管理(system) 473 yum-groups-manager yum-groups-manager命令 – 创建和编辑yum的组元数据 yum groups manager用于创建或编辑yum存储库的组元数据文件;这通常比书面形式要容易得多手工编辑XML。 yum-groups-manager [参数] |--dependencies: 为软件包添加依赖 |
|--load: 从文件中加载组的云数据 |
|--save: 保存组元数据到文件 |
|--remove: 删除列出来的软件包 |
|--merge: 加载和保存组元数据到文件 | 示例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 系统管理(system) 474 supervisord supervisord命令 – 配置后台服务/常驻进程的进程工具 supervisor是一个用 Python 写的进程管理工具,可以很方便的用来在 UNIX-like系统(不支持 Windows)下启动、重启(自动重启程序)、关闭进程(不仅仅是 Python 进程)。 supervisord [参数] |status: 查看程序状态 |
|start: 启动程序 |
|stop: 关闭程序 |
|update: 重启配置文件修改过的程序 | 示例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 系统管理(system) 475 slabtop slabtop命令 – 实时显示内核slab缓冲信息 slabtop命令的命令是以实时的方式显示内核“slab”缓冲区的细节信息。
linux内核需要为临时对象如任务或者设备结构和节点分配内存,缓存分配器管理着这些类型对象的缓存。现代linux内核部署了该缓存分配器以持有缓存,称之为片。不同类型的片缓存由片分配器维护。slabtop命令的作用就是显示实时内核片缓存信息。
slabtop命令仅可以用于在版本高于2.4的linux内核中。使用该命令要有root权限。 slabtop [参数] |-d: 每n秒更新一次显示的信息,默认是每3秒 |
|-s: 指定排序标准进行排序 |
|-o: 显示一次后退出 |
|-V: 显示版本 |
|-- -help: 显示帮助信息 | 示例1:
显示内核slab缓存区信息:
[root@linuxcool ~]# slabtop
示例2:
每隔十秒钟刷新显示slab缓冲区信息:
[root@linuxcool ~]# slabtop -d 10
示例3:
仅输出一次信息:
[root@linuxcool ~]# slabtop -o 系统管理(system) 476 groupdel groupdel命令 – 删除用户组 groupdel命令来自英文词组“delete a group”的缩写,其功能是用于删除用户组。Linux系统中的用户组信息被保存在/ect/group和/ect/gshadow文件中,手动删除对应信息即可,亦可以用groupdel命令删除。 groupdel [参数] [群组名] |-f: 强制删除而不询问 |
|-h: 显示帮助信息 | 示例1:
删除指定名称的用户组:
[root@linuxcool ~]#groupdel linuxcool
示例2:
强制删除指定名称的用户组:
[root@linuxcool ~]#groupdel -f linuxcool 系统管理(system) 477 vlock vlock命令 – 锁住虚拟终端 vlock命令的英文全称为“virtual console lock”,该命令可锁住虚拟终端,避免他人使用。 vlock [参数] |-a: 锁住所有的终端阶段作业,如果您在全屏幕的终端中使用本参数,则会将用键盘切换终端机的功能一并关闭 |
|-c: 锁住目前的终端阶段作业,此为预设值 |
|-v: 显示版本信息 | 示例1:
锁定虚拟终端:
[root@linuxcool ~]# vlock 系统管理(system) 478 init init命令 – 切换系统运行级别 init命令来自英文单词initialize的缩写,其功能是切换系统运行级别。init命令是Linux系统中的进程初始化工具,是一切服务程序的父进程,它的进程号永远为1。管理员可以使用init命令对系统运行级别进行自由切换,亦可进行重启、关机等操作。 init [参数] |0: 关机 |
|1: 单用户 |
|2: 多用户 |
|3: 完全多用户模式 |
|5: 图形界面 |
|6: 重启 |
|--help: 显示帮助信息 | 示例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 系统管理(system) 479 createrepo createrepo命令 – 创建软件仓库及生成元数据 createrepo命令来自英文词组“create repository”的缩写,其功能是用于创建软件仓库及生成元数据。使用createrepo命令可以让用户很方便地创建自己的YUM/dnf软件仓库资源,即为存放于本地的众多RPM软件包提供索引,自动化分析各软件包之间所需依赖关系,并生成元数据。 createrepo [参数] [对象] |-c: 指定用于存放软件包和校验信息的目录 |
|-d: 使用SQLite来存储生成的元数据 |
|-g: 设置本地软件仓库的组划分 |
|-i: 指定用于初始元数据参数的文件 |
|-o: 设置元数据的输出位置 |
|-p: 使用整洁格式输出xml文件 |
|-q: 静默执行模式 |
|-u: 设置Base URL的地址 |
|-v: 显示执行过程详细信息 |
|-x: 设置需要排除的软件包 |
|--update: 更新软件仓库信息 | 示例1:
将指定的目录(需内含所需RPM软件包)制作成软件仓库:
[root@linuxcool ~]#createrepo /Dir
示例2:
将当前目录(需内含所需RPM软件包)制作成软件仓库:
[root@linuxcool ~]#createrepo .
示例3:
当前目录中RPM软件包发生变化后,重做软件仓库及元数据信息:
[root@linuxcool ~]#createrepo --update . 系统管理(system) 480 xsetroot xsetroot命令 – 根窗口参数设置实用程序 xsetroot命令允许您在运行X的工作站显示器上定制背景(根)窗口的外观。通常,您可以尝试使用xsetroot命令直到找到所需的个性化外观,然后将产生该外观的xsetroot命令放入您的X启动文件。如果未指定任何选项,或者如果指定了-def标志,则将窗口重置为其默认状态。可以将-def标志与其他标志一起指定,并且只有未指定的特征才被重置为默认状态。 xsetroot [参数] |-gray: 将整个背景设为灰色 |
|-def: 将未指定的属性重置为默认值 |
|-bg: 使用颜色作为背景色 |
|-solid: 这会将根窗口的背景设置为指定的颜色 | 示例1:
将整个背景设为灰色:
[root@linuxcool ~]# xsetroot -gray
示例2:
将未指定的属性重置为默认值:
[root@linuxcool ~]# xsetroot -def
示例3:
使用-bg设置自定义背景色:
[root@linuxcool ~]# xsetroot -bg red 系统管理(system) 481 fbset fbset命令 – 设置景框缓冲区 fbset命令为“framebuffer set”的简写,该命令可用于设置景框缓冲区的大小,还能调整画面之分辨率,位置,高低宽窄,色彩深度,并可决定是否启动先卡之各项硬件特性。 fbset [参数] [显示模式] |-a: 改变所有使用该设备之虚拟终端机的显示模式 |
|-db: 指定显示模式的信息文件,预设值文件名称为fb.modes,存放在/etc目录下 |
|-fb: 指定用来做为输出景框缓冲区之外围设备,预设置为”/dev/fd0″ |
|-n: 马上改变显示模式 | 示例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 系统管理(system) 482 chkconfig chkconfig命令 – 管理服务程序 chkconfig命令来自英文词组“Check config“的缩写,其功能是用于管理服务程序。chkconfig命令由红帽公司遵循GPL开源协议开发而成,能够用于日常管理服务程序的自启动开启、自启动关闭等工作。随着RHEL/CentOS8版本系统的发布,该命令功能逐步被systemctl命令替代。 chkconfig [参数] [服务名] |off: 不随开机而自动运行 |
|on: 随开机而自动运行 |
|--add: 将服务添加至管理列表 |
|--del: 将服务移除出管理列表 |
|--help: 显示帮助信息 |
|--list: 显示当前已有的全部服务列表 |
|--short: 使用简短格式输出信息 |
|--version: 显示版本信息 | 示例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 系统管理(system) 483 metaparam metaparam命令 – 修改元设备的参数 metaparam命令用于显示或修改元数据的当前参数。如果仅将metadevice指定为metaparam命令的参数,则会显示当前设置。 metaparam [参数] |--h: 显示使用情况消息 |
|–ssetname: 指定运行metaparam的磁盘集的名称 | 示例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 系统管理(system) 484 ssh-add ssh-add命令 – agent的高速缓存 ssh-add命令是把专用密钥添加到ssh-agent的高速缓存中。该命令位置在/usr/bin/ssh-add。 ssh-add [参数] |-D: 删除ssh-agent中的所有密钥 |
|-d: 从ssh-agent中的删除密钥 |
|-l: 显示ssh-agent中的密钥 |
|-L: 显示ssh-agent中的公钥 |
|-X: 对ssh-agent进行解锁 |
|-x: 对ssh-agent进行加锁 | 示例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 系统管理(system) 485 strace strace命令 – 跟踪系统调用信息 strace命令来自英文单词“跟踪”,其功能是用于跟踪系统调用信息。strace命令是一个集诊断、调试、统计于一体的工具,可以对系统调用和信号传递的跟踪结果进行分析,从而解决问题。
Linux系统中进程不能直接访问硬件设备,当进程需要读取磁盘文件或接收网络数据时,必须由用户态模式切换至内核态模式,通过系统调用访问硬件设备。而strace命令则可以跟踪到一个进程产生的系统调用数据——包括参数,返回值,执行消耗时间等信息。 strace [参数] [对象] |-a: 设置返回值的输出位置 |
|-c: 显示执行时间、报错次数等信息 |
|-d: 使用调试模式 |
|-e: 指定一个表达式 |
|-f: 跟踪由fork调用所产生的子进程 |
|-F: 跟踪vfork调用 |
|-h: 显示帮助信息 |
|-o: 将输出结果写入到文件 |
|-p: 设置进程号码 |
|-q: 不显示离线消息 |
|-r: 显示系统调用的相对时间 |
|-t: 每一行前加上时间信息(秒) |
|-tt: 每一行前加上时间信息(微秒级) |
|-T: 显示每次调用所花费时间信息 |
|-u: 显示指定用户或用户组的信息 |
|-v: 显示所有的系统调用信息 |
|-V: 显示版本信息 |
|-x: 使用十六进制输出非标准字符串 |
|-xx: 使用十六进制输出所有字符串 | 示例1:
根据指定进程的系统调用:
[root@linuxcool ~]#strace -p 5188
示例2:
根据指定进程的所有系统调用,并统计所花费时间(微秒级):
[root@linuxcool ~]#strace -T -tt -e trace=all -p 5188 系统管理(system) 486 consoletype consoletype命令 – 输出已连接的终端类型 consoletype命令用于打印已连接的终端类型到标准输出,并能够检查已连接的终端是当前终端还是虚拟终端。 consoletype 示例1:
输出已连接的终端类型:
[root@linuxcool ~]# consoletype 系统管理(system) 487 uustat uustat命令 – 显示UUCP目前的状况 执行uucp与uux指令后,会先将工作送到队列,再由uucico来执行工作。uustat可显示,删除或启动队列中等待执行的工作。 uustat [参数] |-a: 显示全部的UUCP工作 |
|-e: 仅显示待执行的工作 |
|-i: 针对队列中的每项工作,询问使用是否要删除工作 |
|-p: 显示负责UUCP锁定的程序 |
|-q: 显示每台远端主机上所要执行工作的状态 |
|-Q: 不显示工作 | 示例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 系统管理(system) 488 who who命令 – 查看当前登录用户信息 who命令的功能是用于显示当前登录用户信息,包含登录的用户名、终端、日期时间、进程等信息,帮助运维人员了解当前系统的登入用户情况。 who [参数] |-a: 显示全部信息 |
|-b: 显示系统最近启动时间 |
|-H: 显示用户名、终端和时间 |
|-l: 显示系统登录进程 |
|-p: 显示由init生成的进程 |
|-r: 显示当前运行级别 |
|-s: 静默执行模式 |
|-t: 显示系统上次锁定时间 |
|-u: 显示已登录用户列表 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例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 系统管理(system) 489 mpstat mpstat命令 – 显示变化的CPU数据 mpstat命令可以显示随着时间变化的CPU数据,方便找出CPU使用率与时间的关系。这个命令包含在工具集sysstat中,使用之前需要安装sysstat。 mpstat [参数] |-P: 执行监控的CPU,取值0~CPUNUM。或者用ALL查看全部CPU |
|delay: 采样间隔 |
|count: 采样次数 | 示例1:
执行监控第一个CPU:
[root@linuxcool ~]# mpstat -P 1
示例2:
执行监控全部CPU:
[root@linuxcool ~]# mpstat -P ALL
示例3:
每隔1个时间单位采样5次:
[root@linuxcool ~]# mpstat 1 5 系统管理(system) 490 htop htop命令 – 互动的进程查看器 htop是linux系统中的一个互动的进程查看器,一个文本模式的应用程序(在控制台或者X终端中),需要ncurses。htop比较人性化。它可让用户交互式操作,支持颜色主题,可横向或纵向滚动浏览进程列表,并支持鼠标操作。
htop相比较top的优势有可以横向或纵向滚动浏览进程列表,以便看到所有的进程和完整的命令行、在启动上比top更快、杀进程时不需要输入进程号、支持鼠标选中操作、top已不再维护。 htop [参数] |-C: 使用单色配色方案 |
|-d: 设置更新的延迟, 单位是10微秒 |
|-s: 纵列排序 |
|-u: 只显示一个指定用户的进程 |
|-p: 只显示给用户 |
|-h: 打印此命令帮助 |
|-v: 打印版本信息 | 示例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 系统管理(system) 491 iotop iotop命令 – 监视磁盘I/O状态 iotop命令是一个用来监视磁盘I/O使用状况的top类工具。iotop具有与top相似的UI,其中包括PID、用户、I/O、进程等相关信息。
Linux下的IO统计工具如iostat,nmon等大多数是只能统计到per设备的读写情况,如果你想知道每个进程是如何使用IO的就比较麻烦,使用iotop命令可以很方便的查看。 iotop [参数] |-o: 只显示有io操作的进程 |
|-b: 批量显示,无交互,主要用作记录到文件 |
|-n NUM: 显示NUM次,主要用于非交互式模式 |
|-d SEC: 间隔SEC秒显示一次 |
|-p PID: 监控的进程pid |
|-u USER: 监控的进程用户 | 示例1:
使用-o参数只显示IO操作进程:
[root@linuxcool ~]# iotop -o
示例2:
使用-b参数批量显示,无交互:
[root@linuxcool ~]# iotop -b
示例3:
使用-u参数显示root用户的IO进程:
[root@linuxcool ~]# iotop -u root 系统管理(system) 492 vim-cmd vim-cmd命令 – 控制虚拟机状态 vim-cmd命令的功能是用于控制虚拟机状态。vim-cmd是esxi命令行,可在命令行下控制虚拟机的注册,启动等。 vim-cmd是构建在host进程之上的命令空间,允许最终用户调用几乎所有的vSphere API。vim-cmd提供了一些ESXi子命令管理不同的虚拟基础设施,而且和vimsh相比,更容易使用。 vim-cmd [参数] [对象] |hostsvc: 显示与主机相关的状态 |
|vmsvc: 显示与虚拟机相关的状态 | 示例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 系统管理(system) 493 tune2fs tune2fs命令 – 管理文件系统参数 tune2fs命令来自英文词组“adjust tunable filesystem parameters”的缩写,其功能是用于管理文件系统参数。Linux系统若出现意外断电或宕机的情况,下次开机时会自动调用tune2fs命令进行系统自检工作,管理员亦可以根据需要有周期性地对文件系统进行检查,保障系统稳定。 tune2fs [参数] [设备名] |-c: 设置最大加载次数 |
|-C: 显示已被加载的次数 |
|-e: 设置检测到错误时的行为 |
|-f: 强制执行修改操作而不询问 |
|-i: 设置两次检查的相隔时间 |
|-j: 将ext2文件系统转换成ext3 |
|-l: 显示文件超级块内容 |
|-L: 设置文件系统卷标 |
|-m: 显示文件保留块的百分比 |
|-M: 设置文件系统被加载到的目录 |
|-o: 设置文件系统加载的特性 |
|-O: 设置文件系统的特性 |
|-r: 设置文件系统保留块的大小 |
|-T: 设置上次被检查的时间 |
|-u: 设置可以使用文件系统保留块的用户 |
|-U: 设置文件系统的UUID | 示例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 系统管理(system) 494 lvremove lvremove命令 – 删除指定LVM逻辑卷 lvremove命令用于删除指定LVM逻辑卷。如果逻辑卷已经使用mount命令加载,则不能使用lvremove命令删除。必须使用umount命令卸载后,逻辑卷方可被删除。 lvremove [参数] |-f: 强制删除 | 示例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 系统管理(system) 495 mountpoint mountpoint命令 – 判断目录是否为挂载点 mountpoint命令来自英文词组“mount point”的拼写,其功能是用于判断目录是否为挂载点。Linux系统要求设备被挂载到目录下才能够被正常使用,而mountpoint命令则正是用于判断目录是否被某个设备挂载着而设计的。 mountpoint [参数] [目录或设备名] |-d: 显示文件系统的主、次设备号 |
|-q: 静默执行模式 |
|-x: 显示块设备的主、次设备号 | 示例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 系统管理(system) 496 timeconfig timeconfig命令 – 设置时区 timeconfig命令用于设置时区, 是Red Hat公司遵循GPL规则所开发的程序,它具有互动式操作界面,可以轻易地利用方向键和空格键等,设置系统时间所属的时区。 timeconfig [参数] [时区] |--arc: 使用Alpha硬件结构的格式存储系统时间 |
|--back: 在互动式界面里,显示Back钮而非Cancel钮 |
|--test: 仅作测试,并不真的改变系统的时区 |
|--utc: 把硬件时钟上的时间视为CUT,有时也称为UTC或UCT | 示例1:
设置时区:
[root@linuxcool ~]# timeconfig 系统管理(system) 497 resize2fs resize2fs命令 – 同步文件系统容量到内核 resize2fs命令来自英文词组resize to filesystem的缩写,其功能是同步文件系统容量到内核。如对EXT3、EXT4、XFS等设备卷容量进行了调整,则需要使用resize2fs命令同步信息到系统内核。 resize2fs [参数] [设备名] |-d: 打开调试特性 |
|-f: 强制调整设备容量而不询问 |
|-F: 刷新文件系统设备的缓冲区 |
|-p: 显示已完成的百分比进度条 |
|-P: 显示文件系统的最小值 | 示例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 系统管理(system) 498 firewall-cmd firewall-cmd命令 – 防火墙策略管理工具 firewall-cmd命令的功能是管理防火墙策略,是firewalld服务的配置工具。使用firewall-cmd命令修改的防火墙策略会立即生效,但重启后失效,因此在使用时推荐加上permanent参数。
。 关于firewalld服务及firewall-cmd命令详细的使用方法,请参阅《Linux就该这么学(第2版)》第8章节的内容。 firewall-cmd [参数] [对象] |--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: 显示当前服务运行状态 | 示例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 系统管理(system) 499 postconf postconf命令 – 显示main.cf配置参数的值 命令显示main.cf配置参数的值,并警告可能是参数名类型错误(Postfix 2.9及更高版本)。它还可以更改main.cf配置参数
ter值,或显示有关Postfix邮件系统的其他配置信息 postconf [参数] |-d: 查看默认配置 |
|-n: 查看当前配置(即当前生效的配置) |
|-e: 配置某一参数 | 示例1:
配置某一参数:
[root@linuxcool ~]# postconf -e mydomain=mail.baidu.com 系统管理(system) 500 skill skill命令 – 送讯号给正在执行的程序 skill命令送个讯号给正在执行的程序,预设的讯息为 TERM (中断),较常使用的讯息为 HUP、INT、KILL、STOP、CONT 和 0。
讯息有三种写法:分别为 -9、-SIGKILL、-KILL,可以使用 -l 或 -L 已列出可使用的讯息。 skill [讯号名称] [选择程序的规则] |-v: 详细输出/ 列出所选择程序的资讯 |
|-n: 没有动作/ 显示程序代号 |
|-t: 终端机代号 |
|-u: 使用者名称 |
|-w: 智能警告讯息/ 尚未完成 | 示例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 系统管理(system) 501 mtr mtr命令 – 网络诊断 mtr在单个网络诊断工具中结合了traceroute和ping程序的功能。当mtr启动时,它调查运行在主机mtr和主机名之间的网络连接。
通过发送有目的的低TTL的包。它继续以较低的TTL发送数据包,记录中间路由器。这允许MTR打印Internet路由的响应百分比和响应时间。到主机名。包丢失或响应时间的突然增加通常是坏的(或仅仅是过度的)迹象。已加载)链接。结果通常以往返响应时间(毫秒)和包丢失百分比报告。 mtr [参数] |-r: 已报告模式显示 |
|-c: 发送多少个数据包 |
|-n: 不用主机解释 |
|--report: 结果显示,并不动态显示 |
|-s: 用来指定ping数据包的大小 | 示例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 系统管理(system) 502 nstat nstat命令 – 监视内核的SNMP计数器和网络接口状态 nstat是一个简单的监视内核的SNMP计数器和网络接口状态的实用工具 。 nstat [参数] |-z: 显示0计数器 |
|-h: 显示帮助信息 |
|-V: 显示指令版本信息 |
|-r: 清零历史统计 |
|-n: 不显示任何内容,仅更新历史 |
|-a: 显示计数器的绝对值 |
|-s: 不更新历史 |
|-d: 以守护进程的方式运行本指令 |
|-j: 以json格式打印结果 | 示例1:
直接输入以查询内核的SNMP计数器和网络接口状态:
[root@linuxcool ~]# nstat 系统管理(system) 503 passwd passwd命令 – 修改用户的密码值 passwd命令来自英文单词password的缩写,其功能是修改用户的密码值;同时也可以对用户进行锁定等操作,但需要管理员身份才可以执行。
常用格式:passwd [参数] [用户名]
常用参数:
参考示例
修改当前登录用户的密码值:
修改指定用户的密码值:
锁定指定用户的密码值,不允许其进行修改:
解锁指定用户的密码值,允许其进行修改:
强制指定的用户在下次登录时必须重置其密码:
删除指定用户的密码值:
查看指定用户的密码状态:
这篇优质的内容由TA贡献而来
刘遄
《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。
京ICP备16058923号-1
推荐用书:《Linux就该这么学》
真正好用的Linux命令在线查询手册 |-d: 清除已有密码 |
|-e: 下次登录时强制修改密码 |
|-f: 强制执行操作而不询问 |
|-k: 设置用户在期满后能仍能正常使用 |
|-l: 锁定用户的密码值,不允许修改 |
|-n: 设置最小密码有效期 |
|-u: 解锁用户的密码值,允许修改 |
|-w: 设置密码到期前几天收到警告信息 |
|-x: 设置最大密码有效期 |
|--help: 显示帮助信息 |
|--usage: 显示简短的使用信息提示 | 示例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.) 系统管理(system) 504 lastb lastb命令 – 列出登入系统失败的用户 lastb命令用于显示用户错误的登录列表,此指令可以发现系统的登录异常。
单独执行lastb命令,它会读取位于/var/log目录下,名称为btmp的文件,并把该文件内容记录的登入失败的用户名单,全部显示出来。 lastb [参数] |-a: 把从何处登入系统的主机名称或ip地址显示在最后一行 |
|-d: 将IP地址转换成主机名称 |
|-f: 指定记录文件 |
|-n: 设置列出名单的显示列数 |
|-R: 不显示登入系统的主机名称或IP地址 |
|-x: 显示系统关机,重新开机,以及执行等级的改变等信息 | 示例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 系统管理(system) 505 kexec kexec命令 – 直接起动另一linux内核 kexec命令的功能是可以从当前正在运行的内核直接引导到一个新内核。
kexec命令跳过了整个引导装载程序阶段的第一部分,直接跳转到我们希望引导到的内核。不再有硬件的重启和固件操作,不再涉及引导装载程序。完全避开了引导序列最慢的一部分。这一功能部件带来的最大益处在于,系统现在可以极其快速地重新启动。
使用kexec命令内核版本必需为 2.6.13 或以上。 kexec [参数] |-l: 指定内核映像文件 |
|-e: 允许当前被加载的内核 |
|-f: 强制立即调用系统调用“kexec”,而不调用“shutdown” |
|-t: 指定新内核的类型 |
|-u: 卸载当前的kexec目标内核 | 示例1:
装在指定的内核映像:
[root@linuxcool ~]# kexec -l /boot/bzImage -append="root=/dev/hda1"
示例2:
重新启动已装载的内核:
[root@linuxcool ~]# kexec -e 系统管理(system) 506 ipstat ipstat命令 – 实时显示 Linux 内核中 iptables 的工作状态 ipstat命令用于根据命令语法中指定的所选输出模式和排序顺序收集并报告有关服务器上 IP 通信流量的统计信息。使用此命令可以观察 IP 层的网络通信流量(按源、目标、高层协议和接口进行聚合)。当您希望观察一个服务器与其他服务器之间的通信量时,使用此命令。 ipstat [参数] |-c: 在以前的报告之后打印更新的报告 |
|-l: 指定每个报表要输出的数据行数 |
|-d: 显示标准日期格式 (–dd) 的时间戳 | 示例1:
观察最活跃的五个 IP 通信流:
[root@linuxcool ~]# ipstat -l 5
示例2:
在以前的报告之后打印更新的报告,时间间隔为3:
[root@linuxcool ~]# ipstat -c 3
示例3:
在unix时间形式打印时间戳,时间间隔为3:
[root@linuxcool ~]# ipstat -d u -c 3 系统管理(system) 507 locale locale命令 – 设置字符集 locale是linux系统中多语言环境的设置接口,Locale根据计算机用户所使用的语言,所在国家或者地区,以及当地的文化传统所定义的一个软件运行时的语言环境。
通过locale来设置程序运行的不同语言环境,locale由ANSI C提供支持。locale的命名规则为<语言>_<地区>.<字符集编码>,如zh_CN.UTF-8,zh代表中文,CN代表大陆地区,UTF-8表示字符集。在locale环境中,有一组变量,代表国际化环境中的不同设置。 locale [参数] |-a: 写入可用区域设置的名称 |
|-m: 写入可用字符映射的名称 |
|-c: 写入选定类别的名称 |
|-k: 写入选定关键字的名称 | 示例1:
显示默认的语言字符集:
[root@linuxcool ~]# locale
示例2:
查看可用的语言环境:
[root@linuxcool ~]# locale -a 系统管理(system) 508 xset xset命令 – X-Window系统的用户爱好设置 xset命令是设置X-Window系统中的用户爱好的实用工具。 xset是上层应用程序,主要用于在X-Window启动之后,对X-Window进行一些设置。
运行xset命令时要求启动本地X-Windows的图形界面后,在图形界面下的命令行中输入,否则将出现错误提示。 xset [参数] |-b: 蜂鸣器开关设置 |
|-c: 键盘按键声响设置 |
|b: 蜂鸣器开关设置 |
|c: 键盘按键声响设置 |
|s: 屏幕保护程序设置 |
|q: 显示相关信息 |
|-fp或fp-: 从当前字体路径中删除元素 |
|+fp或fp+: 前置和附加元素到当前字体路径 |
|dpms<标记>: 允许DPMS(能源之星)的参数进行设置 |
|bc: 在服务器中控制bug兼容模式 |
|-display<显示器>: 指定使用的服务器 |
|-dpms: 禁用DPMS(能源之星)功能 |
|+dpms: 启用DPMS(能源之星)功能 |
|fp=<路径>: 设置字体路径到指定路径 | 示例1:
显示当前的xset相关信息:
[root@linuxcool ~]# xset q
示例2:
开启蜂鸣器和键盘按键声:
[root@linuxcool ~]# xset b on c on
示例3:
启用DPMS(能源之星)功能:
[root@linuxcool ~]# xset -display :0 +dpms 系统管理(system) 509 metainit metainit命令 – 配置元设备 metainit命令根据命令行上指定的信息配置元组件和热备用。或者,你可以运行metainit,让它使用你在/etc/lvm/md.指定的配置条目选项卡文件。所有metadevices在使用之前都必须通过metainit命令进行设置。 metainit[参数] |-f: 即使片中的一个包含一个已挂载的文件系统或正用作交换,或者正在创建的条带的大小小于基础软分区的大小,也强制metainit命令继续执行 |
|-h: 显示使用情况消息 |
|-n: 在不实际设置元设备的情况下检查命令行或md.tab条目的语法 |
|-r: 引导时仅在shell脚本中使用 |
|-ssetname: 指定用于metainit的磁盘集的名称 | 示例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 系统管理(system) 510 metareplace metareplace命令 – 启用或替换子镜像或RAID5元设备的组件 metareplace命令用于启用或子镜像或RAID5元设备内更换组件(片)。 metareplace[参数] |–e: 将组件的状态转换为可用状态,然后重新同步发生故障的组件 |
|–f: 强制替换其中多个组件有错误的元设备的错误组件 |
|–h: 显示帮助信息 |
|–ssetname: 指定将在其上使用metareplace的磁盘集的名称 | 示例1:
从RAID5元设备中的错误条件中恢复:
[root@linuxcool ~]# metareplace d10 c3t0d0s2 c5t0d0s2
示例2:
更换物理磁盘后 使用–e:
[root@linuxcool ~]# metareplace -e mymirror1 c1t4d0s2 系统管理(system) 511 sha1sum sha1sum命令 – 查看效验文件哈希值命令 sha1sum命令用于生成和校验文件的sha1值。它会逐位对文件的内容进行校验。是文件的内容,与文件名无关,也就是文件内容相同,其sha1值相同。 sha1sum [参数] [文件] |-b: 以二进制读取 |
|-t: 以文本模式读取 |
|-c: 从文本中读取md5值并验证它们 | 示例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 系统管理(system) 512 pacman pacman命令 – 软件包管理器 pacman命令来自英文词组“package manager”的缩写,其功能是用于管理软件包。pacman命令能够在ArchLinux系统中安装、查询、升级、卸载服务程序,它吸取了其他Linux系统的软件管理优点,譬如Debian的APT机制、Redhat的Yum机制、 Suse的Yast等,同比来说效率还是很不错的。另外由于ArchLinux系统默认只会安装很少的软件,因此pacman命令工具显得尤为重要,常被用到。 pacman [参数] [软件名] |-b: 设置数据库位置 |
|-c: 显示软件包的更新日志 |
|-d: 显示所有依赖的软件包 |
|-e: 显示所有单独指定安装的软件包 |
|-i: 显示已安装的包的详细信息 |
|-k: 检查软件包的文件 |
|-I: 显示已安装包的所有文件列表 |
|-m: 显示在同步数据库时没找到的软件包 |
|-n: 显示在同步数据库时找到的软件包 |
|-o: 显示指定文件属于哪个软件包 |
|-p: 显示指定软件包文件信息 |
|-g: 显示软件包组信息 |
|-q: 显示结果简要信息 |
|-Q: 显示已经安装的软件包 |
|-r: 设置安装的根目录 |
|-R: 删除指定软件包 |
|-s: 搜索相关依赖包 |
|-S: 安装指定软件包 |
|-u: 显示所有可升级的软件包 |
|-v: 显示执行过程详细信息 | 示例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 系统管理(system) 513 xf86setup XF86Setup命令 – 设置XFee86 这是Linux系统用来设置XFee86的程序,它会进入图形模式,通过互动操作界面,让用户轻松完成XFee86环境的设置。
XF86Setup命令就是通过对XFee86的配置,从而改变显示画面的效果。
XF86Setup是在图形界面下运行的设置程序,它运行在图形界面下,如果系统没有启动 X Window系统,那么它会自动启动一个标准VGA模式的X服务器。XF86Setup首先使用缺省设置启动这个16色、640×480分辨率的X服务器,然后再运行XF86Setup设置程序本身。 XF86Setup [参数] |display: 指定显示XF86Setup设置画面的主机名称以及欲在该主机上的哪个显示器显示画面 |
|nodialog: 执行XF86Setup时,不显示交谈窗,直接以文字模式提出询问 |
|sync: 和X Server进行数据同步传输 | 示例1:
指定显示XF86Setup设置画面的主机名称以及欲在该主机上的哪个显示器显示画面:
[root@linuxcool ~]# XF86Setup display test1:001
示例2:
执行XF86Setup时,不显示交谈窗,直接以文字模式提出询问:
[root@linuxcool ~]# XF86Setup nodialog
示例3:
执行XF86Setup时,和X Server进行数据同步传输:
[root@linuxcool ~]# XF86Setup sync 系统管理(system) 514 grpconv grpconv命令 – 开启群组的投影密码 grpconv命令用于开启群组的投影密码。Linux系统里的用户和群组密码,分别存放在/etc目录下的passwd和group文件中。因系统运作所需,任何人都得以读取它们,造成安全上的破绽。
投影密码将文件内的密码改存在/etc目录下的shadow和gshadow文件内,只允许系统管理者读取,同时把原密码置换为”x”字符。投影密码的功能可随时开启或关闭,您只需执行grpconv指令就能开启群组投影密码。 grpconv 示例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: 系统管理(system) 515 chgrp chgrp命令 – 更改文件所属用户组 chgrp命令来自英文词组”change group“的缩写,其功能是用于更改文件所属用户组。Linux系统中常用chown命令更改文件所属用户及用户组身份信息,如仅需要修改文件所属用户组身份信息,则可以使用chgrp命令更快地完成。 chgrp [参数] [目录名] |-c: 显示调试信息 |
|-f: 不显示错误信息 |
|-h: 对符号链接文件做修改 |
|-L: 遍历每个符号链接 |
|-P: 不遍历每个符号链接 |
|-R: 递归处理所有子文件 |
|-v: 显示执行过程详细信息 |
|--help: 显示帮助信息 |
|--vesion: 显示版本信息 | 示例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 系统管理(system) 516 pmap pmap命令 – 显示进程的内存映像信息 pmap命令来自英文词组“process memory map”的缩写,其功能是用于显示进程的内存映像信息。pmap命令能够显示进程映像的起始地址、虚拟内存大小、进程访问地址空间的权限以及内存映像文件等信息,而我们只需告知进程号码即可。 pmap [参数] [进程ID] |-c: 读取默认配置 |
|-d: 显示内存映射文件的偏移值、主次设备号等信息 |
|-h: 显示帮助信息 |
|-n: 创建新的配置 |
|-N: 创建新的配置并保存到文件 |
|-p: 显示文件的完整路径 |
|-q: 静默执行模式 |
|-V: 显示版本信息 |
|-x: 显示物理内存大小、未同步磁盘页面数量等信息 | 示例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
………………省略部分输出信息……………… 系统管理(system) 517 apt-get apt-get命令 – 管理服务软件 apt-get命令来自英文词组advanced package tool get的缩写,其功能是管理服务软件。apt-get命令主要用于Debian、Ubuntu等系统,能够像yum/dnf软件仓库一样自动下载、配置、安装、卸载服务软件,用户只要准确提出需求就好。 apt-get [参数] [软件名] [动作] |-b: 下载源码后进行编译 |
|-c: 设置配置文件信息 |
|-d: 下载源码后不编译 |
|-f: 修复软件包的依赖关系 |
|-h: 显示帮助信息 |
|-m: 忽略丢失的软件包 |
|-u: 显示要升级的软件包列表 |
|-v: 显示版本信息 |
|-V: 显示软件包详细信息 |
|-y: 所有询问均回答自动yes | 示例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 系统管理(system) 518 yum-builddep yum-builddep命令 – 安装缺少的依赖软件包 yum-builddep命令来自英文词组“yum build depend”的缩写,其功能是用于安装缺少的依赖软件包。首先我们需要一个可用的yum软件仓库,随后便可以使用yum-builddep命令来安装上某个指定软件及其所依赖的其他RPM软件包了,很方便的。 yum-builddep [参数] [软件包] |-c: 设置配置文件的路径 |
|-C: 从系统缓存中运行,不更新缓存 |
|-q: 静默执行模式 |
|-v: 显示执行过程详细信息 |
|-y: 所有询问均回答自动yes |
|--disableplugin: 禁用指定插件 |
|--disablepresto: 禁用指定软件仓库 |
|--enableplugin: 启用指定插件 |
|--enablerepo: 启用指定软件仓库 |
|--installroot: 设置安装根路径 |
|--noplugins: 禁用插件 |
|--nogpgcheck: 禁用GPG签名检查 | 示例1:
下载安装指定软件及其依赖的软件包:
[root@linuxcool ~]#yum-builddep kernel
示例2:
下载安装指定软件及其依赖的软件包,并显示详细过程:
[root@linuxcool ~]#yum-builddep -v kernel
示例3:
下载安装指定软件及其依赖的软件包,不进行二次确认:
[root@linuxcool ~]#yum-builddep -y kernel 系统管理(system) 519 suspend suspend命令 – 暂停执行shell suspend是终端的内建命令,可暂停目前正在执行的shell。若要恢复,则必须使用SIGCONT信息。 suspend [参数] |-f: 若目前执行的shell为登入的shell,则suspend预设无法暂停此shell | 示例1:
暂停终端 :
[root@linuxcool ~]# suspend -f 系统管理(system) 520 arch arch命令 – 显示主机硬件架构类型 arch命令来自英文单词“architecture”的缩写,中文译为“架构”,其功能是用于显示主机硬件架构类型。虽说目前主流硬件架构当数x86_64应用最广泛,但也会偶尔遇到下载了软件包无法安装的情况,这时就要排除下服务器是不是i386、i486、mips、alpha等架构类型了。 arch [参数] |--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例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. 系统管理(system) 521 sestatus sestatus命令 – 显示SELinux状态 sestatus命令的作用是可以查看系统运行SELinux的状态,应用模式、布尔值,以及显示/etc/sestatus.conf文件内列出的文件和进程的安全上下文。
SELinux全称是Security Enhanced Linux (安全强化 Linux),是 MAC (Mandatory Access Control,强制访问控制系统)的一个实现,已在linux内核中存在了许多年,对于目前可用的linux安全模块来说,SELinux功能最全面,测试最充分,是linux内核的安全保镖。
SELinux主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)。 sestatus [参数] |-v: 详细检查进程和文件的安全上下文 |
|-b: 显示当前布尔值状态 | 示例1:
查看当前SELinux的状态:
[root@linuxcool ~]# sestatus
示例2:
详细检查进程和文件的安全上下文:
[root@linuxcool ~]# sestatus -v
示例3:
显示当前布尔值状态:
[root@linuxcool ~]# sestatus -b 系统管理(system) 522 disown disown命令 – 从Shell终端中移除作业 disown命令的功能是用于从Shell终端中移除作业,是一个bash解释器的内置命令。disown命令能够从Shell终端中移除指定的作业,正在运行的作业也可以被移除,亦可以对作业进行标记,使其在当前Shell终端窗口关闭后依然不会结束。 disown [参数] [标识符或进程PID] |-h: 标记作业使其结束Shell终端窗口时不退出 |
|-a: 移除所有的作业 |
|-r: 移除运行的作业 | 示例1:
移除当前所有作业:
[root@linuxcool ~]#disown -a
示例2:
移除当前正在运行状态的作业:
[root@linuxcool ~]#disown -r
示例3:
标记指定作业使其结束Shell终端窗口时不退出:
[root@linuxcool ~]#disown -h %2 系统管理(system) 523 sar sar命令 – 统计系统运行状态 sar命令来自英文词组“System activity reporter”的缩写,其功能是用于统计系统运行状态。系统管理员可以使用sar命令对Linux系统进行取样,大量的取样数据和分析结果会实时存入到文件中,因此不会消耗太多的内存和额外系统资源。 sar [参数] |-A: 显示全部报告信息 |
|-b: 显示I/O速率信息 |
|-c: 显示进程创建活动 |
|-d: 显示块设备的状态 |
|-e: 设置显示结束时间 |
|-f: 从文件中读取报告 |
|-i: 设置刷新间隔时间 |
|-P: 显示每个CPU状态 |
|-R: 显示内存状态 |
|-u: 显示CPU利用率 |
|-w: 显示交换分区状态 |
|-x: 显示指定进程状态 | 示例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 系统管理(system) 524 sesearch sesearch命令 – 查看SElinux策略 使用seinfo命令可以查询SELinux的策略提供多少相关规则,如果查到的相关类型或者布尔值,想要知道详细规则时,使用sesearch命令查询。 sesearch [参数] |-a: 列出该类型或布尔值的所有相关信息 |
|-t: 后面还要接类型,例如 -t httpd_t |
|-b: 后面还要接布尔值的规则,例如 -b httpd_enable_ftp_server | 示例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 系统管理(system) 525 procinfo procinfo命令 – 显示系统状态 proc文件系统是一个虚拟文件系统,其中包含存储有关进程和其他系统信息的信息的文件。 它被映射到/proc目录并在启动时挂载。 许多程序从/ proc文件系统中检索信息,对其进行处理并将其提供给各种用途。
Procinfo是一个简单的命令行实用程序,用于查看从/ proc目录收集的系统信息,并在标准输出设备上打印精美的格式。 procinfo [参数] |-a: 显示所有信息 |
|-b: 显示磁盘设备的区块数目,而非存取数目 |
|-d: 显示系统信息每秒间的变化差额,而非总和的数值。 必须配合”-f”参数使用 |
|-D: 此参数效果和指定”-d”参数类似,但内存和交换文件的信息为总和数值 |
|-f: 进入全画面的互动式操作界面 |
|-F: 把信息状态输出到文件保存起来 |
|-i: 显示完整的IRP列表 |
|-m: 显示系统模块和外围设备等相关信息 |
|-n: 设置全画面互动模式的信息更新速度,单位以秒计算 |
|-s: 显示系统的内存,磁盘空间,IRP和DMA等信息,此为预设值 |
|-S: 搭配参数”-d”或”-D”使用,每秒都会更新信息 |
|-H: 内存信息转换为可读(KB、MB、GB)格式单位 |
|-v: 显示版本信息 | 示例1:
显示系统状态:
[root@linuxcool ~]# procinfo
示例2:
以每秒为基础显示统计数据,而不是按总值显示:
[root@linuxcool ~]# procinfo -d -f
示例3:
将统计信息显示为总计:
[root@linuxcool ~]# procinfo -D 系统管理(system) 526 nsupdate nsupdate命令 – 动态DNS更新工具 nsupdate实用程序用于向名称服务器提交 RFC2136 中定义的动态 DNS 更新请求。这允许在无需手动编辑区文件的情况下从区中添加或删除资源记录。一个更新请求可以包含添加或删除多个资源记录的请求。 nsupdate [参数] |–k keyfile: 从keyfile文件中读取密钥信息 |
|-d: 调试模式 |
|-y: keyname是密钥的名称,secret是以base64编码的密钥 |
|-v: 使用TCP协议进行nsupdate.默认是使用UDP协议 | 示例1:
使用TCP协议进行nsupdate:
[root@linuxcool ~]# nsupdate -v
示例2:
从keyfile文件中读取密钥信息:
[root@linuxcool ~]# nsupdate -k keyfile
示例3:
在调试模式下操作:
[root@linuxcool ~]# nsupdate -d 系统管理(system) 527 getenforce getenforce命令 – 显示SELinux服务模式 getenforce命令来自英文词组“get the current mode of SELinux”的拼写,其功能是用于显示SELinux服务模式。SELinux服务是Linux系统中重要的安全子系统,用于规范服务程序只能获取自身所需的资源——如文件或端口号等,防止权限外溢,提高安全性。
Enforcing为强制模式,意味着会禁止一切的越权操作,而Permissive为宽容模式,会允许越权操作,相当于是没有关闭SELinux服务,但关闭了防护功能。 getenforce [参数] 示例1:
显示当前SELinux服务状态:
[root@linuxcool ~]#getenforceEnforcing 系统管理(system) 528 poweroff poweroff命令 – 关闭操作系统 poweroff命令来自英文单词“关机”,其功能是用于关闭操作系统。很多学习者会着迷于对比poweroff、halt、shutdown、init 0等命令之间的区别,但我们要跟大家说明的是,它们都是Linux系统中的关机命令,体感上没有区别,更多地是依据个人喜好来选择的。 poweroff [参数] |-d: 关机时不写入任何信息到日志文件 |
|-f: 强制关闭操作系统而不询问 |
|-h: 关机前将所有硬件设置为备用模式 |
|-i: 关机前先关闭所有的网卡 |
|-n: 关机时不执行同步操作 |
|-w: 模拟关机操作并记录过程到日志文件 |
|--help: 显示帮助信息 | 示例1:
关闭操作系统:
[root@linuxcool ~]#poweroff
示例2:
模拟关机操作并记录过程到日志文件(没有真正关机):
[root@linuxcool ~]#poweroff -w
示例3:
将所有的硬件设置为备用模式,并关闭操作系统:
[root@linuxcool ~]#poweroff -h 系统管理(system) 529 ssh-keygen ssh-keygen命令 – 生成SSH密钥文件 ssh-keygen命令来自英文词组SSH key generate的缩写,其功能是生成SSH密钥文件。ssh-keygen命令能够对SSH密钥文件进行生成、管理、转换等工作,支持RSA和DSA两种密钥格式。 ssh-keygen [参数] [对象] |-b: 设置密钥长度 |
|-B: 显示密钥文件摘要 |
|-c: 设置注释信息 |
|-e: 读取已有密钥文件 |
|-f: 设置保存密钥的文件名 |
|-F: 设置搜索的主机名 |
|-i: 读取SSHv2兼容格式的未加密文件 |
|-I: 显示指定公钥文件的指纹信息 |
|-p: 设置私钥文件的密码 |
|-P: 提供旧密码 |
|-q: 静默执行模式 |
|-r: 显示指定公钥文件 |
|-t: 设置要创建的密钥类型 |
|-v: 显示执行过程详细信息 | 示例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]-----+ 系统管理(system) 530 top top命令 – 实时显示系统运行状态 top命令的功能是实时显示系统运行状态,包含处理器、内存、服务、进程等重要资产信息。运维工程师们常常会把top命令比作“加强版的Windows任务管理器”,因为除了能看到常规的服务进程信息之外,还能够对处理器和内存的负载情况一目了然,实时感知系统全局的运行状态。top命令非常适合作为接手服务器后执行的第一条命令。 top [参数] [对象] |-a: 按内存使用情况排序 |
|-b: 使用批处理模式,不进行交互式显示 |
|-c: 使用显示模式 |
|-d: 设置显示的更新速度 |
|-h: 显示帮助信息 |
|-i: 不显示任何闲置或僵死的行程 |
|-M: 显示内存单位 |
|-p: 仅显示指定进程ID |
|-s: 使用安全模式,不允许交互式指令 |
|-u: 仅显示与指定用户ID |
|-v: 使用线程模式 |
|-w: 设置显示的宽度 | 示例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 系统管理(system) 531 yum-complete-transaction yum-complete-transaction命令 – 尝试完成系统上不完整或中止的yum事务进程 yum-complete-transaction命令的作用是在系统上查找不完整或中止的yum事务进程并尝试完成它们。yum-complete-transaction命令需要通过安装相应的软件包才能运行。
如果发现多个未完成的事务,yum-complete-transaction命令将尝试首先完成最近的事务。可以通过多次运行yum-complete-transaction命令以清理所有未完成的事务。
由于yum-complete-transaction命令使用YUM仓库来检索所有信息,因此它依赖于YUM仓库配置的默认值。 yum-complete-transaction [参数] |-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: 在更新过程中启用废弃处理 | 示例1:
尝试完成系统上不完整或中止的yum进程:
[root@linuxcool ~]# yum-complete-transaction –cleanup-only
示例2:
显示详细的操作过程:
[root@linuxcool ~]# yum-complete-transaction -v
示例3:
完全在缓存中运行该命令:
[root@linuxcool ~]# yum-complete-transaction -C 系统管理(system) 532 ufw ufw命令 – 管理防火墙服务 ufw命令来自英文词组“Uncomplicated Firewall”的缩写,中文译为简单防火墙,其功能是用于管理防火墙服务。Linux系统早期使用的iptables防火墙由于完全基于命令行工作,操作参数及配置方法特别复杂,由此Ubuntu系统率先发布了这款基于iptables之上的全新、简单防火墙服务管理工具,ufw命令支持图形化界面操作,弥补了iptables防火墙只支持命令行配置的遗憾,使用起来也简单了不少。 ufw [参数] |allow: 允许通过 |
|deny: 禁止通过 |
|disable: 关闭防火墙 |
|enable: 启动防火墙 |
|logging: 启动或关闭日志 |
|reload: 重新加载 |
|reset: 重置配置 |
|status: 查看状态 |
|show REPORT: 显示报告 |
|verbose: 显示策略 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例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 系统管理(system) 533 lsb-release lsb_release命令 – 查看LSB版本信息 lsb_release命令来自英文词组“LinuxStandard Base release”的缩写,其功能是用于查看LSB版本信息,帮助Linux系统运维人员快速了解系统情况。 lsb_release [参数] |-a: 显示LSB所有信息 |
|-d: 显示系统名全称和版本号 |
|-i: 显示系统名简称 |
|-r: 显示版本号 | 示例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 系统管理(system) 534 userconf userconf命令 – 设置用户账号 userconf的命令全称是“user config”,该命令是用户账号设置程序。 userconf实际上为linuxconf的符号连接,提供图形界面的操作方式,供管理员建立与管理各类账号。若不加任何参数,即进入图形界面。 userconf [参数] |--addgroup<群组>: 新增群组 |
|--adduser<用户ID><群组><用户名称>: 新增用户账户 |
|--delgroup<群组>: 删除群组 |
|--deluser<用户ID>: 删除用户账号 |
|--help: 显示帮助 | 示例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 系统管理(system) 535 logger logger命令 – 系统日志记录 logger是一个shell命令接口,可以通过该接口使用Syslog的系统日志模块,还可以从命令行直接向系统日志文件写入一行信息。
logger记录器通过在系统日志中创建条目,为syslog系统日志模块提供了一个shell命令接口。 logger [参数] |-d: 使用数据报(UDP)而不是使用默认的流连接(TCP) |
|-i: 逐行记录每一次logger的进程ID |
|-f: 记录特定的文件 |
|-n: 写入指定的远程syslog服务器,使用UDP代替内装式syslog的例程 |
|-P: 使用指定的UDP端口,默认的端口号是514 |
|-s: 输出标准错误到系统日志 | 示例1:
往系统日志例程中写入,在/var/log/syslog中查看:
[root@linuxcool ~]# logger System Rebooted
示例2:
记录特定的文件:
[root@linuxcool ~]# logger -f /home/a.txt 系统管理(system) 536 atq atq命令 – 显示用户待执行任务列表 atq命令的作用是显示系统中待执行的任务列表。
任务列表中的任务由at命令和batch命令创建,显示内容包括任务号,任务计划执行的日期时间,任务分类和提交任务的用户。
如果是root用户运行atq命令,则显示系统所有用户的任务列表,如果是普通用户运行,则显示当前用户的任务列表。 atq [参数] |-V: 显示版本号 |
|-q: 查询指定队列的任务 | 示例1:
显示所有用户的待执行任务列表:
[root@linuxcool ~]# atq
示例2:
查询b队列中的待执行任务列表:
[root@linuxcool ~]# atq -q b 系统管理(system) 537 apmsleep apmsleep命令 – 进入暂停或待机模式,稍后唤醒 apmsleep命令是使计算机进入备用或者修复状态,一些计算机,特别是笔记本电脑,可以使用实时时钟(RTC)芯片从低功耗暂停模式唤醒到DRAM模式,Apmsleep可用于设置RTC中的警报时间,并进入暂停或待机模式。来自RTC的中断导致计算机唤醒。程序通过等待内核时间的跃迁来检测此事件,并成功终止。如果在一分钟内没有发生时间跃迁,或出现错误,则退出值将为非零。 apmsleep [参数] |-s: 进入休眠模式,关闭除内存以为的所有程序 |
|-S: 进入备用模式,关闭显示器、硬盘、CPU |
|-w: 等待时间跳 |
|-p: 等待警告时间与实际时间匹配 |
|-n: 不调用APM BIOS 来休眠电脑,只是设置警告脑中,等待时间跳的到来 |
|-d: 输出正在进行任务的信息 | 示例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 系统管理(system) 538 yumdownloader yumdownloader命令 – 从Yum存储库下载软件包 yumdownloader命令来自英文词组“Yum downloader”的拼写,其功能是用于从Yum存储库下载软件包。yumdownloader是一款简单、实用的命令行工具,Linux系统管理人员只需要告知其要下载的软件包名称,该命令便会自动分析出所对应的依赖关系,并将全部的软件包都下载到本地。 yumdownloader [参数] [软件包] |--archlist: 显示软件包的体系结构 |
|--destdir: 设置软件包的下载目录 |
|--resolve: 分析软件包的依赖关系并自动下载它们 |
|--source: 下载指定的源码包 |
|--urls: 显示要下载的URL | 示例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 系统管理(system) 539 netplan netplan命令 – 网络参数配置工具 netplan命令来自英文词组“Network Plan”的缩写,其功能是用于修改网卡信息,是一款网络参数配置工具。netplan命令主要用于Ubuntu及其衍生系统中,用户就无需再编辑网卡配置文件了,直接用命令就能配置网卡参数。 netplan [参数] |apply: 将当前配置应用到正在运行的系统中 |
|generate: 生成后台特定的配置文件 |
|info: 显示当前网络计划的版本和可用功能 |
|ip: 从系统中获取IP信息 | 示例1:
从系统中获取IP信息:
[root@linuxcool ~]#netplan ip
示例2:
显示当前网络计划的版本和可用功能:
[root@linuxcool ~]#netplan info
示例3:
将当前配置应用到正在运行的系统中:
[root@linuxcool ~]#netplan apply 系统管理(system) 540 xhost xhost命令 – X服务器访问控制工具 xhost命令来自英文词组”X-Windows host“的缩写,其功能是X服务器访问控制工具,运行xhost命令前需要先启动本地的X-windows图形界面服务。 xhost [参数] [域名或IP地址] |+: 允许指定的主机访问本地X服务器 |
|—: 禁止指定的主机访问本地X服务器 | 示例1:
显示当前X服务器上的授权配置:
[root@linuxcool ~]#xhost
示例2:
添加指定的IP地址为授权访问X服务器:
[root@linuxcool ~]#xhost + 192.168.10.10 系统管理(system) 541 yes yes命令 – 重复打印字符串 yes命令的作用是中输出指定的字符串,直到yes进程被杀死。不带任何参数输的yes命令默认的字符串就是y。 终止yes命令可以使用组合键ctrl+c
yes命令通常在脚本中使用,在脚本中可以对对命令和程序的确认提示和问题进行管道输出并回答提问(例如:你确认要删除这个文件吗,按’y’ or ‘n’)。 yes [字符串] |-- -help: 显示帮助信息 |
|-- -version: 显示命令版本信息 | 示例1:
重复打印一段字符:
[root@linuxcool ~]# yes linuxcoollinuxcoollinuxcoollinuxcoollinuxcoollinuxcoollinuxcoollinuxcoollinuxcool...^C //使用ctrl+c强制停止 系统管理(system) 542 clockdiff clockdiff命令 – 检测两台linux主机的时间差 在ip报文的首部和ICMP报文的首部都可以放入时间戳数据。 clockdiff 程序正是使用时间戳来测算目的主机和本地主机的系统时间差。 clockdiff [参数] [ip地址] |-o: 使用IP时间戳选项来测量系统时间差。时间戳只用3个 |
|-o1: 使用IP时间戳选项来测量系统时间差。用4个时间戳。如果-o和-o1都没有设置,那么就是用ICMP时间戳来测试系统时间差 | 示例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 系统管理(system) 543 ipcrm ipcrm命令 – 移除一个消息对象、共享内存段或信号集 ipcrm命令用来删除一个或更多的消息队列、信号量集或者共享内存标识。 ipcrm [参数] |-m: SharedMemory id 删除共享内存标识 SharedMemoryID |
|-M: SharedMemoryKey 删除用关键字 SharedMemoryKey 创建的共享内存标识 |
|-q: MessageID 删除消息队列标识 MessageID 和与其相关的消息队列和数据结构 |
|-Q: MessageKey 删除由关键字 MessageKey 创建的消息队列标识和与其相关的消息队列和数据结构 |
|-s: SemaphoreID 删除信号量标识 SemaphoreID 和与其相关的信号量集及数据结构 |
|-S: SemaphoreKey 删除由关键字 SemaphoreKey 创建的信号标识和与其相关的信号量集和数据结构 | 示例1:
删除和 SharedMemoryID 18163 相关的共享内存段:
[root@linuxcool ~]# ipcrm -m 18163
示例2:
删除和 MessageID 18163 相关的共享内存段:
[root@linuxcool ~]# ipcrm -q 18163 系统管理(system) 544 grpck grpck命令 – 验证文件的完整性 使用grpck命令检查数据是否正确存放,每条记录是否都包含足够的信息,是否有一个唯一的组名,是否包含正确的用户,是否正确设置了组的管理员等。grpck检查发现错误以后,在命令行提示用户是否删除错误的记录。如果用户没有明确回答删除记录,grpck终止运行。 grpck [参数] |-r: 只读模式 |
|-s: 排序组id | 示例1:
对组账号文件进行验证:
[root@linuxcool ~]# grpck /etc/group
示例2:
对影子文件进行验证:
[root@linuxcool ~]# grpck /etc/gshadow 系统管理(system) 545 mkkickstart mkkickstart命令 – 建立安装的组态文件 mkkickstart命令用于建立安装的组态文件。可根据目前系统的设置来建立组态文件,供其他电脑在安装时使用。组态文件的内容包括使用语言,网络环境,系统磁盘状态,以及X Windows的设置等信息。 mkkickstart [参数] |-bootp: 安装与开机时,使用BOOTP |
|-dhcp: 安装与开机时,使用DHCP |
|-nfs: 使用指定的网络路径安装 |
|-nonet: 不要进行网络设置,即假设在没有网络环境的状态下 |
|-nox: 不要进行X Windows的环境设置 |
|-version: 显示版本信息 | 示例1:
构建一个安装组态文件:
[root@linuxcool ~]# mkkickstart --nonet -bootp 系统管理(system) 546 brctl brctl命令 – 管理以太网网桥 brctl命令来自英文词组“bridge control”的缩写,其功能是用于管理以太网网桥。brctl命令能够设置、维护、检查Linux系统内核中的以太网网桥配置参数。 brctl [参数] [网桥名] |addbr: 创建网桥 |
|addif: 将网卡设备接入网桥 |
|delbr: 删除网桥 |
|delif: 删除网桥接入的网卡设备 |
|setfd: 设置网桥延迟 |
|show: 显示网桥信息 |
|showmacs: 显示网卡MAC信息 |
|showstp: 显示网桥STP信息 |
|stp: 设置网桥STP功能 | 示例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 系统管理(system) 547 glances glances命令 – 高层次的多子系统概览 Linux系统自带了很多系统性能监控工具,如top,vmstat,iftop等等,还有一款监视工具glances,它能把其他几个监控的指标都集于一身。Glances是一个相对比较新的系统监控工具,用 Python 编写的,使用 psutil 库从系统获取信息。可以用它来监控 CPU、平均负载、内存、网络接口、磁盘 I/O,文件系统空间利用率、挂载的设备、所有活动进程以及消耗资源最多的进程。Glances 有很多有趣的选项。它的主要特性之一是可以在配置文件中设置阀值(careful小心、warning警告、critical致命),然后它会用不同颜色显示信息以表明系统的瓶颈。 glances [参数] |-b: 显示网络连接速度 Byte/ 秒 |
|-s: 设置 glances 运行模式为服务器 |
|-B: 绑定服务器端 IP 地址或者主机名称 |
|-c: 连接 glances 服务器端 |
|-t: 设置屏幕刷新的时间间隔,单位为秒,默认值为 2 秒,数值许可范围:1~32767 | 示例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 系统管理(system) 548 sleep sleep命令 – 延迟当前命令的执行 sleep命令的功能是用于延迟当前命令的执行,达到所设置的时间后才会执行后续工作。 sleep [参数] |s: 秒数 |
|m: 分钟 |
|h: 小时 |
|d: 日期 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例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 系统管理(system) 549 xauth xauth命令 – 管理X服务器的访问授权 xauth命令来自英文词组“X authority”的缩写,其功能是用于管理X服务器的访问授权,能够显示和编辑用于连接X服务器的认证信息。 xauth [参数] [对象] |-b: 中断认证文件锁定 |
|-f: 使用指定认证文件 |
|-i: 忽略认证文件锁定 |
|-q: 静默执行模式 |
|-v: 显示执行过程详细信息 |
|add: 添加认证条目到认证文件中 |
|extract: 添加内容到密码文件中 |
|exit: 退出交互模式 |
|extract: 将内容写入指定的授权文件 |
|info: 显示授权文件相关信息 |
|list: 显示指定的显示设备内容 |
|merge: 合并多个授权文件内容 |
|nmerge: 将内容写入指定的授权文件 |
|remove: 删除指定设备的授权条目 |
|source: 读取包含xauth的内容指令 | 示例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> 系统管理(system) 550 setsebool setsebool命令 – 修改布尔值 setsebool命令是用来修改SElinux策略内各项规则的布尔值。 setsebool [参数] |-P: 直接将设置值写入配置文件,该设置数据将来会生效的 | 示例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 系统管理(system) 551 sosreport sosreport命令 – 收集并打包诊断和支持数据 sosreport命令从正在运行的系统生成配置和诊断信息的存档。存档文件可以存储在本地或集中,以便记录或跟踪,也可以发送给技术支持代表、开发人员或系统管理员,以帮助进行技术故障查找和调试。 sosreport [参数] |-l: 列出所有可用的插件及其选项 |
|-n: 禁用指定的插件 |
|-e: 启用指定的插件 |
|-a: 对于所有的插件启用,将所有布尔选项设置为True |
|-v: 增加日志记录的详细程度 |
|--no-report: 禁用HTML报告写入 |
|--config-file CONFIG: 指定备用配置文件 | 示例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 系统管理(system) 552 lshw lshw命令 – 查看硬件设备信息 lshw命令来自英文词组“list hardware”的缩写,其功能是用于查看硬件设备信息。lshw命令能够显示Linux系统中的内存配置、固件版本、主板配置、CPU版本和速度、总线速度等丰富的硬件设备信息。 lshw [参数] |-C: 设置设备类型 |
|-X: 启动图形界面 |
|-businfo: 显示总线相关信息 |
|-enable test: 启动测试模式 |
|-html: 使用html格式输出结果 |
|-help: 显示帮助信息 |
|-json: 使用json格式输出结果 |
|-numeric: 显示设备的数字ID |
|-quiet: 静默执行模式 |
|-short: 使用简要信息模式 |
|-sanitize: 移除敏感信息 |
|-version: 显示版本信息 |
|-xml: 使用xml格式输出结果 | 示例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
………………省略部分输出信息……………… 系统管理(system) 553 id id命令 – 显示用户与用户组信息 id命令的功能是显示用户与用户组信息。UID是用户身份的唯一识别号码,相当于我们的身份证号码,而GID则是用户组的唯一识别号码。用户仅有一个基本组,但可以有多个扩展组。 id [参数] [用户名] |-g: 显示用户所属基本组的ID(GID) |
|-G: 显示用户所属扩展组的ID(GID) |
|-n: 显示用户所属基本组或扩展组的名称 |
|-u: 显示用户的ID(UID) |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例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) 系统管理(system) 554 ldconfig ldconfig命令 – 动态链接库管理命令 ldconfig命令的作用主要是在默认搜寻目录/lib和/usr/lib以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库,进而创建出动态装入程序(ld.so)所需的连接和缓存文件。
缓存文件默认为/etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表,为了让动态链接库为系统所共享,需运行动态链接库的管理命令ldconfig,此执行程序存放在/sbin目录下。
ldconfig通常在系统启动时运行,而当用户安装了一个新的动态链接库时,就需要手工运行这个命令。 ldconfig [参数] |-v: 显示正在扫描的目录及搜索到的动态链接库以及所创建的连接的名字 |
|-n: 仅扫描命令行指定的目录,不扫描默认目录,也不扫描配置文件所列的目录 |
|-N: 不重建缓存文件 |
|-X: 不更新文件的连接 |
|-f : 指定动态链接库的配置文件为CONF,系统默认为/etc/ld.so.conf |
|-C: 指定生成的缓存文件为CACHE,系统默认的是/etc/ld.so.cache |
|-r: 改变应用程序的根目录为ROOT |
|-l: 进入专家模式手工设置连接 |
|-p: 打印出当前缓存文件所保存的所有共享库的名字 |
|-c: 指定缓存文件所使用的格式 |
|-V: 打印出ldconfig的版本信息,而后退出 |
|-- -help: 打印出其帮助信息,而后退出 | 示例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 系统管理(system) 555 virsh virsh命令 – 管理虚拟机系统 virsh命令来自英文词组“virtualization shell”的缩写,中文译为虚拟化终端,其功能是用于管理虚拟机系统,主要应用于Xen、QEMU、KVM、LXC、OpenVZ、VirtualBox和VMware ESX。
virsh是用于管理虚拟化环境中客户机和Hypervisor的命令行工具,是libvirt项目中的开源软件,使用起来与virt-manager命令十分类似,它们都是系统管理员通过脚本程序实现虚拟化自动部署和管理的理想工具之一。 virsh [参数] [对象] |capablilities: 显示客户端特征信息 |
|destroy: 强行关闭或毁坏机器 |
|dominfo: 显示客户机硬件信息 |
|list --all: 显示客户虚拟机的数量 |
|net-list: 显示客户端所有网络信息 |
|nodecpustats: 显示客户端监控程序的CPU信息 |
|nodememstats: 显示服务器的内存信息 |
|nodeinfo: 显示服务器详细信息 |
|node-memory-tune: 显示客户端内存信息 |
|reboot: 重启虚拟机 |
|start: 启动虚拟机 |
|shutdown: 关闭虚拟机 | 示例1:
获取服务器主机的内存信息:
[root@linuxcool ~]#virsh nodememstats
示例2:
获取客户端虚拟机监控程序的CPU信息:
[root@linuxcool ~]#virsh nodecpustats
示例3:
获取客户端虚拟机的数量信息:
[root@linuxcool ~]#virsh list --all
示例4:
获取可用于客户端的所有网络信息:
[root@linuxcool ~]#virsh net-list 系统管理(system) 556 bg bg命令 – 将作业放到后台运行 bg命令来自英文单词“background”的缩写,中文译为“背景、后台”,其功能是用于将作业放到后台运行。在Linux系统终端中执行命令时,如遇到备份、打包、下载等长时间的任务,就会很长一段时间占用宝贵的终端执行界面,无法执行其他任务。而bg命令则可以将指定的命令任务放到系统后台去执行,使得终端界面可以继续其他工作,效果等同于“命令 &”的执行效果。 bg [参数] |数字: 指定需要放到后台的作业标识号 | 示例1:
将指定标识的任务放到后台继续执行:
[root@linuxcool ~]#bg 1
示例2:
扩展知识:执行指定任务,并将其放到后台执行:
[root@linuxcool ~]#tar czvf File.tar.gz /Dir/www & 系统管理(system) 557 pstree pstree命令 – 以树状图形式显示进程信息 pstree命令来自英文词组“display a tree of processes”的缩写,其功能是用于以树状图形式显示进程信息,帮助管理员更好地了解进程间的关系。Linux系统中常用ps命令查看进程状态信息,但是却无法了解进程之间的依赖关系,哪个是父进程,哪个是子进程?这些信息则可通过pstree命令进行查看。 pstree [参数] |-a: 显示完整信息 |
|-A: 使用ASCII字符绘制树 |
|-c: 不使用精简标示法 |
|-g: 显示进程组ID |
|-G: 使用VT100终端机的列绘图字符 |
|-h: 特别标明现在执行的程序 |
|-I: 使用长格式显示树状图 |
|-n: 依据PID排序上下级进程 |
|-s: 显示指定进程的父进程 |
|-S: 显示命名空间转换 |
|-p: 显示进程号码 |
|-u: 显示用户名 |
|-U: 使用UTF-8线条绘制字符 |
|-V: 显示版本信息 |
|-Z: 显示每个进程的安全上下文 | 示例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
………………省略部分输出信息……………… 系统管理(system) 558 adduser adduser命令 – 创建用户 adduser命令的功能是创建用户。adduser实际上并不是一个真正的命令,而仅仅是useradd的一别名命令,因此这两个命令的使用方法完全相同。 adduser [参数] [用户名] |-c: 设置备注文件 |
|-d: 设置家目录 |
|-D: 变更默认值 |
|-e: 设置用户的使用期限 |
|-f: 设置在密码过期多少天后即关闭该用户 |
|-g: 设置用户所属的基本组 |
|-G: 设置用户所属的扩展组 |
|-h: 显示帮助信息 |
|-k: 设置家目录内初始化文件 |
|-l: 不将用户信息加入最近登录与登录失败数据库中 |
|-M: 不要创建用户的登录目录 |
|-n: 不要创建与用户同名的组 |
|-o: 允许重复创建相同UID的用户 |
|-r: 建立系统用户 |
|-s: 设置用户登录后所使用的shell |
|-u: 设置用户ID值 |
|-U: 创建与用户同名的组 |
|-Z: 设置登录时映射的SELinux用户 | 示例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 系统管理(system) 559 runlevel runlevel命令 – 显示系统的运行级 runlevel命令是读取/var/run/utmp/文件或指定的其他文件,检索其中最近的运行级记录,显示系统先前与当前的运行级
如果运行级记录中没有先前的运行级,则使用字符N表示先前的运行级。如果找不到运行级记录,runlevel将会输出一条表示不知道的错误信息,然后退出,返回一个非0的结束状态 runlevel [参数] |q: 禁止输出任何运行级信息,遇到问题时也不输出错误信息 |
|--help: 显示命令的用法与概述等帮助信息 |
|--version: 显示命令的版本等信息 | 示例1:
显示系统先前与当前的运行级:
[root@linuxcool ~]# runlevel 系统管理(system) 560 mandb mandb命令 – 创建或更新手册页索引缓存 mandb命令用于初始化或手动更新通常由man维护的索引数据库缓存,缓存包含与手动页面系统的当前状态相关的信息,其中存储的信息由man db实用程序用于提高其速度和功能。 mandb [参数] |-d: 打印调试信息 |
|-q: 不发出警告 |
|-s: 不花时间查找或向数据库添加有关stray cats的信息 |
|-p: 不花时间检查删除的手册页并从数据库中清理它们 |
|-u: 只创建用户数据库,即使有创建系统数据库所需的写权限 |
|-C <文件>: 使用此用户配置文件代替默认的 ~/.manpath | 示例1:
更新top命令手册页索引缓存:
[root@linuxcool ~]# mandb top
示例2:
使用-d参数,打印调试信息:
[root@linuxcool ~]# mandb -d unzip
示例3:
使用-u参数,只创建用户数据库,即使有创建系统数据库所需的写权限:
[root@linuxcool ~]# mandb -d net-tools 系统管理(system) 561 localectl localectl命令 – 控制系统的本地化与键盘布局 localectl命令可用于查询与修改系统的本地化(locale)与键盘布局的设置。 它通过与systemd-localed.service通信来修改例如 /etc/locale.conf 与 /etc/vconsole.conf 之类的配置文件。本地化设置控制着 用户界面的语言、字符类型与字符编码、 日期时间与货币符号的表达方式 等许多细节。 localectl [参数] |--no-ask-password: 在执行特权操作时不向用户索要密码 |
|-H: 操作指定的远程主机 |
|--no-pager: 不将程序的输出内容管道(pipe)给分页程序 |
|status: 显示当前的本地化设置与键盘映射 |
|set-locale LOCALE: 设置系统的本地化环境变量 | 示例1:
使用localectl命令设置系统的本地化字符集环境变量:
[root@linuxcool ~]# localectl set-locale LANG=en_US.UTF-8
示例2:
显示当前的本地化设置与键盘映射:
[root@linuxcool ~]# localectl status
示例3:
列出本地所有字符集:
[root@linuxcool ~]# localectl list-locales 系统管理(system) 562 pwunconv pwunconv命令 – 关闭投影密码 pwunconv命令与pwconv功能相反,用来关闭用户的投影密码。它会把密码从shadow文件内,重回存到passwd文件里。 pwunconv [参数] |-h: 显示帮助信息 |
|-R: 在chroot_dir目录中应用更改并使用来自chroot_dir目录的文件配置 | 示例1:
关闭影子密码:
[root@linuxcool ~]# pwunconv 系统管理(system) 563 grpunconv grpunconv命令 – 关闭群组的投影密码 grpunconv命令关闭群组的投影密码, 执行grpunconv指令可关闭群组投影密码,它会把密码从gshadow文件内,回存到group文件里。 grpunconv 示例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: 系统管理(system) 564 groupadd groupadd命令 – 创建新的用户组 groupadd命令的功能是创建新的用户组。每个用户在创建时都有一个与其同名的基本组,后期可以使用groupadd命令创建出新的用户组信息,让多个用户加入指定的扩展组,从而为后续的工作提供了良好的文档共享环境。 groupadd [参数] [用户组] |-f: 若用户组已存在,则以成功状态退出 |
|-g: 设置用户组ID |
|-h: 显示帮助信息 |
|-K: 覆盖配置文件/etc/login.defs |
|-p: 设置用户组密码 |
|-r: 创建系统用户组 | 示例1:
创建一个新的用户组:
[root@linuxcool ~]# groupadd linuxprobe
示例2:
创建一个新的用户组,并指定用户组ID:
[root@linuxcool ~]# groupadd -g 6688 linuxprobe
示例3:
创建一个新的用户组,设定为系统工作组:
[root@linuxcool ~]# groupadd -r linuxprobe 系统管理(system) 565 nfsstat nfsstat命令 – 列出NFS统计信息 nfsstat命令显示关于nfs客户机和服务器活动的统计信息。 nfsstat [参数] |-s: 仅列出NFS服务器端状态 |
|-c: 仅列出NFS客户端状态 |
|-n: 仅列出NFS状态,默认显示nfs客户端和服务器的状态 |
|-m: 打印以加载的nfs文件系统状态 |
|-r: 仅打印rpc状态 | 示例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 系统管理(system) 566 logout logout命令 – 退出系统 logout指令让用户退出系统,其功能和login指令相互对应。 logout [参数] |--help: 在线帮助 |
|--vesion: 显示版本信息 | 示例1:
退出系统:
[root@linuxcool ~]# logout 系统管理(system) 567 package-cleanup package-cleanup命令 – 清理本地安装的RPM软件包 package-cleanup 清理本地安装的、重复的或孤立的的RPM软件包,这是一个只对RPM有用的工具,Ubuntu 之类的无法使用。 package-cleanup [参数] |-c: 使用备用配置文件(默认为/etc/yum.conf) |
|-y: 同意任何要求 |
|–leaves: 列出与其他RPM没有依赖关系的软件包 |
|–orphans: 列出当前软件仓库中不再提供支持的本地已安装的软件包 |
|–oldkernels: 删除旧内核文件(kernel, kernel-devel) |
|–problems: 列出有依赖问题的软件包 |
|–dupes: 扫描重复安装的RPM软件包 |
|–cleandupes: 扫描重复安装的软件包,并删除老版本的软件包 | 示例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 系统管理(system) 568 journalctl journalctl命令 – 查看指定的日志信息 journalctl命令来自英文词组journal control的缩写,其功能是查看指定的日志信息。在RHEL 7/CentOS7及以后版本的Linux系统中,systemd服务统一管理了所有服务的启动日志,带来的好处就是可以只用journalctl一个命令来查看全部的日志信息了。 journalctl [参数] [对象] |-a: 显示所有字段信息 |
|-b: 显示本次系统启动的日志信息 |
|-c: 从指定位置开始显示条目 |
|-D: 设置目录路径 |
|-f: 追踪日志内容 |
|-k: 显示内核日志 |
|-m: 显示所有可用日志 |
|-n: 设置日志条数 |
|-p: 依据优先级筛选 |
|-q: 静默执行模式 |
|-r: 反选内容后再显示 |
|-u: 显示指定服务的日志 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例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)
………………省略部分输出信息……………… 系统管理(system) 569 chsh chsh命令 – 更改使用者shell设定 chsh用于更改登录shell;如果命令行上没有给定shell,chsh将提示输入一个shell。
chsh命令本身并不复杂,它的功能比较单一,就是负责查看(显示)和修改我们系统的登录 Shell;想修改登录 Shell,首先要知道我们的系统安装了哪些 Shell。
chsh仅用于更改本地条目;对非本地条目使用ypchsh、lchsh或任何其他实现。 chsh [参数] |-l: 打印/etc/shells中列出的shell列表并退出 |
|-s: 指定登录shell |
|-u: 打印使用信息并退出 | 示例1:
使用-l参数 打印/etc/shells中列出的shell:
[root@linuxcool ~]# chsh -l
示例2:
通过 -s [参数]改变当前的shell设置:
[root@linuxcool ~]# chsh -s /bin/csh 系统管理(system) 570 groups groups命令 – 显示用户组信息 groups命令来自英文单词“群组”,其功能是用于显示用户组信息。Linux系统中的用户组信息保存在/etc/group文件中,使用groups命令能够查看到当前用户或指定用户的群组信息,方便好用。 groups [参数] [用户组名] |--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例1:
显示当前用户所对应的群组信息:
[root@linuxcool ~]#groupsroot
示例2:
显示指定用户所对应的群组信息:
[root@linuxcool ~]#groups linuxprobelinuxprobe : linuxprobe 系统管理(system) 571 restorecon restorecon命令 – 恢复文件安全上下文 restorecon命令来自英文词组“restore config”的缩写,其功能是用于恢复文件安全上下文。安全上下文是SELinux安全子系统中重要的安全控制策略,在Linux系统中一切都是文件,而SELinux安全子系统中则一切皆对象,所有的文件、系统端口和进程都具备安全上下文策略。
一般情况下使用cp命令对文件进行复制操作后,新的文件不会保留原始属性(除非加了-p参数),亦或是使用semanage命令对文件的安全上下文策略进行修改后,都需要使用restorecon命令让新的安全上下文值生效。 restorecon [参数] [文件或目录名] |-e: 设置要排除的目录 |
|-f: 设置要处理的文件 |
|-F: 强制恢复文件安全策略而不询问 |
|-i: 忽略不存在的文件 |
|-n: 不改变文件标签 |
|-o: 将设置失败的文件名列表写入到文件 |
|-R: 递归处理所有子文件 |
|-v: 显示执行过程详细信息 | 示例1:
对指定的文件进行恢复操作,并显示过程信息:
[root@linuxcool ~]#restorecon -v /Dir/File.txt
示例2:
对指定的目录进行恢复操作:
[root@linuxcool ~]#restorecon -R /Dir 系统管理(system) 572 ssh-agent ssh-agent命令 – ssh密钥管理器 ssh-agent命令是一种控制用来保存公钥身份验证所使用的私钥的程序。ssh-agent在X会话或登录会话之初启动,所有其他窗口或程序则以客户端程序的身份启动并加入到ssh-agent程序中。通过使用环境变量,可定位代理并在登录到其他使用ssh机器上时使用代理自动进行身份验证。
其实ssh-agent就是一个密钥管理器,运行ssh-agent以后,使用ssh-add将私钥交给ssh-agent保管,其他程序需要身份验证的时候可以将验证申请交给ssh-agent来完成整个认证过程。 ssh-agent [参数] |-a bind_address: 将代理绑定到Unix域套接字绑定地址 |
|-d: 调试模式 |
|-k: 把ssh-agent进程杀掉 |
|-s: 生成Bourne shell 风格的命令输出 | 示例1:
运行ssh-agent,打印本身的环境和变量:
[root@linuxcool ~]# ssh-agent
示例2:
使用-d参数,运行调试模式:
[root@linuxcool ~]# ssh-agent -d
示例3:
使用-k参数杀掉ssh-agent进程:
[root@linuxcool ~]# ssh-agent -k 系统管理(system) 573 clear clear命令 – 清除终端界面已有内容 clear命令来自英文单词,中文译为“清理”,其功能是用于清除终端界面已有内容。执行clear命令后终端界面会向后翻一页,实现了“清除”当前屏幕上已有内容的效果,等同于快捷键“Ctrl+c”的效果。 clear [参数] |--help: 显示帮助信息 |
|--vesion: 显示版本信息 | 示例1:
清除终端界面已有内容:
[root@linuxcool ~]#clear 系统管理(system) 574 lssubsys lssubsys命令 – 列出包含指定子系统的层次结构 lssubsys命令的作用是可以列出包含指定子系统的层次结构。
如果未定义子系统,那么将显示所有已安装的层次结构。不带任何参数直接执行lssubsys命令效果等同于带参数-a。 lssubsys [参数] |-i: 如果子系统处于层次结构,则显示连接的层次数 |
|-m: 显示挂载点 |
|-a: 显示所有的子系统(包括没有挂载的) | 示例1:
查看所有支持的子系统:
[root@linuxcool ~]# lssubsys -a
示例2:
查看所有子系统挂载点:
[root@linuxcool ~]# lssubsys -m
示例3:
查看单个子系统(如memory)挂载位置:
[root@linuxcool ~]# lssubsys –m memory
memory 系统管理(system) 575 exec exec命令 – 调用并执行指定的命令 exec命令来自英文单词execute的缩写,其功能是用于调用并执行指定的命令,亦可将前一个命令的输出结果作为后一个命令的标准输入值进行二次处理,功能类似于管道符。 exec [参数] [命令] |-c: 执行指定的命令 | 示例1:
调用并执行指定的命令:
[root@linuxcool ~]#exec -c reboot
示例2:
结合文件搜索命令,找到所有属于某个用户的文件,并将其复制到指定目录中:
[root@linuxcool ~]#find / -user linuxprobe -exec cp -Ra {} /Dir \; 系统管理(system) 576 fgconsole fgconsole命令 – 显示活动的虚拟终端数量 fgconsole命令的作用是可以显示活动的虚拟终端数量。
如果活动的虚拟终端为/dev/ttyN,则在标准输出上显示N。 如果控制台是串行控制台,则打印“serial”。
如果当前进程有控制终端的话,那么/dev/tty就是当前进程的控制终端的设备特殊文件。可以使用命令”ps –ax”来查看进程与哪个控制终端相连。对于你登录的shell,/dev/tty就是你使用的终端,设备号是(5,0)。使用命令”tty”可以查看它 具体对应哪个实际终端设备。/dev/tty有些类似于到实际所使用终端设备的一个联接。 fgconsole [参数] |-n: 将显示下一个未分配的虚拟终端。正常情况下分配6个虚拟终端,7号用于X |
|-h: 帮助命令 |
|-V: 版本 | 示例1:
显示活动的虚拟终端数量:
[root@linuxcool ~]# fgconsole
示例2:
显示下一个未分配的虚拟终端:
[root@linuxcool ~]# fgconsole -n
示例3:
查询命令版本:
[root@linuxcool ~]# fgconsole -V 系统管理(system) 577 swatch swatch命令 – 用于系统监控 swatch可用来监控系统记录文件,并在发现特定的事件时,执行指定的动作。使用之前需要预设swatch的配置文件”.swatchrc”。可以根据需求修改”.swatchrc”文件来监控事件及执行的动作。 swatch [参数] |-A: 预设配置文件中,动作的分隔字符,预设为逗号 |
|-c: 指定配置文件,而不使用预设的配置文件 |
|-f: 检查指定的记录文件,检查完毕后不会继续监控该记录文件 |
|-I: 指定输入记录的分隔字符,预设为换行字符 |
|-P: 指定配置文件中,事件的分隔字符,预设为逗号 |
|-r: 在指定的时间重新启动 |
|-t: 检查指定的记录文件,并且会监控加入记录文件中的后继记录 | 示例1:
开启系统监控:
[root@linuxcool ~]# swatch
示例2:
选定”abc.conf”配置文件(请注意文件路径),执行将日志写入到”/var/log/secure.1″:
[root@linuxcool ~]# swatch -c /root/abc.conf --examine=/var/log/secure.1 系统管理(system) 578 loginctl loginctl命令 – 控制systemd登录管理器 loginctl命令可用于检查和控制systemd的状态;查看已经登录的用户会话消息。 loginctl [参数] |-a: 显示会话/用户/座位属性时,显示所有属性,无论是否设置 |
|list-users: 显示用户名与ID |
|list-sessions: 显示会话配置信息 |
|-M: 在本地容器上执行操作 | 示例1:
显示所有会话及属性:
[root@linuxcool ~]# loginctl -a
示例2:
显示会话配置消息:
[root@linuxcool ~]# loginctl show-session 系统管理(system) 579 compgen compgen命令 – 列出所有Linux命令 compgen一个很棒的命令列出所有Linux命令,compgen是bash内置命令,它将显示所有可用的命令,别名和函数。 compgen [参数] |-c: 列出所有可用的命令 |
|-a: 列出可用的所有bash shell别名 |
|-b: 显示所有bash内置插件 |
|-k: 显示所有bash关键字 |
|-A: 显示所有bash函数 | 示例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 系统管理(system) 580 ip6tables-save ip6tables-save命令 – 保存ip6tables表配置 ip6tables-save命令用来保存ip6tables表配置。 ip6tables-save [参数] |-c: 指定要保存的iptables表时,保存当前的数据包计算器和字节计数器的值 |
|-t: 指定要保存的表的名称 | 示例1:
指定要保存的iptables表时,保存当前的数据包计算器和字节计数器的值:
[root@linuxcool ~]# ip6tables-save -c > ip6tables.bak
示例2:
指定要保存的表的名称:
[root@linuxcool ~]# ip6tables-save -t filter > filter.bak 系统管理(system) 581 pgrep pgrep命令 – 检索进程PID号码 pgrep命令来自英文词组“process global regular expression print”的缩写,其功能是用于检索进程PID号码。与pidof命令必须准确输入服务名称不同,pgrep命令通过正则表达式进行检索,因此用户只需要输入服务名称中的一部分即可进行搜索操作,对于不记得全名的服务程序特别好用。 pgrep [参数] [服务名称] |-d: 设置号码之间的间隔符 |
|-f: 匹配进程名 |
|-g: 匹配进程组ID |
|-h: 显示帮助信息 |
|-I: 显示进程名及ID |
|-n: 选择最近执行的进程 |
|-o: 选择最早执行的进程 |
|-P: 匹配父进程ID |
|-t: 匹配终端号 |
|-u: 匹配有效用户ID |
|-v: 反选结果,显示不符合条件的 |
|-V: 显示版本信息 |
|-x: 显示完全符合条件的 | 示例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 系统管理(system) 582 setenforce setenforce命令 – 设置SELinux服务状态 setenforce命令来自英文词组“set enforce”的拼写,其功能是用于设置SELinux服务状态。SELinux服务是Linux系统中重要的安全子系统,用于规范服务程序只能获取自身所需的资源——如文件或端口号等,防止权限外溢,提高安全性。 setenforce [1或0] |0: 宽容允许模式(permissive) |
|1: 强制禁止模式(enforcing) | 示例1:
设置SELinux服务为强制禁止模式:
[root@linuxcool ~]#setenforce 1
示例2:
设置SELinux服务为宽容允许模式:
[root@linuxcool ~]#setenforce 0 系统管理(system) 583 vnstat vnstat命令 – 查看网卡流量使用情况 vnstat命令的功能是用于查看网卡流量使用情况,是一个基于控制台的网络流量监控器。使用vnstat命令能够按照每小时、每天、每月的时间跨度查看Linux系统中网卡流量使用情况,由于这些数据实际并不是由vnstat命令保存的,而是读取的proc目录内系统记录的流量信息,因此即便运维人员没有root管理员身份,也是可以用该命令查看到系统流量统计情况信息的。 vnstat [参数] [对象] |-d: 按天 |
|-h: 按小时 |
|-i: 指定网卡 |
|-l: 实时流量 |
|-m: 按月份 |
|-q: 查询数据 |
|-ru: 交换速率 |
|-s: 简要信息模式 |
|-tr: 计算流量 |
|-u: 更新数据库 |
|-v: 显示版本信息 |
|-w: 按周 |
|-?: 显示帮助信息 | 示例1:
查询指定网卡的流量使用情况:
[root@linuxcool ~]#vnstat -i eth0
示例2:
更新数据库后查看今天的流量使用情况:
[root@linuxcool ~]#vnstat -d
示例3:
更新数据库后查看本月的流量使用情况:
[root@linuxcool ~]#vnstat -m
示例4:
查看当前实时流量情况:
[root@linuxcool ~]#vnstat -l 系统管理(system) 584 ulimit ulimit命令 – 限制使用系统资源 ulimit命令来自英文词组“user limit”的缩写,是一条bash解释器的内部命令,其功能是用于限制使用系统资源。通过使用ulimit命令能够限制用户最大启动进程数、最长CPU使用时长、最高内存占用量等资源,提高整体服务器的运行稳定性,让每位用户都可以充分、合理、公平地利用系统资源。 ulimit [参数] [对象] |-a: 显示当前全部的限制信息 |
|-d: 设置每个进程最大数据段大小(KB) |
|-f: 设置每个进程最大创建文件大小(KB) |
|-H: 设置硬资源限制,超过就不可再使用 |
|-l: 设置最大可加锁的内存值大小(KB) |
|-m: 设置最大使用内存大小(KB) |
|-n: 设置每个进程最多打开文件个数(个) |
|-p: 设置管道缓冲区大小(KB) |
|-s: 设置线程栈大小(KB) |
|-S: 设置软资源限制,超过还可以使用 |
|-t: 设置CPU使用时长的上限(秒) |
|-u: 设置用户最多可开启的程序数量(个) |
|-v: 设置用户最大可使用的内容上限(KB) | 示例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 系统管理(system) 585 rwho rwho命令 – 查看系统用户 rwho指令的效果类似who指令,但它会显示局域网里所有主机的用户。主机必须提供rwhod常驻服务的功能,方可使用rwho指令。 rwho [参数] |-a: 列出所有的用户,包括闲置时间超过1个小时以上的用户 | 示例1:
显示本地局域网内的所有用户 :
[root@linuxcool ~]# rwho 系统管理(system) 586 fwhois fwhois命令 – 查找并显示用户信息 fwhois的功能有点类似finger指令,它会去查找并显示指定帐号的用户相关信息。不同之处在于fwhois指令是到Network Solutions的WHOIS数据库去查找,该帐号名称必须有在上面注册才能寻获,且名称没有大小写的差别。 fwhois [用户] 示例1:
查找root用户的信息:
[root@linuxcool ~]# fwhois root 系统管理(system) 587 systemctl systemctl命令 – 管理系统服务 systemctl命令来自英文词组system control的缩写,其功能是管理系统服务。从RHEL 7/CentOS7版本起,初始化进程服务init被替代为systemd服务,systemd初始化进程服务的管理是通过systemctl命令完成的,该命令涵盖了service、chkconfig、init、setup等多个命令的大部分功能。 systemctl [参数] [动作] [服务名] |-a: 显示所有单位 |
|-f: 覆盖任何冲突的符号链接 |
|-H: 设置要连接的主机名 |
|-M: 设置要连接的容器名 |
|-n: 设置要显示的日志行数 |
|-o: 设置要显示的日志格式 |
|-r: 显示本地容器的单位 |
|-s: 设置要发送的进程信号 |
|-t: 设置单元类型 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例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 系统管理(system) 588 pwconv pwconv命令 – 开启用户的投影密码 pwconv命令用来开启用户的投影密码。Linux系统里的用户和群组密码,分别存放在名称为passwd和group的文件中, 这两个文件位于/etc目录下。因系统运作所需,任何人都得以读取它们,造成安全上的破绽。投影密码将文件内的密码改存在/etc目录下的shadow和gshadow文件内,只允许系统管理者读取,同时把原密码置换为”x”字符,有效的强化了系统的安全性。 pwconv [参数] |-h: 显示帮助信息 |
|-R: 在chroot_dir目录中应用更改并使用来自chroot_dir目录的文件配置 | 示例1:
开启用户的投影密码:
[root@linuxcool ~]# pwconv
示例2:
查看已经开启投影密码的用户linuxcool:
[root@linuxcool ~]# cat /etc/passwd | grep linuxcool
linuxcool:x:3001:3001::/home/linuxcool:/bin/sh 系统管理(system) 589 at at命令 – 一次性定时计划任务 at命令的功能是用于设置一次性定时计划任务,是Linux系统中常用的计划任务工具之一,会以atd守护进程的形式在后台模式运行。对比crond周期性计划任务服务程序来讲,at命令的特点就是计划任务的一次性特征,一旦设置的计划任务被执行,则该任务就会被从任务列表库中删除,因此常被用于仅需执行一次的工作。 at [参数] [对象] |-b: 设置批处理命令的别名 |
|-c: 显示指定任务的内容 |
|-d: 删除系统中的等待任务 |
|-f: 将指定文件提交等待任务 |
|-l: 显示系统中的全部任务 |
|-m: 任务完成后给用户发邮件 |
|-M: 从不向用户发邮件 |
|-q: 使用指定的队列 |
|-r: 删除指定的任务作业 |
|-t: 以时间的形式提交运行任务 |
|-v: 显示任务将被执行的时间 |
|-V: 显示版本信息 | 示例1:
查看系统中的等待任务作业:
[root@linuxcool ~]#at -l
示例2:
删除系统中指定编码为1的计划任务作业:
[root@linuxcool ~]#at -r 1
示例3:
使用计划任务立即执行某指定脚本文件:
[root@linuxcool ~]#at -f File.sh now
示例4:
使用计划任务设置25分钟后执行某指定脚本文件:
[root@linuxcool ~]#at -f File.sh now+25 min
示例5:
使用计划任务设置今天10:11分准时执行某指定脚本文件:
[root@linuxcool ~]#at -f File.sh 10:11
示例6:
使用计划任务设置在2024年5月18日准时执行某脚本文件:
[root@linuxcool ~]#at -f File.sh 05/18/2024 系统管理(system) 590 gpasswd gpasswd命令 – 设置管理用户组 gpasswd命令来自英文词组group password的缩写,其功能是设置管理用户组。用户可以使用gpasswd命令对用户组进行充分的管理,例如设置/删除密码、添加/删除组成员、设置组管理员/普通成员等,提高日常工作中对用户组的管理效率。 gpasswd [参数] [用户组名] |-a: 添加用户到指定组 |
|-A: 设置管理员 |
|-d: 从组中删除用户 |
|-r: 删除组密码 |
|-R: 限制用户登入组 | 示例1:
将指定用户加入到root管理员用户组:
[root@linuxcool ~]# gpasswd -a linuxprobe root
Adding user linuxprobe to group root
示例2:
将指定用户从root管理员用户组中删除:
[root@linuxcool ~]# gpasswd -d root linuxprobe
Removing user root from group linuxprobe
示例3:
为指定用户组设置管理密码:
[root@linuxcool ~]# gpasswd root
Changing the password for group root
New Password: 输入组管理密码
Re-enter new password: 再次输入组管理密码
示例4:
删除指定用户组中的管理密码:
[root@linuxcool ~]# gpasswd -r root 系统管理(system) 591 ssh-copy-id ssh-copy-id命令 – 复制SSH公钥到远程主机 ssh-copy-id命令来自英文词组ssh copy id,其功能是将本地生成的SSH公钥信息复制到远程主机。通常情况下,运维人员会先使用ssh-keygen命令生成SSH密钥对(公钥/私钥)文件,随后使用ssh-copy-id命令将公钥文件复制到远程主机上,这样操作后,再进行远程SSH访问时将无须进行账号密码验证,而是通过密钥方式登录。 ssh-copy-id [参数] [域名或IP地址] |-f: 强制复制而不询问 |
|-i: 设置公钥文件路径 |
|-p: 设置使用的端口号 | 示例1:
将SSH公钥文件复制到远程主机:
[root@linuxcool ~]# ssh-copy-id 192.168.10.10
The authenticity of host '192.168.10.10 (192.168.10.10)' can't be established.
ECDSA key fingerprint is SHA256:212/FhZ+6JFs5psuMJx9+5alyW6QDzviE0miulDPiKk.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@192.168.10.10's password: 此处输入远程主机管理员密码
Number of key(s) added: 1
Now try logging into the machine, with: "ssh '192.168.10.10'"
and check to make sure that only the key(s) you wanted were added. 系统管理(system) 592 whoami whoami命令 – 显示当前用户名 whoami命令来自于英文词组”Who am i“的拼写,中文译为”我是谁“,其功能是用于显示当前用户名。whoami命令执行后会输出当前登录的用户身份名称,相当于执行了”id -un“命令。 whoami [参数] |--help: 在线帮助 |
|--version: 显示版本信息 | 示例1:
显示当前登录的用户名:
[root@linuxcool ~]#whoamiroot 系统管理(system) 593 login login命令 – 登入系统 login指令让用户登入系统,您亦可通过它的功能随时更换登入身份。在Slackware发行版中 ,您可在指令后面附加欲登入的用户名称,它会直接询问密码,等待用户输入。当/etc目录里含名称为nologin的文件时,系统只root帐号登入系统,其他用户一律不准登入。 login 示例1:
使用新的身份登录系统 :
[root@linuxcool ~]# login 系统管理(system) 594 usermod usermod命令 – 修改用户信息 usermod命令来自英文词组user modify的缩写,其功能是修改用户信息中的各项参数。在创建用户后如果发现信息错误,可以不用删除,而是用usermod命令直接修改用户信息,并且参数会立即生效。 usermod [参数] [用户名] |-a: 将用户添加至扩展组中 |
|-c: 修改用户的备注文字 |
|-d: 修改用户登录时的家目录 |
|-e: 修改用户的有效期限 |
|-f: 设置在密码过期多少天后关闭该用户 |
|-g: 修改用户所属的基本群 |
|-G: 修改用户所属的扩展群 |
|-l: 修改用户名称 |
|-m: 将用户家目录内容移动到新位置 |
|-o: 允许重复的用户ID |
|-p: 设置用户的新密码 |
|-s: 修改用户登录后使用的Shell终端 |
|-u: 修改用户的ID |
|-U: 解除密码锁定,使密码恢复正常 |
|-Z: 设置用户的SELinux映射用户 | 示例1:
修改指定用户的家目录路径:
[root@linuxcool ~]# usermod -d /home linuxprobe
示例2:
修改指定用户的ID:
[root@linuxcool ~]# usermod -u 6688 linuxprobe
示例3:
修改指定用户的名称为linuxcool:
[root@linuxcool ~]# usermod -l linuxcool linuxprobe
示例4:
锁定指定的用户,临时不允许登录系统:
[root@linuxcool ~]# usermod -L linuxcool
示例5:
解锁指定的用户,再次允许登录系统:
[root@linuxcool ~]# usermod -U linuxcool 系统管理(system) 595 yum-config-manager yum-config-manager命令 – 管理软件仓库 yum-config-manager命令的功能是用于管理软件仓库,可以调整yum的主要配置参数,启动或关闭指定软件源,删除已有软件仓库等工作。 yum-config-manager [参数] [对象] |-c: 设置配置文件的位置 |
|-C: 不更新缓存,直接运行 |
|-d: 设置调试输出级别 |
|-e: 设置错误输出级别 |
|-q: 静默执行模式 |
|-R: 设置最大等待时间 |
|-t: 设置错误宽容 |
|-v: 显示执行过程详细信息 |
|-y: 所有询问均回答自动yes |
|--add-repo: 从指定文件或URL添加软件仓库 |
|--color: 设置是否使用颜色 |
|--disable: 禁用软件仓库 |
|--disableplugin: 禁用指定插件 |
|--disablerepo: 禁用指定软件仓库 |
|--enable: 启用软件仓库 |
|--enableplugin: 启用指定插件 |
|--enablerepo: 启用指定软件仓库 |
|--installroot: 设置安装根路径 |
|--nogpgcheck: 禁用GPG签名检查 |
|--noplugins: 禁用全部插件 |
|--rpmverbosity: 设置调试输出级别 |
|--save: 保存当前选项 | 示例1:
显示指定软件仓库的配置信息:
[root@linuxcool ~]#yum-config-manager baseOS
示例2:
添加指定的软件仓库来源:
[root@linuxcool ~]#yum-config-manager --add-repo https://mirrors.aliyun.com/repo/Centos-7.repo
示例3:
显示当前已启用的软件仓库信息:
[root@linuxcool ~]#yum-config-manager --enable 系统管理(system) 596 logwatch logwatch命令 – 遍历系统日志 logwatch命令是一个可定制和可插入式的日志监视系统,它通过遍历给定时间范围内的系统日志文件而产生日志报告。logwatch默认每天执行一次,可以从/etc/cron.daily里看到。 logwatch [参数] |--detail: 指定日志报告的详细程度 |
|--range: 指定处理日志的日期范围 | 示例1:
只看sshd的日志情况:
[root@linuxcool ~]# logwatch --service sshd --detail High
示例2:
查看sshd当天的日志情况:
[root@linuxcool ~]# logwatch --service sshd --detail High --range today
示例3:
查看sshd昨天的日志情况:
[root@linuxcool ~]# logwatch --service sshd --detail High --range yesterday
示例4:
查看sshd从2018年10月24日到2019年10月24日的日志情况:
[root@linuxcool ~]# logwatch --service sshd --detail High --range 'between 10/24/2018 and 10/24/2019' 系统管理(system) 597 startx startx命令 – 初始化X-window系统 startx命令来自英文词组start X-window的缩写,其功能是启动X-window系统。X-window也被称为X或X11,中文译为X窗口系统,用于以图形方式显示软件窗口,现在的GNOME和KDE桌面环境都是以X窗口系统为基础构建成的。 startx [参数] [对象] |-m: 当未找到启动脚本时,启动窗口管理器 |
|-r: 当未找到启动脚本时,装入资源文件 |
|-w: 强制启动而不询问 |
|--depth: 设置颜色深度 | 示例1:
以默认方式初始化启动X窗口系统:
[root@linuxcool ~]# startx
X.Org X Server 1.20.3
X Protocol Version 11, Revision 0
Build Operating System: 4.14.0-49.el7a.noaead.x86_64
Current Operating System: Linux linuxcool.com 4.18.0-80.el8.x86_64 #1 SMP Wed May 18 12:02:46 UTC 2019 x86_64
………………省略部分输出信息………………
示例2:
指定以16位颜色深度启动X窗口系统:
[root@linuxcool ~]# startx --depth 16
X.Org X Server 1.20.3
X Protocol Version 11, Revision 0
Build Operating System: 4.14.0-49.el7a.noaead.x86_64
Current Operating System: Linux linuxcool.com 4.18.0-80.el8.x86_64 #1 SMP Wed May 18 12:02:46 UTC 2019 x86_64
………………省略部分输出信息………………
示例3:
强制启动X窗口系统:
[root@linuxcool ~]# startx -w
X.Org X Server 1.20.3
X Protocol Version 11, Revision 0
Build Operating System: 4.14.0-49.el7a.noaead.x86_64
Current Operating System: Linux linuxcool.com 4.18.0-80.el8.x86_64 #1 SMP Wed May 18 12:02:46 UTC 2019 x86_64
………………省略部分输出信息……………… 系统管理(system) 598 tload tload命令 – 显示系统负载状况 tload命令用于显示系统的负载状况。tload命令用ASCII字符简单的以文字模式显示系统负载状态。假设不给予终端机编号,则会在执行tload命令的终端机显示负载情形。 tload [参数] |-d<间隔秒数>: 设置tload检测系统负载的间隔时间,单位以秒计算 |
|-s<刻度大小>: 设置图标的垂直刻度大小,单位以列计算 | 示例1:
显示系统负载:
[root@linuxcool ~]# tload
示例2:
每10秒显示系统负载情况:
[root@linuxcool ~]# tload -d 10
示例3:
显示666号终端机系统负载情况的图表垂直刻度为五列:
[root@linuxcool ~]# tload -s 5 666
示例4:
每1秒显示系统负载情况:
[root@linuxcool ~]# tload -d 1 系统管理(system) 599 metaimport metaimport命令 – 将磁盘集导入到现有的Solaris Volume Manager配置中 metaimport命令允许将磁盘集(包括复制的磁盘集)导入到现有的Solaris卷管理器配置中。复制磁盘集是使用远程复制软件创建的磁盘集。 metaimport[参数] |–f: 即使没有足够数量的导入磁盘集的副本,也可以强制导入 |
|–n: 实际不执行该操作,但是显示如果该操作已运行,则可能导致输出或错误 |
|–r: 报告系统上未配置的磁盘集 |
|–ssetname: 指定导入时要使用的磁盘集名称 |
|-h: 显示帮助信息 | 示例1:
创建一个名为blue的磁盘集,并将c1t5d0标识为包含要导入的磁盘集中的状态数据库副本的磁盘:
[root@linuxcool ~]# metaimport -s blue c1t5d0
示例2:
扫描连接到系统并配置为系统一部分的所有磁盘和LUN:
[root@linuxcool ~]# metaimport -r 系统管理(system) 600 iscsiadm iscsiadm命令 – iSCSI服务管理工具 iscsiadm命令来自英文词组iSCSI administration的缩写,是最常用的iSCSI服务管理工具。iscsiadm是一个命令行工具,能够发现、登录、卸载远程iSCSI目标,还能管理open-iscsi数据库。iSCSI服务的配置过程较复杂,建议参考《Linux就该这么学(第2版)》的17.3节。有些时候,服务器可能未安装iSCSI服务应用程序,此时需要先安装后使用,如执行dnf install targetcli -y命令安装。 iscsiadm [参数] [域名或IP地址] |-d: 设置排错模式级别 |
|-h: 显示帮助信息 |
|-l: 登录远程设备 |
|-m: 设置discovery或node模式 |
|-o: 开启认证模式 |
|-p: 设置目标服务器的IP地址和端口 |
|-t st: 设置扫描操作的类型 |
|-u: 卸载指定设备 |
|-v: 设置用于更新的值 |
|-V: 显示版本信息 |
|-T: 设置节点名称 | 示例1:
发现远程可用的iSCSI服务器节点:
[root@linuxcool ~]# iscsiadm -m discovery -t st -p 192.168.10.10
192.168.10.10:3260,1 iqn.2003-01.org.linux-iscsi.linuxprobe.x8664:sn.745b21d6cad5
示例2:
登录远程可用的iSCSI服务器节点:
[root@linuxcool ~]# iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.linuxprobe. x8664:sn.745b21d6cad5 -p 192.168.10.10 --login
Logging in to [iface: default, target: iqn.2003-01.org.linux-iscsi.linuxprobe. x8664:sn.745b21d6cad5, portal: 192.168.10.10,3260] (multiple)
Login to [iface: default, target: iqn.2003-01.org.linux-iscsi.linuxprobe.x8664: sn.745b21d6cad5, portal: 192.168.10.10,3260] successful.
示例3:
卸载本地已挂载的指定iSCSI存储设备:
[root@linuxcool ~]# iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.linuxprobe. x8664:sn.745b21d6cad5 -u
Logging out of session [sid: 1, target: iqn.2003-01.org.linux-iscsi.linuxprobe. x8664:sn.745b21d6cad5, portal: 192.168.10.10,3260]
Logout of [sid: 1, target: iqn.2003-01.org.linux-iscsi.linuxprobe.x8664: sn.745b21d6cad5, portal: 192.168.10.10,3260] successful.
示例4:
卸载本地已挂载的全部iSCSI存储设备:
[root@linuxcool ~]# iscsiadm -m node --logoutall=all 系统管理(system) 601 rht-vmctl rht-vmctl命令 – 控制虚拟机系统 rht-vmctl命令来自英文词组“redhat vmware control”的缩写,其功能是用于控制虚拟机系统。rht-vmctl命令工具由红帽公司开发,主要用于管理红帽培训中使用到的KVM虚拟机系统,控制其虚拟机的开启、关闭、重启、重装等基本操作。 rht-vmctl [参数] 虚拟机名 |poweroff: 关闭虚拟机 |
|reset: 重置虚拟机 |
|start: 开启虚拟机 |
|status: 显示虚拟机状态 |
|view: 显示虚拟机列表 | 示例1:
显示指定虚拟机:
[root@linuxcool ~]#rht-vmctl view desktop
示例2:
打开指定虚拟机:
[root@linuxcool ~]#rht-vmctl start desktop
示例3:
关闭指定虚拟机:
[root@linuxcool ~]#rht-vmctl poweroff desktop
示例4:
重置指定虚拟机:
[root@linuxcool ~]#rht-vmctl reset desktop 系统管理(system) 602 ip6tables ip6tables命令 – IPv6防火墙策略管理工具 ip6tables命令来自英文词组“ipv6 iptables”的缩写,其功能是用于Ipv6级别的防火墙策略管理工具。与iptables命令的使用方法一致,都是iptables防火墙服务的策略管理工具,只是TCP/IP协议不同而已,因此本词条不再重复,如有需要请参阅书籍《Linux就该这么学》第8章节的内容。 ip6tables [参数] |-A: 向规则链中添加条目 |
|-D: 从规则链中删除条目 |
|-E: 重命名指定名称的用户定义链 |
|-F: 清空规则链中已有的条目 |
|-H: 显示帮助信息 |
|-I: 向规则链中插入条目 |
|-j: 设置要跳转的目标 |
|-L: 显示规则链中已有的条目 |
|-N: 创建指定名称的用户定义链 |
|-p: 设置要匹配的数据包协议类型 |
|-R: 替换规则链中的条目 |
|-s: 设置要匹配的数据包源IP地址 |
|-X: 删除指定名称的用户定义链 |
|-Z: 清空所有规则链中的数据包和字节计数器 | 示例1:
查看当前的 IPv6 防火墙策略信息:
[root@linuxcool ~]#ip6tables -L
示例2:
查看当前的 IPv6 防火墙策略信息并显示行号:
[root@linuxcool ~]#ip6tables -nL --line-numbers
示例3:
清空当前的 IPv6 防火墙策略信息:
[root@linuxcool ~]#ip6tables -F 系统管理(system) 603 bmodinfo bmodinfo命令 – 显示给定模块的详细信息 bmodinfo命令用于显示给定模块的详细信息。 bmodinfo [参数] [模块名] |-a: 显示模块作者 |
|-d: 显示模块的描述信息 |
|-l: 显示模块的许可信息 | 示例1:
显示sg模块的信息:
[root@linuxcool ~]# bmodinfo sg
示例2:
显示sg模块的作者:
[root@linuxcool ~]# bmodinfo -a sg
示例3:
显示sg模块的描述信息:
[root@linuxcool ~]# bmodinfo -d sg
示例4:
显示sg模块的许可信息:
[root@linuxcool ~]# bmodinfo -l sg
示例5:
显示sg模块的参数信息:
[root@linuxcool ~]# bmodinfo -p sg 系统管理(system) 604 zenity zenity命令 – 显示图形框 zenity命令的功能是用于显示图形框,允许运维人员调用各种Shell终端的弹窗信息,可以查看日历,消息,亦可以让用户输入信息或密码进行保存,玩法很多,可根据需求进行深度开发。 zenity [参数] [对象] |--about: 显示对话信息 |
|--calendar: 显示快速日历框 |
|--error: 显示错误对话框 |
|--entry: 显示一般文本输入对话框 |
|--forms: 显示窗体对话框 |
|--info: 显示信息对话框 |
|--password: 显示密码对话框 |
|--progress: 显示进度栏 |
|--question: 显示问题对话框 | 示例1:
显示日历框:
[root@linuxcool ~]#zenity --calendar
示例2:
弹框显示进度栏:
[root@linuxcool ~]#zenity --progress
示例3:
显示密码框:
[root@linuxcool ~]#zenity --password 系统管理(system) 605 grub grub命令 – 交互式的管理GRUB引导程序 grub命令的功能是用于交互式地管理GRUB引导程序。GRUB是一个系统引导程序,可以服务于Linux、Windows、FreeBSD等常见操作系统,配置方式分为交互式和非交互式两种模式,用户只需要键入grub命令即可进入到“grub>”提示状态,然后通过常用命令及参数进行配置工作。 grub [参数] [动作] [对象] |--batch: 使用批处理模式 |
|--boot-drive: 设置stage2的引导驱动器 |
|--config-file: 设置stage2的配置文件 |
|--device-map: 设置设备的映射文件 |
|--help: 显示帮助信息 |
|--install-partition: 设置stage2的安装分区 |
|--no-config-file: 不使用配置文件 |
|--no-pager: 不使用内部分页器 |
|--preset-menu: 使用预设菜单 |
|--probe-second-floppy: 检测第二个软盘驱动器 |
|--read-only: 使用只读模式 | 示例1:
GRUB信息损坏,使用命令启动系统:
[root@linuxcool ~]#grubgrub>root (hd0,1)grub>kernel /boot/vmlinuz-2.6.15-26-386 ro dev=/dev/hda3grub>initrd /boot/initrd.img-2.6.15-26-386grub>boot
示例2:
在指定分区设备上安装GRUB:
[root@linuxcool ~]#grubgrub>root (hd0,1)
示例3:
指定GRUB引导程序的初始化文件:
[root@linuxcool ~]#grubgrub>initrd /boot/initrd-2.6.11-1.1369_FC4.img[Linux-initrd @ 0x2e1000, 0x10e685 bytes] 系统管理(system) 606 vmstat vmstat命令 – 监视系统资源状态 vmstat命令来自英文词组“Virtual Memory Statistics”的缩写,其功能是用于监视系统资源状态。Linux系统工程师可以使用vmstat查看到系统关于进程、内存、硬盘I/O等整体运行状态,但很遗憾无法深入分析。轻量级的性能查看工具,不会给系统带来什么负担。 vmstat [参数] [对象] |-a: 显示活动内页 |
|-d: 显示磁盘状态 |
|-D: 显示磁盘活动报告 |
|-f: 显示进程总数 |
|-h: 显示帮助信息 |
|-m: 显示内存分配信息 |
|-n: 设置头信息仅显示一次 |
|-p: 显示指定硬盘分区状态 |
|-s: 使用表格方式显示资源状态 |
|-S: 设置显示信息的单位 |
|-t: 显示时间戳 |
|-V: 显示版本信息 | 示例1:
显示系统整体的资源状态:
[root@linuxcool ~]#vmstat -aprocs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free inact active si so bi bo in cs us sy id wa st
0 0 1804 91972 446044 770848 0 0 103 7 54 45 1 1 99 0 0
示例2:
显示自启动后创建的进程总数:
[root@linuxcool ~]#vmstat -f3017 forks
示例3:
显示指定的硬盘分区状态:
[root@linuxcool ~]#vmstat -p /dev/sda1sda1 reads read sectors writes requested writes
1876 14646 3 4096
示例4:
显示内存分配机制信息(SLAB):
[root@linuxcool ~]#vmstat -mCache Num Total Size Pages
fuse_request 40 40 400 40
fuse_inode 39 39 832 39
nf_conntrack 255 255 320 51
AF_VSOCK 40 40 1600 20
rpc_inode_cache 46 46 704 46
isofs_inode_cache 138 138 704 46
xfs_dqtrx 0 0 528 62
………………省略部分输出信息………………
示例5:
以表格方式显示事件计数器和内存状态:
[root@linuxcool ~]#vmstat -s2013304 K total memory
1400608 K used memory
774252 K active memory
409036 K inactive memory
114132 K free memory
2156 K buffer memory
496408 K swap cache
2097148 K total swap
………………省略部分输出信息………………
示例6:
设置每间隔1秒刷新显示一次系统整体状态信息:
[root@linuxcool ~]#vmstat 1procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 3852 125000 2156 496420 0 0 61 5 44 40 0 1 99 0 0
0 0 3852 124908 2156 496420 0 0 0 2 787 673 1 2 98 0 0
0 0 3852 124908 2156 496420 0 0 0 0 1282 1038 1 2 97 0 0
0 0 3852 124908 2156 496420 0 0 0 0 1455 1230 1 3 96 0 0^C[root@linuxcool ~]# 系统管理(system) 607 ps ps命令 – 显示进程状态 ps命令来自英文单词process的缩写,中文译为“进程”,其功能是显示当前系统的进程状态。使用ps命令可以查看到进程的所有信息,例如进程的号码、发起者、系统资源(处理器与内存)使用占比、运行状态等。ps命令可帮助我们及时发现哪些进程出现“僵死”或“不可中断”等异常情况。
ps命令经常会与kill命令搭配使用,以中断和删除不必要的服务进程,避免服务器的资源浪费。 ps [参数] |-a: 显示所有进程信息 |
|-c: 不显示程序路径 |
|-d: 不显示阶段作业程序 |
|-e: 显示环境变量信息 |
|-f: 用ASCII字符显示树状结构 |
|-g: 显示所有程序及其所属组的程序 |
|-h: 不显示标题列信息 |
|-H: 使用树状结构展示程序间的相互关系 |
|-j: 使用工作控制格式显示程序状态 |
|-l: 使用详细格式显示程序状态 |
|-p: 指定程序识别码并显示该程序的状态 |
|-r: 仅显示终端主机正在执行中的程序 |
|-s: 使用程序信号格式显示程序状态 |
|-S: 显示包括已中断的子程序的状态 |
|-T: 显示当前终端主机下的所有程序 |
|-u: 使用用户为主的格式来显示程序状态 |
|-U: 显示属于指定用户的程序状态 |
|-v: 使用虚拟内存的格式显示程序状态 |
|-w: 使用宽阔的格式显示程序状态 |
|-x: 不区分终端主机 |
|-X: 使用旧式登录格式显示程序状态 |
|--cols: 设置每列的最大字符数 |
|--headers: 重复显示标题列 |
|--help: 显示帮助信息 |
|--info: 显示排错信息 |
|--lines: 设置显示画面的列数 |
|--version: 显示版本信息 | 示例1:
显示系统中全部的进程信息,含详细信息:
[root@linuxcool ~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 2 0.0 0.0 0 0 ? S 20:05 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? I< 20:05 0:00 [rcu_gp]
root 4 0.0 0.0 0 0 ? I< 20:05 0:00 [rcu_par_gp]
………………省略部分输出信息………………
示例2:
结合输出重定向,将当前进程信息保留备份至指定文件:
[root@linuxcool ~]# ps aux > File.txt
示例3:
结合管道操作符,将当前系统运行状态中指定的进程信息过滤出来:
[root@linuxcool ~]# ps -ef | grep ssh
………………省略输出信息………………
示例4:
结合管道操作符,将当前系统运行状态中指定用户的进程信息过滤出来:
[root@linuxcool ~]# ps -u root
PID TTY TIME CMD
1 ? 00:00:01 systemd
2 ? 00:00:00 kthreadd
3 ? 00:00:00 rcu_gp
4 ? 00:00:00 rcu_par_gp
………………省略部分输出信息………………
示例5:
结合管道操作符与sort命令,依据处理器使用量(第三列)情况降序排序:
[root@linuxcool ~]# ps aux | sort -rnk 3
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 2341 0.4 8.1 4504040 164896 tty2 Sl+ 20:05 0:24 /usr/bin/gnome-shell
root 4534 0.3 0.4 220064 8520 ? Ssl 21:37 0:00 /usr/nm-dispatcher
gdm 1541 0.1 7.3 4211428 147400 tty1 Sl+ 20:05 0:06 /usr/bin/gnome-shell
………………省略部分输出信息………………
示例6:
结合管道操作符与sort命令,依据内存使用量(第四列)情况降序排序:
[root@linuxcool ~]# ps aux | sort -rnk 4
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 2341 0.4 8.1 4503976 164828 tty2 Sl+ 20:05 0:27 /usr/bin/gnome-shell
gdm 1541 0.1 7.3 4211428 147556 tty1 Sl+ 20:05 0:08 /usr/bin/gnome-shell
root 2661 0.0 3.1 1271636 63004 tty2 Sl+ 20:05 0:01 /usr/bin/gnome-software
--gapplication-service
………………省略部分输出信息……………… 系统管理(system) 608 enable enable命令 – 启动或关闭 shell 内建指令 enable命令可以用于启动或关闭 shell 的内建指令。 如要执行的文件名称与shell内建指令相同,可用enable -n来关闭shell内建指令。若不加-n参数,enable可重新启动关闭的指令。 enable [参数] [内建指令] |-n: 关闭指定的shell内建指令 |
|-all: 显示shell所有关闭与启动的指令 | 示例1:
显示shell命令:
[root@linuxcool ~]# enable
示例2:
显示所有激活的内部命令:
[root@linuxcool ~]# enable -a 系统管理(system) 609 esxcfg-advcfg esxcfg-advcfg命令 – 配置主机 esxcfg命令集分为网络管理类、存储管理类、系统管理类等几种类型,esxcfg-advcfg负责配置主机,设置kernel高级选项,属于系统管理类。 esxcfg-advcfg [参数] |-h: 查看帮助文档 |
|-g: 获取虚拟网卡的配置信息 | 示例1:
获取虚拟网卡的配置信息:
[root@linuxcool ~]# esxcfg-advcfg -g
示例2:
设置虚拟网卡的信息:
[root@linuxcool ~]# esxcfg-advcfg -s
示例3:
重置虚拟网卡至默认值:
[root@linuxcool ~]# esxcfg-advcfg -d
示例4:
确定虚拟网卡是否设置并打印:
[root@linuxcool ~]# esxcfg-advcfg -u
示例5:
查看帮助文档:
[root@linuxcool ~]# esxcfg-advcfg -help 系统管理(system) 610 complete complete命令 – 自动补全声明 complete命令是声明对于每一个NAME名称如何完成读取参数。如果不带选项,现有的补全声明会以可以重用为输入的格式打印出来。 complete [参数] |-p: 以可重用的格式打印现有的补全声明 |
|-D: 对于没有补全声明定义的命令,设定默认的补全动作 |
|-E: 对于 “empty” [命令]设定补全动作,—— 对于空行的补全 |
|-r: 对于每个 NAME 名称删除补全声明,或者如果没有提供 NAME名称,删除所有的补全声明 | 示例1:
以可重用的格式打印现有的补全声明:
[root@linuxcool ~]# complete -p
示例2:
对于没有补全声明定义的命令,设定默认的补全动作:
[root@linuxcool ~]# complete -D
示例3:
对于 “empty” [命令]设定补全动作,—— 对于空行的补全:
[root@linuxcool ~]# complete -E
示例4:
对于每个 NAME 名称删除补全声明,或者如果没有提供 NAME名称,删除所有的补全声明:
[root@linuxcool ~]# complete -r 系统管理(system) 611 liloconfig liloconfig命令 – 设置核心载入 liloconfig命令用于设置核心载入,开机管理程序。
liloconfig是Slackware发行版专门用来调整lilo设置的程序。它通过互动式操作界面,让用户能够利用键盘上的方向键等,轻易地操控lilo的安装,设置作业,而无须下达各种参数或撰写配置文件。 liloconfig 示例1:
设置核心载入:
[root@linuxcool ~]# liloconfig 系统管理(system) 612 iconv iconv命令 – 转换文件编码 iconv命令是Linux系统自带的用于转换文件编码的命令行工具。 iconv [参数] |-f: 输入编码 |
|-t: 输出编码 |
|-c: 忽略不可转换的字符 |
|--unicode-subst=FORMATSTRING: 替代不可转换的 Unicode 字符 |
|--byte-subst=FORMATSTRING: 替代不可转换的字节 |
|--widechar-subst=FORMATSTRING: 替代不可转换的宽字符 |
|-s: 不显示有关转换出错的信息 |
|-l: 列出支持的编码 |
|--version: 显示版本信息并退出 | 示例1:
查看支持的编码列表:
[root@linuxcool ~]# iconv -l
示例2:
转换文件内容编码:
[root@linuxcool ~]# iconv -f ENCODING -t ENCODING INPUTFILE 系统管理(system) 613 kernelversion kernelversion命令 – 打印内核主版本号 kernelversion命令用于打印当前内核的主版本号。 kernelversion命令仅能输出当前内核的主版本号和次版本号信息。如果要显示更全面的内核信息可以使用uname命令。 kernelversion 示例1:
打印内核主版本号:
[root@linuxcool ~]# kernelversion
2.6 系统管理(system) 614 xinit xinit命令 – X服务器初始化程序 xinit命令是Linux下X-Window系统的初始化程序,主要完成X服务器的初始化设置。 xinit [参数] |客户端选项: 客户端指令及选项 |
|—: 用于区分客户端选项和服务器端选项 |
|服务器端选项: 服务器端选项指令及选项 | 示例1:
以普通用户启动 X:
[root@linuxcool ~]# xinit -- :1
示例2:
传递参数会话:
[root@linuxcool ~]# xinitsession 系统管理(system) 615 pwck pwck命令 – 验证系统认证文件 使用pwck命令用来验证系统认证文件/etc/passwd和/etc/shadow的内容和格式的完整性。 pwck [参数] |-q: 仅报告错误信息 |
|-s: 以用户id排序文件 |
|-r: 只读方式运行指令 | 示例1:
检验用户配置文件/etc/passwd和/etc/shadow的文件内容是否合法、完整:
[root@linuxcool ~]# pwck
示例2:
验证密码文件完整性,在/etc/passwd和/etc/shadow文件中按UID排序条目:
[root@linuxcool ~]# pwck -s 系统管理(system) 616 seinfo seinfo命令 – 查询SELinux策略规则 seinfo命令是用来查询SELinux的策略提供多少相关规则,一个主体进程能否读取到目标文件资源的重点是在于SELinux的策略以及策略内的各项规则,然后再通过该规则的定义去处理各项目标文件的安全上下文,尤其是“类型”部分。SELinux的策略与规则管理相关命令:seinfo命令、sesearch命令、getsebool命令、setsebool命令、semanage命令。 seinfo [参数] |-a: 列出SELinux的状态、规则布尔值、身份识别、角色、类型等所有信息 |
|-t: 列出SELinux所有类型(type)的种类 |
|-r: 列出SELinux所有角色(role)的种类 |
|-u: 列出SELinux所有身份识别(user)的种类 |
|-b: 列出所有规则的种类(布尔值) | 示例1:
列出SELinux的状态、规则布尔值、身份识别、角色、类型等所有信息:
[root@linuxcool ~]# seinfo -a
示例2:
列出SELinux所有类型(type)的种类:
[root@linuxcool ~]# seinfo -t
示例3:
列出SELinux所有角色(role)的种类:
[root@linuxcool ~]# seinfo -r
示例4:
列出SELinux所有身份识别(user)的种类:
[root@linuxcool ~]# seinfo -u
示例5:
列出所有规则的种类(布尔值):
[root@linuxcool ~]# seinfo -b
示例6:
列出与httpd有关的规则:
[root@linuxcool ~]# seinfo -b | grep httpd 系统管理(system) 617 rsh rsh命令 – 远端登入的shell rsh命令的英文全称为“remote shell”,该命令提供的用户环境,也就是shell,以便指令能够在指定的远端主机上执行。 rsh [参数] |-d: 使用Socket层级的排错功能 |
|-l: 指定要登入远端主机的用户名称 |
|-n: 把输入的指令号向代号为/dev/null的特殊外围设备 | 示例1:
远程命令执行:
[root@linuxcool ~]# rsh -l linuxcool 192.168.1.88 /bin/ls 系统管理(system) 618 ip6tables-restore ip6tables-restore命令 – 还原ip6tables表 ip6tables-restore命令用来还原ip6tables表。 ip6tables-restore [参数] |-c: 指定在还原iptables表时候,还原当前的数据包计数器和字节计数器的值 |
|-t: 指定要还原表的名称 | 示例1:
还原iptables配置:
[root@linuxcool ~]# ip6tables-restore < ip6tables.bak
示例2:
指定在还原iptables表时候,还原当前的数据包计数器和字节计数器的值:
[root@linuxcool ~]# ip6tables-restore -c < ip6tables.bak
示例3:
指定要还原表的名称:
[root@linuxcool ~]# ip6tables-restore -t filter.bak 系统管理(system) 619 reset reset命令 – 设定终端机的状态 Linuxreset命令其实和 tset 是一同个命令,它的用途是设定终端机的状态。一般而言,这个命令会自动的从环境变数、命令列或是其它的组态档决定目前终端机的型态。如果指定型态是 ‘?’ 的话,这个程序会要求使用者输入终端机的型别。
由于这个程序会将终端机设回原始的状态,除了在 login 时使用外,当系统终端机因为程序不正常执行而进入一些奇怪的状态时,你也可以用它来重设终端机o 例如不小心把二进位档用 cat 指令进到终端机,常会有终端机不再回应键盘输入,或是回应一些奇怪字元的问题。此时就可以用 reset 将终端机回复至原始状态。 reset [参数] |--help: 在线帮助 |
|--vesion: 显示版本信息 |
|-p: 将终端机类别显示在屏幕上,但不做设定的动作。这个命令可以用来取得目前终端机的类别 |
|-e ch: 将 erase 字元设成 ch |
|-i ch: 将中断字元设成 ch |
|-k ch: 将删除一行的字元设成 ch |
|-l: 不要做设定的动作,如果没有使用选项 -Q 的话,erase、中断及删除字元的目前值依然会送到屏幕上 |
|-Q: 不要显示 erase、中断及删除字元的值到屏幕上 |
|-r: 将终端机类别印在屏幕上 |
|-s: 将设定 TERM 用的命令用字串的型式送到终端机中,通常在 .login 或 .profile 中用 | 示例1:
让使用者输入一个终端机型别并将终端机设到该型别的预设状态:
[root@linuxcool ~]# reset ?
示例2:
将 erase 字元设定 control-h:
[root@linuxcool ~]# reset -e ^B
示例3:
将设定用的字串显示在屏幕上:
[root@linuxcool ~]# reset -s 系统管理(system) 620 depmod depmod命令 – 生成模块映射文件 depmod命令可产生模块依赖的映射文件,在构建嵌入式系统时,需要由这个命令来生成相应的文件,depmod命令支持内核版本为“2.5.48”以上,比此版本老的内核使用指令“depmod.old”。 depmod [参数] |-a: 分析所有可用的模块 |
|-b<目录>: 指定内核模块目录 |
|-e: 输出无法参照的符号 |
|-F: 提供内核编译时生成的system.map文件 |
|-n: 将各种内核映射文件打印到标准输出 |
|-A: 快速模式 | 示例1:
显示可用模块:
[root@linuxcool ~]# depmod -a
示例2:
列出已挂载但不可用的模块:
[root@linuxcool ~]# depmod -e
示例3:
列出所有模块的依赖关系,但仅仅是输出出来:
[root@linuxcool ~]# depmod -n 系统管理(system) 621 sgdisk sgdisk命令 – Linux和Unix的命令行GPT操纵器 sgdisk是Linux下操作GPT分区的工具, sgdisk程序使用完全基于命令行的用户界面,使其适用于脚本或想要对磁盘进行一次或两次快速更改的专家。 sgdisk [参数] [设备] |-p: 打印分区表 |
|-d x: 删除分区 |
|-n x:y:z: 创建一个编号 x 的新分区,从 y扇区 开始,到 z扇区 结束 |
|-c x:y: 更改分区 x 的名称为 y |
|-t x:y: -t x:y 将分区 x 的类型更改为 y |
|–list-types: 列出分区类型代码 | 示例1:
打印分区表:
[root@linuxcool ~]# sgdisk -p /dev/sda
示例2:
删除sda的第一个分区:
[root@linuxcool ~]# sgdisk -d 1 /dev/sda
示例3:
创建一个编号 1 的新分区,从 1MiB 开始,到 2MiB 结束:
[root@linuxcool ~]# sgdisk -n 1:1MiB:2MiB /dev/sda
示例4:
把编号为 1 的分区名称改为 grub:
[root@linuxcool ~]# sgdisk -c 1:grub /dev/sda
示例5:
将编号为 1 的分区,类型更改为 ef02:
[root@linuxcool ~]# sgdisk -t 1:ef02 /dev/sda
示例6:
列出分区类型代码:
[root@linuxcool ~]# sgdisk --list-types 磁盘管理(disk) 622 dmsetup dmsetup命令 – 管理硬盘映射器 dmsetup命令来自英文词组“Device mapper setup”的缩写,其功能是用于管理硬盘映射器。dmsetup命令是Linux系统平台中一个更加底层的逻辑卷管理工具,能够轻松从设备底层管理LVM逻辑卷管理器中各个设备卷,如果用lvcreate和lvremove无法正常对逻辑卷进行管理了,那么则可以用dmsetup试一下。 dmsetup [参数] [逻辑卷]名 |deps: 显示设备的依赖关系 |
|info: 显示有关硬盘映射器的概述信息 |
|ls: 显示映射设备的名称列表 |
|remove: 删除指定的硬盘设备 |
|status: 显示指定设备中每个目标的状态信息 |
|table: 显示虚拟设备的映射表 | 示例1:
显示系统中各个硬盘设备情况的概述:
[root@linuxcool ~]#dmsetup infoName: rhel-swap
State: ACTIVE
Read Ahead: 8192
Tables present: LIVE
Open count: 2
Event number: 0
Major, minor: 253, 1
Number of targets: 1
UUID: LVM-wgyD2pBMAQl7wEV1wGtZBUpgvrrdR6qd43nqVhkGAVsw0NI0QsycwuOC500MeRIO
Name: rhel-root
State: ACTIVE
Read Ahead: 8192
Tables present: LIVE
Open count: 1
Event number: 0
Major, minor: 253, 0
Number of targets: 1
UUID: LVM-wgyD2pBMAQl7wEV1wGtZBUpgvrrdR6qddQlpzqGLJKXq4GjbdG52P4XWmst2tKT4
示例2:
显示系统映射的硬盘设备名称列表:
[root@linuxcool ~]#dmsetup lsrhel-swap (253:1)
rhel-root (253:0)
示例3:
移除指定的硬盘设备卷:
[root@linuxcool ~]#dmsetup remove rhel-swap 磁盘管理(disk) 623 vgsplit vgsplit命令 – 将物理卷移动到新的或现有的卷组中 vgsplit命令的作用是可以从源卷组(物理卷)移动到新的或现有的卷组中。
使用vgsplit命令将一个或多个物理卷时,移动的物理卷可以指定物理卷路径,也可以通过-n逻辑卷名指定,但在这种情况下,只移动指定逻辑卷底层的物理卷。
如果目标卷组名称确实存在,将在移动物理卷之前检查它是否与源卷组名称冲突。 不能在卷组之间分割逻辑卷。 vgsplit命令只移动完整的物理卷。每个现有的逻辑卷必须完全位于构成源卷组或目标卷组的物理卷上。 vgsplit [参数] [源卷组名] [目标卷组名] [物理卷路径] |-d: 启用调试模式 |
|-v: 显示详细信息 |
|-l<最大逻辑卷数>: 指定卷组中最大的逻辑卷数 |
|-- -vgmeladatacopies<数量>: 指定副本数量 |
|-M<1|2>: 指定元数据类型 |
|-n<逻辑卷名>: 指定逻辑卷的名称 |
|-A: 是否自动备份 |
|-t: 启用测试模式 |
|-p<最大物理卷数>: 指定卷组中最大的物理卷数 | 示例1:
将卷组vg1拆分为两个,生成新卷组vg2,该卷组成员为/dev/sda3:
[root@linuxcool ~]# vgsplit vg1 vg2 /dev/sda3
示例2:
指定卷组中最大的物理卷数:
[root@linuxcool ~]# vgsplit -p 5 vg1 vg2 /dev/sda3
示例3:
将/dev/sdg2与dev分离,添加到一个名为“ design”的新卷组:
[root@linuxcool ~]# vgsplit dev design /dev/sdg2 磁盘管理(disk) 624 partx partx命令 – 显示内核磁盘上分区情况 partx命令用来告诉内核当前磁盘的分区情况,对一个磁盘或者分区表类型,尝试解析分区表。可以增加或删除分区。但不是fdisk,增加,删除分区对磁盘造成改变,只是告诉内核当前磁盘的分区情况。 partx [参数] [设备] |-a: 增加制定的分区或读磁盘新增的分区 |
|-d: 删除制定或所有的分区 |
|-l: 列出分区 |
|--type: 指定分区类型 | 示例1:
列出磁盘的分区表:
[root@linuxcool ~]# partx --show /dev/sda5
示例2:
指定要显示的分区范围:
[root@linuxcool ~]# partx -a /dev/sdb
示例3:
列出支持的分区类型:
[root@linuxcool ~]# partx --list-types 磁盘管理(disk) 625 pwd pwd命令 – 显示当前工作目录的路径 pwd命令来自英文词组print working directory的缩写,其功能是显示当前工作目录的路径,即显示所在位置的绝对路径。
在实际工作中,我们经常会在不同目录之间进行切换,为了防止“迷路”,可以使用pwd命令快速查看当前所处的工作目录路径,方便开展后续工作。 pwd [参数] |-L: 显示逻辑路径 |
|-P: 显示实际物理地址 |
|--help: 显示帮助信息 | 示例1:
查看当前工作目录路径:
[root@linuxcool ~]# pwd
/root 磁盘管理(disk) 626 lvresize lvresize命令 – 调整LVM逻辑卷空间大小 lvresize命令用于调整LVM逻辑卷的空间大小,可以增大空间和缩小空间。使用lvresize命令调整逻辑卷空间大小和缩小空间时需要谨慎,因为它有可能导致数据丢失。 lvresize [参数] |-L: 指定逻辑卷的大小, 单位为“kKmMgGtT”字节 |
|-l: 指定逻辑卷的大小(LE数) | 示例1:
将逻辑卷空间增加200M:
[root@linuxcool ~]# lvresize -L +200M /dev/vg1000/lvol0
Extending logical volume lvol0 to 280.00 MB Logical volume lvol0 successfully resized 磁盘管理(disk) 627 pvdisplay pvdisplay命令 – 显示物理卷属性 pvdisplay命令用于显示物理卷的属性。显示的物理卷信息包括:物理卷名称、所属的卷组、物理卷大小、PE大小、总PE数、可用PE数、已分配的PE数和UUID。 pvdisplay [参数] |-s: 以短格式输出 |
|-m: 显示PE到LE的映射 | 示例1:
显示物理卷基本信息:
[root@linuxcool ~]# pvdisplay /dev/xvda2
--- Physical volume ---
PV Name /dev/xvda2
VG Name VolGroup
PV Size 7.51 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 1922
Free PE 0
Allocated PE 1922
PV UUID 6MQM6I-pgfg-PHVp-0cvz-k2WQ-YwP7-M0ee0b 磁盘管理(disk) 628 quotacheck quotacheck命令 – 扫描获取磁盘信息 quotacheck命令通过扫描指定的文件系统,获取磁盘的使用情况,创建、检查和修复磁盘配额(quota)文件。 quotacheck [参数] |-a: 扫描在/etc/fstab文件里,有加入quota设置的分区 |
|-d: 详细显示指令执行过程,便于排错或了解程序执行的情形 |
|-g: 扫描磁盘空间时,计算每个群组识别码所占用的目录和文件数目 |
|-R: 排除根目录所在的分区 |
|-u: 扫描磁盘空间时,计算每个用户识别码所占用的目录和文件数目 | 示例1:
将所有的在/etc/mtab内,含有quota支持的partition进行扫描:
[root@linuxcool ~]# quotacheck -avug
示例2:
强制扫描已挂载的filesystem:
[root@linuxcool ~]# quotacheck -avug -m 磁盘管理(disk) 629 lvscan lvscan命令 – 扫描LVM逻辑卷 lvscan命令用于扫描当前系统中存在的所有的LVM逻辑卷。使用lvscan指令可以发现系统中的所有逻辑卷,及其对应的设备文件。 lvscan [参数] |-b: 显示显示逻辑卷的主设备和此设备号 | 示例1:
使用lvscan命令扫描系统中的所有逻辑卷:
[root@linuxcool ~]# lvscan
示例2:
显示设备号:
[root@linuxcool ~]# lvscan -b 磁盘管理(disk) 630 mdu mdu命令 – 显示MS-DOS目录所占用的磁盘空间 mdu命令用于显示MS-DOS目录所占用的磁盘空间,mdu为mstools工具指令,可显示MS-DOS文件系统中目录所占用的磁盘空间。 mdu [参数] |-a: 显示每个文件及整个目录所占用的空间 |
|-s: 仅显示整个目录所占用的空间 | 示例1:
显示每个文件及整个目录所占用的空间:
[root@linuxcool ~]# mdu -a
示例2:
仅显示整个目录所占用的空间:
[root@linuxcool ~]# mdu -s 磁盘管理(disk) 631 mknod mknod命令 – 创建字符及块设备文件 mknod命令的功能是用于创建字符及块设备文件,Linux系统中的一切都是文件,在系统与设备通信之前,都会自动在/dev目录中生成对应的设备文件,如若没有自动完成,则需要管理员手动使用mknod命令建立它们。 mknod [参数] [设备名称] |c: 设置为字符设备类型 |
|b: 设置为设备类型 |
|-m: 设置权限模式 |
|-Z: 设置安全上下文 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例1:
创建一个指定名称的字符设备:
[root@linuxcool ~]#mknod linuxcool c 30 1
示例2:
创建一个指定名称的块设备:
[root@linuxcool ~]#mknod linuxprobe b 50 0 磁盘管理(disk) 632 vgchange vgchange命令 – 修改卷组属性 vgchange命令用于修改卷组的属性,经常被用来设置卷组是处于活动状态或非活动状态。处于活动状态的卷组无法被删除,必须使用vgchange命令将卷组设置为非活动状态后才能删除。 vgchange [参数] |-a: 设置卷组的活动状态 | 示例1:
将卷组”vglinuxprobe”设置为活动状态:
[root@linuxcool ~]# vgchange -ay vglinuxprobe 磁盘管理(disk) 633 vgs vgs命令 – 显示逻辑卷的卷组信息 vgs命令来自英文词组“volume groups display”的缩写,其功能是用于显示逻辑卷的卷组信息。LVM逻辑卷管理器中vg卷组是由一个或多个pv物理卷组成的设备,使用vgs命令能够查看到其基本信息,如若想要看到更详细的参数信息则需要使用vgdisplay命令。 vgs [参数] [卷组名] |--aligned: 使用分隔符对齐显示结果信息 |
|--all: 显示所有的卷组信息 |
|--help: 显示帮助信息 |
|--nameprefixes: 设置在前缀加上字段名 |
|--noheadings: 不显示标题行 |
|--nosuffix: 设置在输出尺寸上后缀 |
|--rows: 输出的列作为行 |
|--unbuffered: 直接输出内容,无需排序或对齐列 |
|--units: 设置显示卷组大小时的单位 |
|--version: 显示版本信息 | 示例1:
查看系统中所有的卷组设备信息:
[root@linuxcool ~]#vgsVG #PV #LV #SN Attr VSize VFree
rhel 1 2 0 wz--n- <19.00g 0
示例2:
查看系统中所有的卷组设备信息,不显示标题行:
[root@linuxcool ~]#vgs --noheadingsrhel 1 2 0 wz--n- <19.00g 0
示例3:
指定以兆(M)为单位输出卷组设备大小信息:
[root@linuxcool ~]#vgs --units=MVG #PV #LV #SN Attr VSize VFree
rhel 1 2 0 wz--n- 20396.90M 0M 磁盘管理(disk) 634 mkimage mkimage命令 – 制作可启动镜像文件 mkimage命令来自英文词组“Make image”的缩写,其功能是用于制作可启动镜像文件。mkimage命令是u-boot嵌入式系统引导加载程序用于制作系统镜像文件的工具,在使用bootm命令加载内核和根文件系统时都要用到这个工具。 mkimage [参数] [文件名] |-a: 设置RAM地址 |
|-A: 设置CPU架构 |
|-C: 设置压缩类型 |
|-d: 设置程序文件名 |
|-e: 设置内核的入口地址 |
|-n: 设置镜像文件名 |
|-O: 设置操作系统 |
|-T: 设置镜像类型 | 示例1:
指定CPU架构和操作系统,制作系统镜像文件:
[root@linuxcool ~]#mkimage -A arm -O linux -a 0x20008000 -e 0x20008000 -d File.bin.gz uImage
示例2:
指定压缩格式,制作系统镜像文件:
[root@linuxcool ~]#mkimage -A arm -O linux -C bzip2 -a 0x20008000 -e 0x20008000 -d File.bin.gz uImage 磁盘管理(disk) 635 vgextend vgextend命令 – 扩展卷组设备 vgextend命令来自英文词组volume group extend的缩写,其功能是扩展卷组设备。LVM(逻辑卷管理器)技术具有灵活调整卷组与逻辑卷的特点,可以在创建卷组时规定物理卷的数量,亦可在后期使用vgextend命令进行扩展。 vgextend [参数] 卷组 |-A: 设置是否自动备份 |
|-d: 使用调试模式 |
|-f: 强制进行卷组扩展而不询问 |
|-h: 显示帮助信息 |
|-v: 显示执行过程详细信息 |
|-y: 所有询问均回答自动yes | 示例1:
将指定的物理卷加入卷组设备:
[root@linuxcool ~]# vgextend VG01 /dev/sdb
Volume group "VG01" successfully extended 磁盘管理(disk) 636 vgconvert vgconvert命令 – 转换指定LVM卷组的元数据格式 vgconvert命令用于转换指定LVM卷组的元数据格式,通常将“LVM1”格式的卷组转换为“LVM2”格式。转换卷组元数据前必须保证卷组处于非活动状态,否则无法完成转换操作。 vgconvert [参数] |-M: 要转换的卷组格式 | 示例1:
转换vglinuxprobe卷组为LVM2格式:
[root@linuxcool ~]# vgconvert -M2 vglinuxprobe 磁盘管理(disk) 637 e2fsck e2fsck命令 – 检查使用 Linux ext2档案系统的partition是否正常工作 e2fsck命令用于检查使用Linuxext2 档案系统的 partition 是否正常工作。 e2fsck命令可以检查ext2、ext3、ext4文件系统,如果系统已经挂载了,那么不建议去检查,因为这样是不安全的。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。 e2fsck [参数] |device: 预备检查的硬盘 partition,例如:/dev/sda1 |
|-b: 设定存放 superblock 的位置 |
|-B: 设定单位 block 的大小 |
|-c: 检查该partition 是否有坏轨 |
|-C file: 将检查的结果存到 file 中以便查看 |
|-d: 列印 e2fsck 的 debug 结果 |
|-f: 强制检查 |
|-F: 在开始检查前,将device 的 buffer cache 清空,避免有错误发生 |
|-l bad_blocks_file: 将有坏轨的block资料加到 bad_blocks_file 里面 |
|-L bad_blocks_file: 设定坏轨的block资料存到 bad_blocks_file 里面,若无该档则自动产生 |
|-n: 将档案系统以[唯读]方式开启 |
|-p: 对 partition 做检查,若有问题便自动修复 |
|-v: 详细显示模式 |
|-V: 显示出目前 e2fsck 的版本 |
|-y: 预先设定所有检查时的问题均回答[是] | 示例1:
检查 /dev/hda5 是否正常,如果有异常便自动修复,并且设定若有问答,均回答[是]:
[root@linuxcool ~]# e2fsck -a -y /dev/hda5 磁盘管理(disk) 638 pvremove pvremove命令 – 删除物理卷 pvremove命令用于删除一个存在的物理卷。使用pvremove指令删除物理卷时,它将LVM分区上的物理卷信息删除,使其不再被视为一个物理卷。 pvremove [参数] |-d: 调试模式 |
|-f: 强制删除 |
|-y: 对提问回答yes | 示例1:
使用pvremove命令删除物理卷/dev/sdb1:
[root@linuxcool ~]# pvremove /dev/sdb1
示例2:
使用pvremove命令强制删除物理卷/dev/sdb2:
[root@linuxcool ~]# pvremove -f /dev/sdb2 磁盘管理(disk) 639 partprobe partprobe命令 – 重读分区表信息 partprobe命令来自英文词组partition probe的缩写,其功能是重读分区表信息。该命令可将磁盘分区表变化信息通知给系统内核,请求操作系统重新加载分区表。有时我们在创建或删除分区设备后,系统并不会立即生效,这时就需要使用partprobe命令在不重启系统的情况下重新读取分区表信息,使新设备信息与系统同步。 partprobe [参数] [设备名] |-d: 不更新内核 |
|-h: 显示帮助信息 |
|-v: 显示版本信息 | 示例1:
重读系统中全部设备的分区表信息:
[root@linuxcool ~]# partprobe
示例2:
重读系统中指定设备的分区表信息:
[root@linuxcool ~]# partprobe /dev/sda
示例3:
查看命令的帮助信息:
[root@linuxcool ~]# partprobe -h
Usage: partprobe [OPTION] [DEVICE]...
Inform the operating system about partition table changes.
-d, --dry-run do not actually inform the operating system
-s, --summary print a summary of contents
-h, --help display this help and exit
-v, --version output version information and exit
When no DEVICE is given, probe all partitions. 磁盘管理(disk) 640 lvchange lvchange命令 – 更改逻辑卷属性 lvchange命令来自英文词组“LV change”的缩写,其功能是用于更改逻辑卷属性。LVM逻辑卷管理器是Linux系统中常用的磁盘管理方式,但lvchange命令却并不是LVM技术常用的工具,仅用于需要更改LV逻辑卷属性时才会被用到。 lvchange [参数] [逻辑卷路径] |-a: 设置逻辑卷的可用性 |
|-C: 设置逻辑卷的连续分配策略 |
|-p: 设置访问权限 |
|-r: 设置预读比逻辑卷的扇区数 |
|--minor: 设置次要号码 |
|--monitor: 启动或停止监控逻辑卷快照 |
|--noudevsync: 禁用udev同步 |
|--refresh: 重新加载其元数据 |
|--resync: 强制镜像完全同步 |
|--sysinit: 使用早期系统初始化脚本 | 示例1:
设置指定的逻辑卷设备状态为不可用:
[root@linuxcool ~]#lvchange -a y /dev/vg/linuxcool
示例2:
设置指定的逻辑卷设备访问权限为只读类型:
[root@linuxcool ~]#lvchange -p r /dev/vg/linuxcool
示例3:
强制镜像设备重新同步:
[root@linuxcool ~]#lvchange --resync /dev/vg/linuxcool
示例4:
禁用udev服务同步:
[root@linuxcool ~]#lvchange --noudevsync /dev/vg/linuxcool
示例5:
重新加载逻辑卷元数据:
[root@linuxcool ~]#lvchange --refresh /dev/vg/linuxcool 磁盘管理(disk) 641 fsck-minix fsck.minix命令 – 文件系统管理 Linuxfsck.minix命令用于检查文件系统并尝试修复错误。
当minix文件系统发生错误时,可用fsck.minix指令尝试加以参考。
MINIX文件系统(英语:MINIX file system),一种文件系统,是MINIX操作系统中的原生文件系统。
MINIX是一个迷你版本的类Unix操作系统,由塔能鲍姆教授为了教学之用而创作,采用微核心设计。它启发了Linux核心的创作。 fsck.minix [参数] |-a: 自动修复文件系统,不询问任何问题 |
|-f: 强制对该文件系统进行完整检查,纵然该文件系统在慨略检查下没有问题 |
|-l: 列出所有文件名称 |
|-m: 使用类似MINIX操作系统的警告信息 |
|-r: 采用互动模式,在执行修复时询问问题,让用户得以确认并决定处理方式 |
|-s: 显示该分区第一个磁区的相关信息 |
|-v: 显示指令执行过程 | 示例1:
自动修复磁盘/etc/hdc1:
[root@linuxcool ~]# fsck.minix -a /etc/hdc1
示例2:
强制检查磁盘/etc/hdc1:
[root@linuxcool ~]# fsck.minix -f /etc/hdc1
示例3:
列出磁盘/etc/hdc1所有文件名称:
[root@linuxcool ~]# fsck.minix -l /etc/hdc1 磁盘管理(disk) 642 repquota repquota命令 – 显示文件系统配额的汇总信息 repquota用于显示指定文件系统的磁盘使用情况与配额设置的汇总信息,对于用户,显示当前创建的文件数量、存储空间使用数量,以及配额的设置信息。
由于需要把所有的用户ID与用户组ID翻译成相应的用户名与用户组名,repquota在显示数据时可能会有时间上的延迟。 repquota [参数] [文件] |-g: 显示基于用户组的配额信息 |
|-i: 忽略automounter守护进程安装的安装点 |
|-a: 显示/etc/mtab文件中已经设置了配额限制的所有文件系统的配额信息 |
|-c: 能把所有的用户id与用户组id一次翻译成用户名和用户名组 |
|-F: 按照指定格式显示配额信息 |
|-s: 采用易于理解的适当单位显示存储空间 |
|-v: 显示详细的配额信息,最后给出汇总统计数据 | 示例1:
查询所有用户的配额设置与存储空间的实际使用状况:
[root@linuxcool ~]# repquota -av
示例2:
采用易于阅读和理解的适当单位显示用户使用空间:
[root@linuxcool ~]# repquota -asv 磁盘管理(disk) 643 lvmdiskscan lvmdiskscan命令 – 扫描可见LVM2所有设备 lvmdiskscan命令的作用是可以在系统中为LVM物理卷扫描所有的SCSI、IDE磁盘、多种设备和其他块设备。
lvmdiskscan命令会扫描所有可见的LVM2设备,而LVM2比LVM1支持了更多的逻辑卷类型,支持了cluster lvm功能,提供了基于文本格式的元数据信息,提供了更多的命令集和操作命令。
lvmdiskscan命令报告的大小就是实际设备的大小。通常还可以通过lvmdiskscan命令来查看那些设备被做成了物理卷。
常用参数:lvmdiskscan [参数]
常用参数:
参考实例
扫描可见LVM2所有设备,只报告物理卷:
扫描所有可见LVM2设备:
扫描可见LVM2所有设备,以长格式显示:
这篇优质的内容由TA贡献而来
刘遄
《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。
京ICP备16058923号-1
推荐用书:《Linux就该这么学》
真正好用的Linux命令在线查询手册 |-l: 只报告物理卷 |
|-v: 长格式显示 |
|-h: 帮助 |
|-d: 调试模式 | 示例1:
扫描可见LVM2所有设备,只报告物理卷:
[root@linuxcool ~]# lvmdiskscan -l
示例2:
扫描所有可见LVM2设备:
[root@linuxcool ~]# lvmdiskscan
示例3:
扫描可见LVM2所有设备,以长格式显示:
[root@linuxcool ~]# lvmdiskscan -v 磁盘管理(disk) 644 convertquota convertquota命令 – 替换旧的磁盘额数据文件 convertquota命令用于将老的磁盘额数据文件(“quota.user”和“quota.group”)转换为新格式的文件(“quota.user”和“quota.group”)。 convertquota [参数] |-u: 仅转换用户磁盘配额数据文件 |
|-g: 仅转换组磁盘配额数据文件 |
|-f: 将老的磁盘配额文件转换为新的格式 |
|-e: 将新的文件格式从大字节序换为小字节序 | 示例1:
使用convertquota指令转换指定文件系统/data的磁盘配额数据文件:
[root@linuxcool ~]# convertquota -u /data 磁盘管理(disk) 645 quotaoff quotaoff命令 – 关闭磁盘空间限制 quotaoff命令关闭磁盘空间限制。
执行quotaoff命令可关闭用户和群组的磁盘空间限制。磁盘配额服务(quota)既然能使用 quotaon [命令]手动开启,那么自然也能手动关闭,使用quotaoff命令即可。quotaoff命令的功能就是关闭 quota 服务,此命令的基本格式同quotaon命令一样。 quotaoff [参数] |-a: 关闭在/etc/fstab文件里,有加入quota设置的分区的空间限制 |
|-g: 关闭群组的磁盘空间限制 |
|-u: 关闭用户的磁盘空间限制 |
|-v: 显示指令执行过程 | 示例1:
关闭配额限制:
[root@linuxcool ~]# mkfs -V -t msdos -c /dev/hda5
示例2:
将sda6分区格式化为ext3格式:
[root@linuxcool ~]# quotaoff -a 磁盘管理(disk) 646 quotastats quotastats命令 – 显示Linux系统当前的磁盘配额运行状态信息 quotastats命令用于显示Linux系统当前的磁盘配额运行状态信息。 quotastats 示例1:
显示磁盘配额限制状态:
[root@linuxcool ~]# quotastats 磁盘管理(disk) 647 pvmove pvmove命令 – 移动PV物理盘 pvmove命令来自英文词组“move physical volume”的缩写,其功能是用于移动PV物理盘。pvmove命令能够将某个指定的物理卷上的物理盘移动至另一个目标物理卷中,只要物理卷不同,就可以同时执行多个pvmove命令进行批量移动,效率还是很高的。 pvmove [参数] [源物理卷] [目标物理卷] |-b: 在后台运行守护进程 |
|-i: 设置报告进度的间隔时间 |
|-n: 仅移动属于指定逻辑卷的物理卷 |
|--noudevsync: 禁用udev同步服务 |
|--abort: 中止进行中的移动操作 | 示例1:
将指定源物理卷(/dev/sda)上的物理盘区移动至指定目标物理卷(/dev/sdb)上:
[root@linuxcool ~]#pvmove /dev/sda /dev/sdb
示例2:
将指定源物理卷(/dev/sda)上的物理盘区1000~1999,移动到目标物理卷(/dev/sdb)上:
[root@linuxcool ~]#pvmove /dev/sda:1000-1999 /dev/sdb
示例3:
中止正在进行的任何移动工作:
[root@linuxcool ~]#pvmove --abort 磁盘管理(disk) 648 pvs pvs命令 – 格式化输出物理卷信息报表 pvs命令用于格式化输出物理卷信息报表,使用pvs命令仅能得到物理卷的概要信息。 pvs [参数] |--noheadings: 不输出标题头 |
|--nosuffix: 不输出空间大小的单位 | 示例1:
输出物理卷信息报表:
[root@linuxcool ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/xvda2 VolGroup lvm2 a--u 7.51g 0
/dev/xvda3 VolGroup lvm2 a--u 11.99g 1.99g 磁盘管理(disk) 649 iozone iozone命令 – 测试磁盘性能 iozone命令来自英文词组“I/O zone”的拼写,其功能是用于测试磁盘性能。iozone是一个文件系统的检测工具,能够用来测试不同操作系统中的文件读写性能,通过这些量化的指标更好地调优服务器。 lozone [参数] [文件名] |-a: 使用自动模式 |
|-b: 输出成一个表格文件 |
|-C: 显示测试中每个客户传输的字节数 |
|-E: 进行扩展测试 |
|-f: 设置测试文件名 |
|-g: 设置最大文件大小 |
|-h: 显示帮助信息 |
|-i: 使用测试模式 |
|-n: 设置最小文件大小 |
|-q: 设置最大记录值 |
|-s: 设置测试时文件体积 |
|-t: 设置测试时启动的进程数 | 示例1:
测试指定的文件读写性能(/Dir/File),并将结果输出成表格文件(File.xls):
[root@linuxcool ~]#iozone -a -n 512m -g 4g -i 0 -i 1 -i 5 -f /Dir/File-Rb ./File.xls
示例2:
指定文件块大小,并进行读写性能测试:
[root@linuxcool ~]#iozone -a -i 0 -i 1 -i 2 -s 8g -r 16m -Rb ./File.xls
示例3:
对指定的挂载盘进行读写性能测试:
[root@linuxcool ~]#iozone -a -n 1g -g 4g -i 0 -i 1 -f /Dir/File-Rb ./File.xls 磁盘管理(disk) 650 mdadm mdadm命令 – 管理RAID设备 mdadm命令来自英文词组multiple devices admin的缩写,其功能是管理RAID设备。作为Linux系统下软RAID设备的管理神器,mdadm命令可以进行创建、调整、监控、删除等全套管理操作。 mdadm [参数] [设备名] |-a: 向RAID中添加新设备 |
|-B: 不把RAID信息写入每个成员的超级块中 |
|-c: 设置数据块默认大小 |
|-C: 把RAID信息写入每个成员的超级块中 |
|-D: 显示RAID设备的详细信息 |
|-E: 显示RAID设备成员的详细信息 |
|-f: 将指定RAID设备成员设置为故障模式 |
|-F: 使用监控模式 |
|-G: 设置RAID设备大小 |
|-I: 添加设备到RAID中 |
|-n: 设置RAID中活动设备的数量 |
|-r: 将指定成员移出RAID设备 |
|-R: 开始部分组装RAID设备 |
|-s: 扫描配置文件以搜寻丢失的信息 |
|-S: 停用RAID设备,并释放所有资源 |
|-v: 显示执行过程详细信息 |
|-x: 设置初始RAID设备的备用成员数量 |
|-z: 设置初始化RAID设备后,从每个成员获取的空间容量 |
|--zero-superblock: 使用零覆盖RAID设备中的超级块 | 示例1:
使用4块硬盘设备创建一个指定名称且级别为RAID 10的磁盘阵列组:
[root@linuxcool ~]# mdadm -Cv /dev/md0 -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde
mdadm: layout defaults to n2
mdadm: layout defaults to n2
mdadm: chunk size defaults to 512K
mdadm: size set to 20954112K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
示例2:
查看指定RAID设备的简要信息:
[root@linuxcool ~]# mdadm -Q /dev/md0
/dev/md0: 39.97GiB raid10 4 devices, 0 spares. Use mdadm --detail for more detail.
示例3:
查看指定RAID设备的详细信息:
[root@linuxcool ~]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Wed Jan 13 08:24:58 2024
Raid Level : raid10
Array Size : 41908224 (39.97 GiB 42.91 GB)
Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Thu Jan 14 04:49:57 2024
State : clean
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0
Layout : near=2
Chunk Size : 512K
Consistency Policy : resync
Name : localhost.localdomain:0 (local to host linuxprobe.com)
UUID : 289f501b:3f5f70f9:79189d77:f51ca11a
Events : 17
Number Major Minor RaidDevice State
0 8 16 0 active sync set-A /dev/sdb
1 8 32 1 active sync set-B /dev/sdc
2 8 48 2 active sync set-A /dev/sdd
3 8 64 3 active sync set-B /dev/sde
示例4:
将指定的硬盘从RAID设备中停止:
[root@linuxcool ~]# mdadm /dev/md0 -f /dev/sdb
mdadm: set /dev/sdb faulty in /dev/md0
[root@linuxcool ~]# mdadm /dev/md0 -r /dev/sdb
mdadm: hot removed /dev/sdb from /dev/md0
示例5:
将指定的硬盘添加至RAID设备中:
[root@linuxcool ~]# mdadm /dev/md0 -a /dev/sdb
mdadm: added /dev/sdb
示例6:
彻底停用一个RAID设备:
[root@linuxcool ~]# mdadm --stop /dev/md0
mdadm: stopped /dev/md0 磁盘管理(disk) 651 quotaon quotaon命令 – 激活Linux内核中指定文件系统的磁盘配额功能 quotaon命令用于激活Linux内核中指定文件系统的磁盘配额功能。执行quotaon指令可开启用户和群组的才磅秒年空间限制,各分区的文件系统根目录必须有quota.user和quota.group配置文件。 quotaon [参数] |-a: 开启在/ect/fstab文件里,有加入quota设置的分区的空间限制 |
|-g: 开启群组的磁盘空间限制 |
|-u: 开启用户的磁盘空间限制 |
|-v: 显示指令指令执行过程 | 示例1:
开启在/ect/fstab文件里,有加入quota设置的分区的空间限制:
[root@linuxcool ~]# quotaon -a
示例2:
开启指定分区的磁盘配额:
[root@linuxcool ~]# quotaon /dev/sdb1 磁盘管理(disk) 652 mpartition mpartition命令 – 建立或删除MS-DOS的分区 在讲述该命令之前,首先需要明白目录和分区的概念和区别:
Linux的分区是物理上的概念,从物理上将存储空间分开;Linux的目录是逻辑上的概念,Linux的目录树实际上是一个分区之间的数据逻辑结构关系,不是物理结构;一个分区必须挂载在一个目录下才能使用,分区可以挂载到任何目录;
总结:分区是真正存放数据的地方,只有一份数据。目录是分区数据的逻辑映射,就像Windows系统中的快捷方式一样,分区的数据可以挂载到任意多个不同目录,这些目录就像不同名的快捷方式,都指向同样的分区数据;
而mpartition为mtools工具命令,可建立或删除磁盘分区。mpartition命令用于建立或删除MS-DOS的分区。使用该命令正可以很好的进行磁盘分区。 mpartition [参数] |-a: 将分区设置为可开机分区 |
|-b<磁区数>: 建立分区时,指定要从第几个磁区开始建立分区。 |
|-c: 建立分区 |
|-d: 将分区设置为无法开机的分区 |
|-f: 强制地修改分区而不管检查时发生的错误信息 |
|-h<磁头数>: 建立分区时,指定分区的磁头数 |
|-I: 删除全部的分区 |
|-p: 当要重新建立分区时,显示命令列 |
|-r: 删除分区 | 示例1:
将/etc/linuxcool设置为可开机分区:
[root@linuxcool ~]# mpartition -a /etc/linuxcool
示例2:
删除指定分区:
[root@linuxcool ~]# mpartition -r /etc/linuxcool
示例3:
建立新分区:
[root@linuxcool ~]# mpartition -c /etc/linuxcool 磁盘管理(disk) 653 edquota edquota命令 – 编辑用户或群组的磁盘配额 edquota预设会使用vi来编辑使用者或群组的磁盘配额设置 edquota [参数] [用户或群组名称…] |-u: 设置用户的磁盘配额,这是预设的参 |
|-g: 设置群组的磁盘配额 |
|-p: 将源用户的磁盘配额设置套用至其他用户或群组 |
|-t: 设置宽限期限 | 示例1:
假设linuxcool是需要定额的系统帐户,来为用户分配磁盘配额:
[root@linuxcool ~]# edquota -u linuxcool
示例2:
想对Jack、Tom、Chen三个用户使用和linuxcool一样的限额配置:
[root@linuxcool ~]# edquota -p linuxcool -u Jack Tom Chen
示例3:
对组的配额,除了edquota命令中对应-u选项的改为-g选项,例如下面对webterm1组的操作:
[root@linuxcool ~]# edquota -g webterm1 磁盘管理(disk) 654 lvreduce lvreduce命令 – 减少LVM逻辑卷所占空间大小 lvreduce命令用于减少LVM逻辑卷占用的空间大小。使用lvreduce命令收缩逻辑卷的空间大小有可能会删除逻辑卷上已有的数据,所以在操作前必须进行确认。 lvreduce [参数] |-L: 指定逻辑卷的大小, 单位为“kKmMgGtT”字节 |
|-l: 指定逻辑卷的大小(LE数) |
|-f: 在不提示的情况下减小空间 | 示例1:
将逻辑卷的空间大小减少50M:
[root@linuxcool ~]# lvreduce -L -50M /dev/vg1000/lvol0
................
Do you really want to reduce lvol0? [y/n]: y
Reducing logical volume lvol0 to 252.00 MB
Logical volume lvol0 successfully resized 磁盘管理(disk) 655 lndir lndir命令 – 连接目录内容 lndir命令的全称为“ link directory ”,该命令用于连接目录内容。
执行lndir命令可以把源目录底下的文件和子目录统统建立起相互对应的符号连接。lndir命令用于创建目录的符号链接,和ln不同的是lndir会自动为源文件目录下所有的文件和子目录都建立对应的符号链接。 lndir [参数] |-ignorelinks: 直接建立符号连接的符号连接 |
|-silent: 不显示指令执行过程 | 示例1:
给目录下所有的文件或者子文件目录建立链接:
[root@linuxcool ~]# lndir /home/uptech abc 磁盘管理(disk) 656 eject eject命令 – 退出抽取式设备 eject命令用于退出抽取式设备。若设备已挂入,则eject会先将该设备卸除再退出。 eject [参数] [设备] |-a: 控制设备的自动退出功能 |
|-c: 选择光驱柜中的光驱 |
|-d: 显示预设的设备,而不是实际执行动作 |
|-f: 退出抽取式磁盘 |
|-h: 显示帮助 |
|-n: 显示指定的设备 |
|-q: 退出磁带 |
|-r: 退出光盘 |
|-s: 以SCSI指令来退出设备 |
|-t: 关闭光盘的托盘 |
|-v: 执行时,显示详细的说明 | 示例1:
不加参数默认弹出:
[root@linuxcool ~]# eject
示例2:
指定设备:
[root@linuxcool ~]# eject -r /dev/cdrom 磁盘管理(disk) 657 mlabel mlabel命令 – 设定磁盘的标签 mlabel命令用于设定磁盘的标签 (Label)。
如果磁盘上设定过标签,mlabel 会将他显示给使用者。如果没有指定新标签并且没有指定 c 或 s 选项,mlabel 会提示使用者输入新的标签。如果直接按下 Enter ,就会将原本的标签删除。 mlabel [参数] [设备] |-v: 更多的讯息 |
|-c: 清除原有的标签,不出现提示讯息 |
|-s: 显示目前的标签,不出现提示讯息 | 示例1:
将 A 盘的标签更改为 newlabel:
[root@linuxcool ~]# mlabel a:newlabel 磁盘管理(disk) 658 vgimport vgimport命令 – 导入卷组 vgimport命令的作用是可以导入卷组。
从不同的系统移动导出物理卷之后,vgimport命令配合相应map文件可以让系统再次认出导出的卷组。 vgimport [参数] [卷组名] |-a: 导入所有已经存在的卷组 |
|-s: 扫描与系统连接的每个磁盘,并使用具有匹配卷组信息的物理卷更新/etc/lvmtab文件,始终与-m一起使用 |
|-m: 产生一个map文件 |
|-v: 显示详细过程 |
|-N: 在/etc/lvmtab文件中填充持久性设备专用文件来配置卷组,只能与-s一起使用 | 示例1:
导入卷组vgl:
[root@linuxcool ~]# vgimport vgl
示例2:
使用map文件导入并自动搜索相应的硬盘:
[root@linuxcool ~]# vgimport –s –m /tmp/linuxcool_vg.map /dev/linuxcool_vg
示例3:
显示详细操作过程进行卷组导入:
[root@linuxcool ~]# vgimport -v -s -m /tmp/linuxcool_vg.map /dev/linuxcool_vg 磁盘管理(disk) 659 vgcfgrestore vgcfgrestore命令 – 还原卷组描述符区域 vgcfgrestore命令的作用是可以从一个文件备份中恢复卷组的元数据。可以附加相关参数来指定备份文件,如果没有指定备份文件,使用最近的一次。也可以使用附加参数列出可用的卷组名备份和归档文件。 vgcfgrestore [参数] [卷组名] |-l: 列出有关卷组元数据备份的文件和有关卷组的归档文件 |
|-n<卷组名>: 指定卷组名 |
|-f<文件名>: 指定用于恢复的LVM元数据备份文件 |
|-- -force: 以精简池卷恢复元数据(不进行任何校验,慎用) | 示例1:
恢复卷组vg_linuxcool的元数据:
[root@linuxcool ~]# vgcfgrestore vg_linuxcool
示例2:
使用指定用于恢复元数据备份文件:
[root@linuxcool ~]# vgcfgrestore /dev/vg0 -f /archive/vg0_backup.vg
示例3:
列出指定卷组名下的备份:
[root@linuxcool ~]# vgcfgrestore -l -n vg_linuxcool 磁盘管理(disk) 660 pvresize pvresize命令 – 调整LVM中物理卷的容量大小 pvresize命令来自英文词组physical volume resize的缩写,其功能是调整LVM中物理卷的容量大小。pvresize命令可以调整已在卷组中的物理卷的容量大小,一般在物理卷设备扩容或缩容前进行此操作,并在提前告知操作系统和LVM新的物理卷大小,若要缩小物理卷的容量,则不得低于已使用的容量。 pvresize [参数] [物理卷名] |-d: 使用调试模式 |
|-h: 显示帮助信息 |
|-t: 使用测试模式 |
|-v: 显示执行过程详细信息 |
|--reportformat: 设置当前报告的输出格式 |
|--setphysicalvolumesize: 覆盖物理卷自动检测到的尺寸 | 示例1:
同步物理卷的容量为最新大小:
[root@linuxcool ~]# pvresize /dev/sda2
Physical volume "/dev/sda2" changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized
示例2:
调整物理卷的容量大小为20GB(需二次确认):
[root@linuxcool ~]# pvresize --setphysicalvolumesize 20G /dev/sda2
WARNING: /dev/sda2: Overriding real size <19.00 GiB. You could lose data.
/dev/ sda2: Requested size 20.00 GiB exceeds real size <19.00 GiB. Proceed? [y/n]: y
WARNING: /dev/sda2: Pretending size is 41943040 not 39843840 sectors.
Physical volume "/dev/sda2" changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized
示例3:
以测试模式运行,同步物理卷的容量为最新大小:
[root@linuxcool ~]# pvresize -t /dev/sda2
TEST MODE: Metadata will NOT be updated and volumes will not be (de)activated.
WARNING: Device /dev/sda2 has size of 39843840 sectors which is smaller than corresponding PV size of 41940992 sectors. Was device resized?
One or more devices used as PVs in VG rhel_linuxprobe have changed sizes.
Physical volume "/dev/sda2" changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized 磁盘管理(disk) 661 gdisk gdisk命令 – 交互式管理GTP分区设备 gdisk命令来自英文词组“GPT fdisk”的缩写,其功能是用于交互式管理GTP分区设备。gdisk是一个基于命令行终端的用于创建和操作分区表的工具,能够将MBR分区转换成较新的GTP分区表格式,普遍认为是fdisk命令的升级版,主要用于GTP分区类型,可以划分容量2T的硬盘。 gdisk [参数] [设备名] |-l: 显示分区表信息 | 示例1:
显示指定硬盘设备上的GTP分区表信息:
[root@linuxcool ~]#gdisk -l /dev/sda
示例2:
对指定硬盘分区设备进行交互式管理:
[root@linuxcool ~]#gdisk /dev/sda 磁盘管理(disk) 662 df df命令 – 显示磁盘空间使用量情况 df命令来自英文词组report file system disk space usage的缩写,其功能是显示系统上磁盘空间的使用量情况。df命令显示的磁盘使用量情况含可用、已用及使用率等信息,默认单位为KB,建议使用-h参数进行单位换算,毕竟135MB比138240KB更利于阅读。 df [参数] [对象磁盘/分区] |-a: 显示所有文件系统 |
|-h: 以更易读的方式显示 |
|-H: 以1KB=1000B为换算单位 |
|-i: 显示索引字节信息 |
|-k: 设置显示时的块大小 |
|-t: 只显示指定类型文件系统 |
|-T: 显示文件系统的类型 |
|--sync: 在获取磁盘使用信息前先执行sync同步命令 | 示例1:
显示系统全部磁盘的使用量情况(带容量单位):
[root@linuxcool ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 969M 0 969M 0% /dev
tmpfs 984M 0 984M 0% /dev/shm
tmpfs 984M 9.6M 974M 1% /run
tmpfs 984M 0 984M 0% /sys/fs/cgroup
/dev/mapper/rhel-root 17G 3.9G 14G 23% /
/dev/sr0 6.7G 6.7G 0 100% /media/cdrom
/dev/sda1 1014M 152M 863M 15% /boot
tmpfs 197M 16K 197M 1% /run/user/42
tmpfs 197M 3.5M 194M 2% /run/user/0
示例2:
显示指定磁盘分区的使用量情况(带容量单位):
[root@linuxcool ~]# df -h /boot
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 1014M 152M 863M 15% /boot
示例3:
显示系统中所有文件系统格式为XFS的磁盘分区的使用量情况:
[root@linuxcool ~]# df -t xfs
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/rhel-root 17811456 4041320 13770136 23% /
/dev/sda1 1038336 155556 882780 15% /boot 磁盘管理(disk) 663 lvdisplay lvdisplay命令 – 显示LVM逻辑卷属性 lvdisplay命令用于显示LVM逻辑卷空间大小、读写状态和快照信息等属性。如果省略”逻辑卷”参数,则lvdisplay命令显示所有的逻辑卷属性。否则,仅显示指定的逻辑卷属性。 lvdisplay [参数] |-C: 以列显示输出 |
|-c: 使用冒号分隔输出 | 示例1:
使用lvdisplay命令显示指定逻辑卷的属性:
[root@linuxcool ~]# lvdisplay /dev/vg1000/lvol0
--- Logical volume ---
LV Name /dev/vg1000/lvol0
...................
Block device 253:0 磁盘管理(disk) 664 fdformat fdformat命令 – 对指定的软碟机装置进行低阶格式化 fdformat命令用于对指定的软碟机装置进行低阶格式化。
使用这个指令对软碟格式化的时候,最好指定像是下面的装置:
如果使用像是 /dev/fd0 之类的装置,如果里面的磁碟不是标准容量,格式化可能会失败。在这种情况之下,使用者可以用 setfdprm 指令先行指定必要参数。 fdformat [参数] |-n: 关闭确认功能。这个选项会关闭格式化之后的确认步骤 | 示例1:
将磁碟机 A 的磁片格式化成 1.4MB 的磁片,并且省略确认的步骤:
[root@linuxcool ~]# fdformat -n /dev/fd0h1440 磁盘管理(disk) 665 hdparm hdparm命令 – 显示与设定硬盘参数 hdparm命令来自英文词组hard disk parameters的缩写,其功能是显示与设定硬盘参数。在初次接手一块硬盘设备时,了解相关性能属性会有很好的帮助。 hdparm [参数] [设备名] |-a: 设置读取文件时预先存入块区的分区数 |
|-b: 设置总线状态参数 |
|-B: 设置高级电源管理功能 |
|-C: 检查当前的IDE电源模式状态 |
|-D: 启用或禁用硬盘缺陷管理功能 |
|-E: 设置CD/DVD驱动器的速率 |
|-f: 将内存缓冲区的数据写入硬盘,并清空缓冲区 |
|-F: 冲洗驱动器上的写缓存缓冲区 |
|-g: 显示硬盘的磁轨、磁头、磁区等参数 |
|-h: 显示帮助信息 |
|-i: 显示内核驱动的识别信息 |
|-N: 设置最大可见扇区数 |
|-r: 设置设备的只读标识,不允许写入操作 |
|-R: 注册一个IDE接口 |
|-s: 设置待机状态下的开机功能 |
|-S: 使硬盘进入低功耗模式 |
|-t: 评估硬盘读取效率 |
|-W: 管理IDE/SATA设备的写缓存功能 |
|-X: 设置硬盘的传输模式 |
|-z: 强制内核重新读取指定设备的分区表 | 示例1:
显示指定硬盘的相关信息:
[root@linuxcool ~]# hdparm /dev/sdb
/dev/sdb:
multcount = 255 (on)
IO_support = 1 (32-bit)
readonly = 0 (off)
readahead = 8192 (on)
geometry = 2610/255/63, sectors = 41943040, start = 0
示例2:
仅显示指定硬盘的柱面、磁头和扇区数信息:
[root@linuxcool ~]# hdparm -g /dev/sdb
示例3:
评估指定硬盘的读取效率:
[root@linuxcool ~]# hdparm -t /dev/sdb
示例4:
读取指定硬盘所提供的硬件规格信息:
[root@linuxcool ~]# hdparm -X /dev/sdb 磁盘管理(disk) 666 blktrace blktrace命令 – 分析磁盘I/O负载情况 blktrace命令来自英文词组block trace的缩写,其功能是分析磁盘I/O负载情况。在查看Linux系统磁盘的负载情况时,我们一般会使用iostat监控工具,其中很重要的参数就是await。await表示单个I/O所需的平均时间,但它同时也包含了I/O 调度器所消耗的时间和硬件所消耗的时间,所以不能作为硬件性能的指标。
那么,如何才能分辨一个I/O从下发到返回的整个时间内,是硬件耗时多还是在I/O调度耗时多呢?如何查看I/O在各个时间段所消耗的时间呢?blktrace命令在这种场合就能派上用场了,因为它能记录I/O所经历的各个步骤,从中可以分析是IO 调度器慢还是硬件响应慢,以及它们各自所用的时间。 blktrace [参数] [设备名] |-a: 添加到当前过滤器 |
|-A: 设置过滤信息为十六进制掩码 |
|-b: 设置缓存大小 |
|-d: 设置设备追踪 |
|-D: 设置输入文件的基本名称 |
|-h: 设置主机名 |
|-k: 杀掉正在运行的追踪 |
|-n: 设置缓冲池大小 |
|-o: 设置输出文件的名字 |
|-r: 设置debugfs挂载点 |
|-v: 显示版本信息 |
|-w: 设置运行的时间 | 示例1:
分析指定磁盘的I/O情况:
[root@linuxcool ~]# blktrace -d /dev/sda
示例2:
设置运行的时间为30秒,分析指定磁盘的I/O情况:
[root@linuxcool ~]# blktrace -w 30 -d /dev/sda
=== sda ===
CPU 0: 10 events, 1 KiB data
CPU 1: 0 events, 0 KiB data
CPU 2: 0 events, 0 KiB data
CPU 3: 0 events, 0 KiB data
CPU 4: 0 events, 0 KiB data
CPU 5: 0 events, 0 KiB data
CPU 6: 0 events, 0 KiB data
CPU 7: 0 events, 0 KiB data
CPU 8: 150 events, 8 KiB data
CPU 9: 10 events, 1 KiB data
CPU 10: 1 events, 1 KiB data
CPU 11: 0 events, 0 KiB data
CPU 12: 0 events, 0 KiB data
………………省略部分输出信息………………
示例3:
分析指定磁盘的I/O情况,并指定输出文件名称:
[root@linuxcool ~]# blktrace -d /dev/sda -o File
[root@linuxcool ~]# ls File.blktrace.*
File.blktrace.0 File.blktrace.14 File.blktrace.2 File.blktrace.4
File.blktrace.1 File.blktrace.15 File.blktrace.20 File.blktrace.5
File.blktrace.10 File.blktrace.16 File.blktrace.21 File.blktrace.6
File.blktrace.11 File.blktrace.17 File.blktrace.22 File.blktrace.7
File.blktrace.12 File.blktrace.18 File.blktrace.23 File.blktrace.8
File.blktrace.13 File.blktrace.19 File.blktrace.3 File.blktrace.9
………………省略部分输出信息……………… 磁盘管理(disk) 667 losetup losetup命令 – 设置循环设备 losetup命令用来设置循环设备,查看回环设备的状态。循环设备可把文件虚拟成区块设备,籍以模拟整个文件系统,让用户得以将其视为硬盘驱动器,光驱或软驱等设备,并挂入当作目录来使用。 losetup [参数] |-d: 卸除设备 |
|-e: 启动加密编码 |
|-o: 设置数据平移的数目 | 示例1:
使用 losetup将磁盘镜像文件虚拟成块设备:
[root@linuxcool ~]# losetup /dev/loop1 floppy.img 磁盘管理(disk) 668 sfdisk sfdisk命令 – 硬盘分区工具 sfdisk命令的功能是用于硬盘分区工作,与fdisk命令非常相似。Linux系统管理员使用sfdisk命令能够完成显示当前系统的各个分区信息、判断分区设备是否正常、在硬盘设备中建立和移除分区等操作。并且支持非交互式的配置方式,更适合在Shell脚本中被使用。 sfdisk [参数] [设备名] |-a: 在现有的分区表上添加新分区 |
|-A: 打开指定分区的启动标记 |
|-d: 显示硬盘分区的设置 |
|-f: 禁用所有一致性检查 |
|-F: 显示指定设备上未被分区的剩余空间 |
|-g: 显示模块的载入信息 |
|-h: 显示帮助信息 |
|-J: 使用JSON格式导出指定块设备的分区表 |
|-l: 显示硬盘分区的设置 |
|-n: 模拟操作,并不真正写入块设备 |
|-N: 从标准输入读取,创建指定分区表 |
|-o: 仅显示指定的字段 |
|-q: 静默执行模式 |
|-r: 对现有分区进行重新编号 |
|-s: 显示分区的大小 |
|-T: 显示所有文件系统ID |
|-v: 显示版本信息 |
|-V: 检查硬盘分区是否正常 |
|-x: 显示扩展分区中的逻辑分区 |
|-X: 设置分区表的类型。 |
|--delete: 删除指定分区 | 示例1:
显示当前系统的硬盘分区信息:
[root@linuxcool ~]#sfdisk -lDisk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xe2147da7
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 2099199 2097152 1G 83 Linux
/dev/sda2 2099200 41943039 39843840 19G 8e Linux LVM
………………省略部分输出信息………………
示例2:
显示指定硬盘设备的分区设置信息:
[root@linuxcool ~]#sfdisk -d /dev/sdalabel: dos
label-id: 0xe2147da7
device: /dev/sda
unit: sectors
/dev/sda1 : start= 2048, size= 2097152, type=83, bootable
/dev/sda2 : start= 2099200, size= 39843840, type=8e
示例3:
显示指定分区设备的大小信息:
[root@linuxcool ~]#sfdisk -s /dev/sda11048576 磁盘管理(disk) 669 parted parted命令 – 磁盘分区工具 parted命令来自英文单词,中文译为“分开”,其功能是用于磁盘分区。parted命令是由GNU组织开发的一款功能强大的磁盘分区和分区大小调整工具,与fdisk命令不同,它能够调整分区的大小,并且它可以处理最常见的分区格式,包括:ext2、ext3、fat16、fat32、NTFS、ReiserFS、JFS、XFS、UFS、HFS以及Linux交换分区。 parted [参数] [设备名] |-h: 显示帮助信息 |
|-i: 使用交互式模式 |
|-l: 显示设备上的分区列表 |
|-s: 使用脚本模式 |
|-v: 显示版本信息 | 示例1:
显示系统中的磁盘分区信息:
[root@linuxcool ~]#parted -lModel: ATA VMware Virtual S (scsi)
Disk /dev/sda: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 1075MB 1074MB primary xfs boot
2 1075MB 21.5GB 20.4GB primary lvm
………………省略部分输出信息………………
示例2:
对指定的磁盘设备进行分区操作:
[root@linuxcool ~]#parted /dev/sda 磁盘管理(disk) 670 lvmetad lvmetad命令 – 启动LVM元数据高速缓存守护进程 lvmetad命令的作用是启动LVM元数据缓存守护进程。
正常情况下,lvmetad命令通过处理来自客户端的提醒消息和系统的uevents来保持缓存处于最新状态。当其他主机改变磁盘上的元数据时,也应该使本机的lvmetad元数据缓存变为过时状态。
当一个命令向lvmetad命令发送获取元数据请求时,在lvmetad命令返回元数据的同时,附带缓存“无效”标志。命令在收到响应后首先检查这个标志,如果无效则扫描磁盘,获取最新的元数据。最后把最新的元数据发送给lvmetad命令,并清除其“无效”标志,后面再有新的命令获取元数据时获取的就是最新的元数据了。 lvmetad [参数] |-l<类型>: 选择日志消息的生成类型,类型可以是all、wire、debug |
|-s<路径>: 使用的socket文件的路径 |
|-f: 不fork,在前台运行 | 示例1:
启动LVM元数据缓存守护进程:
[root@linuxcool ~]# lvmetad
示例2:
设置日志类型为all:
[root@linuxcool ~]# lvmetad -l all
示例3:
指定socket文件的路径:
[root@linuxcool ~]# lvmetad -s /linuxcool 磁盘管理(disk) 671 lvs lvs命令 – 报告有关逻辑卷的信息 lvs命令的作用是可以报告有关逻辑卷的信息。
逻辑卷建立在卷组之上,它是从卷组中“切出”的一块空间。它是最终用户使用的逻辑设备。
逻辑卷相对于物理卷来说:可以将多个物理卷,合并为一个逻辑卷,这样一个分区的容量可以突破物理硬盘的限制。逻辑卷可以弹性的扩容和缩容,当我们不太确定一个应用将来所需的容量,可以先分配少一点的空间,这样可以随着业务发展,按需扩容,避免一次性分配过大磁盘空间导致的资源浪费。另外逻辑卷支持快照功能,可在对系统进行关键操作前设置还原点,避免操作失误导致的数据损坏。 lvs [参数] [卷组名] |-- -all: 包括所有有关内部逻辑卷的输出信息 |
|-- -units<输出单位>: 所有尺寸都在输出这些单位:h、H、b、B、s、S、k、K、m、M、g、G、t、T、p、P、e、E |
|-- -aligned: 使用带--separator分隔符对齐输出列 |
|-- -nosuffix: 在输出大小上后缀 |
|-- -rows: 输出列作为行 |
|-- -segments: 使用默认列强调段信息 |
|-- -nameprefixes: 添加一个“LVM2_”前缀加上字段名输出 |
|-- -unbuffered: 立即产生没有正确排序或对齐列的输出 |
|-- -noheadings: 标题行,这通常是输出的第一行 | 示例1:
报告有关逻辑卷的信息:
[root@linuxcool ~]# lvs
示例2:
输出所有有关内部逻辑卷的信息:
[root@linuxcool ~]# lvs --all fedora
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root fedora -wi-ao---- 15.00g
swap fedora -wi-ao---- <3.04g
示例3:
输出大小上后缀:
[root@linuxcool ~]# lvs --units M fedora
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root fedora -wi-ao---- 16106.13M
swap fedora -wi-ao---- 3258.97M 磁盘管理(disk) 672 quota quota命令 – 显示磁盘已使用的空间与限制 quota命令用于显示磁盘已使用的空间与限制。执行quota命令可查询磁盘空间的限制,并得知已使用多少空间。
语法参数:quota [参数]
常用参数:
参考实例
显示目前执行者(root )的 quota 值:
显示 test 这个使用者的 quota 值:
这篇优质的内容由TA贡献而来
刘遄
《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。
京ICP备16058923号-1
推荐用书:《Linux就该这么学》
真正好用的Linux命令在线查询手册 |-g: 列出群组的磁盘空间限制 |
|-q: 简明列表,只列出超过限制的部分 |
|-u: 列出用户的磁盘空间限制 |
|-v: 显示该用户或群组,在所有挂入系统的存储设备的空间限制 |
|-V: 显示版本信息 | 示例1:
显示目前执行者(root )的 quota 值:
[root@linuxcool ~]# quota -guvs
示例2:
显示 test 这个使用者的 quota 值:
[root@linuxcool ~]# quota -uvs test 磁盘管理(disk) 673 mformat mformat命令 – 格式化MS-DOS文件系统的磁盘 mformat命令可以用于对MS-DOS文件系统的磁盘进行格式化,在已经做过低阶格式化的磁片上建立 DOS 档案系统,此命令支持多种文件系统格式。 mformat [参数] |-t: 磁柱(synlider)数 |
|-h: 磁头(head)数 |
|-s: 每一磁轨的磁区数 |
|-S: 磁区大小代码,计算方式为 sector = 2^(大小代码+7) |
|-c: 磁丛(cluster)的磁区数。如果所给定的数字会导致磁丛数超过 FAT 表的限制,mformat 会自动放大磁区数。 |
|-M: 软件磁区大小。这个数字就是系统回报的磁区大小。通常是和实际的大小相同。 |
|-a: 如果加上这个参数,mformat 会产生一组 Atari 系统的序号给这块软碟。 |
|-X: 将软碟格式化成 XDF 格式。使用前必须先用 xdfcopy 指令对软碟作低阶格式化的动作。 | 示例1:
用预设值把 a: (就是 /dev/fd0)里的磁碟片格式化:
[root@linuxcool ~]# mformat a
示例2:
把 a: 格式化为XDF格式:
[root@linuxcool ~]# mformat -X a
示例3:
把 a: 格式化为FAT32格式:
[root@linuxcool ~]# mformat -F a 磁盘管理(disk) 674 fio fio命令 – 对磁盘进行压力测试 fio命令来自英文词组flexible I/O tester的缩写,其功能是对磁盘进行压力测试。硬盘I/O吞吐率是其性能的重要指标之一,运维人员可以使用fio命令对其进行测试,测试又可以细分为顺序读写和随机读写两大类。 fio [参数] [设备名] |--bandwidth-log: 生成每个作业的带宽日志 |
|--client: 设置要完成作业的主机信息 |
|--daemonize: 指定要将PID信息写入到的文件 |
|--debug: 使用调试模式 |
|--eta: 设置何时输出ETA评估值 |
|--help: 显示帮助信息 |
|--latency-log: 生成每个作业的延迟日志 |
|--minimal: 使用简洁格式显示统计信息 |
|--output: 设置输出文件名 |
|--runtime: 限制运行时间 |
|--readonly: 启用只读安全检查 |
|--version: 显示版本信息 | 示例1:
进行随机读取测试:
[root@linuxcool ~]# fio -filename=File -direct=1 -iodepth 1 -thread -rw=read -ioengine= psync -bs=16k -size=10G -numjobs=10 -runtime=100 -group_reporting -name=mytest
示例2:
进行随机写入测试:
[root@linuxcool ~]# fio -filename=File -direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=psync -bs=16k -size=200G -numjobs=30 -runtime=1000 -group_reporting -name=mytest
示例3:
进行顺序写入测试:
[root@linuxcool ~]# fio -filename=File -direct=1 -iodepth 1 -thread -rw=write -ioengine=psync -bs=16k -size=200G -numjobs=30 -runtime=1000 -group_reporting -name=mytest 磁盘管理(disk) 675 lvmdump lvmdump命令 – 转储LVM2有关的各种信息 lvmdump命令的作用是可以用来转储LVM2有关的各种信息。
LVM2是在linux上提供逻辑卷管理功能的用户空间工具集。它可以与原始LVM工具集向下兼容。
要使用LVM2需要三个条件:内核中的device-mapper,用户空间device-mapper支持库(libdevmapper)和用户空间LVM2工具。 lvmdump [参数] |-d<目录>: 转储到一个目录,而不是默认情况下的tar压缩包 |
|-c: 如果 clvmd 正在运行,也收集集群数据 |
|-a: 高级集合 |
|-s: 收集系统信息和上下文 |
|-p: 转储包含当前由守护程序监视的所有正在进行的操作以及部分历史记录 |
|-m: 从系统可见的所有pvs中生成1:1的元数据区域转储 | 示例1:
转储LVM2有关的各种信息:
[root@linuxcool ~]# lvmdump
示例2:
收集系统信息和上下文:
[root@linuxcool ~]# lvmdump -s
示例3:
将信息转储到一个目录:
[root@linuxcool ~]# lvmdump -d /linuxcool 磁盘管理(disk) 676 setquota setquota命令 – 设置文件系统配额 setquota是一个命令行配额编辑器,可以采用命令行的方式直接设置用户或用户组的配额限制。
若想禁用配额限制,可以把相应参数设置为0。如果多个文件系统需要修改配额设置,每个文件系统需要调用一次setquota命令。 setquota [参数] |-a: 编辑启用配额限制的所有文件系统 |
|-b: 从标准输入读取配额设置信息 |
|-u: 设置命令行参数name指定用户的配额 |
|-t: 设置用户数据快与信息节点的宽限时间周期 | 示例1:
在文件系统(/dev/sdb2)设置指定用户的配额限制:
[root@linuxcool ~]# setquota -u zwx 20480 40 960 600 1200 /deb/sda1
示例2:
把数据块与信息节点的宽限时间周期设置为10天(86400秒/每天):
[root@linuxcool ~]# setquota -tu 864000 86400 /deb/sda1 磁盘管理(disk) 677 fsadm fsadm命令 – 在设备上调整或检查文件系统 fsadm命令的作用是在设备上调整或检查文件系统。fsadm命令使用相同的API对ext2,ext3,ext4,ReiserFS和XFS文件系统进行操作。
当fsadm命令成功完成后,状态代码为0。状态代码2表示操作已被用户中断。状态代码3表示由于文件系统已安装且不支持在线fsck,无法执行请求的检查操作。其他故障使用状态码1。 fsadm [参数] check [设备] ;
fsadm [参数] resize [设备] [新的大小] |-v: 冗长模式 |
|-e: 在调整大小之前卸载文件系统 |
|-f: 省略合理检查 |
|-n: 无需运行,显示命令 |
|-l: 调整指定的设备(如果它是LVM设备) |
|-y: 任何提示回答是yes | 示例1:
在设备/dev/sda1上检查文件系统:
[root@linuxcool ~]# fsadm check /dev/sda1
示例2:
在设备/dev/sda1上调整文件系统大小为20480KB:
[root@linuxcool ~]# fsadm resize /dev/sda1 20480
示例3:
在设备/dev/test上的文件系统调整为3048MB。如果包含其它文件系统,它将在调整大小之前被卸载。所有问题都将回答“ y”:
[root@linuxcool ~]# fsadm -e -y resize /dev/test 3048M 磁盘管理(disk) 678 lvcreate lvcreate命令 – 创建逻辑卷设备 lvcreate命令的功能是创建逻辑卷设备。LVM(逻辑卷管理器)由物理卷、卷组和逻辑卷组成,其中lvcreate命令属于LVM创建工作的最后一个环节——创建逻辑卷设备。
在设定逻辑卷容量时,可以使用-L参数直接写具体值,亦可以使用-l参数指定PE(物理扩展块)个数,每个PE大小默认为4MB,因此-L 400M和-l 100的效力是等价的。 lvcreate [参数] [逻辑卷] |-A: 设置逻辑卷的可用性 |
|-c: 设置快照逻辑卷的块大小 |
|-C: 设置逻辑卷的连续分配策略 |
|-i: 设置条带数量 |
|-l: 设置逻辑卷的大小(PE个数) |
|-L: 设置逻辑卷的大小(容量值) |
|-n: 设置新的逻辑卷名 |
|-p: 设置逻辑卷的访问权限 |
|-r: 设置逻辑卷的超前读取扇区数 |
|-s: 为指定的逻辑卷创建快照卷 |
|-T: 创建精简逻辑卷 | 示例1:
在已有的卷组中(VG01)创建一个逻辑卷(V001),大小为100个PE:
[root@linuxcool ~]# lvcreate -n V001 -l 100 VG01
Logical volume "V001" created.
示例2:
在已有的卷组中(VG01)创建一个逻辑卷(V001),大小为400MB:
[root@linuxcool ~]# lvcreate -n V001 -L 400 VG01
Logical volume "V001" created.
示例3:
在已有的卷组中(VG01)创建一个逻辑卷(V001),大小为卷组中剩余的全部空间:
[root@linuxcool ~]# lvcreate -n V001 -l 100%FREE VG01
Logical volume "V001" created. 磁盘管理(disk) 679 vgcreate vgcreate命令 – 创建卷组设备 vgcreate命令的功能是创建卷组设备。LVM逻辑卷管理器技术由物理卷、卷组和逻辑卷组成,其中vgcreate命令属于LVM创建工作的第二个环节——创建卷组设备。
卷组,顾名思义是将多个物理卷组成一个整体,由于屏蔽了底层物理设备细节,用户可在创建逻辑卷后无须再考虑具体的硬件设备信息。 vgcreate [参数] [卷组名] [设备名] |-l: 设置卷组上允许创建的最大逻辑卷数 |
|-p: 设置卷组中允许添加的最大物理卷数 |
|-s: 设置卷组中物理卷的PE大小 | 示例1:
使用两块硬盘,创建出一块指定名称的卷组设备:
[root@linuxprobe ~]# vgcreate VG01 /dev/sdb /dev/sdc
Volume group "VG01" successfully created 磁盘管理(disk) 680 badblocks badblocks命令 – 检查磁盘装置中损坏的区块 badblocks就是一个检查磁盘装置中损坏区块的命令,执行该命令时只须指定所要检查的磁盘装置,及此装置的磁盘区块数。 badblocks [参数] |-b: 指定磁盘的区块大小,单位为字节 |
|-o: 将检查的结果写入指定的输出文件 |
|-s: 在检查时显示进度 |
|-v: 执行时显示详细的信息 |
|-w: 在检查时,执行写入测试 | 示例1:
通过命令扫描硬盘:
[root@linuxcool ~]# badblocks -s -v /dev/sdnx
示例2:
其中n表示硬盘设备名,x表示硬盘对应的分区号,例如需要检查”/dev/sda2″:
[root@linuxcool ~]# badblocks -s -v /dev/sda2
Checking blocks 0 to 30681000
Checking for bad blocks (read-only test): 306809600674112/ 306810000000 30680964
30680965
30680966
30680967
30680968
30680969
30680970
30680971
30680972
30680973
...
done Pass completed, 37 bad blocks found.其中,“37 bad blocks found”表示硬盘存在37个坏块。
示例3:
以4096字节为一个“block”,每一个“block”检查1次, 将结果输出到“hda-badblocks-list.1”文件中,由第51000 block开始,到63000 block结束:
[root@linuxcool ~]# badblocks -b 4096 -c 1 /dev/hda1 -o hda-badblocks-list.1 63000 51000
示例4:
扫描硬盘的损坏扇区或区块并写入到临时文件夹下的bad-blocks.txt文件中:
[root@linuxcool ~]# badblocks -v -o /dev/sdb > /tmp/bad-blocks.txt
示例5:
如果找到了坏道,可以进行写入扫描进行修复。写入扫描遇到坏道的时候会自动重映射。写入扫描会覆盖原有数据,所以请先备份。写入扫描速度很低,所以应该只扫描只读扫描时候发现错误的部分:
[root@linuxcool ~]# badblocks -w -s /dev/sdb END START 磁盘管理(disk) 681 lvmconf lvmconf命令 – LVM配置修改 lvmconf命令的作用是可以修改在LVM配置文件中锁定的配置。
LVM全拼为Logical Volume Manager ,逻辑卷管理LVM是一个多才多艺的硬盘系统工具,无论在linux或者其他类似的系统,都是非常的好用。
传统分区使用固定大小分区,重新调整大小十分麻烦,但是LVM可以创建和管理“逻辑”卷,而不是直接使用物理硬盘,可以让管理员弹性的管理逻辑卷的扩大缩小,操作简单,而不损坏已存储的数据。可以随意将新的硬盘添加到LVM,以直接扩展已经存在的逻辑卷,LVM并不需要重启就可以让内核知道分区的存在。 lvmconf [参数] |-- -disable-cluster: 设置locking_type为默认的非聚集型 |
|-- -lockinglibdir<目录>: 指定locking_library锁定库目录 |
|-- -enable-cluster: 在此系统上设置locking_type到默认集群类型 |
|-- -file<配置文件>: 将更改应用到指定的配置文件,而不是默认的/etc/lvm/lvm.conf文件 |
|-- -lockinglib: 如果使用一个外部锁定类型,则设置外部locking_library锁定库进行装载 | 示例1:
设置locking_type为默认的非聚集型:
[root@linuxcool ~]# lvmconf --disable-cluster
示例2:
指定locking_library锁定库目录:
[root@linuxcool ~]# lvmconf --lockinglibdir /linuxcool
示例3:
设置locking_type到默认集群类型:
[root@linuxcool ~]# lvmconf --enable-cluster 磁盘管理(disk) 682 mkfs-ext4 mkfs.ext4命令 – 对磁盘设备进行EXT4格式化 mkfs.ext4命令来自英文词组make filesystem Ext4的缩写,其功能是对磁盘设备进行EXT4格式化操作。 mkfs.ext4 [参数] [设备名] |-b: 设置文件数据块大小 |
|-c: 格式化前检查分区是否有坏块 |
|-E: 设置文件系统扩展选项 |
|-f: 以字节为单位指定片段大小 |
|-F: 强制格式化而不询问 |
|-g: 设置一个块组中的块数 |
|-i: 设置字节和节点的比率 |
|-I: 设置每个节点的大小 |
|-l: 读取文件名中的坏块列表 |
|-M: 设置文件系统的最后挂载目录 |
|-o: 覆盖文件系统的“创建者操作系统”字段的默认值 |
|-O: 使用指定的特性创建一个文件系统 |
|-q: 静默执行模式 |
|-t: 设置要创建的文件系统类型 |
|-U: 使用指定的UUID创建文件系统 |
|-V: 显示版本信息 | 示例1:
检查指定的磁盘设备并进行格式化操作:
[root@linuxcool ~]# mkfs.ext4 -c /dev/sdb
mke2fs 1.44.3 (10-July-2018)
Creating filesystem with 5242880 4k blocks and 1310720 inodes
Filesystem UUID: 2468ba17-0d37-4900-b67e-5f3a24084fc5
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000
Checking for bad blocks (read-only test): 0.00% done, 0:00 elapsed. (0/0/0 errdone
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
示例2:
对指定的磁盘设备进行格式化操作,保留5%容量给管理员:
[root@linuxcool ~]# mkfs.ext4 -m 5 /dev/sdb
mke2fs 1.44.3 (10-July-2018)
Creating filesystem with 5242880 4k blocks and 1310720 inodes
Filesystem UUID: a3a61300-5195-44c7-be1c-dcf9ba0fbfbe
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
示例3:
对指定的磁盘设备进行格式化操作,添加卷标识,并修改块大小:
[root@linuxcool ~]# mkfs.ext4 -L 'LinuxCool' -b 2048 /dev/sdb
mke2fs 1.44.3 (10-July-2018)
Creating filesystem with 10485760 2k blocks and 1310720 inodes
Filesystem UUID: 73ad248c-2a01-49dd-aa46-8770ecbc56fd
Superblock backups stored on blocks:
16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816, 1327104,
2048000, 3981312, 5619712, 10240000
Allocating group tables: done
Writing inode tables: done
Creating journal (65536 blocks): done
Writing superblocks and filesystem accounting information: done 磁盘管理(disk) 683 mzip mzip命令 – 控制磁盘驱动器 mzip是Zip/Jaz磁盘驱动器控制命令。为mtools工具命令,可设置Zip或Jaz磁盘驱动区的保护模式以及执行退出磁盘的动作。 mzip [参数] |-e: 退出磁盘 |
|-f: 与-e参数一并使用,不管是否已经挂入磁盘中的文件系统,一律强制退出磁盘 |
|-p: 设置磁盘的写入密码 |
|-q: 显示目前的状态 |
|-r: 将磁盘设为防写状态 |
|-u: 退出磁盘以前,暂时解除磁盘的保护状态 |
|-w: 将磁盘设为可写入状态 |
|-x: 设置磁盘的密码 | 示例1:
退出磁盘:
[root@linuxcool ~]# mzip -e
示例2:
强制退出磁盘:
[root@linuxcool ~]# mzip -f -e
示例3:
设置磁盘为可写:
[root@linuxcool ~]# mzip -w
示例4:
设置磁盘密码:
[root@linuxcool ~]# mzip -x linuxcool
示例5:
设置磁盘为防写:
[root@linuxcool ~]# mzip -r 磁盘管理(disk) 684 pvck pvck命令 – 检测物理卷LVM元数据一致性 pvck命令用来检测物理卷的LVM元数据的一致性。默认情况下,物理卷中的前4个扇区保存着LVM卷标。 pvck [参数] |-d: 调试模式 |
|-v: 详细信息模式 |
|--labelsector: 指定LVE卷标所在扇区 | 示例1:
使用pvck命令检查物理卷/dev/sdb1:
[root@linuxcool ~]# pvck -v /dev/sdb1
Scanning /dev/sdb1
Found label on /dev/sdb1, sector 1, type=LVM2 001
Found text metadata area: offset=4096, size=192512
Found LVM2 metadata record at offset=125952,
size=70656, offset2=0 size2=0 磁盘管理(disk) 685 sync sync命令 – 刷新文件系统缓冲区 sync命令用于强制被改变的内容立刻写入磁盘,更新信息速度非常快, 在Linux/Unix系统中,在文件或数据处理过程中一般先放到内存缓冲区中,等到适当的时候再写入磁盘,以提高系统的运行效率。
sync命令则可用来强制将内存缓冲区中的数据立即写入磁盘中。用户通常不需执行sync命令,系统会自动执行update或bdflush操作,将缓冲区的数据写 入磁盘。只有在update或bdflush无法执行或用户需要非正常关机时,才需手动执行sync命令。 sync [参数] |--help: 显示命定详细帮助信息 |
|--version: 显示版本号 | 示例1:
显示帮助信息:
[root@linuxcool ~]# sync --helpUsage: sync [OPTION]Force changed blocks to disk, update the super block.--help display this help and exit--version output version information and exitGNU coreutils online help: For complete documentation, run: info coreutils 'sync invocation'
示例2:
显示版本:
[root@linuxcool ~]# sync --versionsync (coreutils) 8.22Copyright (C) 2013 Free Software Foundation, Inc.License GPLv3+: GNU GPL version 3 or later .This is free software: you are free to change and redistribute it.There is NO WARRANTY, to the extent permitted by law.Written by Jim Meyering. 磁盘管理(disk) 686 vgdisplay vgdisplay命令 – 显示VG信息 vgdisplay命令来自英文词组volume group display的缩写,其功能是显示VG(卷组)信息。细心负责的运维人员在创建卷组后都会使用vgdisplay命令再次确认,检查PE大小、容量、名称等信息是否正确,在一切稳妥后再进行下一步操作。 vgdisplay [参数] [卷组名] |-A: 显示卷组属性信息 |
|-s: 使用短格式输出 | 示例1:
查看系统中全部的卷组信息:
[root@linuxcool ~]# vgdisplay
示例2:
查看系统中指定名称的卷组信息:
[root@linuxcool ~]# vgdisplay VG01
示例3:
仅查看系统中指定名称的卷组的属性信息:
[root@linuxcool ~]# vgdisplay -A VG01
示例4:
仅查看系统中指定名称的卷组的短格式属性信息:
[root@linuxcool ~]# vgdisplay -s VG01 磁盘管理(disk) 687 vgcfgbackup vgcfgbackup命令 – 备份卷组描述符区域 vgcfgbackup命令的作用是可以备份卷组的元数据。如果在命令行上没有指定任何卷组,将备份所有的卷组。在默认情况下,每个卷组被备份到一个单独的带有卷组名称的文件中,该文件存储在/etc/lvm/backup目录中。 vgcfgbackup [参数] [卷组名] |-d: 启用调试模式 |
|-f<文件名>: 指定备份文件 |
|-- -ignorelockingfailure: 忽略锁定失败 |
|-v: 显示详细信息 | 示例1:
备份卷组vg_linuxcool的元数据:
[root@linuxcool ~]# vgcfgbackup vg_linuxcool
示例2:
显示备份详细信息:
[root@linuxcool ~]# vgcfgbackup -v vg_linuxcool
示例3:
指定备份文件:
[root@linuxcool ~]# vgcfgbackup -f vg_001 磁盘管理(disk) 688 pvcreate pvcreate命令 – 创建物理卷设备 pvcreate命令的功能是创建物理卷设备。LVM(逻辑卷管理器)由物理卷、卷组和逻辑卷组成,其中pvcreate命令属于LVM创建工作的第一个环节—创建物理卷设备。 pvcreate [参数] [物理卷] |-f: 强制创建物理卷而不询问 |
|-u: 设置设备的UUID |
|-z: 设置是否使用最前面的扇区 | 示例1:
将指定的某个磁盘设备创建为物理卷设备:
[root@linuxcool ~]# pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created.
示例2:
将指定的多个磁盘设备创建为物理卷设备:
[root@linuxcool ~]# pvcreate /dev/sdc{1,2,3,4}
Physical volume "/dev/sdc1" successfully created.
Physical volume "/dev/sdc2" successfully created.
Physical volume "/dev/sdc3" successfully created.
Physical volume "/dev/sdc4" successfully created. 磁盘管理(disk) 689 fdisk fdisk命令 – 管理磁盘分区 fdisk的意思是固定磁盘(fixed disk)或格式化磁盘(format disk),该命令的功能是管理磁盘的分区信息。
fdisk命令可以用来对磁盘进行分区操作,用户可以根据实际情况对磁盘进行合理划分,这样后期挂载和使用时会方便很多。 fdisk [参数] [设备名] |-b: 设置每个分区的大小 |
|-c: 关闭DOS兼容模式 |
|-C: 设置硬盘的柱面数量 |
|-h: 显示帮助信息 |
|-H: 设置硬盘的磁头数 |
|-s: 显示指定的分区大小 |
|-S: 设置每个磁道的扇区数 |
|-u: 以分区数目代替柱面数目 |
|-v: 显示版本信息 | 示例1:
查看当前系统的分区情况:
[root@linuxcool ~]# fdisk -l
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x5f1d8ee5
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 2099199 2097152 1G 83 Linux
/dev/sda2 2099200 41943039 39843840 19G 8e Linux LVM
………………省略部分输出信息………………
示例2:
管理指定硬盘的分区(具体过程可以参考《Linux就该这么学(第2版)》第6章):
[root@linuxcool ~]# fdisk /dev/sda
Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): n
All space for primary partitions is in use.
Command (m for help): m
Help:
DOS (MBR) a toggle
a bootable flag
b edit nested BSD disklabel
c toggle the dos compatibility flag
Generic
d delete a partition
F list free unpartitioned space
l list known partition types
n add a new partition
p print the partition table
t change a partition type
v verify the partition table
i print information about a partition
Misc
m print this menu
u change display/entry units
x extra functionality (experts only)
Script
I load disk layout from sfdisk script file
O dump disk layout to sfdisk script file
Save & Exit
w write table to disk and exit
q quit without saving changes
Create a new label
g create a new empty GPT partition table
G create a new empty SGI (IRIX) partition table
o create a new empty DOS partition table
s create a new empty Sun partition table
………………省略部分输出信息……………… 磁盘管理(disk) 690 arpd arpd命令 – 收集arp信息 arpd命令是用来收集免费arp信息的一个守护进程,它将收集到的信息保存在磁盘上或者在需要时,提供给内核用户用于避免多余广播。 arpd [参数] |-l: 将arp数据库输出到标准输出设备显示并退出 |
|-f: 指定读取和加载arpd数据库的文本文件,文件的格式与“-l”输出信息类似 |
|-b: 指定arpd数据库文件,默认的位置为“/var/lib/arpd.db |
|-a: 指定目标被认为死掉前查询的次数 |
|-k: 禁止通过内核发送广播查询 |
|-n: 设定缓冲失效时间 | 示例1:
启动arpd进程:
[root@linuxcool ~]# arpd -b /var/tmp/arpd.db
示例2:
一段时间后看结果:
[root@linuxcool ~]# killall arpd ; arpd -l -b /var/tmp/arpd.db
示例3:
启用内核帮助程序,将主要角色留给内核:
[root@linuxcool ~]# arpd -b /var/tmp/arpd.db -a 1 eth0 eth1
示例4:
完全替换接口eth0和eth1上的内核决议。 在这种情况下,内核仍会进行单播探测以验证条目,但所有广播活动都被抑制并在arpd的授权下进行:
[root@linuxcool ~]# arpd -b /var/tmp/arpd.db -a 3 -k eth0 eth1
示例5:
禁止内核发送广播查询 :
[root@linuxcool ~]# arpd -k 磁盘管理(disk) 691 ext2ed ext2ed命令 – 文件系统编辑程序 ext2ed命令属于ext2文件系统编辑程序。
ext2ed可直接处理硬盘分区上的数据,这指令只有Red HatLinux才提供。 ext2ed [参数] |setdevice[设备名称]: 指定要处理的设备 |
|disablewrite: 将ext2ed设为只读的状态 |
|enablewrite: 将ext2ed设为可读写的状态 |
|next: 移至下一个单位,单位会依目前所在的模式而异 |
|prev: 移至前一个单位,单位会依目前所在的模式而异 |
|pgup: 移至下一页 |
|pgdn: 移至上一页 | 示例1:
处理硬盘/dev/hdc2分区上的数据:
[root@linuxcool ~]# ext2ed setdevice /dev/hdc2
示例2:
将ext2ed设为只读的状态:
[root@linuxcool ~]# ext2ed disablewrite
示例3:
将ext2ed设为可读写的状态:
[root@linuxcool ~]# ext2ed enablewrite 磁盘管理(disk) 692 swapon swapon命令 – 激活交换分区 swapon命令来自英文词组“SWAP on”的拼写,其功能是用于激活交换分区。swapon命令用于激活Linux系统中已存在的SWAP交换分区设备,让SWAP交换分区内存可以立即被使用,但要想永久生效还是需要将挂载信息写入到/etc/fstab文件。 swapon [参数] [设备名] |-a: 激活所有“/etc/fstab”文件中的交换分区 |
|-e: 跳过不存在的设备 |
|-f: 重新初始化整个设备 |
|-h: 显示帮助信息 |
|-L: 指定要启动分区的LABEL |
|-p: 设置交换区的优先顺序 |
|-s: 显示交换区的使用情况 |
|-U: 指定要启动分区的UUID |
|-v: 显示执行过程详细信息 |
|-V: 显示版本信息 | 示例1:
查看已有指定交换分区设备信息:
[root@linuxcool ~]#swapon -v /dev/mapper/rhel-swapswapon: /dev/mapper/rhel-swap: found signature [pagesize=4096, signature=swap]
swapon: /dev/mapper/rhel-swap: pagesize=4096, swapsize=2147483648, devsize=2147483648
swapon /dev/mapper/rhel-swap
示例2:
查看当前已有交换分区使用情况:
[root@linuxcool ~]#swapon -sFilename Type Size Used Priority
/dev/dm-1 partition 2097148 1804 -2
示例3:
对指定的交换分区设置优先权级别:
[root@linuxcool ~]#swapon -p 3 /dev/dm-1
示例4:
立即激活所有/etc/fstab文件中定义过的交换分区:
[root@linuxcool ~]#swapon -a 磁盘管理(disk) 693 newgrp newgrp命令 – 登入另一个群组 newgrp命令类的英文全称为“new group”,该命令类似login指令,当它是以相同的帐号,另一个群组名称,再次登入系统。欲使用newgrp指令切换群组,您必须是该群组的用户,否则将无法登入指定的群组。
单一用户要同时隶属多个群组,需利用交替用户的设置。若不指定群组名称,则newgrp指令会登入该用户名称的预设群组。 newgrp [参数] |--help: 在线帮助 |
|--vesion: 显示版本信息 | 示例1:
将群组切换到linuxcool组 :
[root@linuxcool ~]# newgrp linuxcool 磁盘管理(disk) 694 free free命令 – 显示系统内存使用量情况 free命令的功能是显示系统内存使用量情况,包含物理内存和交换内存的总量、使用量、空闲量情况。 free [参数] |-b: 设置显示单位为B |
|-g: 设置显示单位为GB |
|-h: 自动调整合适的显示单位 |
|-k: 设置显示单位为KB |
|-l: 显示低内存和高内存统计数据 |
|-o: 不显示缓冲区数据列 |
|-s: 持续显示内存数据 |
|-t: 显示内存使用总和 |
|-V: 显示版本信息 | 示例1:
以默认的容量单位显示内存使用量信息:
[root@linuxcool ~]# free
total used free shared buff/cache available
Mem: 2013304 1372796 87432 17620 553076 444040
Swap: 2097148 1804 2095344
示例2:
以MB为单位显示内存使用量信息:
[root@linuxcool ~]# free -m
total used free shared buff/cache available
Mem: 1966 1342 123 14 499 434
Swap: 2047 9 2038
示例3:
以易读的单位显示内存使用量信息:
[root@linuxcool ~]# free -h
total used free shared buff/cache available
Mem: 1.9Gi 1.3Gi 120Mi 14Mi 500Mi 431Mi
Swap: 2.0Gi 9.0Mi 2.0Gi
示例4:
以易读的单位显示内存使用量信息,每隔10s刷新一次:
[root@linuxcool ~]# free -hs 10
total used free shared buff/cache available
Mem: 1.9Gi 1.3Gi 119Mi 14Mi 500Mi 430Mi
Swap: 2.0Gi 9.0Mi 2.0Gi
total used free shared buff/cache available
Mem: 1.9Gi 1.3Gi 119Mi 14Mi 500Mi 430Mi
Swap: 2.0Gi 9.0Mi 2.0Gi 磁盘管理(disk) 695 mkdosfs mkdosfs命令 – 建立DOS文件系统 mkdosfs命令用于建立DOS文件系统。 mkdosfs [参数] |-c: 建立档案系统之前先检查是否有坏轨 |
|-l: 从得定的档案中读取坏轨记录 |
|-f: 指定档案配置表的数量 |
|-F: 指定 FAT 表的大小,通常是 12 或是 16 个位元组 |
|-i: 指定 Volume ID |
|-n: 指定 Volume Name,即磁碟标签 |
|-r: 指定根目录下的最大档案数 |
|-v: 提供额外的信息 | 示例1:
将 A 槽里的磁碟片格式化为 DOS 格式,并将标签设为 Tester:
[root@linuxcool ~]# mkdosfs -n Tester /dev/fd0 磁盘管理(disk) 696 vgremove vgremove命令 – 删除VG卷组设备 vgremove命令来自英文词组“Volume group remove”的缩写,其功能是用于删除VG卷组设备。创建LVM逻辑卷的流程顺序为PV→VG→LV,而删除LVM逻辑卷流程顺序则为LV→VG→PV,因此请在决定删除VG卷组前先确认LV逻辑卷是否已被删除,然后再执行此命令。
*当要删除的卷组上已经创建了逻辑卷时,需要进行确认删除,防止误删除数据。 vgremove [参数] [卷组名称] |-f: 强制删除而不询问 |
|-t: 使用测试模式 |
|-v: 显示执行过程详细信息 | 示例1:
删除指定的卷组设备:
[root@linuxcool ~]#vgremove VG01Volume group "VG01" successfully removed 磁盘管理(disk) 697 warnquota warnquota命令 – 发送邮件给超出配额的用户 warnquota命令的作用是可以对超过磁盘限额的用户发出警告邮件,而邮件的内容在/etc/warnquota.conf文件中进行设置。
warnquota命令需要安装包quota-warnquota的支持才可以使用。 warnquota [参数] |-u: 向用户发出警告 |
|-g: 向组群发出警告 |
|-s: 用更易懂的单位发送信息 |
|-i: 避免autofs挂载点 |
|-d: 不给自己发送磁盘配额信息 |
|-F<格式名>: 使用特定格式的配额文件 |
|-c<配置文件>: 非默认配置文件 |
|-a<管理员文件>: 非默认的管理员文件 | 示例1:
使用配置文件发送磁盘配额警告电子邮件:
[root@linuxcool ~]# warnquota -c /etc/warnquota.conf
示例2:
用更易懂的单位发送电子邮件:
[root@linuxcool ~]# warnquota -s
示例3:
使用特定格式的配额文件发送磁盘配额警告电子邮件:
[root@linuxcool ~]# warnquota -F /etc/warning.conf 磁盘管理(disk) 698 lvextend lvextend命令 – 扩展逻辑卷设备 lvextend命令来自英文词组logical volume extend的缩写,其功能是扩展逻辑卷设备。LVM(逻辑卷管理器)技术具有灵活调整卷组与逻辑卷的特点,逻辑卷设备容量可以在创建时规定,亦可在后期根据业务需求进行动态扩展或缩小。 lvextend [参数] [逻辑卷] |-f: 强制扩展设备而不询问 |
|-i: 设置扩展的条带数量 |
|-l: 设置逻辑卷的大小(PE个数) |
|-n: 扩展前不进行文件系统检查 |
|-r: 使用fsadm命令调整文件系统和逻辑卷大小 | 示例1:
将指定的逻辑卷设备扩展至290MB:
[root@linuxcool ~]# lvextend -L 290M /dev/storage/vo
Rounding size to boundary between physical extents: 292.00 MiB.
Size of logical volume storage/vo changed from 148 MiB (37 extents) to 292 MiB (73 extents).
Logical volume storage/vo successfully resized. 磁盘管理(disk) 699 cfdisk cfdisk命令 – 用于磁盘分区 cfdisk是用来磁盘分区的程序,它十分类似DOS的fdisk,具有互动式操作界面而非传统fdisk的问答式界面,您可以轻易地利用方向键来操控分区操作。cfdisk指令是一个基于鼠标的、用于硬盘分区的程序。输入指令cfdisk之后,将出现上面的图形界面,它是基于鼠标进行操作的,利用它可以进行磁盘的分区操作。 cfdisk [参数] |-a: 在程序里不用反白代表选取,而以箭头表示 |
|-c: 忽略BIOS的数值,直接指定磁盘的柱面数目 |
|-P: 显示分区表的内容 |
|-s: 忽略BIOS的数值,直接指定磁盘的磁区数目 |
|-v: 显示版本信息 |
|-z: 不读取现有的分区,直接当作没有分区的新磁盘使用 | 示例1:
进行磁盘分区:
[root@linuxcool ~]# cfsik
示例2:
进行磁盘分区,使用箭头进行操作,而不使用反白表示:
[root@linuxcool ~]# cfsik -a 磁盘管理(disk) 700 lsblk lsblk命令 – 查看系统的磁盘使用情况 lsblk命令来自英文词组list block devices的缩写,其功能是查看系统的磁盘使用情况。 lsblk [参数] |-a: 显示所有设备信息 |
|-b: 显示以字节为单位的设备大小 |
|-e: 排除指定设备 |
|-f: 显示文件系统信息 |
|-h: 显示帮助信息 |
|-i: 仅使用字符 |
|-l: 使用列表格式显示 |
|-n: 不显示标题 |
|-o: 输出列信息 |
|-P: 使用key=value格式显示信息 |
|-r: 使用原始格式显示信息 |
|-t: 显示拓扑结构信息 |
|-V: 显示版本信息 | 示例1:
显示系统中所有磁盘设备的使用情况信息:
[root@linuxcool ~]# lsblk -a
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─rhel-root 253:0 0 17G 0 lvm /
└─rhel-swap 253:1 0 2G 0 lvm [SWAP]
sr0 11:0 1 6.6G 0 rom /media/cdrom
示例2:
显示系统中磁盘设备的归属及权限信息:
[root@linuxcool ~]# lsblk -m
NAME SIZE OWNER GROUP MODE
sda 20G root disk brw-rw----
├─sda1 1G root disk brw-rw----
└─sda2 19G root disk brw-rw----
├─rhel-root 17G root disk brw-rw----
└─rhel-swap 2G root disk brw-rw----
sr0 6.6G root cdrom brw-rw----
示例3:
显示系统中所有SCSI类型的磁盘设备信息:
[root@linuxcool ~]# lsblk -S
NAME HCTL TYPE VENDOR MODEL REV TRAN
sda 2:0:0:0 disk ATA VMware Virtual S 0001 sata
sr0 3:0:0:0 rom NECVMWar VMware SATA CD01 1.00 sata
示例4:
以列表格式显示磁盘设备信息,并且不显示标题:
[root@linuxcool ~]#lsblk -nlsda 8:0 0 20G 0 disk
sda1 8:1 0 1G 0 part /boot
sda2 8:2 0 19G 0 part
sr0 11:0 1 6.6G 0 rom /media/cdrom
rhel-root 253:0 0 17G 0 lvm /
rhel-swap 253:1 0 2G 0 lvm [SWAP] 磁盘管理(disk) 701 pvchange pvchange命令 – 改变物理卷分配许可 pvchange命令允许管理员改变物理卷的分配许可,如果物理卷出现故障,可以使用pvchange命令禁止分配物理卷上的PE。 pvchange [参数] |-u: 生成新的UUID |
|-x: 是否允许分配PE | 示例1:
禁止分配/dev/sdb1上的PE:
[root@linuxcool ~]# pvchange -x n /dev/sdb1
Physical volume "/dev/sdb1" changed
1 physical volume changed / 0 physical volumes not changed 磁盘管理(disk) 702 vgexport vgexport命令 – 导出卷组 vgexport命令的作用是可以导出卷组。
vgexport命令允许设置系统未知的非活动卷组名称。 也可以将该卷组中的所有物理卷移动到不同的系统中,以便以后使用vgimport命令导入。 vgexport [参数] [卷组名] |-a: 导出所有活动的卷组 |
|-p: 不从系统中中将卷组相关的信息去掉 |
|-s: 向映射文件中添加卷组标识符 (VGID) |
|-m: 产生一个map文件 |
|-v: 显示详细过程 | 示例1:
导出卷组vgl:
[root@linuxcool ~]# vgexport linuxcool_vg
示例2:
导出所有活动卷组:
[root@linuxcool ~]# vgexport -a
示例3:
导出带有map文件的卷组:
[root@linuxcool ~]# vgexport -s -p -m /tmp/vglinuxcool.map /dev/vglinuxcool 磁盘管理(disk) 703 pvscan pvscan命令 – 列出找到的物理卷 pvscan命令会扫描系统中连接的所有硬盘,列出找到的物理卷列表。使用pvscan命令的-n选项可以显示硬盘中的不属于任何卷组的物理卷,这些物理卷是未被使用的。 pvscan [参数] |-d: 调试模式 |
|-e: 仅显示属于输出卷组的物理卷 |
|-n: 仅显示不属于任何卷组的物理卷 |
|-s: 短格式输出 |
|-u: 显示UUID | 示例1:
扫描所有硬盘上的物理卷:
[root@linuxcool ~]# pvscan
示例2:
仅显示属于输出卷组的物理卷:
[root@linuxcool ~]# pvscan -e
示例3:
仅显示不属于任何卷组的物理卷:
[root@linuxcool ~]# pvscan -n 磁盘管理(disk) 704 mkswap mkswap命令 – 建立和设置SWAP交换分区 mkswap命令用于在一个文件或者设备上建立交换分区。在建立完之后要使用sawpon命令开始使用这个交换区。最后一个选择性参数指定了交换区的大小,但是这个参数是为了向后兼容设置的,没有使用的必要,一般都将整个文件或者设备作为交换区。 mkswap [参数] |-c: 建立交换区前,先检查是否有损坏的区块 |
|-f: 在SPARC电脑上建立交换区,要加此参数 |
|-v0: 建立旧式交换区,此为预设值 |
|-v1: 建立新式交换区 | 示例1:
添加交换分区,假设存在并设置 /dev/sdb3为交换分区:
[root@linuxcool ~]# mkswap /dev/sdb2
[root@linuxcool ~]# swapon /dev/sdb2
示例2:
用dd创建一个512M的交换文件,将文件设置为交换分区:
[root@linuxcool ~]# dd if=/dev/zero of=/swapfile1 bs=1024 count=524288
[root@linuxcool ~]# mkswap /swapfile1
[root@linuxcool ~]# swapon /swapfile1 磁盘管理(disk) 705 mkfs mkfs命令 – 对设备进行格式化文件系统操作 mkfs命令来自英文词组make file system的缩写,其功能是对设备进行格式化文件系统操作。在挂载使用硬盘空间前的最后一步,运维人员需要对整块硬盘或指定分区进行格式化文件系统操作。Linux系统支持的文件系统包含EXT2、EXT3、EXT4、XFS、FAT、MS-DoS、VFAT、Minix等多种格式。 mkfs [参数] [设备名] |-c: 检查指定设备是否损坏 |
|-t: 设置档案系统的模式 |
|-V: 显示执行过程详细信息 |
|--version: 显示版本信息 | 示例1:
对指定的硬盘进行格式化文件系统操作:
[root@linuxcool ~]# mkfs -t ext4 /dev/sdb
mke2fs 1.44.3 (10-July-2018)
Creating filesystem with 5242880 4k blocks and 1310720 inodes
Filesystem UUID: 84e96bc0-42bf-4531-9554-97fb04c9b47b
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
示例2:
对指定的硬盘进行格式化文件系统操作,并输出详细过程信息:
[root@linuxcool ~]# mkfs -V -t xfs /dev/sdb
mkfs from util-linux 2.32.1
mkfs.xfs /dev/sdb
meta-data=/dev/sdb isize=512 agcount=4, agsize=1310720 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=5242880, imaxpct=25
= sunit=0 swidth=0 blks
Naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0 磁盘管理(disk) 706 testdisk testdisk命令 – 修复磁盘文件 testdisk是一个强大的免费的跨平台的数据恢复工具,这款软件主要被设计用于恢复丢失的分区以及修复那些由于人为或者病毒等原因导致分区表错误而无法启动系统的问题。 testdisk 示例1:
1.直接运行testdisk:
[root@linuxcool ~]# testdisk 磁盘管理(disk) 707 fsconf fsconf命令 – 设置文件系统相关功能 fsconf是Red HatLinux发行版专门用来调整Linux各项设置的程序。 fsconf [参数] |--check: 检查特定文件的权限 | 示例1:
检查当前文件权限:
[root@linuxcool ~]# fsconf --check 磁盘管理(disk) 708 vgimportclone vgimportclone命令 – 导入并重命名复制的卷组 vgimportclone命令的作用是可以导入并重命名复制的卷组,这有点类硬件快照。
复制的卷组和物理卷在与原始卷组和物理卷共存之前不能使用。vgimportclone命令重命名与指定物理卷关联的卷组,并更改关联的卷组和物理卷uuid。 vgimportclone [参数] [物理卷] |-i: 导入之前导出的卷组 |
|-n<快照卷组名>: 指定快照卷组名称,默认情况下,快照卷组将被重命名为原来的名称加上一个数字后缀,以避免重复命名 | 示例1:
将物理卷/dev/sda5、/dev/sda6和/dev/sda7导入并重命名复制的卷组名称为vg_linuxcool:
[root@linuxcool ~]# vgimportclone -n vg_linuxcool /dev/sda5 /dev/sda6 /dev/sda7
示例2:
要将与/dev/sdc和/dev/sdd关联的卷组vg00重命名为vg00_snap,并更改关联的卷组和物理卷的uuid:
[root@linuxcool ~]# vgimportclone -n vg00_snap /dev/sdc /dev/sdd
示例3:
导入指定卷组:
[root@linuxcool ~]# vgimportclone -i vg_linuxcool /dev/sda5 磁盘管理(disk) 709 vgmerge vgmerge命令 – 合并两个卷组 vgmerge命令的作用是可以合并两个现有的卷组。
如果物理盘区大小相等,并且两个卷组的物理和逻辑卷摘要都符合目标卷组名称的要求,则非活动源卷组名称将合并到目标卷组名称中。 vgmerge [参数] [目的卷组名] [源卷组名] |-l: 显示合并的目的卷组名,类似于vgdisplay -v命令 |
|-t: 进行一个测试运行而不做任何真正的改变 |
|-A: 是否启用自动备份 |
|-d: 启用调试模式 |
|-v: 显示详细信息 | 示例1:
将卷组vg2合并到卷组vg1中:
[root@linuxcool ~]# vgmerge -v vg1 vg2
示例2:
模拟测试合并卷组操作:
[root@linuxcool ~]# vgmerge -t vg3 vg4
示例3:
显示合并的完毕的卷组名:
[root@linuxcool ~]# vgmerge -l vg5 vg6 磁盘管理(disk) 710 tftp tftp命令 – 上传及下载文件 tftp命令来自英文词组Trivial File Transfer Protocol的缩写,中文译为“简单文件传输协议”,其功能是基于TFTP进行文件传输工作。用户可以通过文字模式将文件上传至远程服务器,亦可以从服务器下载文件到本地主机。
TFTP基于UDP/69,不同于FTP,属于轻量级的传输服务,不具备显示文件列表、断点续传等功能。 tftp [参数] [域名或IP地址] |-4: 基于IPv4网络协议 |
|-6: 基于IPv6网络协议 |
|-c: 执行指定命令行 |
|-l: [参数]全局转义模式 |
|-R: 设置端口号 |
|-v: 显示执行过程详细信息 |
|-V: 显示版本信息 | 示例1:
远程连接至指定服务器:
[root@linuxcool ~]# tftp 192.168.10.10
示例2:
下载远程指定服务器中的文件至本地工作目录:
tftp> get File1.txt
示例3:
上传本地工作目录中某个文件至远程指定服务器:
tftp> put File2.txt
示例4:
退出登录某台远程服务器:
tftp> quit 文件传输(transfer) 711 lpr lpr命令 – 将文件放入打印队列等待打印 lpr命令用于将文件发送给指定打印机进行打印,如果不指定目标打印机,则使用默认打印机。 lpr [参数] |-E: 与打印服务器连接时强制使用加密 |
|-H: 指定可选的打印服务器 |
|-C: 指定打印任务的名称 |
|-P: 指定接受打印任务的目标打印机 |
|-U: 指定可选的用户名 |
|-#: 指定打印的份数 |
|-h: 关闭banner打印 |
|-m: 打印完成后发送E-mail |
|-r: 打印完成后删除文件 | 示例1:
将man1和man2送到打印机lp进行打印:
[root@linuxcool ~]# lpr -P lp man1 man2
示例2:
在名为mailroom的打印机上打印report文件 :
[root@linuxcool ~]# lpr -P mailroom report
示例3:
在名为laser1的打印机上打印3个文件 :
[root@linuxcool ~]# lpr -P laser1 file_1.txt file_2.txt file_3.txt 文件传输(transfer) 712 uupick uupick命令 – 处理传送进来的文件 当其他主机通过UUCP将文件传送进来时,可利用uupick命令取出这些文件。 uupick [参数] |-I: 指定配置文件 |
|-s: 处理由指定主机传送过来的文件 |
|-v: 显示版本信息 |
|--help: 显示帮助信息 | 示例1:
处理由主机localhost传送过来的文件:
[root@linuxcool ~]# uupick -s localhost 文件传输(transfer) 713 rsync rsync命令 – 远程数据同步工具 rsync命令来自英文词组remote sync的缩写,其功能是远程数据同步。rsync命令能够基于网络(包含局域网和互联网)快速地实现多台主机间的文件同步工作。与scp或ftp命令会发送完整的文件不同,rsync有独立的文件内容差异算法,会在传送前对两个文件进行比较,只传送两者内容间的差异部分,因此速度更快。 rsync [参数] [目录名] |-b: 备份指定目标文件 |
|-B: 设置检验算法使用的块大小 |
|-c: 对文件传输进行校验 |
|-d: 不递归目录文件,不传输子文件 |
|-D: 保留设备文件信息 |
|-g: 保留文件原始所有组身份 |
|-h: 显示帮助信息 |
|-H: 保留硬链接文件 |
|-l: 保留软链接文件 |
|-n: 显示将要传输的文件列表 |
|-p: 保留文件原始权限信息 |
|-P: 显示进度信息 |
|-q: 使用精简输出模式 |
|-r: 递归处理所有子文件 |
|-R: 使用相对路径 |
|-t: 保留文件时间信息 |
|-v: 显示执行过程详细信息 |
|-x: 设置不跨越文件系统边界 |
|-z: 压缩文件 | 示例1:
将本地目录(/Dir)与远程目录(192.168.10.10:/Dir)相关联,保持文件同步:
[root@linuxcool ~]# rsync -r /Dir 192.168.10.10:/Dir
root@192.168.10.10's password: 此处输入远程服务器密码
示例2:
将远程目录(192.168.10.10:/Dir)与本地目录(/Dir)相关联,保持文件同步:
[root@linuxcool ~]# rsync -r 192.168.10.10:Dir /Dir
root@192.168.10.10's password: 此处输入远程服务器密码
示例3:
关联两个本地的目录,保持文件同步:
[root@linuxcool ~]# rsync -r /Dir1 /Dir2
示例4:
列出本地指定目录内的文件列表:
[root@linuxcool ~]# rsync /Dir2/
drwxr-xr-x 18 2023/10/19 16:46:42 .
dr-xr-x--- 4,096 2023/10/19 16:46:54 root
示例5:
列出远程指定目录内的文件列表:
[root@linuxcool ~]# rsync 192.168.10.10:/Dir/
root@192.168.10.10's password: 此处输入远程服务器密码
drwxrwxrwt 4,096 2023/10/19 16:47:41 .
-r--r--r-- 11 2023/10/17 03:13:19 .X0-lock
-r-------- 11 2023/10/17 03:05:57 .X1024-lock
-rw------- 532 2023/10/17 02:31:58 .viminfo
-rw-r--r-- 2,587 2023/10/17 02:59:47 anaconda.log
-rw-r--r-- 2,604 2023/10/17 02:59:34 dbus.log 文件传输(transfer) 714 lprm lprm命令 – 移除打印队列中的任务 lprm命令来自英文词组“Line printer remove”的缩写,其功能是用于移除打印队列中的任务,使用lprm命令来移除尚未完成的,正放在打印机贮列之中的打印任务。 lprm [参数] [任务编号] |-E: 使用加密连接模式 |
|-h: 设置远程服务器 |
|-P: 设置目标打印机 |
|-U: 设置可选的用户名 | 示例1:
将指定打印机中编号为5的打印任务移除:
[root@linuxcool ~]#lprm -P Canon 5
示例2:
将编号为17的打印任务从预设打印机中移除:
[root@linuxcool ~]#lprm 17 文件传输(transfer) 715 symlinks symlinks命令 – 维护符号连接的工具程序 symlinks命令可以检查目录中的符号连接,并显示符号连接类型。 symlinks [参数] [目录] |-c: 将使用绝对路径的符号连接转换为相对路径 |
|-d: 移除dangling类型的符号连接 |
|-r: 检查目录下所有子目录中的符号连接 |
|-s: 检查lengthy类型的符号连接 |
|-t: 与-c一并使用时,会显示如何将绝对路径的符号连接转换为相对路径,但不会实际转换 |
|-v: 显示所有类型的符号连接 | 示例1:
将test目录使用绝对路径的符号连接转换为相对路径:
[root@linuxcool ~]# symlinks -c test
示例2:
检查test目录下所有子目录中的符号连接:
[root@linuxcool ~]# symlinks -r test 文件传输(transfer) 716 bye bye命令 – 中断FTP连线并结束程序 在ftp模式下,输入bye即可中断目前的连线作业,并结束ftp的执行。 bye 示例1:
中断FTP连线并结束程序:
[root@linuxcool ~]# bye 文件传输(transfer) 717 gpm gpm命令 – 提供文字模式下的滑鼠事件处理 gpm命令是linux的虚拟控制台下的鼠标服务器,用于在虚拟控制台下实现鼠标复制和粘贴文本的功能。gpm命令需要安装并开启相关服务才能使用。 gpm [参数] |-a: 设置加速值 |
|-b: 设置波特率 |
|-B: 设置鼠标按键次序 |
|-m: 指定鼠标设备文件 |
|-t: 设置鼠标类型 | 示例1:
安装并开启gpm服务:
[root@linuxcool ~]# yum install -y gpm*
[root@linuxcool ~]# systemctl start gpm
示例2:
指定鼠标设备文件:
[root@linuxcool ~]# gpm -m /dev/input/mice
示例3:
设定鼠标类型:
[root@linuxcool ~]# gpm -m /dev/input/mice -t ps2 文件传输(transfer) 718 fsck fsck命令 – 检查与修复文件系统 fsck命令来自英文词组filesystem check的缩写,其功能是检查与修复文件系统。若系统有过突然断电或磁盘异常的情况,建议使用fsck命令对文件系统进行检查与修复,以防数据丢失。 fsck [参数] [设备名] |-a: 自动修复文件系统 |
|-C: 显示进度条 |
|-f: 强制检查而不询问 |
|-M: 不检查正在使用的文件系统 |
|-n: 不进行修复操作 |
|-N: 不实际执行操作,仅模拟输出结果 |
|-R: 忽略指定的文件系统不予检查 |
|-t: 设置要检查的文件系统类型 |
|-T: 不显示标题信息 |
|-V: 显示执行过程详细信息 |
|-y: 始终尝试修复操作 | 示例1:
检查文件系统是否有损坏:
[root@linuxcool ~]# fsck /dev/sdb
fsck from util-linux 2.32.1
e2fsck 1.44.3 (10-July-2018)
/dev/sdb: clean, 11/1310720 files, 126322/5242880 blocks
示例2:
强制检查文件系统的损坏情况:
[root@linuxcool ~]# fsck -f /dev/sdb
fsck from util-linux 2.32.1
e2fsck 1.44.3 (10-July-2018)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdb: 11/1310720 files (0.0% non-contiguous), 126322/5242880 blocks 文件传输(transfer) 719 ftp ftp命令 – 文件传输协议客户端 ftp命令来自英文词组file transfer protocol(FTP)的缩写,是一个文件传输协议客户端。FTP是当前最常用的文件传输协议之一,而ftp命令也是最常用的FTP协议客户端,它能够用于在本地主机和远程主机之间上传和下载文件,实现两端的通信。
在登录时匿名FTP服务器,使用anonymous作为用户名,使用任意的电子邮件作为密码。通常,用户只能从匿名FTP服务器下载文件,而能上传文件。另外,FTP使用明文传送用户的认证信息,很容易被局域网内的嗅探软件截获,所以使用ftp命令时要格外注意。 ftp [参数] [域名或IP地址] |-A: 使用主动模式 |
|-d: 使用调试模式 |
|-e: 禁用命令编辑和历史记录 |
|-g: 关闭文件名替换 |
|-i: 关闭交互模式 |
|-p: 使用被动模式 |
|-t: 激活数据包追踪 |
|-v: 显示执行过程详细信息 | 示例1:
使用匿名模式,连接到指定的远程FTP服务器:
[root@linuxcool ~]# ftp 192.168.10.10
Connected to 192.168.10.10 (192.168.10.10).
220 (vsFTPd 3.0.3)
Name (192.168.10.10:root): anonymous
331 Please specify the password.
Password:此处敲击回车即可
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
示例2:
从FTP服务器中下载指定的文件到本地目录:
ftp> get File.txt
示例3:
从本地目录上传文件到FTP服务器中:
ftp> put File.txt
示例4:
查看FTP服务的帮助信息:
ftp> help
示例5:
查看FTP服务器中的文件列表:
ftp> ls
示例6:
删除FTP服务器中的指定文件:
ftp> delete File.txt
示例7:
在FTP服务器中创建一个远程目录:
ftp> mkdir linux
示例8:
退出连接:
ftp> quit 文件传输(transfer) 720 lpq lpq命令 – 查看打印队列状态 lpq命令用于显示打印队列中的打印任务的状态信息及其所包含的打印任务 ,如果使用该命令时没有指定打印机或类,则将显示默认目标上排队的作业。 lpq [参数] |-E: 强制使用加密方式与服务器连接 |
|-P: 显示中的打印机上的打印队列状态 |
|-U: 自动可选的用户名 |
|-a: 报告所有打印机的定义任务 |
|-h: 指定打印服务器信息 |
|-l: 使用长格式输出 |
|+: 指定显示状态的间隔时间 | 示例1:
显示打印队列状态:
[root@linuxcool ~]# lpq
示例2:
查看当前打印任务:
[root@linuxcool ~]# lpq -l 文件传输(transfer) 721 lftp lftp命令 – 优秀的命令行FTP客户端 lftp支持FTP、SETP、HTTP和FTPs等多种文件传输协议。 还支持FXP,允许数据绕过客户端直接在两个FTP服务器之间传输。同时还有递归镜像整个目录树以及断点续传下载的功能, lftp的传输任务可以安排时间段计划执行,可以限制带宽和创建传输列表,支持类似Unix shell的任务控制。客户端还可以在交互式或自动脚本里使用。 lftp [参数] |-f: 指定lftp要执行的脚本文件 |
|-c: 执行指定的命令后退出 |
|--help: 显示帮助信息 |
|--version: 显示当前版本号 | 示例1:
登陆后只用”ls”、”cd”等命令查看文件和改变目录:
[root@linuxcool ~]# lftp [用户名]:密码@ftp地址:传送端口(默认21)
示例2:
使用”get”、”mget”、”mirror”、”pget”不同的指令功能下载文件:
> mget -c *.db # 把所有的db文件以允许断点续传的方式下载。
> mirror aaa/ # 将aaa目录整个的下载下来,子目录也会自动复制
> pget -c -n 10 10G.file 以最多10个线程以允许断点续传的方式下载10G.file
示例3:
“put”、”mput”都是对文件上传的操作,”mirror -R” 将本地目录以迭代(包括子目录)的方式反向上传到ftp站点:
> put linuxcool.tar
> mirror -R [本地目录]名 文件传输(transfer) 722 rmt rmt命令 – 远端磁带传输协议模块 rmt即 remote magnetic tape 的缩写,该命令通过进程间通信远程控制磁带机。
通过rmt指令,用户可通过IPC连线,远端操控磁带机的倾倒和还原操作。 rmt 示例1:
远端操控磁带机:
[root@linuxcool ~]# rmt 文件传输(transfer) 723 curl curl命令 – 文件传输工具 curl命令来自英文词组CommandLine URL的缩写,其功能是在Shell终端界面中基于URL规则进行文件传输工作。curl是一款综合性的传输工具,可以上传也可以下载,支持HTTP、HTTPS、FTP等30余种常见协议。 curl [参数] [网址URL] [文件名] |-a: 追加写入到指定文件 |
|-A: 设置用户代理标头信息 |
|-b: 设置用户Cookie信息 |
|-B: 使用ASCII文本传输 |
|-C: 支持断点续传 |
|-d: 以HTTP POST方式传送数据 |
|-D: 把头部信息写入指定文件 |
|-e: 设置来源网址URL |
|-f: 连接失败时不显示报错 |
|-o: 设置新的本地文件名 |
|-a: 追加写入到指定文件 |
|-O: 保留远程文件的原始名 |
|-G: 以GET方式传送数据 |
|-H: 自定义头信息 |
|-I: 显示网站的响应头信息 |
|-K: 读取指定配置文件 |
|-N: 禁用缓冲输出 |
|-s: 静默执行模式 |
|-T: 上传指定文件 |
|-u: 设置服务器的用户名和密码 |
|-U: 设置代理的用户名和密码 |
|--basic: 使用HTTP基本验证 |
|-G: 以GET方式传送数据 |
|--capath: 设置CA证书目录 |
|--cert-type: 设置客户端证书文件和密码 |
|--ciphers: 设置SSL证书密码 |
|--connect-timeout: 设置最大请求时间 |
|--create-dirs: 创建本地目录的层次结构 |
|--digest: 使用数字身份验证 |
|--ftp-create-dirs: 自动创建远程目录 |
|--ftp-pasv: 使用PASV/EPSV代替端口 |
|--ftp-ssl: 使用SSL/TLS进行数据传输 |
|--ftp-ssl-reqd: 使用SSL/TLS进行数据传输 |
|--help: 显示帮助信息 |
|--key: 设置私钥文件名 |
|--key-type: 设置私钥文件类型 |
|--limit-rate: 设置传输速度 |
|--max-filesize: 设置最大下载的文件总量 |
|--max-redirs: 设置最大重定向次数 |
|--pass: 设置密钥密码 |
|--progress-bar: 显示进度条 |
|--verbose: 显示执行过程详细信息 |
|--version: 显示版本信息 | 示例1:
获取指定网站的网页源码:
[root@linuxcool ~]# curl https://www.linuxcool.com
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
………………省略部分输出信息………………
示例2:
下载指定网站中的文件:
[root@linuxcool ~]# curl -O https://www.linuxprobe.com/docs/LinuxProbe.pdf
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 16.8M 100 16.8M 0 0 22.5M 0 --:--:-- --:--:-- --:--:-- 22.5M
示例3:
打印指定网站的HTTP响应头信息:
[root@linuxcool ~]# curl -I https://www.linuxcool.com
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
HTTP/2 200
server: Tengine
content-type: text/html; charset=UTF-8
vary: Accept-Encoding
date: Wed, 04 May 2023 06:44:26 GMT
vary: Accept-Encoding
x-powered-by: PHP/7.4.11
vary: Accept-Encoding, Cookie
cache-control: max-age=3, must-revalidate
ali-swift-global-savetime: 1651646666
via: cache3.l2cn1802[235,234,200-0,M], cache17.l2cn1802[236,0], kunlun10.cn257 [403,414,200-0,M], kunlun
2.cn257[417,0]
x-cache: MISS TCP_REFRESH_MISS dirn:0:416601537
x-swift-savetime: Wed, 04 May 2023 06:44:26 GMT
x-swift-cachetime: 3 timing-allow-origin: *
eagleid: ab08f29616516466664417014e
示例4:
下载指定文件服务器中的文件(用户名:密码):
[root@linuxcool ~]# curl -u linuxprobe:redhat ftp://www.linuxcool.com/LinuxProbe.pdf 文件传输(transfer) 724 ftpcount ftpcount命令 – 显示当前登录FTP的用户人数 执行ftpcount这项命令可得知目前用FTP登入系统的人数以及FTP登入人数的上限。 ftpcount [参数] |-f: 指定文件的路径 |
|-h: 显示帮助 | 示例1:
直接查询FTP服务器上用户的人数:
[root@linuxcool ~]# ftpcount 文件传输(transfer) 725 ftpwho ftpwho命令 – 显示FTP会话信息 ftpwho命令来自英文词组“FTP who”的缩写,其功能是用于显示FTP会话信息。Linux系统运维人员可以利用ftpwho命令查看到有哪些用户正在登录着FTP文件传输协议服务器,并看到他们此时正在执行的操作。 ftpwho [参数] |-h: 显示帮助信息 |
|-v: 详细信息模式 | 示例1:
显示当前系统的FTP会话信息:
[root@linuxcool ~]#ftpwho
示例2:
显示当前系统的FTP会话信息,详细信息模式:
[root@linuxcool ~]#ftpwho -v
示例3:
显示帮助信息:
[root@linuxcool ~]#ftpwho -h 文件传输(transfer) 726 uuto uuto命令 – 将文件传送到远端的UUCP主机 uuto命令为script文件,它实际上会执行uucp,用来将文件传送到远端UUCP主机,并在完成工作后,以邮件通知远端主机上的用户。 uuto [文件] |文件: 需要执行的传送文件 |
|目的: 指定目标文件路径 | 示例1:
将文件传送到远程UUCP主机localhost的tmp目录:
[root@linuxcool ~]# uuto ./testfile localhost/tmp
示例2:
将文件传送到远程UUCP主机localhost 的www目录:
[root@linuxcool ~]# uuto ./testfile localhost/www
示例3:
将文件传送到远程UUCP主机localhost 的test目录:
[root@linuxcool ~]# uuto ./testfile localhost/test
示例4:
将文件传送到远程UUCP主机localhost 的test1目录:
[root@linuxcool ~]# uuto ./testfile localhost/test1
示例5:
将文件传送到远程UUCP主机localhost 的test2目录:
[root@linuxcool ~]# uuto ./testfile localhost/test2 文件传输(transfer) 727 axel axel命令 – 多线程下载工具 axel是优秀的http/ftp多线程下载工具。支持断点续传,可以从多个地址或者从一个地址的多个连接来下载同一个文件。适合单线程下载限速的情景,通过多线程加速下载。 axel [参数] |-s: 设置最高速度 |
|-n: 设置连接数 |
|-o: 下载另存为本地文件 |
|-H: 指定HTTP头 |
|-U: 指定HTTP代理 |
|-V: 版本信息 | 示例1:
以5个链接数下载testfile.zip,并另存为/tmp/目录下的filetest.zip [文件]:
[root@linuxcool ~]# axel -n 5 -o /tmp/filetest.zip http://www.Linuxcool.com/testfile.zip 文件传输(transfer) 728 ftpshut ftpshut命令 – 指定时间关闭FTP服务器 ftpshut命令为系统管理者提供了在设置的时间关闭FTP服务器,且能在关闭之前发出警告信息通知用户的功能。
关闭时间若设置后为”none”,则会马上关闭服务器。如果采用”+30″的方式来设置表示服务器在30分钟之后关闭。依次类推,假设使用”1130″的格式则代表服务器会在每日的11时30分关闭,时间格式为24 小时制。FTP服务器关闭后,在/etc目录下会产生一个名称为shutmsg的文件,把它删除后即可再次启用FTP服务器。 ftpshut [参数] |-d: 切断所有FTP连线时间 |
|-l: 停止接受FTP登入的时间 | 示例1:
在晚上11:00 关闭FTP服务器,并在关闭前5 分钟拒绝新的FTP登录,前3 分钟关闭所有ftp的链接,且给出警告信息 :
[root@linuxcool ~]# ftpshut-d 3 -1 5 1100 "Server will be shutdown at 23:00:00" 文件传输(transfer) 729 ncftp ncftp命令 – 传输文件 ncftp命令是文字模式FTP程序中的佼佼者,它具备多样特色, 包括显示传输速率,下载进度,自动续传,标住书签,可通过防火墙和代理服务器等。
当不指定用户名时,ncftp [命令]会自动尝试使用匿名账户anonymous 去连接远程FTP 服 务器,不需要用户输入账号和密码。 ncftp [参数] [主机或IP地址] |-u: 指定登录FTP服务器的用户名 |
|-p: 设置用户密码 |
|-P: 指定FTP端口号,默认为21 |
|-j: 指定账号 |
|-h: 显示帮助信息 |
|-v: 显示版本信息 | 示例1:
匿名连接www.linuxcool.com服务器,同时不想输入anonymous等匿名用户名:
[root@linuxcool ~]# ncftp www.linuxcool.com
示例2:
显示帮助信息:
[root@linuxcool ~]# ncftp -h 文件传输(transfer) 730 rexec rexec命令 – 远程执行指令客户端 rexec命令是远程执行命令服务器的客户端工具,向远程rexec服务器发出执行命令的请求。
rexec命令以客户机/服务器的模式运行。运行rexec命令时首先要启动远程主机上的rexec服务器。 rexec [参数] [远程主机或命令] |-a: 表示远程命令的标准错误与标准输出相同,不支持发送任意信号到远程进程 |
|-l<用户名>: 指定连接远程rexec服务器的用户名 |
|-p<密码>: 指定连接远程rexec服务器的密码 |
|-n: 明确地提示输入用户名和密码 | 示例1:
在远程主机上执行date命令:
[root@linuxcool ~]# rexec linuxcool date
示例2:
提示输入用户名和密码执行date命令:
[root@linuxcool ~]# rexec -n linuxcool date
示例3:
使用密码执行date命令:
[root@linuxcool ~]# rexec -l uesrname -p password linuxcool date 网络通讯(network) 731 getty getty命令 – 用于设置终端机模式 getty命令用于设置终端机模式,连线速率和管制线路。
getty命令是UNIX之类操作系统启动时所必须的3个步骤之一 ,用来开启终端,进行终端的初始化,设置终端。 getty 命令设置和管理终端线路和端口。getty [命令]由 init [命令]来运行。getty [命令]与终端状态管理员程序相链接。终端状态管理员程序提供了终端控制和登录的复合功能。 当作为 getty [命令]调用时,终端状态管理员程序提供了通常的端口管理功能。 getty [参数] |-c: 指定定义配置文件,预设为/etc/gettydefs |
|-d: 指定组态配置文件,预设为/etc/conf.getty |
|-h: 当传输速率为0时就强制断线 |
|-r: 设置延迟时间 |
|-t: 设置等待登入的时间 |
|-w: 设置等待回应的字符串 | 示例1:
开启终端:
[root@linuxcool ~]# getty tty7 网络通讯(network) 732 telnet telnet命令 – 控制远程设备 telnet命令的功能是用于控制远程主机,作为常用的telnet协议的客户端工具,使用该命令后能够控制一切开启了telnet协议支持的设备,包括但不限于Linux系统、Windows系统、路由器、交换机等等。但由于telnet协议基于明文传输数据,因此不建议输入敏感信息,保护隐私和服务器安全哦。 telnet [参数] [域名或IP地址] |-8: 允许使用8位字符资料,包括输入与输出 |
|-a: 自动登入远端主机 |
|-b: 设置远端主机的别名名称 |
|-c: 不读取用户目录里的.telnetrc文件 |
|-d: 使用排错模式 |
|-e: 设置脱离字符 |
|-E: 滤除脱离字符 |
|-K: 不自动登入远端主机 |
|-l: 设置要登入远端主机的用户名称 |
|-L: 允许输出8位字符资料 |
|-n: 设置文件记录相关信息 |
|-r: 使用类似rlogin指令的用户界面 |
|-S: 设置telnet连线所需的IP TOS信息 |
|-X: 关闭指定的认证形态 | 示例1:
控制指定的远程主机:
[root@linuxcool ~]#telnet 192.168.10.10 网络通讯(network) 733 xrdp xrdp命令 – RDP连接Linux远程桌面 xrdp是一个远程桌面协议(RDP)服务器,与Windows NT/2000/2003服务器不同的是,xrdp不会向用户显示Windows桌面,而是X窗口桌面。它也可以作为VNC->RDP的桥接。 xrdp [参数] |-n: 在前台启动xrdp,而不是将其作为守护进程启动 |
|-k: 杀死正在运行的xrdp守护进程 |
|-p: 指定要监听的TCP端口 |
|-f: 在一个新的连接上分叉一个新的进程 | 示例1:
在前台启动xrdp,而不是将其作为守护进程启动:
[root@linuxcool ~]# xrdp -n
示例2:
杀死正在运行的xrdp守护进程:
[root@linuxcool ~]# xrdp -k
示例3:
指定要监听的TCP端口:
[root@linuxcool ~]# xrdp -p 33890 网络通讯(network) 734 squid squid命令 – 代理服务器守护进程 squid命令是使用最广泛的代理服务器软件,可以节省网络带宽,提高网站的访问速度,它对服务器硬件的内存要求比较高。
它支持FTP、Gopher和HTTP协议的数据对象。 squid [参数] |-d<调试等级>: 将指定调试等级的信息发送到标准错误设备 |
|-f<配置文件>: 使用指定的配置文件,而不使用默认配置文件 |
|-k: 向squid服务器发送指令 |
|-s: 启用syslog日志 |
|-z: 创建缓存目录 |
|-C: 不捕获致命信号 |
|-D: 不进行DNS参数测试 |
|-N: 以非守护进程模式运行 |
|-X: 强制进入完全调试模式 | 示例1:
创建缓存目录:
[root@linuxcool ~]# squid -z
示例2:
不捕获致命信号:
[root@linuxcool ~]# squid -C
示例3:
强制进入完全调试模式:
[root@linuxcool ~]# squid -X
示例4:
启用syslog日志:
[root@linuxcool ~]# squid -s
示例5:
关闭squid服务器:
[root@linuxcool ~]# squid -k shutdown 网络通讯(network) 735 dhcpd dhcpd命令 – 管理DHCP服务程序 dhcpd命令来自英文词组“DHCP daemon”的缩写,其功能是用于管理DHCP服务程序。执行dhcpd命令会读取加载dhcpd.conf配置文件并启动服务器上的DHCP服务程序,随后用户便可以获取到如IP地址、子网掩码、网关地址等网卡信息了。 dhcpd [参数] [网络接口] |-4: 基于IPv4网络协议 |
|-6: 基于IPv6网络协议 |
|-d: 使用调试模式 |
|-f: 作为前台进程运行 |
|-p: 设置监听端口 |
|-q: 静默执行模式 |
|-s: 设置发送回复的服务器 |
|-t: 测试配置文件的语法是否正确 |
|-T: 测试租约数据库文件是否正确 |
|-cf: 设置配置文件路径 |
|-lf: 设置租约文件 |
|-pf: 设置服务PID文件 | 示例1:
启动DHCP服务程序:
[root@linuxcool ~]#dhcpdInternet Systems Consortium DHCP Server 4.3.6
Copyright 2004-2017 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
ldap_gssapi_principal is not set,GSSAPI Authentication for LDAP will not be used
Not searching LDAP since ldap-server, ldap-port and ldap-base-dn were not specified in the config file
Config file: /etc/dhcp/dhcpd.conf
Database file: /var/lib/dhcpd/dhcpd.leases
PID file: /var/run/dhcpd.pid
Source compiled to use binary-leases
Wrote 0 leases to leases file.
Listening on LPF/ens160/00:0c:29:60:cd:ee/192.168.10.0/24
Sending on LPF/ens160/00:0c:29:60:cd:ee/192.168.10.0/24
Sending on Socket/fallback/fallback-net
示例2:
指定发送回复的DHCP服务器地址,并启动服务程序:
[root@linuxcool ~]#dhcpd -s 192.168.10.10
示例3:
以调试模式启动DHCP服务程序:
[root@linuxcool ~]#dhcpd -d
示例4:
指定监听端口号后启动DHCP服务程序:
[root@linuxcool ~]#dhcpd -p 53 网络通讯(network) 736 talk talk命令 – 用于与其他使用者对谈 talk命令允许同一主机或不同主机上的两个用户进行交互式对话。talk命令在每个用户的显示器上打开发送窗口和接收窗口。这样每个用户在talk命令显示另一个用户正在输入的内容时能够在发送窗口输入。 talk [参数] |person: 预备对谈的使用者帐号,如果该使用者在其他机器上,则可输入 person@machine.name |
|ttyname: 如果使用者同时有两个以上的 tty 连线,可以自行选择合适的 tty 传讯息 | 示例1:
与现在机器上的使用者Rollaend对谈:
[root@linuxcool ~]# talk Rollaend
示例2:
等待Rollaend回应,若接受,则输入`talk jzlee`即可开始对谈,结束请按 ctrl+c:
[root@linuxcool ~]# talk Rollaend@linuxcool.com pts/2 网络通讯(network) 737 uulog uulog命令 – 显示UUCP记录文件 uulog命令显示了日志文件的内容。该内容包含了 uucico 和 uuxqt 守护进程的活动。 每一个远程系统都有自己的日志文件,本地系统使用 uucp、uuto以及 uux [命令]来与这些远程系统通信。
使用 uulog [命令]显示用户和系统要求的 uucp、uuto 以及 uux [命令]的摘要信息。所有这些事务都记录在 /var/spool/uucp/.Log 目录里的日志文件中。这些文件被命名为 DaemonName/SystemName,其中 DaemonName 目录是所涉及的守护进程的名字,SystemName [文件]是为该守护进程正在连接的远程系统而命名的。 uulog [参数] |-D或--debuglog: 显示排错记录 |
|-f或--follow: 与-F参数类似,但仅显示与指定主机相关的记录 |
|-I或--config: 指定程序的配置文件 |
|-n或--lines: 显示记录文件中,从最后算起指定行数的数值 |
|-s: 仅显示记录文件中,与指定文件相关的记录 |
|-S或--statslog: 显示统计记录 |
|-u或--suer: 仅显示记录文件中,与指定用户相关的记录 |
|-v或--version: 显示版本信息 |
|-X或--debug: 设定排错层级 |
|--help: 显示帮助 | 示例1:
显示uucp log信息:
[root@linuxcool ~]# uulog 网络通讯(network) 738 mesg mesg命令 – 设置终端机的写入权限 mesg命令用于设置当前终端的写入权限,即是否让其他用户向本终端发信息。将mesg设置y时,其他用户可利用write命令将信息直接显示在您的屏幕上。 mesg [参数] |n: 不允许其他用户将信息直接显示在你的屏幕上 |
|y: 允许其他用户将信息直接显示在你的屏幕上 | 示例1:
允许其他用户发信息到当前终端:
[root@linuxcool ~]# mesg y
示例2:
不允许其他用户发信息到当前终端:
[root@linuxcool ~]# mesg n 网络通讯(network) 739 minicom minicom命令 – 通信程序 Linuxminicom命令用于调制解调器通信程序。 minicom是一个相当受欢迎的PPP拨号连线程序。 minicom [参数] |-d: 启动或直接拨号 |
|-s: 开启程序设置画面 | 示例1:
启动或直接拨号编号为02的号码:
[root@linuxcool ~]# minicom -d 02
示例2:
开启程序设置画面:
[root@linuxcool ~]# minicom -s 网络通讯(network) 740 showmount showmount命令 – 显示NFS服务器的共享信息 showmount命令来自英文词组show mounted disk的缩写,其功能是显示NFS服务器的共享信息。NFS是一款广泛使用的Linux系统文件共享服务,客户通常仅需先使用showmount命令查看NFS服务器的共享设备信息,随后使用mount命令远程挂载到本地即可使用,无须密码验证。 showmount [参数] [域名或IP地址] |-a: 显示客户端主机名和挂载目录 |
|-d: 仅显示已被NFS客户端加载的目录 |
|-e: 显示NFS服务器上所有的共享目录 |
|-v: 显示版本信息 | 示例1:
获取已经被客户端加载的NFS共享目录:
[root@linuxcool ~]# showmount -d 192.168.10.10
示例2:
获取NFS服务器的全部共享目录:
[root@linuxcool ~]# showmount -e 192.168.10.10
Export list for 192.168.10.10:
/Dir 192.168.10.* 网络通讯(network) 741 iptstate iptstate命令 – 以top风格显示内核的iptables状态 iptstate命令以top命令类似的风格实时显示Linux内核中iptables的工作状态。输出信息可以以任何字段进行排序,可以定义状态刷新的频率和单次显示状态信息。 iptstate [参数] |-b: 指定输出信息的排序规则 |
|-d: 不动态的改变窗口大小 |
|-f: 过滤本地回送消息 |
|-h: 显示帮助消息 |
|-l: 将IP地址解析为域名 |
|-L: 隐藏于DNS查询相关的状态 |
|-r<秒数>: 指定刷新屏幕的频率 |
|-R: 反序排序 |
|-s: 单次运行模式,仅打印一次状态信息 |
|-t: 显示汇总信息 | 示例1:
以top风格实时显示iptables的工作状态:
[root@linuxcool ~]# iptstate
示例2:
显示汇总消息:
[root@linuxcool ~]# iptstate -t
示例3:
指定屏幕刷新的频率为5秒:
[root@linuxcool ~]# iptstate -r 5
示例4:
打印状态信息:
[root@linuxcool ~]# iptstate -s 网络通讯(network) 742 netconf netconf命令 – 设置网络功能参数 netconf命令来自英文词组“network configure”的缩写,其功能是用于设置网络功能参数。netconf命令应用于红帽系Linux操作平台中,主要用于配置与网卡、网络相关的功能参数,可以运行在文本界面,也可以在图形界面下使用,类似于nmcli和nmtui命令。 netconf [网卡名] 示例1:
配置指定网卡参数,并使其重启生效:
[root@linuxcool ~]#netconf eth0[root@linuxcool ~]#service network restart 网络通讯(network) 743 speedtest-cli speedtest-cli命令 – 测试服务器外网速度 speedtest-cli 是一个使用python编写的命令行脚本,通过调用speedtest.net测试上下行的接口来完成速度测试,最后我会测试运维生存时间所在服务器的外网速度。 speedtest-cli [参数] |--share: 分享你的网速,该命令会在speedtest网站上生成网速测试结果的图片 |
|--list: 根据距离显示speedtest.net的测试服务器列表 |
|--server=SERVER: 指定列表中id的服务器来做测试 |
|--source=SOURCE: 绑定服务器的源地址 |
|--simple: 仅显示基本信息 | 示例1:
列出所有在中国的测试服务器:
[root@linuxcool ~]# speedtest-cli --list | grep China
示例2:
将速度测试的结果生成一张图片的连接,便于你分享 :
[root@linuxcool ~]# speedtest-cli --share
示例3:
以字节计算的方式来测试上下行速度:
[root@linuxcool ~]# speedtest-cli --bytes
示例4:
只显示ping和上下行速度:
[root@linuxcool ~]# speedtest-cli --simple
示例5:
列出speedtest.net所有的服务器距离你的物理距离,单位是千米(km):
[root@linuxcool ~]# speedtest-cli --list 网络通讯(network) 744 ss ss命令 – 显示活动套接字信息 ss命令来自英文词组“Socket Statistics”的缩写,其功能是用于显示活动套接字信息。如果您之前使用过netstat命令,那么恭喜!ss命令与其十分相似,它们都用于显示套接字信息,而ss命令的优势在于它能够显示更多TCP和连接状态的详细信息,并且速度更快更高效。 ss [参数] |-0: 显示数据包套接字 |
|-4: 基于IPv4网络协议 |
|-6: 基于IPv6网络协议 |
|-a: 显示所有套接字 |
|-d: 仅显示DCCP套接字 |
|-D: 将原始TCP套接字信息转储到文件 |
|-e: 显示执行过程详细信息 |
|-h: 显示帮助信息 |
|-i: 显示内部的TCP信息 |
|-l: 显示处于监听状态的套接字 |
|-m: 显示套接字的内存使用情况 |
|-n: 不解析域名 |
|-o: 显示计时器信息 |
|-p: 显示使用套接字的进程 |
|-s: 显示套接字使用概况 |
|-t: 仅显示TCP套接字 |
|-u: 仅显示UDP套接字 |
|-V: 显示版本信息 |
|-w: 仅显示RAW套接字 |
|-x: 仅显示Unix套接字 | 示例1:
显示系统当前的TCP套接字信息:
[root@linuxcool ~]#ss -t -aState Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:ssh 0.0.0.0:*
ESTAB 0 52 192.168.10.10:ssh 192.168.10.21:59321
LISTEN 0 128 *:websm *:*
LISTEN 0 128 [::]:ssh [::]:*
示例2:
显示系统当前的UDP套接字信息:
[root@linuxcool ~]#ss -u -aState Recv-Q Send-Q Local Address:Port Peer Address:Port
UNCONN 0 0 0.0.0.0:bootpc 0.0.0.0:*
UNCONN 0 0 127.0.0.1:323 0.0.0.0:*
UNCONN 0 0 [::1]:323 [::]:*
示例3:
显示系统当前的套接字使用概况:
[root@linuxcool ~]#ss -sTotal: 185
TCP: 4 (estab 1, closed 0, orphaned 0, timewait 0)
Transport Total IP IPv6
RAW 1 0 1
UDP 3 2 1
TCP 4 2 2
INET 8 4 4
FRAG 0 0 0 网络通讯(network) 745 dnsconf dnsconf命令 – 设置DNS服务器组态 dnsconf命令实际上为linuxconf的符号连接,提供图形的操作方式,供管理员管理DNS服务器。 dnsconf [参数] [域] |--deldomain: 删除域 |
|--delsecondary: 删除次级域 |
|--newdomain: 新增域 |
|--set: 新增主机记录 |
|--setcname: 设置NAME |
|--unset: 删除DNS中某台主机的记录 | 示例1:
删除域:
[root@linuxcool ~]# dnsconf --deldomain www.linuxcool.com
示例2:
新增主机记录:
[root@linuxcool ~]# dnsconf --set www.linuxcool.com 1.1.1.1 网络通讯(network) 746 pppsetup pppsetup命令 – 设置PPP连线 pppsetup命令用于设置PPP连线,这是Slackware发行版内附程序,它具有互动式的问答界面,让用户轻易完成PPP的连线设置。 pppsetup 示例1:
设置ppp拨号:
[root@linuxcool ~]# pppsetup 网络通讯(network) 747 vmkping vmkping – 网络故障排除命令 Vmkping是VMware的Ping命令的特定版本。它使用的IP VMkernel去Ping另一个ESX主机的VMkernel端口,这意味着你可以通过vMotion网络而非管理网络发送ping包,此命令有助于解决VMotion和网络存储的问题。 vmkping [参数] [地址] |-I: 指定网卡接口、或指定的本机地址送出数据包 |
|-i: 设定间隔几秒发送一个vmkping包,默认一秒ping一次 | 示例1:
通过vmkl接口向10.10.10.1发送ICMP请求:
[root@linuxcool ~]# vmkping –I vmk1 10.10.10.1
示例2:
确认ESXi主机与特定IP之间的网络连通性:
[root@linuxcool ~]# vmkping –I vmk1 10.10.10.1
示例3:
测试是否能够访问10.10.10.10的3260端口:
[root@linuxcool ~]# vmkping –I vmk1 nc –z 10.10.10.10 3260
示例4:
设定间隔3秒发送一个vmkping包:
[root@linuxcool ~]# vmkping –i 3 –I vmk1 10.10.10.1
示例5:
显示帮助:
[root@linuxcool ~]# vmkping -h 网络通讯(network) 748 apachectl apachectl命令 – Apache服务器前端控制工具 apachectl命令是Apache的Web服务器前端控制工具,用以启动、关闭和重新启动Web服务器进程。 apachectl [参数] |configtest: 检查设置文件中的语法是否正确 |
|fullstatus: 显示服务器完整的状态信息 |
|graceful: 重新启动Apache服务器,但不会中断原有的连接 |
|help: 显示帮助信息 |
|restart: 重新启动Apache服务器 |
|start: 启动Apache服务器 |
|status: 显示服务器摘要的状态信息 |
|stop: 停止Apache服务器 |
|startssl: 启动带ssl支持的apache的web服务器进程 | 示例1:
测试配置文件语法:
[root@linuxcool ~]# apachectl configtest
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::6da1:1b23:c479:649a. Set the 'ServerName' directive globally to suppress this message
Syntax OK
示例2:
显示服务器状态信息:
[root@linuxcool ~]# apachectl status
示例3:
重新启动Apache服务器:
[root@linuxcool ~]# apachectl restart 网络通讯(network) 749 nntpget nntpget命令 – 下载新闻组文章 执行nntpget命令将从指定的新闻组服务器下载文章。nntpget命令会从标准输入设备读取信息识别码,而下载的新闻文章则呈现到标准输出设备。 nntpget [参数] |-d<组类型清单>: 指定新闻组类型为distribution的清单 |
|-f<文件或目录>: 下载其更改时间较指定文件或目录的更改时间更接近现在的新闻文章 |
|-n<组名称清单>: 指定新闻组名称的清单 |
|-o: 下载本地主机所没有的新闻文章 |
|-t<时间日期>: 指定时间与日期,较该日期时间更新的新闻文章都会被下载 |
|-u<文件或目录>: 此参数的效果和指定”-f”参数类似,但它在成功下载文章之后会去更改指定文件或木的更改时间,便于下次再作为参考 |
|-v: 当命令执行时,把每篇文章的信息识别码都送到标准输出,本参数需配合参数”-o”使用 | 示例1:
下载指定日期的文章:
[root@linuxcool ~]# nntpget -t 2020.01.01
示例2:
指定下载目录:
[root@linuxcool ~]# nntpget -u /linuxcool
示例3:
显示下载具体信息:
[root@linuxcool ~]# nntpget -u -v /linuxcool 网络通讯(network) 750 arptables arptables命令 – ARP包过滤管理工具 arptables命令用来设置、维护和检查Linux内核中的arp包过滤规则表。使用arptables命令可以定义多个不同的规则表,每个规则表包含多个内置的规则链或者用户自定义的规则链。
arptables命令工作在ARP协议层,要掌握此命令必须理解ARP的原理。 arptables [参数] |-A: 向规则链中追加规则 |
|-D: 从指定的链中删除规则 |
|-l: 向规则链中插入一条新的规则 |
|-R: 替换指定规则 |
|-P: 设置规则链的默认策略 |
|-F: 刷新指定规则链,将其中的所有规则链删除,但是不改变规则链的默认策略 |
|-Z: 将规则链计数器清零 |
|-L: 显示规则链中的规则列表 |
|-X: 删除指定的空用户自定义规则链 |
|-h: 显示指令帮助信息 |
|-j: 指定满足规则的添加时的目标 |
|-s: 指定要匹配ARP包的源ip地址 |
|-d: 指定要匹配ARP包的目的IP地址 | 示例1:
添加新的规则:
[root@linuxcool ~]# arptables -A IN -s 192.168.0.10 -j DROP
示例2:
显示arp包过滤规则:
[root@linuxcool ~]# arptables -L
示例3:
指定源ip进行包过滤:
[root@linuxcool ~]# arptables -s 192.168.20.20 网络通讯(network) 751 ntptrace ntptrace命令 – 追踪NTP服务器链 ntptrace是一个 perl 脚本,它使用 ntpq 实用程序来跟踪从给定主机到主要时间源的 NTP 服务器链。为了使ntptrace正常工作,这些服务器中的每一个都必须实现RFC 1305中指定的NTP控制和监控协议,并启用NTP模式6数据包。 ntptrace [参数] |-d: 开启调试输出 |
|-n: 只打印主机IP地址,不打印主机名称 |
|-r retries: 设置每个主机的重传尝试次数。默认值为5 | 示例1:
只打印主机IP地址,不打印主机名称:
[root@linuxcool ~]# ntptrace -n
示例2:
开启调试输出:
[root@linuxcool ~]# ntptrace -d
示例3:
设置每个主机的重传尝试次数:
[root@linuxcool ~]# ntptrace -r www.linuxcool.com 网络通讯(network) 752 mysqlshow mysqlshow命令 – 显示数据库、数据表和列信息 mysqlshow命令用于显示MySQL服务器中的数据库、表和列信息。 mysqlshow [参数] [数据库] |-h: MySQL服务器的IP地址或主机名 |
|-u: 连接MySQL服务器的用户名 |
|-p: 连接MySQL服务器的密码 |
|--count: 显示每个数据表中数据的行数 |
|-k: 显示数据库表的索引 |
|-t: 显示数据表的类型 |
|-i: 显示数据表的额外信息 | 示例1:
查看“newdb”数据库的信息:
[root@linuxcool ~]# mysqlshow -h localhost -u root -p -t newdb
示例2:
显示数据表的额外信息:
[root@linuxcool ~]# mysqlshow -h localhost -i -t newdb
示例3:
显示每个数据表中数据的行数:
[root@linuxcool ~]# mysqlshow -h localhost --count -t newdb 网络通讯(network) 753 httpd httpd命令 – Apache HTTP服务器程序 httpd为Apache HTTP服务器程序。直接执行程序可启动服务器的服务。 httpd [参数] |-t: 测试配置文件的语法是否正确 |
|-l: 显示服务器编译时所包含的模块 |
|-L: 显示httpd指令的说明 |
|-S: 显示配置文件中的设定 |
|-D: 指定要传入配置文件的参数 | 示例1:
检查配置文件语法错误:
[root@linuxcool ~]# httpd -t
示例2:
启动httpd服务:
[root@linuxcool ~]# httpd
示例3:
显示编译模块:
[root@linuxcool ~]# httpd -l
示例4:
显示配置文件:
[root@linuxcool ~]# httpd -L>1.log|tail -n 20 1.log
示例5:
显示配置文件中的设定:
[root@linuxcool ~]# httpd -S 网络通讯(network) 754 sshd sshd命令 – openssh服务器守护进程 sshd命令来自英文词组“SSH daemon”的缩写,其功能是用于openssh服务器守护进程。openssh套件能够为两台主机之间建立加密的、可信任的数据通信服务,是rlogin与rsh等明文数据通信的替代品,而sshd命令即为openssh套件中的核心程序。 sshd [参数] [对象] |-4: 基于IPv4网络协议 |
|-6: 基于IPv6网络协议 |
|-d: 使用调试模式 |
|-D: 使用非后台守护进程的方式运行服务 |
|-e: 直接显示报错信息 |
|-f: 设置服务器的配置文件 |
|-g: 设置客户端登录的过期时间 |
|-h: 设置读取主机密钥文件 |
|-i: 使用inetd方式运行 |
|-o: 设置服务配置选项 |
|-p: 设置使用的端口号 |
|-q: 静默执行模式 |
|-t: 使用测试模式 | 示例1:
以调试模式运行sshd服务程序:
[root@linuxcool ~]#/usr/sbin/sshd -ddebug1: sshd version OpenSSH_7.8, OpenSSL 1.1.1 FIPS 11 Sep 2018
debug1: private host key #0: ssh-rsa SHA256:6n6eWlVRVtXxbDBBA5A05eRVxbyh4ImR0mdvcwIEUdc
debug1: private host key #1: ecdsa-sha2-nistp256 SHA256:212/FhZ+6JFs5psuMJx9+5alyW6QDzviE0miulDPiKk
debug1: private host key #2: ssh-ed25519 SHA256:3t6D+ZUPab8itrLMEEI+btP0y4YKN3pUa3JM0xTW6/o
debug1: rexec_argv[0]='/usr/sbin/sshd'
debug1: rexec_argv[1]='-d'
debug1: Set /proc/self/oom_score_adj from 0 to -1000
debug1: Bind to port 22 on 0.0.0.0.
Bind to port 22 on 0.0.0.0 failed: Address already in use.
debug1: Bind to port 22 on ::.
Bind to port 22 on :: failed: Address already in use.
Cannot bind any address.
示例2:
以测试模式运行sshd服务程序:
[root@linuxcool ~]#/usr/sbin/sshd -t
示例3:
强制基于IPv6地址进行服务:
[root@linuxcool ~]#/usr/sbin/sshd -6 网络通讯(network) 755 ftptop ftptop命令 – 显示服务器的连接状态 ftptop命令的作用是使用top命令的显示风格显示服务器的连接状态。 ftptop [参数] |-D: 过滤正在下载的会话 |
|-S: 仅显示虚拟主机的连接状态 |
|-d: 指定屏幕刷新时间(默认2秒) |
|-U: 过滤正在上传的会话 | 示例1:
显示服务器连接状态:
[root@linuxcool ~]# ftptop
示例2:
过滤正在下载的会话:
[root@linuxcool ~]# ftptop -D
示例3:
指定屏幕刷新时间为1秒:
[root@linuxcool ~]# ftptop -d 1 网络通讯(network) 756 dig dig命令 – 查询域名DNS信息 dig命令来自英文词组“domain information groper”的缩写,其功能是用于查询域名DNS信息。dig命令能够便捷地查询到指定域名所对应的DNS服务器信息,具有灵活性好,易用,输出清晰等特点,与nslookup命令很相似。 dig [参数] [域名或IP地址] |@: 设置域名服务器 |
|-4: 基于IPv4网络协议 |
|-6: 基于IPv6网络协议 |
|-b: 设置本机发起请求的IP地址 |
|-f: 使用批处理模式 |
|-h: 显示帮助信息 |
|-k: 指定TSIG密钥文件 |
|-p: 设置域名服务器所使用端口号 |
|-t: 设置要查询的DNS数据类型 |
|-x: 执行反向域名查询 | 示例1:
查询指定域名所对应的DNS信息:
[root@linuxcool ~]#dig www.linuxcool.com; <<>> DiG 9.11.36-RedHat-9.11.36-5.el8_7.2 <<>> www.linuxcool.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46189
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.linuxcool.com. IN A
;; ANSWER SECTION:
www.linuxcool.com. 600 IN A 39.98.160.175
;; Query time: 5 msec
;; SERVER: 100.100.2.136#53(100.100.2.136)
;; WHEN: Wed Apr 05 08:18:34 CST 2023
;; MSG SIZE rcvd: 51
示例2:
查询指定IP地址所对应的域名信息(反向查询):
[root@linuxcool ~]#dig -x 39.98.160.175; <<>> DiG 9.11.36-RedHat-9.11.36-5.el8_7.2 <<>> -x 39.98.160.175
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 10286
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;175.160.98.39.in-addr.arpa. IN PTR
;; AUTHORITY SECTION:
98.39.in-addr.arpa. 300 IN SOA rdns1.alidns.com. dnsmgr.alibaba-inc.com. 2015011330 1800 600 1814400 300
;; Query time: 28 msec
;; SERVER: 100.100.2.136#53(100.100.2.136)
;; WHEN: Wed Apr 05 08:19:33 CST 2023
;; MSG SIZE rcvd: 115
示例3:
指定要查询的数据类型(邮件),查询指定域名所对应的DNS信息:
[root@linuxcool ~]#dig -t MX linuxcool.com; <<>> DiG 9.11.36-RedHat-9.11.36-5.el8_7.2 <<>> -t MX linuxcool.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63164
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;linuxcool.com. IN MX
;; ANSWER SECTION:
linuxcool.com. 600 IN MX 10 mx.zoho.com.cn.
linuxcool.com. 600 IN MX 20 mx2.zoho.com.cn.
;; Query time: 6 msec
;; SERVER: 100.100.2.136#53(100.100.2.136)
;; WHEN: Wed Apr 05 08:22:39 CST 2023
;; MSG SIZE rcvd: 82 网络通讯(network) 757 samba samba命令 – 控制Samba服务器 samba为script文件,可启动,停止Samba服务器或回报目前的状态。 Samba是一套使用SMB(Server Message Block)协议的应用程序, 通过支持这个协议, Samba允许Linux服务器与Windows系统之间进行通信,使跨平台的互访成为可能。Samba采用C/S模式, 其工作机制是让NetBIOS( Windows 网上邻居的通信协议)和SMB两个协议运行于TCP/IP通信协议之上,并且用NetBEUI协议让Windows在“网上邻居”中能浏览Linux服务器。
samba服务器可实现如下功能:WINS和DNS服务; 网络浏览服务; Linux和Windows域之间的认证和授权; UNICODE字符集和域名映射;满足CIFS协议的UNIX共享等。 samba的主要目的就是用来沟通Windows与Unix这两种不同的作业平台。 samba [参数] |start: 启动Samba服务器的服务 |
|stop: 停止Samba服务器的服务 |
|status: 显示Samba服务器目前的状态 |
|restart: 重新启动Samba服务器 | 示例1:
启动Samba:
[root@linuxcool ~]# samba start
示例2:
停止Samba:
[root@linuxcool ~]# samba stop
示例3:
重新启动Samba:
[root@linuxcool ~]# samba restart 网络通讯(network) 758 nisdomainname nisdomainname命令 – 显示主机NIS的域名 nisdomainname命令用于显示主机NIS的域名。
注意区分DNS域名和NIS域名,前者为因特网的标准域名系统,后者则基本被淘汰,重要应用在中小型网络中。 nisdomainname [参数] |-v: 详细信息模式 | 示例1:
显示本机的NIS域名:
[root@linuxcool ~]# nisdomainname -v
示例2:
设置主机NIS的域名:
[root@linuxcool ~]# nisdomainname linuxcool 网络通讯(network) 759 mailstat mailstat命令 – 显示到达的邮件状态 mailstat命令用来显示到达的邮件状态。它显示的邮件状态是基于邮件的日志文件。
mailstat命令需要读取邮件日志文件来显示邮件状态,所以需要在命令行中给出邮件日志文件的具体位置。默认情况下,mailstat命令会在显示邮件状态后将邮件日志文件清空。 mailstat [参数] [日志文件] |-k: 保持邮件日志文件的完整性,不清空日志文件 |
|-l: 使用长格式显示邮件状态 |
|-m: 合并任何错误信息到一行中显示 |
|-o: 使用老的邮件日志邮件 |
|-t: 使用简洁的格式显示邮件状态 |
|-s: 如果没有邮件则不输出任何信息 | 示例1:
显示邮件状态:
[root@linuxcool ~]# mailstat /var/log/maillog
示例2:
使用长格式显示邮件状态:
[root@linuxcool ~]# mailstat -l /var/log/maillog
示例3:
保留完整的邮件日志文件:
[root@linuxcool ~]# mailstat -k /var/log/maillog 网络通讯(network) 760 smbpasswd smbpasswd命令 – 修改用户的SMB密码 smbpasswd命令来自英文词组“samba password”的缩写,其功能是用于修改用户的SMB密码。smbpasswd是属于samba服务套件中的一个命令,所以会随samba服务一起安装到系统中,无需额外操作。
smbpasswd命令能够为samba服务提供用户账户的添加、密码修改和删除等操作,从RHEL /CentOS6系统开始用户不再能使用系统本地账户登录了,必须要有个samba账户才行喽。 smbpasswd [参数] [用户名] |-a: 添加用户 |
|-c: 指定配置文件 |
|-d: 禁用用户 |
|-D: 设置调试级别 |
|-e: 激活用户 |
|-i: 设置域间信任账户 |
|-L: 使用本地模式 |
|-m: 设置机器信任账户 |
|-n: 清空指定用户的密码 |
|-r: 设置远程服务器上的用户密码 |
|-s: 使用标准输入进行密码提示 |
|-U: 设置用户名 |
|-w: 使用LDAP管理密码 |
|-x: 删除用户 | 示例1:
添加用户并设置密码:
[root@linuxcool ~]#smbpasswd -a linuxprobeNew SMB password:输入用户密码Retype new SMB password:再次输入用户密码Added user linuxprobe.
示例2:
清空指定的用户密码:
[root@linuxcool ~]#smbpasswd -n linuxprobeUser linuxprobe password set to none.
示例3:
激活指定的用户:
[root@linuxcool ~]#smbpasswd -e linuxprobeEnabled user linuxprobe.
示例4:
禁用指定的用户:
[root@linuxcool ~]#smbpasswd -d linuxprobeDisabled user linuxprobe.
示例5:
删除指定的用户:
[root@linuxcool ~]#smbpasswd -x linuxprobeDeleted user linuxprobe. 网络通讯(network) 761 ntpd ntpd命令 – 网络时间协议(NTP)的守护进程 ntpd命令来自英文词组“network time protocol daemon”的缩写,其功能是用于网络时间协议(NTP)的守护进程。ntpd是一个Linux操作系统的守护进程程序,它可以让系统的时间与互联网标准时间服务器同步,当前是基于第四版的RFC-5905网络时间协议工作的。 ntpd [参数] |-4: 基于IPv4网络协议 |
|-6: 基于IPv6网络协议 |
|-a: 进行加密认证 |
|-A: 不进行加密认证 |
|-b: 同步到广播服务器 |
|-c: 设置配置文件的路径 |
|-d: 使用调试模式 |
|-k: 设置密钥文件 |
|-l: 设置日志文件 |
|-L: 不要监听虚拟IP |
|-n: 不创建进程 |
|-p: 设置记录进程PID的文件 |
|-s: 设置统计文件 |
|-t: 添加密钥到信任列表 |
|-v: 添加一个系统变量 | 示例1:
对广播客户端、多播客户端和对称被动关联进行加密认证:
[root@linuxcool ~]#ntpd -a
示例2:
广播客户端、多播客户端和对称被动关联不需要加密认证:
[root@linuxcool ~]#ntpd -A
示例3:
启用客户端同步到广播服务器:
[root@linuxcool ~]#ntpd -b 网络通讯(network) 762 ipcalc ipcalc命令 – 简单的IP地址计算器 ipcale命令来自英文词组“IP Calculate”的缩写,其功能是用于简单的IP地址计算任务。比起Linux命令参数来说,网络地址转换更加让人头疼,如何快速地知道一个IP地址所对应的子网掩码、网络地址、广播地址及对应主机名信息?不用再发愁了,把问题抛给ipcalc命令就好。 ipcalc [参数] [IP地址] |-b: 由IP地址和网络掩码计算出广播地址 |
|-c: 验证指定族下的IP地址 |
|-h: 由IP地址找出所对应的主机名 |
|-m: 由IP地址计算出网络掩码 |
|-n: 由IP地址和网络掩码计算出网络地址 |
|-p: 显示掩码或IP地址的前缀 |
|-s: 静默执行模式 |
|--ipv4: 基于IPv4网络协议 |
|--ipv6: 基于IPv6网络协议 |
|--help: 显示帮助信息 | 示例1:
由指定的IP地址和子网掩码显示对应的子网掩码:
[root@linuxcool ~]#ipcalc -p 192.168.10.10 255.255.255.0PREFIX=24
示例2:
由指定的IP地址和子网掩码计算出网络地址:
[root@linuxcool ~]#ipcalc -n 192.168.10.10 255.255.255.0NETWORK=192.168.10.0
示例3:
由指定的IP地址找出所对应的主机名:
[root@linuxcool ~]#ipcalc -h 192.168.10.10HOSTNAME=www.linuxcool.com
示例4:
由指定的信息,计算出IP地址的子网掩码、广播地址和网络地址:
[root@linuxcool ~]#ipcalc -m -b -n 192.168.10.10/28NETMASK=255.255.255.240
BROADCAST=192.168.10.15
NETWORK=192.168.10.0 网络通讯(network) 763 ifdown ifdown命令 – 禁用网络接口 ifdown命令来自英文词组“interface down”的缩写,其功能是用于禁用网络接口。ifdown命令会去读取Linux系统中网络接口服务目录下的配置文件,随后根据配置文件的内容来关闭对应的网络接口,这样就能实现对指定网卡停用的效果了。 ifdown [网络接口] |网络接口: 设置禁用的网络接口名称 | 示例1:
禁用指定的网络接口:
[root@linuxcool ~]#ifdown eth0 网络通讯(network) 764 mii-tool mii-tool命令 – 网络设备协商工具 mii-tool命令是用于查看、管理介质的网络接口的状态,有时网卡需要配置协商方式,比如10/100/1000M的网卡半双工、全双工、自动协商的配置。
但大多数的网络设备是不用我们来修改协商,因为大多数网络设置接入的时候,都采用自动协商来解决相互通信的问题。不过自动协商也不是万能的,有时也会出现错误,比如丢包率比较高,这时就要我们来指定网卡的协商方式。mii-tool就是能指定网卡的协商方式。下面我们说一说mii-tool的用法。 mii-tool [参数] [设备接口] |-v: 显示网络接口的信息 |
|-R: 重设MII到开启状态 |
|-r: 重启自动协商模式 |
|-w: 查看网络接口连接的状态变化 |
|-l: 写入事件到系统日志 |
|-A: 指令特定的网络接口 |
|-F: 更改网络接口协商方式 | 示例1:
查看网络接口的协商状态:
[root@linuxcool ~]# mii-tool -v eth0
示例2:
使用-F参数把网络接口eth0改为1000Mb/s全双工的模式:
[root@linuxcool ~]# mii-tool -F 100baseTx-FD
示例3:
使用 -r 重启自动协商模式:
[root@linuxcool ~]# mii-tool -r eth0 网络通讯(network) 765 arp arp命令 – 管理系统arp缓存信息 arp命令来自英文词组“Address Resolution Protocol”的缩写,其功能是用于管理系统arp缓存信息。该命令用于管理Linux系统中arp缓存信息,能够显示、添加、删除指定的条目,或对IP地址及MAC地址进行绑定操作。 arp [参数] [IP地址] |-a: 显示所有条目 |
|-d: 删除指定条目 |
|-D: 使用硬件地址 |
|-e: 设置显示风格 |
|-f: [IP地址]与MAC地址静态映射 |
|-g: 显示ARP缓存列表 |
|-H: 设置地址类型 |
|-i: 设置网络接口 |
|-n: 使用数字方式显示条目 |
|-v: 显示执行过程详细信息 |
|--version: 显示版本信息 | 示例1:
显示本机arp缓存中所有记录:
[root@linuxcool ~]#arpAddress HWtype HWaddress Flags Mask Iface
gateway ether 00:03:0f:81:6b:f1 C ens160
示例2:
以数字方式显示指定主机arp缓存条目:
[root@linuxcool ~]#arp -n 192.168.10.10Address HWtype HWaddress Flags Mask Iface
192.168.10.10 ether 00:03:0f:81:6b:f1 C ens160
示例3:
删除指定主机网卡上的arp条目:
[root@linuxcool ~]#arp -i ens160 -d 192.168.10.10
示例4:
添加对指定的IP地址和MAC地址进行静态映射条目:
[root@linuxcool ~]#arp -s 192.168.10.10 00:03:0f:81:6b:f1 网络通讯(network) 766 sendmail sendmail命令 – 电子邮件传送代理 sendmail命令是一款著名的电子邮件传送代理程序,也就是平常所说的电子邮件服务器,它基于标准的简单邮件传送协议(SMTP)。
sendmail仅负责邮件的投递工作,不负责邮件的撰写和显示等功能。 sendmail [参数] |-bd: 以守护进程方式运行命令 |
|-bD: 以前台运行方式运行命令 |
|-bi: 初始化别名数据库 |
|-bm: 以常规发送电子邮件 |
|-bp: 显示邮件发送队列 |
|-C<配置文件>: 指定配置文件 |
|-D<日志文件>: 将调试的输出信息保存到指定日志文件,而不显示在标准输出设备上 |
|-F<全名>: 指定右键发送者全名 |
|-f<名字>: 指定发件人的名字 |
|-n: 禁止使用邮件别名功能 |
|-q<时间间隔>: 设置处理邮件队列中邮件的时间间隔 | 示例1:
以守护进程方式运行sendmail:
[root@linuxcool ~]# sendmail -bd
示例2:
禁止使用邮件别名功能:
[root@linuxcool ~]# sendmail -n
示例3:
向user1发送邮件:
[root@linuxcool ~]# sendmail -f user1
示例4:
将调试的信息输出到test:
[root@linuxcool ~]# sendmail -D test
示例5:
以前台方式运行命令:
[root@linuxcool ~]# sendmail -bD 网络通讯(network) 767 iptraf-ng iptraf-ng命令 – 交互式彩色IP LAN监视器 iptraf-ng命令是一个基于ncurses的IP LAN监视器,可生成各种网络统计信息,包括TCP信息,UDP计数,ICMP和OSPF信息,以太网负载信息,节点统计信息,IP校验和错误等等。 iptraf-ng [参数] [接口] |--d: 允许您立即启动指定接口上的详细信息(iface) |
|--z: 显示指定接口上的数据包计数大小 |
|-i: 立即在指定接口启动IP流量监视器。如果指定了“-i all”,则所有接口上 |
|--z: 显示指定接口上的数据包计数大小 |
|-u: 允许使用不受支持的接口作为以太网设备。 如果更改了接口的名称,则需要这样做 |
|-g: 立即启动常规接口统计 | 示例1:
立即启动指定接口上的详细信息:
[root@linuxcool ~]# iptraf-ng -d eth5
示例2:
显示数据包计数大小:
[root@linuxcool ~]# iptraf-ng -z eth5
示例3:
立即启动常规接口统计:
[root@linuxcool ~]# iptraf-ng -g eth5 网络通讯(network) 768 mailq mailq命令 – 显示待发送的邮件队列 mailq命令作用是显示用户待发送的邮件队列,显示的每一个条目包括邮件队列id、邮件大小、加入队列时间、邮件发送者和接受者。如果邮件最后一次尝试后还没有将邮件投递出去,则显示发送失败的原因。 mailq [参数] |–Ac: 使用submit.cf配置文件,而不管邮件是否是初始提交 |
|–qp: 设定睡眠时间。 默认为1秒 |
|–q: 只处理名为name的队列组中的作业 |
|-v: 显示详细信息 | 示例1:
显示邮件发送队列:
[root@linuxcool ~]# mailq
示例2:
显示邮件发送队列详细信息:
[root@linuxcool ~]# mailq -v
示例3:
使用submit.cf配置文件执行操作:
[root@linuxcool ~]# mailq -Ac 网络通讯(network) 769 nmap nmap命令 – 网络探测及端口扫描工具 nmap命令来自英文词组“Network Mapper”的缩写,中文译为网络映射器,其功能是用于网络探测及端口扫描工具。nmap是一款开放源代码的网络探测和安全审计工具,能够快速扫描互联网、局域网或单一主机上的开放信息,基于原始IP报文数据自动分析出网络上有哪些主机,主机上提供何种服务,服务程序又是什么版本,为日常维护和安全审计提供数据支撑。
除了上述帮助管理员了解整个网络情况的功能外,还能利用nmap获取目标主机的更深入信息,例如反向域名、猜测操作系统、设备种类及类型、MAC网卡地址信息等。 nmap [参数] [域名或IP地址] |-A: 使用高级功能进行扫描 |
|-d: 显示调试信息 |
|-n: 不使用域名解析 |
|-p: 扫描指定端口和端口范围 |
|-R: 为所有目标解析域名 |
|-PE: 强制执行直接的ICMPping |
|-ps: 发送SYN同步报文 |
|-PU: 发送udp ping |
|-sP: 对目标主机进行ping扫描 |
|-sV: 探测服务版本信息 |
|--traceroute: 扫描主机端口并跟踪路由 | 示例1:
扫描目标主机并跟踪路由信息:
[root@linuxcool ~]#nmap --traceroute www.linuxcool.com
示例2:
扫描目标主机上的特定端口号信息:
[root@linuxcool ~]#nmap -p80,443 www.linuxcool.com
示例3:
扫描目标主机上的指定端口号段信息:
[root@linuxcool ~]#nmap -p1-10000 www.linuxcool.com
示例4:
使用高级模式扫描目标主机:
[root@linuxcool ~]#nmap -A www.linuxcool.com 网络通讯(network) 770 arping arping命令 – 发送ARP请求报文 arping命令来自英文词组“ARP ping”的缩写,其功能是用于发送ARP请求报文,ARP全称为“Address Resolution Protocol”,中文译为地址解析协议。arping命令是使用ARP报文数据包来测试网络状态,能够判断某个指定IP地址是否在网络上已被使用,并能够获取更多设备信息,像是加强版的ping命令。 arping [参数] [域名或IP地址] |-b: 仅发送MAC级广播 |
|-c: 发送指定个数ARP请求数据包后停止 |
|-D: 使用重复地址检测模式 |
|-f: 在第一个回复确认目标存活后退出命令 |
|-h: 显示帮助信息 |
|-i: 设置数据包之间的间隔时间 |
|-I: 设置ARP请求报文的网络接口 |
|-q: 静默执行模式 |
|-s: 设置发送ARP请求数据包的源IP地址 |
|-U: 更新邻近主机的ARP缓存 |
|-V: 显示版本信息 |
|-w: 设置超时秒数 | 示例1:
测试指定主机的存活状态:
[root@linuxcool ~]#arping -f 192.168.10.10ARPING 192.168.10.10 from 192.168.10.149 ens192
Unicast reply from 192.168.10.10 [00:03:0F:81:6B:F1] 1.995ms
Sent 1 probes (1 broadcast(s))
Received 1 response(s)
示例2:
向指定主机发送3次ARP请求报文:
[root@linuxcool ~]#arping -c 3 192.168.10.10ARPING 192.168.10.10 from 192.168.10.149 ens192
Unicast reply from 192.168.10.10 [00:03:0F:81:6B:F1] 1.813ms
Unicast reply from 192.168.10.10 [00:03:0F:81:6B:F1] 1.850ms
Unicast reply from 192.168.10.10 [00:03:0F:81:6B:F1] 1.816ms
Sent 3 probes (1 broadcast(s))
Received 3 response(s)
示例3:
使用指定网口发送指定次数ARP请求报文后自动退出命令:
[root@linuxcool ~]#arping -I ens192 -c 2 192.168.10.10ARPING 192.168.10.10 from 192.168.10.149 ens192
Unicast reply from 192.168.10.10 [00:03:0F:81:6B:F1] 1.861ms
Unicast reply from 192.168.10.10 [00:03:0F:81:6B:F1] 1.921ms
Sent 2 probes (1 broadcast(s))
Received 2 response(s) 网络通讯(network) 771 ctlinnd ctlinnd命令 – 设置INN新闻组服务器 通过ctlinnd指令,可以对新闻组服务器这项常驻服务下达控制命令,直接设置相关数值。 ctlinnd [参数] |h: 在线帮助 |
|s: 不显示指令执行过程 |
|t: 设置等待服务器回报的时间,单位以秒计算,超过此一时间则为超时 | 示例1:
设置等待服务器回报的时间:
[root@linuxcool ~]# ctlinnd -t 60
示例2:
查看帮助信息:
[root@linuxcool ~]# ctlinnd -h
示例3:
下达指令,但不显示指令执行过程:
[root@linuxcool ~]# ctlinnd -hs -t 60 网络通讯(network) 772 tcpdump tcpdump命令 – 监听网络流量 tcpdump命令的功能是监听网络流量,是一款数据嗅探工具,在Linux系统中常用来抓取数据包,能够记录所有经过服务器的数据包信息。tcpdump命令需要以管理员身份执行。 tcpdump [参数] [对象] |-a: 将网络和广播地址转换成名称 |
|-c: 收到指定的数据包数目后,就停止抓包操作 |
|-d: 将编译过的数据包编码转换成可阅读的格式 |
|-dd: 将编译过的数据包编码转换成C语言的格式 |
|-ddd: 将编译过的数据包编码转换成十进制数字的格式 |
|-e: 在每列资料上显示连接层级的文件头 |
|-f: 用数字显示网络地址 |
|-F: 指定内含表达方式的文件 |
|-i: 使用指定的网络接口送出数据包 |
|-l: 使用标准输出列的缓冲区 |
|-n: 不将IP地址转换成主机名 |
|-O: 不将数据包编码最佳化 |
|-q: 静默执行模式 |
|-r: 从指定的文件中读取数据 |
|-s: 设置每个数据包的大小 |
|-S: 用绝对而非相对数值列出TCP关联数 |
|-t: 不显示时间戳记 |
|-tt: 显示未经格式化的时间戳 |
|-T: 将数据包转换成指定类型 |
|-v: 显示执行过程信息 |
|-vv: 显示执行过程详细信息 |
|-x: 用十六进制字码显示数据包 |
|-w: 将数据包写入指定的文件 | 示例1:
监听指定网络接口的数据包:
[root@linuxcool ~]# tcpdump -i ens160
示例2:
监听指定主机的数据包(主机名):
[root@linuxcool ~]# tcpdump host linuxcool.com
示例3:
监听指定主机的数据包(IP地址):
[root@linuxcool ~]# tcpdump host 192.168.10.10
示例4:
监听指定端口号的数据包,并以文本形式展示:
[root@linuxcool ~]# tcpdump -i any port 80 -A 网络通讯(network) 773 mutt mutt命令 – E-mail管理程序 mutt是一个文字模式的邮件管理程序,提供了全屏幕的操作界面。
它是一款基于文字界面的邮件客户端,非常小巧,但功能强大,可以用它来读写,回复保存和删除你的邮件,能在linux命令行模式下收发邮件附件。 mutt [参数] |h: 显示帮助 |
|a: 在邮件中加上附加文件 |
|b: 指定密件副本的收信人地址 |
|c: 指定副本的收信人地址 |
|f: 指定要载入的邮件文件 |
|F: 指定mutt程序的设置文件,而不读取预设的.muttrc文件 | 示例1:
将指定文件插入邮件内文中:
[root@linuxcool ~]# mutt -i /etc/home/test.txt
示例2:
以只读的方式开启邮件文件:
[root@linuxcool ~]# mutt -R
示例3:
在邮件中加上附加文件:
[root@linuxcool ~]# mutt -a /etc/home/test.txt
示例4:
发送邮件到linuxcool@mail.com 这个邮箱,邮件主题是“test”,邮件内容在 /root/test.txt 中,邮件中包含附件 /home/backup/test.sql:
[root@linuxcool ~]# mutt linuxcool@mail.com -s "test" -a /home/backup/test.sql 网络通讯(network) 774 iptraf iptraf命令 – 实时监视网卡流量 iptraf命令来自英文词组“IP traffic monitor”的缩写,其功能是用于实时监视网卡流量。使用iptraf命令可以监视本地网络状况,能够生成网络协议数据包信息、以太网信息、网络节点状态及IP校验和错误等重要情报。 iptraf [参数] [网卡名]称 |-B: 将程序作为后台进程运行 |
|-d: 监视网络流量明细信息 |
|-f: 清空所有计数器 |
|-g: 生成网络接口状态的概要信息 |
|-h: 显示帮助信息 |
|-i: 开启IP流量监视 |
|-I: 设置间隔时间 |
|-l: 监视局域网工作站信息 |
|-L: 设置日志文件 |
|-s: 开始监视TCP和UDP网络流量信息 |
|-t: 设置命令监视的时间 |
|-u: 允许使用不受支持的接口做网卡设备 |
|-z: 在指定网络接口上显示包计数 | 示例1:
实时监视指定网卡的详细流量状态信息:
[root@linuxcool ~]#iptraf -d eth0
示例2:
实时监视指定网卡的IP流量信息:
[root@linuxcool ~]#iptraf -i eth0
示例3:
实时监视指定网卡上的TCP/UDP协议流量信息:
[root@linuxcool ~]#iptraf -s eth0 网络通讯(network) 775 mail mail命令 – 发送和接收邮件 mail命令的功能是发送和接收邮件,是Linux系统中重要的电子邮件管理工具,自RHEL 8 /CentOS8系统起,该命令正式改名为mailx,而mail则作为软链接文件保留。 mail [参数] [对象] |-a: 添加邮件附件 |
|-b: 设置密件抄送的收信人 |
|-c: 设置抄送的收信人 |
|-f: 读取指定邮件的附件 |
|-i: 不显示终端发出的信息 |
|-l: 使用交互模式 |
|-N: 预览邮件时不显示标题 |
|-s: 给邮件追加主题 |
|-u: 读取指定用户的邮件 |
|-v: 显示执行过程详细信息 | 示例1:
向指定的邮箱发送信件 ,以单个句号(.)结束邮件:
[root@linuxcool ~]# mail root@linuxprobe.com
Subject: Hello World
Collection of Linux commands
Welcome to linuxcool.com
.
EOT
示例2:
查看当前用户身份下的邮件信息:
[root@linuxcool ~]# mail
Heirloom Mail version 12.5 7/5/10. Type ? for help.
"/var/spool/mail/root": 1 message 1 new
>N 1 liuchuan Tue Mar 30 09:35 97/3257 "Hello World"
………………省略部分输出信……………… 网络通讯(network) 776 open open命令 – 启用虚拟终端 open命令的作用是可以启用虚拟终端,然后执行指定的命令。
虚拟终端类似于你目前使用的终端。它们用于执行命令和提供输入。唯一的区别是你不能将鼠标与虚拟终端一起使用。虚拟终端允许许多用户在同一台计算机上同时处理不同的程序。
当你登录linux服务器的时候,默认只能使用虚拟终端。此外,即便是普通的桌面环境,当你需要重新配置图形界面,或者图形界面因为内部异常等原因崩溃了的时候,你还可以切换到虚拟终端继续执行操作。 open [参数] [命令] |-l: 登录环境 |
|-u: 启用新的终端 |
|-s: 切换到终端 |
|-v: 显示详细信息 |
|-w: 进入等待状态 |
|-c<终端号码>: 指定终端 | 示例1:
启用新的终端10,然后执行命令:
[root@linuxcool ~]# open -c 10 - date
示例2:
显示终端详细信息:
[root@linuxcool ~]# open -v
示例3:
使终端进入等待状态:
[root@linuxcool ~]# open -w 网络通讯(network) 777 dhcrelay dhcrelay命令 – 提供中继DHCP和BOOTP请求 dhcrelay命令可以提供中继DHCP和BOOTP请求,从一个没有DHCP服务器的子网直接连接到其它子网内的一个或多个DHCP服务器。该命令在DHCP中继服务器上使用,同时支持DHCPv4/BOOTP和DHCPv6协议。
DHCP中继代理在一个或多个接口上侦听来自客户端或其他中继代理的DHCPv4或DHCPv6查询,并将其传递到指定的“上游”服务器或中继代理。从上游接收到答复后,会将其组播或单播发送回原始请求的源。 dhcrelay [参数] [DHCP服务器] |-c <跳数>: 当转发数据包时,dhcrelay丢弃已经达到一个最大跳数的数据包。默认值是10,最大值是255 |
|-4: 运行dhcrelay命令作为DHCPv4/BOOTP中继代理。这是默认操作模式 |
|-6: 运行dhcrelay命令作为DHCPv6中继代理 |
|-q: 安静模式 |
|-p <端口>: 监听和发送端口。DHCPv4/BOOTP默认端口是67,DHCPv6默认端口是547 |
|-A <长度>: 指定发送到DHCP服务器的最大数据包大小 |
|-d: 强制dhcrelay命令作为前台进程运行 | 示例1:
指定DHCP服务器:
[root@linuxcool ~]# dhcrelay 192.168.20.4
示例2:
指定到DHCP服务器的最大挑数:
[root@linuxcool ~]# dhcrelay -c 15 192.168.20.4
示例3:
发送到DHCP服务器的最大数据包:
[root@linuxcool ~]# dhcrelay -A 2048 192.168.20.4 网络通讯(network) 778 ppp-off ppp-off命令 – 关闭ppp连线 ppp-off命令是Slackware发行版内附的程序,让用户切断PPP的网络连线。 ppp-off [参数] 示例1:
关闭ppp连线:
[root@linuxcool ~]# ppp-off 网络通讯(network) 779 ifstat ifstat命令 – 统计网络信息 ifstat命令就像iostat/vmstat描述其它的系统状况一样,是一个统计网络接口活动状态的工具。ifstat工具系统中并不默认安装,需要自己下载源码包,重新编译安装,使用过程相对比较简单。 ifstat [参数] |-p: 优化打印 |
|-a: 忽略历史记录 |
|-e: 显示错误信息 |
|-r: 重置历史记录 | 示例1:
使用-p参数打印网络接口流量信息:
[root@linuxcool ~]# ifstat -p
示例2:
使用-a参数忽略历史记录:
[root@linuxcool ~]# ifstat -a
示例3:
使用-e参数显示网络接口错误信息:
[root@linuxcool ~]# ifstat -e 网络通讯(network) 780 nc nc命令 – 扫描与连接指定端口 nc命令来自英文词组net cat的缩写,其功能是扫描与连接指定端口。nc命令是一个功能丰富的网络实用工具,被誉为网络界的“瑞士军刀”,短小精悍,功能实用。它支持TCP和UDP协议,能够基于命令行在网络上读取和写入数据,连接与扫描指定端口号,为用户提供无限的潜在用途。 nc [参数] [域名或IP地址] |-g: 设置路由器通信网关 |
|-h: 显示帮助信息 |
|-i: 设置时间间隔 |
|-l: 使用监听模式 |
|-n: 使用IP地址,而不是域名 |
|-o: 设置文件名 |
|-p: 设置本地主机使用的端口 |
|-s: 设置本地主机送出数据包的IP地址 |
|-u: 使用UDP传输协议 |
|-v: 显示执行过程详细信息 |
|-w: 设置等待连线的时间 |
|-z: 使用输入或输出模式 | 示例1:
扫描指定主机的80端口(默认为TCP):
[root@linuxcool ~]# nc -nvv 192.168.10.10 80
示例2:
扫描指定主机的1~1000端口,指定为UDP:
[root@linuxcool ~]# nc -u -z -w2 192.168.10.10 1-1000
示例3:
扫描指定主机的1~100端口,并显示执行过程:
[root@linuxcool ~]# nc -v -z -w2 192.168.10.10 1-100 网络通讯(network) 781 nethogs nethogs命令 – 实时统计网络带宽使用率工具 nethogs是一个小型的net top工具,不像大多数工具那样拖慢每个协议或者是每个子网的速度而是按照进程进行带宽分组。NetHogs不需要依赖载入某个特殊的内核模块。如果发生了网络阻塞你可以启动NetHogs立即看到哪个PID造成的这种状况。这样就很容易找出哪个程序跑飞了然后突然占用你的带宽。 nethogs [参数] [设备] |device(s): 要监控的设备,默认“eth0” |
|-d: 以秒为单位的界面刷新频率。用于控制界面的更新速度。默认为一秒 |
|-v: 选择查看模式。参数mode的取值为:“0” = KB/s;“1” = total KB, “2” = total B, “3” = total MB。默认为“0” |
|-p: 混杂模式的嗅探器 |
|-t: 追踪模式 |
|--c: 限制刷新的次数,通常与-t选项配合使用 |
|-s: 根据输出中的SENT列进行排序 | 示例1:
设置5秒刷新一次:
[root@linuxcool ~]# nethogs -d 5
示例2:
监视设备(eth0)的网络带宽:
[root@linuxcool ~]# nethogs eth0
示例3:
使用追踪模式:
[root@linuxcool ~]# nethogs -t 网络通讯(network) 782 ip ip命令 – 显示与配置网卡参数 ip命令的功能是显示与配置网卡参数。作为Linux系统下一款好用的网卡参数配置工具,ip命令除了常规操作外,还可以对主机的路由、网络设备、策略路由以及隧道信息进行查看。 ip [参数] |-4: 基于IPv4网络协议 |
|-6: 基于IPv6网络协议 |
|-f: 强制使用指定协议簇而不询问 |
|-o: 将每条信息用一行输出,不换行 |
|-s: 显示执行过程详细信息 |
|-V: 显示版本信息 | 示例1:
显示当前网络设备的运行状态:
[root@linuxcool ~]# ip link
示例2:
显示当前网络设备的详细运行状态:
[root@linuxcool ~]# ip -s link
示例3:
显示当前核心路由表信息:
[root@linuxcool ~]# ip route list
示例4:
显示当前IP地址信息:
[root@linuxcool ~]# ip address 网络通讯(network) 783 rdate rdate命令 – 显示其他主机的日期与时间 执行rdate命令,向局域网或者网络上其他主机询问系统时间并打印显示出来。也可以将其他主机的时间同步为本机时间。 rdate[参数] [IP] |-p: 显示远端主机的日期与时间 |
|-s: 把从远端主机收到的日期和时间,回存到本地主机的系统时间 |
|-u: 传输协议使用UDP协议 |
|-l: 使用syslog显示错误信息 |
|-t <时间>: 设置超时时间 | 示例1:
获取”time.nist.gov”的时间:
[root@linuxcool ~]# rdate -p time.nist.gov
rdate: [time.nist.gov] Sun Jun 30 00:45:51 2019
示例2:
获取”time.nist.gov”的时间并同步为本机时间:
[root@linuxcool ~]# rdate -p -s time.nist.gov
rdate: [time.nist.gov] Sun Jun 30 00:49:23 2019 网络通讯(network) 784 route route命令 – 显示与设置路由信息 route命令的功能是显示与设置路由信息,是Linux系统中常用的静态路由配置工具。要想让两台处于不同子网的服务器实现通信,需要有一个跨网段的路由器来连接它们,并用route命令为其设置路由信息。 route [参数] [域名或IP地址] |-A: 设置网络地址类型 |
|-C: 显示内核路由缓存信息 |
|-e: 设置路由表显示格式 |
|-F: 设置内核FIB路由表参数 |
|-v: 显示执行过程详细信息 |
|-host: 一个主机的路由表 |
|-net: 一个网络的路由表 | 示例1:
显示当前路由表信息:
[root@linuxcool ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.10.0 0.0.0.0 255.255.255.0 U 100 0 0 ens160
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
示例2:
添加一条指定的路由信息:
[root@linuxcool ~]# route add -net 192.168.10.0 netmask 255.255.255.0 dev ens160
示例3:
删除一条指定的路由信息:
[root@linuxcool ~]# route del -net 192.168.10.0 netmask 255.255.255.0 dev ens160
示例4:
添加和删除默认网关:
[root@linuxcool ~]# route add default gw 192.168.10.1
[root@linuxcool ~]# route del default gw 192.168.10.1 网络通讯(network) 785 gluster gluster命令 – Gluster控制台管理工具 gluster是一个免费的开源软件可扩展网络文件系统,Gluster Console Manager是一个用于弹性卷管理的命令行实用程序。您可以在任何出口服务器上运行gluster命令。该命令使管理员能够执行云操作,如创建、扩展、收缩、重新平衡和迁移卷,而无需安排服务器停机。 gluster [参数] |peer probe 节点: 添加节点 |
|peer detach 节点: 删除节点 |
|peer status 节点: 节点状态 |
|volume start 卷名: 启动卷 |
|volume stop 卷名: 停止卷 |
|volume delete 卷名: 删除卷 |
|volume list: 列出卷 |
|volume info: 查看卷信息 |
|volume status: 查看卷状态 | 示例1:
查看所有节点的基本状态(显示的时候不包括本节点):
[root@linuxcool ~]# gluster peer status
示例2:
列出集群中的所有卷:
[root@linuxcool ~]# gluster volume list
示例3:
查看集群中的卷信息:
[root@linuxcool ~]# gluster volume info
示例4:
查看集群中的卷状态:
[root@linuxcool ~]# gluster volume status 网络通讯(network) 786 iftop iftop命令 – 套接字及进程的网络利用率 iftop是一款实时流量监控工具,监控TCP/IP连接等,缺点就是无报表功能。必须以root身份才能运行。 iftop [参数] |-i: 指定要监控的网卡 |
|-n: 直接显示IP, 不进行DNS反解析 | 示例1:
默认监控第一块网卡的流量:
[root@linuxcool ~]# iftop
示例2:
监控eth1网卡的流量:
[root@linuxcool ~]# iftop eth1
示例3:
直接显示IP, 不进行DNS反解析:
[root@linuxcool ~]# iftop -n 网络通讯(network) 787 host host命令 – 解析域名结果 host命令的功能是用于解析域名结果,是一个查找DNS解析结果的简单程序。将域名转换成IP地址形式,帮助运维人员找到指定域名所对应的IP地址。 host [参数] [域名] |-4: 基于IPv4网络协议 |
|-6: 基于IPv6网络协议 |
|-a: 显示全部信息 |
|-c: 设置查询类型 |
|-C: 显示指定主机完整的SOA记录 |
|-d: 显示调试跟踪信息 |
|-I: 显示区域信息 |
|-r: 不使用递归的查询方式解析域名 |
|-R: 限制UDP查询的重试次数 |
|-s: 若服务器不响应,则不发送查询 |
|-t: 设置查询的域名信息类型 |
|-v: 显示执行过程详细信息 |
|-V: 显示版本信息 |
|-W: 设置查询域名的最长等待时间 | 示例1:
查询指定域名所对应的IP地址信息(默认模式):
[root@linuxcool ~]#host www.linuxcool.comwww.linuxcool.com has address 203.107.45.167
示例2:
查询指定域名所对应的IP地址信息(详细模式):
[root@linuxcool ~]#host -v www.linuxcool.comTrying "www.linuxcool.com"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41364
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.linuxcool.com. IN A
;; ANSWER SECTION:
www.linuxcool.com. 248 IN A 203.107.45.167
示例3:
查询指定域名MX邮件类型记录所对应的IP地址信息:
[root@linuxcool ~]#host -t MX linuxcool.comlinuxcool.com mail is handled by 20 mail.linuxcool.com.
linuxcool.com mail is handled by 10 mail.linuxcool.com 网络通讯(network) 788 ntpdc ntpdc命令 – 查询NTP守护进程 ntpdc是一个实用程序,用于查询 ntpd(8) 的当前状态,并请求改变其状态。 它使用源代码中描述的 NTP mode 7 控制消息格式。程序既可以在交互模式下运行,也可以使用命令行参数。
通过ntpdc接口可以获得广泛的状态和统计信息。此外,几乎所有可以在启动时使用 ntpd 的配置文件指定的配置选项也可以在运行时指定。使用ntpdc的时间。 ntpdc [参数] |-c command: 在指定的主机上执行给定的命令 |
|-i: 强制ntpdc实用程序在交互模式下运行 |
|-l: 获取服务器已知的对等体列表 |
|-n: 以点阵数字格式输出所有主机地址,而不是转换为规范的主机名。 |
|-p: 打印服务器已知的对等体列表以及它们的状态摘要 |
|-s: 打印服务器已知的对等体列表以及它们的状态摘要。它的格式与-p选项略有不同。 | 示例1:
获取服务器已知的对等体列表:
[root@linuxcool ~]# ntpdc -l
示例2:
打印服务器已知的对等体列表以及它们的状态摘要:
[root@linuxcool ~]# ntpdc -p
示例3:
打印服务器已知的对等体列表以及它们的状态摘要,它的格式与-p选项略有不同:
[root@linuxcool ~]# ntpdc -s 网络通讯(network) 789 arpaname arpaname命令 – IP地址转换为对应的ARPA名称 arpaname命令的作用是可以转换IP地址(IPv4和IPv6)到相应的IN-ADDR.ARPA或IP6.ARPA名称。
由于在域名系统中,一个IP地址可以对应多个域名,因此从IP出发去找域名,理论上应该遍历整个域名树,但这在Internet上是不现实的。为了完成逆向域名解析,系统提供一个特别域,该特别域称为逆向解析域IN-ADDR.ARPA。
这样解析的IP地址就会被表达成一种像域名一样的可显示串形式,后缀以逆向解析域域名“IN-ADDR.ARPA”结尾。例如一个IP地址:218.30.150.106,其逆向域名表达方式为:155.94.158.194.in-addr.arpa。 arpaname [IP地址] 示例1:
将IP地址192.168.0.2转换为对应的ARPA名称:
[root@linuxcool ~]# arpaname 192.168.60.110
110.60.168.192.IN-ADDR.ARPA 网络通讯(network) 790 ifconfig ifconfig命令 – 显示或设置网络设备参数信息 ifconfig命令来自英文词组network interfaces configuring的缩写,其功能是显示或设置网络设备参数信息。在Windows系统中,与之类似的命令为ipconfig,同样的功能可以使用ifconfig去完成。
通常不建议使用ifconfig命令配置网络设备的参数信息,因为一旦服务器重启,配置过的参数会自动失效,因此还是编写到配置文件中更稳妥。 ifconfig [参数] [网卡名] [动作] |-a: 显示所有网卡状态 |
|-s: 显示简短状态列表 | 示例1:
显示系统的网络设备信息:
[root@linuxcool ~]# ifconfig
ens160: flags=4163mtu 1500
inet 192.168.10.10 netmask 255.255.255.0 broadcast 192.168.10.255
inet6 fe80::4d16:980c:e0fe:51c2 prefixlen 64 scopeid 0x20
ether 00:0c:29:60:cd:ee txqueuelen 1000 (Ethernet)
RX packets 407 bytes 34581 (33.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 59 bytes 6324 (6.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
………………省略部分输出信息………………
示例2:
对指定的网卡设备依次进行关闭和启动操作:
[root@linuxcool ~]# ifconfig ens160 down
[root@linuxcool ~]# ifconfig ens160 up
示例3:
对指定的网卡设备执行IP地址修改操作:
[root@linuxcool ~]# ifconfig ens160 192.168.10.20 netmask 255.255.255.0
示例4:
对指定的网卡设备执行MAC地址修改操作:
[root@linuxcool ~]# ifconfig ens160 hw ether 00:aa:bb:cc:dd:ee
示例5:
对指定的网卡设备依次进行ARP协议关闭和开启操作:
[root@linuxcool ~]# ifconfig ens160 -arp
[root@linuxcool ~]# ifconfig ens160 arp 网络通讯(network) 791 iptables iptables命令 – 防火墙策略管理工具 iptables是一个用于管理防火墙策略的命令,同时也是一个基于内核级别的防火墙服务,用户可以基于它对数据包进行过滤操作,拒绝掉危险的外部请求流量,保护内网的安全。iptables命令默认仅支持IPv4协议,如需支持IPv6协议,则需使用ip6tables命令。 iptables [参数] [对象] |-A: 向规则链中追加条目 |
|-c: 初始化包计数器和字节计数器 |
|-D: 从规则链中删除条目 |
|-E: 重命名指定的用户自定链 |
|-F: 清除规则链中的现有条目 |
|-t: 设置要管理的表 |
|-h: 显示帮助信息 |
|-i: 设置数据包进入本机的网络接口 |
|-j: 设置要跳转的目标 |
|-I: 向规则链中插入条目 |
|-N: 创建新的用户自定义规则链 |
|-o: 设置数据包离开本机时所使用的网络接口 |
|-p: 设置要匹配数据包的协议类型 |
|-P: 设置规则链中的默认目标策略 |
|-R: 替换规则链中的指定条目 |
|-s: 设置要匹配数据包的源IP地址 |
|-v: 显示执行过程详细信息 |
|-X: 删除指定的用户自定链 |
|-Z: 清空规则链中的包计数器和字节计数器 | 示例1:
显示当前防火墙策略中全部的过滤表信息:
[root@linuxcool ~]# iptables -L
示例2:
显示当前防火墙策略中指定的NAT表信息:
[root@linuxcool ~]# iptables -L -t nat
示例3:
禁止指定的远程主机访问本地全部的服务(通通禁止):
[root@linuxcool ~]# iptables -I INPUT -s 192.168.10.10 -j DROP
示例4:
禁止指定的远程主机访问本地的某个端口,但允许访问其余端口:
[root@linuxcool ~]# iptables -I INPUT -s 192.168.10.10 -p tcp --dport 22 -j DROP 网络通讯(network) 792 nmblookup nmblookup命令 – 通过TCP/IP客户端来查找NetBIOS名称 使用nmblookup命令可以通过TCP/IP客户端来查找NetBIOS名称。比方说可以查看windows主机的ip地址。 nmblookup [参数] [名称] |-B: 指定用于广播的地址 |
|-usage: 显示简要的用法信息 |
|-d: 设置调试级别 | 示例1:
显示NetBIOS名称为windows的主机的IP地址:
[root@linuxcool ~]# nmblookup -S windows
示例2:
查找所有的主浏览器或域控制器:
[root@linuxcool ~]# nmblookup -M -192.168.0.200MSBROWSE<01>
示例3:
通过查询IP地址192.168.0.200来获得主机名:
[root@linuxcool ~]# nmblookup -A 192.168.0.200 网络通讯(network) 793 fping fping命令 – 检测主机是否存在 fping类似于ping(ping是通过ICMP(网络控制信息协议InternetControl Message Protocol)协议回复请求以检测主机是否存在)。fping与ping不同的地方在于,fping可以在命令行中指定要ping的主机数量范围,也可以指定含有要ping的主机列表文件。 fping [参数] |-a: 显示存活的(alive) |
|-g: 指定一个范围(group) |
|-u: 显示不存活的(unreacheable) | 示例1:
检测192.168.1.1到192.168.1.10之间的主机是否存在:
[root@linuxcool ~]# fping -a -g 192.168.1.1 192.168.1.10
示例2:
检测192.168.1.1/24的主机是否存在:
[root@linuxcool ~]# fping -a -g 192.168.1.1/24
示例3:
将IP列表放在一个文件里面,通过读取文件来检测列表里的主机是否存在:
[root@linuxcool ~]# fping -a -f ip.txt
示例4:
检测www.linuxcool.com是否存在:
[root@linuxcool ~]# fping www.linuxcool.com 网络通讯(network) 794 ping ping命令 – 测试主机间网络连通性 ping命令的功能是测试主机间网络的连通性,它发送出基于ICMP传输协议的数据包,要求对方主机予以回复。若对方主机的网络功能没有问题且防火墙放行流量,则就会回复该信息,我们也就可得知对方主机系统在线并运行正常了。
不过值得注意的是,ping命令在Linux下与在Windows下有一定差异,Windows系统下的ping命令会发送出去4个请求后自动结束该命令;而Linux系统则不会自动终止,需要用户手动按下Ctrl+C组合键才能结束,或是发起命令时加入-c参数限定发送数据包的个数。 ping [参数] [域名或IP地址] |-4: 基于IPv4网络协议 |
|-6: 基于IPv6网络协议 |
|-a: 发送数据时发出鸣响声 |
|-b: 允许ping一个广播地址 |
|-c: 设置发送数据包的次数 |
|-d: 使用接口的SO_DEBUG功能 |
|-f: 使用泛洪模式大量向目标发送数据包 |
|-h: 显示帮助信息 |
|-i: 设置收发信息的间隔时间 |
|-n: 仅输出数值 |
|-p: 设置填满数据包的范本样式 |
|-q: 静默执行模式 |
|-R: 记录路由过程信息 |
|-s: 设置数据包的大小 |
|-t: 设置存活数值TTL的大小 |
|-v: 显示执行过程详细信息 |
|-V: 显示版本信息 | 示例1:
测试与指定域名之间的网络连通性(需手动按下Ctrl+C组合键结束命令):
[root@linuxcool ~]# ping www.linuxcool.com
PING www.linuxcool.com.w.kunlunar.com (222.85.26.229) 56(84) bytes of data.
64 bytes from www.linuxcool.com (222.85.26.229): icmp_seq=1 ttl=52 time=22.4 ms
64 bytes from www.linuxcool.com (222.85.26.229): icmp_seq=2 ttl=52 time=22.4 ms
64 bytes from www.linuxcool.com (222.85.26.229): icmp_seq=3 ttl=52 time=22.4 ms
64 bytes from www.linuxcool.com (222.85.26.229): icmp_seq=4 ttl=52 time=22.4 ms
^C
--- www.linuxcool.com.w.kunlunar.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 22.379/22.389/22.400/0.094 ms
示例2:
测试与指定主机之间的网络连通性,发送请求包限定为4个:
[root@linuxcool ~]# ping -c 4 192.168.10.10
PING 192.168.10.10 (192.168.10.10) 56(84) bytes of data.
64 bytes from 192.168.10.10: icmp_seq=1 ttl=64 time=0.063 ms
64 bytes from 192.168.10.10: icmp_seq=2 ttl=64 time=0.088 ms
64 bytes from 192.168.10.10: icmp_seq=3 ttl=64 time=0.049 ms
64 bytes from 192.168.10.10: icmp_seq=4 ttl=64 time=0.046 ms
--- 192.168.10.10 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 110ms
rtt min/avg/max/mdev = 0.046/0.061/0.088/0.018 ms
示例3:
测试与指定域名之间的网络连通性,发送请求包限定为4个:
[root@linuxcool ~]# ping -c 4 www.linuxcool.com
PING www.linuxcool.com (222.85.26.234) 56(84) bytes of data.
64 bytes from www.linuxcool.com (222.85.26.234): icmp_seq=1 ttl=52 time=24.7 ms
64 bytes from www.linuxcool.com (222.85.26.234): icmp_seq=2 ttl=52 time=24.7 ms
64 bytes from www.linuxcool.com (222.85.26.234): icmp_seq=3 ttl=52 time=24.7 ms
64 bytes from www.linuxcool.com (222.85.26.234): icmp_seq=4 ttl=52 time=24.7 ms
--- www.linuxcool.com.w.kunlunar.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 24.658/24.664/24.673/0.111 ms
示例4:
测试与指定主机之间的网络连通性,发送3个请求包,每次间隔0.2s,最长等待时间为3s:
[root@linuxcool ~]# ping -c 3 -i 0.2 -W 3 192.168.10.10
64 bytes from 192.168.10.10: icmp_seq=1 ttl=64 time=0.166 ms
64 bytes from 192.168.10.10: icmp_seq=2 ttl=64 time=0.060 ms
64 bytes from 192.168.10.10: icmp_seq=3 ttl=64 time=0.113 ms
--- 192.168.10.10 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 410ms
rtt min/avg/max/mdev = 0.060/0.113/0.166/0.043 ms 网络通讯(network) 795 ipvsadm ipvsadm命令 – 管理Linux虚拟服务器 ipvsadm命令来自英文词组“IPVS administration”的缩写,其功能是用于管理Linux虚拟服务器。ipvsadm命令用于在Linux内核中设置、维护或检查虚拟服务器表,Linux虚拟服务器可用于基于两个或更多节点的集群构建可伸缩网络服务。
群集的主节点将服务请求重定向到将实际执行服务的服务器主机集合,支持的功能包括两种协议(TCP和UDP),三种数据包转发方法(NAT,隧道和直接路由),以及八种负载均衡算法(roundrobin,加权循环,最小连接,加权最小连接,基于位置) 最小连接,基于位置的最小连接,具有复制,目标哈希和源哈希。 ipvsadm [参数] [域名或IP地址] |-6: 基于IPv6网络协议 |
|-a: 向指定虚拟服务添加真实服务器 |
|-A: 添加新的虚拟服务 |
|-c: 显示ipvs中目前存在的连接 |
|-C: 清空所有的虚拟服务规则 |
|-d: 删除指定真实服务器 |
|-D: 删除虚拟服务 |
|-e: 编辑指定真实服务器 |
|-E: 编辑虚拟服务 |
|-g: 设置LVS为直接路由工作模式 |
|-h: 显示帮助信息 |
|-i: 设置LVS为隧道工作模式 |
|-L: 显示内核中的虚拟服务规则 |
|-m: 设置LVS为NAT工作模式 |
|-M: 设置客户地址的子网掩码 |
|-p: 设置持久稳固的服务 |
|-r: 设置真实服务器 |
|-R: 恢复虚拟服务规则 |
|-s: 设置调度算法 |
|-S: 保存虚拟服务规则 |
|-t: 设置TCP协议的虚拟服务 |
|-u: 设置UDP协议的虚拟服务 |
|-w: 设置真实服务器的权值 |
|-Z: 清零转发消息的统计数据 | 示例1:
添加一个虚拟服务,使用轮询算法:
[root@linuxcool ~]#ipvsadm -A -t 192.168.10.10:80 -s rr
示例2:
修改虚拟服务的算法为加权轮询:
[root@linuxcool ~]#ipvsadm -E -t 192.168.10.10:80 -s wrr
示例3:
删除一个虚拟服务:
[root@linuxcool ~]#ipvsadm -D -t 192.168.10.10:80
示例4:
添加一个真实服务器,使用DR模式,设置权重为2:
[root@linuxcool ~]#ipvsadm -a -t 192.168.10.10:80 -r 192.168.10.12 -g -w 2
示例5:
修改真是服务器的权重为5:
[root@linuxcool ~]#ipvsadm -a -t 192.168.10.10:80 -r 192.168.10.12 -g -w 5
示例6:
删除一个真实服务器:
[root@linuxcool ~]#ipvsadm -d -t 192.168.10.10:80 -r 192.168.10.12
示例7:
查看当前虚拟服务和各个RS的权重信息:
[root@linuxcool ~]#ipvsadm -Ln
示例8:
查看当前ipvs模块中记录的链接信息(可用于观察转发情况):
[root@linuxcool ~]#ipvsadm -lnc
示例9:
查看当前ipvs模块中的转发情况信息:
[root@linuxcool ~]#ipvsadm -Ln --stats | --rate 网络通讯(network) 796 dhclient dhclient命令 – 动态获取或释放IP地址 dhclient命令来自英文词组DHCP client的缩写,其功能是动态获取或释放IP地址。使用dhclient命令前,需要将网卡模式设置成DHCP自动获取,否则静态模式的网卡不会主动向服务器获取如IP地址等网卡信息。 dhclient [参数] [网卡名] |-4: 基于IPv4网络协议 |
|-6: 基于IPv6网络协议 |
|-d: 以前台方式运行 |
|-F: 设置向DHCP服务器发送的FQDN |
|-H: 设置向DHCP服务器发送的主机名 |
|-n: 不配置任何接口 |
|-p: 设置DHCP客户端监听的端口号 |
|-q: 静默执行模式 |
|-s: 在获取IP地址前指定DHCP服务器 |
|-v: 显示执行过程详细信息 |
|-V: 设置要发送给DHCP服务器的厂商类标识符 |
|-w: 即使没有找到广播接口,也继续运行 |
|-x: 停止DHCP客户端,而不释放当前租约 |
|--timeout: 设置最大响应超时时间 |
|--version: 显示版本信息 | 示例1:
通过指定网卡发起DHCP请求,获取网卡参数:
[root@linuxcool ~]# dhclient ens160
示例2:
释放系统中已获取的网卡参数:
[root@linuxcool ~]# dhclient -r
Killed old client process
示例3:
向指定的服务器请求获取网卡参数:
[root@linuxcool ~]# dhclient -s 192.168.10.10
示例4:
手动停止执行dhclient服务进程:
[root@linuxcool ~]# dhclient -x
Removed stale PID file 网络通讯(network) 797 ypdomainname ypdomainname命令 – 显示主机的NIS的域名 ypdomainname命令的作用是显示由函数“getdomainname”返回的主机域名,使用这个命令也可以设置一个主机NIS域名。 ypdomainname [参数] |-v: 详细信息模式 | 示例1:
显示本机的NIS域名:
[root@linuxcool ~]# ypdomainname -v
示例2:
设置域名:
[root@linuxcool ~]# ypdomainname www.linuxcool.com 网络通讯(network) 798 ifcfg ifcfg命令 – 配置网络接口 ifcfg命令是一个Bash脚本程序,用来设置linux中的网络接口参数。 ifcfg [参数] |网络接口: 指定要操作的网络接口 |
|add/del: 添加或删除网络接口上的地址 |
|ip地址: 指定IP地址和子网掩码 |
|Stop: 停用指定的网络接口的IP地址 | 示例1:
停止指定网络接口上的IP地址:
[root@linuxcool ~]# ifcfg eth0 stop
示例2:
为网络接口配置IP地址:
[root@linuxcool ~]# ifcfg eth1 add 192.168.60.11/24
示例3:
为网口删除网络地址:
[root@localhost ~]# ifcfg eth0 delete 192.168.10.250/24 网络通讯(network) 799 netstat netstat命令 – 显示网络状态 netstat命令来自英文词组network statistics的缩写,其功能是显示各种网络相关信息,例如网络连接状态、路由表信息、接口状态、NAT、多播成员等。
netstat命令不仅应用于Linux系统,而且Windows XP、Windows 7、Windows 10及Windows 11均已默认支持,并且可用参数也相同,有经验的运维人员可以直接上手。 netstat [参数] |-a: 显示所有连接中的接口信息 |
|-A: 设置网络连接类型 |
|-c: 持续显示网络状态 |
|-C: 显示路由配置信息 |
|-F: 显示路由缓存信息 |
|-g: 显示多重广播功能群组成员名单 |
|-h: 显示帮助信息 |
|-i: 显示网络界面信息表单 |
|-l: 仅显示正在监听的服务状态 |
|-N: 显示网络硬件外围设备的符号链接名称 |
|-o: 显示计时器数据信息 |
|-p: 显示正在使用接口的程序识别码和名称 |
|-r: 显示路由表信息 |
|-s: 显示网络工作信息统计表信息 |
|-t: 显示TCP传输协议的连线状态 |
|-u: 显示UDP传输协议的连线状态 |
|-V: 显示版本信息 | 示例1:
显示系统网络状态中的所有连接信息:
[root@linuxcool ~]# netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
Tcp 0 0 0.0.0.0:http 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:https 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:ms-wbt-server 0.0.0.0:* LISTEN
示例2:
显示系统网络状态中的UDP连接信息:
[root@linuxcool ~]# netstat -nu
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 192.168.10.10:68 192.168.10.20:67 ESTABLISHED
示例3:
显示系统网络状态中的UDP连接端口号使用信息:
[root@linuxcool ~]# netstat -apu
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 linuxcool:bootpc _gateway:bootps ESTABLISHED 1024/NetworkManager
udp 0 0 localhost:323 0.0.0.0:* 875/chronyd
udp6 0 0 localhost:323 [::]:* 875/chronyd
示例4:
显示网卡当前状态信息:
[root@linuxcool ~]# netstat -i
Kernel Interface table
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 31945 0 0 0 39499 0 0 0 BMRU
lo 65536 0 0 0 0 0 0 0 0 LRU
示例5:
显示网络路由表状态信息:
[root@linuxcool ~]# netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
default _gateway 0.0.0.0 UG 0 0 0 eth0
192.168.10.0 0.0.0.0 255.255.240.0 U 0 0 0 eth0
示例6:
找到某个服务所对应的连接信息:
[root@linuxcool ~]# netstat -ap | grep ssh
unix 2 [ ] STREAM CONNECTED 89121805 203890/sshd: root [
unix 3 [ ] STREAM CONNECTED 27396 1754/sshd
unix 3 [ ] STREAM CONNECTED 89120965 203890/sshd: root [
unix 2 [ ] STREAM CONNECTED 89116510 203903/sshd: root@p
unix 2 [ ] STREAM CONNECTED 89121803 203890/sshd: root [
unix 2 [ ] STREAM CONNECTED 29959 1754/sshd
unix 2 [ ] DGRAM 89111175 203890/sshd: root [
unix 3 [ ] STREAM CONNECTED 89120964 203903/sshd: root@p 网络通讯(network) 800 lnstat lnstat命令 – 显示Linux系统的网路状态 lnstat命令实际上是读取系统“/proc”中目录“/proc/net/stat”下面的文件,来显示当前主机的网络状态的。lnstat命令是rtstat命令的更新替代命令,功能更完善。 lnstat [参数] |-c: 指定显示网络状态的次数,每隔一定时间显示一次网络状态 |
|-d: 显示可用的文件或关键字 |
|-i: 指定两次显示网络状的间隔秒数 |
|-k: 只显示给定的关键字 |
|-s: 是否显示标题头 |
|-w: 指定每个字段所占的宽度 |
|-h: 显示帮助信息 |
|-v: 显示指令版本信息 | 示例1:
显示网络状态:
[root@linuxcool ~]# lnstat
示例2:
显示命令支持的统计文件:
[root@linuxcool ~]# lnstat -d
示例3:
过滤出只想要查看的关键字段信息:
[root@linuxcool ~]# lnstat -k arp_cache:entries,rt_cache:in_hit,arp_cache:destroys
arp_cach|rt_cache|arp_cach|
entries| in_hit|destroys|
6| 0| 2| 网络通讯(network) 801 newaliases newaliases命令 – 文字模式转换 Linuxnewaliases命令会使用一个在 /etc/aliases 中的档案做使用者名称转换的动作。当 sendmail 收到一个要送给 xxx 的信时,它会依据 aliases档的内容送给另一个使用者。这个功能可以创造一个只有在信件系统内才有效的使用者。例如 mailing list 就会用到这个功能,在 mailinglist 中,我们可能会创造一个叫 redlinux@link.ece.uci.edu 的 mailinglist,但实际上并没有一个叫 redlinux 的使用者。实际 aliases 档的内容是将送给这个使用者的信都收给 mailing list 处理程序负责分送的工作。
/etc/aliases 是一个文字模式的档案,sendmail 需要一个二进位格式的 /etc/aliases.db。newaliases 的功能传是将 /etc/aliases 转换成一个 sendmail 所能了解的数据库。
使用权限:系统管理者。 newaliases [参数] |-bi: 将 /etc/aliases 转换成一个 sendmail 所能了解的数据库 | 示例1:
将 /etc/aliases 转换成一个 sendmail 所能了解的数据库:
[root@linuxcool ~]# newaliases -bi 网络通讯(network) 802 nslookup nslookup命令 – 查询域名服务器信息 nslookup命令来自英文词组“Nameserver lookup”的缩写,其功能是用于查询域名服务器信息。nslookup命令能够用于查询指定域名所对应的DNS服务器信息(正向解析),亦可查询到指定DNS服务器上所绑定的域名信息(反向解析)。该命令有两种工作方式,其一是交互式,在命令行中执行nslookup命令后即可进入,一问一答的查询模式;其二是非交互式,直接在命令后追加域名或IP地址信息即可直接进行查询操作。 nslookup [参数] [域名或IP地址] |exit: 退出命令 |
|help: 显示帮助信息 |
|ls: 显示DNS域信息 |
|root: 设置默认服务器为DNS域名空间的根目录服务器 |
|server: 设置解析域名的服务器地址 |
|set: 设置查找运行方式的配置信息 |
|set all: 显示当前配置信息 |
|set class: 设置查询类 |
|set debug: 设置调试模式 |
|set domain: 设置默认DNS域名为指定名称 |
|set port: 设置默认TCP/UDP DNS域名服务器端口号 |
|set retry: 设置重试次数 |
|set root: 设置用于查询根服务器的名称 |
|set srchlist: 设置默认DNS域名或搜索列表 |
|set timeout: 设置等待请求答复的初始秒数 |
|set type: 设置查询的资源记录类型 |
|set type=a: 设置查询域名A记录 |
|set type=mx: 设置查询域名邮件交换记录 |
|set type=soa: 设置查询域名授权起始信息 | 示例1:
查询指定域名所对应的DNS服务器信息(非交互式):
[root@linuxcool ~]#nslookup www.linuxcool.comServer: 180.76.76.76
Address: 180.76.76.76#53
Non-authoritative answer:
Name: www.linuxcool.com
Address: 216.218.186.2
Name: www.linuxcool.com
Address: 2001:470:0:76::2
示例2:
查询指定域名所对应的DNS服务器信息(交互式):
[root@linuxcool ~]#nslookup>www.linuxcool.comServer: 180.76.76.76
Address: 180.76.76.76#53
Non-authoritative answer:
Name: www.linuxcool.com
Address: 216.218.186.2
Name: www.linuxcool.com
Address: 2001:470:0:76::2
>
示例3:
在交互查询模式下,设置仅显示域名的邮件交换记录服务器信息:
[root@linuxcool ~]#nslookup>set type=mx>www.linuxcool.comServer: 180.76.76.76
Address: 180.76.76.76#53
Non-authoritative answer:
www.linuxcool.com mail exchanger = 1 www.linuxcool.com.
Authoritative answers can be found from:
www.linuxcool.com internet address = 216.218.186.2
www.linuxcool.com has AAAA address 2001:470:0:76::2 网络通讯(network) 803 domainname domainname命令 – 显示和设置系统的NIS域名 domainname命令作用是显示或设置当前网络信息服务(NIS)域的名称。如果不指定参数domainname命令则显示当前NIS域的名称,一个域通常包含同一管理器下的一组主机。
注意:只有 root 用户可以通过domainname命令的参数设置域名。 domainname [参数] [域名] |-v: 详细信息模式 |
|-F: 指定读取域名信息的文件 |
|-s: 短主机域名 |
|-I: 主机的ip地址 |
|-y: NIS域名 | 示例1:
查看当前系统域名:
[root@linuxcool ~]# domainname
(none)
示例2:
设置并查看当前系统域名:
[root@linuxcool ~]# domainname linuxcool.com
[root@linuxcool ~]# domainname
linuxcool.com
示例3:
查看主机ip地址:
[root@linuxcool ~]# domainname -I
192.168.122.1 网络通讯(network) 804 setserial setserial命令 – 设置或显示串口的相关信息 setserial命令可以用来设置串口或显示目前串口的状态信息。 setserial [参数] [设备] |-a: 显示详细信息 |
|-b: 显示摘要信息 |
|-g: 显示串口的相关信息 |
|-G: 以指令列表的格式来显示信息 |
|-q: 执行时显示较少的信息 |
|-v: 执行时显示较多的信息 |
|-V: 显示版本信息 | 示例1:
显示串口/dev/ttyS1的信息:
[root@linuxcool ~]# setserial -g /dev/ttyS1
示例2:
显示串口/dev/ttyS1的简略信息:
[root@linuxcool ~]# setserial -q /dev/ttyS1
示例3:
显示串口/dev/ttyS1的信详细息:
[root@linuxcool ~]# setserial -a /dev/ttyS1 网络通讯(network) 805 squidclient squidclient命令 – squid客户端管理工具 squidclient命令使用squid服务的客户端管理工具,它可以查看squid服务的详细运行信息和管理squid服务器。
使用squidclient命令钱必须先启动squid服务器。 squidclient [参数] |-a: 不包含“Accept:header” |
|-r: 强制缓存重新加载URL |
|-s: 安静模式,不输出信息到标准输出设备 |
|-h<主机>: 从指定主机获取URL,默认主机为“localhost” |
|-l<主机>: 指定一个本地IP地址进行绑定 |
|-p: 端口号,默认为3128 |
|-m<方法>: 指定发送请求的方法,默认为“GET” |
|-u<用户名>: 代理认证用户名 |
|-p<密码>: 代理认证密码 |
|-u<用户名>: WWW认证用户名 |
|-p<密码>: WWW认证密码 | 示例1:
显示可用的管理指令列表:
[root@linuxcool ~]# squidclient mgr:menu
示例2:
从主机获取URL:
[root@linuxcool ~]# squidclient -h
示例3:
绑定192.168.10.10:
[root@linuxcool ~]# squidclient -l 192.168.10.10
示例4:
强制缓存重新加载URL:
[root@linuxcool ~]# squidclient - r
示例5:
不输出信息到标准输出设备:
[root@linuxcool ~]# squidclient - s 网络通讯(network) 806 elm elm命令 – 纯文本邮件客户端程序 elm命令是ELectronic Mail单词的缩写,是一个E-mail客户端管理程序,它提供了纯文本交互式全屏幕界面。elm命令中不但提供了方便的键盘功能,还有一个在屏幕下方的命令帮助。
elm命令在运行时使用小键盘的箭头来选择要处理的邮件,直接按回车键阅读邮件。 elm [参数] |-s<邮件主题>: 指定新邮件的邮件主题 |
|-f<目录>: 开启程序时,读取指定的目录 |
|-h: 显示帮助 |
|-i<文件名>: 将文件内容插入送出的邮件中 |
|-m: 进入elm后,不显示指令说明 |
|-v: 显示elm的版本信息 |
|-z: 若收件信箱没有邮件,则不启动elm程序 | 示例1:
查看E-mail:
[root@linuxcool ~]# eml
示例2:
进入elm后,不显示指令说明:
[root@linuxcool ~]# eml -m
示例3:
将文件内容插入送出的邮件中:
[root@linuxcool ~]# eml -i linuxcool.txt 网络通讯(network) 807 htpasswd htpasswd命令 – 管理用户基本认证文件 htpasswd命令是Apache的Web服务器内置工具,用于创建和更新储存用户名、域和用户基本认证的密码文件。 htpasswd [参数] [用户和密码] |-c: 创建一个加密文件 |
|-n: 不更新加密文件,只将加密后的用户名密码显示在屏幕上 |
|-m: 默认采用MD5算法对密码进行加密 |
|-d: 采用CRYPT算法对密码进行加密 |
|-p: 不对密码进行进行加密,即明文密码 |
|-s: 采用SHA算法对密码进行加密 |
|-b: 在命令行中一并输入用户名和密码而不是根据提示输入密码 |
|-D: 删除指定的用户 | 示例1:
添加用户并设置密码:
[root@linuxcool ~]# htpasswd -bc .passwd linuxcool 123456
示例2:
在上面生成的密码文件中添加一个用户并设置密码 :
[root@linuxcool ~]# htpasswd -b .passwd linuxprobe 123456
示例3:
删除用户名和密码:
[root@linuxcool ~]# htpasswd -D .passwd linuxcool
示例4:
修改密码:
[root@linuxcool ~]# htpasswd -D .passwd linuxcool
[root@linuxcool ~]# htpasswd -b .passwd linuxcool 654321 网络通讯(network) 808 uux uux命令 – 在远端的UUCP主机上执行命令 uux可以在远端的UUCP主机上执行指令或是执行本机上的命令,但在执行时会使用远端电脑的文件。
uux命令是一种基本联网实用程序,在指定的基于 UNIX 的系统上运行指定的命令。同时不影响用户在本地系统上的工作。在运行指定命令之前,uux命令从指定系统中收集所有必要的文件。用户可以将命令输出指向特定系统的特定文件。基于安全性的考虑,许多安装程序允许 uux 命令只运行rmail命令。 uux [参数] |-或-p或--stdin: 直接从键盘读取要执行的指令 |
|-a或--requestor: 执行邮件地址,以便寄送状态信息 |
|-b或--erturn-stdin: 在屏幕上显示状态信息 |
|-c或--nocopy: 不用将文件复制到缓冲区 |
|-C或--copy: 将文件复制到缓冲区 |
|-g或--grade: 指定文件传送作业的优先顺序 |
|-I或--config file: 指定uux配置文件 |
|-j或--jobid: 显示作业编号 |
|-l或--link: 将本机上的文件连接到缓冲区 |
|-n或--notification=no: 无论发生任何状态,都不寄邮件通知用户 |
|-r或--nouucico: 不要立即启动uucico服务程序,仅将作业送到队列中,然后再执行 |
|-s或--status: 将完成状态保存为指定的文件 |
|-v或--version: 显示版本信息 |
|-x或--debug: 指定排错层级 |
|-z或--notification=error: 若发生错误,则以邮件来通知用户 |
|--help: 显示帮助 | 示例1:
在远程主机 uucp 执行命令:
[root@linuxcool ~]# uux hnlinux! date 网络通讯(network) 809 sftp-server sftp-server命令 – SFTP协议服务端程序 sftp-server命令来自英文词组“SFTP server”的拼写,其功能是用于SFTP协议服务端程序。SFTP的全称是“SSH File Transfer Protocol”,中文译为“安全的文件传输协议”,是隶属于sshd服务程序的子系统,为Linux系统提供了又一种加密的安全传输文件方式。 sftp-server [参数] [对象] |-d: 设置备用起始目录 |
|-e: 显示日志记录信息 |
|-f: 设置记录日志时的设备代码 |
|-h: 显示服务器使用情况信息 |
|-l: 设置记录日志时的分类 |
|-m: 设置新的一般文件权限 |
|-p: 设置白名单列表 |
|-P: 设置黑名单列表 |
|-R: 使用只读模式 |
|-u: 设置新的umask权限 | 示例1:
启动SFTP协议服务:
[root@linuxcool ~]#sftp-server
示例2:
指定要记录日志的设备代码:
[root@linuxcool ~]#sftp-server -f LOCAL1
示例3:
将服务器设置为只读模式:
[root@linuxcool ~]#sftp-server -R
示例4:
显示服务器使用情况信息:
[root@linuxcool ~]#sftp-server -h 网络通讯(network) 810 ssh-keyscan ssh-keyscan命令 – 收集主机的SSH公钥信息 ssh-keyscan命令的功能是收集主机的SSH公钥信息。Linux系统管理员通常会先用ssh-keygen命令生成SSH密钥文件,随后用ssh-copy-id命令传送公钥文件到对方主机,而ssh-keyscan命令的作用则是收集主机上的公钥信息,创建和验证sshd服务程序的ssh_known_hosts文件。ssh-keyscan命令仅支持SSHv1,在SSHv2中无法使用。 ssh-keyscan [参数] [IP地址] |-4: 基于IPv4网络协议 |
|-6: 基于IPv6网络协议 |
|-f: 从指定文件中读取地址列表和名字列表对 |
|-p: 设置连接远程主机的端口 |
|-T: 设置连接尝试的超时时间 |
|-v: 显示执行过程详细信息 | 示例1:
收集主机SSH公钥,并输出调试信息:
[root@linuxcool ~]# ssh-keyscan -v 192.168.10.10
示例2:
显示指定主机上的RSA密钥信息:
[root@linuxcool ~]# ssh-keyscan 192.168.10.10
示例3:
显示指定主机上的DSA密钥信息:
[root@linuxcool ~]# ssh-keyscan -t dsa 192.168.10.10
示例4:
显示调试信息:
[root@linuxcool ~]# ssh-keyscan -v 网络通讯(network) 811 ifup ifup命令 – 激活网络接口 ifup命令来自英文词组“interface up”的缩写,其功能是用于激活网络接口。ifup命令会去读取Linux系统中网络接口服务目录下的配置文件,随后根据配置文件的内容来激活对应的网络接口,这样就能实现对指定网卡启用的效果了。 ifup [网络接口] |网络接口: 设置要启用的网络接口名称 | 示例1:
激活指定的网络接口:
[root@linuxcool ~]#ifup eth0 网络通讯(network) 812 pine pine命令 – 收发电子邮件,浏览新闻组 pine是个以显示导向为住的邮件处理程序,包括一般电子邮件和新闻组的文章。pine也支持MIME格式,可让用户将MIME的对象保存成文件,甚至指定外挂程序直接开启对象。 pine [参数] |-a: 在UWIN中使用匿名模式 |
|-attach<附件>: 把指定的文件附加在信件里,一并夹带寄出 |
|-attachlist<附件清单>: 设置一份文件清单,把该清单内的文件全部附加到信件中,夹带寄出 |
|-c<邮件编号>: 直接开启指定编号的邮件 |
|-o: 设置收件箱为只读 |
|-f<收件箱>: 开启指定的接收信件箱,而非预设的INBOX收件箱 |
|-F<文件>: 直接浏览指定文件的内容 |
|-n<邮件编号>: 设置现在的邮件编号 |
|-p<环境文件>: 另外指定pine的环境文件 | 示例1:
设置邮箱只读:
[root@linuxcool ~]# pine -o xxx@linuxcool.com
示例2:
浏览文件内容:
[root@linuxcool ~]# pine -F linuxcool.txt
示例3:
开启指定的邮箱:
[root@linuxcool ~]# pine -f xxx@linuxcool.com 网络通讯(network) 813 rpcinfo rpcinfo命令 – 查询RPC服务信息 rpcinfo命令来自英文词组“RPC information”的缩写,其功能是用于查询RPC服务信息。rpcinfo命令的主要用途是基于RPC协议访问服务器,通过其反馈响应信息,进而判断该主机是否已注册RPC服务。 rpcinfo [参数] [域名或IP地址] |-a: 显示是否收到响应信息 |
|-b: 显示收到响应信息的所有主机 |
|-d: 删除指定程序号或版本号的服务 |
|-I: 显示指定程序号或版本号的服务 |
|-m: 使用表格形式显示统计数据 |
|-s: 显示指定主机中所有RPC程序的简明列表 |
|-t: 探测使用TCP的RPC程序 |
|-u: 探测使用UDP的RPC程序 | 示例1:
显示已注册到本地系统的所有RPC服务:
[root@linuxcool ~]#rpcinfoprogram version netid address service owner
100000 4 tcp6 ::.0.111 portmapper superuser
100000 3 tcp6 ::.0.111 portmapper superuser
100000 4 udp6 ::.0.111 portmapper superuser
100000 3 udp6 ::.0.111 portmapper superuser
………………省略部分输出信息………………
示例2:
显示本地系统中注册到rpcbind协议版本2的所有RPC服务:
[root@linuxcool ~]#rpcinfo -pprogram vers proto port service
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper 网络通讯(network) 814 cu cu命令 – 连接另一个系统主机 cu命令可连接另一台主机,并采用类似拨号终端机的接口工作,也可执行简易的文件传输作业。 cu [参数] [电话号码] |-p: 使用指定的通信端口进行连线 |
|-c: 拨打该电话号码 |
|-d: 进入排错模式 |
|-I: 指定要使用的配置文件 |
|-n: 拨号时等待用户输入电话号码 |
|-s: 设置连线的速率 |
|-x: 使用排错模式 |
|--help: 在线帮助 | 示例1:
与远程主机连接:
[root@linuxcool ~]# cu -c 735148100
示例2:
指定端口号连接:
[root@linuxcool ~]# cu -p 111 -c 735148100 网络通讯(network) 815 elinks elinks命令 – 网络应用 elinks命令能实现一个纯文本界面的WWW浏览器。 elinks [参数] |-anonymous: 使用匿名帐号方式 |
|-auto-submit: 对于偶然遇到的第一个表单是否自动提交 |
|-config-dir: 指定elinks指令运行时读取和写入自身的配置和运行状态的存放目录 |
|-dump: 将HTML文档以纯文本的方式打印到标准输出设备 |
|-version: 显示指令的版本信息 |
|-h: 显示帮助信息 | 示例1:
使用匿名帐号方式:
[root@linuxcool ~]# elinks -anonymous www.linuxprobe.com
示例2:
对于偶然遇到的第一个表单是否自动提交:
[root@linuxcool ~]# elinks -auto-submit www.linuxprobe.com
示例3:
指定elinks指令运行时读取和写入自身的配置和运行状态的存放目录:
[root@linuxcool ~]# elinks -config-dir www.linuxprobe.com
示例4:
将HTML文档以纯文本的方式打印到标准输出设备:
[root@linuxcool ~]# elinks -dump www.linuxprobe.com 网络通讯(network) 816 tracepath tracepath命令 – 追踪数据包的路由信息 tracepath命令的功能是追踪数据包的路由信息。tracepath命令能够追踪并显示数据包到达目的主机所经过的路由信息,以及对应的MTU值。 tracepath [参数] [域名或IP地址] |-4: 基于IPv4网络协议 |
|-6: 基于IPv6网络协议 |
|-b: 显示IP地址和主机名 |
|-l: 设置初始化的数据包长度 |
|-n: 仅显示IP地址 |
|-p: 设置要使用的初始目标端口 |
|-V: 显示版本信息 | 示例1:
追踪到达域名的主机路由信息:
[root@linuxcool ~]# tracepath www.linuxcool.com
1?: [LOCALHOST] pmtu 1500
1: 10.130.116.46 0.601ms
1: 10.130.115.46 0.558ms
2: 11.73.1.89 0.732ms
3: 11.54.242.117 0.940ms
4: 103.52.85.150 1.900ms
………………省略部分输出信息………………
示例2:
追踪到达域名的主机路由信息,同时显示IP地址与主机名:
[root@linuxcool ~]# tracepath -b www.linuxcool.com
1?: [LOCALHOST] pmtu 1500
1: 10.130.115.46 (10.130.115.46) 0.486ms
1: 10.130.116.46 (10.130.116.46) 0.527ms
2: 11.73.1.237 (11.73.1.237) 0.697ms
3: 11.54.241.165 (11.54.241.165) 1.082ms
………………省略部分输出信息………………
示例3:
设置追踪数据包路由的最大TTL值为20,并追踪到达域名的主机路由信息:
[root@linuxcool ~]# tracepath -m 20 www.linuxcool.com
1?: [LOCALHOST] pmtu 1500
1: 10.130.115.46 0.607ms
1: 10.130.116.46 0.672ms
2: 11.73.1.65 0.689ms
3: 10.92.110.37 4.966ms
4: 10.102.255.201 0.987ms
………………省略部分输出信息……………… 网络通讯(network) 817 shapecfg shapecfg命令 – 管制网络设备的流量 shapecfg命令用于管制网络设备的流量。自Linux-2.15开始,便支持流量管制的功能。 shapecfg [参数] |attach: 将流量管制器与实际的网络设备结合 |
|speed: 设置流量管制器的对外传输带宽 | 示例1:
管制网络设备的流量:
[root@linuxcool ~]# shapecfg attach [流量管制器] [网络设备] 网络通讯(network) 818 sftp sftp命令 – 加密传输FTP文件 sftp命令来自英文词组“secure file transfer protocol”的缩写,其功能是用于加密传输FTP文件。sftp命令与ftp命令都是FTP协议的客户端工具,工作模式和使用方式均相同,但sftp命令会对所有传输的FTP文件基于ssh协议进行加密处理,并支持公钥认证和压缩技术,更为推荐。 sftp [参数] [域名或IP地址] |-b: 设置批处理文件 |
|-B: 设置缓冲区大小 |
|-C: 使用压缩模式 |
|-F: 设置ssh配置文件 |
|-l: 使用ssh协议版本1 |
|-o: 设置ssh选项 |
|-P: 设置连接端口号 |
|-R: 设置最大请求数 |
|-v: 提升日志等级 | 示例1:
登入到指定的远程FTP服务器:
[root@linuxcool ~]#sftp 192.168.10.10Connecting to 192.168.10.10...
root@192.168.10.10's password:此处输入管理员密码sftp>
示例2:
指定缓存区大小,并登入到指定的远程FTP服务器:
[root@linuxcool ~]#sftp -B 512 192.168.10.10
示例3:
设置在传输过程中使用压缩技术,并登入到指定的远程FTP服务器:
[root@linuxcool ~]#sftp -C 192.168.10.10 网络通讯(network) 819 dip dip命令 – 用于IP拨号连接 dip命令是一种linux网络通讯命令,可以用于IP拨号连接。dip命令可以控制调制解调器,以拨号IP的方式建立对外的双向连接。 dip [参数] |-a: 询问用户名称与密码 |
|-i: 启动拨号服务器功能 |
|-k: 删除执行中的dip程序 |
|-l: 指定要删除的连线,必须配合-k参数一起使用 |
|-m: 设置最大传输单位,预设值为296 |
|-p: 设置通信协议 |
|-t: 进入dip的指令模式 |
|-v: 执行时显示详细的信息 | 示例1:
建立拨号连接:
[root@linuxcool ~]# dip -t
示例2:
启动拨号服务器功能:
[root@linuxcool ~]# dip -i
示例3:
设置通信协议为http:
[root@linuxcool ~]# dip -p "http" 网络通讯(network) 820 arpwatch arpwatch命令 – 监听网络上ARP的记录 arpwatch命令用于监听网络上ARP的记录。
ARP(Address Resolution Protocol)是用来解析IP与网络装置硬件地址的协议。 arpwatch可监听区域网络中的ARP数据包并记录,同时将监听到的变化通过E-mail来报告。 arpwatch [参数] |-d: 启动排错模式 |
|-f: 设置存储ARP记录的文件,预设为/var/arpwatch/arp.dat |
|-i: 指定监听ARP的接口,预设的接口为eth0 |
|-r: 从指定的文件中读取ARP记录,而不是从网络上监听 |
|-n: 指定附加的本地网络 |
|-u: 指定用户和用户组 |
|-e: 发送邮件给指定用户,非默认的root用户 |
|-s: 指定用户名作为返回地址,而不是默认的用户root | 示例1:
监听网卡eth0的ARP信息:
[root@linuxcool ~]# arpwatch -i eth0
示例2:
监听ARP的信息,将相关信息记录到相应的文件:
[root@linuxcool ~]# arpwatch -i eth0 -f a.log 网络通讯(network) 821 jwhois jwhois命令 – whois 客户端服务 jwhois命令是在Whois服务器上搜索命令行上要查询的域名主机。从Whois服务器的全局的配置文件具有一定的权威性,从Whois服务器上获取要查询的信息后,显示在命令行中。 jwhois [参数] |-v: 输出详细调试信息 |
|-c FILE: 使用文件配置文件 |
|-h HOST: 显式查询主机 |
|-n: 禁用内容重定向 |
|-s: 禁用whois-servers.net支持 |
|-a: 禁用重新格式化查询 |
|-i: 禁用所有重定向而不隐藏 |
|-p PORT: 使用端口号(与主机连接) |
|-r: 强制执行一个rwhois查询 |
|-- -rwhois-display: 设置rwhois查询中的显示选项 |
|-- -rwhois-limit: 设置要返回的最大匹配数 | 示例1:
查询域名信息:
[root@linuxcool ~]# jwhois www.linuxcool.com
示例2:
使用指定端口号进行查询:
[root@linuxcool ~]# jwhois -p 8080 www.linuxcool.com
示例3:
禁用内容重定向:
[root@linuxcool ~]# jwhois -n www.linuxcool.com 网络通讯(network) 822 usernetctl usernetctl命令 – 操作指定的网络接口 usernetctl命令在用于被允许时操作指定的网络接口。在使用上和”ifup”、”ifon”命令有些类似。 usernetctl [参数] [网络接口] |up: 激活网络接口 |
|down: 禁用网络接口 |
|report: 报告网络接口 | 示例1:
激活网络接口:
[root@linuxcool ~]# usernetctl enp1s0 up
示例2:
禁用网络接口:
[root@linuxcool ~]# usernetctl enp1s0 down
示例3:
报告网络接口状态:
[root@linuxcool ~]# usernetctl enp1s0 report 网络通讯(network) 823 pppstats pppstats命令 – 用于显示PPP连线状态 pppstats命令用于显示PPP连线状态。
利用pppstats(point to point protocol status)指令可让你得知PPP连接网络的相关信息。 pppstats [参数] |-a: 显示绝对统计值。 |
|-c<执行次数>: 设置回报状况的次数。 |
|-d: 显示相对统计值。 |
|-r: 显示数据包压缩比率的统计值。 |
|-v: 显示VJTCP文件头的压缩效率统计值。 |
|-w<间隔秒数>: 设置显示统计信息的间隔时间。 | 示例1:
显示ppp的了连接状态 :
[root@linuxcool ~]# pppstats 网络通讯(network) 824 ssh ssh命令 – 安全的远程连接服务 ssh命令的功能是安全地远程连接服务器主机系统,作为OpenSSH套件中的客户端连接工具,ssh命令可以让我们轻松地基于SSH加密协议进行远程主机访问,从而实现对远程服务器的管理工作。 ssh [参数] [域名或IP地址] |-1: 使用SSH协议版本1 |
|-2: 使用SSH协议版本2 |
|-4: 基于IPv4网络协议 |
|-6: 基于IPv6网络协议 |
|-a: 关闭认证代理连接转发功能 |
|-A: 开启认证代理连接转发功能 |
|-b: 设置本机对外提供服务的IP地址 |
|-c: 设置会话的密码算法 |
|-C: 压缩所有数据 |
|-f: 后台执行ssh命令 |
|-F: 设置配置文件 |
|-g: 允许远程主机连接本机的转发端口 |
|-l: 设置登录用户名 |
|-N: 不执行远程指令 |
|-o: 设置配置参数选项 |
|-p: 设置远程服务器上的端口号 |
|-q: 静默执行模式 |
|-s: 请求远程主机上的子系统调用 |
|-v: 显示执行过程详细信息 |
|-V: 显示版本信息 |
|-x: 关闭X11转发功能 |
|-X: 开启X11转发功能 |
|-y: 信任X11转发功能 | 示例1:
基于SSH协议,远程访问服务器主机系统:
[root@linuxcool ~]# ssh 192.168.10.10
The authenticity of host '192.168.10.10 (192.168.10.10)' can't be established.
ECDSA key fingerprint is SHA256:ZEjdfRjQV8pVVfu0TSYvDP5UvOHuuogMQSDUgLPG3Kc.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.10.10' (ECDSA) to the list of known hosts.
root@192.168.10.10's password: 此处输入远程服务器管理员密码
Activate the web console with: systemctl enable --now cockpit.socket
Last login: Tue Dec 14 08:49:08 2023
[root@linuxprobe ~]#
示例2:
使用指定的用户身份登录远程服务器主机系统:
[root@linuxcool ~]# ssh -l linuxprobe 192.168.10.10
linuxprobe@192.168.10.10's password: 此处输入指定用户的密码
Activate the web console with: systemctl enable --now cockpit.socket
[linuxprobe@linuxprobe ~]$
示例3:
登录远程服务器主机系统后执行一条命令:
[root@linuxcool ~]# ssh 192.168.10.10 "free -m"
root@192.168.10.10's password: 此处输入远程服务器管理员密码
total used free shared buff/cache available
Mem: 1966 1359 76 21 530 407
Swap: 2047 9 2038
示例4:
强制使用v1版本的SSH加密协议连接远程服务器主机:
[root@linuxcool ~]# ssh -1 192.168.10.10 网络通讯(network) 825 mingetty mingetty命令-登入程序 mingetty命令是精简版的getty。mingetty适用于本机上的登入程序。 mingetty [参数] |--long-hostname:显示完整的主机名称 |
|-noclear:在询问登入的用户名称之前不要清楚屏幕画面 | 示例1:
显示完整的主机名称:
[root@linuxcool ~]# mingetty -long-hostname gethostname()
示例2:
在提示输入用户名之前不进行清屏操作(通常屏幕被清除):
[root@linuxcool ~]# mingetty -noclear 网络通讯(network) 826 links links命令-命令行web浏览器 网络通讯(network) 827 setpci setpci命令 – 配置PCI硬件设备参数 setpci命令来自英文词组“Set PCI”的缩写,其功能是用于配置PCI硬件设备参数。setpci命令能够帮助管理员查询与配置PCI硬件设备的工作参数,必须root管理员才有权限运行,动手前一定要三思。
*查看当前系统中已有PCI设备信息可使用lspci命令 setpci [参数] [PCI设备名] |-A: 设置支持多种访问PCI设备的方式 |
|-d: 显示指定厂商和设备的信息 |
|-D: 使用测试模式,并不真正将信息写入寄存器 |
|-f: 当没有任何操作需要完成时,不显示任何信息 |
|-G: 设置库的调试级别 |
|-s: 显示指定总线、插槽上的设备功能块信息 |
|-v: 显示执行过程详细信息 | 示例1:
将设备0:14.0设备,PCI配置空间偏移量为0x60,写入新的字节变量6:
[root@linuxcool ~]#setpci -s 0:14.0 60.B=6
示例2:
设置PCI设备的定时器:
[root@linuxcool ~]#setpci -d : latency_time=40
示例3:
列出PCI设备并对其进行调节:
[root@linuxcool ~]#lspci00:0f.0 VGA compatible controller: VMware SVGA II Adapter
[root@linuxcool ~]#setpci -s 00:0f.0 F4.B=FF[root@linuxcool ~]#setpci -s 00:0f.0 F4.B=CC 设备管理(device) 828 lpmove lpmove命令 – 将某个任务移动到另外一台打印机 lpmove命令属于CUPS打印命令系列。该命令可以将指定的作业或所有作业从源移动到目标。打印作业可以是作业ID号或旧目的地和作业ID。
CUPS(Common UNIX Printing System,即通用Unix打印系统)是FedoraCore3中支持的打印系统,它主要是使用IPP(Internet PrintingProtocol)来管理打印工作及队列,但同时也支持”LPD”(Line Printer Daemon)和”SMB”(ServerMessage Block)以及Socket等通信协议。 lpmove [参数] |-E: 连接到服务器时强制加密 |
|-U: 指定用户名 |
|-h 服务器[:p端口号]: 指定服务器 | 示例1:
指定新的打印机ID:
[root@linuxcool ~]# lpmove 123 newprinter
示例2:
将旧打印机指定到新打印机:
[root@linuxcool ~]# lpmove oldprinter-123 newprinter
示例3:
指定用户:
[root@linuxcool ~]# lpmove -U linuxcool 设备管理(device) 829 clock clock命令 – 调整 RTC 时间 clock命令的作用是调整 RTC 时间。RTC是电脑内建的硬件时间,执行这项指令可以显示现在时刻,调整硬件时钟的时间,将系统时间设成与硬件时钟之时间一致,或是把系统时间回存到硬件时钟。 clock [参数] |-- -adjust: 自动调整硬件时钟时间 |
|-- -debug: 详细显示指令执行过程,便于排错或了解程序执行的情形 |
|-- -directisa: 不通过设备文件/etc/rtc,直接对硬件时钟进行存取 |
|-- -getepoch: 输出硬件时钟的数值到标准输出 |
|-- -hctosys: 时钟同步,使系统时钟和硬件时钟同步 |
|-- -set- -date: 设置硬件时间 |
|-- -show: 显示硬件时钟到标准输出 |
|-- -systohc: 系统时间写入硬件时钟 |
|-- -test: 仅作测试,并不真的将时间写入硬件时钟或系统时间 |
|-- -utc: 把硬件时钟上的时间时为CUT,有时也称为UTC或UCT |
|-- -version: 显示版本信息 | 示例1:
显示当前硬件时钟时间:
[root@linuxcool ~]# clock
2019年12月12日 星期四 15时11分07秒 -0.578708 秒
示例2:
显示utc硬件时钟时间:
[root@linuxcool ~]# clock --utc
2019年12月12日 星期四 15时12分30秒 -0.442566 秒
示例3:
同步时间:
[root@linuxcool ~]# clock --hctosys 设备管理(device) 830 cdrecord cdrecord命令 – 光盘刻录工具 cdrecord命令用于Linux系统下光盘刻录,它支持CD和DVD格式。linux下一般都带有cdrecord软件。cdrecord命令支持刻录音视频、数据等多种类型光盘。 cdrecord [参数] [ISO文件] |-v: 显示刻录光盘的详细过程 |
|-eject: 刻录完成后弹出光盘 |
|speed=<刻录倍速>: 指定光盘刻录的倍速 |
|dev=<刻录机设备号>: 指定使用“-scanbus”参数扫描到的刻录机的设备号 |
|-scanbus: 扫描系统中可用的刻录机 | 示例1:
查看系统所有 CD-R(w) 设备:
[root@linuxcool ~]# cdrecord -scanbus
scsibus3:
3,0,0 300) 'NECVMWar' 'VMware SATA CD00' '1.00' Removable CD-ROM
示例2:
指定参数用iso文件刻录一张光盘:
[root@linuxcool ~]# cdrecord -v -eject speed=8 dev=0,3,0 linuxcool.iso
示例3:
擦写光驱:
[root@linuxcool ~]# cdrecord --dev=0,3,0 --blank=fast 设备管理(device) 831 lpinfo lpinfo命令 – 显示可用的设备或驱动程序 lpinfo命令可列出可用的打印设备和驱动。
其中需要注意的是,该命令参数很多,但是主要是-v和-m两个参数的使用。这两个参数的使用频率会远远高于其他参数,并且这两个参数也能解决大部分问题。 lpinfo [参数] |-E: 连接到服务器时强制加密 |
|-U<用户名>: 设置连接到服务器时使用的用户名 |
|-l: 显示设备或驱动程序的长列表 |
|-h<服务器:端口>: 连接备用服务器 |
|-m: 列出可用的驱动程序 |
|-v: 列出可用的设备 |
|--language<语言>: 指定语言 |
|--timeout<超时时间>: 当列出设备时指定超时时间 | 示例1:
显示可用的设备或驱的程序:
[root@linuxcool~]# lpinfo
示例2:
列出可用的设备:
[root@linuxcool~]# lpinfo -v
示例3:
列出可用的驱动程序:
[root@linuxcool~]# lpinfo -m 设备管理(device) 832 rdev rdev命令 – 查询、设置内核映像文件 rdev命令可以用来查询/设置内核映像文件的根设备,RAM 磁盘大小或视频模式。 不带任何参数的 rdev [命令]将输出当前根文件系统的 /etc/mtab [文件]行。 rdev [参数] |-r: 使得 rdev 作为 ramsize 运行 |
|-R: 使得 rdev 作为 rootflags 运行 |
|-v: 使得 rdev 作为 vidmode 运行 |
|-h: 提供帮助 | 示例1:
输出当前根文件系统的 /etc/mtab [文件]行:
[root@linuxcool ~]# rdev
示例2:
作为 ramsize 运行:
[root@linuxcool ~]# rdev -r
示例3:
作为 rootflags 运行 :
[root@linuxcool ~]# rdev -R
示例4:
使得 rdev 作为 vidmode 运行:
[root@linuxcool ~]# rdev -v 设备管理(device) 833 lp lp命令 – 打印文件或者修改排队的打印任务 lp命令用于打印文件,或者修改排队的打印任务。与lpr命令类似,lp命令既支持文件输入也支持标准输入。它与lpr的不同之处在于它有一个不同(稍微复杂点)的参数选项设置。 lp [参数] |-E: 与打印服务器连接时强制使用加密 |
|-U: 指定连接打印服务器时使用的用户名 |
|-d: 指定接收打印任务的目标打印机 |
|-i: 指定一个存在的打印任务号 |
|-m: 打印完成时发送E-mail |
|-n: 指定打印的份数 |
|-t: 指定打印任务的名称 |
|-H: 指定打印任务开始的时间 |
|-P: 指定需要打印的页码 | 示例1:
要在连接在设备dlp0上的打印机lp0上打印文件/etc/motd:
[root@linuxcool ~]# lp /etc/motd
示例2:
要使用文件的一个副本打印/etc/motd文件的30个副本,并且要用邮件通知用户作业完成:
[root@linuxcool ~]# lp -c -m -n30 -dlp0:lpd0 /etc/motd
示例3:
要排队MyFile文件并返回作业编号:
[root@linuxcool ~]# lp myfile 设备管理(device) 834 setleds setleds命令 – 设置键盘的LED灯光状态 setleds命令来自英文词组“Set leds”的拼写,其功能是用于设置键盘的LED灯光状态。这是个神奇的命令,运维人员竟然可以通过命令来控制键盘的灯光状态,太有意思了吧~ setleds [参数] |-D: 设置虚拟主控台的预设状态 |
|-F: 设置虚拟主控台的状态 |
|-L: 设置改变LED显示的状态 |
|+caps/-caps: 设置大小写键打开或关闭 |
|+num/-num: 设置数字键打开或关闭 |
|+scroll/-scroll: 设置选项键打开或关闭 | 示例1:
控制键盘上的num灯亮和灯灭:
[root@linuxcool ~]#setleds +num[root@linuxcool ~]#setleds -num
示例2:
控制键盘上的大小写灯亮和灯灭:
[root@linuxcool ~]#setleds +caps[root@linuxcool ~]#setleds -caps
示例3:
控制键盘上的选项灯亮和灯灭:
[root@linuxcool ~]#setleds +scroll[root@linuxcool ~]#setleds -scroll 设备管理(device) 835 blockdev blockdev命令 – 调用区块设备控制程序 实用程序blockdev允许从命令行调用block设备ioctl, 以实现对设备的控制 。 blockdev [参数] [设备] |-q: 安静模式 |
|-v: 详细信息模式 |
|--setro: 只读 |
|--setrw: 只写 |
|--getro: 打印只读状态,“1”表示只读,“0”表示非只读 |
|--getss: 打印扇区大小。通常为521 |
|--flushbufs: 刷新缓冲区 |
|--rereadpt: 重新读取分区表 | 示例1:
设置设备为只读:
[root@linuxcool ~]# blockdev --setro /dev/hda4
示例2:
读取设备是否为只读:
[root@linuxcool ~]# blockdev --getro /dev/hda4
示例3:
设置设别为可读写:
[root@linuxcool ~]# blockdev --setrw /dev/hda4 设备管理(device) 836 lspci lspci命令 – 显示当前设备PCI总线设备信息 lspci命令来自英文词组“list PCI”的缩写,其功能是用于显示当前设备PCI总线设备信息。 lspci [参数] [设备名] |-b: 使用以总线为中心的视图 |
|-d: 仅显示指定厂商和设备信息 |
|-i: 设置PCI编号列表文件 |
|-m: 以机器可读方式显示PCI设备信息 |
|-M: 使用总线映射模式 |
|-n: 以数字方式显示PCI设备信息 |
|-nn: 将PCI厂商和设备代码显示为数字和名称形式 |
|-q: 使用DNS查询中央PCI ID数据库 |
|-p: 设置包含PCI总线信息的目录 |
|-s: 仅显示指定总线插槽的设备和功能块信息 |
|-t: 使用树状结构显示PCI设备的层次关系 |
|-v: 显示执行过程详细信息 | 示例1:
显示当前主机的所有PCI总线设备信息:
[root@linuxcool ~]#lspci00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 01)
00:01.0 PCI bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 01)
00:07.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 08)
00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08)
00:07.7 System peripheral: VMware Virtual Machine Communication Interface (rev 10)
………………省略部分输出信息………………
示例2:
以树状结构显示当前主机的所有PCI总线设备信息:
[root@linuxcool ~]#lspci -t-[0000:00]-+-00.0
+-01.0-[01]--
+-07.0
+-07.1
+-07.3
+-07.7
+-0f.0
+-11.0-[02]----00.0
+-15.0-[03]----00.0
+-15.1-[04]--
………………省略部分输出信息……………… 设备管理(device) 837 rcconf rcconf命令 – Linux下运行等级服务配置工具 rcconf命令是DebianLinux下的运行等级服务配置工具,用以设置在特定的运行等级下系统服务的启动配置。 rcconf [参数] |--help: 打印帮助信息 |
|--dialog: 使用对话命令显示菜单 |
|--notermcheck: 不按照终端属性来设置窗口尺寸 | 示例1:
使用对话命令显示菜单:
[root@linuxcool ~]# rcconf --dialog
示例2:
不按照终端属性来设置窗口尺寸:
[root@linuxcool ~]# rcconf --notermcheck
示例3:
获取帮助信息:
[root@linuxcool ~]# rcconf --help 设备管理(device) 838 hwinfo hwinfo命令 – 查询硬件信息 hwinfo命令来自英文词组“Hardware Information”的缩写,其功能是用于查询硬件信息。这是一个应用非常广泛的硬件信息查询命令,能够详细地报告多个硬件设备的参数信息,不必再去计算机机身或互联网上找说明书啦。 hwinfo [参数] [对象] |--cpu: 显示cpu设备信息 |
|--log: 将硬件信息写入到日志文件 |
|--short: 显示简略信息 |
|--storage: 显示硬盘设备信息 |
|--usb: 显示usb设备信息 | 示例1:
查询所有硬件信息:
[root@linuxcool ~]#hwinfo
示例2:
查询简要硬件信息:
[root@linuxcool ~]#hwinfo --short
示例3:
指定查询CPU设备信息:
[root@linuxcool ~]#hwinfo --short --cpu
示例4:
指定查询网卡设备信息:
[root@linuxcool ~]#hwinfo --short --netcard
示例5:
指定查询硬盘设备信息:
[root@linuxcool ~]#hwinfo --short --storage
示例6:
指定查询USB设备信息:
[root@linuxcool ~]#hwinfo --short --usb
示例7:
查询所有硬件信息,并将结果输出记录到文件中:
[root@linuxcool ~]#hwinfo --all --short --log File.log 设备管理(device) 839 nproc nproc命令 – 显示当前进程可用的CPU数量 nproc命令来自英文词组“number of processing units available”的缩写,其功能是用于显示当前进程可用的CPU数量。在计算机系统上发起的每个进程都需要CPU执行预期的操作,有时我们的CPU会过载,这时就需要通过nproc命令了解下具体情况了,抑或是了解新进程可用处理单元数量等信息。 nproc [参数] |--all: 显示所拥有的CPU数量 |
|--help: 显示帮助信息 |
|--ignore: 忽略指定个数的处理器 |
|--version: 查看版本信息 | 示例1:
显示当前进程可用的CPU数量:
[root@linuxcool ~]#nproc8
示例2:
显示所有CPU数量:
[root@linuxcool ~]#nproc --all8
示例3:
忽略指定个数的CPU处理器:
[root@linuxcool ~]#nproc --ignore=26 设备管理(device) 840 wodim wodim命令 – 将数据写入光盘 wodim命令的作用是可以将数据写入CD或DVD光盘介质。
wodim命令包含在cdrkit中,如果你在自己的系统中找不到wodim命令的话,那么只要安装cdrkit这个包就可以了。
对于可反复擦写的光盘来说,在烧录之前,可以使用相关命令先擦除光盘上已有的内容。 wodim [参数] [轨道] |dev=<目标>: 为CD/DVD刻录机设置SCSI目标,必须使用-scanbus参数获得,不同于Linux的设置号 |
|gracetime=<宽限时间>: 在开始写入之前设置宽限时间 |
|timeout=<超时时间>: 设置默认的SCSI命令超时设置 |
|driver=<名称>: 用户提供当地驱动程序名称 |
|-v: 显示详细信息 |
|-s: 不显示失败的SCSI命令的状态 |
|-d<级别>: 设置增量杂项调试级别 |
|-setdropts: 设置驱动程序特定的选项并退出 |
|-checkdrive: 检查驱动器是否存在 |
|-inq: 查询的驱动器,然后退出 |
|-prcap: 支持MMC兼容的打印驱动器驱动能力 |
|-scanbus: 扫描SCSI和IDE总线,然后退出 |
|-reset: 使用cdrecorder重置SCSI总线 |
|-ignsize: 忽略介质的已知尺寸 |
|-useinfo: 使用*.inf文件覆盖音频选项 |
|speed=<速度>: 设置驱动器的速度,直接跟数字 |
|blank=<类型>: 指定格式化光盘类型,fast为快速格式化,all为完全格式化 |
|-format: 格式化CD-RW/DVD-RW/DVD-RW光盘 |
|formattype=<格式方法>: 为DVD-RW光盘选择格式方法 |
|fs=<大小>: 设置fifo大小,为0表示禁用,默认值是4MB |
|ts=<大小>: 为单个SCSI命令设置最大传输大小 |
|-load: 加载磁盘并退出 |
|-lock: 加载和锁定磁盘并退出 |
|-eject: 工作完毕之后弹出光盘 |
|-toc: 检索和显示TOC/PMA数据 |
|-atip: 检索和显示ATIP数据 |
|-waiti: 打开SCSI之前等待输入 |
|-force: 出现一些错误强制继续,消隐坏磁盘 |
|-tao: 在TAO模式中写入磁盘 |
|-dao: 在DAO模式中写入磁盘 |
|-sao: 在SAO模式中写入磁盘 |
|-raw: 在RAW模式中写入磁盘 |
|-clone: 在克隆写模式中写入磁盘 |
|tsize=<长度>: 在下一轨道中的有效数据长度 |
|-raw96r: 在RAW/RAW96R模式中写入磁盘 |
|-raw16: 在RAW/RAW16模式中写入磁盘 |
|-raaw96p: 在RAW/RAW96P模式中写入磁盘 |
|-text: 从*.inf或*.cue文件中写入CD-Text信息 |
|-isosize: 为下一个数据轨道使用iso9660文件系统大小 | 示例1:
先擦除光盘上已有的内容:
[root@linuxcool ~]# wodim -v dev=/dev/cdrw blank=fast
示例2:
查看刻录设备的连接端口:
[root@linuxcool ~]# wodim -scanbus
示例3:
一次性刻录/root/linuxcool.iso文件到光盘上:
[root@linuxcool ~]# wodim -scanbus -v dev=2,0,0 speed=24 /root/linuxcool.iso
示例4:
格式化光盘:
[root@linuxcool ~]# wodim -scanbus -v dev=2,0,0 blank=all 设备管理(device) 841 lspcmcia lspcmcia命令 – 显示扩展的PCMCIA调试信息 lspcmcia命令的作用是可以显示扩展的PCMCIA调试信息,是pccardctl ls命令的别名。
pccardctl命令用于监视和控制PCMCIA插槽的状态。 如果指定了插槽编号,则该命令只应用于一个插槽; 否则,所有插槽都将受到影响。 如果它是由非root用户执行,那么只有参考信息命令可访问。 lspcmcia [参数] [插槽] |-v: 显示详细信息 |
|-vv: 进一步提高详细程度 | 示例1:
显示扩展的PCMCIA调试信息:
[root@linuxcool ~]# lspcmcia
Socket 0 Bridge: [linuxcool_cardbus] (bus ID: 0000:03:01.0)
示例2:
显示扩展的PCMCIA调试详细信息:
[root@linuxcool ~]# lspcmcia -v 0
示例3:
显示更详细的扩展的PCMCIA调试信息:
[root@linuxcool ~]# lspcmcia -vv 0 设备管理(device) 842 raw raw命令 – 将原始字符设备绑定到块设备 raw用于将Linux原始字符设备绑定到块设备。可以使用任何块设备:在绑定时,设备驱动程序甚至不必可访问(以后可能会按需作为内核模块加载)。
raw在两种模式下使用:它要么设置原始设备绑定,要么查询现有绑定。设置原始设备时,/dev/raw/raw是文件系统中现有原始设备节点的设备名称。绑定到的块设备可以按其主要和次要设备编号或路径名称/dev/指定为现有块设备文件的路径名称。 raw [参数] |-q: 查询已经存在的绑定 |
|-a: 查询所有绑定的原始设备 |
|-h: 查询帮助信息 | 示例1:
查询已经存在的绑定:
[root@linuxcool ~]# raw -q
示例2:
查询所有绑定的原始设备:
[root@linuxcool ~]# raw -a
示例3:
查询帮助信息:
[root@linuxcool ~]# raw -h 设备管理(device) 843 sensors sensors命令 – 检测服务器硬件信息 sensors命令用于检测服务器硬件信息,例如CPU电压与温度、主板、风扇转速等数据。 sensors |-A: 不显示每个芯片的适配器信息 |
|-c: 指定配置文件 |
|-F: 显示华氏度温度 |
|-H: 显示帮助信息 |
|-u: 输出原始信息 |
|-v: 显示版本信息 | 示例1:
检查当前CPU处理器得电压和温度信息:
[root@linuxcool ~]#sensorscoretemp-isa-0000
Core 0: +48.0°C (high = +87.0°C, crit = +97.0°C)
Core 1: +46.0°C (high = +87.0°C, crit = +97.0°C)
Core 2: +47.0°C (high = +87.0°C, crit = +97.0°C)
Core 3: +46.0°C (high = +87.0°C, crit = +97.0°C) 设备管理(device) 844 hciconfig hciconfig命令 – 配置蓝牙设备 hciconfig命令来自英文词组“HCI config”的缩写,其功能是用于配置蓝牙设备参数信息。HCI全称为“Host Controller Interface”,中文译为主机控制接口,是蓝牙协议栈的一部分。 hciconfig [参数] [设备名] [动作] |-a: 显示蓝牙设备信息 |
|-h: 显示帮助信息 | 示例1:
查看当前系统中全部的蓝牙设备信息:
[root@linuxcool ~]#hciconfig -a
示例2:
开启指定名称的蓝牙设备:
[root@linuxcool ~]#hciconfig hci0 up
示例3:
关闭指定名称的蓝牙设备:
[root@linuxcool ~]#hciconfig hci0 down
示例4:
重置指定名称的蓝牙设备:
[root@linuxcool ~]#hciconfig hci0 reset 设备管理(device) 845 chcpu chcpu命令 – 配置CPU chcpu命令的作用是可以修改CPU的状态。可以启用或禁用CPU,扫描新的CPU,将CPU调动从虚拟机管理程序(配置)或返回的CPU与超低层管理程序的模式,要求CPU解除配置。
cpu列表可以使用参数指定以逗号分隔。 列表可以包含单个CPU地址或地址范围。 例如0、5、7、9-11。该命令适用于地址为0、5、7、9、10和11的 cpu。chcpu命令是util-linux软件包的一部分,可从Linux Kernel Archive获得。 chcpu [参数] |-g: 取消配置所有指定的CPU |
|-d: 禁用所有指定的CPU |
|-e: 启用所有指定的CPU |
|-c: 配置所有指定的CPU |
|-r: 触发CPU重新扫描 |
|-p<模式>: 设置CPU调度模式,可用模式包括horizontal和vertical | 示例1:
触发CPU重新扫描:
[root@linuxcool ~]# chcpu -r
示例2:
启用所有指定的CPU:
[root@linuxcool ~]# chcpu -e 2,5,9
示例3:
设置CPU调度模式:
[root@linuxcool ~]# chcpu -p horizontal 设备管理(device) 846 pccardctl pccardctl命令 – PCMCIA卡控制工具 pccardctl命令的作用是可以监视和控制PCMCIA插槽的状态。
PCMCIA是专门用在笔记本或PDA、数码相机等便携设备上的一种接口规范(总线结构)。笔记本网卡通常都支持PCMCIA规范,而台式机网卡则不支持此规范。PCMCIA插槽是笔记本电脑上最重要的设备扩展接口,可以用来插入传真卡/网卡/存储卡/声卡等等,PCMCIA的主要优势是可以带电插拔,配合适当软件后可以实现即插即用。
如果pccardctl命令由root用户执行,则所有命令均可用。如果它是由非特权用户执行的,则只能访问参考性命令。 pccardctl[参数] [命令] |-V: 显示版本信息并退出 |
|-v: 增加命令的详细程度 |
|-vv: 进一步增加命令的详细程度 |
|status: 显示当前的插槽状态 |
|config: 显示插槽配置,包括电源设置、中断和I/O设置及相关配置 |
|ident: 显示卡的识别信息,包括产品的识别字符串、制造商ID代码和功能ID码 |
|info: 作用与ident命令相同,但它的输出被格式化为一系列的Bourne-stype Shell变量 |
|ls: 显示有关系统中PCMCIA插槽和存在设备的扩展调试信息 |
|suspend: 关闭插槽并断电 |
|resume: 恢复插槽供电,并重新配置使用 |
|eject: 通知所有客户端,当前卡被弹出并切插槽电源 |
|insert: 通知所有客户端驱动程序,这个卡已经插入 | 示例1:
显示PCMCIA插槽和存在设备的扩展调试信息:
[root@linuxcool ~]# pccardctl ls
Socket 0 Bridge: [linuxcool_cardbus] (bus ID: 0000:03:01.0)
示例2:
显示当前的插槽状态:
[root@linuxcool ~]# pccardctl status 0
示例3:
关闭插槽并断电:
[root@linuxcool ~]# pccardctl suspend 0 设备管理(device) 847 lpc lpc命令 – 打印机控制程序 lpc命令是命令行方式打印机控制程序,有5个内置命令。 lpc [参数] |?/help: 显示帮助 |
|exit/quit: 退出打印机命令行 |
|status: 显示打印机状态 | 示例1:
进入lpc命令行:
[root@localhost ~]# lpc
示例2:
显示打印机状态:
[root@localhost ~]# lpc --status
示例3:
退出lpc命令行:
[root@localhost ~]# lpc --exit 设备管理(device) 848 reject reject命令 – 拒绝向目标打印机发送打印任务 reject命令属于CUPS套件,用于指示打印系统拒绝发往指定目标打印机的打印任务。 reject [参数] [指定的打印机] |-E: 当连接到服务器时强制使用加密 |
|-U: 指定连接服务器时使用的用户名 |
|-h: 指定连接服务器名和端口号 |
|-r: 显示打印机拒绝作业的原因 | 示例1:
允许向目标打印机发送打印任务:
[root@linuxcool ~]# reject printer01
示例2:
指定连接服务器时使用的用户名,服务器名,端口号:
[root@linuxcool ~]# reject -U linuxcool 192.168.127.127:9100
示例3:
显示打印机拒绝作业的原因:
[root@linuxcool ~]# reject -r printer01 设备管理(device) 849 cpuspeed cpuspeed命令 – 用户空间的CPU频率调节 cpuspeed命令的作用是可以监控系统的空闲百分比,降低或提高CPU的时钟速度和电压。在空闲时功耗降至最低,并在需要时最大限度地提高性能。默认情况下将管理所有CPU。
大多数linux系统支持内核内CPU频率动态调节。cpuspeed命令守护程序仅与“用户空间”频率缩放调节器结合使用。其他例如“动态”和“节能”,则依靠linux内核即时调整CPU频率,而无需任何用户空间协助。
RedHat和Fedora发行版在这两种情况下都使用统一的配置文件,以及一个cpuspeed初始化脚本,该脚本将根据需要配置cpuspeed或内核内CPU频率调节。 cpuspeed [参数] |-d: 通知进程,以守护进程本身在后台运行 |
|-S [[]…]: 只管理CPU核心的一个组 |
|-w: 不要把时间等待在IO空闲时间 |
|-C: 当AC适配器连接时以最高速度运行 |
|-A<时间间隔>: 设置在该AC适配器的状态将在十分之一秒被轮询的时间间隔,默认为50 |
|-T<时间间隔>: 设置在该温度将在十分之一秒被轮询的时间间隔,默认为10 |
|-a: 当交流适配器断开时,设定ACPI电源适配器状态文件,并告诉程序设置CPU为最低速度 |
|-i<时间间隔>: 设置空闲百分比测试和可能速度变化之间的时间间隔。默认值是20 |
|-t<温度文件><最高温度>: 设置ACPI温度文件和在其中的CPU将被设置为最低速度时的温度 |
|-p: 设置CPU核心空闲的百分比阀值。是空闲的百分比低于此CPU核心会被设置为尽可能高的速度。定是空闲的百分比高于该CPU核心的运行速度将减少,低于此CPU核心的运行速度将提高(默认值是10和25) |
|-m<最小速度>: 设置一个CPU内核将不会被设置的最小速度,单位为kHz |
|-M<最大速度>: 设置一个CPU内核将不会被设置的最大速度,单位为kHz |
|-r: 在程序退出恢复以前的速度 |
|-D: 当AC适配器断开时,不要强制以最小速度运行 | 示例1:
用户空间的CPU频率调节:
[root@linuxcool ~]# cpuspeed
示例2:
程序退出恢复以前的速度:
[root@linuxcool ~]# cpuspeed -r
示例3:
设置一个指定的CPU最大速度:
[root@linuxcool ~]# cpuspeed -M 5000 设备管理(device) 850 aumix aumix命令 – 设置音效装置 aumix命令用于设置音效装置。aumix(audio mixer)命令设置各项音效装置的信号强度以及指定播放与录音的装置。 aumix [参数] |-d: 指定音效装置的名称 |
|-f: 指定存储或载入设置的文件 |
|-I: 以图形界面方式来执行aumix |
|-q: 显示所有频道的设置值 |
|-S: 将设置值保存至/HOME/.aumixrc | 示例1:
以简单的图形界面来调整设置频道参数:
[root@linuxcool ~]# aumix
示例2:
指定音效设备的名称:
[root@linuxcool ~]# aumix -1 -P -d test1 设备管理(device) 851 rfkill rfkill命令 – 管理蓝牙和Wi-Fi设备 rfkill命令来自英文词组radio frequency kill的缩写,其功能是管理系统中的蓝牙和Wi-Fi设备,是一个内核级别的管理工具。 rfkill [参数] [设备名] |block: 关闭设备 |
|list: 列出可用设备 |
|--version: 显示版本信息 | 示例1:
显示系统中已有的Wi-Fi和蓝牙设备信息:
[root@linuxcool ~]# rfkill list
0: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
2: hci0: Bluetooth
Soft blocked: yes
Hard blocked: no
示例2:
关闭指定编码的设备:
[root@linuxcool ~]# rfkill block 0
示例3:
打开指定编码的设备:
[root@linuxcool ~]# rfkill unblock 0 设备管理(device) 852 mev mev命令 – 报告鼠标事件 mev命令的作用是可以报告鼠标事件。
mev命令是gpm计划的一部分。mev命令将它获得的鼠标控制台事件显示到标准输出。mev命令的默认是获取鼠标的任何事件,但是可以使用相关命令参数来设置,以便设定程序的行为。 mev [参数] |-E: emacs模式 |
|-u: 用户模式 |
|-i: 接受来自标准输入的命令 |
|-m<数字>: 最小修改掩码 |
|-M<数字>: 最大修改掩码 |
|-f: 里面的画面适合拖动事件 |
|-p: 显示指针拖动 |
|-C<数字>: 选择虚拟控制台 |
|-d<数字>: 选择默认的掩码 |
|-e<数字>: 选择eventMask | 示例1:
报告鼠标事件:
[root@linuxcool ~]# mev
示例2:
显示指针拖动:
[root@linuxcool ~]# mev -p
示例3:
用户模式:
[root@linuxcool ~]# mev -u 设备管理(device) 853 accept accept命令 – 允许向目标打印机发送打印任务 accept命令属于CUPS套件,用于指示打印系统接受发往指定目标打印机的打印任务。 accept [参数] [指定的打印机] |-E: 当连接到服务器时强制加密 |
|-U: 指定连接服务器时使用的用户名 |
|-h: 指定连接服务器名和端口号 | 示例1:
允许向目标打印机发送打印任务:
[root@linuxcool ~]# accept printer01
示例2:
选择目标打印机ip和端口:
[root@linuxcool ~]# accept -h printer01:9100
示例3:
使用指定用户连接打印机:
[root@linuxcool ~]# accept -U user1 -h 192.168.127.127:9100 设备管理(device) 854 lsscsi lsscsi命令 – 列出SCSI设备及属性信息 lsscsi命令来自英文词组“List SCSI”的缩写,其功能是用于列出SCSI设备及属性信息,SCSI全称为small computer system interface,是一种常用的小型计算机系统接口。lsscsi命令可以很方便地帮助管理员区分哪些是固态硬盘、哪些是SATA盘、哪些是FC盘。 lsscsi [参数] [设备编码] |-d: 显示设备节点的主要和次要号码 |
|-g: 显示SCSI通用设备文件名称 |
|-H: 显示当前连接到系统的SCSI主机 |
|-i: 显示udev相关属性 |
|-k: 显示内核名称 |
|-l: 显示每一个SCSI设备的附加信息 |
|-L: 使用“属性名=值”的格式显示附加信息 |
|-P: 输出有效的保护模式信息 |
|-s: 显示设备容量大小 |
|-t: 显示传输信息 |
|-v: 显示设备属性所在目录 |
|-w: 显示WWN信息 |
|-x: 使用十六进制显示LUN号 | 示例1:
列出当前系统中全部SCSI设备及属性信息:
[root@linuxcool ~]#lsscsi[2:0:0:0] disk ATA VMware Virtual S 0001 /dev/sda
[3:0:0:0] cd/dvd NECVMWar VMware SATA CD01 1.00 /dev/sr0
示例2:
查看指定编码的设备属性信息:
[root@linuxcool ~]#lsscsi 2:0:0:0[2:0:0:0] disk ATA VMware Virtual S 0001 /dev/sda
示例3:
查看SCSI设备的传输信息:
[root@linuxcool ~]#lsscsi -t[2:0:0:0] disk sata:5000c296ee85ed36 /dev/sda
[3:0:0:0] cd/dvd sata: /dev/sr0 设备管理(device) 855 hcitool hcitool命令 – 蓝牙调试工具 hcitool命令用于配置蓝牙连接,并向蓝牙设备发送一些特殊命令。如果没有给定命令,或者使用了选项-h,hcitool会打印一些使用信息并退出。 hcitool [参数] |lescan: 扫描周围低功耗设备(BLE) |
|scan: 远程扫描设备 |
|-i [设备] dev: 显示本地设备 |
|name: 从远程设备获取名称 |
|info: 从远程设备获取信息 | 示例1:
扫描周围低功耗设备(BLE):
[root@linuxcool ~]# hcitool lescan
示例2:
远程扫描设备:
[root@linuxcool ~]# hcitool scan
示例3:
显示本地hci0设备:
[root@linuxcool ~]# hcitool -i hci0 dev 设备管理(device) 856 dumkeys dumkeys命令 – 显示键盘映射表 dumpkeys命令用于显示键盘映射表,输出的内容可以被loadkeys命令识别,改变映射关系.。loadkeys命令可以根据一个键盘定义表改变linux键盘驱动程序转译键盘输入过程。 dumkeys [参数] |-i: 驱动信息(键码范围、数量、状态键) |
|-l: 详细驱动信息 |
|-n: 十六进制显示 |
|-f: 显示全部信息 |
|-1: 分行显示按键组合 |
|-S: 设定输出格式(0:预设 1:完整 2:分行 3简单) |
|--funcs-only: 功能键信息 |
|--keys-only: 键组合信息 |
|--compose-only: 普通键信息 | 示例1:
显示功能键信息:
[root@linuxcool ~]# dumkeys --funcs-only
示例2:
显示驱动信息:
[root@linuxcool ~]# dumkeys -i
示例3:
十六进制显示键盘映射表:
[root@linuxcool ~]# dumkeys -n
示例4:
显示键组合信息:
[root@linuxcool ~]# dumkeys --keys-only
示例5:
显示普通键信息:
[root@linuxcool ~]# dumkeys --compose-only 设备管理(device) 857 loadkeys loadkeys命令 – 改变linux键盘驱动程序 loadkeys命令可以根据一个键盘定义表改变linux键盘驱动程序转译键盘输入过程。 loadkeys [参数] [文件] |-v: 印出详细的资料,你可以重复以增加详细度 |
|-q: 不要显示任何讯息 |
|-c: 清除所有 composite 定义 |
|-s: 将定串定义表清除 | 示例1:
显示功能键:
[root@linuxcool ~]# loadkeys --funcs-only
示例2:
将定串定义表清除:
[root@linuxcool ~]# loadkeys -s
示例3:
清除所有 composite 定义:
[root@linuxcool ~]# loadkeys -c
示例4:
印出详细的资料,你可以重复以增加详细度:
[root@linuxcool ~]# loadkeys -v
示例5:
不要显示任何讯息:
[root@linuxcool ~]# loadkeys -q 设备管理(device) 858 lpadmin lpadmin命令 – 配置打印机和类 lpadmin命令用于配置CUPS套件中的打印机和类,也被用来设置打印服务器默认打印机。 lpadmin [参数] |-c: 将打印机加入类 |
|-r: 从类中删除打印机 |
|-E: 允许打印机接受打印任务 |
|-u: 设置打印机用户级的访问控制 |
|-d: 设置默认打印机 | 示例1:
添加一个名为printer的打印机:
[root@linuxcool ~]# lpadmin -p printer -E -v /dev/bus/usb/001/095 -P ./HP-LaserJet_1020.ppd 设备管理(device) 859 esxcfg-addons esxcfg-addons命令 – 列出ESX主机所安装的Addons esxcfg命令集分为网络管理类、存储管理类、系统管理类等几种类型,esxcfg-addons列出ESX主机所安装的Addons信息,是一种用来操作虚机上的Vsphere的命令。 esxcfg-addons [参数] |-l: 显示所有安装的Addons信息 |
|-e: 启动已经disabled的Addons | 示例1:
显示所有安装的Addons信息:
[root@linuxcool ~]# esxcfg-addons -l
示例2:
启动已经关闭的Addons:
[root@linuxcool ~]# esxcfg-addons -e
示例3:
关闭已经启动的Addons:
[root@linuxcool ~]# esxcfg-addons -d
示例4:
显示所有addons版本信息:
[root@linuxcool ~]# esxcfg-addons -v
示例5:
查看帮助文档:
[root@linuxcool ~]# esxcfg-addons -help 设备管理(device) 860 cdrwtool cdrwtool命令 – 在CD-R CD-RW和DVD-R设备上执行操作 cdwrtool命令的作用是可以在CD-R、CD-RW或DVD-R设备上执行相应的操作。
cdwrtool命令执行的主要操作为是关闭媒体,将其格式化以便与PAKCET-CD设备一起使用,以及应用UDF文件系统。
CD-R光盘只能写入一次资料,而CD-RW光盘可以利用CD-RW光驱重复写入的动作,如果原先的资料不要,可以像磁盘一样,进行格式化之后,再刻录新的资料。
CD光盘与DVD光盘主要差别在容量。CD光盘最大容量一般不会超过800MB,DVD光盘容量根据具体型号进行区分在4.7GB至17GB之间。需要相应设备进行支持。 cdrwtool [参数] |-d<设备>: 指定要使用的设备,比如/dev/sr0 |
|-i: 打印光盘的轨道信息 |
|-s: 设置写入参数 |
|-g: 打印写入参数 |
|-u<长度>: 使UDF文件系统使用块的长度数 |
|-m<偏移>: 在块的偏移号格式化光盘 |
|-b<模式>: 使用fast或full模式格式化光盘 |
|-f<文件名>: 写入文件 |
|-c<轨道>: 关闭指定轨道 |
|-r<轨道>: 储备指定轨道 |
|-v<版本>: 指定使用的UDF版本。有效的版本是0x0201、0x0200、0x0150和0x0102。如果忽略,UDF版本是0x0150 |
|-t<速度>: 设置写入速度,默认是12x |
|-l<类型>: 设置多会话列。无论是0、1或3 |
|-w<模式>: 设置写入模式。可以是mode1或mode2 |
|-p<类型>: 设置数据包类型。可以是0或1 |
|-o<偏移>: 设置写偏移 | 示例1:
在相关设备上写入/root/linuxcool.log文件:
[root@linuxcool ~]# cdrwtool -f /root/linuxcool.log
示例2:
使用是指定模式格式化光盘:
[root@linuxcool ~]# cdrwtool -b fast
示例3:
以指定的写入速度写入文件:
[root@linuxcool ~]# cdrwtool -f /root/linuxcool.log -t 8x 设备管理(device) 861 esxcli esxcli命令 – 管理ESXi虚拟机系统 esxcli命令来自英文词组“ESXI command-line interface”的缩写,其功能是用于管理ESXi虚拟机系统。VMware ESXi是一个跨平台的虚拟化工具,也是VMware软件定义数据中心的基础,可以作为核心基础架构来使用,具有灵活性、可控性、硬件利用率高、成本低、大幅度提高运行时间等特点。而利用esxcli命令可以帮助管理员实现对ESXi虚拟机的几乎全部管理工作。 esxcli [参数] [对象] |hardware: 显示硬件信息 |
|iscsi: 监控并管理硬件iSCSI |
|network: 显示网卡信息 |
|software: 显示软件信息 | 示例1:
获取虚拟机的CPU设备信息(包含型号、系列及缓存):
[root@linuxcool ~]#esxcli hardware cpu list
示例2:
获取虚拟机的内存设备信息:
[root@linuxcool ~]#esxcli hardware memory get
示例3:
获取虚拟机的网络设备信息:
[root@linuxcool ~]#esxcli network nic 设备管理(device) 862 lscpu lscpu命令 – 显示CPU架构信息 lscpu命令来自英文词组“list the CPU architecture”的缩写,其功能是用于显示CPU架构信息。lscpu命令会从/proc/cpuinfo文件中收集有关本机CPU架构的信息,并整理成易读的格式输出到Shell终端,运维人员可以很方便地了解到本机CPU数量、架构、线程、核心、套接字等重要指标信息~ lscpu [参数] |-a: 显示全部的CPU信息 |
|-b: 仅显示在线CPU信息 |
|-c: 仅显示离线CPU信息 |
|-e: 显示扩展的可读格式 |
|-h: 显示帮助信息 |
|-p: 使用可解析的格式 |
|-s: 设置系统根目录 |
|-V: 显示版本信息 |
|-x: 显示十六进制掩码而非CPU列表信息 |
|-y: 显示物理ID而非逻辑ID | 示例1:
显示有关CPU架构的信息:
[root@linuxcool ~]#lscpuArchitecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 1
Core(s) per socket: 8
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 158
Model name: Intel(R) Core(TM) i5-9300H CPU @ 2.40GHz
Stepping: 10
CPU MHz: 2400.007
BogoMIPS: 4800.01
Hypervisor vendor: VMware
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 8192K
NUMA node0 CPU(s): 0-7
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid rdseed adx smap clflushopt xsaveopt xsavec xgetbv1 xsaves arat flush_l1d arch_capabilities 设备管理(device) 863 dmidecode dmidecode命令 – 获取有关硬件方面的信息 dmidecode命令的作用是以一种可读的方式显示机器的DMI(Desktop Management Interface)信息, 其输出的信息包括 BIOS、系统、主板、处理器、内存、缓存等等, 既可以得到当前的配置,也可以得到系统支持的最大配置,比如说支持的最大内存数等。
DMI就是帮助收集电脑系统信息的管理系统,DMI信息的收集必须在严格遵照SMBIOS规范的前提下进行。DMI设计适用于任何的平台和操作系统。由于DMI信息可以人为修改,因此里面的信息不一定是系统准确的信息。 dmidecode [参数] |-d: 从设备文件读取信息,输出内容与不加参数标准输出相同 |
|-h: 显示帮助信息 |
|-s: 只显示指定DMI字符串的信息 |
|-t: 只显示指定条目的信息 |
|-u: 显示未解码的原始条目内容 |
|-- -dump-bin file: 将DMI数据转储到一个二进制文件中 |
|-- -from-dump FILE: 从一个二进制文件读取DMI数据 |
|-V: 显示版本信息 | 示例1:
查看服务器信息:
[root@linuxcool ~]# dmidecode -t 1
示例2:
查看系统序列号:
[root@linuxcool ~]# dmidecode -s system-serial-number
示例3:
查看处理器信息:
[root@linuxcool ~]# dmidecode -t processor
示例4:
显示未解码的原始条目内容:
[root@linuxcool ~]# dmidecode -u 设备管理(device) 864 cupsenable cupsenable命令 – 启动指定的打印机 cupsenable命令用于启动指定的打印机。
使用cupsenable命令启动打印机的时候,可以指定某个确定的打印机,也可以指定一类打印机。 cupsenable [参数] [打印机] |-E: 当连接到服务器时强制使用加密 |
|-U<用户名>: 指定连接服务器时使用的用户名 |
|-u<用户名>: 指定打印任务所属的用户 |
|-h<主机名:端口>: 指定连接的服务器名和端口号 | 示例1:
启动打印机:
[root@linuxcool ~]# cupsenable my_prienter
示例2:
使用指定的用户名连接打印机:
[root@linuxcool ~]# cupsenable -U linuxcool my_prienter
示例3:
连接指定的服务器和端口号:
[root@linuxcool ~]# cupsenable -h prienter_serv:9100 my_prienter 设备管理(device) 865 cupsdisable cupsdisable命令 – 停止指定的打印机 cupsdisable命令用于停止指定的打印机。
使用cupsdisable命令停止打印机时,可以指定某个确定的打印机,也可以指定一类打印机。 cupsdisable [参数] [打印机] |-E: 当连接到服务器时强制使用加密 |
|-U<用户名>: 指定连接服务器时使用的用户名 |
|-u<用户名>: 指定打印任务所属的用户 |
|-c: 取消指定打印机的所有打印任务 |
|-h<主机名:端口>: 指定连接的服务器名和端口号 |
|-r<原因>: 停止打印机的原因 | 示例1:
停止打印机:
[root@linuxcool ~]# cupsdisable my_prienter
示例2:
使用指定用户名连接打印机:
[root@linuxcool ~]# cupsdisable -U linuxcool my_prienter
示例3:
连接指定的服务器和端口号:
[root@linuxcool ~]# cupsdisable -h prienter_serv:9100 my_prienter 设备管理(device) 866 acpid acpid命令 – 电源高级接口配置 acpid命令向用户空间程序通知ACPI事件, acpid应该在系统引导期间启动,并且默认情况下将作为后台进程运行;它将打开一个事件文件(默认为/proc/acpi/event),并尝试读取代表ACPI事件的整行; 如果事件文件不存在,则acpid将尝试通过输入层和netlink连接到Linux内核; 当从这些来源之一接收到ACPI事件时,acpid将检查规则列表,并执行与事件匹配的规则; 如果存在锁定文件(默认情况下为/var/lock/acpid),则acpid将忽略所有传入的ACPI事件。 acpid [参数] |-l [文件名]: 更改acpid写入的日志文件,默认值为/var/log/acpid |
|-e [文件名]: 此选项更改acpid从中读取事件的事件文件,默认值为/proc/acpi/event |
|-g: 此选项更改acpid将事件发布到的UNIX域套接字的组所有权 |
|-m: 此选项更改acpid将事件发布到的UNIX域套接字的权限;默认值为0666 |
|-c: 此选项更改acpid在其中查找规则配置文件的目录;默认为/etc/acpi/events |
|-d: 调试模式,默认不会写入日志 | 示例1:
使用-l参数修改写入日志文件:
[root@linuxcool ~]# acpid -l acpid.txt /var/log/
示例2:
使用-d参数启用调试模式:
[root@linuxcool ~]# acpid -d
示例3:
使用-g参数,更改权限组,授权于root组:
[root@linuxcool ~]# acpid -g root 设备管理(device) 867 cancel cancel命令 – 取消已存在的打印任务 cancel指令用来取消已经存在的打印任务。 cancle [参数] [打印任务号] |-a: 取消所有打印任务 |
|-E: 当连接到服务器时强制使用加密 |
|-U: 指定连接服务器时使用的用户名 |
|-h: 指定连接的服务器名和端口号 |
|-u: 指定打印任务所属的用户 | 示例1:
取消4号任务:
[root@linuxcool ~]# cancle 4
示例2:
使用加密模式:
[root@linuxcool ~]# cancle -E 4
示例3:
取消所有打印任务:
[root@linuxcool ~]# cancle -a
示例4:
指定4号打印任务所属的用户:
[root@linuxcool ~]# cancle -u username 4
示例5:
指定连接服务器时使用的用户名:
[root@linuxcool ~]# cancle -U username 4 设备管理(device) 868 mouseconfig mouseconfig命令 – 设置鼠标相关参数 mouseconfig为鼠标设置程序,可自动设置相关参数,或者用户也可以利用所提供互动模式自行设置鼠标。mouseconfig是Red HatLinux才有的命令。 mouseconfig [参数] [鼠标类型] |--back: 在设置画面上显示Back按钮,而取代预设的Cancel按钮 |
|--device: 指定硬件连接端口 |
|--test: 测试模式,不会改变任何设置 |
|--noprobe: 不要检测鼠标设备 | 示例1:
以交互模式配置鼠标:
[root@linuxcool ~]# mouseconfig -text
示例2:
显示帮助以及所有支持的鼠标类型:
[root@linuxcool ~]# mouseconfig --help
示例3:
在设置画面上显示Back按钮,而取代预设的Cancel按钮:
[root@linuxcool ~]# mouseconfig --back PS/2
示例4:
指定硬件连接端口:
[root@linuxcool ~]# mouseconfig --device USB
示例5:
不检测鼠标设备:
[root@linuxcool ~]# mouseconfig --noprobe 设备管理(device) 869 lsusb lsusb命令 – 显示USB设备列表 lsusb命令用于显示本机的USB设备列表,以及USB设备的详细信息。
lsusb命令显示的USB设备信息来自“/proc/bus/usb”目录下的对应文件。 lsusb [参数] |-v: 显示USB设备的详细信息 |
|-s<总线:设备号>: 仅显示指定的总线和(或)设备号的设备 |
|-d<厂商:产品>: 仅显示指定厂商和产品编号的设备 |
|-t: 以树状结构显示无理USB设备的层次 |
|-V: 显示命令的版本信息 | 示例1:
显示USB设备列表:
[root@linuxcool ~]# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
示例2:
以树状显示USB设备列表:
[root@linuxcool ~]# lsusb -t
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
|_ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 12M |_Port 2: Dev 3, If 0, Class=Hub, Driver=hub/7p, 12M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
示例3:
显示USB设备详细信息:
[root@linuxcool ~]# lsusb -v 设备管理(device) 870 zipsplit zipsplit命令 – 分割压缩包 zipsplit命令用于将较大的“zip”压缩包分割成各个较小的“zip”压缩包。 zipsplit [参数] |-n: 指定分割后每个zip文件的大小 |
|-t: 报告将要产生的较小的zip文件的大小 |
|-b: 指定分割后的zip文件的存放位置 | 示例1:
分割每个文件为1k:
[root@linuxcool ~]# zipsplit -n 1k file.zip
示例2:
指定分割后的zip文件的存放位置:
[root@linuxcool ~]# zipsplit -b 50 file.zip file1 备份压缩(backup) 871 lha lha命令 – 压缩或解压文件 lha是从lharc演变而来的压缩程序,文件经它压缩后,会另外产生具有”.lzh”扩展名的压缩文件。 lha [参数] [文件] |-a: 压缩文件,并加入到压缩文件内 |
|-c: 压缩文件,重新建构新的压缩文件后,再将其加入 |
|-d: 从压缩文件内删除指定的文件 |
|-x: 解开压缩文件 |
|-t: 检查备份文件内的每个文件是否正确无误 | 示例1:
压缩a.b文件,压缩后生成 abc.lhz文件:
[root@linuxcool ~]# lha -a abc.lhz a.b
示例2:
压缩目录:
[root@linuxcool ~]# lha -a abc2 /home/linuxcool
示例3:
解压文件到当前目录:
[root@linuxcool ~]# lha -xiw=agis abc
示例4:
列出压缩文件的相关信息:
[root@linuxcool ~]# lha -l abc.lhz
示例5:
检查备份文件内的每个文件是否正确无误:
[root@linuxcool ~]# lha -t abc.lhz 备份压缩(backup) 872 zfore zfore命令 – 强制添加.gz后缀 zfore命令强制为gzip格式的压缩文件添加“.gz”后缀。 zfore [参数] 示例1:
指定为test.gzip添加“.gz”后缀
[root@linuxcool ~]# zfore test.gzip 备份压缩(backup) 873 ar ar命令 – 建立或修改备存文件 ar命令用于建立或修改备存文件,或是从备存文件中抽取文件。可集合许多文件,成为单一的备存文件。在备存文件中,所有成员文件皆保有原来的属性与权限。 ar [参数] |-d: 删除备存文件中的成员文件 |
|-m: 变更成员文件在备存文件中的次序 |
|-p: 显示备存文件中的成员文件内容 |
|-q: 将文件附加在备存文件末端 |
|-r: 将文件插入备存文件中 |
|-t: 显示备存文件中所包含的文件 |
|-x: 自备存文件中取出成员文件 | 示例1:
打包a.c b.c文件:
[root@linuxcool ~]# ar rv one.bak a.c b.c
示例2:
打包以.c结尾的文件(打包多个文件):
[root@linuxcool ~]# ar rv two.bak *.c
示例3:
显示打包文件的内容:
[root@linuxcool ~]# ar t two.bak
示例4:
删除打包文件的成员文件:
[root@linuxcool ~]# ar d two.bak a.c b.c c.c 备份压缩(backup) 874 zipinfo zipinfo命令 – 查看压缩文件信息 zipinfo命令来自英文词组zip information的缩写,其功能是查看压缩文件信息。使用zipinfo命令可以查看zip格式压缩包内的文件列表及详细信息。 zipinfo [参数] [压缩包] |-1: 只显示文件名 |
|-C: 不区分大小写 |
|-h: 只显示压缩文件名 |
|-l: 显示原始文件的大小 |
|-m: 显示每个文件的压缩率 |
|-M: 以分页形式显示内容 |
|-t: 显示压缩前后大小及压缩率 |
|-T: 显示每个文件的日期时间 |
|-v: 显示执行过程详细信息 |
|-x: 不显示符合条件的文件信息 |
|-z: 显示文件注释信息 | 示例1:
显示压缩包内的文件名称及简要属性信息:
[root@linuxcool ~]# zipinfo File.zip
Archive: File.zip
Zip file size: 1937 bytes, number of entries: 2
-rw------- 3.0 unx 1256 tx defN 23-Dec-14 08:42 anaconda-ks.cfg
-rw-r--r-- 3.0 unx 1585 tx defN 23-Dec-14 08:43 initial-setup-ks.cfg
2 files, 2841 bytes uncompressed, 1589 bytes compressed: 44.1%
示例2:
显示压缩包内的文件名称及详细属性信息:
[root@linuxcool ~]# zipinfo -v File.zip
示例3:
仅显示压缩包内文件大小及数目信息:
[root@linuxcool ~]# zipinfo -h File.zip
Archive: File.zip
Zip file size: 1937 bytes, number of entries: 2
示例4:
仅显示压缩包内的文件最后修改时间及简要属性信息:
[root@linuxcool ~]# zipinfo -T File.zip
Archive: File.zip
Zip file size: 1937 bytes, number of entries: 2
-rw------- 3.0 unx 1256 tx defN 20231214.084220 anaconda-ks.cfg
-rw-r--r-- 3.0 unx 1585 tx defN 20231214.084343 initial-setup-ks.cfg
2 files, 2841 bytes uncompressed, 1589 bytes compressed: 44.1% 备份压缩(backup) 875 dump dump命令 – 备份文件系统 dump命令用于备份文件系统,dump为备份工具程序,可将目录或整个文件系统备份至指定的设备,或备份成一个大文件。 dump [参数] |-0123456789: 备份的层级 |
|-b: 指定区块的大小,单位为KB |
|-B: 指定备份卷册的区块数目 |
|-c: 修改备份磁带预设的密度与容量 |
|-d: 设置磁带的密度。单位为BPI |
|-f: 指定备份设备 |
|-h: 当备份层级等于或大于指定的层级时,将不备份用户标示为”nodump”的文件 |
|-n: 当备份工作需要管理员介入时,向所有”operator”群组中的使用者发出通 |
|-s: 备份磁带的长度,单位为英尺 |
|-T: 指定开始备份的时间与日期 |
|-u: 备份完毕后,在/etc/dumpdates中记录备份的文件系统,层级,日期与时间等 |
|-w: 与-W类似,但仅显示需要备份的文件 |
|-W: 显示需要备份的文件及其最后一次备份的层级,时间与日期 | 示例1:
备份文件到磁带:
[root@linuxcool ~]# dump -0 -u /dev/tape /home/
示例2:
备份文件系统/boot到 SCSI 磁带设备:
[root@linuxcool ~]# dump 0f /dev/nst0 /boot
示例3:
备份文件系统 / 到 SCSI 磁带设备:
[root@linuxcool ~]# dump 0f /dev/nst0/ 备份压缩(backup) 876 bzip2 bzip2命令 – 压缩或解压缩.bz2文件 bzip2命令的功能是压缩或解压缩.bz2文件。Linux系统中常见的以.bz2结尾的文件是由bzip2命令压缩而成的,bzip2是一款压缩算法较新、压缩比较充分的压缩工具,与gzip命令十分相似。 bzip2 [参数] [压缩包.bz2] [文件或目录名] |-c: 显示处理结果 |
|-d: 执行解压缩操作 |
|-f: 强制覆盖已有文件而不询问 |
|-k: 保留已有文件 |
|-q: 跳过所有警告信息 |
|-s: 降低内存使用量 |
|-v: 显示执行过程详细信息 |
|-z: 执行压缩操作 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例1:
对指定的文件进行压缩操作:
[root@linuxcool ~]# bzip2 File.cfg
示例2:
对指定的文件进行压缩操作,并显示详细过程:
[root@linuxcool ~]# bzip2 -v File.cfg
initial-setup-ks.cfg: 1.524:1, 5.250 bits/byte, 34.37% saved, 1542 in, 1012 out.
示例3:
检查指定压缩包文件的完整性:
[root@linuxcool ~]# bzip2 -t File.bz2
示例4:
解压缩指定的压缩包文件:
[root@linuxcool ~]# bzip2 -d File.bz2 备份压缩(backup) 877 uudecode uudecode命令 – 还原档案 uudecode命令将uuencode编码后的档案还原,uudecode只会将begin与end标记之间的编码资料还原,程序会跳过标记以外的资料。 uuencode [参数] |h: 列出指令使用格式 |
|v: 列出版本讯息 | 示例1:
将 file.uud 还原,而还原后的档名储存在 file.uud 档中:
[root@linuxcool ~]# uuencode file.uud
示例2:
还原多个档案:
[root@linuxcool ~]# uuencode file1.uud file2.uud 备份压缩(backup) 878 zip zip命令 – 压缩文件 zip命令的功能是压缩文件,解压命令为unzip。通过zip命令可以将文件打包成zip格式的压缩包,里面包含文件的名称、路径、创建时间、上次修改时间等信息(与tar命令相似)。 zip [参数] [目标文件名.zip] [源文件或目录名] |-A: 自动解压缩文件 |
|-b: 设置暂存文件的目录 |
|-c: 添加注释信息到压缩文件 |
|-d: 更新压缩包内文件 |
|-F: 尝试修复损坏的压缩文件 |
|-h: 显示帮助信息 |
|-i: 仅压缩符合条件的文件 |
|-k: 使用MS-DOS兼容格式 |
|-l: 将“LF”替换成“LF+CR”字符 |
|-L: 显示版本信息 |
|-m: 压缩后删除源文件 |
|-q: 静默执行模式 |
|-r: 递归处理所有子文件 |
|-S: 包含系统和隐藏文件 |
|-t: 设置压缩时间为指定日期 |
|-T: 检查压缩文件是否正确无误 |
|-v: 显示执行过程详细信息 |
|-V: 保留VMS操作系统的文件属性 |
|-w: 在文件名称中加入版本编号 |
|-X: 不保留过多的文件属性信息 |
|-y: 直接保存符号链接,而不是对应文件 | 示例1:
将指定目录及其包含的全部文件都打包成zip格式的压缩包文件:
[root@linuxcool ~]# zip -r File.zip /etc
adding: etc/fstab (deflated 45%)
adding: etc/crypttab (stored 0%)
adding: etc/resolv.conf (stored 0%)
adding: etc/dnf/ (stored 0%)
adding: etc/dnf/modules.d/ (stored 0%)
adding: etc/dnf/modules.d/container-tools.module (deflated 17%)
adding: etc/dnf/modules.d/llvm-toolset.module (deflated 14%)
………………省略部分输出信息………………
示例2:
将当前工作目录内所有以.cfg为后缀的文件打包:
[root@linuxcool ~]# zip -r File.zip *.cfg
adding: anaconda-ks.cfg (deflated 44%)
adding: initial-setup-ks.cfg (deflated 44%)
示例3:
更新压缩包文件中的某个文件:
[root@linuxcool ~]# zip -dv File.zip File.cfg
1>1: updating: File.cfg (deflated 44%) 备份压缩(backup) 879 unzip unzip命令 – 解压缩zip格式文件 unzip命令用于解压缩zip格式的文件,虽然Linux系统中更多地使用tar命令对压缩包进行管理操作,但有时也会接收到Windows系统常用的zip和rar格式的压缩包文件,unzip命令便派上了用场。直接使用unzip命令解压缩文件后,压缩包内原有的文件会被提取并输出保存到当前工作目录下。 unzip [参数] [压缩包名] |-a: 对文本进行必要的字符转换 |
|-b: 不要对文本进行任何字符转换 |
|-c: 适当转换字符后输出解压缩结果 |
|-C: 严格区分大小写 |
|-d: 解压缩文件到指定目录中 |
|-f: 强制覆盖已有文件 |
|-j: 不处理压缩文件中原有的目录路径 |
|-l: 显示压缩包内文件列表 |
|-n: 解压缩时不覆盖已有文件 |
|-P: 使用密码加密 |
|-q: 静默执行模式 |
|-t: 检查压缩包完整性 |
|-v: 显示执行过程详细信息 |
|-x: 跳过压缩包内的指定文件 |
|-z: 显示压缩包内的备注文字 | 示例1:
将压缩包文件解压到当前工作目录中:
[root@linuxcool ~]# unzip File.zip
Archive: File.zip
creating: wordpress/
inflating: wordpress/xmlrpc.php
inflating: wordpress/wp-blog-header.php
…………省略部分输出信息…………
示例2:
将压缩包文件解压到指定目录中:
[root@linuxcool ~]# unzip File.zip -d /home
Archive: File.zip
creating: /home/wordpress/
inflating: /home/wordpress/xmlrpc.php
inflating: /home/wordpress/wp-blog-header.php
…………省略部分输出信息…………
示例3:
测试压缩包文件是否完整,文件有无损坏:
[root@linuxcool ~]# unzip -t File.zip
Archive: File.zip
testing: wordpress/ OK
testing: wordpress/xmlrpc.php OK
…………省略部分输出信息………… 备份压缩(backup) 880 gunzip gunzip命令 – 解压提取文件内容 gunzip命令来自英文词组gnu unzip的缩写,其功能是解压提取文件内容。gunzip通常用来解压那些基于gzip格式压缩过的文件(也就是那些.gz结尾的压缩包)。 gunzip [参数] [压缩包] |-a: 使用ASCII文本模式 |
|-c: 将解压后的文件输出到标准输出设备 |
|-f: 强制解压文件而不询问 |
|-h: 显示帮助信息 |
|-l: 显示压缩文件的相关信息 |
|-n: 解压时不保留原文件的名称及时间戳 |
|-N: 解压时保留原文件的名称及时间戳 |
|-r: 递归处理所有子文件 |
|-S: 设置压缩字尾字符串 |
|-t: 测试压缩包的完整性 |
|-v: 显示执行过程详细信息 |
|-V: 显示版本信息 | 示例1:
解压指定的压缩包文件:
[root@linuxcool ~]# gunzip File.gz
示例2:
解压指定的压缩包文件,并输出解压过程:
[root@linuxcool ~]# gunzip -v File.gz
示例3:
测试指定的压缩包文件内容是否损坏,是否能够正常解压:
[root@linuxcool ~]# gunzip -t File.gz 备份压缩(backup) 881 compress compress命令 – unix档案压缩命令 compress命令是一个相当古老的 unix 档案压缩指令,压缩后的档案会加上一个 .Z 延伸档名以区别未压缩的档案,压缩后的档案可以以 uncompress 解压。若要将数个档案压成一个压缩档,必须先将档案 tar 起来再压缩。由于 gzip 可以产生更理想的压缩比例,一般人多已改用 gzip 为档案压缩工具。 compress [参数] |-c: 输出结果至标准输出设备(一般指荧幕) |
|-f: 强迫写入档案,若目的档已经存在,则会被覆盖 (force) |
|-v: 将程序执行的讯息印在荧幕上 (verbose) |
|-b: 设定共同字串数的上限,以位元计算,可以设定的值为 9 至 16 bits 。由于值越大,能使用的共同字串就 越多,压缩比例就越大,所以一般使用预设值 16 bits (bits) |
|-d: 将压缩档解压缩 |
|-V: 列出版本讯息 | 示例1:
压缩文件:
[root@linuxcool ~]# compress abc.h
示例2:
解压文件:
[root@linuxcool ~]# compress -d abc.h.Z
示例3:
按指定压缩比例进行压缩:
[root@linuxcool ~]# compress -b 7 abc.h
示例4:
强制压缩文件夹:
[root@linuxcool ~]# compress -rf /home/abc/ 备份压缩(backup) 882 bzcat bzcat命令 – 读取bzip2压缩文件的内容 相比较于gzip,bzip2有更好的压缩比,bzcat则是查看bzip2压缩文件后的内容。 bzcat [命令] 示例1:
创建bzip2文件:
[root@linuxcool ~]# bzip2 -z test.txt
[root@linuxcool ~]# ls
test.txt.bz2
示例2:
显示test.txt.bz2解压缩之后的文件内容:
[root@linuxcool ~]# bzcat test.txt.bz2
a b c d
e f g h
i j k l 备份压缩(backup) 883 unarj unarj命令 – 解压.arj文件 unarj命令用于解压缩.arj文件。 unarj [参数] [.arj压缩文件] |-e: 解压缩.arj文件 |
|-l: 显示压缩文件内所包含的文件 |
|-t: 检查压缩文件是否正确 |
|-x: 解压缩时保留原有的路径 | 示例1:
解压缩.arj文件:
[root@linuxcool ~]# unarj -e test.arj
示例2:
显示压缩文件内所包含的文件:
[root@linuxcool ~]# unarj -l test.arj
示例3:
检查压缩文件是否正确:
[root@linuxcool ~]# unarj -t test.arj
示例4:
解压缩时保留原有的路径:
[root@linuxcool ~]# unarj -x test.arj
示例5:
把文件解压到当前路径:
[root@linuxcool ~]# unarj -ex test.arj 备份压缩(backup) 884 gzip gzip命令 – 压缩和解压文件 gzip命令来自英文单词gunzip的缩写,其功能是压缩和解压文件。gzip是一个使用广泛的压缩命令,文件经过压缩后一般会以.gz后缀结尾,与tar命令合用后即为.tar.gz后缀。
据统计,gzip命令对文本文件的压缩比率通常能达到60%~70%,压缩后可以很好地提升存储空间的使用率,还能够在网络中传输文件时减少等待时间。 gzip [参数] [文件名] |-a: 使用ASCII文本模式 |
|-c: 把压缩后的文件输出到标准输出设备 |
|-d: 解压指定的压缩包文件 |
|-f: 强行压缩文件而不询问 |
|-h: 显示帮助信息 |
|-k: 保留原文件 |
|-l: 显示压缩包内的文件信息 |
|-L: 显示版权信息 |
|-N: 保存原来的文件名及时间戳 |
|-t: 测试压缩包是否正确无误 |
|-q: 静默执行模式 |
|-r: 递归处理所有子文件 |
|-S: 设置解压或压缩后文件的后缀名 |
|-v: 显示执行过程详细信息 |
|-V: 显示版本信息 | 示例1:
将指定的文件进行压缩,压缩包默认以“原文件名.gz”保存到当前工作目录下,原文件会被自动删除:
[root@linuxcool ~]# gzip File.cfg
示例2:
解压指定的压缩包文件并显示解压过程,解压后的文件会保存在当前工作目录下,压缩包会被自动删除:
[root@linuxcool ~]# gzip -dv File.cfg.gz
File.cfg.gz: 44.3% -- replaced with File.cfg
示例3:
将指定的文件进行压缩,但是不删除原文件:
[root@linuxcool ~]# gzip -k File.cfg
示例4:
显示指定文件的压缩信息:
[root@linuxcool ~]# gzip -l File.cfg.gz
compressed uncompressed ratio uncompressed_name
929 1585 43.8% File.cfg 备份压缩(backup) 885 znew znew命令 – 将.Z压缩包重新转化.gz压缩包 znew命令用于将使用compress命令压缩的“.Z”压缩包重新转化为使用gzip命令压缩的“.gz”压缩包。 znew [参数] [.Z压缩包] |-f: 强制执行转换操作,即是目标“.gz”已经存在 |
|-t: 删除原文件前测试新文件 |
|-P: 使用管道完成转换操作,以降低磁盘空间使用 | 示例1:
生成“linuxidc.gz”,删除进程中的原始.Z文件:
[root@linuxcool ~]# znew linuxidc.Z
示例2:
强制执行转换操作,即是目标“.gz”已经存在:
[root@linuxcool ~]# znew -f linuxidc.Z
示例3:
显示压缩的每个文件的名称和减少百分比等详细信息:
[root@linuxcool ~]# znew -v linuxidc.Z
示例4:
在删除原始文件之前测试新文件:
[root@linuxcool ~]# znew -t linuxidc.Z
示例5:
确保znew使用管道进行转换以减少磁盘空间使用:
[root@linuxcool ~]# znew -P linuxidc.Z 备份压缩(backup) 886 bzip2recover bzip2recover命令 – 修复损坏的.bz2文件 bzip2recover命令用来修复损坏的.bz2文件 , bzip2是以区块的方式来压缩文件,每个区块视为独立的单位。因此,当某一区块损坏时,便可利用bzip2recover,试着将文件中的区块隔开来,以便解压缩正常的区块。通常只适用在压缩文件很大的情况。 bzip2recover [参数] |-c: 将解压或者解压文件写到标准输出 |
|-d: 解压 |
|-z: 强制压缩,而不管调用名称如何 |
|-t: 检查指定文件的完整性,但不要解压缩它们 |
|-f: 强制执行 |
|-k: 解压之后,保留源文件 |
|-s: 减少内存使用,用于压缩、解压缩和测试 | 示例1:
修复.bz2文件:
[root@linuxcool ~]# bzip2recover col.bz2
示例2:
将1.c压缩到foo:
[root@linuxcool ~]# bzip2recover -c 1.c > foo.gz
示例3:
解压foo:
[root@linuxcool ~]# bzip2recover -d foo.gz 备份压缩(backup) 887 bc bc命令 – 数字计算器 bc命令来自英文词组binary calculator的缩写,中文译为“二进制计算器”,其功能是进行数字计算。bash解释器仅能进行整数计算,而不支持浮点数计算,因此有时要用到bc命令进行高精度的数字计算工作。 bc [参数] |-i: 使用交互模式 |
|-l: 设置标准数学库 |
|-q: 显示正常的GNU bc环境信息 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例1:
计算得出指定的浮点数乘法结果:
[root@linuxcool ~]# bc
1.2345*3
3.7035
示例2:
设定计算精度为小数点后3位,取浮点数除法结果:
[root@linuxcool ~]# bc
scale=3
3/8
.375
示例3:
分别计算整数的平方与平方根结果:
[root@linuxcool ~]# bc
10^10
10000000000
sqrt(100)
10.000 其他命令(other) 888 shopt shopt命令 – 设置控制shell行为变量的开关 shopt命令可以设置哪些控制着Shell行为特性的变量的开关值,以达到控制Shell行为的目的。当执行命令shopt不带任何参数时,将列出由shopt控制的那些特性及其状态。 shopt [参数] |-s: 不带选项时,显示所有打开的选项。如果后边跟上相应的选项,则打开此选项 |
|-u: 不带选项时,显示所有未打开的选项。如果后边跟上相应的选项,则打开此选项 |
|-p: 显示所有选项 | 示例1:
显示所有的配置选项:
[root@linuxcool ~]# shopt -p
示例2:
查看打开的配置选项:
[root@linuxcool ~]# shopt -s
示例3:
查看关闭的配置选项:
[root@linuxcool ~]# shopt -u 其他命令(other) 889 boot boot命令 – 启动系统内核或独立程序 boot命令是用来引导装入并执行独立程序的过程;一般而言,操作系统内核是独立程序,但是任何独立的程序都是可以进行引导的。 boot [参数] |dhcp: 通过 DHCP 方式获取配置参数 |
|prompt: 导致 wanboot 进入其命令解释程序 |
|rarp: 网络引导 |
|-F: 结合使用 wanboot进行对比 | 示例1:
单用户模式下引导缺省内核:
[root@linuxcool ~]# boot –as
示例2:
通过网络引导:
[root@linuxcool ~]# boot net:rarp
示例3:
结合使用 wanboot进行对比:
[root@linuxcool ~]# boot cdrom -F wanboot -o dhcp,prompt 其他命令(other) 890 chronyc chronyc命令 – 设置时间与时间服务器同步 chronyc命令来自英文词组chrony command-line的缩写,其功能是设置时间与时间服务器同步。chrony是一个用于保持系统时间与NTP时间服务器同步的服务,其守护进程chronyd更为常见,而chronyc命令则是用户的配置工具。 chronyc [参数] |sources: 设置时间同步源 |
|sourcestats: 显示时间同步源状态 |
|-4: 基于IPv4网络协议 |
|-6: 基于IPv6网络协议 |
|-h: 设置主机名 |
|-n: 使用IP地址,而不是主机名 |
|-p: 设置端口号 |
|-v: 显示执行过程详细信息 | 示例1:
查看当前系统的时间同步源信息:
[root@linuxcool ~]# chronyc sources -v
示例2:
查看当前系统的时间同步源状态信息:
[root@linuxcool ~]# chronyc sourcestats
Name/IP Address NP NR Span Frequency Freq Skew Offset Std Dev ==============================================================================
120.25.115.20 59 31 18h -0.011 0.019 -536us 875us
10.143.33.49 0 0 0 +0.000 2000.000 +0ns 4000ms
100.100.3.1 64 36 18h +0.000 0.012 +65us 493us
100.100.3.2 64 33 18h -0.004 0.011 -189us 498us
100.100.3.3 42 22 17h +0.006 0.015 +150us 471us
203.107.6.88 64 40 18h -0.005 0.034 -79us 1467us
10.143.33.50 0 0 0 +0.000 2000.000 +0ns 4000ms
10.143.33.51 0 0 0 +0.000 2000.000 +0ns 4000ms
10.143.0.44 0 0 0 +0.000 2000.000 +0ns 4000ms
10.143.0.45 0 0 0 +0.000 2000.000 +0ns 4000ms
10.143.0.46 0 0 0 +0.000 2000.000 +0ns 4000ms
100.100.5.1 42 24 11h +0.014 0.017 +344us 378us
100.100.5.2 64 37 18h -0.000 0.009 -221us 367us
100.100.5.3 64 28 18h -0.003 0.010 -131us 430us 其他命令(other) 891 ifplugstatus ifplugstatus命令 – 检查网线是否已插到在网络接口 ifplugstatus命令可以查看所有网络接口的状态,或是指定网络接口的状态。
这个命令Ubuntu没有预装,通过下面的命令来安装sudo apt-get install ifplugd。 ifplugstatus 示例1:
显示接口状态:
[root@linuxcool ~]# ifplugstatus
lo:link beat detected
wlan0:link beat detected
eth0:unplugged 其他命令(other) 892 aulast aulast命令 – 打印上次登录用户列表 aulast是一个程序,它打印出上次登录用户列表,类似于last和lastb命令。aulast 搜索审核日志或给定的审核日志文件,并显示根据审核日志中的时间范围登录(和注销)的所有用户的列表。可以给出用户和 tty 的名称,在这种情况下,aulast 将仅显示与参数匹配的条目。ttys 的名称可以缩写,因此 aulast 0 与最后 tty0 相同。
每次重新启动系统时,伪用户会登录。因此,上次重新启动将显示自创建日志文件以来所有重新启动的日志。
用户会注意到的主要区别是,从最旧到最新的身份验证打印事件,而最后打印从最新到最旧的记录。此外,每次分配 tty 或 pty 时,不会通知审核系统,因此您可能看不到指示用户及其 tty 的记录。 aulast [参数] |--bad: 报告错误登录 |
|--extract: 将用于创建显示报表的原始审核记录写入当前工作目录中的文件aulast.log |
|-f file: 使用文件而不是审核日志进行输入 |
|--proof: 打印出用于确定报表上一行的审核事件序列号 |
|--stdin: 从 stdin 获得审计记录 | 示例1:
查看本月的登陆记录:
[root@linuxcool ~]# ausearch --start this-month --raw | aulast --stdin
示例2:
打印出用于确定报表上一行的审核事件序列号:
[root@linuxcool ~]# ausearch --start this-month --raw | aulast --proof
示例3:
直接从 stdin 获得审计记录,而不是使用ausearch进行日志搜索:
[root@linuxcool ~]# aulast --stdin 其他命令(other) 893 stratis stratis命令 – 管理linux存储 stratis 是一个具有与 ZFS 和 Btrfs 相似功能的卷管理文件系统。同时又是一个易于使用的Linux存储工具。 stratis [参数] |fs: 创建文件系统 |
|list: 列出文件系统 |
|pool: 列出文件系统的池 |
|snapshot: 创建文件系统快照 | 示例1:
安装stratis:
[root@linuxcool ~]# dnf install stratis-cli stratisd
示例2:
创建文件系统:
[root@linuxcool ~]# stratis fs create mypool myfs1
示例3:
创建一个文件系统作为现有文件系统的快照:
[root@linuxcool ~]# stratis fs snapshot mypool myfs1 myfs1-experiment
示例4:
以列出系统中的池:
[root@linuxcool ~]# stratis pool list
示例5:
列出池中的文件系统:
[root@linuxcool ~]# stratis fs list mypool 其他命令(other) 894 strip strip命令 – 从文件中去除指定符号或调试信息 strip命令的功能是用于从文件中去除指定符号或调试信息,可以针对一般文件与函数库文件进行操作,能够减少文件占用空间大小。 strip [参数] [文件名] |-e: 在对象文件的可选头中设置F_LOADONLY标志 |
|-E: 复位对象文件的可选头中的F_LOADONLY位 |
|-H: 去除对象文件头 |
|-l: 从对象文件里去除行号信息 |
|-r: 除了外部符号和静态符号条目,去除其余信息 |
|-t: 除了函数符号和行号,去除其余信息 |
|-x: 除了静态或外部符号,去除其余符号表信息 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例1:
去除指定文件中的符号表和行号信息:
[root@linuxcool ~]#strip File.out
示例2:
去除指定文件的对象文件头信息:
[root@linuxcool ~]#strip -H File.out
示例3:
去除指定文件中的32、64位符号表信息:
[root@linuxcool ~]#strip -X 32-64 File.a 其他命令(other) 895 protoize protoize命令 – 添加函数原型 protoize命令属于gcc套件,用于为C语言源代码文件添加函数原型,将GNU-C代码转换为ANSI-C代码。protoize命令依赖gcc命令对C语言源代码进行扫描,并且搜集使用的函数信息。
使用protoize命令进行基本转换包括重写大多数函数定义和函数声明以指定参数的类型。
protoize命令可以选择在源文件的开头插入原型声明,以使它们可用于函数定义之前的所有调用。或者也可以在调用未声明函数的块中插入具有块范围的原型声明。 protoize [参数] [文件] |-B<目录>: 在指定目录而不是常用目录(通常为/ usr / local / lib)中查找文件 |
|-C: 重命名文件以.C而不是.c结尾 |
|-c<编译选项>: 运行gcc生成.X文件时,使用COMPILATION-OPTIONS作为选项 |
|-d<目录>: 设置需要转换代码的目录 |
|-G: 添加显示的全局声明 |
|-i<字符串>: 使用字符串缩进旧式参数声明 |
|-k: 保留.X文件 |
|-l: 添加显示的本地声明 |
|-N: 不生成.save文件 |
|-n: 不做任何真正的改变 |
|-q: 安静模式 |
|-x: 转换代码时排除的文件 |
|-v: 打印版本号 | 示例1:
为C语言源代码文件添加函数原型:
[root@linuxcool ~]# protoize test.c
示例2:
设置需要转换代码的目录:
[root@linuxcool ~]# protoize -d /root test.c
示例3:
安静模式自动添加函数原型:
[root@linuxcool ~]# protoize -q test.c 其他命令(other) 896 msgcat msgcat命令 – 合并多个邮件目录 msgcat命令合并多个邮件目录。msgcat程序连接并合并指定的PO文件。它找到两个或多个指定的PO文件共有的消息。通过使用 -- 多选项,可以在打印消息之前请求更大的通用性。相反,在打印消息 (即’-less-than = 2’只打印唯一消息)之前,可以使用-less-than 选项来指定较少的通用性。 msgcat [参数] |-f: 从文件获取输入文件列表 |
|-D: 将目录添加到列表以进行输入文件搜索 |
|-o: 将输出写入指定文件 |
|--use-first: 对每条消息使用第一个可用的翻译,不要合并 |
|-E: 在输出中使用C转义符,没有扩展字符 |
|-s: 生成排序输出 | 示例1:
从文件获取输入文件列表:
[root@linuxcool ~]# msgcat -f linuxcool.txt
示例2:
将输出写入指定文件:
[root@linuxcool ~]# msgcat -o linuxcool.txt
示例3:
生成排序输出:
[root@linuxcool ~]# msgcat -s 其他命令(other) 897 redis-benchmark redis-benchmark命令 – Redis基准性能测试 redis-benchmark命令可以为Redis做基准性能测试,它提供了很多选项帮助开 发和运维人员测试Redis的相关性能。 redis-benchmark [参数] |-h: 服务端IP |
|-p: 服务器端口 |
|-a: redis密码 |
|-c: 客户端连接数量 |
|-n: 请求总数 | 示例1:
使用默认配置对127.0.0.1:6379运行基准测试:
[root@linuxcool ~]# redis-benchmark
示例2:
对192.168.1.1使用20个并行客户端,总共10万个请求:
[root@linuxcool ~]# redis-benchmark -h 192.168.1.1 -p 6379 -n 100000 -c 20
示例3:
仅使用SET测试,用大约100万个键填充127.0.0.1:6379:
[root@linuxcool ~]# redis-benchmark -t set -n 1000000 -r 100000000
示例4:
基准127.0.0.1:6379,用于生成CSV输出的几个命令:
[root@linuxcool ~]# redis-benchmark -t ping,set,get -n 100000 --csv
示例5:
对特定命令行进行基准测试:
[root@linuxcool ~]# redis-benchmark -r 10000 -n 10000 eval 'return redis.call("ping")' 0
示例6:
用10000个随机元素填充列表:
[root@linuxcool ~]# redis-benchmark -r 10000 -n 10000 lpush mylist rand_int 其他命令(other) 898 exportfs exportfs命令 – 管理NFS服务器共享的文件系统 exportfs命令需要参考配置文件“/etc/exportfs”。也可以直接在命令行中指定要共享的NFS文件系统。 export [参数] [目录] |-a: 全部挂载或者全部卸载 |
|-r: 重新挂载 |
|-u: 卸载某一个目录 |
|-v: 显示共享目录 | 示例1:
输出NFS共享目录:
[root@linuxcool ~]# exportfs -a
示例2:
导出目录/usr/tmp给django主机,且允许客户端发送不安全的文件锁请求 :
[root@linuxcool ~]# exportfs -o insecure_locks django:/usr/tmp
示例3:
卸载到/usr/linuxprobe目录:
[root@linuxcool ~]# exportfs -u /usr/linuxcool
示例4:
卸载所有导出列表:
[root@linuxcool ~]# exportfs -au
示例5:
显示共享目录:
[root@linuxcool ~]# exportfs -v 其他命令(other) 899 popd popd命令 – 从shell目录堆栈中删除记录 用于从Shell目录堆栈中删除记录,如果不加任何选项,popd命令先删除Shell目录堆栈栈顶的记录,再把当前目录切换到新的Shell目录堆栈顶的目录。 popd [参数] |-n: 将右起第n个目录删除(n从0开始计数) |
|+n: 将左起第n个目录删除(n从0开始计数) | 示例1:
显示Shell目录堆栈内容,每行一个:
[root@linuxcool ~]# dirs -v
0 /sbin
1 /etc
2 /var/log
示例2:
从shell目录堆栈中删除/sbin:
[root@linuxcool ~]# popd
/etc /var/log
示例3:
显示当前的工作目录:
[root@linuxcool ~]# pwd
etc
示例4:
从目录堆栈中删除栈顶目录:
[root@linuxcool ~]# popd
/var/log
示例5:
从目录堆栈中删除从右起第2个目录:
[root@linuxcool ~]# popd -2 其他命令(other) 900 fc fc命令 – 编辑并执行历史命令 EXTENDED_HISTORY环境变量影响fc命令的执行,如果变量设置为ON,则记录时间,否则不记录时间。 fc [参数] |-e<文本编辑器>: 指定用来编辑命令的文本编辑器,默认是vi |
|-l: 列出第一条和最后一天命令范围内的历史命令,如果不跟命令范围则默认显示最近使用过的16条历史命令 |
|-n: 显示历史命令时不显示命令序号 |
|-r: 反序显示所有历史命令 |
|-s<命令名>: 从历史命令中当前位置往前找到指定命令,并执行 | 示例1:
显示历史命令列表(默认打印最近的16条历史命令):
[root@linuxcool ~]# fc -l
示例2:
指定使用ex文本编辑器编辑命令:
[root@linuxcool ~]# fc -e ex
示例3:
显示历史命令列表但不显示命令序号:
[root@linuxcool ~]# fc -n
示例4:
反序显示所有历史命令:
[root@linuxcool ~]# fc -r
示例5:
从历史命令中找到find命令,并执行:
[root@linuxcool ~]# fc -s find 其他命令(other) 901 eval eval命令 – 重新运算求出参数 eval命令用于重新运算求出参数的内容。eval可读取一连串的参数,然后再依参数本身的特性来执行。 eval [参数] 示例1:
连接单个命令:
[root@linuxcool ~]# eval enable
示例2:
连接多个命令:
[root@linuxcool ~]# eval enable;ls 其他命令(other) 902 sndconfig sndconfig命令 – 设置声卡 sndconfig命令用于设置声卡。该命令支持PnP设置,可自动检测并设置PnP声卡。
PnP全称Plug-and-Play,译文为即插即用。PnP的作用是自动配置低层计算机中的板卡和其他设备,然后告诉对应设备都做了什么。PnP的任务是把物理设备和软件设备驱动程序相配合,并操作设备,在每个设备和它的驱动程序之间建立通信信道。然后,PnP分配下列资源给设备和硬件:I/O地址、IRQ、DMA通道和内存段。 sndconfig [参数] |-- -noprobe: 不自动检测PnP声卡 |
|-- -noautoconfig: 不自动设置PnP的声卡 |
|-- -help: 显示帮助 | 示例1:
设置不自动检查声卡模式:
[root@linuxcool ~]# sndconfig --noautoconfig
示例2:
设置为不自动设置PnP的声卡:
[root@linuxcool ~]# sndconfig --noautoconfig 其他命令(other) 903 zic zic命令 – 时区编辑器 zic是时区编辑器。zic命令从文件中读取文本输入,文件的名字是用命令行指定的;然后生成时间转换信息文件,此文件由输入指定。如果文件名 是 -- ,从标准输入中读取。 zic [参数] |-d: 在指定的目录中生成时间转换信息文件,而不是下面的标准的目录名 |
|-l: 用给定的时区作为本地时间 |
|-p: 当处理 POSIX 格式的时区环境变量时,使用给定的时区规则 |
|-L: 从指定名字的文件中读闰秒信息 |
|-v: 当出现在数据文件中的年超出了可表示的值的年的范围时提出申诉 |
|-s: 限定在输出文件中存储的时间值无论被作为有符号或无符号均是同一个值 |
|-y: 当检测年的类型时,使用给定的命令 | 示例1:
首先运行zic命令:
[root@linuxcool ~]# zic
示例2:
创建时间:
Rule US 1967 1973 - Apr lastSun 2:00 1:00 D
示例3:
创建时区:
Zone Australia/Adelaide 9:30 AusCST 1971 Oct 31 2:00
示例4:
描述闰秒的文件中的行有以下格式:
Leap 1974 Dec 31 23:59:60 + S 其他命令(other) 904 archiveadm archiveadm命令 – Solaris 归档文件实用程序 archiveadm 实用程序为用户提供了创建正在运行的 Oracle Solaris系统的系统干归档映像的功能,用于系统克隆和恢复。 该实用程序还可用于检索创建后的存档信息,以及从存档中创建可启动媒体。 archiveadm [参数] |-z: 归档的区域名称或区域名称列表 |
|-Z: 从归档文件中排除的区域名称或区域名称列表 |
|-D: 从归档文件中排除一个或多个数据集 |
|-r: 创建适用于系统恢复的归档文件 | 示例1:
创建缺省归档文件:
[root@linuxcool ~]# archiveadm create linuxcool.tar.gz
示例2:
创建排除数据集的归档文件:
[root@linuxcool ~]# archiveadm create -D /home linuxcool.tar.gz
示例3:
区域归档文件:
[root@linuxcool ~]# archiveadm create -z zone linuxcool.tar.gz 其他命令(other) 905 zabbix-sender zabbix_sender命令 – zabbix发送器工具 zabbix_sender 是一个命令行工具,用于向 Zabbix 服务器或代理发送监控数据;在Zabbix服务器上,应该用相应的键创建一个Zabbix trapper类型的项目;请注意,输入的值只接受来自该项目的 Allowed hosts 字段中指定的主机。 zabbix_sender [参数] |-c: 配置文件路径 |
|-z: zabbix_server服务器IP地址 |
|-p: zabbix_server服务器端口,默认:10051 |
|-s: 主机名 |
|-I: 源IP |
|-k: 监控项的key值 |
|-o: key数值 |
|-v: 详细模式 | 示例1:
将文件data_values.txt中的值发送到IP为192.168.0.100的Zabbix服务器,文件中定义了主机名和键值:
[root@linuxcool ~]# zabbix_sender -z 192.168.0.100 -i data_values.txt
示例2:
发送342.45作为监视主机的mysql.quests项的值,使用监控主机和代理配置文件中定义的Zabbix服务器:
[root@linuxcool ~]# zabbix_sender -c /etc/zabbix/zabbix_agentd.conf -k mysql.queries -o 342.45
示例3:
使用代理配置文件中定义的zabbix服务器,发送342.45作为Monitored Host主机的mysql.quests项的值:
[root@linuxcool ~]# zabbix_sender -c /etc/zabbix/zabbix_agentd.conf -s "Monitored Host" -k mysql.queries -o 342.45 其他命令(other) 906 applypatch applypatch命令 – 安装或卸载补丁 applypatch命令应用由 makepatch 程序生成的补丁包,它将执行以下操作,首先,它将广泛验证补丁包是否完整,是否在传输过程中被破坏;然后,它将应用一些启发式的方法来验证应用补丁的目录中是否包含了预期来源;如果检测到损坏或验证错误,applypatch会退出而不做更改。 applypatch [参数] |-check: 检查,但不执行 |
|-retain: 打补丁后保留原文件 |
|-force: 验证失败后继续 |
|-quiet: 安装无信息显示 |
|-verbose: 安装显示详细信息 | 示例1:
检查,但不执行:
[root@linuxcool ~]# applypatch -check
示例2:
打补丁后保留原文件:
[root@linuxcool ~]# applypatch -retain
示例3:
验证失败后继续:
[root@linuxcool ~]# applypatch -force 其他命令(other) 907 svnadmin svnadmin命令 – 管理SVN版本库 使用svnadmin命令可以管理subversion版本库,比如创建、升级、检验、修复,以及产生即时副本等。 svnadmin [参数] |dump: 将文件系统的内容,移植到“转存”格式输出到标准输出 |
|lslocks: 显示所有锁的描述 |
|rmlocks: 无条件删除锁 |
|verify: 检验版本库中的数据 | 示例1:
创建版本库,指定版本库目录为/etc/subversion:
[root@linuxcool~]# svnadmin create /etc/subversion
示例2:
将文件系统的内容,以可移植“转存”格式输出到标准输出:
[root@linuxcool ~]# svnadmin dump /etc/subversion
示例3:
检验挂起的版本库号:
[root@linuxcool ~]# svnadmin verify /etc/subversion 其他命令(other) 908 metamail metamail命令 – 处理非文字E-mail的程序 metamail命令负责处理非文字E-mail的程序。该命令可以通过参数设置邮件内容类型,寄信人地址,邮件管理程序名称,邮件主题,文件名等信息。 metamail [参数] |-b: 邮件只有内文,没有表头 |
|-B: 在背景显示信息 |
|-d: metamail在调用其他程序显示信息前,不需向用户确认 |
|-e: 删除内文前端的空白行 |
|-f<寄信人地址>: 不要读取邮件表头中的寄信人地址,而去读取选项中的设置 |
|-h: 使用metamail的邮件管理程序名称 |
|-p: 将显示内容送给more指令处理之后,再送到输出设备 | 示例1:
设置邮件内容只有内文,没有表头:
[root@linuxcool ~]# metamail -b
示例2:
将显示内容送给more指令处理之后,再送到输出设备:
[root@linuxcool ~]# metamail -p
示例3:
删除内文前端的空白行:
[root@linuxcool ~]# metamail -e 其他命令(other) 909 xz xz命令 – POSIX 平台开发工具 XZ Utils 是为 POSIX 平台开发具有高压缩率的工具。它使用 LZMA2 压缩算法,生成的压缩文件比 POSIX 平台传统使用的 gzip、bzip2 生成的压缩文件更小,而且解压缩速度也很快。
最初 XZ Utils 的是基于 LZMA-SDK 开发,但是 LZMA-SDK 包含了一些 WINDOWS 平台的特性,所以 XZ Utils 为以适应 POSIX 平台作了大幅的修改。XZ Utils 的出现也是为了取代 POSIX系统中旧的 LZMA Utils。 xz [参数] |z, --compress: 强制压缩 |
|-t, --test: 测试压缩文件的完整性 |
|-l, --list: 列出有关.xz文件的信息 |
|-k, --keep: 保留(不要删除)输入文件 |
|-f, --force: 强制覆盖输出文件和(解)压缩链接 |
|-c, --stdout, --to-stdout: 写入标准输出,不要删除输入文件 |
|-0 … -9: 压缩预设; 默认为6; 取压缩机和使用7-9之前解压缩内存使用量考虑在内! |
|-e, --extreme: 尝试通过使用更多的CPU时间来提高压缩比 |
|-T, --threads=NUM: 最多使用NUM个线程; 默认值为1 |
|set to 0: 设置为0,使用与处理器内核一样多的线程 |
|-q, --quiet: 抑制警告; 指定两次以抑制错误 |
|-v, --verbose: 冗长; 指定两次更详细 |
|-h, --help: 显示这个简洁的帮助并退出 |
|-H, --long-help: 显示更多帮助(还列出了高级选项) |
|-V, --version: 显示版本号并退出 | 示例1:
压缩一个文件 test.txt,压缩成功后生成 test.txt.xz, 原文件会被删除:
[root@linuxcool ~]$ xz test.txt
[root@linuxcool ~]$ ls test.txt*
test.txt.xz
示例2:
解压 test.txt.xz [文件],并使用参数 -k 保持原文件不被删除:
[root@linuxcool ~]$ xz -d -k test.txt.xz
[root@linuxcool ~]$ ls test.txt*
test.txt.xz test.txt
示例3:
参数 -H 比使用参数 --help 显示的内容更详细:
[root@linuxcool ~]$ xz -H | more
示例4:
借助 xargs命令并行压缩多文件:
[root@linuxcool ~]find /var/log -type f -iname "*.log" -print0 | xargs -P4 -n16 xz -T1 其他命令(other) 910 unexpand unexpand命令 – 空白字符转换 unexpand命令用于将给定文件中的空白字符(space)转换为制表符(TAB),并把转换结果显示在标准输出设备(显示终端)。 unexpand [参数] |-a: 转换文件中所有的空白字符 |
|-first-only: 仅转换开头的空白字符 |
|-t: 指定TAB所代表的N个(N为整数)字符数,默认N值是8 | 示例1:
转换test.txt文件中所有的空白字符 :
[root@linuxcool ~]# unexpand -a text.txt 其他命令(other) 911 dirs dirs命令 – 显示Shell目录堆栈中的记录 dirs命令用于显示Shell目录中的堆栈记录。不加选项时显示当前的Shell命令堆栈中的所有目录,显示时左边为最新加入的目录。 dirs [参数] |-c: 删除目录堆栈中的所有记录 |
|-l: 以完整格式显示堆栈中的目录。显示用户宿主目录时,列出完整路径,而不是“~” |
|-n: 显示右起第n个目录(n从0计数) |
|+n: 显示左起第n个目录 (n从0计数) |
|-p: 以每行一个记录的方式列出堆栈中多有记录 |
|-v: 以每行一个记录的方式列出堆栈中所有记录,并在每行加上序号(从0开始编号) | 示例1:
显示Shell目录堆栈中的记录:
[root@linuxcool ~]# dirs
示例2:
显示Shell目录堆栈内容,每行一个记录:
[root@linuxcool ~]# dirs -p
示例3:
显示Shell目录堆栈内容,每行一个记录,并加序号:
[root@linuxcool ~]# dirs -v
示例4:
删除Shell目录堆栈中的记录:
[root@linuxcool ~]# dirs -c 其他命令(other) 912 bccmd bccmd命令 – CSR BCCMD接口的实用程序 bccmd命令是将BlueCore命令发布给Cambridge Silicon Radio设备, 如果不带参数运行,将显示一个简短的帮助页面。 bccmd [参数] [命令] |-t: 指定通信传输 |
|-d: 指定要操作的特定设备 |
|-b: 选择bcsp传输速率 | 示例1:
获取BCSP蓝牙设备的本地时间:
[root@linuxcool ~]# bccmd -t BCSP clock
示例2:
列出所有HCI设备的PS密钥:
[root@linuxcool ~]# bccmd -d HCI pslist
示例3:
选择bcsp传输速率:
[root@linuxcool ~]# bccmd -b 100bps abc 其他命令(other) 913 docker-compose docker-compose命令 – 容器集群的快速编排工具 docker-compose命令来自英文词组“docker compose”的拼写,其功能是用于容器集群的快速编排工具。docker-compose命令是一个由Docker官方发布的开源项目,对所管理的容器分为了三层,分别是工程(project),服务(service)以及容器(container),能够进行容器集群的快速编排工作。 docker-compose [参数] |-d: 后台运行容器 |
|-f: 设置模板文件 |
|-p: 设置项目名称 |
|build: 创建或重建容器 |
|config: 验证配置文件 |
|create: 创建服务 |
|down: 停止和删除容器、网络、卷、镜像 |
|help: 显示帮助信息 |
|images: 列出镜像信息 |
|kill: 强制关闭容器 |
|logs: 查看项目中容器日志 |
|pause: 暂停容器 |
|ps: 显示容器列表 |
|restart: 重启容器 |
|rm: 删除所有停止状态的容器 |
|run: 在指定服务上运行命令 |
|scale: 设置服务运行的容器个数 |
|start: 启动容器 |
|stop: 停止容器 |
|top: 查看各个容器内运行的进程 |
|unpause: 恢复容器 |
|up: 终端运行容器 | 示例1:
启动并后台运行容器:
[root@linuxcool ~]#docker-compose up -d
示例2:
列出镜像信息:
[root@linuxcool ~]#docker-compose images
示例3:
查看项目中容器的日志信息:
[root@linuxcool ~]#docker-compose logs -f
示例4:
停止项目中的容器:
[root@linuxcool ~]#docker-compose stop 其他命令(other) 914 mutter mutter命令 – GTK2窗口管理器 mutter命令是一款面向非技术用户的最小化X窗口管理器,它被设计成可以与GNOME桌面很好地集成。mutter缺少一些传统UNIX或其他技术用户所期望的功能;在GNOME或单机版中使用其他可用的窗口管理器。 mutter [参数] |--sm-disable: 禁止连接到会话管理器 |
|-r: 替换正在运行的窗口管理器 |
|--sm-client-id=ID: 指定会话管理 ID |
|-d, --display=DISPLAY: 要使用的 X Display |
|--display-server: 以完整显示服务器方式运行,而不是以嵌套方式 |
|--sync: 使 X 调用同步 |
|--wayland: 作为 wayland 混成管理器运行 |
|--nested: 作为嵌套混成器运行 | 示例1:
禁止连接到会话管理器:
[root@linuxcool ~]# mutter --sm-disable
示例2:
替换正在运行的窗口管理器:
[root@linuxcool ~]# mutter -r
示例3:
以完整显示服务器方式运行,而不是以嵌套方式:
[root@linuxcool ~]# mutter --display-server 其他命令(other) 915 killall5 killall5命令 – 向所有进程发送信号 killall5是SystemV killall命令。它向所有进程发送一个信号,除了内核线程和它自己会话中的进程,所以它不会杀死运行脚本的shell。 killall5 [参数] |-o: 省略具有该进程id的进程 | 示例1:
杀死除1122外外的所有进程:
[root@linuxcool ~] # killall5 -o 1122 其他命令(other) 916 catman catman命令 – 创建参考手册的格式化文件 catman实用程序基于输入文件创建在线手册的预格式化版本。通过此功能,可以轻松地在一组关联的计算机之间分发预格式化手册页,因为此功能使预格式化手册页的目录成为自包含目录,独立于未格式化的条目。
系统会检查每个手册页,并对预格式化版本缺失或过期的手册页进行重新创建。如果进行了任何更改,则 catman 将重新创建索引文件。 catman [参数] |–c: 基于 SGML 源在相应 man子目录中创建未格式化的 nroff 源文件 |
|–n: 不创建(或重新创建)索引文件 |
|–p: 模拟运行选项,即显示将执行的操作,而不实际执行 |
|–t: 在相应fmt子目录中创建经过troff处理的条目,而不是通过 nroff置入cat子目录 | 示例1:
如果有一个不以“−” 开头的参数,则将其作为要由catman处理的手册节的空格分隔列表。如果指定了此操作数,则仅处理列表中的手册节:
[root@linuxcool ~]# catman 1 2 3
示例2:
不创建(或重新创建)索引文件:
[root@linuxcool ~]# catman -n
示例3:
显示将执行的操作:
[root@linuxcool ~]# catman -p 其他命令(other) 917 hash hash命令 – 管理命令运行时查询的哈希表 hash命令来自英文词组hash algorithm的缩写,中文译为“哈希算法、杂凑算法”,其功能是管理命令运行时查询的哈希表。hash命令可以显示与删除命令运行时系统查询的哈希表信息,如果不加任何参数,则会默认输出路径列表的信息,这个列表会包含先前hash命令调用找到的shell环境中命令的路径名。 hash [参数] [目录名] |-f: 设置要进行哈希运算的文件路径 |
|-l: 显示哈希表中的命令 |
|-p: 将完整路径的命令加入哈希表 |
|-r: 清除哈希表中的记录 |
|--help: 显示帮助信息 |
|--verbose: 显示执行过程详细信息 | 示例1:
显示哈希表中的命令:
[root@linuxcool ~]# hash -l
builtin hash -p /usr/sbin/ifconfig ifconfig
builtin hash -p /usr/bin/cat cat
builtin hash -p /usr/bin/pidof pidof
示例2:
删除哈希表中的命令:
[root@linuxcool ~]# hash -r
示例3:
向哈希表中添加命令:
[root@linuxcool ~]# hash -p /usr/sbin/adduser myadduser
示例4:
在哈希表中清除记录:
[root@linuxcool ~]# hash -d
hits command
0 /usr/sbin/adduser 其他命令(other) 918 wall wall命令 – 输出信息 wall命令用于向系统当前所有打开的终端上输出信息。通过wall命令可将信息发送给每位同意接收公众信息的终端机用户,若不给予其信息内容,则wall命令会从标准输入设备读取数据,然后再把所得到的数据传送给所有终端机用户。 wall [参数] |messge: 消息:指定广播消息 | 示例1:
传讯息”test” 给每一个使用者:
[root@linuxcool ~]# wall test
示例2:
广播消息:
[root@linuxcool ~]# wall this is a test line
Broadcast message from root (pts/1) (Fri Dec 20 11:36:51 2013):
this is a test line 其他命令(other) 919 addr2line addr2line命令 – 函数地址解析工具 addr2line命令来自英文词组“address to line”的缩写,其功能是将函数地址解析成文件名或行号的工具。给出一个可执行文件中的地址或一个可重定位对象中的偏移部分的地址,使用调试信息来找出与之相关的文件名和行号。 addr2line [参数] [文件名] |-a: 以十六进制形式显示地址 |
|-C: 将符号名解码为用户级别的名字 |
|-e: 设置需要转换地址的可执行文件名 |
|-f: 显示文件名、行号和函数名信息 |
|-F: 显示函数名及文件行号 |
|-j: 读取指定部分的偏移量,而不是绝对地址 |
|-p: 每个地址信息单独占一行 | 示例1:
查看文件名、行号和函数名相关信息:
[root@linuxcool ~]#addr2line -f -e File.so
示例2:
查看文件名、行号、函数名及十六进制形式地址信息:
[root@linuxcool ~]#addr2line -a File.so
示例3:
查找指定的地址所对应的代码位置:
[root@linuxcool ~]#addr2line 0x00000000004005e7 -e test -f -C -s 其他命令(other) 920 gpg gpg命令 – 对信息加密和解密 gpg命令来自英文词组“GnuPG”的缩写,其功能是用于对信息加密和解密。gpg命令是Linux系统中对信息进行加解密和数字签名的免费工具,除了能使用常规密码加解密外,还提供了“公钥/私钥对”验证方式,随时随地都能发送加密信息,而且这种加密是单向的,只有我们自己的“密钥”才能解开密文。
而数字签名则是另一大使用方向,通过数字认证过的信息,他人能确保发布的信息来自你,并且没有经过他人篡改。 gpg [参数] [文件名] |-c: 设置加密文件 |
|-o: 设置解密文件 |
|--armor: 使用ASCII封装 |
|--card-edit: 更改卡数据 |
|--card-status: 显示卡状态 |
|--check-sigs: 检查密钥签名 |
|--change-pin: 更改卡PIN |
|--decrypt: 解密数据 |
|--detach-sign: 生成分离的签名 |
|--delete-keys: 从公钥钥匙环中删除密钥 |
|--delete-secret-keys: 从私钥钥匙环中删除密钥 |
|--dry-run: 不做任何改变 |
|--export: 导出密钥信息 |
|--encrypt: 加密数据 |
|--edit-key: 编辑密钥信息 |
|--fingerprint: 显示密钥和指纹信息 |
|--gen-revoke: 生成一份吊销证书 |
|--gen-key: 生成密钥对 |
|--interactive: 覆盖前询问用户是否确认 |
|--import: 导入或合并密钥 |
|--lsign-key: 为密钥添加本地签名 |
|--list-keys: 查看已有的密钥列表 |
|--list-secret-keys: 显示密钥列表 |
|--output: 输出信息到文件 |
|--recv-keys: 从公钥服务器上导入密钥 |
|--refresh-keys: 在公钥服务器上更新密钥 |
|--search-keys: 从公钥服务器上搜索密钥 |
|--symmetric: 使用对称加密 |
|--sign: 生成一个签名 |
|--send-keys: 上传密钥到指定公钥服务器 |
|--sign-key: 为指定密钥添加签名 |
|--server: 使用服务器模式 |
|--text: 使用文本模式 |
|--update-trustdb: 更新信任数据库 |
|--verify: 验证签名 |
|--verbose: 显示执行过程详细信息 | 示例1:
基于对称加密方式,加密指定文件:
[root@linuxcool ~]#gpg -c File
示例2:
基于对称加密方式,解密指定文件:
[root@linuxcool ~]#gpg -o mydecrypt -d File.gpg
示例3:
生成密钥对文件:
[root@linuxcool ~]#gpg --gen-key
示例4:
查看已有密钥列表:
[root@linuxcool ~]#gpg --list-keys 其他命令(other) 921 trap trap命令 – 指定采取的动作 trap命令用于指定在接收到信号后将要采取的动作,常见的用途是在脚本程序被中断时完成清理工作。当shell接收到sigspec指定的信号时,arg参数(命令)将会被读取,并被执行。 trap [参数] |-l: 让shell打印一个命令名称和其相对应的编号的列表 |
|-p: 打印与每一个信号有关联的命令的列表 |
|缺省: 每个接收到的sigspec信号都将会被重置为它们进入shell时的值 |
|-f: 阻止中断信号 | 示例1:
清理临时文件:
[root@linuxcool ~]$ trap "rm -f $WORKDIR/work1$ $WORKDIR/dataout$; exit" 2
示例2:
忽略信号:
[root@linuxcool ~]$ trap '' 2
示例3:
恢复信号的默认操作:
[root@linuxcool ~]$ trap 2
示例4:
阻止中断操作信号:
[root@linuxcool ~]$ tail -f /var/log/test 其他命令(other) 922 wait wait命令 – 等待指令执行完毕 wait命令的功能是用于等待指令执行完毕,常被用于Shell脚本中,用于等待某个指令执行结束后返回终端,然后才会继续执行后面的指令。
例如有个服务进程PID为12345,那么此时可以用“wait 12345”来持续等待此进程的结束,一旦进程结束则会将返回值输出到终端界面。 wait [进程号或%作业号] |数字: [进程号] |
|%数字: %作业号 | 示例1:
等待执行的进程结束并输出返回值:
[root@linuxcool ~]#wait 12345 其他命令(other) 923 vgreduce vgreduce命令 – 删除物理卷 vgreduce命令通过删除LVM卷组中的物理卷来减少卷组容量。不能删除LVM卷组中剩余的最后一个物理卷。 vgreduce [参数] |-a: 如果命令行中没有指定要删除的物理卷,则删除所有的空物理卷 |
|-removemissing: 删除卷组中丢失的物理卷,使卷组恢复正常状态 | 示例1:
从卷组”vg2000″中移除物理卷/dev/sdb2:
[root@linuxcool ~]# vgreduce vg2000 /dev/sdb2
Removed "/dev/sdb2" from volume group "vg2000" 其他命令(other) 924 bart bart命令 -文件完整性扫描和报告 bart命令是一个基于规则的文件完整性扫描和报告工具,它使用加密强度的校验和和文件系统元数据来报告变化。 bart [参数] |-i: 指定要在全局范围内忽略的文件属性 |
|-I: 指定输入的文件列表 |
|-n: 防止计算所有的内容签名 |
|-p: 在“程序模式”下显示清单比较输出,该模式适合进行程序解析 |
|-r rules_file: 使用rules_file可指定要在目录中列出哪些文件和目录,并定义要标记哪些文件属性差异 |
|-R root_directory: 指定清单的根目录 | 示例1:
创建缺省清单但不计算校验和:
[root@linuxcool ~]# bart create -n
示例2:
为指定子树创建清单:
[root@linuxcool ~]# bart create -R /home/linuxprobe
示例3:
使用标准输入创建清单:
[root@linuxcool ~]# find /home/linuxprobe -print | bart create -I 其他命令(other) 925 zabbix-proxy zabbix_proxy命令 – zabbix代理守护进程 zabbix_proxy是一个从设备收集监控数据并将其发送到Zabbix服务器的守护进程。
zabbix_proxy 收集被监控端的数据,先缓存到本地然后把数据传给zabbix_server,因为zabbix_proxy基本上是在收集数据,而不像server一样要处理数据,所以zabbix_proxy对硬件的要求相对不高。 zabbix_proxy [参数] |-c: 配置文件路径 |
|-f: 在前台运行Zabbix代理 |
|-R: 根据运行时选项执行管理功能 | 示例1:
启动zabbix_proxy服务:
[root@linuxcool ~]# zabbix_proxy -c zabbix_proxy.conf
示例2:
在前台运行zabbix_proxy服务:
[root@linuxcool ~]# zabbix_proxy -c zabbix_proxy.conf -f
示例3:
根据运行时选项执行管理功能:
[root@linuxcool ~]# zabbix_proxy -c zabbix_proxy.conf -R config_cache_reload 其他命令(other) 926 dc dc命令 – 高精度计算器 dc命令来自英文词组“Desk Calculator”的缩写,中文译为“桌面计算器”,其功能是用于高精度数字计算。dc命令不仅可以进行简单的数学计算,还支持无限精度的运算,支持可定义和调用宏。用户可以直接在终端界面与dc命令互动,亦可以让dc命令读取指定的文件内容,并将处理结果输出到屏幕。 dc [参数] [文件名] |e: 指定表达式 |
|f: 显示堆栈的所有内容 |
|p: 输出堆栈最顶端的值 |
|-f: 读取指定的脚本文件 | 示例1:
进行数学乘法的计算操作:
[root@linuxcool ~]#dc5
5
*
p25
示例2:
进行数学开方的计算操作:
[root@linuxcool ~]#dc36
v
p6
示例3:
进行数学指数的计算操作:
[root@linuxcool ~]#dc3 2 ^ p9
示例4:
退出计算器工具:
[root@linuxcool ~]#dcq[root@linuxcool ~]# 其他命令(other) 927 mkisofs mkisofs命令 – 建立ISO 9660映像文件 mkisofs命令用来将指定的目录与文件做成ISO 9660格式的映像文件,以供刻录光盘。 mkisofs [参数] |-a或--all: 把备份文件加到映像文件中 |
|-h: 显示帮助 |
|-quiet: 执行时不显示任何信息 |
|-x<目录>: 指定的目录将不会放入映像文件中 | 示例1:
以静默的形式将test.bin制作成test.iso文件:
[root@linuxcool ~]# mkisofs -quiet test/test.bin /test.iso 其他命令(other) 928 sshpass sshpass命令 – 非交互式验证SSH密码 sshpass命令来自英文词组“SSH password”的缩写,其功能是用于非交互式验证SSH密码。SSH是Linux系统平台中最常用的远程控制协议之一,使用ssh命令进行远程连接时需要交换式验证密码信息,不利于在Shell脚本中调用。而sshpass命令则很好地解决了这个脚本调用问题,用户可以直接将密码以参数的形式传递给命令,而无需交互式验证。 sshpass [参数] [域名或IP地址] |-f: 设置密码文件 |
|-p: 设置密码值 | 示例1:
基于SSH协议远程连接到指定的服务器:
[root@linuxcool ~]#sshpass -p "password" ssh root@192.168.10.10
示例2:
指定端口号,基于SSH协议远程连接到指定的服务器:
[root@linuxcool ~]#sshpass -p "password" ssh -p 8518 root@192.168.10.10
示例3:
基于SSH协议远程连接到指定的服务器,并执行命令:
[root@linuxcool ~]#sshpass -p "password" ssh root@192.168.10.10 "poweroff"
示例4:
读取本地密码文件,基于SSH协议远程连接到指定的服务器:
[root@linuxcool ~]#sshpass -f "passwd.txt" ssh root@192.168.10.10 其他命令(other) 929 cmatrix cmatrix命令 – 代码雨风格屏幕保护 cmatrix命令是一个模拟黑客帝国风格的屏幕保护命令,使用它可以完成可定制的代码雨效果,它可以改变代码下落速度和颜色。 cmatrix [参数] |-b: 随机粗体 |
|-u: 刷新频率,0-9 |
|-C: 显示的颜色,支持green,red,blue,white,yellow,cyan,magenta and black | 示例1:
更改屏保为随机粗体,红色字母:
[root@linuxcool ~]# cmatrix -b -C red
示例2:
更改屏保为异步滚动:
[root@linuxcool ~]# cmatrix -a
示例3:
更改为彩虹模式,速度调为最快:
[root@linuxcool ~]# cmatrix -r -u 0 其他命令(other) 930 jot jot命令 – 创建数字列表 jot命令可以创建一系列数字。给定数字总数及起始数字即可。可帮助您根据您提供的值创建数字列表,作为起始编号和要在其后查看的值的数量。
通过jot执行计算的语法,并使用jot命令在Ubuntu命令行中执行高效数学运算。 不过可能首先需要安装Athena-jot才能在Ubuntu上使用jot命令。 jot [参数] |x: 打印x个数值 |
|y: 数字y之后 |
|z: 在数字y之后反转打印x个数字,直到数字z | 示例1:
在数字2之后打印6个数值:
[root@linuxcool ~]# joy 6 2
2
3
4
5
6
7
示例2:
在数字10之后反转打印8个数字,直到数字2:
[root@linuxcool ~]# joy 8 10 2
10
9
8
7
5
4
3
2
示例3:
从第1天(y值)开始打印12月份的9天(x值):
[root@linuxcool ~]# $ for i in `jot 9 1`; do echo December$i; done
december1
december2
december3
december4
december5
december6
december7
december8
december9 其他命令(other) 931 asradm asradm命令 – 自动服务请求注册实用程序 asradm 实用程序由特权系统管理员使用来注册主机,以便在Oracle Sun系统的Oracle自动服务请求(ASR)中注册。当发生特定的硬件故障时,使用自动案例生成可以提高系统的可用性并加快诊断过程。 asradm [参数] |-h: 设置连接Internet的HTTPS代理主机 |
|-u: 设置代理的用户名 |
|-p: 设置代理的密码 |
|-n: 模拟发送事件消息 | 示例1:
设置连接Internet的HTTPS代理主机:
[root@linuxcool ~]# asradm set-proxy -h www.linuxcool.com
示例2:
非交互式设置代理用户名和密码:
[root@linuxcool ~]# asradm register -u joe.admin@www.linuxcool.com -p password
示例3:
查看模拟发送的消息内容:
[root@linuxcool ~]# asradm send -n audit 其他命令(other) 932 ansible ansible命令 – 运维自动化工具 ansible是一款简单的运维自动化工具,只需要使用ssh协议连接就可以来进行系统管理,自动化执行命令,部署等任务。 ansible [参数] |-m: 要执行的模块,默认为command |
|-a: 模块的参数 |
|-u: ssh连接的用户名,默认用root,ansible.cfg中可以配置 |
|-f: fork多少进程并发处理,默认为5个 |
|-i: 指定hosts文件路径,默认default=/etc/ansible/hosts |
|-M: 要执行的模块路径,默认为/usr/share/ansible |
|-t: 日志输出到该目录,日志文件名以主机命名 | 示例1:
使用command模块,显示所有主机当前文件和目录:
[root@linuxcool ~]# ansible all -a "ls"
示例2:
列出将执行ls该命令的主机:
[root@linuxcool ~]# ansible all -a "ls" --list-hosts
示例3:
指定host主机,测试网络状态:
[root@linuxcool ~]# ansible 192.168.1.100 -m ping 其他命令(other) 933 continue continue命令 – 结束本次循环 continue主要用途在于结束本次循环,继续执行下一个for,while或until循环;可指定从第几层循环继续执行。 continue |n: 大于等于1的整数,用于指定从第几层循环继续执行 | 示例1:
continue的可选参数n缺省值为1:
for((i=3;i>0;i--)); do
for((j=3;j>0;j--)); do
if((j==2)); then
continue
fi
printf "%s %s\n" ${i} ${j}
done
done
# 输出结果 3 3 3 1 2 3 2 1 1 3 1 1
示例2:
当n为2时: 跳到外层for循环继续执行:
for((i=3;i>0;i--)); do
for((j=3;j>0;j--)); do
if((j==2)); then
continue 2
fi
printf "%s %s\n" ${i} ${j}
done
done
# 输出结果 3 3 2 3 1 3 其他命令(other) 934 pushed pushed命令 – 向shell目录堆栈中添加记录 pushed命令用于将目录加入堆栈中,加入记录到目录栈顶部,并切换到该目录,如果不加任何参数, 则会将位于记录栈最上面的两个目录对换位置。 pushed [参数] [目录] |-n: 将右起第n个目录移到堆栈顶(n从0开始计数) |
|+n: 将左起第n个目录移到堆栈顶(n从0开始计数) | 示例1:
显示Shell默认的目录堆栈:
[root@linuxcool ~]# dirs
/var/log
示例2:
向Shell目录堆栈中添加目录/etc:
[root@linuxcool ~]# pushed /etc
示例3:
显示Shell目录堆栈内容,每行一个记录,并加序号:
[root@linuxcool ~]# dirs -v
0 /sbin
1 /etc
2 /var/log
示例4:
将第一个记录移到堆栈顶:
[root@linuxcool ~]# pushed -1
/etc /var/log /sbin 其他命令(other) 935 lslogins lslogins命令 – 显示系统中现有用户的相关信息 lslogins命令会展示出系统中现有用户的相关信息,-u标记可用来标识只展示用户的账户。
该命令检查wtmp和btmp日志,/etc/shadow(如果需要)和 /etc/passwd并输出所需数据。 lslogins [参数] |-a, --acc-expiration: 显示有关上次密码更改日期和账户到期日 |
|--btmp-file: btmp的备用路径 |
|-c, --colon-separate: 用冒号代替换行符 |
|-e, --export: 以NAME=VALUE格式输出数据 |
|-f, --failed: 显示有关用户上次失败登录尝试的数据 |
|-G, --supp-groups: 显示有关补充组的信息 |
|-L, --last: 显示包含有关用户上次登录会话的信息的数据 |
|-l, --logins: 仅显示登录名(用户)中指定登录名的用户的数据名称或用户名) |
|-o, --output: 指定要打印的输出列 |
|-p, --pwd: 显示与按密码登录相关的信息 |
|-r, --raw: 原始输出(无列) |
|-u, --user-accs: 显示用户帐户 | 示例1:
展示出系统中现有用户的相关信息:
[root@linuxcool ~]# lslogins -u linuxcool
示例2:
显示与按密码登录相关的信息:
[root@linuxcool ~]# lslogins -u linuxcool -p
示例3:
显示有关补充组的信息:
[root@linuxcool ~]# lslogins -u linuxcool -G 其他命令(other) 936 auvirt auvirt命令 – 显示与虚拟机相关的数据 auvirt命令显示在审核日志中发现的访客会话列表。如果指定了访客,则仅考虑与该访客相关的事件。若要指定访客,可以同时提供 UUID 或 VM 名称。
对于每个访客会话,该工具将打印一个带域名的记录、启动访客的用户、访客启动的时间以及访客停止的时间。
如果指定参数”--all-events”,将显示更详细的输出。在此模式下,将显示其他记录,用于访客的停靠点、资源分配、主机关闭和 AVC 和异常事件。第一个字段指示事件类型,可以具有以下值:启动、停止、res、avc、anom 和向下(用于主机关闭)。
默认情况下,auvirt 从系统审核日志文件中读取记录。但是,可以指定 --stdin和 --file参数来更改此行为。 auvirt [参数] |--all-events: 显示所有虚拟化相关事件的记录 |
|--debug: 将调试消息打印到标准输出 |
|-f, --filefile: 从给定文件中读取记录,而不是从系统审核日志文件 |
|-h, --help: 打印帮助消息 |
|--proof: 在每个事件之后添加一行,其中包含用于计算事件的审核记录的所有标识符。每个标识符由 unix 时间、毫秒和序列号组成 |
|--show-uuid: 将访客的 UUID 添加到每个记录中 |
|--stdin: 从标准输入读取记录,而不是从系统审核日志文件读取记录 |
|--summary: 打印包含有关找到的事件的信息的摘要。摘要包含考虑的时间范围、来宾启动和停止数、资源分配数、AVC 和异常事件数、主机关闭数和失败操作数 |
|-u, --uuidUUID: 仅显示与访客相关的事件与给定的 UUID |
|-v, --vmname: 仅显示与具有给定名称的访客相关的事件 | 示例1:
查看访客名为linuxcool的本月的所有记录:
[root@linuxcool ~]# auvirt --start this-month --vm linuxcool --all-events
示例2:
从指定定文件中读取记录:
[root@linuxcool ~]# auvirt -f file
示例3:
将所有访客的 UUID 添加到每个记录中,我们需要指定一个输出文件:
[root@linuxcool ~]# auvirt --show-uuid > file 其他命令(other) 937 python python命令 – 解释器、交互式、面向对象的编程语言 Python是一种解释型的、交互式的、面向对象的编程语言,它结合了非凡的功能和非常清晰的语法。Python Library Reference记录了内置的和标准的类型、常量、函数和模块。 python [参数] |-c: 直接运行python语句 |
|-v: 会输出每一个模块引用信息 |
|-i: 运行完python脚本文件以后打开一个python环境 |
|-m: 将模块按照脚本执行 | 示例1:
直接运行python语句:
[root@linuxcool ~]# python -c "print 'Hello world'"
示例2:
查看python所有模块应用的信息:
[root@linuxcool ~]# python -v
示例3:
运行完python脚本文件以后打开一个python环境:
[root@linuxcool ~]# python -i main.py
示例4:
将模块按照脚本执行,实现一个简单的下载服务器:
[root@linuxcool ~]# python -m SimpleHTTPServer 80 其他命令(other) 938 ab ab命令 – Web服务器的性能测试工具 ab命令是Apache的Web服务器的性能测试工具,它可以测试安装Web服务器每秒种处理的HTTP请求。 ab [参数] |-A: 指定连接服务器的基本的认证凭据 |
|-c: 指定一次向服务器发出请求数 |
|-C: 添加cookie |
|-g: 将测试结果输出为“gnuolot”文件 |
|-H: 为请求追加一个额外的头; |
|-i: 使用“head”请求方式 |
|-p: 指定包含数据的文件 |
|-q: 不显示进度百分比 |
|-T: 使用POST数据时,设置内容类型头 |
|-x: 以表格方式输出时,设置表格的属性; |
|-y: 以表格方式输出时,设置表格属性 | 示例1:
进行app接口的压测:
[root@linuxcool ~]# ab -n 400 -c 20 "http://www.xxx.com/api.php?sig=......"
示例2:
进行post传参的压测:
[root@linuxcool ~]# ab -n 400 -c 20 -p parm.txt -T "application/x-www-form-urlencoded"
示例3:
服务器测试:
[root@linuxcool ~]# ab -n 400 -c 20 "https://www.linuxcool.com" 其他命令(other) 939 tcpreplay tcpreplay命令 – 性能或功能测试 tcpreplay 是一种pcap包的重放工具,它可以将用ethreal、wireshark工具抓下来的包原样或经过任意修改后重放回去。它允许你对报文做任意的修改(主要是指对2层、3层、4层报文头),指定重放报文的速度等,这样tcpreplay就可以用来复现抓包的情景以定位bug,以极快的速度重放从而实现压力测试。 tcpreplay [参数] [文件] |-A: -vA “nnt”表示以tcpdump风格输出报文信息,并且不打印时间戳、主机名、端口服务名称。注意不要使用-c参数来指定打印的数据报文的个数,这样发送出去的报文也会变少 |
|-c: 双网卡回放报文必选参数,后面紧跟cache文件名,该文件为tcpprep根据对应的pcap文件构造出来 |
|-i: 双网卡回放报文必选参数,指定主接口 |
|-K: 重写从网卡发送报文的源MAC地址 |
|-O: 没有测试使用 | 示例1:
将 ftp.pcap [文件]进行 tcpprep 操作,制作 cache [文件]:
[root@linuxcool ~]# tcpprep -an client -i ftp.pcap -o ftp.cache –v
示例2:
重放 tftp 服务器上抓到的报文 * a、在 tftp 服务器上使用 ethereal 抓包,存为 tftp.pcap [文件]。 b、将 pcap [文件]进行 tcpprep 的操作,制作 cache [文件]:
[root@linuxcool ~]# tcpreplay -c ftp.cache -i eth0 -j eth1 ftp.pcap -R –v 其他命令(other) 940 wget wget命令 – 下载网络文件 wget命令来自英文词组web get的缩写,其功能是从指定网址下载网络文件。wget命令非常稳定,一般即便网络发生波动也不会导致下载失败,而是不断地尝试重连,直至整个文件下载完毕。
wget命令支持如HTTP、HTTPS、FTP等常见协议,可以在命令行中直接下载网络文件。 wget [参数] [网址URL] [对象] |-4: 基于IPv4网络协议 |
|-6: 基于IPv6网络协议 |
|-a: 将日志追加写入至指定文件 |
|-b: 启动后转入后台执行 |
|-c: 支持断点续传 |
|-d: 使用调试模式 |
|-e: 执行指定的命令 |
|-F: 将输入文件当作HTML处理 |
|-h: 显示帮助信息 |
|-i: 下载指定文件中的链接 |
|-l: 设置最大递归目录深度 |
|-nd: 不要创建目录 |
|-N: 只获取比本地更新的文件 |
|-o: 将日志信息写入指定文件 |
|-O: 设置本地文件名 |
|-P: 设置文件前缀 |
|-q: 静默执行模式 |
|-S: 显示服务器响应信息 |
|-t: 设置最大尝试次数 |
|-T: 设置最长等待时间 |
|-v: 显示执行过程详细信息 |
|-V: 显示版本信息 |
|-w: 设置等待间隔(秒) |
|-x: 强制创建目录 |
|--ask-password: 提示输入密码 |
|--limit-rate: 限制下载速度 |
|--no-dns-cache: 关闭DNS查询缓存 |
|--no-proxy: 禁止使用代理 |
|--password: 设置密码值 |
|--random-wait: 下载多个文件时,随机等待间隔(秒) |
|--spider: 仅检查文件是否存在 |
|--user: 设置用户名 | 示例1:
下载指定的网络文件:
[root@linuxprobe ~]# wget https://www.linuxprobe.com/docs/LinuxProbe.pdf
--2023-05-11 18:36:42-- https://www.linuxprobe.com/docs/LinuxProbe.pdf
Resolving www.linuxprobe.com (www.linuxprobe.com)... 58.218.215.124
Connecting to www.linuxprobe.com (www.linuxprobe.com)|58.218.215.124|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 17676281 (17M) [application/pdf]
Saving to: ‘LinuxProbe.pdf’
LinuxProbe.pdf 100%[=================================>] 16.86M 30.0MB/s in 0.6s
2023-05-11 18:36:42 (30.0 MB/s) - ‘LinuxProbe.pdf’ saved [17676281/17676281]
示例2:
下载指定的网络文件,并定义保存在本地的文件名称:
[root@linuxcool ~]# wget -O Book.pdf https://www.linuxprobe.com/docs/LinuxProbe.pdf
示例3:
下载指定的网络文件,限速最高每秒300kbit/s:
[root@linuxcool ~]# wget --limit-rate=300k https://www.linuxprobe.com/docs/LinuxProbe.pdf
示例4:
启用断点续传技术下载指定的网络文件:
[root@linuxcool ~]# wget -c https://www.linuxprobe.com/docs/LinuxProbe.pdf
示例5:
下载指定的网络文件,将任务放至后台执行:
[root@linuxcool ~]# wget -b https://www.linuxprobe.com/docs/LinuxProbe.pdf
Continuing in background, pid 237616.
Output will be written to ‘wget-log’. 其他命令(other) 941 msgen msgen命令 – 创建英文邮件目录 msgen命令用于创建英文邮件目录。输入文件是最后输入的英文邮件或者一个邮件模板。该命令可以快速生成邮件模板。 msgen [参数] |-D, --directory: 将目录添加到列表以进行输入文件搜索如果输入文件为-,则读取标准输入 |
|-o, --output-file: 将输出写入指定文件 |
|--color: 始终使用颜色和其他文本属性 |
|-e, --no-escape: 不在输出中使用转义符(默认) |
|-E, --escape: 在输出中使用转义符,没有扩展字符 |
|--force-po: 即使为空也写入邮件模板 |
|-i, --indent: 缩进输出样式 |
|--strict: 严格的统一输出样式 | 示例1:
将目录添加到列表以进行输入文件搜索:
[root@linuxcool ~]# msgen -D /directory
示例2:
将输出写入指定文件:
[root@linuxcool ~]# msgen -o file
示例3:
对于需要特定输出样式的,需要在输出中使用转义符:
[root@linuxcool ~]# msgen -E 其他命令(other) 942 tmux tmux命令 – 终端复用软件 Tmux是一个优秀的终端复用软件,类似GNU Screen,但来自于OpenBSD,采用BSD授权.
使用它最直观的好处就是,通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需再“浪费”多余的终端来连接这台远程主机。 tmux [参数] |Ctrl+b: 激活控制台 |
|?: 列出所有快捷键;按q返回 |
|Ctrl+z: 挂起当前会话 |
|r: 强制重绘未脱离的会话 |
|s: 选择并切换会话;在同时开启了多个会话时使用 | 示例1:
安装tmux软件:
[root@linuxcool ~]# brew install tmux
[root@linuxcool ~]# sudo apt-get install tmux
[root@linuxcool ~]# yum install -y tmux
[root@linuxcool ~]# yum install libevent libevent-devel ncurses-devel
[root@linuxcool ~]# tar -zvxf tmux-2.3.tar.gz #
[root@linuxcool ~]# cd tmux-2.3
[root@linuxcool ~]# ./configure
[root@linuxcool ~]# make && make install 其他命令(other) 943 xlsatoms xlsatoms命令 – 列出原子成分 xlsatoms命令用于列出X服务器内部所有定义的原子成分,每个原子成分都有自身的编号。可利用参数设置列表范围,或直接指定欲查询的成分名称。 xlsatoms [参数] |-display<显示器编号>: 指定X Server连接的显示器编号,该编号由”0″开始计算,依序递增 |
|-format<输出格式>: 设置成分清单的列表格式,您可使用控制字符改变显示样式 |
|-name<成分名称>: 列出指定的成分 |
|-range<列表范围>: 设置成分清单的列表范围 | 示例1:
显示编号为0的显示器的所有定义的原子成分
[root@linuxcool ~]# xlsatoms -display0 其他命令(other) 944 write write命令 – 发送信息 write命令用于向指定登录用户终端上发送信息。通过write命令可传递信息给另一位登入系统的用户,当输入完毕后,键入EOF表示信息结束,write命令就会将信息传给对方。如果接收信息的用户不只登入本地主机一次,你可以指定接收信息的终端机编号。 write [参数] |用户: 指定要接受信息的登录用户 |
|登陆终端: 指定接收信息的用户的登录终端 | 示例1:
传信息给Rollaend:
[root@linuxcool ~]#write Rollaend
示例2:
传信息给Rollaend、Rollaend的连线有pts/2:
[root@linuxcool ~]#write Rollaend pts/2 其他命令(other) 945 builtin builtin命令 – 执行bash内建命令 builtin命令用于执行指定的bash内建命令, builtin命令调用的bash内建命令优先于同名的外部命令及同名的shell函数。 返回该内建命令执行的返回值,除非传递的不是bash内建命令或该内建命令被禁用。 builtin [参数] |shell-builtin: 要调用的bash内建命令 |
|arg: 传递给bash内建命令的一到多个参数 | 示例1:
同名情况下的优先级顺序:builtin 内建命令 > 函数 > 内建命令 > 外部命令:
[root@linuxcool ~]# echo "the Great Wall"
[root@linuxcool ~]# type -t echo
[root@linuxcool ~]# echo(){printf "123\n" }
[root@linuxcool ~]# echo
[root@linuxcool ~]# type -t echo
[root@linuxcool ~]# builtin echo -e "backslash \\"
示例2:
执行shell内部指令,输出当前系统下的命令别名 :
[root@linuxcool ~]# builtin alias
[root@linuxcool ~]# alias cp='cp -i'
[root@linuxcool ~]# alias l.='ls -d .* --color=tty'
[root@linuxcool ~]# alias ll='ls -l --color=tty'
[root@linuxcool ~]# alias ls='ls --color=tty'
[root@linuxcool ~]# alias mv='mv -i'
[root@linuxcool ~]# alias rm='rm -i'
[root@linuxcool ~]# alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde' 其他命令(other) 946 grub-crypt grub-crypt命令 – 对口令进行加密 grub-crypt命令的作用是对口令进行加密。grub-crypt命令支持对口令进行MD5和SHA加密,默认情况下是对口令进行SHA-512加密。
SHA是Secure Hash Algorithm的简写,中文为安全散列算法,是美国国家安全局 设计,美国国家标准与技术研究院发布的一系列密码散列函数。由于SHA-1已经不太安全,目前SHA-2各版本已成为主流。 grub-crypt [参数] |-- -md5: 使用MD5加密口令 |
|-- -sha-256: 使用SHA-256加密口令 |
|-- -sha-512: 使用SHA-512加密口令(默认) | 示例1:
使用默认模式对口令进行加密:
[root@linuxcool ~]# grub-crypt
Password:
Retype password: 5476c925d9944226ce156be12bf3ce38889d141194c55794e6017c2e8e60d600fa01d19d6b371fa1921d0036dddc8708bc36d64dd9fc0350b839b8121a889ff2
示例2:
使用MD5对口令进行加密:
[root@linuxcool ~]# grub-crypt --md5
Password:
Retype password:
aa422445d1ae1263fe3ad6f508e4c53b
示例3:
使用SHA-256对口令进行加密:
[root@linuxcool ~]# grub-crypt --sha-256
Password:
Retype password:
2b222ddcb1abfdd10ae57a759bf34a0e872220cf17ded40b82a42b321fcb585e 其他命令(other) 947 printf printf命令 – 格式化输出信息 printf命令来自英文词组“format and print”的缩写,其功能是用于格式化输出信息。Linux系统中的printf实际是一个模仿了C语言函数库中printf()的命令,让用户能够定制字符串的宽度、左右对齐格式、分隔符等参数,以便更好地按照自己想要的格式输出信息内容。 printf [参数] [对象] |\a: 警告 |
|\b: 后退 |
|\ddd: 表示1到3位的八进制值字符 |
|\f: 换页 |
|\n: 换行 |
|\r: 回车 |
|\t: 水平制表符 |
|\v: 垂直制表符 |
|\\: 一个反斜杠 | 示例1:
输出指定字符串内容,中间换行:
[root@linuxcool ~]#printf "Hello World\nWelcome to Linuxcool.com\n"Hello World
Welcome to Linuxcool.com
示例2:
输出指定字符串内容,只保留到最后2位小数点:
[root@linuxcool ~]#printf "%.2f\n" 123.456789 1234.56789123.46
1234.57
示例3:
输出指定字符串内容,两个内容之间间隔10个字符:
[root@linuxcool ~]#printf "%-10s %s\n" LiuChuan MaleLiuChuan Male 其他命令(other) 948 pwdhash pwdhash命令 – 密码哈希生成器 pwdhash命令的作用是可以在LDIF密码字段中生产可以使用的密码哈希值。
哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性。一般用于快速查找和加密算法。
在密码学中,hash算法的作用主要是用于消息摘要和签名,换句话说,它主要用于对整个消息的完整性进行校验。 pwdhash [参数] [密码] |-H: 显示摘要信息 |
|-s<方案>: 指定要使用的密码方案,比如MD5、SHA1、SHA256、SHA512、SSHA、SSHA256或SSHA512 |
|-c<密码><密码2>: 对密码进行比较 |
|-D<配置目录>: 从ns-slapd配置直接进入密码模式 | 示例1:
产生密码linuxcool的哈希值:
[root@linuxcool ~]# pwdhash linuxcool
示例2:
以密码方案MD5产生密码linuxcool的哈希值:
[root@linuxcool ~]# pwdhash -s MD5 linuxcool
示例3:
对密码linuxcool和linux产生的哈希值进行比较:
[root@linuxcool ~]# pwdhash -c linuxcool linux 其他命令(other) 949 bootctl bootctl命令 – 控制固件与systemd-boot引导管理器 bootctl能够检查 EFI 引导管理器状态、列出可用引导管理器、列出启动项, 还能够在当前系统上安装、更新、卸载 systemd-boot引导管理器。 bootctl [参数] |--path=: ESP(EFI System Partition)的挂载目录。若未指定,那么将依次检查 /efi, /boot, /boot/efi 目录。 建议尽可能将 ESP 挂载到 /boot 目录 |
|-p,--print-path-: 此选项用于改变 status命令的行为, 让该命令仅显示 ESP(EFI System Partition) 的挂载目录之后 就立即退出 |
|--no-variables: 忽略固件中的引导管理器列表(存储在 EFI [变量]中) |
|--no-pager: 不将程序的输出内容管道(pipe)给分页程序 |
|-h, --help: 显示简短的帮助信息并退出 |
|--version: 显示简短的版本信息并退出 | 示例1:
显示简要的固件信息、本次启动所使用的引导管理器等信息:
[root@linuxcool ~ ]# bootctl status
示例2:
更新所有已安装的 systemd-boot 引导管理器:
[root@linuxcool ~]# bootctl update
示例3:
将所有已安装的 systemd-boot 从 ESP(EFI system partition) 中卸载,并且从EFI引导管理器启动顺序列表中删除对应的项:
[root@linuxcool ~]# bootctl remove
示例4:
列出所有符合 Boot Loader Specification 规范的 可用启动项、引导管理器自动生成的启动项、任何其他找到的启动项:
[root@linuxcool ~]# bootctl list
示例5:
设置默认启动项。ID 是一个启动项 ID 标识符。 set-oneshot 命令仅临时设置下次启动所使用的默认启动项,而 set-default 命令则是永久设置默认启动项:
[root@linuxcool ~]# bootctl set-default ID, set-oneshot ID 其他命令(other) 950 shift shift命令 – 向左移动参数 shift命令来自英文单词“移动”,其功能是用于向左移动参数。Linux命令能够一次性接收多个参数,可能是0个,也可能是5个,又或是15个,那么该如何逐一处理这些参数呢?
shift能够将命令接收到的参数逐个向左移动一位,即原本的$3变量会覆盖$2变量,原本的$2变量会覆盖$1变量,这样我们只需要每执行一次shift命令后调用$1变量,就能够实现对全部参数的处理工作了。 shift [参数] |数字: 向左移动的个数 | 示例1:
编写一个脚本,逐一输出在执行shift命令后的$1变量值,直至清空全部参数:
[root@linuxcool ~]#cat File.sh#!/bin/bash
while [ $# != 0 ] ; do
echo "$1"
shift
done
[root@linuxcool ~]#./File.sh AA BB CC DDAA
BB
CC
DD
示例2:
将参数向左移动2位:
[root@linuxcool ~]#cat File.sh#!/bin/bash
while [ $# != 0 ] ; do
echo "$1"
shift 2
done
[root@linuxcool ~]#./File.sh AA BB CC DDAA
CC 其他命令(other) 951 vgscan vgscan命令 – 扫描并显示卷组 vgscan命令查找系统中存在的LVM卷组,并显示找到的卷组列表。vgscan命令仅显示找到的卷组的名称和LVM元数据类型,要得到卷组的详细信息需要使用vgdisplay命令。 vgscan [参数] |-d: 调试模式 |
|--ignorerlockingfailure: 忽略锁定失败的错误 | 示例1:
扫描系统中所有的卷组:
[root@linuxcool ~]# vgscan 其他命令(other) 952 vdfuse vdfuse命令 – 挂载分区文件工具 vdfuse命令是VirtualBox软件挂载VDI分区文件的一个工具,VirtualBox是一款能创建虚拟机的开源软件,vdi是它的默认磁盘格式。 vdfuse [参数] |-h: 帮助 |
|-r: 只读 |
|-t: 类型 (VDI, VMDK, VHD, or raw; default: auto) |
|-f: 镜像文件 |
|-a: 允许所有用户读取 |
|-w: 允许所有用户都写 |
|-g: 前台运行 |
|-v: 输出反馈 |
|-d: debug模式 | 示例1:
挂载.vdi文件:
[root@linuxcool ~]# sudo vdfuse -f /path/to/file.vdi /path/to/mountpoint 其他命令(other) 953 test test命令 – 检查条件是否成立 test命令来自英文单词“测试”,其功能是用于检查条件是否成立,能够对数值、字符和文件进行条件测试。Linux系统中的Shell脚本程序常用到此命令,与if条件控制语句搭配结合使用效果更好,这样只有当某个指定条件成立时才会执行后续代码,大大地提高了程序的灵活性和安全性,而不是不论条件是否满足都一股脑地跑完全部代码。 test [表达式] |-eq: 等于 |
|-ge: 大于等于 |
|-gt: 大于 |
|-le: 小于等于 |
|-lt: 小于 |
|-ne: 不等于 | 示例1:
判断两个数值是否相等:
[root@linuxcool ~]#cat File.shnum1=100
num2=100
if test $[num1] -eq $[num2] then
echo '两个数相等!'
else
echo '两个数不相等!'
fi
示例2:
判断两个字符串是否相同:
[root@linuxcool ~]#cat File.shstr1="LinuxPROBE"
str2="LinuxCOOL"
if test str1=ste2 then
echo '两个字符串相同!'
else
echo '两个字符串不相同!'
fi
示例3:
判断文件是否存在:
[root@linuxcool ~]#cat File.shif test -e /bin/bash then
echo '文件已存在!' else
echo '文件不存在!'
fi 其他命令(other) 954 history history命令 – 显示与管理历史命令记录 history命令的功能是显示与管理历史命令记录。Linux系统默认会记录用户执行过的有命令,可以使用history命令查阅它们,也可以对其记录进行修改和删除操作。 history [参数] |-a: 保存命令记录 |
|-c: 清空命令记录 |
|-d: 删除指定序号的命令记录 |
|-n: 读取命令记录 |
|-s: 添加命令记录到缓冲区 |
|-w: 将缓冲区信息写入历史文件 | 示例1:
显示执行过的全部命令记录:
[root@linuxcool ~]# history
1 vim /etc/sysconfig/network-scripts/ifcfg-ens160
2 reboot
3 vim /etc/sysconfig/network-scripts/ifcfg-ens160
4 vim /etc/yum.repos.d/rhel.repo
5 mkdir /media/cdrom
………………省略部分输出信息………………
示例2:
显示最近执行过的5条命令:
[root@linuxcool ~]# history 5
11 exit
12 ifconfig
13 vim /etc/hostname
14 reboot
15 history
示例3:
将本次缓存区信息写入历史文件(~/.bash_history):
[root@linuxcool ~]# history -w
示例4:
将历史文件中的信息读入当前缓冲区:
[root@linuxcool ~]# history -r
示例5:
将本次缓冲区信息追加写入历史文件(~/.bash_history):
[root@linuxcool ~]# history -a
示例6:
清空本次缓冲区及历史文件中的信息:
[root@linuxcool ~]# history -c 其他命令(other) 955 whatis whatis命令 – 查询命令执行功能 whatis命令是用于查询一个命令执行什么功能,并将查询结果打印到终端上。
whatis命令在用catman -w命令创建的数据库中查找command参数指定的命令、系统调用、库函数或特殊文件名。whatis命令显示手册部分的页眉行。然后可以发出man命令以获取附加的信息。whatis命令等同于使用man -f命令。 whatis [参数] |其他命令: 显示该命令的执行功能 | 示例1:
ls命令执行情况:
[root@linuxcool ~]# whatis ls
ls (1) - list directory contents
ls (1p) - list directory contents
示例2:
cp命令执行情况:
[root@linuxcool ~]# whatis cp
cp (1) - copy files and directories
cp (1p) - copy files
示例3:
chown命令执行情况:
[root@linuxcool ~]# whatis chown
chown (1) - change file owner and group
chown (1p) - change the file ownership
chown (2) - change ownership of a file
chown (3p) - change owner and group of a file
示例4:
man命令执行情况:
[root@linuxcool ~]# whatis man
man (1) - format and display the on-line manual pages
man (1p) - display system documentation
man (7) - macros to format man pages
man (rpm) - A set of documentation tools: man, apropos and whatis.
man-pages (rpm) - Man (manual) pages from the Linux Documentation Project.
man.config [man] (5) - configuration data for man 其他命令(other) 956 zabbix-server zabbix_server命令 – zabbix服务器守护进程 zabbix_server是Zabbix软件的核心守护进程;获取数据、配置主机、发送邮件等等众多事情都是由zabbix_server完成。 zabbix_server [参数] |-c: 配置文件路径 |
|-n: 将数据转为nodeid |
|-R: 执行管理功能,配置缓存 | 示例1:
启动zabbix_server服务器守护进程:
[root@linuxcool ~]# zabbix_server -c zabbix_server.conf
示例2:
转为node模式:
[root@linuxcool ~]# zabbix_server -c zabbix_server.conf -n 15
示例3:
配置缓存,配置缓存:
[root@linuxcool ~]# zabbix_server -c zabbix_server.conf -R config_cache_reload 其他命令(other) 957 redis-cli redis-cli命令 – redis客户端管理工具 redis-cli命令来自英文词组“Redis Command-Line Interface”的缩写,其功能是用于Redis客户端的管理。Redis是一个开放源码的内存数据存储结构,用作数据库、缓存和消息中介,而redis-cli命令则是redis-server的命令行客户端。 redis-cli [参数] [域名或IP地址] |-a: 设置连接到服务器时使用的密码 |
|-c: 使用集群模式 |
|-h: 设置服务器主机名 |
|-i: 设置等待间隔时间 |
|-n: 设置数据库编号 |
|-p: 设置服务器端口 |
|-r: 设置执行指定命令N次 |
|-u: 设置服务器URL |
|--csv: 使用csv格式输出内容 |
|--no-auth-warning: [命令]行使用密码时,不显示警告信息 |
|--pipe: 发送原始格式的数据到服务器 |
|--rdb: 从远程服务器传输RDB dump到本地 |
|--stat: 显示关于服务器的滚动统计信息 |
|--scan: 显示服务器上的所有键 |
|--verbose: 显示执行过程详细信息 | 示例1:
使用默认端口号连接到Redis服务器:
[root@linuxcool ~]#redis-cli -h 192.168.10.10
示例2:
指定端口号连接到Redis服务器:
[root@linuxcool ~]#redis-cli -h 192.168.10.10 -p 6380
示例3:
指定端口号及指定使用密码连接到Redis服务器:
[root@linuxcool ~]#redis-cli -h 192.168.10.10 -p 6380 -a Password 其他命令(other) 958 times times命令 – 显示进程累计时间 打印出shell及其子进程累计使用的用户时间和系统时间。
总是返回成功。 times [参数] 示例1:
显示进程累计时间:
[root@linuxcool ~]# times
0m0.037s 0m0.009s
0m0.010s 0m0.024s 其他命令(other) 959 declare declare命令 – 声明定义新的变量 declare命令来自英文单词“宣布、声明”,其功能是用于声明定义新的变量。使用declare命令新创建的变量仅可以在当前Shell环境下起作用,切换Shell环境后将无效,还需要提升成全局环境变量后方可使用。 declare [+参数] [-参数] [变量名] |-a: 声明变量为数组型 |
|-f: 显示函数 |
|-F: 不显示函数 |
|-g: 创建全局变量 |
|-i: 删除整型属性 |
|-l: 增加小写属性 |
|-n: 删除大写属性 |
|-p: 显示指定变量的定义和值 |
|-r: 定义只读变量 |
|-t: 删除追踪属性 |
|-x: 转换变量为环境变量 |
|+i: 增加整型属性 |
|+l: 增加大写属性 |
|+n: 增加大写属性 |
|+r: 增加只读属性 |
|+t: 增加追踪属性 |
|+x: 增加导出属性 | 示例1:
显示当前系统中已定义的全部变量信息:
[root@linuxcool ~]#declare
示例2:
声明定义一个新的变量:
[root@linuxcool ~]#declare URL="www.linuxcool.com"
示例3:
声明定义一个新的变量,其赋值来来自于运算表达式的结果:
[root@linuxcool ~]#declare -i NUM=100+200
示例4:
分别查看两个变量所对应的定义信息:
[root@linuxcool ~]#declare -p URL NUMdeclare -- URL="www.linuxcool.com"
declare -i NUM="300"
示例5:
将指定的变量提升成全局环境变量:
[root@linuxcool ~]#declare -xURL
示例6:
显示系统中所有的环境变量信息:
[root@linuxcool ~]#declare -xdeclare -x URL="www.linuxcool.com"
declare -x COLORTERM="truecolor"
declare -x DESKTOP_SESSION="gnome"
declare -x DISPLAY=":0"
declare -x GDMSESSION="gnome"
declare -x GDM_LANG="en_US.UTF-8"
declare -x GJS_DEBUG_OUTPUT="stderr"
………………省略部分输出信息……………… 其他命令(other) 960 script script命令 – 记录终端交互会话过程 script命令可以用作交互终端会话过程的记录,保留用户输入和系统输出的全过程。以备之后查询与学习,对于初学者、保留工作记录和准备写材料的人而言,这是一个非常有用的工具
在下述语法中,输出文件是用于存储所有的上机会话过程。如果未指定输出文件,所有的会话过程将会写到当前工作目录的默认文件typescript中。 script [参数] [文件] |-a: 把会话记录附加到typescript文件或指定的文件后面,保留先前的内容 |
|-c: 运行指定的命令而非交互shell |
|-q: 安静运行模式 | 示例1:
一个简单的会话过程记录:
[root@linuxcool ~]# script
Script started, file is typescript
[root@linuxcool ~]# date
Mon Sep 23 21:07:14 CST 2019
[root@linuxcool ~]# uname -r
3.10.0-123.el7.x86_64
[root@linuxcool ~]# exit
exit
Script done, file is typescript
[root@linuxcool ~]# cat typescript
Script started on Mon 23 Sep 2019 09:07:09 PM CST
[root@linuxcool ~]# date
Mon Sep 23 21:07:14 CST 2019
[root@linuxcool ~]# uname -r
3.10.0-123.el7.x86_64
[root@linuxcool ~]# exit
exit
Script done on Mon 23 Sep 2019 09:07:23 PM CST 其他命令(other) 961 pdbedit pdbedit命令 – 管理Samba服务的用户账户 pdbedit命令来自英文词组“password database editor”的缩写,其功能是用于管理Samba服务的用户账户,是Samba服务套件中自带有的一条命令。
pdbedit命令仅可由管理员执行,基于passdb模块化接口对smbpasswd、ldap、nis、tdb等数据库进行用户账户的管理,包含但不限于:添加、删除、修改、列出、导入等操作。 pdbedit [参数] [用户名] |-a: 添加账户 |
|-C: 设置用户策略值 |
|-d: 设置调试级别 |
|-f: 设置用户全名 |
|-h: 设置家目录 |
|-I: 设置用户域 |
|-l: 设置日志文件的基本名称 |
|-L: 显示用户列表 |
|-m: 设置为设备用户 |
|-p: 设置配置文件路径 |
|-P: 设置用户访问密码 |
|-r: 修改账户 |
|-S: 设置登录脚本 |
|-z: 重置登录时间 |
|-t: 从标准输入中读取密码值 |
|-K: 设置开始时间 |
|-u: 指定账户 |
|-v: 显示用户列表及详细信息 |
|-V: 显示版本信息 |
|-w: 使用smbpasswd格式显示信息 |
|-x: 删除账户 |
|-?: 显示帮助信息 | 示例1:
创建指定名称的Samba账户并设置密码:
[root@linuxcool ~]#pdbedit -a linuxprobenew password:输入用户密码retype new password:再次输入用户密码
示例2:
显示Samba用户账户的详细信息:
[root@linuxcool ~]#pdbedit -Lv linuxprobeUnix username: linuxprobe
NT username:
Account Flags: [U ]
User SID: S-1-5-21-3379578105-3148679143-1104846274-1000
Primary Group SID: S-1-5-21-3379578105-3148679143-1104846274-513
Full Name: linuxprobe
Home Directory: \\linuxprobe\linuxprobe
HomeDir Drive:
Logon Script:
Profile Path: \\linuxprobe\linuxprobe\profile
Domain: LINUXPROBE.COM
Account desc:
Workstations:
Munged dial:
Logon time: 0
Logoff time: Wed, 06 Feb 2037 23:06:39 CST
Kickoff time: Wed, 06 Feb 2037 23:06:39 CST
Password last set: Mon, 17 Oct 2023 16:04:11 CST
Password can change: Mon, 17 Oct 2023 16:04:11 CST
Password must change: never
Last bad password : 0
Bad password count : 0
Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
示例3:
删除指定名称的Samba账户:
[root@linuxcool ~]#pdbedit -x linuxprobe 其他命令(other) 962 factor factor命令 – 分解因数 factor命令用于分解因数。
factor是Ubuntu自带的分解质因数的指令,速度飞快。系统自带的factor没用gmp,不支持2^128(大概40位)以上的数,如果自己编译coreutils使其支持gmp,就可以开始算任意位的数了。 factor [参数] |number: 40位以内的整数 |
|pf: 主因子方法 |
|pcf: 主成分因子 | 示例1:
60的分解因数:
[root@linuxcool ~]# factor 60
60:2 2 3 5
示例2:
1987的分解因数(没有返回更多因子,这是因为 1987 是一个 质数):
[root@linuxcool ~]# factor 1087
1987:1987
示例3:
连续分解多个数字:
[root@linuxcool ~]# factor
60
60:2 2 3 5
1987
1987:1987
示例4:
分解最大位数(40位):
[root@linuxcool ~]# factor 170150000000000000000000000000000000000
factor: ‘170150000000000000000000000000000000000’ is too large 其他命令(other) 963 volname volname命令 – 显示设备卷名称 volname命令用于显示指定的“ISO-9660”格式的设备的卷名称,通常这种格式的设备为光驱。 volname [参数] |device: 设备文件名:指定要显示卷名称的设备。 | 示例1:
显示默认设备的卷标:
[root@linuxcool ~]# volname
示例2:
显示指定设备的卷标:
[root@linuxcool ~]# volname /dec/sbd4
[root@linuxcool ~]# volname /linuxcool/test.iso 其他命令(other) 964 slrn slrn命令 – 新闻组阅读程序 slrn是一个很容易使用的新闻组阅读程序,提供全屏幕的图形操作界面,让用户能轻松地阅读与管理新闻组。 slrn [参数] |C: 使用彩色模式 |
|create: 第一次连上某台新闻组服务器时,必须使用此参数,以便下载服务器中的组清单,并保存在指定的newsrc文件中 |
|help: 显示帮助 |
|version: 显示版本信息 | 示例1:
启用彩色模式:
[root@linuxcool ~]# slrn C
示例2:
显示帮助信息:
[root@linuxcool ~]# slrn help
示例3:
显示版本信息:
[root@linuxcool ~]# slrn version 其他命令(other) 965 lessecho lessecho命令 – 展开元字符 lessecho是一个简单地在标准输出上重复其参数的程序,但是任何包含空格的参数都要用引号括起来。 lessecho [参数] |-ox: 指定“x”作为左引号字符 |
|-cx: 将“x”指定为右引号字符 |
|-pn: 指定“n”作为一个整数作为左引号字符 |
|-dn: 将“n”指定为右引号字符,作为整数 |
|-mx: 指定“x”为元字符 |
|-nn: 指定“n”为元字符,作为整数 |
|-ex: 指定“x”作为metachars的转义字符 |
|-fn: 指定“n”作为metachars的转义字符,作为整数 |
|-a: -a指定引用所有参数,默认情况下,只引用包含空格的参数 | 示例1:
在文件中指定“x”作为左引号字符:
[root@linuxcool ~]# lessecho -ox
示例2:
指定“n”作为一个整数作为左引号字符:
[root@linuxcool ~]# lessecho -pn
示例3:
指定“x”为元字符:
[root@linuxcool ~]# lessecho -mx 其他命令(other) 966 named-checkzone named-checkzone命令 – 检查和转换 named-checkzone命令可以进行区域文件有效性检查和转换,必须指定区域名称和区域文件名称。 named-checkzone [参数] |-q: 安静模式 |
|-d: 启用调试 |
|-c: <类别> 指定区域的类别 | 示例1:
对区域文件/var/named/192.168.0.rev进行有效性检查和转换:
[root@linuxcool ~]# named-checkzone 0.168.192.in-addr.arpa /var/named/192.168.0.rev
zone0.168.192.in-addr.arpa/IN: loaded serial 1268360612
OK
示例2:
对区域文件/var/named/sh.com.hosts进行有效性检查和转换:
[root@linuxcool ~]# named-checkzone sh.com /var/named/sh.com.hosts
zonesh.com/IN: sh.com/MX 'mail.sh.com' is a CNAME (illegal)
zonesh.com/IN: loaded serial 1268360234
OK 其他命令(other) 967 ntp-keygen ntp-keygen命令 – 生成NTP主机密钥 ntp-keygen命令的作用是可以生成NTP主机密钥(公钥和私钥)。
公钥和私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密。如果用私有密钥对数据进行加密,只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种加密叫作非对称加密。
常用的非对称加密算法有:ElGamal、RSA、DH等。 ntp-keygen [参数] |-M: 生成MD5密钥 |
|-H: 生成RSA主机密钥 |
|-S<签名密钥>: 生成指定类型的签名密钥,类型可以是RSA或DSA |
|-i<发行人名称>: 设置发行人名称 |
|-s<主题名称>: 设置主题名称 |
|-P: 生成计算机私有证书 |
|-p<密码>: 加密生成一个包含有密码和DES-CBC算法的私有数据文件 |
|-q<密码>: 为读取文件的密码设置密码 |
|-m<模块尺寸>: 设置初期模块尺寸(256~2048位)。默认大小为512 |
|-e: 写入身份密钥 |
|-T: 生成一个受信任的证书 |
|-d: 启用调试 |
|-G: 为GQ识别方案生成参数和密钥,来淘汰任何可能存在的 |
|-g: 使用现有GQ参数为GQ识别方案生成密钥。如果GQ参数还不存在,先创建它们 |
|-I: 生成用于IFF识别方案的参数,来淘汰任何可能存在的 |
|-V<数字>: 为MV识别方案生成参数和密钥 |
|-c<方案>: 选择证书信息摘要/签名加密方案,可以是RSA-MD2、RSA-MD5、RSA-SHA、RSA-SHA1、RSA-MDC2、RSA-RIPEMD160、RSA-SHA或RSA-SHA1 | 示例1:
加密生成一个包含有密码和DES-CBC算法的私有数据文件:
[root@linuxcool.com~]# ntp-keygen -p linuxcool
示例2:
生成RSA类型的NTP主机密钥:
[root@linuxcool.com~]# ntp-keygen -S RSA
示例3:
生成受信任的证书:
[root@linuxcool.com~]# ntp-keygen -T 其他命令(other) 968 zabbix-get zabbix_get命令 – zabbix获取数据实用工具 zabbix_get 是一个命令行工具,用于从 Zabbix 代理获取数据。
zabbix_get 是在server端用来检查agent端的一个命令,在添加完主机或者触发器后,不能正常获得数据,可以用zabbix_get来检查能否采集到数据,以便判断问题症结所在。 zabbix_get [参数] |-s: 指定客户端主机名或者IP |
|-p: 客户端端口,默认:10050 |
|-I: 指定源IP |
|-k: 想要获取的key | 示例1:
获取主机的负载数据:
[root@linuxcool ~]# zabbix_get -s 127.0.0.1 -p 10050 -k "system.cpu.load[all,avg1]"
示例2:
获取主机名:
[root@linuxcool ~]# zabbix_get -s 127.0.0.1 -p 10050 -I 127.0.0.1 -k "system.hostname"
示例3:
获取监控nginx状态:
[root@linuxcool ~]# zabbix_get -s 127.0.0.1 -p 10050 -k nginx.status[active] 其他命令(other) 969 vgrename vgrename命令 – 重命名卷组 在Linux下使用新硬盘安装系统,安装好以后再挂载原来的硬盘,分区格式全为系统默认分区,系统默认使用的是lvm格式,并且默认的卷都是 VolGroup00。我们此时就需要使用vgrename命令来重命名卷组,来解决重名的冲突。 vgrename [参数] |-d: 启用调试模式 |
|-t: 启用测试模式 | 示例1:
重命名卷组/dev/vg1为/dev/vg2:
[root@linuxcool ~]# vgrename /dev/vg1 /dev/vg2
Volume group "vg1" successfullyrenamed to "vg2"
示例2:
重命名卷组vg1为vg2:
[root@linuxcool ~]# vgrename vg1 vg2
Volume group "vg1" successfully renamed to "vg2" 其他命令(other) 970 php php命令 – PHP语言的命令行接口 php命令是流行的Web开发语言PHP的命令行接口,可以使用PHP语言开发基于命令行的系统管理脚本程序。
使用的通用目的脚本语言,特别适合Web开发,可以嵌入到HTML中。 php [参数] |-q: 安静模式,HTTP头输出(只有CGI) |
|-g<名称>: 在脚本中使变量为全局变量 |
|-f<文件>: 解析和执行文件 |
|-a: 运行PHP交互方式 |
|-b<地址:端口>: 为外部FASTCGI服务器模式(CGI)绑定路径 |
|-r<代码>: 运行PHP代码,而无需使用脚本标记“..?>” |
|-e: 为调试器/分析器生成扩展信息 |
|-n: 没有php.ini文件将被使用 |
|-z<文件>: 加载Zend扩展文件 |
|-H: 从外部工具隐藏脚本名称(文件)和参数 |
|--rf: 显示有关函数名都信息 |
|-l: 只进行语法检查 |
|--rc: 显示有关类名的信息 |
|--re: 显示有关扩展名的信息 |
|--ri: 名字显示 |
|--ini: 显示配置文件名 |
|-C: 不chdir到脚本的目录 |
|-c<路径|文件>: 在指定目录路径中查找php.ini文件,或使用指定的文件 |
|-i: PHP信息和配置 |
|-T<总数>: 测量脚本重复次数的执行时间 |
|-m: 在模块中显示编译 |
|-s: 输出HTML语法高亮显示源代码 |
|-F<文件>: 对每个输入行解析和执行文件 |
|-E<代码>: 处理所有的输入行后运行PHP代码 |
|-B<代码>: 处理输入行之前运行PHP代码 |
|-w: 输出源,注释和空白 |
|-R<代码>: 对每一个输入行运行PHP代码 |
|-v: 查看版本 | 示例1:
查看PHP版本:
[root@linuxcool ~]# php -v
PHP 5.3.3 (cli) (built: Mar 22 2017 12:27:09)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
示例2:
对/root/mm.php文件进行语法检查:
[root@linuxcool ~]# php -l /root/mm.php
示例3:
显示PHP信息和配置:
[root@linuxcool ~]# php -i
示例4:
写入文本Hello Linux到标准输出:
[root@linuxcool ~]# php -r 'echo "Hello Linuxn";'
Hello Linux 其他命令(other) 971 zabbix-agentd zabbix_agentd命令 – Zabbix客户端守护程序 zabbix_agentd 是一个用于监控各种服务器参数的守护进程。
zabbix_agentd是安装到被监控服务器上,zabbix_agentd又是一个跨平台工具,zabbix_server便可以和zabbix_agentd通信来获取数据。 zabbix_agentd [参数] |-c: 配置文件路径 |
|-p: 打印出所有的item |
|-t: 测试指定item key | 示例1:
列出所有的items:
[root@linuxcool ~]# zabbix_agentd -p
示例2:
测试指定的key:
[root@linuxcool ~]# zabbix_agentd -t system.uptime -c zabbix_agentd.conf
示例3:
启动zabbix_agentd:
[root@linuxcool ~]# zabbix_agentd -c zabbix_agentd.conf 其他命令(other) 972 nmtui nmtui命令 – 管理网卡配置参数 nmtui命令来自英文词组network manager tui的缩写,其功能是管理网卡配置参数。用户可以使用nmtui命令在终端下调出类图形界面,然后使用方向键和Enter键即可进行控制,因此对于不会使用nmcli命令的新手管理员来讲十分友好。 nmtui |Activate a connection: 激活网卡 |
|Edit a connection: 编辑网卡 |
|Set system hostname: 设置主机名 | 示例1:
进入网卡参数配置界面:
[root@linuxcool ~]# nmtui 其他命令(other) 973 archive archive命令 – 新闻组文件备存程序 archive会读取新闻组的文件,然后加以备存。archive备存时,会保存[源文件]中文件的目录阶层。 archive [参数] |-a<备存目录>: 指定备存的目录 |
|-f: 将阶层目录名称的阶层关系取消,以句点来取代斜线 |
|-i<索引文件>: 制作文件索引 |
|-m: 将文件复制到目的地,建立文件连接后,以连接取代原始的文件 |
|-r: archive预设的标准错误输出为/var/errlog,-r参数可取消此功能 | 示例1:
指定目录进行备份:
[root@linuxcool ~]# archive -a ./linuxcool
示例2:
将文件关联起来:
[root@linuxcool ~]# archive -i test.txt
示例3:
取代文件:
[root@linuxcool ~]# archive -m test.txt 其他命令(other) 974 break break命令 – 结束for while或until循环 break命令用于结束for,while或until循环,可指定退出几层循环。 break [参数] |n: 大于等于1的整数,用于指定退出几层循环 | 示例1:
break的可选参数n缺省值为1:
for((j=3;j>0;j--)); do
for((i=3;i>0;i--)); do
if((j==2)); then
break
fi
printf "%s %s\n" ${i} ${j}
done
done
# 输出结果 3 3 2 3 1 3
示例2:
当n为2时: 退出两层循环,结束:
for((i=3;i>0;i--)); do
for((j=3;j>0;j--)); do
if((j==2)); then
break 2
fi
printf "%s %s\n" ${i} ${j}
done
done
# 输出结果 3 3 其他命令(other) 975 users users命令 – 显示当前登录的用户 users命令用于显示当前登录系统的所有用户的用户列表。每个显示的用户名对应一个登录会话。如果一个用户有不止一个登录会话,那他的用户名将显示相同的次数。 users [参数] |-help: 显示命令的帮助信息 |
|-version: 显示命令的版本信息 | 示例1:
显示当前登录系统的所有用户:
[root@linuxcool ~]# users
root root 其他命令(other) 976 rmmod rmmod命令 – 移除内核模块 rmmod命令来自英文词组“remove module”的缩写,其功能是用于移除内核模块。Linux操作系统的内核具有模块化的特点,运维人员可以使用rmmod命令移除不需要的内核模块,待有需要时再重新加载回来它们。 rmmod [参数] [模块名] |-a: 删除所有目前不需要的模块 |
|-f: 强制移除模块而不询问 |
|-s: 将信息写入至日志服务中 |
|-v: 显示执行过程详细信息 |
|-V: 显示版本信息 |
|-w: 确认模块能被删除时再操作 | 示例1:
移除指定内核模块并显示过程信息:
[root@linuxcool ~]#rmmod -v bridge
示例2:
移除指定内核模块并将错误信息写入日志:
[root@linuxcool ~]#rmmod -s bridge
示例3:
等待模块能够被移除时,然后再进行移除操作:
[root@linuxcool ~]#rmmod -w bridge
示例4:
强制移除指定内核模块:
[root@linuxcool ~]#rmmod -f bridge 其他命令(other) 977 xconfigurator xconfigurator命令 – 设置XFree86 这是Red Hat公司遵循GPL规则所开发的程序,它具有互动式操作界面,您可以轻易地利用方向键和空格键等,设置显卡和显示器,并选择欲使用的画面分辨率与色彩深度,最后保存配置文件XF86Config。 xconfigurator [参数] |--card: 设置显卡的型号,可用”--help”参数查询型号列表 |
|--expert: 启用专家模式,增加用户得以自行选择的项目而非由程序完全自动检测 |
|--help: 在线帮助 |
|--kickstart: 启用全自动模式 | 示例1:
设置显卡的型号:
[root@linuxcool ~]# xconfigurator card
示例2:
设置显示器的型号:
[root@linuxcool ~]# xconfigurator monitor
示例3:
设置水平扫描频率:
[root@linuxcool ~]# xconfigurator hsync "1024 768" 其他命令(other) 978 troff troff命令 – 格式化打印机和字符终端的文本 troff格式化打印机和字符终端的文本,是 Unix 历史上最重要的软件之一。
像 roff,nroff 和 groff 一样,troff 是由 Jerome Saltzer 在 20 世纪 60 年代中期为麻省理工学院的 CTSS 操作系统编写的名为 RUNOFF 的文本格式化程序的后代。名称 RUNOFF 来自短语“运行文档”,意思是最终确定文档,或准备发布或演示文稿。
虽然其他排版软件包如 LaTeX 多年来已经得到了广泛的应用,但 troff 仍然在 Unix 中广泛使用,并且是人类的默认类型格式化程序。 troff [参数] |-a: 生成排版输出的ASCII近似值 |
|-b: 使用每条警告或错误消息打印回溯, 此回溯应有助于追踪错误原因 |
|-c: 禁用颜色输出(在兼容模式下始终禁用) |
|-C: 启用兼容模式 |
|-E: 禁止troff的所有错误消息 |
|-i: 在处理完所有命名输入文件后读取标准输入 |
|-z: 抑制格式化输出 | 示例1:
指定要优化格式的文件:
[root@linuxcool ~]# troff file
示例2:
输出原格式文件:
[root@linuxcool ~]# troff -z file
示例3:
禁用颜色输出:
[root@linuxcool ~]# troff -c file 其他命令(other) 979 mkinitrd mkinitrd命令 – 建立ramdisk映像文件 mkinitrd命令建立要载入ramdisk的映像文件,以供Linux开机时载入ramdisk。
这个是重新封包核心的命令,例如你自己修改了一个设备的驱动,如果这个驱动要加入核心级别的话,就需要对核心进行重新封包,把新加的配置编译到核心内部去! mkinitrd [参数] |-f: 若指定的映像问家名称与现有文件重复,则覆盖现有的文件 |
|-v: 执行时显示详细的信息 |
|--version: 显示版本信息 | 示例1:
显示版本信息:
[root@linuxcool ~]# mkinitrd text.img --version
示例2:
执行时显示详细的信息:
[root@linuxcool ~]# mkinitrd text.img -v
示例3:
建立test.img文件,并显示详细信息,如有同名则覆盖:
[root@linuxcool ~]# mkinitrd -v -f text.img $(uname -r) 其他命令(other) 980 xlsclients xlsclients命令 – 列出应用程序 xlsclients命令用来列出显示器中的客户端应用程序。 xlsclients [参数] |-a: 列出所有显示器的客户端应用程序信息 |
|-display<显示器编号>: 指定X Server连接的显示器编号,该编号由”0″开始计算,依序递增 |
|-l: 使用详细格式列表 |
|-m<最大指令长度>: 设置显示指令信息的最大长度,单位以字符计算。 | 示例1:
列出所有显示器的客户端应用程序信息 :
[root@linuxcool ~]# xlsclients -a
示例2:
显示编号为0的显示器的应用程序信息:
[root@linuxcool ~]# xlsclients -display0 其他命令(other) 981 aimanifest aimanifest命令 – 修改自动安装程序使用的XML文件 aimanifest命令可以创建一个新的 XML 清单或修改一个现有的清单。虽然 aimanifest 可以用于任何包含对 DTD 定义的有效 !DOCTYPE 引用的 XML [文件],但它旨在创建自动安装程序 (AI) 使用的衍生清单。 aimanifest [参数] |-i: 在添加新数据之前,不要清除数据 |
|-r: 返回到受影响节点的唯一路径 |
|validate: 验证XML数据 | 示例1:
添加新数据到清单列表:
[root@linuxcool ~]# aimanifest load -i linuxcool.xml
示例2:
返回到受影响节点的唯一路径:
[root@linuxcool ~]# aimanifest add -r /home/linuxprobe true
示例3:
验证清单里面的XML数据:
[root@linuxcool ~]# aimanifest validate 其他命令(other) 982 shuf shuf命令 – 产生随机的排列 shuf命令将输入的内容随机排列并输出。 shuf命令当没有文件或文件为-时,读取标准输入。 shuf [参数] |-e: 将每个ARG视为输入行 |
|-i: 将数字范围LO(最低)到HI(最高)之间的作为输入行 |
|--help: 显示帮助信息并退出 | 示例1:
模拟硬币抛掷,获取前10个结果:
[root@linuxcool ~]# shuf -r -n 10 -e "正面" -e "反面"
反面
正面
正面
正面
反面
反面
反面
正面
正面
正面
示例2:
模拟体彩超级大乐透:
[root@linuxcool ~]# shuf -i 1-35 -n 5|sort -n && shuf -i 1-12 -n 2|sort -n
4
17
20
29
31
6
11 其他命令(other) 983 pv pv命令 – 管道查看器 pv命令来自于英文词组”Pipe viewer“的缩写,其功能是用于管道查看器。pv命令能够通过管道显示数据处理进度信息,包含已经耗费的时间、完成百分比、当前速度、全部传输的数据以及预估剩余时间等信息。 pv [参数] [文件] |-p: 显示进度条 |
|-t: 显示任务已经进行的时长 |
|-e: 显示剩余多长时间完成 |
|-r: 显示当前传输速率 |
|-a: 显示平均传输速率 |
|-b: 显示传输的字节数 |
|-F: 设置输出格式为format |
|-n: 显示进度百分比 |
|-q: 不输出任何信息 |
|-W: 在传输第一个字节之前不显示任何内容 | 示例1:
显示与操作有关的有用信息,包括已经传输了的数据量,花费的时间,传输速率,进度条,进度的百分比,以及剩余的时间:
[root@linuxcool ~]# pv /media/himanshu/1AC2-A8E3/fNf.mkv > ./Desktop/fnf.mkv
示例2:
使用 -n 选项来允许 pv [命令]显示整数百分比,在标准错误输出上每行显示一个数字,用来替代通常的可视进度条:
[root@linuxcool ~]# pv -n /media/himanshu/1AC2-A8E3/fNf.mkv > ./Desktop/fnf.mkv
示例3:
列出存储池中具有特定名称的物理卷,请输入以下命令:
[root@linuxcool ~]# pv –list –attr pv_name=hdisk7
示例4:
列出存储池中具有特定名称的物理卷,请输入以下命令:
[root@linuxcool ~]# pv –list –attr pv_name=hdisk7
POOL_NAME: testsp
TIER_NAME : tier1
FG_NAME : fg2
PV_NAME SIZE(MB) STATE UDID
hdisk7 10240 ONLINE 3E213600A0B80006E25060000D2E64F755F420F1828 FAStT03IBMfcp 其他命令(other) 984 command command命令 – 调用并执行指定的命令 command命令来自英文单词“命令”,其功能是用于调用并执行指定的命令。当系统同时定义了与命令相同的函数时,command命令会忽略Shell函数,而去执行相应的Linux命令。对于绝大部分的Linux系统命令无需使用此命令调用,可直接在Shell终端执行,因此很多运维人员会对此命令感到陌生。 command [参数] [命令] |-p: 使用指定路径搜索命令 |
|-v: 搜索命令信息但是不执行 | 示例1:
调用并执行指定的命令:
[root@linuxcool ~]#command fdisk -lDisk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xe2147da7
………………省略部分输出信息………………
示例2:
调用并执行指定的命令:
[root@linuxcool ~]#command uptime14:49:59 up 1:18, 1 user, load average: 0.01, 0.05, 0.18 其他命令(other) 985 seq seq命令 – 打印数字序列 seq命令用于以指定增量从首数开始打印数字到尾数,即产生从某个数到另外一个数之间的所有整数,并且可以对整数的格式、宽度、分割符号进行控制。 seq [参数] |-f: 格式 |
|-s: 字符串 |
|-w: 在列前添加0 使得宽度相同 | 示例1:
产生5以内的整数:
[root@linuxcool ~]# seq 5
示例2:
产生98~101之间的整数,并且要求数字之间的分隔符为”:::”:
[root@linuxcool ~]# seq -s ":::" -f "%03g" 98 101 其他命令(other) 986 setsid setsid命令 – 新会话中运行程序 setsid命令子进程从父进程继承了:SessionID、进程组ID和打开的终端。子进程如果要脱离这些,代码中可通过调用setsid来实现。
命令行或脚本中可以通过使用命令setsid来运行程序实现。setsid帮助一个进程脱离从父进程继承而来的已打开的终端、隶属进程组和隶属的会话。 setsid [参数] |-c: 将控制终端设置为当前控制终端 |
|-f: 总是 fork |
|-w: 等待程序退出,并使用相同的返回 | 示例1:
在新的会话中运行程序及命令:
[root@linuxcool ~]# setsid ping www.linuxprobe.com
[root@linuxcool ~]# ps -ef |grep www.linuxprobe.com
root 31094 1 0 07:28 ? 00:00:00 ping www.linuxprobe.com
root 31102 29217 0 07:29 pts/4 00:00:00 grep www.linuxprobe.com 其他命令(other) 987 smbtree smbtree命令 – 基于文本的SMB网络浏览器工具 smbtree命令是一款文本模式的smb浏览器程序,它类似于Windows电脑上的 “网络邻居”;它打印出一棵树,上面有所有已知的域、这些域中的服务器和服务器上的共享。 smbtree [参数] |-b: 通过以广播方式发送请求来查询网络节点,而不是查询本地主浏览器 |
|-D: 只打印广播或主浏览器已知的所有域的列表 |
|-d: 调试模式 |
|-s: 指定的文件包含配置细节 |
|-S: 只打印在广播中响应或主浏览器已知的所有域和服务器的列表 | 示例1:
通过以广播方式发送请求来查询网络节点,而不是查询本地主浏览器:
[root@linuxcool ~]# smbtree -b
示例2:
只打印广播或主浏览器已知的所有域的列表:
[root@linuxcool ~]# smbtree -D
示例3:
只打印在广播中响应或主浏览器已知的所有域和服务器的列表:
[root@linuxcool ~]# smbtree -S 其他命令(other) 988 pigz pigz命令 – 多线程的解压缩文件 pigz命令来自英文词组parallel implementation of gzip的缩写,其功能是认多线程的方式解压缩文件。与其他解压缩命令不同的是,pigz命令支持多线程的并行处理方式,比gzip快60%以上,当然CPU的消耗也会更高。如果想快速地压缩、解压文件,那么就一定要选它! pigz [参数] [文件名] |—: 显示压缩后的内容 |
|-b: 设置文件数据块大小 |
|-d: 将压缩文件恢复为原始文件 |
|-f: 强制覆盖文件而不询问 |
|-h: 显示帮助信息 |
|-i: 独立压缩区块,以便恢复损坏内容 |
|-k: 处理后不删除原始文件 |
|-L: 显示命令许可证信息 |
|-q: 静默执行模式 |
|-r: 递归处理所有子文件 |
|-S: 使用后缀.sss而不是.gz |
|-t: 测试压缩包的完整性 |
|-v: 显示执行过程详细信息 |
|-V: 显示版本信息 |
|-z: 使用zlib压缩格式 | 示例1:
对已打包好的指定文件进行压缩:
[root@linuxcool ~]# pigz File.tar
示例2:
查看指定文件的压缩比率信息:
[root@linuxcool ~]# pigz -l File.tgz
compressed original reduced name
6300707 27074560 76.7% File.tar
示例3:
解压指定的文件,线程设定为8个:
[root@linuxcool ~]# pigz -d -p 8 File.tgz 其他命令(other) 989 jobs jobs命令 – 显示终端后台的作业信息 jobs命令来自英文单词“工作”,其功能是用于显示终端后台的作业信息。Linux系统运维人员可以使用jobs命令查看到当前系统中终端后台的任务列表及其运行状态,查看任务列表及对应的进程号码,简单方便地了解到当前有哪些正在后台运行的工作。 jobs [参数] |-l: 显示作业列表及进程号 |
|-n: 仅显示自发生变化的作业 |
|-p: 仅显示其对应的进程号 |
|-r: 仅显示运行的作业 |
|-s: 仅显示暂停的作业 |
|-x: 替代原有作业的进程ID | 示例1:
显示当前后台的作业列表:
[root@linuxcool ~]#jobs
示例2:
显示当前后台的作业列表及进程号:
[root@linuxcool ~]#jobs -l
示例3:
仅显示运行的后台作业:
[root@linuxcool ~]#jobs -r
示例4:
仅显示已暂停的后台作业:
[root@linuxcool ~]#jobs -s
示例5:
仅显示自上次执行jobs命令后状态又发生变化的后台作业:
[root@linuxcool ~]#jobs -n 其他命令(other) 990 slappasswd slappasswd命令 – 设置LDAP管理员密码 slappasswd命令的作用是可以生成LDAP管理员密码。
slappasswd命令支持多种加密方案如:CRYPT、MD5、SMD5、SSHA和SHA。
其中最常用的是:MD5全称为Message Digest algorithm 5,信息摘要算法。SHA全称为Secure Hash Algorithm,安全散列算法。而SHA算法中SHA256相对安全。 slappasswd [参数] |-h<加密方案>: 指定加密方案,它支持{CRYPT}、{MD5}、{SMD5}、{SSHA}和{SHA}等方式,默认值是{SSHA} |
|-v: 启用详细信息模式 |
|-g: 生成随机密码 |
|-s<>: 生成哈希密码 |
|-u: 生成RFC2307值(默认) |
|-c crypt-salt-format: 生成{CRYPT}密码 | 示例1:
生成SSHA方案密码:
[root@linuxcool ~]# slappasswd
示例2:
生成随机密码:
[root@linuxcool ~]# slappasswd -g
示例3:
生成哈希密码:
[root@linuxcool ~]# slappasswd -s linuxcool 其他命令(other) 991 redis-server redis-server命令 – 启动Redis服务程序 redis-server命令的作用是用于启动Redis服务程序。Redis服务的英文全称为“Remote Dictionary Server”,中文译为远程字典服务,是一个开源、支持网络、基于内存亦可持久化的日志型数据库。 redis-server [参数] [对象] |--loglevel: 设置日志级别 |
|--port: 设置自定义端口 |
|--sentinel: 使用哨兵模式 |
|--slaveof: 转变为从属服务器 | 示例1:
启动Redis服务并加载配置文件:
[root@linuxcool ~]#redis-server
示例2:
启动Redis服务并自定义端口号:
[root@linuxcool ~]#redis-server --port 7777 --slaveof 127.0.0.1 8888
示例3:
配置Redis服务的日志类级别:
[root@linuxcool ~]#redis-server /etc/myredis.conf --loglevel verbose
示例4:
以哨兵模式运行Redis服务:
[root@linuxcool ~]#redis-server /etc/sentinel.conf --sentinel 其他命令(other) 992 rake rake命令 – ruby程序构建 rake是一个简单的ruby构建程序,其功能类似于常规make命令。
rake具有以下特性:1、rakefile(rake的makefile版本)完全用标准的Ruby语法定义。没有要编辑的XML文件。不用担心奇怪的Makefile语法;2、用户可以使用先决条件指定任务;3、rake支持规则模式来合成隐式任务;4、灵活的文件管理器,像数组一样,但知道操纵文件名和路径。 rake [参数] |-T: 显示任务(匹配可选模式)与描述,然后退出 |
|-C: 将Task和FileTask放在顶级命名空间中 |
|-I: 在所需模块的搜索路径中包含LIBDIR |
|-q: 不要将消息记录到标准输出 | 示例1:
显示任务与描述:
[root@linuxcool ~]# rake -T
示例2:
在所需模块的搜索路径中包含LIBDIR:
[root@linuxcool ~]# rake -I
示例3:
不要将消息记录到标准输出:
[root@linuxcool ~]# rake -q 其他命令(other) 993 pstack pstack命令 – 显示进程的栈跟踪信息 pstack命令来自英文词组“process stack”的缩写,其功能是用于显示进程的栈跟踪信息。pstack实际上是gstack的一个链接命令,gstack本身是一个由gdb封装的Shell脚本程序,该命令用于显示指定进程的栈追踪信息。pstack命令必须由管理员身份执行,能够准确地定位进程挂起的位置,使用方法非常简单,仅需后面加上进程号码即可。 pstack [参数] [进程号码] |-d: 设置定间隔符(默认为tab) |
|-s: 使用串列处理,而非平行处理 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例1:
显示指定进程的栈跟踪信息:
[root@linuxcool ~]#pstack 4551Thread 7 (Thread 1084229984 (LWP 4552)):
#0 0x000000302afc63dc in epoll_wait () from /lib64/tls/libc.so.6
#1 0x00000000006f0730 in ub::EPollEx::poll ()
#2 0x00000000006f172a in ub::NetReactor::callback ()
#3 0x00000000006fbbbb in ub::UBTask::CALLBACK ()
#4 0x000000302b80610a in start_thread () from /lib64/tls/libpthread.so.0
#5 0x000000302afc6003 in clone () from /lib64/tls/libc.so.6
#6 0x0000000000000000 in ?? ()
………………省略部分输出信息……………… 其他命令(other) 994 xargs xargs命令 – 给其他命令传参数的过滤器 xargs命令来自英文词组extended arguments的缩写,用作给其他命令传递参数的过滤器。xargs命令能够处理从标准输入或管道符输入的数据,并将其转换成命令参数,也可以将单行或多行输入的文本转换成其他格式。
xargs命令默认接收的信息中,空格是默认定界符,所以可以接收包含换行和空白的内容。 xargs [参数] [文件名] |-a: 设置从文件中读取数据 |
|-d: 设置自定义定界符 |
|-I: 设置替换字符串 |
|-n: 设置多行输出 |
|-p: 执行命令前询问用户是否确认 |
|-s: 设置每条命令最大字符数 |
|-t: 显示xargs执行的命令 |
|--help: 显示帮助信息 |
|--version: 显示版本信息 | 示例1:
默认以空格为定界符,以多行形式输出文件内容,每行显示3段内容值:
[root@linuxcool ~]# cat File.cfg | xargs -n 3
#version=RHEL8 ignoredisk --only-use=sda
autopart --type=lvm #
Partition clearing information
clearpart --all --initlabel
--drives=sda # Use
graphical install graphical
………………省略部分输出信息………………
示例2:
指定字符X为定界符,默认以单行的形式输出字符串内容:
[root@linuxcool ~]# echo "FirstXSecondXThirdXFourthXFifth" | xargs -dX
First Second Third Fourth Fifth
示例3:
指定字符X为定界符,以多行形式输出文本内容,每行显示两段内容值:
[root@linuxcool ~]# echo "FirstXSecondXThirdXFourthXFifth" | xargs -dX -n 2
First Second
Third Fourth
Fifth
示例4:
设定每一次输出信息时,都需要用户手动确认后再显示到终端界面:
[root@linuxcool ~]# echo "FirstXSecondXThirdXFourthXFifth" | xargs -dX -n 2 -p
echo First Second ?...y
First Second
echo Third Fourth ?...y
Third Fourth
echo Fifth
?...y
Fifth
示例5:
由xargs调用要执行的命令,并将结果输出到终端界面:
[root@linuxcool ~]# ls | xargs -t -I{} echo {}
echo anaconda-ks.cfg
anaconda-ks.cfg
echo Desktop
Desktop
echo Documents
Documents 其他命令(other) 995 mkpasswd mkpasswd命令 – 生成用户的新密码 mkpasswd命令来自英文词组make password的缩写,其功能是生成用户的新密码。mkpasswd命令可以生成一个适用于用户的随机的新密码,管理员可以指定随机密码的长度及所含字符的规则。有经验的用户可以结合管道符将新生成的密码直接作用于用户,一条命令即可设置好新密码。
每次生成的随机密码均不同,请在正式设置用户密码前保存好,不要忘记哦! mkpasswd [参数] [用户名] |-c: 设置在密码中小写字母的最少个数 |
|-C: 设置在密码中大写字母的最少个数 |
|-d: 设置密码的最少字符数 |
|-l: 设置生成密码的长度 |
|-s: 设置在密码中特殊字符的最少个数 |
|-v: 设置密码互动可见 | 示例1:
生成出一个长度为20字符的新密码:
[root@linuxcool ~]# mkpasswd -l 20
I#4Zwretqzyhq3xnsaeo
示例2:
生成出一个含3位数字的新密码:
[root@linuxcool ~]# mkpasswd -d 3
c30UMd2h:
示例3:
生成出一个长度为20字符、含5位大写字母的新密码,并自动为指定用户进行新密码设定:
[root@linuxcool ~]# mkpasswd -C 5 -l 10 | passwd --stdin linuxcool
Changing password for user linuxcool.
passwd: all authentication tokens updated successfully. 其他命令(other)