第一章 bash基础
cd - 改变到前一个工做目录
文件名、通配符和路径名扩展
?匹配单个字符
*任意字符字符串
[set] set中任意字符
[!set]不在set中任意字符
大括号扩展
可选前缀+{}+可选后缀
eg : b{ed, ar}s
标准I/O
常用UNIX数据过滤功能
cat - 将输入复制到输出
grep - 在输入中检索字符串
sort - 在输入中将行排序
cut -从输入中抽取列
sed - 对输入执行编辑操作
tr - 将输入字符转化为其他字符
管道行
可以将一个命令的输出重定向到另一个命令的标准输入而不是一个文件。这种结构称之为管道。
ls -l | more 一次显示一屏的详细列表
cut -d: -f1 < /etc/passwd | sort
从输入域中抽取冒号分割(-d:)的第一个域(-f1)
后台IO
- 命令后加一个&,该命令会在后台执行
- jobs 查看当前有多少在后台运行的命令
- ctrl + z 可以将一个正在前台执行的命令放到后台,并且处于暂停状态。
- fg命令,将后台中的命令调至前台继续运行。如果后台中有多个命令,可以用fg %jobnumber(是命令编号,不是进程号)将选中的命令调出。
- bg命令:将一个在后台暂停的命令,变成在后台继续执行。如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出。
- kill:通过jobs命令查看job号(假设为num),然后执行kill %num。.通过ps命令查看job的进程号(PID,假设为pid),然后执行kill pid。
特殊字符和引用
字符 | 含义 | 介绍的章节 |
---|---|---|
~ | 主目录 | 一 |
· | 命令替换 | 四 |
# | 注释 | 四 |
$ | 变量表达式 | 三 |
& | 后台作业 | 一 |
* | 字符串通配符 | 一 |
( | 启动子shell | 八 |
) | 停止子shell | 八 |
\ | 引用下一字符 | 一 |
管道 | ||
[ | 开始字符集通配符号 | 一 |
] | 结束字符集通配字符 | 一 |
{ | 开始命令块 | 七 |
} | 结束命令块 | 七 |
; | shell命令分隔符 | 三 |
‘ | 强引用 | 一 |
“ | 弱引用 | 一 |
< | 输入重定向 | 一 |
> | 输出重定向 | 一 |
/ | 路径名分隔符 | 一 |
? | 单个任意字符 | 一 |
! | 管道行逻辑NOT | 五 |
续行
通过反斜线符号结束一行,或者通过一个未结束的引号标记。
控制键
Ctrl + C:终止当前命令
Ctrl + D: 输入结束
Ctrl + \:quit
Ctrl + S:停止输出到屏幕
Ctrl + ?:删除最后的字符
Ctrl + U:删除整个命令行
Ctrl + Z:暂定当前命令