-
光标跳转
ctrl + a 将光标移动到命令行开头相当于VIM里shift+^
ctrl + e 将光标移动到命令行结尾处相当于VIM里shift+$
ctrl + f 光标向后移动一个字符相当于VIM里l
ctrl + b 光标向前移动一个字符相当于VIM里h
ctrl + 方向键左键 光标移动到前一个单词开头
ctrl + 方向键右键 光标移动到后一个单词结尾
ctrl + x 在上次光标所在字符和当前光标所在字符之间跳转
alt + f 跳到光标所在位置单词尾部
-
命令行删除
ctrl + d 删除光标所在位置上的字符相当于VIM里x或者dl
ctrl + h 删除光标所在位置前的字符相当于VIM里hx或者dh
ctrl + k 删除光标后面所有字符相当于VIM里d shift+$
ctrl + u 删除光标前面所有字符相当于VIM里d shift+^
ctrl + w 删除光标前一个单词相当于VIM里db
ctrl + y 恢复ctrl+u上次执行时删除的字符
ctrl + ? 撤消前一次输入
ctrl + l 清屏
alt + r 撤消前一次动作
alt + d 删除光标所在位置的后单词
-
替换
ctrl + t 将光标当前字符与前面一个字符替换
alt + t 交换两个光标当前所处位置单词和光标前一个单词
alt + u 把光标当前位置单词变为大写
alt + l 把光标当前位置单词变为小写
alt + c 把光标当前位置单词头一个字母变为大写
^oldstr^newstr 替换前一次命令中字符串
-
命令历史
history 查看命令历史
-c 清空命令历史
-d 500 删除第500个命令
-d 500 10 从第500个命令往后删除10个
-w 手动保存命令历史(正常关机时会自动保存,历史文件是家目录下的 .bashhistory)
# echo $HISTSIZE 查看缓存中能存储最大命令个数
! 441 执行命令历史中的第441个命令
! -441 执行命令历史中倒数第441个命令
!! 执行上一条命令
!STRING 执行命令历史中最近一个以指定字符串开头的命令(!cle 执行最后一个以cle开头的命令)
!$ 引用上一个命令中最后一个参数
键入 Esc 松开 键入 . 引用上一个命令中最后一个参数
Alt+. 引用上一个命令中最后一个参数,模拟终端支持,远程终端不支持 -
命令补全
Tab
在path环境变量下搜索,补全的前提是已写的字符能唯一标识这个命令
连敲两次Tab键,显示所有已写字符的命令 -
路径补全
Tab
从已写的路径下补全
连敲两次Tab键,显示所有已写字符的命令? -
命令别名
alias 不加参数,显示所有有别名的命令
alias CMDALIAS = COMMAND [OPTIONS] [ARGUMENTS] 相当于定义了一个变量,只在当前shell的生命周期内有效,如果想定义一个长期有效的别名,可以在shell程序的配置文件中修改,后续会讲到。
# alias cls = clear 为clear命令定义了一个别名cls。
unalias cls 取消别名为cls的命令。 -
命令替换
把命令中为某个子命令替换为结果的过程 $(COMMAND) 反引号 `COMMAND`
# pwd
/etc/sysconfig
# echo "The current directory is $(pwd)."
The current directory is /etc/sysconfig.
# touch ./file-$(date +%F-%H-%M-%S).txt
创建一个名为 file-年-月-日-时-分-秒.txt的文件 -
文件名通配 globbing
*:匹配任意长度的任意字符
# ls
a a123 ab123 abc x12 xyz xyz123
#ls a*
a a123 ab123 abc
# ls a*3
a123 ab123
?:匹配任意单个字符
# ls ?y*
xyz xyz123
# ls ??y*
[]:匹配范围内任意单个字符
[abc] [a-m] [a-z] [A-Z] [a-zA-Z] [0-9a-zA-Z]
ls [a-zA-Z]*[0-9] 显示以任意字母开头且以任意数字结尾的文件
[^]:匹配该范围外的任意单个字符
ls [^0-9]* 显示所有非数字开头的文件
常见特殊字符的表示法
[:space:] 所有空白字符的集合(空白字符俺不确定) ----->从这个集合中随意找一个匹配 [[:space:]](下列同此)
[:punct:] 所有标点符号的集合
[:lower:] 所有小写字母的集合
[:up:] 所有大写字母的集合
[:alpha:] 所有大小写字母的集合
[:digit:] 所有数字的集合
[:alnum:] 所有数字大小写字母的集合
同样支持^取反
在bash中可以使用 # man 7 glob 查看所有类似集合
例如:在某个目录下找以字母开头、字母结尾、中间有空白的文件
# ls [[:alpha:]]*[[:space:]]*[[alpha]]
在某个目录下找以字母开头、不以字母结尾、中间有空白的文件
# ls [[:alpha:]]*[[:space:]]*[^[alpha]]
注意:通配符并不能精确表示所有的文件名,有时需要利用正则表达式来达到目的。
-
其它
ctrl + s 锁住终端
ctrl + q 解锁终端
ctrl + l 清屏相当于命令clear
ctrl + c 另起一行
ctrl + i 类似TAB健补全功能
ctrl + o 重复执行命令
alt + 数字键 操作的次数
ctrl + p 返回上一次输入命令字符
ctrl + r 输入单词搜索历史命令
alt + p 输入字符查找与字符相接近的历史命令
ctrl + ? 撤消前一次输入
ctrl + r 输入单词搜索历史命令
-
本文地址,转载请注明出处:http://blog.csdn.net/qq_33442549/article/details/51837725
bash简单实用技巧
最新推荐文章于 2024-07-11 10:51:42 发布