Linux命令学习(一)

17 十二月, 2006 (22:47) | linux

今天在IBM Developer上看到一篇名为《Learn 10 good UNIX usage habits》的文章,对linux下的命令又有了一些新的认识,以下是我的笔记:

mkdir -p一次创建多个目录
例如:

mkdir -p temp/{a,b,c}
ls temp
a b c

大括号({})中是要创建的目录名,以逗号(,)隔开,注意不能空格(或者如果真的需要空格的话,用转义符(\))。
大括号可以嵌套,例如:

mkdir -p temp{a/{a1,a2},b,c/{c1,c2}}
tree temp
temp
|-- a
| |-- a1
| `-- a2
|-- b
`-- c
|-- c1
`-- c2

tar -C指定解压缩的目录
tar -C 可以指定要将文件解压缩的目录。这个在gentoo安装手册上已经学到了:)

用&&和||组合命令
cmd1 && cmd2 cmd2只有在cmd1成功执行后才会执行。
cmd1 || cmd2 cmd2只有在cmd1失败后才会执行。

用{}和()执行批量命令
例如:

( cd temp; VAR=$PWD; cd; tar jxvf temp.tar.bz2 -C $VAR ) | less
temp
temp/a
...
echo $VAR


注意,括号和命令以及命令和命令之间要有空格。
使用大括号({})组合命令的话,最后一个命令后面要跟随分号(;)。
下面的命令等价于上面的命令:

{ cd temp; VAR=$PWD; cd; tar jxvf temp.tar.bz2 -C $VAR; } | less

还有一点可能跟unix下不太一样,文章中说如果()中有定义变量,不会影响到当前的shell,而{}则会影响到,我在linux下测试没有出现这种情况,定义的变量都不会影响当前的shell。

用grep -c来统计匹配的行数
grep -c 的作用类似grep | wc -l,不同的是,如果是查找多个文件,grep -c会统计每个文件匹配的行数,每行一个文件的列出来,而wc -l 则列出总的统计数字。
另外grep -c 要比 grep | wc -l快一点。

grep -o加wc -l统计所有的匹配
如果一行有多个匹配的话,grep -c只能记为一行,用grep -o | wc -l就会统计匹配的次数。

Write a comment





提示:如果你刚刚提交过评论,但是还没有被显示出来,请点击这里刷新一下: 刷新评论