7个习惯:UNIX 高手的另外10 个习惯

  让我们面对现实吧:坏习惯很难改变但是您已经熟悉习惯可能更难克服有时重新审视某些事情可能让您遇到“啊哈我没想到它能做到这点!”时刻在 Michael Stutz 优秀文章“UNIX 高手 10 个习惯”基础上本文将提供另外 10 个 UNIX 命令行命令、工具和技术可以使您成为更高效 UNIX 命令行高手

  您应当采纳其他 10 个好习惯包括:

  使用文件名自动完成功能 (file name completion)

  使用历史扩展

  重用以前参数

  使用 pushd 和 popd 管理目录导航

  查找大型文件

  不使用编辑器创建临时文件

  使用 curl 命令行实用工具

  最有效地利用正则表达式

  确定当前用户

  使用 awk 处理数据

  常用首字母缩写词

  MB:兆字节

  HTTP:超文本传输协议

  HTTPS:HTTP over Secure Sockets Layer

  FTP:文件传输协议

  FTPS:FTP over Secure Sockets Layer

  LDAP:轻型目录访问协议

  1. 使用文件名完成

  如 果不需要在命令提示符处键入长、令人费解文件名这是不是很棒呢?您不需要这样做相反您可以配置最流行 UNIX Shell 以使用文件名完成该功能在各个 Shell 中工作方式略有区别因此我将向您展示如何在最流行 Shell 中使用文件名完成文件名完成使您可以更快地输入并避免懒惰?也许吧效率更高?当然!

  我正在运行哪种 Shell?

  如果您不知道目前使用是哪种 Shell会如何样?虽然这个诀窍不是另外 10 个好习惯正式组成部分但它仍然很有用如清单 1 所示您可以使用 echo $0 或 ps -p $$ 命令显示您正在使用 Shell对于我来说运行是 Bash Shell

  清单 1. 确定您 Shell

  $ echo $0-bash$ ps -p $$PID TTY           TIME CMD6344 ttys000    0:00.02 –bash

  C Shell

  C Shell 支持最直接文件名完成功能设置 filec 变量可启用该功能(您可以使用命令 filec)在您开始键入文件名后可以按 Esc 键Shell 将完成文件名或完成尽可能多部分例如假设您拥有名为 file1、file2 和 file3 文件如果您键入 f然后按 Esc 键将填充 file而您必须键入 1、2 或 3 来完成相应文件名

  Bash

  Bash Shell 也提供了文件名完成但使用 Tab 键代替 Esc 键您在 Bash Shell 中不需要设置任何选项即可启用文件名完成该选项是缺省设置Bash 还实现了其他功能键入文件名部分后按 Tab 键如果有多个文件满足您请求并且您需要添加文本以选择其中个文件那么您可以多按 Tab 键两次以显示和您目前键入内容相匹配文件列表使用的前名为 file1、file2 和 file3 文件举例首先键入 f当您按次 Tab 键时Bash 完成 file;再按次 Tab 键时将展开列表 file1 file2 file3

  Korn Shell

  对于 Korn Shell 用户文件名完成取决于 EDITOR 变量如果 EDITOR 设置为 vi那么您键入部分名称然后按 Esc 键后跟反斜杠 (\) 如果 EDITOR 设置为 emacs那么您键入部分名称然后按两次 Esc 键以完成文件名

  2. 使用历史扩展

  如果您为系列命令使用相同文件名会发生什么情况?当然种快捷方式可以快速获得您上次使用文件名如清单 2 所示!$ 命令返回前个命令使用文件名从文件 this-is-a-long-lunch-menu-file.txt pickles 出现位置搜索结束后使用 vi 命令来编辑 this-is-a-long-lunch-menu-file.txt 文件而不需要重新键入文件名您使用感叹号 (!) 来访问历史然后使用美元符号 ($) 返回前命令最后字段如果您反复用到长文件名那么这是个非常好工具 中搜索单词

  清单 2. 使用 !$ 获得前个命令使用文件名

  $ grep pickles this-is-a-long-lunch-menu-file.txtpastrami _disibledevent=>http://www.srh.noaa.gov/data/ALY/RWRALY | grep BUFFALOBUFFALO        MOSUNNY   43  22  43 NE13      30.10R

  如清单 11 所示您也可以使用 curl 命令来下载 HTTP 托管文件使用 -o 参数来指定保存输出位置

  清单 11. 使用 curl 下载 HTTP 承载文件

  $ curl -o archive.tar http://www.somesite.com/archive.tar

  这实际上只是您使用 curl 命令可以完成操作提示您只需在命令提示符处键入 man curl 显示 curl 命令完整使用信息就可以开始了解更多内容

  8. 最有效地利用正则表达式

  大量 UNIX 命令使用正则表达式作为参数从技术角度而言正则表达式 是表示某种模式串(也就是说由字母、数字和符号组成序列)用于定义零或更长正则表达式使用元(例如
Tags: 

延伸阅读

最新评论

发表评论