技巧:UNIX 高手的10 个工作习惯(1)
本文将提供另外 10 个改进您的 UNIX®命令行效率的好习惯
您应当采纳的其他 10 个好习惯包括:
使用文件名自动完成功能 (file name completion)
清单 1. 确定您的 Shell
$ echo $0
-bash
$ ps –p $$
PID TTY TIME CMD
6344 ttys000 0:00.02 –bash
C Shell
C Shell 支持最直接文件名完成功能
清单 2. 使用 !$ 获得前一个命令使用的文件名
$ grep pickles this-is-a-long-lunch-menu-file.txt
pastrami on rye with pickles and onions
$ vi !$
重用以前的参数
!$ 命令返回某个命令使用的上一个文件名参数
清单 3. 组合使用 !$ 和 !:1
$ mv kxp12.c file_system_access.c
$ ln –s !$ !:1
使用 pushd 和 popd 管理目录导航
UNIX 支持各种目录导航工具
清单 4. 使用 pushd 和 popd 在目录树中导航
$ pushd .
~ ~
$ 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
~ ~
$ popd
pushd 和 popd 命令还支持使用参数处理目录堆栈
清单 5. 旋转目录堆栈
$ dirs
/usr/local/bin /var /etc ~ ~
$ pushd 1
/var /etc ~ ~ /usr/local/bin
$ pushd -1
~ /usr/local/bin /var /etc ~
查找大型文件
是否需要找出您的所有空闲磁盘空间被什么占用了?您可以使用以下几个工具来管理您的存储设备
网络
清单 6. 确定卷的使用情况
$ df
Filesystem 512-blocks Used Available Capacity Mounted on
/dev/disk0s2 311909984 267275264 44122720 86% /
devfs 224 224 0 100% /dev
fdesc 2 2 0 100% /dev
map -hosts 0 0 0 100% /net
map auto_home 0 0 0 100% /home
是否希望查找大型文件?使用 find 命令时附带 -size 参数
服务器
Bash
Bash Shell 也提供了文件名完成,但使用 Tab 键代替 Esc 键
Korn Shell
对于 Korn Shell 用户,文件名完成取决于 EDITOR 变量的值
不使用编辑器创建临时文件
使用 awk 处理数据
通信
使用 curl 命令行实用工具
使用 pushd 和 popd 管理目录导航
使用历史扩展
使用历史扩展
如果您为一系列命令使用相同的文件名,会发生什么情况?当然,有一种快捷方式可以快速获得您上次使用的文件名
常用首字母缩写词
MB:兆字节
HTTP:超文本传输协议
HTTPS:HTTP over Secure Sockets Layer
FTP:文件传输协议
FTPS:FTP over Secure Sockets Layer
LDAP:轻型目录访问协议
使用文件名完成
如果不需要在命令提示符处键入长的、令人费解的文件名,这是不是很棒呢?的确,您不需要这样做
最有效地利用正则表达式
查找大型文件
确定当前用户
让我们面对现实吧:坏习惯很难改变
重用以前的参数
我正在运行哪种 Shell?
如果您不知道目前使用的是哪一种 Shell,会怎么样?虽然这个诀窍不是另外 10 个好习惯的正式组成部分,但它仍然很有用
文件名完成使您可以更快地输入并避免错误
有时,重新审视某些事情可能让您遇到“啊哈,我没想到它能做到这一点!”的时刻
清单 3 中的示例显示可以如何将此操作符与 !$ 运算符组合使用
清单 4 显示如何使用 pushd 和 popd 命令在目录树中快速导航
清单 7 显示了如何使用 find 命令来查找大于 10MB 的文件
相反,您可以配置最流行的 UNIX Shell 以使用文件名完成
设置 filec 变量可启用该功能
该功能在各个 Shell 中的工作方式略有不同,因此我将向您展示如何在最流行的 Shell 中使用文件名完成
www.orchn.com 请注意,-size 参数以 KB 为单位计量大小
重新命名文件 kxp12.c 以提高可读性,然后使用 link 命令来创建到原始文件名的符号链接,以防在其他位置使用该文件名
键入文件名的一部分后,按 Tab 键,如果有多个文件满足您的请求,并且您需要添加文本以选择其中一个文件,那么您可以多按 Tab 键两次,以显示与您目前键入的内容相匹配的文件的列表
服务器 (您可以使用命令 set filec
)在您开始键入文件名后,可以按 Esc 键,Shell 将完成文件名,或完成尽可能多的部分
0
顶一下0
踩一下