1、内部命令
help 命令
例如:
help cd
help help
history命令介绍:
history命令用于管理命令历史。
登录shell时,会读取命令历史文件~/.bash_history中记录下的命令:
登录进shell后,新执行的命令会记录在缓存中。
登出shell之前,最近执行的命令会被写入历史文件中。
history 查看最近执行的命令
history -a 手动追加最近执行的命令到文件中
history -d 编号 删除命令历史(history缓存而不是文件)中指定编号位置的命令
history -c 清空命令历史
快捷操作:
!编号 执行命令历史中对应编号的命令
例如:!20
!命令 执行命令历史中对应的命令,从后往前寻找最近的命令。
例如:!ls
!! 执行上一条命令
2、外部命令:
外部都有一个可执行文件位于文件系统的某个位置。可以通过which 和 whereis来进行查找。
外部命令的执行原理同windows下的环境变量一直,同样是使用了一个path环境变量来找对应的可执行文件。
echo $PATH 可以查看当前系统的环境变量PATH。
系统从PATH中自左往右寻找可执行文件,一旦找到,不再往下寻找。
注意:找寻命令的可执行位置,只有在第一次执行时进行,如果,找到了,就存入系统缓存,下次调用命令时,直接使用,而不是再次进行查询。
这个缓存我们称之为kvStore(key-value),我们可以通过输入hash来查看。
hash 用于记住和展示程序的位置和执行次数(hits 命中次数)。
缓冲机制的优缺点:
优点:执行一次之后,以后执行不需要再次寻找,响应速度快。
缺点:一旦命令位置发生变化,需要重新刷新缓存,否则会找不到对应的命令。
例如:
mv /bin/ls /usr/bin/ls
ls 此时系统会找不到ls命令,但是/user/bin 也是位于PATH中的
echo $PATH 我们通过查看PATH,确认路径没有问题
hash -r 清除所有缓存
a、命令 --help
例如:
ls --help
或者 命令 -h
例如:
例如vi -h
b、使用手册(manul)
手册页的存放位置:/usr/share/man
man1-man9 mann 按照不同类型的命令进行,分类,存放到不同的位置。
man1 用户命令
man2 系统调用
man3 库调用(C)
man4 设备及特殊文件
man5 配置文件格式
man6 游戏
man7 杂项
man8 管理类的命令
man9 mann 暂无
例如:普通用户命令 一般存放于man1文件夹
以ls命令为例 我们可以在man1文件夹中找到ls开头的gz文件,这里面存放的就是ls的帮助手册,当我们执行man ls,系统自动找到对应的文件,进行解压缩,打开对应的帮助手册。
如果命令在多个章节都有出现,我们可以按照如下命令选定需要查看的章节
whatis read 查看命令出现的章节
man 章节编号 read 查看指定章节编号的read帮助文档
man 命令
例如:
man ls
c、信息页
info 命令
例如:
info ls
d、程序自身的帮助文档
README
INSTALL
ChangeLog
e、程序官方的帮助文档
官方站点:Documentation
f、发行版的官方文档
g、搜索引擎
百度,Google
cat命令介绍: