| 
		    
                       引言 
  当您经常使用某个系统时,往往会陷入某种固定的使用模式。有时,您没有养成以尽可能最好的方式做事的习惯。有时,您的不良习惯甚至会导致出现混乱。纠正此类缺点的最佳方法之一,就是有意识地采用抵制这些坏习惯的好习惯。本文提出了 10 个值得采用的 UNIX 命令行习惯——帮助您克服许多常见使用怪癖,并在该过程中提高命令行工作效率的好习惯。下面列出了这 10 个好习惯,之后对进行了更详细的描述。 
  采用 10 个好习惯 
  要采用的十个好习惯为: 
  1. 在单个命令中创建目录树。   2. 更改路径;不要移动存档。   3. 将命令与控制操作符组合使用。   4. 谨慎引用变量。   5. 使用转义序列来管理较长的输入。   6. 在列表中对命令分组。   7. 在 find 之外使用 xargs。   8. 了解何时 grep 应该执行计数——何时应该绕过。   9. 匹配输出中的某些字段,而不只是对行进行匹配。   10. 停止对 cat 使用管道。 
  好习惯1 在单个命令中创建目录树 
  清单 1 演示了最常见的 UNIX 坏习惯之一:一次定义一个目录树。 
  清单 1. 坏习惯 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 选项并在单个命令中创建所有父目录及其子目录要容易得多。但是即使对于知道此选项的管理员,他们在命令行上创建子目录时也仍然束缚于逐步创建每级子目录。花时间有意识地养成这个好习惯是值得的: 
  清单 2. 好习惯 1 的示例:使用一个命令来定义目录树 
~ $ mkdir -p tmp/a/b/c 
  您可以使用此选项来创建整个复杂的目录树(在脚本中使用是非常理想的),而不只是创建简单的层次结构。例如: 
  清单 3. 好习惯 1 的另一个示例:使用一个命令来定义复杂的目录树 
~ $ mkdir -p project/{lib/ext,bin,src,doc/{html,info,pdf},demo/stat/a} 
  过去,单独定义目录的唯一借口是您的 mkdir 实现不支持此选项,但是在大多数系统上不再是这样了。IBM、AIX®、mkdir、GNU mkdir 和其他遵守单一 UNIX 规范 (Single UNIX Specification) 的系统现在都具有此选项。 
  对于仍然缺乏该功能的少数系统,您可以使用 mkdirhier 脚本(请参见参考资料),此脚本是执行相同功能的 mkdir 的包装: 
~ $ mkdirhier project/{lib/ext,bin,src,doc/{html,info,pdf},demo/stat/a} 
  好习惯2 更改路径;不要移动存档 
		    
                       
		      
		      
		   |