第10一章、认识与学习 BASH Bash Shell 的操作环境
第十一章、认识与学习 BASH Bash Shell 的操作环境
Bash Shell 的操作环境:
路径与命令搜寻顺序
命令运行的顺序:
- 以相对/绝对路径运行命令,例如『 /bin/ls 』或『 ./ls 』;
- 由 alias 找到该命令来运行;
- 运行 bash 内建的 (builtin) 命令;
- 运行搜寻$PATH到的第一个命令来。
举例来说,你可以下达 /bin/ls 及单纯的 ls 看看,会发现使用 ls 有颜色但是 /bin/ls 则没有颜色。 因为 /bin/ls 是直接取用该命令来下达,而 ls 是使用『 alias ls='ls --color=tty' 』命令别名! 如果想要了解命令搜寻的顺序,其实透过 type -a ls 也可以查询到!
例题:
配置 echo 的命令别名成为 echo -n ,然后再观察 echo 运行的顺序
答:
|
bash 的进站与欢迎信息: /etc/issue, /etc/motd
在终端机接口 (tty1 ~ tty6) 登陆的时候,会有几行提示的字符串!:
[root@www ~]# cat /etc/issue
CentOS release 5.3 (Final)
Kernel \r on an \m
|
就如同 $PS1 这变量一样,issue 这个文件的内容也是可以使用反斜杠表示变量!
issue 内的各代码意义 |
\d 本地端时间的日期; \l 显示第几个终端机接口; \m 显示硬件的等级 (i386/i486/i586/i686...); \n 显示主机的网络名称; \o 显示 domain name; \r 操作系统的版本 (相当于 uname -r) \t 显示本地端时间的时间; \s 操作系统的名称; \v 操作系统的版本。 |
例题:
如果你在 tty3 的进站画面看到如下显示,该如何配置才能得到如下画面?
答:
CentOS release 5.3 (Final) (terminal: tty3)
|
/etc/issue.net是提供给 telnet 这个远程登录程序用的。 当我们使用 telnet 连接到主机时,主机的登陆画面就会显示 /etc/issue.net 而不是 /etc/issue!
/etc/motd !例如:当登陆后,告诉登陆者, 系统将会在某个固定时间进行维护工作,可以这样做:
[root@www ~]# vi /etc/motd Hello everyone, Our server will be maintained at 2009/02/28 0:00 ~ 24:00. Please don't login server at that time. ^_^ |
那么当你的使用者(包括所有的一般账号与 root)登陆主机后,就会显示这样的信息出来:
Last login: Thu Feb 5 22:35:47 2009 from 127.0.0.1 Hello everyone, Our server will be maintained at 2009/02/28 0:00 ~ 24:00. Please don't login server at that time. ^_^