实用Bash命令介绍

日期: 2010-12-06 作者:James Turnbull翻译:Dan 来源:TechTarget中国 英文

本文将介绍五种有趣、有用的Bash及命令行技巧与快捷键,它们可以让你的生活更加简单。其中包括几种快捷键,以及改变你使用命令行的方法等。本文是以前的《Linux下的Bash:您所不知道的五件事》的姊妹篇。   更改Bash导航   大多数人都知道Bash的导航命令。

用Emacs作编辑器的人对它们更是相当熟悉。它们包括: Ctrl + a – 返回到当前命令的开始Ctrl + e – 返回到当前命令的末尾Ctrl + w – 删除光标左边的第一个条目(变量或者命令)Ctrl + u – 剪切光标前面的所有内容C……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

本文将介绍五种有趣、有用的Bash及命令行技巧与快捷键,它们可以让你的生活更加简单。其中包括几种快捷键,以及改变你使用命令行的方法等。本文是以前的《Linux下的Bash:您所不知道的五件事》的姊妹篇。

  更改Bash导航

  大多数人都知道Bash的导航命令。用Emacs作编辑器的人对它们更是相当熟悉。它们包括:

Ctrl + a - 返回到当前命令的开始
Ctrl + e - 返回到当前命令的末尾
Ctrl + w - 删除光标左边的第一个条目(变量或者命令)
Ctrl + u - 剪切光标前面的所有内容
Ctrl + y - 剪切光标后面的所有内容
Ctrl + y - 粘贴你用Ctrl +u或者Ctrl + y剪切的内容
Ctrl + p - 滚动显示以前的命令
Ctrl + n - 下一个命令
Ctrl + l - 清屏

  你可能不知道Bash不仅能够使用Emacs编辑模式,而且还能够使用vi模式(为那些更喜欢用vi命令的人准备)。你可以用下面的命令切换到vi编辑模式:

$ set -o vi

  你还可以把这个命令添加到你的.bashrc文件中,以便永久地切换到vi模式:

$ set -o vi >> ~/.bashrc

  现在你就可以用vi模式使用命令行了。比如,你可以用vi命令模式进行导航。按Esc键进入命令模式,然后你就可以使用以下命令:

l - 向前移动一个字符
h - 向后移动一个字符
0(零) - 把光标移动到该行最前面
$ - 把光标移动到行末
w - 往前移一个字
b - 往后移一个字

  然后你可以按Esc键退出命令模式,或者像vi一样按A或I键进入插入模式,对命令行进行编辑。按enter键会执行当前命令。

  如果你决定不用vi模式,你可以键入以下命令返回emacs模式:

$ set -o emacs

  你还可以用命令:

$ bind –P

  来显示你的所有命令以及它们的按键设置。你也可以用该bind命令对各种函数设置自己的按键组合。

  cd –命令

  你可以使用:

$ cd –

  返回你原来所在的目录,你可以重复使用该命令返回上一级目录。

  设置命令的输出路径

  有时候你想告诉人们你的命令行发生了什么事情,但是又不想让他们拥有访问权。有一种快捷、简便的方法可以解决这个问题:使用脚本和nc命令在网络上显示你的命令行发生了哪些变化,只需输入:

$ script -f >(nc -l 8000)

  这个命令会把所有在命令行中键入的内容输送到网络上,所有使用监听端口8000的人都能够看到你用nc命令键入的内容。

$ nc host 8000

  文件首次重定向

  我喜欢那些让我少打字的技巧。通常你想要用多种方式处理同一个文件。使用重定向,我们可以首先指定文件的名字,以及结束时执行的命令。比如:

$ </var/log/messages grep dhclient
$ </var/log/messages grep kernel
$ </var/log/messages grep yum

  这里我们指定了我们想要预先搜索的文件,然后指定了grep命令和我们想要查找的文本。现在如果我们想要从历史中检索该命令,我们只需要编辑要再次搜索的文本就可以了。

  三个有用的查找(find)命令

  最后,我要分享三个我经常使用的、非常有用的查找命令。Find命令是一个非常强大的小工具,尤其是与-exec选项搭配的时候,它们允许你在查找的结果中执行命令。我建议你阅读一下find的说明,以便更深入的使用该命令。

  第一个命令:查找并列出当前目录中过去一天修改的所有文件。

$ find ./ -type f -mtime -1 -exec ls -al {} ;

  你显然可以修改该命令,以便查找其他地方、不同时间(把-1改成不同的时间)的文件。

  第二个命令:查找文件,然后执行一个基于Perl的寻找-替换功能。

$ find . -name '*.txt' -type f -exec perl -pi -e 's/goldfish/tiger/g' {} ;

  在这种情况下,我们查找所有扩展名为.txt的文件,并在这些文件中查找单词“goldfish”,把这个单词替换成“tiger”。

  最后一个查找命令:我经常用它从我的路径中递归删除.svn(和其他的)目录。

find . -name ".svn" -exec rm -rf {} ;

作者

James Turnbull
James Turnbull

暂无

相关推荐

  • 如何安装逻辑域并创建来宾域?

    通过命令您可以在CMT服务器上创建、查看、安装、组建网络和管理逻辑域,创建来宾域,您知道要怎么完成这个过程吗?

  • Linux管理工具集锦

    不管你是Linux管理员中的菜鸟还是专家,关于Linux管理工具,你总是有很多要学的东西。从新的命令行操作到新的开源系统管理软件,不断地了解最新可用的Linux工具,并在需要解决Linux管理问题时把这些知识用作指南。我们这本技术手册涵盖的内容包括YUM、Samba、Cobbler、Puppet等等。在这里,你可以找到最流行Linux命令列表,也可以看到在Linux服务器上如何运用命令行来优化性能的技巧。

  • 排忧解难:当心Ntdsutil命令!

    有传言说微软正计划去掉Ntdsutil.exe,尽管在Windows Server 2008和R2中Ntdsutil增加了许多功能来提高Ntdsutil的易用性,但用它的管理员还是不多。

  • SELinux教程:命令与管理

    当你考虑在服务器上使用SELinux时,了解一些基本命令和管理工具会有所帮助。本文中,我们将提供一些命令来帮助你确保Linux服务器的安全。