当你有个任务需要建立一个三层的文件夹 a/b/c 时,很多Unix/Linux的新手们都会按照下述步骤进行:
CodingAnts@ubuntu:~$ cd /tmp CodingAnts@ubuntu:/tmp$ mkdir a CodingAnts@ubuntu:/tmp$ cd a CodingAnts@ubuntu:/tmp/a$ mkdir b CodingAnts@ubuntu:/tmp/a$ cd b CodingAnts@ubuntu:/tmp/a/b$ mkdir c CodingAnts@ubuntu:/tmp/a/b$ cd c CodingAnts@ubuntu:/tmp/a/b/c$
这是一个很糟糕的坏习惯,但是却是很多Unix/Linux新手们的首选方案,下面就看看Unix/Linux高手们是如何解决这个问题的:
CodingAnts@ubuntu:/tmp$ mkdir -p a/b/c
简单的一条指令就完成了一个目录树的创建,使用mkdir命令的-p选项,对比下上面的创建目录过程,要简洁的多,使用-p选项不仅可以创建这种简单层次的目录结构,还可以创建更负责的目录树,例如:
CodingAnts@ubuntu:/tmp$ mkdir -p project/{lib/ext,bin,src,doc/{html,info,pdf},demo/stat/a}
执行上面的指令后,您将会创建以下目录,这么复杂的目录树,如果一个个的建立的话就太费劲了,所以一定要记住这个好习惯:使用mkdir -p 在单个命令中创建目录树!
project/
project/lib/ext
project/bin
project/src
project/doc/html
project/doc/info
project/doc/pdf
project/demo/stat/a
原文链接:http://www.ibm.com/developerworks/cn/aix/library/au-badunixhabits.html