国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

快速編輯Shell命令行

2019-11-18 17:24:13
字體:
供稿:網(wǎng)友
前言

快速編輯Shell命令行

想起聽得最多的就是*nux的初學(xué)者說最煩就是linux/Unix的命令行,所以就有了這個(gè)題目。如果你是個(gè)性急的人可以先嘗試下文章結(jié)尾的綜合練習(xí)體會(huì)一下Shell的快捷鍵,也許這樣再看全文會(huì)更有趣。

其實(shí),命令行適應(yīng)了,可能比圖形界面更有效率。至少對我來說是這樣,我現(xiàn)在一看見那些所謂的IDE就有眼花繚亂感覺,真正用來寫代碼的面積都被擠到只有一包煙那么大了,呵呵。有時(shí)為找個(gè)選項(xiàng)花很長時(shí)間找對話框,也很痛苦吧。

為什么那么多人害怕命令行呢?

我想最大的問題就是很多人覺得命令行的輸入和編輯都很“慢”,很低效。但是對于Linux/Unix這類從內(nèi)核得到整體架構(gòu),再到哪怕是最小的一個(gè)應(yīng)用小軟件都以文本來支撐的系統(tǒng),沒有嫻熟的命令行技巧確實(shí)是玩不轉(zhuǎn)的。希望本文能對你提高命令行使用效率有幫助。

但是由于Linux/Unix的發(fā)行版實(shí)在是太多,Shell的主流版本也有好幾個(gè),所以,本文所說的內(nèi)容,可能和你的系統(tǒng)有出入,但是思想是一樣的,在你自己的平臺(tái)上摸索一下,你也會(huì)找到你的平臺(tái)太下編輯命令行的技巧和規(guī)律。

另外,Shell的很多快捷鍵和VIM,Emacs的快捷鍵是相通的,所以,熟練使用Shell快捷鍵,對適應(yīng)*nux下的其他軟件有很好的啟示作用。

命令行的技巧除了本文提到的,還有很多,你可以自己慢慢積累,收集和體會(huì)。當(dāng)然如果你經(jīng)常需要輸入很繁瑣的命令,那么建議你自己寫Shell腳本,定義function,alias等技巧來實(shí)現(xiàn)。

我目前使用的系統(tǒng)配置

內(nèi)核:2.6.14-gentoo-r5;
系統(tǒng)發(fā)行版:GentooLinux--2005.1;
Shell版本:Gunbash--3.00.16
XServer:Xorg--6.8.2;
窗口系統(tǒng):Gnome--2.10.1;
終端:gnome-terminal--2.10.0;

現(xiàn)在就開始吧


一、自動(dòng)補(bǔ)齊:[Tab]

這個(gè)技巧很多人都應(yīng)該會(huì)了,就是當(dāng)輸入命令,目錄或者是文件名的時(shí)候按[Tab]鍵。系統(tǒng)就會(huì)幫你補(bǔ)齊可能要輸入的東西,如果有多個(gè)選擇系統(tǒng)會(huì)列表出來。你可以看清楚之后再多輸入一個(gè)或多個(gè)charactor,再按[Tab]。

實(shí)驗(yàn):

$ec

按[Tab],補(bǔ)齊為:
$echo


二、查找和執(zhí)行歷史命令:[Ctrl r],[Ctrl p],[Ctrl n]

在終端中按捉[Ctrl]鍵的同時(shí)[r]鍵,出現(xiàn)提示:(reverse-i-search),此時(shí)你嘗試一下輸入你以前輸入過的命令,當(dāng)你每輸入一個(gè)字符的時(shí)候,終端都會(huì)滾動(dòng)顯示你的歷史命令。當(dāng)顯示到你想找的合適的歷史命令的時(shí)候,直接[Enter],就執(zhí)行了歷史命令。

另外,[Ctrl p]或[Ctrl n]快速向前或向后滾動(dòng)查找一個(gè)歷史命令,對于快速提取剛剛執(zhí)行過不久的命令很有用。

實(shí)驗(yàn):
$echo"hello,world"[Enter]
$hello,world

[Ctrl r](接著輸入echo)
(reverse-i-search)`ch':echo"hello,world"[Enter]
$hello,world


三、取消本次命令輸入:[Ctrl c]

這個(gè)快捷鍵可以使你從一個(gè)可能你已經(jīng)厭煩了的命令中安全地退出!!也許是個(gè)不值一提的小技巧,但是經(jīng)驗(yàn)告訴我它很有用。很多Unix初學(xué)者會(huì)習(xí)慣性地按[Enter]以擺脫困境,但是說不定就會(huì)發(fā)生災(zāi)難性的事件,譬如刪除了一個(gè)重要的配置文件:(


四、光標(biāo)跳轉(zhuǎn)快捷鍵:

為了方便大家記憶,加點(diǎn)英語助記語在后面:)
[Ctrl a]跳轉(zhuǎn)至命令行首Aheadofline
[Ctrl e]跳轉(zhuǎn)至命令行尾Endofline
[Ctrl f]向前跳轉(zhuǎn)一個(gè)字符jumpForwardonecharacter
[Ctrl b]向后跳轉(zhuǎn)一個(gè)字符jumpBackwardonecharacter
[Alt f]向前跳轉(zhuǎn)到下一個(gè)字的第一個(gè)字符
[Alt b]向后跳轉(zhuǎn)到下一個(gè)字的第一個(gè)字符


五、編輯命令的快捷鍵:

[Ctrl w]向后刪除一個(gè)字,用來對付剛剛輸入的錯(cuò)誤字很有用
[Ctrl u]從光標(biāo)當(dāng)前位置刪除所有字符至行首
[Ctrl k]從光標(biāo)當(dāng)前位置刪除所有字符至行尾
[Ctrl d]刪除光標(biāo)當(dāng)前位置的字符
[Ctrl y]粘貼最后一個(gè)被刪除的字
[Alt d]刪除從光標(biāo)當(dāng)前位置,到當(dāng)前字的結(jié)尾字符


六、配置提示;

如果你是用Gnome下的終端窗口gnome-teminal,上面的GnuShell快捷鍵會(huì)跟Gnome的窗口快捷鍵有沖突。

那么你需要做如下配置:

在gnome-terminal的菜單欄中選"Edit"-]"KeyboardShortcuts..."打開"KeyboardShortcuts"對話框,并勾選下面兩個(gè)復(fù)選項(xiàng)
"Disableallmenuaccesskeys(suchasAlt ftoopenFilemenu)"
"Disablemenushortcutkey(F10bydefault)"

至于KDE下應(yīng)該怎么配KDE的終端窗口,請熟悉KDE的朋友補(bǔ)充一下,我很久沒用KDE了,也沒裝。


七、綜合練習(xí);

上面列舉的快捷鍵,練習(xí)2~3天應(yīng)該就能熟練,為了大家快速理解和記憶,我們來做個(gè)小小的綜合練習(xí):

第一步:echo
$echo"hello,world."[Enter]

我們先輸入 echo"hello,world"這個(gè)命令,然后回車,也就看到了終端的輸出:
$hello,world.

第二步:[Ctrl r]

我們試試找出歷史命令echo"hello,world.",這時(shí),我們按[e],[c],[h]這三個(gè)鍵,這個(gè)歷史命令大概已經(jīng)找到了,
終端的顯示應(yīng)該是這樣:
(reverse-i-search)`ech':echo"hello,world."

現(xiàn)在,如果[Enter]就會(huì)再一次執(zhí)行這個(gè)命令,但我們現(xiàn)在來練習(xí)一下命令行的編輯。

第三步:[Ctrl a]

這樣,我們就取出了歷史命令echo"hello,world.",并且將光標(biāo)定位到行首,此時(shí),光標(biāo)應(yīng)該在echo命令的e字符上高亮。
終端的顯示應(yīng)該是這樣:
$echo"hello,world"


第四步:[Alt d]

刪除了命令echo,并且光標(biāo)仍然在行首,終端顯示為:
$"hello,world."


第五步:輸入命令"
并且光標(biāo)在f字符后面高亮。

第六步:[Ctrl e]

光標(biāo)跳轉(zhuǎn)到命令行尾部。

第七步:[Ctrl b]

光標(biāo)后退一個(gè)字符,此時(shí)光標(biāo)應(yīng)處于后雙引號(hào)"處高亮。

第八步:輸入換行轉(zhuǎn)義符"/n"

輸入[/][n],此時(shí)的終端顯示應(yīng)該為:

$printf"hello,world./n"

可以[Enter]執(zhí)行了。


八、關(guān)于本文;

當(dāng)你熟練的時(shí)候,上面的步驟應(yīng)該在20秒之內(nèi)就完成了吧,希望大家都能成為命令行的高手!!!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 方城县| 青铜峡市| 商洛市| 日照市| 防城港市| 堆龙德庆县| 吴旗县| 汝南县| 车险| 定安县| 嘉祥县| 塔河县| 新泰市| 馆陶县| 潞西市| 文山县| 喀喇沁旗| 布拖县| 贵溪市| 鄂托克旗| 安龙县| 大荔县| 九江县| 新野县| 常宁市| 达孜县| 扎囊县| 巴南区| 祁东县| 云霄县| 太湖县| 建瓯市| 乌拉特前旗| 林州市| 垦利县| 简阳市| 长阳| 沛县| 罗源县| 灯塔市| 通榆县|