#shell 命令
shell 命令由一个或多个单词组成,它们由命令上的空格或TAB键分隔。
命令的第一个单词是命令,其余的是命令参数。
选项是一种特殊参数,它给出命令要采取的动作的特定信息。
选项通常由一个短划线后跟字母组成。
重要的文件有三种:普通文件,可执行文件,目录。
目录,工作目录,主目录(~).
cd 改变当前工作,目录
pwd可以显示当前工作目录。
cd - 回到前一个工作目录
文件名,通配符和路径名扩展
文件名包含通配符的表达式的匹配过程称为通配符扩展或聚集。
大括号扩展为给定形式的任意字符串(大括号可以嵌套)
I/O 重定向
- 重定向标准输入 <
- 重定向标准输出 >
如果运行的命令不需要用户输入,并且这个命令执行时间比较长,则可以在命令后加符号 & 进入后台运行。 使用 jobs 检验后台作业。
如果要运行一个后台作业,并需要给出标准输出或产生输出,通常要重定向 I/O 以便其可以从一个文件接受输入或向一个文件输出。
前台和后台的优先级一样高
nice command 可以降低命令的优先级
- ~ 主目录
- ` 命令替换
- $ 变量表达式
- & 后台作业
- * 字符串通配符
- ( 启动子 shell
- ) 停止子 shell
- \ 应用下一个字符
- | 管道
- [ 开始字符集通配符号
- ] 结束字符集通配符号
- { 开始命令块
- } 结束命令块
- ; shell 命令分隔符
- ' 强引用
- " 弱引用
- < 输入重定向
-
输出重定向
- / 路径名目录分割符
- ? 单个任意字符
- ! 管道行逻辑 NOT
有时候需要照字面意思使用特殊字符,而不是其特殊含义,这称为引用(转义).
如果用单引号将字符串括起来,则引号内任意字符的特殊含义均被屏蔽。
要输出 it's 时需要是 'it'''s',可以理解为转义两次。
使用反斜线符号,则在其到行结尾之间必须无内容。
- CTRL-C 终止当前命令
- CTRL-D 输入结束
- CTRL-\ 如果 CTRL-C 无效,则终止当前命令
- CTRL-S 停止输出到屏幕
- CTRL-Q 重新开始到屏幕上输出
- CTRL-?或DEL 删除最后的字符
- CTRL-U 删除整个命令行
- CTRL-Z 暂停当前命令
help