关灯
开启左侧

Linux命令一--命令格式---内部命令和外部命令--type命令

[复制链接]
lichao 发表于 2018-8-24 10:59:49 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
 
命令格式:

命令  [-选项]  [参数]

如:ls  -la  /usr

说明:    大部分命令遵从该格式

多个选项时,可以一起写   eg:ls –l –a  --->  ls –la

简化选项与完整选项   eg:ls –all   ---->    ls –a


命令的分类内部命令:

属于Shell解析器的一部分,也称为内建(Built-IN)指令。

内部命令属于Shell的一部分,所以并没有单独对应的系统文件,只要Shell解释器被运行,内部指令也就自动载入内存了,用户可以直接使用。内部命令无需从硬盘中重新读取文件,因此执行效率更高。

内部命令找不到命令所在路径。

既是内部命令,也是外部命令,会优先调用内部命令,调用内部命令,不会启动一个子进程,而外部命令会。比如 pwd    echo


cd 切换目录

pwd 显示当前工作目录

help 帮助

外部命令:

指的是Linux系统中能够完成特定功能的脚本文件或二进制程序,每个外部命令对应了系统中的一个文件,是独立于Shell解析器之外的文件程序。Linux系统必须知道外部命令对应的文件位置,才能够由Shell加载并执行。

可简单理解为,系统读取环境变量文件,去找Path路径,然后加载进内存中。hash

ls 显示文件和目录列表

mkdir 创建目录

cp 复制文件或目录(copy)

查看帮助文档

内部命令:help + 命令(help cd)

外部命令:man + 命令(man ls)

type命令

用来区分指定命令是由shell自带的,还是由shell外部的独立二进制文件提供的

type命令其实不能算查找命令,它是用来区分某个命令到底是由shell自带的,还是由shell外部的独立二进制文件提供的。如果一个命令是外部命令,那么使用-p参数,会显示该命令的路径,相当于which命令。

$ type cd

系统会提示,cd是shell的自带命令(build-in)。

$ type grep

系统会提示,grep是一个外部命令,并显示该命令的路径。

$ type -p grep

加上-p参数后,就相当于which命令。

Linux系统默认会将存放外部命令、程序的目录(如/bin、/usr/bin、/usr/local/bin等)添加到用户的“搜索路径”中,当使用位于这些目录中的外部命令时,用户不需要指定具体的位置。

因此:不用刻意去分辨内部、外部命令,其使用方法是基本类似的。


 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

排行榜
关闭

站长推荐上一条 /1 下一条

官方微信

全国服务热线:

400-0708-360

公司地址:国家西部信息安全产业基地(成都市高新区云华路333号)

邮编:610000    Email:2908503813@qq.com

Copyright   ©2015-2016  EOIT论坛Powered by©Discuz!    ( 蜀ICP备11000634号-7 )