Linux命令执行过程中的配置文件信息

命令执行过程

前面讲到过使用 alias 可以建立别名,比如创建了一个 ls 的别名,其实 ls 有少的指令,那么到底是哪一个会被选中执行呢?基本上,指令运行顺序可以这样看:

  1. 以相对、绝对路径执行命令,例如 /bin/ls./ls
  2. 由 alias 找到该指令来执行
  3. 由 bash 内置的指令来执行
  4. 通过 $PATH 这个变量的顺序搜索到第一个指令执行

举例来说:

  • /bin/ls:该指令运行后,没有颜色
  • ls:该指令运行后输出的内容有颜色,因为是使用别名 alias ls=‘ls --color=auto’
bash环境配置文件

们一进入 bash 就取得了一堆有用的变量,这是因为系统有一些环境配置文件的存在,让 bash 在启动时直接读取这些配置文件,以规划好 bash 的操作环境。而这些配置文件分为全局系统配置和用户个人偏好配置

login 与 non-login shell

在介绍 bash 的配置文件前,一定要先知道 login shell 与 non-login shell ,重点就在于有没有登录(login)

  • login shell:取得 bash 时需要完整的登录流程,就称为 login shell

    举例来说,你要由 tty1~tty6 登录,需要输入用户的账户与密码,此时取得的 bash 就称为「login shell」

  • non-login shell:取得 bash 接口的方法不需要重复登录的举动

    比如:你以 x window 登录 linux 后,再以 X 的图形化接口启动终端机,此时该终端机并没有再次输入账户与密码,那么该 bash 的环境就称为 non-login shell

    再比如:你再原本的 bash 环境下再次下达 bash 这个指令,同样也没有输入账户密码,那第二个 bash(子程序)也是 non-login shell

上面两种情况取得的 bash 配置文件不一致。他们的区别如下:
/etc/profile:配置全局环境变量(变量和函数,别名),影响所有用户
~/.bash_profile :配置个人环境变量,影响一个用户
/etc/bashrc :配置全局的别名或者函数,影响所有用户
~/.bashrc :配置个人别名或者函数,影响一个用户

影响全局:所有人
/etc/profile /etc/bashrc
影响局部:个人
~/.bashrc~/.bash_profile

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值