Tag Archive for 'productivity'

Unix Shell: 在单个命令中创建复杂目录树

在unix shell中,如果需要创建目录结构,通常是这样的:
#单独定义每个目录树
~ $ mkdir tmp
~ $ cd tmp
~/tmp $ mkdir a
~/tmp $ cd a
~/tmp/a $ mkdir b
~/tmp/a $ cd b
~/tmp/a/b/ $ mkdir c
~/tmp/a/b/ $ cd c
~/tmp/a/b/c $

也可以使用稍高级一点的方法,一个命令来定义目录层次:
~ $ mkdir -p tmp/a/b/c
这样 tmp/a/b/c 这样的层次结构就一次建好了

最后,甚至可以使用一个命令来定义复杂的目录树
~ $ mkdir -p project/{lib/ext,bin,src,doc/{html,info,pdf},demo/stat/a}
#来看看产生了些什么
~ $ tree project/
project/
|-- bin
|-- demo
| `-- stat
| `-- a
|-- doc
| |-- html
| |-- info
| `-- pdf
|-- lib
| `-- ext
`-- src

是不是很方便呢,比在脚本里写上一堆mkdir轻松多了把, enjoy it :)

参考来源:UNIX高手的10个习惯

提高在UNIX/Linux shell下的工作效率:命令行编辑

对于长期工作在UNIX/Linux下的系统管理员和开发人员, 提高命令行输入的效率是很有必要的, 目标是尽量减少击键的次数, 回顾一下bash shell里的快捷键, 记牢它们是很有用的:

  • Control-A —— 将当前位置定位到行开头
  • Control-E —— 将当前位置定位到行尾
  • Control-K —— 删除截止行尾的所有内容
  • Alt-B —— 后退一个单词
  • Alt-F —— 向前推进一个单词
  • Alt-D —— 删除当前单词
  • Control-R —— 根据输入反向智能搜索
  • Control-L —— 清屏,相当于输入clear命令

其他有用的tips: 充分利用 bash, 更多有用的内容在IBM developerWorks 中国