Linux学习-shell内部命令&外部命令

正在学习Linux,记录一下学习历程。奋斗


内部命令

当输入内部命令时,shell在自己的进程内运行该命令。

查看是否是内部命令:

type 命令名

如:type date


外部命令

外部命令是独自运行的独立程序。

当输入外部命令时,shell将搜索合适的程序,然后一个单独的进程运行该程序。

shell如何查找外部命令?

shell检查PATH环境变量(搜索路径)

查看搜索路径:echo $PATH

得到目录(目录之间用:隔开):

/bin

/usr/bin

/usr/sbin

/usr/local/sbin

/home/sixline/bin

每个用户的目录可能有所不同,但是大体一致。其中名称bin用来指示一个存放程序的目录。

/bin和/usr/bin 存放系统中所有用户使用的程序。

/usr/sbin 存放系统管理员专用命令。

/usr/local/sbin 由系统管理员设置,用来存放为了本地使用而安装的目录。

/home/sixline/bin 指用户在自己的home目录下的bin目录可以存放自己的程序。

当shell需要查找外部命令时,它就在搜索路径中按顺序逐个检查每个目录,查找到期望的外部命令时,就停止搜索并执行命令。

修改搜索路径

以下以bash为例,C-Shll家族会有所不同。

使用export命令使PATH变量成为环境变量,shell及所有随后生成的进程都可以使用它。

export PATH="/bin:/usr/bin:/usr/local/bin"

但是这个命令语句并不通常会使用,因为系统以及设置好定义PATH变量的命令。

更多情况下是希望修改默认的搜索路径,以适合自己使用。

如:编写了自己的shell脚本和程序,并将其存放在当前工作目录(.)中,那么希望把这个目录的名称添加到搜索路径

export PATH=“$PATH:."

也可以用这种方式修改搜索路径顺序

如:你编写了一个date程序,并将它保存在$HOME/bin中,将自己的目录放在搜索路径的开头,shell将运行你编写的date程序,而不是标准date程序。

export PATH=”$HOME/bin:$PATH"

ps:这样做需要谨慎,有时会导致安全灾难,例如……

这样当自己

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值