您的位置:首页 > 运维架构 > Shell

shell的一些很有用但是易忽略的东西

2013-11-28 20:07 246 查看

说明

这里说的易忽略,是由于我经常忘记或者一直依赖都不知道还有这茬=.=

感觉还是能够提示效率的,故在此记一记:-)

通配符

通配符不能匹配开头的.和文件夹分隔符/

* 零个或者多个连续的字符

? 单个字符

[set] 出现在set中的任何单个字符

[^set] 任何在set中出现的单个字符

[!set] 同^

# 查看fib.c
$ ls -l f[aeiou]b.c

花括号

含花括号的命令可以扩展为多个参数,以逗号分隔

# 打印 hello.c hello.cpp hello.java
$ echo hello.{c,cpp,java}


输入/输出重定向

shell可以将标准输入stdin,标准输出stdout,标准错误输出stderr重定向为文件。

也就是说,任何命令都可以使用<将输入数据来源从stdin重定向到文件。

# 将cmd的标准输入重定向到file文件
$ cmd < file

# 将echo的输出从标准输出重定向到文件
$ echo 'string' > file
# 追加到文件末尾
$ echo 'append' >> file

# 将标准错误输出stderr重定向到文件并且标准输出打印在屏幕上
$ cmd 2> file

# 将stderr与stdout同时重定向到文件
$ cmd > out 2> errr
# 简化
$ cmd >& out_and_error


一些快捷键

^ -> ctrl % -> alt

^a 光标到行首

^e 光标到行为

^u 删除光标到行首的内容

^k 删除光标到行尾的内容

^w 删除光标前的一个单词

%d 删除光标后的一个单词

^d 删除光标后的一个字符

^h 删除光标前的一个字符

^r 提供几个关键字,搜索历史命令并执行(重要)

%. 上一条命令的最后一个选项(esc+.同样效果)

github备份链接:https://github.com/longkai/longkai/blob/master/notes/linux/shell-useful-stuff.md
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐