linux基础之帮助文档查看-2014.2.11
---常用命令
第一个man:相关命令whatis
1,man手册查找格式
-输入 ? 键,向前查找,如 ?-h ,将会搜索含有“-h”的行
-输入 / 键,向后查找,如 /-k ,将会向后搜索“-k”的行
按 N或者n(下一个)来进行上一个下一个相关匹配项查看。
2,man手册存放的位置
可以通过manpath命令来查看manpage的位置
3,man手册页入口
1 用户指令 2 系统 3 程序库 4 设备 5 文件系统
6 游戏 7 杂项 8 系统指令 9 内核指令
一般用到的项为:1,5,8
4,一般用man查看一个命令的帮助文档的时候,可以通过whatis查看一下该命令在man帮助文档中的入口,一条命令可能有多个man手册页入口(注:在使用whatis的时候如果linux计算机开机70分钟,那么你可以自己随意使用了,如果linux计算机刚刚启动,那么需要执行makewhatis命令来编译一下,否则无法使用whatis命令)
[root@localhost ~]# whatis rm
rm (1p) - remove directory entries
rm (1) - remove files or directories
[root@localhost ~]# whatis passwd
passwd (1) - update user's authentication tokens
passwd (5) - password file
passwd (rpm) - The passwd utility for setting/changing passwords using PAM
passwd [sslpasswd] (1ssl) - compute password hashes
在用man查询rm或者passwd的命令的时候,可以输入:
man 5 passwd //在入口为文件系统去查询passwd的帮助文档
man 1 passwd //在入口为用户指令去查询passwd的帮助文档
man 1/1p rm
第二个:help: 相关命令type,which
1,首先解释一下内部命令和外部命令
简单来说,在linux系统中有存储位置的命令为外部命令;
没有存储位置的为内部命令,可以理解为内部命令嵌入在linux的shell中,所以看不到。
2,外部命令的帮助文档使用help的格式为:命令 --help
如:passwd --help
内部命令的帮助文档使用help的格式为:help -命令
如:help cd
3,type来判断到底为内部命令还是内部命令
如:
[root@localhost ~]# type help //查看help命令的内外类型
help is a shell builtin //可以看到help为内部命令
[root@localhost ~]# type passwd //查看passwd这条命令是否在linux系统中存在
passwd is /usr/bin/passwd //可以看到passwd的存储位置,因此存在,为外部命令
[root@localhost ~]# type cd
cd is a shell builtin
那么passwd即为外部命令,那么cd为内部命令
4,使用which命令查找可执行文件(外部命令、脚本)
-由于which命令解释太长,所以另起炉灶了
4-1,which可搜索的范围由环境变量PATH决定,通常情况下,管理员与普通用户的PATH变量是不同的,可分别以root用户、普通用户test登入后执行echo $PATH 查看。
[root@localhost ~]# su - root
[root@localhost ~]# su - test //切换到test用户
[test@localhost ~]$ echo $PATH //查看test用户的环境变量
/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/test/bin
[test@localhost ~]$ exit
logout
[root@localhost ~]# echo $PATH //查看root用户的环境变量
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@localhost ~]#
4-2,用which查看mkdir和cp命令的执行程序位置:
[root@localhost ~]# which mkdir //mkdir命令存储的位置
/bin/mkdir
[root@localhost ~]# which cp //cp命令存储的位置
alias cp='cp -i'
/bin/cp
[root@localhost ~]#
从上述结果可以看到,which的输出结果包括了命令别名。这是因为Linux为了方便用户使用,设置了which别名以添加别名搜索所致。
4-3,下面取消别名来查看which cp命令的结果
[root@localhost ~]# alias which //查看which的别名其实相当于下面的绿色的一行命令组合
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[root@localhost ~]# /usr/bin/which mkdir //只查找第一目标
/bin/mkdir
[root@localhost ~]# /usr/bin/which cp
/bin/cp
[root@localhost ~]#
4-4,which的参数-a
which查询的路径为$PATH,那么当查询到第一个命令所在的目录后就会直接显示,那么如果后面的目录中也存在该命令,那么将不会显示,所以,需要使用-a参数。
[root@localhost ~]#which -a mkdir //查找所有目标
/bin/mkdir
/usr/bin/mkdir
4-5,由于内部命令是内建在/bin/bash解释器中的指令,并没有独立的可执行文件存在,所以尝试用which来搜索是找不到的。例如,用which找cd、help等内部命令时会提示找不到结果
[root@localhost ~]# which cd //查看内部命令cd存在的位置
/usr/bin/which: no cd in (/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin) //可以看到,是不存在的
[root@localhost ~]# which help
/usr/bin/which: no help in (/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
[root@localhost ~]#
注:一般用help命令查看内部命令!!!
这是最基本的linux帮助命令,虽然简单,但是用法常被搞混,本来which这个命令打算拿到whereis、which、whatis、locate命令一块说,又怕给自己搞迷了,whatis和which就现在这里搞了!