- 浏览: 1777165 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
奔跑的小牛:
例子都打不开
如何使用JVisualVM进行性能分析 -
蜗牛coder:
好东西[color=blue][/color]
Lucene学习:全文检索的基本原理 -
lovesunweina:
不在haoop中是在linux系统中,映射IP的时候,不能使用 ...
java.io.IOException: Incomplete HDFS URI, no host -
evening_xxxy:
挺好的, 谢谢分享
如何利用 JConsole观察分析Java程序的运行,进行排错调优 -
di1984HIT:
学习了~~~
ant使用ssh和linux交互 如:上传文件
这片文章不错,做个备份,转载如下:
作者:
robinswan
来自:
LinuxSir.Org
摘要:
对于 Linux / Unix 这类从内核得到整体架构,再到哪怕是最小的一个应用小软件都以文本来支撑的系统,没有娴熟的命令行技巧确实是玩不转的。希望本文能对你提高命令行使用效率有帮助。
目录
一、自动补齐:[Tab]
二、查找和执行历史命令:[Ctrl + r]
三、取消本次命令输入:[Ctrl + c]
四、光标跳转快捷键;
五、编辑命令的快捷键;
六、配置提示;
七、综合练习;
八、关于本文;
九、相关文档;
++++++++++++++++++++++++++++++++++++++++++++++++++++
正文
++++++++++++++++++++++++++++++++++++++++++++++++++++
前言
快速编辑 Shell 命令行
想起听得最多的就是 *nux 的初学者说最烦就是 Linux / Unix 的命令行,所以就有了这个题目。如果你是个性急的人可以先尝试下文章结尾的综合练习体会一下 Shell 的快捷键,也许这样再看全文会更有趣。
其实,命令行适应了,可能比图形界面更有效率。至少对我来说是这样,我现在一看见那些所谓的 IDE 就有眼花缭乱感觉,真正用来写代码的面积都被挤到只有一包烟那么大了,呵呵。有时为找个选项花很长时间找对话框,也很痛苦吧。
为什么那么多人害怕命令行呢?
我想最大的问题就是很多人觉得命令行的输入和编辑都很“慢”,很低效。但是对于 Linux / Unix 这类从内核得到整体架构,再到哪怕是最小的一个应用小软件都以文本来支撑的系统,没有娴熟的命令行技巧确实是玩不转的。希望本文能对你提高命令行使用效率有帮助。
但是由于 Linux / Unix 的发行版实在是太多,Shell 的主流版本也有好几个,所以,本文所说的内容,可能和你的系统有出入,但是思想是一样的,在你自己的平台上摸索一下,你也会找到你的平台太下编辑命令行的技巧和规律。
另外,Shell 的很多快捷键和 VIM, Emacs 的快捷键是相通的,所以,熟练使用 Shell 快捷键,对适应 *nux 下的其他软件有很好的启示作用。
命令行的技巧除了本文提到的,还有很多,你可以自己慢慢积累,收集和体会。当然如果你经常需要输入很繁琐的命令,那么建议你自己写 Shell 脚本,定义 function, alias 等技巧来实现。
我目前使用的系统配置
内核: 2.6.14-gentoo-r5;
系统发行版: Gentoo Linux -- 2005.1;
Shell 版本: Gun bash -- 3.00.16
X Server: Xorg -- 6.8.2;
窗口系统: Gnome -- 2.10.1;
终端: gnome-terminal -- 2.10.0;
现在就开始吧
一、自动补齐:[Tab]
这个技巧很多人都应该会了,就是当输入命令,目录或者是文件名的时候按 [Tab] 键。系统就会帮你补齐可能要输入的东西,如果有多个选择系统会列表出来。你可以看清楚之后再多输入一个或多个 charactor ,再按[Tab]。
实验:
$ ec
按[Tab], 补齐为:
$ echo
二、查找和执行历史命令:[Ctrl + r], [Ctrl + p], [Ctrl + n]
在终端中按捉 [Ctrl] 键的同时 [r] 键,出现提示:(reverse-i-search), 此时你尝试一下输入你以前输入过的命令,当你每输入一个字符的时候,终端都会滚动显示你的历史命令。当显示到你想找的合适的历史命令的时候,直接 [Enter],就执行了历史命令。
另外, [Ctrl + p] 或 [Ctrl + n] 快速向前或向后滚动查找一个历史命令,对于快速提取刚刚执行过不久的命令很有用。
实验:
$ echo "hello, world" [Enter]
$ hello, world
[Ctrl + r ] (接着输入 echo)
(reverse-i-search)`ch': echo "hello,world" [Enter]
$hello,world
三、取消本次命令输入:[Ctrl + c]
这个快捷键可以使你从一个可能你已经厌烦了的命令中安全地退出!!也许是个不值一提的小技巧,但是经验告诉我它很有用。很多 Unix 初学者会习惯性地按 [Enter] 以摆脱困境,但是说不定就会发生灾难性的事件,譬如删除了一个重要的配置文件:(
四、光标跳转快捷键:
为了方便大家记忆,加点英语助记语在后面 :)
[Ctrl + a] 跳转至命令行首 Ahead of line
[Ctrl + e] 跳转至命令行尾 End of line
[Ctrl + f] 向前跳转一个字符 jump Forward one character
[Ctrl + b] 向后跳转一个字符 jump Backward one character
[Alt + f] 向前跳转到下一个字的第一个字符
[Alt + b] 向后跳转到下一个字的第一个字符
五、编辑命令的快捷键:
[Ctrl + w] 向后删除一个字,用来对付刚刚输入的错误字很有用
[Ctrl + u] 从光标当前位置删除所有字符至行首
[Ctrl + k] 从光标当前位置删除所有字符至行尾
[Ctrl + d] 删除光标当前位置的字符
[Ctrl + y] 粘贴最后一个被删除的字
[Alt + d] 删除从光标当前位置,到当前字的结尾字符
六、配置提示;
如果你是用 Gnome 下的终端窗口 gnome-teminal ,上面的 Gnu Shell 快捷键会跟 Gnome 的窗口快捷键有冲突。
那么你需要做如下配置:
在 gnome-terminal 的菜单栏中选 "Edit" -] "Keyboard Shortcuts ..."打开 "Keyboard Shortcuts" 对话框,并勾选下面两个复选项
"Disable all menu access keys (such as Alt+f to open File menu)"
"Disable menu shortcut key (F10 by default)"
至于 KDE 下应该怎么配 KDE 的终端窗口,请熟悉 KDE 的朋友补充一下,我很久没用 KDE 了,也没装。
七、综合练习;
上面列举的快捷键,练习2~3天应该就能熟练,为了大家快速理解和记忆,我们来做个小小的综合练习:
第一步:echo
$ echo "hello, world." [Enter]
我们先输入 echo "hello, world" 这个命令,然后回车,也就看到了终端的输出:
$ hello, world.
第二步:[Ctrl + r]
我们试试找出历史命令 echo "hello, world.",这时,我们按[e],[c],[h]这三个键,这个历史命令大概已经找到了,
终端的显示应该是这样:
(reverse-i-search)`ech': echo "hello,world."
现在,如果[Enter]就会再一次执行这个命令,但我们现在来练习一下命令行的编辑。
第三步:[Ctrl + a]
这样,我们就取出了历史命令 echo "hello, world.",并且将光标定位到行首,此时,光标应该在 echo 命令的 e 字符上高亮。
终端的显示应该是这样:
$ echo "hello,world"
第四步:[Alt + d]
删除了命令 echo, 并且光标仍然在行首,终端显示为:
$ "hello, world."
第五步:输入命令 "printf"
我们尝试一下用 Posix 的系统调用 printf 来替代 shell 命令 echo,输入[p][r][i][n][t][f],此时终端显示为:
$ printf "hello, world."
并且光标在 f 字符后面高亮。
第六步:[Ctrl + e]
光标跳转到命令行尾部。
第七步:[Ctrl + b]
光标后退一个字符,此时光标应处于后双引号 " 处高亮。
第八步:输入换行转义符 "\n"
输入[\][n] ,此时的终端显示应该为:
$ printf "hello, world.\n"
可以[Enter]执行了。
八、关于本文;
当你熟练的时候,上面的步骤应该在20秒之内就完成了吧,希望大家都能成为命令行的高手!!!
九、相关文档;
发表评论
-
gentoo share net folder (网络共享文件夹)
2011-10-02 17:49 2942服务端: 安装samba emerge -av n ... -
Gentoo, Mounting a remote Shared Folder
2011-02-23 15:04 2162http://en.gentoo-wiki.com/wiki/ ... -
磁盘 I/O 分析
2010-11-04 14:16 10402什么时候需要分析 对于JAVA程序员来说,磁盘IO ... -
gentoo下解决RAID卡识别问题 找到RAID卡Adeptec 5805对应的驱动
2010-10-12 18:31 2002RAID卡Adeptec 5805的识别有问题 在这里 ... -
gentoo下解决Intel Corporation 80003ES2LAN网卡驱动问题
2010-10-12 18:11 4022网卡没识别,难道驱动有问题? lspci查看 ... -
Linux 域名服务器DNS gentoo dnsmasq
2010-09-20 15:47 2080DNS缓存 # emerge dn ... -
gentoo 忘记root密码 如何修改root密码
2010-05-31 13:17 5227进入grub的时候,按上下箭头 选择平时启动的那个内核 按 ... -
mrtg snmp监控网络流量的简单安装配置文档
2010-05-24 10:39 3284mrtg snmp安装配置文档 1、net-snmp安装在被 ... -
LINUX挂载一个 NTFS 文件系统
2010-05-11 00:15 1706wget http://packages.sw.be/rpmf ... -
Linux下显示硬件信息--lshw
2010-04-30 09:20 11120lshw lshw(Hardware Lister)是另外 ... -
Linux下硬件信息查看--dmidecode
2010-04-30 09:19 4739dmidecode以一种可读的 ... -
nginx spawn-fcgi php
2010-04-22 16:11 2372安装spawn-fcgi # emerge spawn- ... -
emerge PHP 添加模块 比如非默认模块mysql
2010-04-22 11:09 1904// 查看默认USE变量 emerge --preten ... -
Ghost操作系统gentoo不成功而想出来的折中方案
2010-04-20 22:29 1435装好一台机器后,Ghost操作系统,可惜没成功,之后采用折中方 ... -
gentoo 下emerge安装修改默认版本以及取消掩掉的软件
2010-04-20 14:42 5760#emerge安装使用分支官方文档:http://www. ... -
CentOS 修改IP地址, DNS, 网关
2010-04-20 10:54 3318由于修改网关总是忘记在哪个地方,Google出来一堆垃圾文章, ... -
gentoo系统安装记录
2010-04-20 09:57 3884这里是最直接的安装方法,官方文档: http://www.g ... -
SSH 无密码认证(RSA/DSA认证)
2010-03-22 14:13 7982今天配置hadoop过程中发现,ssh localhost 配 ... -
4 Effective Methods to Disable SELinux Temporarily or Permanently
2010-02-23 15:48 2004http://www.thegeekstuff.com/200 ... -
编译Linux内核,把你的LInux系统换成最新内核就这么简单
2009-12-02 10:35 4211CentOS5.4系统,当前位置:/usr/src ...
相关推荐
Linux 宝库 - 快速编辑 Shell 命令行.mht
jq 允许你直接在命令行下对 JSON 进行操作,包括分片、过滤、转换等等。 让我们通过几个例子来说明 jq 的功能: 一、输出格式化,漂亮的打印效果 如果我们用文本编辑器打开 JSON,有时候可能看起来会一团糟,但是...
本书覆盖超过80个核心工具、shell编程、编辑器和编程工具,能使您成为真正的Linux高手,它是掌握强大的Linux命令行的捷径。 本书是目前所能找到的最实用、最全面的Linux指南和参考手册,也是唯一一本提供以下全部...
本书覆盖超过80个核心工具、shell编程、编辑器和编程工具,能使您成为真正的Linux高手,它是掌握强大的Linux命令行的捷径。 本书是目前所能找到的最实用、最全面的Linux指南和参考手册,也是唯一一本提供以下全部...
初学shell 入门好书!!!! 目 录 译者序 前言 第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限位 4 1.4.1 符号模式 4 1.4.2 chmod命令举例 5 1.4.3 绝对模式 5 1.4.4 ...
本书覆盖超过80个核心工具、shell编程、编辑器和编程工具,能使您成为真正的Linux高手,它是掌握强大的Linux命令行的捷径。 本书是目前所能找到的最实用、最全面的Linux指南和参考手册,也是唯一一本提供以下全部...
本书覆盖超过 80个核心工具、shell编程、编辑器和编程工具,能使您成为真正的Linux高手,它是掌握强大的Linux命令行的捷径。 本书是目前所能找到的最实用、最全面的Linux指南和参考手册,也是唯一一本提供以下全部...
本书覆盖超过80个核心工具、shell编程、编辑器和编程工具,能使您成为真正的Linux高手,它是掌握强大的Linux命令行的捷径。 本书是目前所能找到的最实用、最全面的Linux指南和参考手册,也是唯一一本提供以下全部...
本书覆盖超过80个核心工具、shell编程、编辑器和编程工具,能使您成为真正的Linux高手,它是掌握强大的Linux命令行的捷径。 本书是目前所能找到的最实用、最全面的Linux指南和参考手册,也是唯一一本提供以下全部...
本书覆盖超过80个核心工具、shell编程、编辑器和编程工具,能使您成为真正的Linux高手,它是掌握强大的Linux命令行的捷径。 本书是目前所能找到的最实用、最全面的Linux指南和参考手册,也是唯一一本提供以下全部...
本书覆盖超过80个核心工具、shell编程、编辑器和编程工具,能使您成为真正的Linux高手,它是掌握强大的Linux命令行的捷径。 本书是目前所能找到的最实用、最全面的Linux指南和参考手册,也是唯一一本提供以下全部...
本书覆盖超过80个核心工具、shell编程、编辑器和编程工具,能使您成为真正的Linux高手,它是掌握强大的Linux命令行的捷径。 本书是目前所能找到的最实用、最全面的Linux指南和参考手册,也是唯一一本提供以下全部...
本书覆盖超过80个核心工具、shell编程、编辑器和编程工具,能使您成为真正的Linux高手,它是掌握强大的Linux命令行的捷径。 本书是目前所能找到的最实用、最全面的Linux指南和参考手册,也是唯一一本提供以下全部...
本书覆盖超过80个核心工具、shell编程、编辑器和编程工具,能使您成为真正的Linux高手,它是掌握强大的Linux命令行的捷径。 本书是目前所能找到的最实用、最全面的Linux指南和参考手册,也是唯一一本提供以下全部...
本书覆盖超过80个核心工具、shell编程、编辑器和编程工具,能使您成为真正的Linux高手,它是掌握强大的Linux命令行的捷径。 本书是目前所能找到的最实用、最全面的Linux指南和参考手册,也是唯一一本提供以下全部...
本书覆盖超过80个核心工具、shell编程、编辑器和编程工具,能使您成为真正的Linux高手,它是掌握强大的Linux命令行的捷径。 本书是目前所能找到的最实用、最全面的Linux指南和参考手册,也是唯一一本提供以下全部...
第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限位 4 1.4.1 符号模式 4 1.4.2 chmod命令举例 5 1.4.3 绝对模式 5 1.4.4 chmod命令的其他例子 6 1.4.5 可以选择使用符号...
19.10.2 编辑shell函数 206 19.10.3 函数举例 207 19.10.4 将函数集中在一起 219 19.11 函数调用 219 19.11.1 在脚本中调用函数 219 19.11.2 从函数文件中调用函数 220 19.12 定位文件不只用于函数 222 19.13 小结 ...