十四. bash shell的操作环境

原创 2016年06月01日 10:46:29

1.  路径与命令的查找顺序:当我们在终端输入一个命令时,如#ls  那么在系统中命令运行的顺序的优先级如下:

(1)是以相对 / 绝对路径执行命令,如:#/bin/ls   或则 #ls

(2)由alias 找到该命令来执行

(3)由bash内建的 (builtin) 指令来执行;

(4)透过 $PATH 这个变量的顺序搜寻到的第一个指令来执行。

(5)如下面的一个例子:

              

2.  bash 的登录与欢迎信息: /etc/issue, /etc/motd  这两个文件里面可以查看和修改。

3.  bash的环境配置文件:

(1)在系统上有一些环境配置文件,每次我们启动bash时就会自动读取这些配置文件,以规划好bash的操作环境,所以每次我们进入bash终端就可以获取一堆变量。

(2)系统上的这一些环境配置文件分为全体系统配置文件和用户个人偏好配置文件。

(3)我们在bash终端中定义的自定义变量,命令别名在我们注销bash(或则重启系统)之后就会失效,只有将这些设置写入配置文件才能永久保存下来。

4.  login  shell与non-login  shell  的区别

(1)这两者重点在于有没有登录login  。

(2)login  shell :取得bash时需要完整的登录流程,就称为login shell。例如:当我们由tty1~tty6登录,需要输入用户名和密码,此时取得的bash就称为 login shell  。

(3)non-login  shell :取得bash接口的方法不需要重复登录的举动。例如:我们以X windows(图形桌面)登录Linux后,再以X windows的图形界面启动终端机,此时的终端机并没有需要再次输入账号和密码,那个bash环境就属于non-login  shell 。再如:我们在原本的bash环境中再次执行bash命令,同样没有要求输入账号密码,那第二个bash(子进程)也是non-login  shell 。

(4)login  shell与non-login  shell 这两者读取的配置文件数据并不一样。

5.  login  shell 只会读取两个配置文件:

          1. /etc/profile: 这是系统整体的设定,你最好不要修改这个档案;
          2. ~/.bash_profile 或 ~/. bash_login 或 ~/. profile: 属于使用者个人设定, 你要改自己的数据,就写入这里!
(1)bash 的 login shell 情况下所读取的整体环境设定档其实只有 /etc/profile, 但是 /etc/profile 还会呼叫出其它的设定档, 所以让我们的 bash 操作接口变的非常的友善!bash 在读完了整体环境设定的 /etc/profile 并藉此呼叫其它设定档后, 接下来则是会读取使用者的个人设定档。 在 login shell 的 bash 环境中, 所读取的个人偏好设定档其实主要有三个, 依序分别是:
1. ~/. bash_profile
2. ~/. bash_login
3. ~/. profile
     其实 bash 的 login shell 设定只会读取上面三个档案的其中一个, 而读取的顺序则是依照上面的顺序。 也就是说, 如果 ~/. bash_profile 存在, 那么其它两个档案不论有无存在, 都不会被读取。 如果 ~/. bash_profile 不存在才会去读取 ~/. bash_login, 而前两者都不存在才会读取 ~/. profile 的意思。

(2)整个 login shell 的读取流程:实线的的方向是主线流程, 虚线的方向则是被呼叫的设定档! 从上面我们也可以清楚的知道, 在 CentOS 的login shell 环境下, 最终被读取的设定档是『 ~/. bashrc 』 这个档案。 所以,一般情况我们都是将自己的偏好设定写入 ~/. bashrc这个文件,然后source 该文件。比如PATH环境变量的修改。


6.  non-login  shell 只会读取一个文件:~/. bashrc 这个文件。不同的用户登录,这个文件的内容都不一样。

7.  其他相关的配置文件:

(1)/etc/man.config  规范了使用 man 的时候, man page 的路径到哪里去寻找

(2)~/. bash_history    记录我们的历史命令。

(3)~/. bash_logout   记录了『当我注销 bash 后, 系统再帮我做完什么动作后才离开』

8.  终端机的环境设定: stty, set
(1)stty 查看和设定终端机的输入按键代表意义命令:
# stty [-a]
选项与参数:
-a : 将目前所有的 stty 参数列出来;

(2)set命令:设置自己的终端机设置值

9.  通配符与特殊符号:





版权声明:本文为博主原创文章,未经博主允许不得转载。

Bash shell基本操作命令和环境变量命令(笔记)

一、Bash Shell 的基本操作命令 1、type:查看命令是否是bash shell 的内置命令 type cd 2、echo :变量的显示 echo $变量 echo name ...

鸟哥的linux私房菜学习笔记《二十二》bash shell的操作环境

1. 命令执行的是顺序 2. bash的登录与欢迎信息 3. bash的环境配置文件 4. source:读入环境配置文件 5. stty:终端机的设置...

【鸟哥的linux私房菜-学习笔记】Bash shell的变量功能及操作环境

shell只要能够操作应用程序的接口都能够称为shell用户->shell->核心->硬件查看系统下有哪些可用的shell:/etc/shells (linux下常用的是bash)用户登陆时,系统会...

第22节-Bash Shell 的操作环境

路径与命令搜寻顺序 执行一个命令有4种运行方式: 1.以相对/绝对路径运行命令,例如『 /bin/ls 』或『 ./ls 』; 2.由 alias 找到该命令来运...

Linux:shell变量功能和Bash shell的操作环境

http://blog.csdn.net/pipisorry/article/details/43235263bash shell的操作环境个人配置文件介绍环境配置文件: login, non-log...

Linux下Bash的操作环境相关,issue,motd,login shell,non-login shell,source,stty,set

Bash的欢迎信息 修改本地欢迎信息 进入terminal  tty1-tty6时会有几行提示字符串,可以在/etc/issue里修改它 它使用反斜杠作为变量取用,主要参数如下: ...
  • del1214
  • del1214
  • 2011年10月05日 09:25
  • 1042

【Bash百宝箱】shell环境变量有哪些

在shell中,有些环境变量如PATH、HOME、PWD等我们非常熟悉,有些则较为陌生,下面对shell现有的环境变量作个总结。CDPATH:冒号分隔的一组目录名,用作内建命令cd的搜索路径。HOME...
  • iEearth
  • iEearth
  • 2016年09月28日 21:25
  • 747

Shell(bash)脚本学习之--------内建/外建,自定义变量和环境变量

首先我们先来看看我们系统上有那些shell $ cat /etc/shells # /etc/shells: valid login shells /bin/csh /bin/sh /usr/b...

Bash Shell执行环境相关

指令运作的顺序: 1、以相对/绝对路径执行指令,例如『 /bin/ls 』或『 ./ls 』; 2、由 alias 找到该指令来执行; 3、由 bash 内建的 (builtin) 指令来执行;...

SHELL编程BASH环境变量-57

shell编程bash环境变量         一、什么是环境变量             1、用户自定义变量只在当前的shell中生效,而环境变量会在当前shell和这个shell的所有子s...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:十四. bash shell的操作环境
举报原因:
原因补充:

(最多只允许输入30个字)