注册 登录
热血神器论坛请不要百度等搜索引擎来搜索,以免搜到假冒论坛 返回首页

cyl899x2s4的个人空间 http://bbs.rxjhbaby.com/?83392 [收藏] [复制] [分享] [RSS]

日志

疾速编纂Shell命令行 - 技巧文档 - 程序开发 Linux时

已有 26711 次阅读2013-7-4 23:05

快速编辑Shell命令行 起源: ChinaUnix博客  日期:2006.02.21 10:10 (共有条评论)
作者:robinswan
来自:LinuxSir.Org
摘要:对于 Linux / Unix 这类从内核得到整体架构,再到哪怕是最小的一个运用小软件都以文本来支撑的系统,没有娴熟的命令行技巧确实是玩不转的。生机本文能对你提高命令行使用效率有赞助。
目录
















++++++++++++++++++++++++++++++++++++++++++++++++++++
注释
++++++++++++++++++++++++++++++++++++++++++++++++++++

前言
疾速编辑 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,linux模块编程笔记 - 技巧文档 - 程序开发 Linux时期.8.2;
窗口系统: Gnome -- 2.10.1;
终端: gnome-terminal -- 2.10.0,sed学习 - 技巧文档 - 程序开发 Linux时期 - 开源、自在、共享 -;
现在就开端吧

一、自动补齐:[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][n][t][f],此时终端显示为:
$ printf "hello, world."
并且光标在 f 字符后面高亮。

第六步:[Ctrl + e]

光标跳转到命令行尾部。

第七步:[Ctrl + b]

光标撤退一个字符,此时间标应处于后双引号 ",2012nc; 处高亮。

第八步:输入换行本义符 "\n"

输入[\][n] ,此时的终端显示应该为:
$ printf "hello, world.\n"
可以[Enter]执行了。

八、对于本文;

当你纯熟的时候,上面的步骤应该在20秒之内就实现了吧,愿望大家都能成为命令行的高手!!!

九、相干文档;




By robinswan at 2006/01/04 - 20:22







2920 浏览


太好了,正合适初学者!要知道,qt embedded无奈运行怎么办? - 技巧文档 - 程序开发,不是每个人生成就会shell,高手就是这样一点一滴积累起来的啊,从今天起,要好好学shell的基本!
By Anonymous at 周六, 2006/01/28 - 01:31


装上一个 bash-completion ,你才干晓得[Tab] 的强盛功效.
除了命令和文件名外, [Tab] 还能主动补齐多少货色.
By Anonymous at 周四, 2006/01/05 - 20:27


不是所有的shell都支撑这些快捷键,实在这是readline供给的功能
man readline可以看到所有这些快捷键的使用,缺省readline是用了emacs编辑风格,所以对于使用emacs的用户用bash上手比拟快,当然编辑风格可以改成vi作风的,就是感到怪怪的;)
By Anonymous at 周四, 2006/01/05 - 18:19


早看到这个多好啊. 谢谢
By Anonymous (没有被验证) at 周四, 2006/01/05 - 11:35



本文来自ChinaUnix博客,假如查看原文请点:   (共有条评论)

路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

小黑屋|Archiver|手机版|北京诚盛加业科技有限公司 ( 京ICP证161137号 《网络文化经营许可证》编号:京网文[2018]11620-1068号 京ICP备16034435号 著作权登记号:2018SR532784 )

GMT+8, 2022-7-3 23:20 , Processed in 0.034505 second(s), 8 queries , Memcache On.

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

返回顶部