关闭

Linux下的实用bash命令分享

发表于:2010-12-22 09:48

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Dan 鬼谷 译    来源:51Testing软件测试网采编

  摘要:20年过去了,我到现在还是能经常在bash中发现一些新的工具和功能 ,我不知道称呼Bash为一个工具是不是比一个代码更为恰当。在这篇文章中我将介绍Bash的一些不常用(但是还是非常有用)的特性。

  在我刚开始使用Linux不久,我试图学习一些bash命令,于是我敲下了如下的命令:

$ man bash

  我立即发现bash用户手册简直就是一个长篇史诗。一页又一页的命令、功能说明、小技巧、小说明以及非常多的环境变量。20年过去了,我到现在还是能经常在bash中发现一些新的工具和功能 ,我不知道称呼Bash为一个工具是不是比一个代码更为恰当。在这篇文章中我将介绍Bash的一些不常用(但是还是非常有用)的特性。

  一、扩展字段匹配

  首先我们来看一个叫做扩展字段匹配的功能。这个选项允许你执行比标准Bash所提供的更复杂的字段匹配。例如,你可以定位除了后缀为.tmp之外的所有文件。扩展字段匹配功能可

  以通过shopt命令启用,或者内置的shell选项:

$ shopt -s extblob

  备注:你还可以运行shopt命令来查看其它选项、特性和它提供的一些秘密功能。

  一旦启用,我们可以用一个简单的语法列出某个目录中除去后缀为.tmp的所有文件:

$ ls !(*.tmp)

  你还可以使用多个参数:

$ ls !(*.tmp|*.log|*.bak)

  你可以选择使用其它几个extglob的参数,比如:

?(pattern-list) Matches zero or one occurrence of the given patterns
*(pattern-list) Matches zero or more occurrences of the given patterns
+(pattern-list) Matches one or more occurrences of the given patterns
@(pattern-list) Matches exactly one of the given patterns
!(pattern-list) Matches anything except one of the given patterns

  二、cdspell shell选项

  Cdspell是另一个很有用并且少为人知的shell命令。Cdspell命令可以更正在cd命令中出现的小的拼写错误。你可以通过shopt命令行来启用cdspell选项。

$ shopt -s cdspell

  举个例子,现在我们试着输入一个简单的关于更改目录的错误命令:

$ cd /ect
/etc

  很快你能发现这个小错误被自动更正过来了,并且bash已经让你成功更改到了正确的目录下。

$ pwd
/etc

  Cdspell选项可以自动更正字母顺序拼写错误的单词,漏了字母的单词,还可以去掉单词中多余的字母。

  三、更好地管理Bash命令历史记录

  Bash中最有用的功能之一就是可以自动记忆你曾经使用过的命令。你可以用history命令来列出一系列之前执行过的命令。然后你可以在bash shell中用叹号标注来找回并且执行之前的命令。例如,你可以从历史记录中通过数字列出某条命令:

$ !110

41/41234>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号