认识与学习bash(2)
1. stty stty -a 列出目前环境中所有的按键列表
ctrl+c 终止目前命令
ctrl+d 输入结束(EOF),例如邮件结束的时候
ctrl+m 就是Enter
ctrl+s 暂停屏幕的输出
ctrl+q 恢复屏幕的输出
ctrl+u 在提示符下,将事先命令删除
ctrl+z 暂停目前的命令
2. 通配符
* 代表0到无穷多个任意字符
? 代表一定有一个字符
[] 例如[abcd]代表一定有a b c d 中的一个字符
[-] 例如[0-9]代表0到9之间的数字
[^] 例如[^abc]代表一定有一个字符,只要是非a b c 的其他字符就接受的意思
# 批注释符,最常用于script中,视为说明,其后的数据均不执行
\ 转义符号
| 管道
; 连续命令
~ 用户主文件夹
$ 使用变量前导符,即是变量之前需要加的变量替代值
/ 目录符号
>,>> 数据流重定向,分别是 替换 和 累加
<,<< 数据流重定向,导出
'' 单引号,不具有变量置换的功能
“” 双引号,具有变量置换的功能
`` 反单引号,中间的命令可以先执行
() 在中间为shell的起始与结束
{} 在中间为命令块的组合
3. 1> 以覆盖的方法将正确的数据输出到指定的文件或设备上
1>> 以累加的方法将正确的数据输出到指定的文件或设备上
2> 以覆盖的方法将错误的数据输出到指定的文件或设备上
2>> 以累加的方法将错误的数据输出到指定的文件或设备上
4. || &&
cmd1 && cmd2 表示若cmd1执行完毕且正确执行(&?=0),则开始执行cmd2
若cmd1执行完毕且错误(&?!=0),则cmd2不执行
cmd1 !! cmd2 表示若cmd1执行完毕且正确执行(&?=0),则cmd2不执行
若cmd1执行完毕且错误(&?!=0),则开始执行cmd2
5. 管道命令
ls -al /etc | less 这样就可以慢慢查看内容了,而不会导致将屏幕塞满
1) cut -d 接分隔字符,与 -f 一起用
-f 取第几段的意思
-c 以字符的单位取出固定字符区间
例如: echo $PATH |cut -d ':' -f 5
2) grep -a 将binary文件以text文件的方式查找数据
-c 计算找到‘查找字符串’的次数
-i 忽略大小写的不同,所以大小写视为相同
-n 输出行号
-v 输出没有'查找字符串'内容的那一行
--color=auto 将查找到的关键字加上颜色显示
例如: last | grep 'root' | cut -d ' ' -f 1
3) sort -f 忽略大小写
-b 忽略最前面的空格符部分
-M 以月份的名字来排序例如 JAN, DEC等的排序方法
-n 使用“纯数字”进行排序
-r 反向排序
-u 就是uniq,相同的数据中,仅出现一行代表
-t 分隔符,默认是用[Tab]键来分隔
-k 以那个区间来进行排序的意思
例如: cat /etc/passwd | sort -t ':' -k 3
4) uniq -i 忽略大小写
-c 进行读数
例如: last | cut -d ' ' -f 1 | sort | uniq -c
5) tr, col, join, paste, expand
posted on 2012-11-22 13:12 louzhang_swk 阅读(213) 评论(0) 编辑 收藏 举报