欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

unix系统高手的操作习惯

程序员文章站 2022-06-25 17:33:57
使用文件名自动完成功能 (file name completion)。 使用历史扩展。 重用以前的参数。 使用 pushd 和 popd 管理目录导航。 查找大型文件。 不使用编辑器创建... 08-09-08...
  • 使用文件名自动完成功能 (file name completion)。
  • 使用历史扩展。
  • 重用以前的参数。
  • 使用 pushdpopd 管理目录导航。
  • 查找大型文件。
  • 不使用编辑器创建临时文件。
  • 使用 curl 命令行实用工具。
  • 最有效地利用正则表达式。
  • 确定当前用户。
  • 使用 awk 处理数据。

unix系统高手的操作习惯
常用首字母缩写词
  • mb:兆字节
  • http:超文本传输协议
  • https:http over secure sockets layer
  • ftp:文件传输协议
  • ftps:ftp over secure sockets layer
  • ldap:轻型目录访问协议

使用文件名完成

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

我正在运行哪种 shell?

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

清单 1. 确定您的 shell

                
$ echo $0
-bash
$ ps –p $$
pid tty time cmd
6344 ttys000 0:00.02 –bash

 

c shell

c shell 支持最直接文件名完成功能。设置 filec 变量可启用该功能。(您可以使用命令 set filec。)在您开始键入文件名后,可以按 esc 键,shell 将完成文件名,或完成尽可能多的部分。例如,假设您拥有名为 file1、file2file3 的文件。如果您键入 f,然后按 esc 键,将填充 file,而您必须键入 123 来完成相应的文件名。

bash

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

korn shell

对于 korn shell 用户,文件名完成取决于 editor 变量的值。如果 editor 设置vi,那么您键入部分名称,然后按 esc 键,后跟反斜杠 (\) 字符。如果 editor 设置emacs,那么您键入部分名称,然后按两次 esc 键以完成文件名。

使用历史扩展

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