BEEN
life‘s short
日历
五月 | ||||||
---|---|---|---|---|---|---|
日 | 一 | 二 | 三 | 四 | 五 | 六 |
27 | 28 | 29 | 30 | 1 | 2 | 3 |
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
最新评论
最新留言
链接
shell 基础
奔斗
posted @ 2013年12月26日 20:44
in linux
, 766 阅读
参考资料 :UNIX和shell程序设计权威教程 清华大学出版社
鸟哥的私房菜
1.验证当前shell
echo $0
2.重定向
类型 | Korn shell or Bash shell |
输入 | 0<file1 |
输出 | 1>>file1(追加) or 1>|file1(覆盖) |
错误输入 | 2>>file1(追加形式) or 2>|file2(覆盖形式) |
输出错误(不同文件) | 1> file1 2>file2 |
输出错误(同一个文件) | 1>file1 2&1 |
重定向到垃圾桶 /dev/null
3.管道
注意管道的左边命令必须能够发送数据至标准输出,右端命令必须能从标准输入接收数据
4.引号:斜干(\)、单引号('')、双引号("")
斜杆主要是用来转义、如果需要输出单引号,双引号也需要在引号前面加上 \
单双引号可以使其内的所有特殊字符失去特殊作用。不过单引号的能力比双引号的能力更强。爽引号保留诸如空格、制表符、换行符、自定义变量。单引号则不能
5.命令替代:在一段文本中使用某个命令 $(command)
6.作业控制
只有将工作挂起才能将工作置于前台或后台工作 (fg %n bg %n)
从前台后台停止工作 (ctrl+z stop)
从前台后台终止工作(ctrl +d kill)
7.别名
给命令自定义自己喜欢的名字(如果命令是家参数的需要用单引号或双引号) alias name=command
取消别名unalias name
显示所有的命令别名 alias
8.变量
8.1修改系统级变量
《私房菜》P377
增加变量 方式 -> 变量名=$"变量名":增加内容
将变量转变成环境变量 export 变量名
方式 | 结果 |
$(variable#key) | 从变量的开头删除一直到key之后 |
$(variable##key) | 从变量的开头删除最长的字符串一直到key之后 |
$(variable%key) | 从变量的尾部开始删除一直到key之前 |
$(variable%%key) | 从变量的尾部开始删除最长的字符串一知道key之前 |
$(varible/old_k/new_key) |
用new_key替换第一个符合的old_k |
$(varible//old_key/new_key) | 用new_key替换所有的old_k |
8.2修改个人变量
8.3变量的测试
9终端的区别
终端分为两种一种是需要登录的终端(login shell)指的是tty1~6,一种是不需要登录的(no-login shell),指的是在x-windows下启动的图形终端。两种终端启动的配置文件是不同的
login shell 对应 /etc/profile
no-login shell对应~/.bash_profile or ~/.bash_login or ~/.profile (优先顺序从左到右)
详见《私房菜》P384 ~392 Bash Shell的环境操作
《私房菜》P380 ps:乱码语系P371