设为首页 收藏本站
查看: 614|回复: 0

[经验分享] linux中的内部命令和外部命令

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-7-25 10:15:37 | 显示全部楼层 |阅读模式
linux中的命令大致可分为两类,内部命令和外部命令

内部命令:也称shell内嵌命令;
外部命令:存放在一个文件中,使用时需要去文件中查找,这些文件被定义在$PATH
[iyunv@centos7 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
type命令可以查看命令类型,以区别是内部命令还是外部命令

[iyunv@centos7 ~]# type cd
cd is a shell builtin
[iyunv@centos7 ~]# type ls
ls is aliased to `ls --color=auto'
[iyunv@centos7 ~]# type ifconfig
ifconfig is /usr/sbin/ifconfig
可以看到,cd为shell内嵌命令,ls命令为ls --color=auto的别名,ifconfig命令为外部命令在文件/usr/sbin/ifconfig中。


内部命令与外部命令查看帮助的区别

内部命令:
    使用help COMMAND
[iyunv@centos7 ~]# help cd
cd: cd [-L|[-P [-e]]] [dir]
    Change the shell working directory.
......
也可使用man命令查看bash帮助文档
enable命令可以禁用内部命令;
enable -n 内部命令: 禁用内部命令(重启失效)
    :enable -n cd
enable   内部命令:解除禁用
    :enable cd

外部命令:
    外部命令查看帮助的方法相对与内部命令还是比较多的

① command --help 或 command -h
  命令的不同存在一些实用长选项 --help或短选项 -h的区别
例:[iyunv@centos7 ~]# ifconfig --help
Usage:
  ifconfig [-a] [-v] [-s] <interface> [[<AF>] <address>]
  [add <address>[/<prefixlen>]]
......
②使用man手册查看帮助, man command
例:[iyunv@centos7 ~]# man ifconfig
IFCONFIG(8)    Linux System Administrator's Manual           IFCONFIG(8)
NAME

       ifconfig - configure a network interface
......
③使用info命令查看信息页
例:[iyunv@centos7 ~]# info ifconfig
File: *manpages*,  Node: ifconfig,  Up: (dir)
IFCONFIG(8)           Linux System Administrator's Manual          IFCONFIG(8)

NAME

       ifconfig - configure a network interface
......
④使用程序自身的帮助文档
在一些程序下有些README INSTALL ChangeLog文件,可以查看文件内容帮助使用。
⑤程序的官方文档或发行版的官方文档

使用过外部命令会暂存在内存中,可以使用hash命令查看内存中的外部命令

hash命令:查看内存中执行的外部命令,
hash: hash [-lr] [-p pathname] [-dt] [name ...]
Remember or display program locations.
选项:
-r :清除内存中的命令
-d command :删除内存中的command命令

有时我们会经常使用一些很长的命令,为了便于使用我们可以使用别名的方法来重新命名命令,创建别名可以使用alias命令;直接执行alias命令可以查看当前文件系统的别名列表,
命令别名alias name command
如:alias cp='cp -i'
上文已经看到ls命令就是一个别名;


命令也存在同名的情况所以在执行命令也存在优先级
别名>内部命令>内存中的外部命令>外部命令
如果要使用优先级较低的命令可以使用完整路径或\COMMAND的方式来实现。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-249061-1-1.html 上篇帖子: 细说TCP三次握手 下篇帖子: Linux文件系统管理 linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表