bash:
1、命令历史,命令补全
2、管道、重定向
3、命令别名
4、命令行编辑
5、命令行展开
6、文件名通配
7、变量
8、编程
命令行编辑:
光标跳转:
ctrl+a:跳到命令行首
ctrl+e:跳到命令行尾
ctrl+u:删除光标至命令行首的内容
ctrl+k:删除光标至命令行尾的内容
ctrl+左右箭头,一次跳一个单词
ctrl+l:清屏
命令历史:
上下箭头翻转之前的命令
history 显示之前执行的所有命令
-c 清空所有历史
-d offset 删除第offset个历史命令
-d offset n 删除从offset开始的n个历史命令
用户正常退出,历史命令会从内存缓存中保寸至home下的隐藏文件.bash_history
-w 手动保存命令历史至历史文件
环境变量:HISTSIZE 默认1000条,命令历史缓冲区大小
echo $HISTSIZE
命令历史使用技巧:
!n 执行命令历史的第n条命令
!-n 执行命令历史的倒数第n条命令
!! 执行刚刚执行的上一条命令
!string 执行命令历史中最近一次以指定字符串开头的命令
!$ 引用前一个命令的最后一个参数
按着Esc放开,再按 . 引用前一个命令的最后一个参数
或者按着ALt+. 引用前一个命令的最后一个参数
命令补全(在PATH环境变量中搜索补全):如果你键入了文件名、命令、或路径名的一部分,然后按 [Tab] 键,bash 要么会把文件或路径名的剩余部分补全,要么会给你一个响铃(如果你的系统中启用了声效的话)。如果你得到的是响铃,只需再按一次 [Tab] 键来获取与你已键入的部分匹配的文件或路径名的列表。
路径补全:[Tab] 键,在命令搜索路径下查找。
命令补全:搜索PATH环境变量所指定的每个路径下已给出我们给出的字符串开头的可执行文件,如果多个一个,两次TAB,可以给出列表;否则直接补全。
路径补全:搜索我们给出的起始路径下的每个文件名,并试图补全。
命令别名:在shell中定义的别名,只在当前shell的生命周期有效:别名的有效范围只在当前shell进程。
alias命令 给命令其别名
alias CMDALIAS=‘COMMAND [options] [arguments]‘
eg alias cls=clear
取消别名 unalias
\CMD 如果想要使用命令本身,命令前加\
命令替换: $(COMMAND) 或者 反引号:`COMMAND`
把命令中的某个子命令替换为命令的执行结果
eg. echo "the current directory is $(pwd)."
touch ./file-$(date +%F-%H-%M-%S).txt
bash 支持的引号有三种:
1、`` 反引号,命令替换
2、"" 双引号,弱引用,可以实现变量替换
3、‘‘ 单引号,强引用,不完成表变量替换
文件名通配,globbing
* :匹配任意长度的任意字符
? :匹配单个字符
[]:匹配指定范围内的任意单个字符
[[:space:]] 所有空白字符
[[:punct:]] 所有标点符号
[[:lower:]] 所有小写字母
[[:upper:]] 所有大写字母
[[:alpha:]] 所有大小写字母
[[:digit:]] 所有数字 [^[:digit:]] 所有非数字
[[:alnum:]] 所有数字和大小写字母
使用man 7 glob命令可以获得上述列表说明
eg:ls [a-zA-Z]*[0-9]
[^]:匹配指定范围外的任意单个字符
本文出自 “testpark” 博客,谢绝转载!