清屏
Ctrl+L
Tab 补全
tab
光标移动
ctrl+u 清除光标前的字符
ctrl+a 移动到行首
ctrl+e 移动到行尾
ctrl+b 回退一个字符
ctrl+f 前进一个字符
ctrl+w 删除到前一个单词
ctrl+k 删除光标后的字符
ctrl+_ 撤销更改
ctrl+r 搜索历史命令
特殊字符:
\ 转义字符
* 表示任意字符(包含空字符)例: find x*.dat
?表示任意单个字符 例:find x?.txt
[] 单个字符集合 例:find a[bcd].txt
() 在 子shell 中运行程序 例:pwd & (cd /etc)&& pwd
; 分隔一行中的多个命令 例:echo Hi; uname
'' 禁止 shell 解释 例:find '(echo abc)'*
`` 作为命令运行 例:echo `uname`
"" 引号中的内容作为整体,除了 $ 和 `` 之外都不解释 例:cd "untiled folder"
| 管道符,前面命令的输出传给后面的命令 例:echo hello | wc
& 在后台运行 例:ip &
&& 只有当第一个命令成功,才会执行第二个命令 例:a==0 && echo "a==0"
|| 只有第一个命令失败,才会执行第二个命令 例:a==0 || echo "a!=0"
! 历史命令替换 例:sudo !!
^ 历史命令替换 例:ls *.txt 替换 ^txt^dat 执行 ls *.dat 命令
# 注释符号 例:which ls # 说明:查找ls 的位置
> 输出重定向符号 例: echo "把标准输出重定向到文件" > ex.txt
>> 向文件追加 例:echo "把内容加到文件末尾" >> ex.txt
< 从文件读取 例:cat < ex.txt
2> 把标准输出重定向到文件 例:rm a b c > out.txt 2> err.txt