分类: LINUX
2010-07-22 10:11:39
这是十条linux系统下命令行操作模式时应该遵守的好习惯,他们不仅可以让你的操作更快,也能减少你失误的可能性。它们分别是
1.用一条mkdir语句建立一套完整的目录树
示例:
$ mkdir -p project/{lib/ext,bin,src,doc/{html,info,pdf},demo/stat/a}
2.在解压缩的时候,使用-C选项来指定目标文件夹
示例:
$ tar xvf -C tmp/a/b/c newarc.tar.gz
3.使用逻辑控制符来组合你的操作
示例:
$ cd tmp/a/b/c && tar xvf ~/archive.tar
4.把变量用加以双引号来防止被系统误解。
示例:
$ ls tmp/
a b
$ VAR="tmp/*"
$ echo $VAR
tmp/a tmp/b
$ echo "$VAR"
tmp/*
5.用Esc字符来把过长的指令分行输入
示例:
$ cd tmp/a/b/c || \
> mkdir -p tmp/a/b/c && \
> tar xvf -C tmp/a/b/c ~/archive.tar
6.把你的操作组合成一个列表
示例:
$ ( cd tmp/a/b/c/ || mkdir -p tmp/a/b/c && \
> VAR=$PWD; cd ~; tar xvf -C $VAR archive.tar ) \
> | mailx admin -S "Archive contents"
7.使用xargs命令来过滤find命令的输出。
示例:
~/tmp $ ls -1 | xargs
December_Report.pdf README a archive.tar mkdirhier.sh
~/tmp $ ls -1 | xargs file
December_Report.pdf: PDF document, version 1.3
README: ASCII text
a: directory
archive.tar: POSIX tar archive
mkdirhier.sh: Bourne shell script text executable
~/tmp $
8.知道何时该用grep计数,何时不该
示例:
~ $ time grep and tmp/a/longfile.txt | wc -l
2811
real 0m0.097s
user 0m0.006s
sys 0m0.032s
9.在要判断特定的域是否符合条件的时候,用awk来代替grep
示例:
~/tmp $ ls -l | awk '$6 == "Dec"'
-rw-r--r-- 3 joe joe 5096 Dec 14 14:26 archive.tar
-rw-r--r-- 1 root root 238 Dec 03 08:19 README
10.不要把文件内容用cat命令列出后再传给grep,grep可以直接查找文件
示例:
~ $ time grep and tmp/a/longfile.txt
2811
real 0m0.010s
user 0m0.006s
sys 0m0.004s