提高办公工作效率的命令行秘诀
1、查看命令的使用频率
$ history|awk '{print $2}'|awk 'BEGIN {FS="|"} {print $1}'|sort|uniq -c|sort -r 4 ls 2 cd 1 who |
应用:定期查看history文件内使用频率高的命令,然后设置history不记录这些命令,提高history文件的作用。
2、查看使用的shell类型
$ echo $0 -bash |
应用:根据相应的shell类型使用文件名自动完成功能。
3、使用历史扩展
$ grep pickles this-is-a-long-lunch-menu-file.txt pastrami on rye with pickles and onions $ vi !$ |
应用:您使用感叹号 (!) 来访问历史,然后使用美元符号 ($) 返回前一命令的最后字段。如果您反复用到长文件名,那么这是一个非常好的工具。
4、重用以前的参数
$ mv kxp12.c file_system_access.c $ ln –s !$ !:1 |
应用:!$ 命令返回某个命令使用的上一个文件名参数。但如果某个命令使用多个文件名,而您只希望重用其中一个文件名,该如何做?!:1 操作符返回某个命令使用的第一个文件名。
5、使用 pushd 和 popd 管理目录导航
$ pushd /etc /etc $ pushd /var /var /etc $ pushd /usr/local/bin /usr/local/bin /var /etc $ dirs /usr/local/bin /var /etc $ popd /var /etc $ popd /etc $ popd |
pushd 和 popd 命令还支持使用参数处理目录堆栈。使用 +n 或 -n 参数,其中 n 是一个数字,您可以向左或向右移动堆栈
$ dirs /usr/local/bin /var /etc $ pushd +1 /var /etc /usr/local/bin |
应用:当您要在多个目录中导航,但希望能够快速返回某个位置时。pushd 和 popd 命令创建一个虚拟目录堆栈,pushd 命令用来更改您的当前目录并将其存储在堆栈中,而 popd 命令用来从堆栈的顶部移除目录并使您返回该位置。您可以使用 dirs 命令来显示当前目录堆栈,而不会压入或弹出新目录。
6、不使用编辑器创建临时文件
$ cat > my_temp_file.txt This is my temp file text ^D |
应用:使用不带文件名的 cat 命令只回显向标准输入键入的任何内容;> 重定向将该输入捕获到指定的文件中。所以可以用来快速创建文件。
7、递归的创建目录
$ mkdir -p tmp/a/b/c $ mkdir -p project/{lib/ext,bin,src,doc/{html,info,pdf},demo/stat/a} |
应用:您可以使用-p选项来创建整个复杂的目录树(在脚本中使用是非常理想的),而不是逐个创建每级子目录。
8、更改路径;不要移动存档
$ tar xvf -C tmp/a/b/c newarc.tar.gz |
应用:将 .tar 存档文件移动到某个目录,因为该目录恰好是您希望在其中提取 .tar 文件的目录。其实您根本不需要这样做。您可以随心所欲地将任何 .tar 存档文件解压缩到任何目录——这就是 -C 选项的用途。在解压缩某个存档文件时,使用 -C 选项来指定要在其中解压缩该文件的目录。
9、将命令与控制操作符组合使用
$ cd tmp/a/b/c || mkdir -p tmp/a/b/c && tar xvf -C tmp/a/b/c ~/archive.tar |
应用:快速完成连续的命令。
10、如果可以,不要频繁切换目录。
来源:http://www.ibm.com/developerworks/cn/aix/library/au-unixtips/index.html
http://www.ibm.com/developerworks/cn/aix/library/au-badunixhabits.html
http://www.ibm.com/developerworks/cn/aix/library/au-productivitytips.html