提高办公工作效率的Linux命令行秘诀
1、查看命令的使用频率 www.zhishiwu.com
$ 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、使用历史扩展 www.zhishiwu.com
$ 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、如果可以,不要频繁切换目录。