本文将介绍五种有趣、有用的Bash及命令行技巧与快捷键,它们可以让你的生活更加简单。其中包括几种快捷键,以及改变你使用命令行的方法等。本文是以前的《Linux下的Bash:您所不知道的五件事》的姊妹篇。 更改Bash导航 大多数人都知道Bash的导航命令。
用Emacs作编辑器的人对它们更是相当熟悉。它们包括: Ctrl + a – 返回到当前命令的开始Ctrl + e – 返回到当前命令的末尾Ctrl + w – 删除光标左边的第一个条目(变量或者命令)Ctrl + u – 剪切光标前面的所有内容C……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
![TechTarget微信公众号二维码](/wp-content/uploads/res/images/spriteimg/ttweixin.jpg)
TechTarget
官方微博
![TechTarget中国官方微博二维码](/wp-content/uploads/res/images/spriteimg/ttweibo.jpg)
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 {} ;
相关推荐
-
如何安装逻辑域并创建来宾域?
通过命令您可以在CMT服务器上创建、查看、安装、组建网络和管理逻辑域,创建来宾域,您知道要怎么完成这个过程吗?
-
Linux管理工具集锦
不管你是Linux管理员中的菜鸟还是专家,关于Linux管理工具,你总是有很多要学的东西。从新的命令行操作到新的开源系统管理软件,不断地了解最新可用的Linux工具,并在需要解决Linux管理问题时把这些知识用作指南。我们这本技术手册涵盖的内容包括YUM、Samba、Cobbler、Puppet等等。在这里,你可以找到最流行Linux命令列表,也可以看到在Linux服务器上如何运用命令行来优化性能的技巧。
-
排忧解难:当心Ntdsutil命令!
有传言说微软正计划去掉Ntdsutil.exe,尽管在Windows Server 2008和R2中Ntdsutil增加了许多功能来提高Ntdsutil的易用性,但用它的管理员还是不多。
-
SELinux教程:命令与管理
当你考虑在服务器上使用SELinux时,了解一些基本命令和管理工具会有所帮助。本文中,我们将提供一些命令来帮助你确保Linux服务器的安全。