Linux系统运维/Bash/5-4-Bash操作环境
2016-03-05 23:37
134 查看
路径与命令搜寻顺序
命令运行的顺序可以这样看:1. 以相对/绝对路径运行命令,例如『 /bin/ls 』或『 ./ls 』;
2. 由 alias 找到该命令来运行;
3. 由 bash 内建的 (builtin) 命令来运行;
透过 $PATH 这个变量的顺序搜寻到的第一个命令来运行。
bash 的进站与欢迎信息: /etc/issue, /etc/motd
[root@www ~]# cat /etc/issue CentOS release 5.3 (Final) Kernel \r on an \m |
issue 内的各代码意义 |
\d 本地端时间的日期; \l 显示第几个终端机接口; \m 显示硬件的等级 (i386/i486/i586/i686...); \n 显示主机的网络名称; \o 显示 domain name; \r 操作系统的版本 (相当于 uname -r) \t 显示本地端时间的时间; \s 操作系统的名称; \v 操作系统的版本。 |
\d 本地端时间的日期;
\l 显示第几个终端机接口;
\m 显示硬件的等级 (i386/i486/i586/i686...);
\n 显示主机的网络名称;
\o 显示 domain name;
\r 操作系统的版本 (相当于uname -r)
\t 显示本地端时间的时间;
\s 操作系统的名称;
\v 操作系统的版本。
2. /etc/issue.net这个是提供给 telnet 这个远程登录程序用的
3. /etc/motd告诉登陆者信息
bash 的环境配置文件
login、non-login/etc/profile:这是系统整体的配置,你最好不要修改这个文件;
/etc/inputrc
/etc/profile.d/*.sh(/etc/profile.d/lang.sh->/etc/sysconfig/i18n)
~/.bash_profile 或 ~/.bash_login 或 ~/.profile:属于使用者个人配置,你要改自己的数据,就写入这里!
~/.bash_profile
~/.bash_login
~/.profile
其实 bash 的 login shell 配置只会读取上面三个文件的其中一个, 而读取的顺序则是依照上面的顺序。
source :读入环境配置文件的命令
~/.bashrc (non-login shell 会读)
其他相关配置文件
/etc/man.config--MANPATH~/.bash_history
~/.bash_logout
这个文件则记录了『当我注销 bash 后,系统再帮我做完什么动作后才离开』
stty, set
组合按键 | 运行结果 |
Ctrl + C | 终止目前的命令 |
Ctrl + D | 输入结束 (EOF),例如邮件结束的时候; |
Ctrl + M | 就是 Enter 啦! |
Ctrl + S | 暂停屏幕的输出 |
Ctrl + Q | 恢复屏幕的输出 |
Ctrl + U | 在提示字符下,将整列命令删除 |
Ctrl + Z | 『暂停』目前的命令 |
通配符:
符号 | 意义 |
* | 代表『 0 个到无穷多个』任意字符 |
? | 代表『一定有一个』任意字符 |
[ ] | 同样代表『一定有一个在括号内』的字符(非任意字符)。例如 [abcd] 代表『一定有一个字符, 可能是 a, b, c, d 这四个任何一个』 |
[ - ] | 若有减号在中括号内时,代表『在编码顺序内的所有字符』。例如 [0-9] 代表 0 到 9 之间的所有数字,因为数字的语系编码是连续的! |
[^ ] | 若中括号内的第一个字符为指数符号 (^) ,那表示『反向选择』,例如 [^abc] 代表 一定有一个字符,只要是非 a, b, c 的其他字符就接受的意思。 |
bash 环境中的特殊符号:
符号 | 内容 |
# | 批注符号:这个最常被使用在 script 当中,视为说明!在后的数据均不运行 |
\ | 跳脱符号:将『特殊字符或通配符』还原成一般字符 |
| | 管线 (pipe):分隔两个管线命令的界定(后两节介绍); |
; | 连续命令下达分隔符:连续性命令的界定 (注意!与管线命令并不相同) |
~ | 用户的家目录 |
$ | 取用变量前导符:亦即是变量之前需要加的变量取代值 |
& | 工作控制 (job control):将命令变成背景下工作 |
! | 逻辑运算意义上的『非』 not 的意思! |
/ | 目录符号:路径分隔的符号 |
>, >> | 数据流重导向:输出导向,分别是『取代』与『累加』 |
<, << | 数据流重导向:输入导向 (这两个留待下节介绍) |
' ' | 单引号,不具有变量置换的功能 |
" " | 具有变量置换的功能! |
` ` | 两个『 ` 』中间为可以先运行的命令,亦可使用 $( ) |
( ) | 在中间为子 shell 的起始与结束 |
{ } | 在中间为命令区块的组合! |
相关文章推荐
- $@和 $*-linux_Shell
- Linux库文件和Shell可执行程序命令文件搜索路径变量的设置
- linux shell 编程笔记 - 命令执行顺序
- linux shell 编程笔记 - 文件重定向
- Linux系统运维/Bash/5-3
- Linux_bash的特性之glob
- Adam学习2之adam-shell使用
- linux shell脚本 -- 定时任务--备份日志
- linux shell脚本 -- 定时任务--备份日志
- shell脚本自动化打包构建_project和workspace打包的区别
- 找回Python IDLE Shell里的历史命令(用上下键翻历史命令怎么不好用了呢?)
- shell编程 select for循环
- python 调用 shell 命令方法
- Python IDLE或Python Shell不支持中文编码的解决方案
- 在shell中发送邮件的相关问题
- shell排序
- 升级10.11后使用CocoaPod出现-bash: pod: command not found 解决办法
- 利用shell脚本重启node.js
- Linux基础--Bash的基本特性
- shell脚本编写汇集