- shell 常用命令
命令补全和⽂件路径补全, 如果写错⽆法补全 table
命令历史记忆功能history
别名功能alias、unalias
管道 | 将前者命令的标准输出交给后者命令的输⼊ tee 数据重定向到给定文件和屏幕上
; 没有逻辑关系,⽆论分号前⾯的命令执⾏是否成功都执⾏后者命令
&& 前⾯执⾏成功, 则执⾏后者
|| 前⾯执⾏不成功, 则执⾏后者
* 匹配任意多个字符
? 匹配任意⼀个字符
[] 匹配括号中任意⼀个字符a-z,0-9,A-Z,a-Z
() 在⼦ shell 中执⾏(cd /boot;ls) (umask 077; touch file1000)
{} 集合 touch file{1..9}
\ 转义符
echo 输出颜⾊ echo -e "\033[30m ⿊⾊字 \033[0m"
printf 格式化输出⽂本
- 常用Ctrl快捷键
Ctrl + C 这些是为了在终端上中断命令或进程该按的键。它将立刻终止运行的程序。
Ctrl + Z 该快捷键将正在运行的程序送到后台。
Ctrl + D 这对键盘快捷键将使你退出当前终端。
Ctrl + L Ctrl+L 清空终端
Ctrl + A 移动光标到所在行首
Ctrl + E 这对快捷键与 Ctrl+A 相反。 Ctrl+A 送光标到行首,反之 Ctrl+E 移动光标到行尾。
Ctrl + U 擦除从当前光标位置到行首的全部内容
Ctrl + K 擦除的是从当前光标位置到行尾的全部内容。
Ctrl + W 擦除光标位置前的单词。 如果光标在一个单词本身上,它将擦除从光标位置到词首的全部字母。
Ctrl + Y 这将粘贴使用 Ctrl+W,Ctrl+U 和 Ctrl+K 快捷键擦除的文本
Ctrl + P 查看上一个命令
Ctrl + N 显示下一个命令
- 前后台作业控制
ctrl + z 可以将一个正在前台执行的命令放到后台,并且暂停
bg 将一个在后台暂停的命令,变成继续执行
fg 将后台中的命令调至前台继续运行 如果后台中有多个命令,可以用 fg %jobnumber 将选中的命令调出,
%jobnumber 是通过 jobs 命令查到的后台正在执行的命令的序号 (不是 pid)
jobs 查看当前有多少在后台运行的命令
结束后台进程 通过 jobs 命令查看 job 号(假设为 num),然后执行 kill %num
- 输⼊输出重定向
输入重定向
命令符号格式 |
作用 |
命令 < 文件 |
将指定文件作为命令的输入设备 |
命令 << 分界符 |
表示从标准输入设备(键盘)中读入,直到遇到分界符才停止(读入的数据不包括分界符),这里的分界符其实就是自定义的字符串 |
命令 < 文件 1 > 文件 2 |
将文件 1 作为命令的输入设备,该命令的执行结果输出到文件 2 中。 |
输出重定向
令符号格式 |
作用 |
命令 > 文件 |
将命令执行的标准输出结果重定向输出到指定的文件中,如果该文件已包含数据,会清空原有数据,再写入新数据。 |
命令 2> 文件 |
将命令执行的错误输出结果重定向到指定的文件中,如果该文件中已包含数据,会清空原有数据,再写入新数据。 |
命令 >> 文件 |
将命令执行的标准输出结果重定向输出到指定的文件中,如果该文件已包含数据,新数据将写入到原有内容的后面。 |
命令 2>> 文件 |
将命令执行的错误输出结果重定向到指定的文件中,如果该文件中已包含数据,新数据将写入到原有内容的后面。 |
命令 >> 文件 2>&1 或者 命令 &>> 文件 |
将标准输出或者错误输出写入到指定文件,如果该文件中已包含数据,新数据将写入到原有内容的后面。注意,第一种格式中,最后的 2>&1 是一体的,可以认为是固定写法。 |