Linux运维——查看命令帮助信息
查看命令帮助信息
- 一、查看 Linux 命令帮助信息的要点
- 二、常见命令用法
- 2.1、help
- 2.2、whatis
- 2.3、info
- 2.4、which
- 2.5、whereis
- 2.6、man
一、查看 Linux 命令帮助信息的要点
- 查看 Shell 内部命令的帮助信息 - 使用
help - 查看命令的简要说明 - 使用
whatis - 查看命令的详细说明 - 使用
info - 查看命令的位置 - 使用
which - 定位指令的二进制程序、源代码文件和 man 手册页等相关文件的路径 - 使用
whereis - 查看命令的帮助手册(包含说明、用法等信息) - 使用 man
- 只记得部分命令关键字 - 使用
man -k
二、常见命令用法
2.1、help
help 命令用于查看 Shell 内部命令的帮助信息。而对于外部命令的帮助信息只能使用 man 或者 info 命令查看。
help [选项] [命令]
常用选项:
- 无选项:不带任何选项和命令时,help 会显示所有 Bash 内置命令的列表。
-s或--short:仅显示命令的简短用法摘要-m或--man-page:以类似man命令的格式显示帮助信息-d或--description:显示命令的简短描述-p或--printable:显示可打印的帮助信息,适用于脚本处理
使用示例:
显示所有内置命令的列表:
help
输出:
GNU bash,版本 4.4.19(1)-release (x86_64-redhat-linux-gnu)
这些 shell 命令是内部定义的。请输入 `help' 以获取一个列表。
输入 `help 名称' 以得到有关函数`名称'的更多信息。
使用 `info bash' 来获得关于 shell 的更多一般性信息。
使用 `man -k' 或 `info' 来获取不在列表中的命令的更多信息。名称旁边的星号(*)表示该命令被禁用。job_spec [&] history [-c] [-d 偏移量] [n] 或 history ->(( 表达式 )) if 命令; then 命令; [ elif 命令; then 命>. 文件名 [参数] jobs [-lnprs] [任务声明 ...] 或 jobs -x>: kill [-s 信号声明 | -n 信号编号 | -信号>[ 参数... ] let 参数 [参数 ...][[ 表达式 ]] local [option] 名称[=值] ...alias [-p] [名称[=值] ... ] logout [n]bg [任务声明 ...] mapfile [-d 分隔符] [-n 计数] [-O 起始序>bind [-lpvsPSVX] [-m 键映射] [-f 文件名] [> popd [-n] [+N | -N]break [n] printf [-v var] 格式 [参数]builtin [shell 内建 [参数 ...]] pushd [-n] [+N | -N | 目录]caller [表达式] pwd [-LP]case 词 in [模式 [| 模式]...) 命令 ;;]... > read [-ers] [-a 数组] [-d 分隔符] [-i >cd [-L|[-P [-e]] [-@]] [目录] readarray [-n 计数] [-O 起始序号] [-s 计>command [-pVv] 命令 [参数 ...] readonly [-aAf] [名称[=值] ...] 或 readon>compgen [-abcdefgjksuv] [-o 选项] [-A 动> return [n]complete [-abcdefgjksuv] [-pr] [-DE] [-o > select NAME [in 词语 ... ;] do 命令; donecompopt [-o|+o 选项] [-DE] [名称 ...] set [--abefhkmnptuvxBCHP] [-o 选项名] [-->continue [n] shift [n]coproc [名称] 命令 [重定向] shopt [-pqsu] [-o] [选项名 ...]declare [-aAfFgilnrtux] [-p] [名称[=值] ..> source 文件名 [参数]dirs [-clpv] [+N] [-N] suspend [-f]disown [-h] [-ar] [jobspec ... | pid ...] test [表达式]echo [-neE] [参数 ...] time [-p] 管道enable [-a] [-dnps] [-f 文件名] [名称 ...> timeseval [参数 ...] trap [-lp] [[参数] 信号声明 ...]exec [-cl] [-a 名称] [命令 [参数 ...]] [> trueexit [n] type [-afptP] 名称 [名称 ...]export [-fn] [名称[=值] ...] 或 export -p typeset [-aAfFgilnrtux] [-p] 名称[=值] .>false ulimit [-SHabcdefiklmnpqrstuvxPT] [限制]fc [-e 编辑器名] [-lnr] [起始] [终结] 或 f> umask [-p] [-S] [模式]fg [任务声明] unalias [-a] 名称 [名称 ...]for 名称 [in 词语 ... ] ; do 命令; done unset [-f] [-v] [-n] [名称 ...]for (( 表达式1; 表达式2; 表达式3 )); do > until 命令; do 命令; donefunction 名称 { 命令 ; } 或 name () { 命令> variables - 一些 shell 变量的名称和含义getopts 选项字符串 名称 [参数] wait [-n] [编号 ...]hash [-lr] [-p 路径名] [-dt] [名称 ...] while 命令; do 命令; donehelp [-dms] [模式 ...] { 命令 ; }
显示特定命令的简短用法摘要:
help -s cd
输出:
cd: cd [-L|[-P [-e]] [-@]] [目录]
显示特定命令的详细帮助信息:
help cd
输出示例:
cd: cd [-L|[-P [-e]] [-@]] [目录]改变 shell 工作目录。改变当前目录至 DIR 目录。默认的 DIR 目录是 shell 变量 HOME的值。变量 CDPATH 定义了含有 DIR 的目录的搜索路径,其中不同的目录名称由冒号 (:)分隔。一个空的目录名称表示当前目录。如果要切换到的 DIR 由斜杠 (/) 开头,则 CDPATH变量不会被使用。如果路径找不到,并且 shell 选项 `cdable_vars' 被设定,则参数词被假定为一个变量名。如果该变量有值,则它的值被当作 DIR 目录。选项:-L 强制跟随符号链接: 在处理 `..' 之后解析 DIR 中的符号链接。-P 使用物理目录结构而不跟随符号链接: 在处理 `..' 之前解析 DIR 中的符号链接。-e 如果使用了 -P 参数,但不能成功确定当前工作目录时,返回非零的返回值。-@ 在支持拓展属性的系统上,将一个有这些属性的文件当作有文件属性的目录。默认情况下跟随符号链接,如同指定 `-L'。`..' 使用移除向前相邻目录名成员直到 DIR 开始或一个斜杠的方式处理。退出状态:如果目录改变,或在使用 -P 选项时 $PWD 修改成功时返回 0,否则非零。
以类似man命令的格式显示帮助信息
help -m cd
输出:
NAMEcd - 改变 shell 工作目录。SYNOPSIScd [-L|[-P [-e]] [-@]] [目录]DESCRIPTION改变 shell 工作目录。改变当前目录至 DIR 目录。默认的 DIR 目录是 shell 变量 HOME的值。变量 CDPATH 定义了含有 DIR 的目录的搜索路径,其中不同的目录名称由冒号 (:)分隔。一个空的目录名称表示当前目录。如果要切换到的 DIR 由斜杠 (/) 开头,则 CDPATH变量不会被使用。如果路径找不到,并且 shell 选项 `cdable_vars' 被设定,则参数词被假定为一个变量名。如果该变量有值,则它的值被当作 DIR 目录。选项:-L 强制跟随符号链接: 在处理 `..' 之后解析 DIR 中的符号链接。-P 使用物理目录结构而不跟随符号链接: 在处理 `..' 之前解析 DIR 中的符号链接。-e 如果使用了 -P 参数,但不能成功确定当前工作目录时,返回非零的返回值。-@ 在支持拓展属性的系统上,将一个有这些属性的文件当作有文件属性的目录。默认情况下跟随符号链接,如同指定 `-L'。`..' 使用移除向前相邻目录名成员直到 DIR 开始或一个斜杠的方式处理。退出状态:如果目录改变,或在使用 -P 选项时 $PWD 修改成功时返回 0,否则非零。SEE ALSObash(1)IMPLEMENTATIONGNU bash,版本 4.4.19(1)-release (x86_64-redhat-linux-gnu)Copyright (C) 2016 Free Software Foundation, Inc.许可证 GPLv3+: GNU GPL 许可证第三版或者更新版本 <http://gnu.org/licenses/gpl.html>
显示特定命令的简短描述
help -d cd
输出:
cd - Change the shell working directory.
注意事项:
- help 命令仅适用于 Bash 内置命令。对于外部命令,应使用 man 或 info 命令来查看帮助信息。
- BASH_HELPDIR 可以用来指定帮助文件的目录。如果设置了这个环境变量,help 命令会从该目录中读取帮助文件。
- 可以为自定义函数或别名创建帮助信息,并将其添加到 BASH_HELPDIR 指定的目录中。
2.2、whatis
whatis 用于查询一个命令执行什么功能。
whatis [选项] [命令]
常用选项:
-d或--debug:打印调试信息。-v或--verbose:打印详细的警告信息。-r或--regex:将关键字解释为正则表达式。-w或--wildcard:关键字包含通配符。-l或--long:不将输出修剪到终端宽度。-C或--config-file=FILE:使用指定的用户配置文件。-L或--locale=LOCALE:定义搜索的语言环境。-m或--systems=SYSTEM:使用其他系统的手册页。-M或--manpath=PATH:设置手册页的搜索路径。-s或--sections=LIST, --section=LIST:只搜索指定的节(以冒号分隔)。-?或--help:显示帮助信息。--usage:显示简短的用法说明。-V或--version:显示程序版本号。
查看程序版本
使用-V选项,查看版本:
whatis -V
whatis 2.7.6.1
直接使用whatis命令
直接使用whatis命令,可以看到cp命令的简单描述信息,系统返回"cp (1) - copy files and directories",说明cp命令是用于复制文件和目录的命令。
[root@iZ2zegzlqqbcb147adj8m1Z ~]# whatis cp
cp (1) - copy files and directories
cp (1p) - copy files
[root@iZ2zegzlqqbcb147adj8m1Z ~]# whatis vim
vim (1) - Vi IMproved, a programmer's text editor
[root@iZ2zegzlqqbcb147adj8m1Z ~]#
1和1p代表cp命令的不同手册页。手册页是Unix和类Unix系统中文档化命令的标准方式之一。这些手册页提供了关于命令的详细信息,包括使用方法、选项、示例等。可以使用man命令来查看这些手册页,例如man 1 cp和man 1p cp。
- 1p是POSIX标准的手册页格式,对应于cp命令的POSIX手册页。
- 1是传统的手册页格式,对应于cp命令的传统手册页。在老的UNIX系统上使用。
man 1 cpman 1p cp
注意事项
- whatis命令只能用于查询已经安装的软件包中的文档和帮助信息,无法查询未安装的软件包。
- 由于whatis查询的是软件包中的简要描述信息,因此查询结果可能并不详尽,只能提供基本的概要信息。
- whatis命令查询的结果可能会显示多个匹配项,此时可以使用whatis -s选项指定查询的部分描述信息,以缩小查询范围。
- whatis命令查询的是本地的文档和帮助信息,如果需要查询在线文档,可以使用man命令进行查询。
- whatis命令查询的结果可能会有一定的延迟,需要等待一段时间才能显示查询结果。
2.3、info
info 命令是 GNU 项目提供的一个命令行工具,用于查看详细的文档信息。与 man 命令相比,info 文档通常更加详尽和结构化,更适合深入学习和参考。info 文档系统是 GNU 项目的一部分,旨在提供全面的、结构化的文档,帮助用户更好地理解命令、函数、库和其他 GNU 软件组件的详细信息。
info [选项] [主题]
常用选项:
-f或--file:指定要查看的info文件-n或--node:指定要查看的节点名称-h或--help:显示帮助信息-v或--version:显示版本信息-d或--directory:指定info文件的目录-o或--output:将输出重定向到文件
使用示例:
查看某个命令的info文档
info gcc
# 这将显示gcc编译器的info文档
查看特定节点的info文档
info -n 'Top' gcc
# 这将直接跳转到gcc文档的Top节点
指定info文件的目录
info -d /usr/local/info gcc
# 这将从/usr/local/info 目录中查找gcc的info文件
将info文档输出到文件
info -0 gcc_info.txt gcc
# 这将把gcc的info文档输出到gcc_info.txt文件中
info文档结构:
空格键- 向下翻一页。b- 向上翻一页。Enter- 进入选中的节点。n- 跳转到下一个节点。p- 跳转到上一个节点。u- 返回上级节点。m节点名 - 跳转到指定节点。d- 返回到 “Top” 节点。l- 返回到上一个访问的节点。g节点名 - 直接跳转到指定节点。q- 退出 info 界面。?- 显示帮助信息。
注意事项:
文档的更新:Info 文档可能会随着软件的更新而变化,建议定期查看最新版本的文档。多语言支持:某些 Info 文档支持多语言,可以通过设置环境变量 LANG 或 LC_ALL 来切换语言。在线资源:如果系统中没有安装某些 Info 文档,可以在线查找相关信息,例如在 GNU 官方网站 上。
与其他命令的比较:
man 命令:- man 命令提供的是简短的手册页,通常包含命令的基本用法、选项和示例。
- man 命令的文档通常是一次性输出全部信息,适合快速查找基本信息。
info 命令:- info 命令提供的是详细的、结构化的文档,包含更多的信息和更复杂的结构。
- info 命令的文档通常分多个节点,每个节点包含一个主题或子主题的详细信息,适合深入学习和参考。
2.4、which
which 命令用于查找并显示给定命令的绝对路径,环境变量 PATH 中保存了查找命令时需要遍历的目录。which 指令会在环境变量$PATH 设置的目录里查找符合条件的文件。也就是说,使用 which 命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
which [选项] [命令名]
常用选项:
-a:列出所有的匹配路径,而不仅仅是第一个匹配-n <数目>:在输出时,限制每个PATH元素的最大字符数-p <路径>:添加额外的搜索路径-i:忽略大小写
参考示例:
假设想知道
ls命令的位置,可以使用一下命令:
which ls
alias ls='ls --color=auto'/usr/bin/ls# 这会输出 ls 命令的完整路径,比如我这里是 /usr/bin/ls
想查看所有匹配的ls命令路径,可以使用 -a 选项:
which -a ls
/usr/bin/which: invalid option -- 's'
alias ls='ls --color=auto'/usr/bin/ls
如果想限制输出路径的长度,可以使用 -n 选项
# 显示路径长度为10个字符
which -n 10 python
/usr/bin/which: invalid option -- 'n'
/usr/bin/which: no 10 in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
/usr/bin/which: no python in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
在指定的附加路径中搜索
# 在/opt/bin 路径中查找 node 命令
which -p /opt/bin node
/usr/bin/which: invalid option -- 'p'
/usr/bin/which: no bin in (/opt)
/usr/bin/which: no node in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
忽略大小写查找命令,可以使用 -i 选项
which -i echo
/usr/bin/echo
注意事项:
which 是根据使用者所配置的 PATH 变量内的目录去搜寻可运行档的!所以,不同的 PATH 配置内容所找到的命令当然不一样的!
2.5、whereis
whereis 命令用来定位指令的二进制程序、源代码文件和 man 手册页等相关文件的路径。
whereis 命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man 说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。
whereis [options] [-BMS directory... -f] name
常用选项:
-b:只搜索二进制文件-m:只搜索手册文件-s:只搜索源文件-u:展示有特殊条目的命令名称。如果一个命令对于每个明确请求的类型不只有一个条目,则称该命令是不寻常的。因此 “whereis -m -u *” 请求在当前目录中 没有文档文件或有多个文档文件的文件。-B list:使用空格分隔的目录列表限制查找二进制文件的范围-M list:使用空格分隔的目录列表限制查找手册文件的范围-S list:使用空格分隔的目录列表限制查找源文件的范围-f:终止目录列表并表示文件名的开始-l:输出 whereis 使用的有效查找路径的列表。 当指定非 -B、-M 或 -S 时,该选项将输出该命令能够在系统上找到的硬编码路径。
使用示例:
whereis:展示二进制文件、源文件、手册文件的位置
[root@iZ2zegzlqqbcb147adj8m1Z ~]# whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
whereis -b/m/s:只展示其中一项
[root@iZ2zegzlqqbcb147adj8m1Z ~]# whereis -b ls
ls: /usr/bin/ls[root@iZ2zegzlqqbcb147adj8m1Z ~]# whereis -m ls
ls: /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz[root@iZ2zegzlqqbcb147adj8m1Z ~]# whereis -s ls
ls:
whereis -B/M/S:限定查找目录,必须使用-f,否则whereis会把命令名当成目录
[root@iZ2zegzlqqbcb147adj8m1Z ~]# whereis -s -S /usr/src -f ls
ls:[root@iZ2zegzlqqbcb147adj8m1Z ~]# whereis -b -B /usr/bin -f ls
ls: /usr/bin/ls
[root@iZ2zegzlqqbc
whereis -u:限定特殊命令
[root@server bin]# whereis -u -ms -M /usr/man/man1 -S /usr/src -f *
ar: /usr/bin/ar /usr/include/ar.h
at: /usr/bin/at /etc/at.deny
awk: /usr/bin/awk /usr/libexec/awk /usr/share/awk
cancel: /usr/bin/cancel.cups /usr/bin/cancel
cancel: /usr/bin/cancel.cups /usr/bin/cancel
cloud-init: /usr/bin/cloud-init /usr/lib/cloud-init
cpio: /usr/bin/cpio /usr/include/cpio.h
cpp: /usr/bin/cpp /usr/lib/cpp
crontab: /usr/bin/crontab /etc/crontab
dracut: /usr/bin/dracut /usr/sbin/dracut /usr/lib/dracut /etc/dracut.conf
file: /usr/bin/file /usr/share/file
fipscheck: /usr/bin/fipscheck /usr/lib64/fipscheck
gcc: /usr/bin/gcc /usr/lib/gcc /usr/libexec/gcc
genl-ctrl-list: /usr/bin/genl-ctrl-list /usr/sbin/genl-ctrl-list
getconf: /usr/bin/getconf /usr/libexec/getconf
getopt: /usr/bin/getopt /usr/include/getopt.h
gettext: /usr/bin/gettext /usr/bin/gettext.sh /usr/lib64/gettext /usr/share/gettext
gettext: /usr/bin/gettext /usr/bin/gettext.sh /usr/lib64/gettext /usr/share/gettext
gio: /usr/bin/gio /usr/lib64/gio
groff: /usr/bin/groff /etc/groff /usr/share/groff
hostname: /usr/bin/hostname /etc/hostname
iconv: /usr/bin/iconv /usr/include/iconv.h
info: /usr/bin/info /usr/share/info
lastlog: /usr/bin/lastlog /usr/include/lastlog.h
ld: /usr/bin/ld.gold /usr/bin/ld /usr/bin/ld.bfd
ld: /usr/bin/ld.gold /usr/bin/ld /usr/bin/ld.bfd
ld: /usr/bin/ld.gold /usr/bin/ld /usr/bin/ld.bfd
link: /usr/bin/link /usr/include/link.h
locale: /usr/bin/locale /usr/lib/locale /etc/locale.conf /usr/include/locale.h /usr/share/locale
login: /usr/bin/login /etc/login.defs
lp: /usr/bin/lp /usr/bin/lp.cups
lp: /usr/bin/lp /usr/bin/lp.cups
lpq: /usr/bin/lpq /usr/bin/lpq.cups
lpq: /usr/bin/lpq /usr/bin/lpq.cups
lpr: /usr/bin/lpr /usr/bin/lpr.cups
lpr: /usr/bin/lpr /usr/bin/lpr.cups
lprm: /usr/bin/lprm /usr/bin/lprm.cups
lprm: /usr/bin/lprm /usr/bin/lprm.cups
lpstat: /usr/bin/lpstat /usr/bin/lpstat.cups
lpstat: /usr/bin/lpstat /usr/bin/lpstat.cups
lua: /usr/bin/lua /usr/lib64/lua /usr/share/lua
mail: /usr/bin/mail /etc/mail.rc
mailq: /usr/bin/mailq.postfix /usr/bin/mailq
mailq: /usr/bin/mailq.postfix /usr/bin/mailq
man: /usr/bin/man /usr/share/man
mysql: /usr/bin/mysql /usr/lib64/mysql /usr/share/mysql
newaliases: /usr/bin/newaliases /usr/bin/newaliases.postfix
newaliases: /usr/bin/newaliases /usr/bin/newaliases.postfix
nl-class-add: /usr/bin/nl-class-add /usr/sbin/nl-class-add
nl-class-delete: /usr/bin/nl-class-delete /usr/sbin/nl-class-delete
nl-classid-lookup: /usr/bin/nl-classid-lookup /usr/sbin/nl-classid-lookup
nl-class-list: /usr/bin/nl-class-list /usr/sbin/nl-class-list
nl-cls-add: /usr/bin/nl-cls-add /usr/sbin/nl-cls-add
nl-cls-delete: /usr/bin/nl-cls-delete /usr/sbin/nl-cls-delete
nl-cls-list: /usr/bin/nl-cls-list /usr/sbin/nl-cls-list
nl-link-list: /usr/bin/nl-link-list /usr/sbin/nl-link-list
nl-pktloc-lookup: /usr/bin/nl-pktloc-lookup /usr/sbin/nl-pktloc-lookup
nl-qdisc-add: /usr/bin/nl-qdisc-add /usr/sbin/nl-qdisc-add
nl-qdisc-delete: /usr/bin/nl-qdisc-delete /usr/sbin/nl-qdisc-delete
nl-qdisc-list: /usr/bin/nl-qdisc-list /usr/sbin/nl-qdisc-list
openssl: /usr/bin/openssl /usr/lib64/openssl
os-prober: /usr/bin/os-prober /usr/share/os-prober
p11-kit: /usr/bin/p11-kit /usr/libexec/p11-kit /usr/share/p11-kit
passwd: /usr/bin/passwd /etc/passwd
ping6: /usr/bin/ping6 /usr/sbin/ping6
pip: /usr/bin/pip2.7 /usr/bin/pip
pip2: /usr/bin/pip2 /usr/bin/pip2.7
pip2: /usr/bin/pip2 /usr/bin/pip2.7
plymouth: /usr/bin/plymouth /usr/lib64/plymouth /etc/plymouth /usr/libexec/plymouth /usr/share/plymouth
printf: /usr/bin/printf /usr/include/printf.h
pstree: /usr/bin/pstree /usr/bin/pstree.x11
pstree: /usr/bin/pstree /usr/bin/pstree.x11
pwd: /usr/bin/pwd /usr/include/pwd.h
python: /usr/bin/python2.7-config /usr/bin/python2.7 /usr/bin/python /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7
python2: /usr/bin/python2.7-config /usr/bin/python2.7 /usr/bin/python2 /usr/lib/python2.7 /usr/lib64/python2.7 /usr/include/python2.7
python2: /usr/bin/python2.7-config /usr/bin/python2.7 /usr/bin/python2 /usr/lib/python2.7 /usr/lib64/python2.7 /usr/include/python2.7
python2: /usr/bin/python2.7-config /usr/bin/python2.7 /usr/bin/python2 /usr/lib/python2.7 /usr/lib64/python2.7 /usr/include/python2.7
rmail: /usr/bin/rmail /usr/bin/rmail.postfix
rmail: /usr/bin/rmail /usr/bin/rmail.postfix
rpm: /usr/bin/rpm /usr/lib/rpm /etc/rpm
screen: /usr/bin/screen /usr/share/screen
setup-nsssysinit: /usr/bin/setup-nsssysinit.sh /usr/bin/setup-nsssysinit
setup-nsssysinit: /usr/bin/setup-nsssysinit.sh /usr/bin/setup-nsssysinit
ssh: /usr/bin/ssh /etc/ssh
strings: /usr/bin/strings /usr/include/strings.h
sudo: /usr/bin/sudo /etc/sudo.conf /usr/libexec/sudo
tar: /usr/bin/tar /usr/include/tar.h
time: /usr/bin/time /usr/include/time.h
tracepath: /usr/bin/tracepath /usr/sbin/tracepath
tracepath6: /usr/bin/tracepath6 /usr/sbin/tracepath6
udevadm: /usr/bin/udevadm /usr/sbin/udevadm
updatedb: /usr/bin/updatedb /etc/updatedb.conf
vim: /usr/bin/vim /usr/share/vim
wait: /usr/bin/wait /usr/include/wait.h
yum: /usr/bin/yum /etc/yum /etc/yum.conf
whereis -l:输出有效查找路径
[root@iZ2zegzlqqbcb147adj8m1Z ~]# whereis -l
bin: /usr/bin
bin: /usr/sbin
bin: /usr/lib
bin: /usr/lib64
bin: /etc
bin: /usr/games
bin: /usr/local/bin
bin: /usr/local/sbin
bin: /usr/local/etc
bin: /usr/local/lib
bin: /usr/local/games
bin: /usr/include
bin: /usr/local
bin: /usr/libexec
bin: /usr/share
man: /usr/share/man/man0p
man: /usr/share/man/man1
man: /usr/share/man/man1p
man: /usr/share/man/man1x
man: /usr/share/man/man2
man: /usr/share/man/man2x
man: /usr/share/man/man3
man: /usr/share/man/man3p
man: /usr/share/man/man3x
man: /usr/share/man/man4
man: /usr/share/man/man4x
man: /usr/share/man/man5
man: /usr/share/man/man5x
man: /usr/share/man/man6
man: /usr/share/man/man6x
man: /usr/share/man/man7
man: /usr/share/man/man7x
man: /usr/share/man/man8
man: /usr/share/man/man8x
man: /usr/share/man/man9
man: /usr/share/man/man9x
man: /usr/share/man/mann
man: /usr/share/man/overrides
man: /usr/share/man/ru
man: /usr/share/man/fr
man: /usr/share/man/it
man: /usr/share/man/ja
man: /usr/share/man/pl
man: /usr/share/man/ko
man: /usr/share/man/sk
man: /usr/share/man/cs
man: /usr/share/man/da
man: /usr/share/man/de
man: /usr/share/man/hu
man: /usr/share/man/id
man: /usr/share/man/pt_BR
man: /usr/share/man/sv
man: /usr/share/man/tr
man: /usr/share/man/zh_CN
man: /usr/share/man/zh_TW
man: /usr/share/man/es
man: /usr/share/man/uk
man: /usr/share/man/nl
man: /usr/share/man/ca
man: /usr/share/man/pt
man: /usr/share/info
src: /usr/src/debug
src: /usr/src/kernels
2.6、man
man 命令是 Linux 下的帮助指令,通过 man 指令可以查看 Linux 中的指令帮助、配置文件帮助和编程帮助等信息。
在 man 的帮助手册中,可以使用 page up 和 page down 来上下翻页。
man 的帮助手册中,将帮助文档分为了 9 个类别,对于有的关键字可能存在多个类别中, 我们就需要指定特定的类别来查看;(一般我们查询 bash 命令,归类在 1 类中)。
man [选项] [页面名称]
常用选项:
-k或--apropos:搜索包含指定关键字的手册页man -k keyword
-f或--whatis:显示指定命令或函数的简短描述man -f command
-P或--pager=program:指定用于分页的程序(默认是less)man -P more command
-S或--sections=section:指定要查看的手册页部分man -S 1,2 command
-w或--where或--location:显示手册页文件的位置man -w command
-a或--all:显示所有找到的手册页,而不仅仅是第一个匹配项man -a command
手册页部分:
手册页通常分为以下部分:
- 1 - 用户命令
- 2 - 系统调用
- 3 - 库函数
- 4 - 特殊文件(通常是设备文件)
- 5 - 文件格式和配置文件
- 6 - 游戏
- 7 - 杂项(包括宏包和约定)
- 8 - 系统管理员命令
- n - 新版手册页
使用示例:
查看命令的手册页:
man ls
# 这将显示ls命令的手册页
查看特定部分的手册页:
man 2 open
# 这将显示open系统调用的手册页(第二部分)
搜索包含关键字的手册页:
man -k grep
# 这将列出所有包含grep关键字的手册页bzegrep (1) - search possibly bzip2 compressed files for a regular expression
bzfgrep (1) - search possibly bzip2 compressed files for a regular expression
bzgrep (1) - search possibly bzip2 compressed files for a regular expression
egrep (1) - print lines matching a pattern
fgrep (1) - print lines matching a pattern
grep (1) - print lines matching a pattern
grep (1p) - search a file for a pattern
msggrep (1) - pattern matching on message catalog
pgrep (1) - look up or signal processes based on name and other attributes
xzegrep (1) - search compressed files for a regular expression
xzfgrep (1) - search compressed files for a regular expression
xzgrep (1) - search compressed files for a regular expression
zgrep (1) - search possibly compressed files for a regular expression
zipgrep (1) - search files in a ZIP archive for lines matching a pattern
显示命令的简短描述:
man -f ls
# 这将显示ls命令的简短描述
ls (1) - list directory contents
ls (1p) - list directory contents
指定分页程序:
man -P more ls
# 这将使用 more 作为分页程序显示 ls 命令的手册页
显示手册页文件的位置:
man -w ls
# 这将显示 ls 命令的手册页文件的位置。
/usr/share/man/man1/ls.1.gz
显示所有找到的手册页:
man -a ls
# 这将显示所有与ls相关的手册页
手册页结构:
手册页通常具有以下结构:
NAME- 命令或函数的名称及其简短描述。SYNOPSIS- 命令的基本语法或函数的原型。DESCRIPTION- 命令或函数的详细说明。OPTIONS- 命令可用的选项及其说明。FILES- 与命令相关的文件。SEE ALSO- 相关的手册页或其他参考材料。BUGS- 已知的问题或错误。AUTHOR- 命令或函数的作者。
快捷键:
在 man 命令的分页器(通常是 less)中,可以使用以下快捷键进行导航:
空格键- 向下翻一页。b- 向上翻一页。Enter- 向下翻一行。k- 向上翻一行。/字符串- 向后查找字符串。?字符串- 向前查找字符串。n- 查找下一个匹配项。N- 查找上一个匹配项。q- 退出 man 页面。
注意事项:
手册页的更新:手册页可能会随着系统的更新而变化,建议定期查看最新版本的手册页。多语言支持:某些系统支持多语言手册页,可以通过设置环境变量 LANG 或 LC_ALL 来切换语言。在线资源:如果系统中没有安装某些手册页,可以在线查找相关信息,例如在 Linux Man Pages 网站上。
总结:
man 命令是 Unix 和 Linux 系统中不可或缺的工具,用于查看系统命令、配置文件、库函数和其他系统组件的手册页。更有效地使用 man 命令来获取所需的信息,可以提高你的系统管理和开发效率。
相关文章:
Linux运维——查看命令帮助信息
查看命令帮助信息 一、查看 Linux 命令帮助信息的要点二、常见命令用法2.1、help2.2、whatis2.3、info2.4、which2.5、whereis2.6、man 一、查看 Linux 命令帮助信息的要点 查看 Shell 内部命令的帮助信息 - 使用 help查看命令的简要说明 - 使用 whatis查看命令的详细说明 - 使…...
应急场景中的数据融合与对齐
1. 概述 在应急管理中,快速、准确地掌握现场状况、实时监控灾情并进行决策至关重要。各类数据(如卫星影像、无人机图像、激光雷达点云、地理信息系统(GIS)数据、传感器数据、社交媒体信息、移动终端数据等)具有来源广泛、格式多样、时空特性不同等特点。如何将这些异构数…...
Java数据结构与算法之“树”
目录 一、什么是树 编辑 二、树的相关组成 1. 常用名词 2.需要了解的名词 三、树的分类 (一)初级树 1.普通树 2.二叉树 (二)中级树 1.哈夫曼树HuffmanTree 2.二叉搜索树BST 3.平衡二叉树AVL (三&#x…...
网络HTTP详细讲解
学习目标 什么是HTTPHTTP的请求和响应常见的HTTP状态码HTTP的安全性 什么是HTTP?HTTP的请求和响应,常见的HTTP状态码,HTTP的安全性 什么是HTTP HTTP(HyperText Transfer Protocol,超文本传输协议)是一种用…...
基于Python的智能物流路径优化算法研究与应用
基于Python的智能物流路径优化算法研究与应用 摘要 随着电商行业的迅猛发展,物流配送的效率和成本成为影响企业竞争力的关键因素。本论文聚焦于基于Python语言实现智能物流路径优化算法的研究。通过对经典路径优化算法如Dijkstra算法、A*算法等的深入分析ÿ…...
Origin2024 软件安装步骤与百度网盘
软件简介: Origin 2024是一款功能强大的科学绘图与数据分析软件,广泛应用于科研和工程领域,支持多种图形绘制、数据分析功能以及便捷的数据导入和管理。 网盘链接: https://pan.baidu.com/s/1MNQG2pD802LWxuIN40JfeA?pwdc85q 提取码:c85…...
【算法应用】Alpha进化算法求解二维栅格路径规划问题
目录 1.算法原理2.二维路径规划数学模型3.结果展示4.参考文献5.代码获取 1.算法原理 Alpha进化:一种具有进化路径自适应和矩阵生成的高效进化算法 2.二维路径规划数学模型 栅格法模型最早由 W.E. Howden 于 1968 年提出,障碍物的栅格用黑色表示&#…...
PyQt6/PySide6 的 QDialog 类
QDialog 是 PyQt6 或 PySide6 库中用于创建对话框的类。对话框是一种特殊的窗口,通常用于与用户进行短期交互,如输入信息、显示消息或选择选项等。QDialog 提供了丰富的功能和灵活性,使得开发者可以轻松地创建各种类型的对话框。下面我将详细…...
嵌入式八股文面试题(一)C语言部分
1. 变量/函数的声明和定义的区别? (1)变量 定义不仅告知编译器变量的类型和名字,还会分配内存空间。 int x 10; // 定义并初始化x int x; //同样是定义 声明只是告诉编译器变量的名字和类型,但并不为它分配内存空间…...
Redis企业开发实战(二)——点评项目之商户缓存查询
目录 一、缓存介绍 二、缓存更新策略 三、如何保证redis与数据库一致性 1.解决方案概述 2.双写策略 3.双删策略 3.1延迟双删的目的 4.数据重要程度划分 四、缓存穿透 (一)缓存穿透解决方案 (二)缓存穿透示意图 五、缓存雪崩 (一)缓存雪崩解决方案 (二)缓存雪崩…...
RK3568中使用QT opencv(显示基础图像)
文章目录 一、查看对应的开发环境是否有opencv的库二、QT使用opencv一、查看对应的开发环境是否有opencv的库 在开发板中的/usr/lib目录下查看是否有opencv的库: 这里使用的是正点原子的ubuntu虚拟机,在他的虚拟机里面已经安装好了opencv的库。 二、QT使用opencv 在QT pr…...
C++模板编程——完美转发与可变参函数模板
1 基础概念 首先介绍几个概念: 假设现在有A、B、C三个函数。 直接调用:在A函数中调用C就叫做直接调用,不拐弯抹角。转发:在A函数中调用B函数,在B函数调用C函数,这就叫做转发。这种情况下,B函数…...
CentOS服务器部署Docker+Jenkins持续集成环境
一、准备工作 一台运行 CentOS 的服务器,确保有足够的磁盘空间、内存资源,并且网络连接稳定。建议使用 CentOS 7 或更高版本,本文以 CentOS 7 为例进行讲解。 拥有服务器的 root 权限,因为后续安装软件包、配置环境等操作需要较…...
蓝桥杯单片机(十)PWM脉宽调制信号的发生与控制
模块训练: 一、PWM基本原理 1.占空比 2.脉宽周期与占空比 当PWM脉宽信号的频率确定时,脉宽周期也确定了,此时改变占空比即可。当利用PWM脉宽周期改变LED灯的亮度时,灯是低电平亮,所以将低电平占空比改成10%即可实现…...
Redis --- 使用HyperLogLog实现UV(访客量)
UV 和 PV 是网站或应用数据分析中的常用指标,用于衡量用户活跃度和页面访问量。 UV (Unique Visitor 独立访客): 指的是在一定时间内访问过网站或应用的独立用户数量。通常根据用户的 IP 地址、Cookies 或用户 ID 等来唯一标识一个用户。示例࿱…...
postgresql-COALESCE函数、NULLIF函数、NVL函数使用
COALESCE函数 COALESCE函数是返回参数中的第一个非null的值,它要求参数中至少有一个是非null的; select coalesce(1,null,2),coalesce(null,2,1),coalesce(null,null,null); NULLIF(ex1,ex2)函数 如果ex1与ex2相等则返回Null,不相等返回第一个表达式的值…...
《深度揭秘LDA:开启人工智能降维与分类优化的大门》
在当今人工智能蓬勃发展的时代,数据成为了驱动技术进步的核心要素。随着数据采集和存储技术的飞速发展,我们所面临的数据量不仅日益庞大,其维度也愈发复杂。高维数据虽然蕴含着丰富的信息,但却给机器学习算法带来了一系列严峻的挑…...
逐笔成交委托level2高频tick股票历史下载和分析:20250206
Level2逐笔成交逐笔委托数据分享下载 通过Level2的逐笔成交和逐笔委托信息,这种精确到毫秒的数据能挖掘出许多有价值的信息,如庄家动向、欺诈行为,让所有交易行为无处隐藏。这适合交易高手研究主力规律,也适合人工智能进行数据挖…...
【办公类-99-01】20250201学具PDF打印会缩小一圈——解决办法:换一个PDF阅读器
背景需求: 2024年1月13日,快要放寒假了,组长拿着我们班的打印好的一叠教案来调整。 “前面周计划下面的家园共育有调整,你自己看批注。” “还有你这个教案部分的模版有问题,太小(窄)了。考虑…...
Macos安装APOC拓展库
文章目录 说明错误提示原因分析解决方法 说明 Macos安装APOC核心库 错误提示 There is no procedure with the name apoc.generate.ba registered for this database instance. Please ensure youve spelled the procedure name correctly and that the procedure is prope…...
YUV 颜色空间的数据存储格式详解
YUV 颜色空间的数据存储格式详解 在视频处理和存储中,YUV 颜色空间是一种常用的颜色表示方法。它将颜色信息分为亮度(Luma,Y)和色度(Chroma,U 和 V)两部分,适合视频压缩和传输。YUV 数据的存储格式有多种,主要分为 Planar 格式 和 Packed 格式,并结合不同的色度二次…...
Google C++ Style / 谷歌C++开源风格
文章目录 前言1. 头文件1.1 自给自足的头文件1.2 #define 防护符1.3 导入你的依赖1.4 前向声明1.5 内联函数1.6 #include 的路径及顺序 2. 作用域2.1 命名空间2.2 内部链接2.3 非成员函数、静态成员函数和全局函数2.4 局部变量2.5 静态和全局变量2.6 thread_local 变量 3. 类3.…...
HELLOCTF反序列化靶场全解
level 2 <?php/* --- HelloCTF - 反序列化靶场 关卡 2 : 类值的传递 --- HINT:尝试将flag传递出来~# -*- coding: utf-8 -*- # Author: 探姬 # Date: 2024-07-01 20:30 # Repo: github.com/ProbiusOfficial/PHPSerialize-labs # email: adminhello-ctf.com…...
Spring Boot 自动装配机制深度解析
在 Java 开发领域,Spring Boot 以其强大的功能和便捷的开发体验受到广大开发者的青睐。其中,自动装配机制是 Spring Boot 的核心特性之一,它极大地简化了 Spring 应用的开发过程,让开发者能够专注于业务逻辑的实现。本文将深入剖析…...
echarts中x轴、y轴 类目自定义换行
在echarts中可能因为某项的名字过长想要换行展示,就可以在 axisLabel 属性中自定义换行, 如以下案例在y轴上换行展示() yAxis:[ axisLabel: { formatter: function(value) { var ret // 拼接加 \n 返回的类目项 var maxLength 6 // 每…...
禅道社区版项目管理软件部署(记录篇)
系统要求(这里推荐使用docker容器化方式)安装前的准备Docker快速安装最后通过查看地址验证是否部署成功开始界面化安装配置 禅道(ZenTao)是一款国产开源的项目管理软件,专注于敏捷开发流程,支持 Scrum 和 K…...
探索C语言简易计算器程序的实现与优化
在C语言编程学习中,实现一个简易计算器是一个常见且有趣的练习项目。它不仅能帮助我们巩固基本的语法知识,如函数、循环、分支结构,还能让我们深入理解程序设计的逻辑。接下来,我们将分析三段实现简易计算器功能的C语言代码&#…...
时间序列分析(一)——基础概念篇
一、时间序列的相关概念 定义:时间序列是按时间顺序排列的一系列观测值,通常以固定间隔(如秒、天、年)记录。而时间序列分析是一种研究按时间顺序排列的数据点的统计方法,发现趋势、季节性波动、周期性和异常等模式&a…...
Python因为网络原因安装依赖库报错
现象 在终端运行以下指令 pip install pyautogui pillow keyboard 出现报错,终端信息如下: PS D:\code\Python> pip install pyautogui pillow keyboard Collecting pyautoguiUsing cached PyAutoGUI-0.9.54.tar.gz (61 kB)Installing build depe…...
【Redis】主从模式,哨兵,集群
主从复制 单点问题: 在分布式系统中,如果某个服务器程序,只有一个节点(也就是一个物理服务器)来部署这个服务器程序的话,那么可能会出现以下问题: 1.可用性问题:如果这个机器挂了…...
