认为这篇文章shell使用很不错转来的, 来源:
http://blog.chinaunix.net/u1/34784/showart.php?id=477680以下我在Linux, AS4U3上测试通过.
1、在单个命令中创建目录树
通常的做法:
~ $ 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
~ $ mkdir -p project/{lib/ext,bin,src,doc/{html,info,pdf},demo/stat/a}
注意: {}符号的使用噢!
2、更改路径, 不要移动存档
使用选项 -C 来解压缩 .tar 存档文件, 起到临时切换工作目录的作用。
~ $ tar xvfz newarc.tar.gz -C tmp/a/b/c
注意: -C参数必须放在最后面, 使用顺序别出错.
3、将命令与控制操作符组合使用
~ $ cd tmp/a/b/c && tar xvf ~/archive.tar
在此例中,存档的内容将提取到 ~/tmp/a/b/c 目录中,除非该目录不存在。如果该目录不存在,则 tar 命令不会运行,因此不会提取任何内容。
如果第一个命令运行成功,则第二个命令将运行。如果第一个命令失败,则第二个命令根本就不运行
注意: &&, 和~/符号的使用
将命令与控制操作符组合使用
~ $ cd tmp/a/b/c || mkdir -p tmp/a/b/c
|| 控制操作符分隔两个命令,并且仅当第一个命令返回非零退出状态时才运行第二个命令。
换句话说,如果第一个命令成功,则第二个命令不会运行。
如果第一个命令失败,则第二个命令才会 运行。
在测试某个给定目录是否存在时,通常使用此操作符,如果该目录不存在,则创建它!
阅读(1208) | 评论(0) | 转发(0) |