日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

快速编辑 Shell 命令行

發(fā)布時(shí)間:2025/3/18 61 豆豆
生活随笔 收集整理的這篇文章主要介紹了 快速编辑 Shell 命令行 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

作者:robinswan
來(lái)自:LinuxSir.Org
摘要:對(duì)于 Linux / Unix 這類從內(nèi)核得到整體架構(gòu),再到哪怕是最小的一個(gè)應(yīng)用小軟件都以文本來(lái)支撐的系統(tǒng),沒(méi)有嫻熟的命令行技巧確實(shí)是玩不轉(zhuǎn)的。希望本文能對(duì)你提高命令行使用效率有幫助。

目錄

前言;

  • 快速編輯 Shell 命令行;
    為什么那么多人害怕命令行呢?
    我目前使用的系統(tǒng)配置

一、自動(dòng)補(bǔ)齊:[Tab]
二、查找和執(zhí)行歷史命令:[Ctrl + r]
三、取消本次命令輸入:[Ctrl + c]
四、光標(biāo)跳轉(zhuǎn)快捷鍵;
五、編輯命令的快捷鍵;
六、配置提示;
七、綜合練習(xí);
八、關(guān)于本文;
九、相關(guān)文檔;


++++++++++++++++++++++++++++++++++++++++++++++++++++
正文
++++++++++++++++++++++++++++++++++++++++++++++++++++

前言

快速編輯 Shell 命令行

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

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

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

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

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

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

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

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

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

現(xiàn)在就開(kāi)始吧


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

這個(gè)技巧很多人都應(yīng)該會(huì)了,就是當(dāng)輸入命令,目錄或者是文件名的時(shí)候按 [Tab] 鍵。系統(tǒng)就會(huì)幫你補(bǔ)齊可能要輸入的東西,如果有多個(gè)選擇系統(tǒng)會(huì)列表出來(lái)。你可以看清楚之后再多輸入一個(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í)你嘗試一下輸入你以前輸入過(guò)的命令,當(dāng)你每輸入一個(gè)字符的時(shí)候,終端都會(huì)滾動(dòng)顯示你的歷史命令。當(dāng)顯示到你想找的合適的歷史命令的時(shí)候,直接[Enter],就執(zhí)行了歷史命令。

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

實(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] 以擺脫困境,但是說(shuō)不定就會(huì)發(fā)生災(zāi)難性的事件,譬如刪除了一個(gè)重要的配置文件:(


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

為了方便大家記憶,加點(diǎn)英語(yǔ)助記語(yǔ)在后面 :)

[Ctrl + a] 跳轉(zhuǎn)至命令行首??? Ahead of line
[Ctrl + e] 跳轉(zhuǎn)至命令行尾??? End of line

[Ctrl + f] 向前跳轉(zhuǎn)一個(gè)字符? jump Forward one character
[Ctrl + b] 向后跳轉(zhuǎn)一個(gè)字符? jump Backward one character

[Alt + f] 向前跳轉(zhuǎn)到下一個(gè)字的第一個(gè)字符
[Alt + b] 向后跳轉(zhuǎn)到下一個(gè)字的第一個(gè)字符

?


五、編輯命令的快捷鍵:

?

[Ctrl + w] 向后刪除一個(gè)字,用來(lái)對(duì)付剛剛輸入的錯(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 ,上面的 Gnu Shell 快捷鍵會(huì)跟 Gnome 的窗口快捷鍵有沖突。

那么你需要做如下配置:

在 gnome-terminal 的菜單欄中選 "Edit" -] "Keyboard Shortcuts ..."打開(kāi) "Keyboard Shortcuts" 對(duì)話框,并勾選下面兩個(gè)復(fù)選項(xiàng)

"Disable all menu access keys (such as Alt+f to open File menu)"
"Disable menu shortcut key (F10 by default)"

?

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


七、綜合練習(xí);

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

第一步:echo

$ echo "hello, world." [Enter]

?

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

$ hello, world.

?

第二步:[Ctrl + r]

我們?cè)囋囌页鰵v史命令 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)在來(lái)練習(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."

第五步:輸入命令 "printf"

?

我們嘗試一下用 Posix 的系統(tǒng)調(diào)用 printf 來(lái)替代 shell 命令 echo,輸入[p][r][i][n][t][f],此時(shí)終端顯示為:

$ printf "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)就完成了吧,希望大家都能成為命令行的高手!!!


九、相關(guān)文檔;

《快速編輯 Shell 命令行》
《Linux Shell簡(jiǎn)介》
《Linux 命令及可執(zhí)行程序路徑的設(shè)置》

轉(zhuǎn)自: http://www.linuxsir.org/main/?q=node/151#5

總結(jié)

以上是生活随笔為你收集整理的快速编辑 Shell 命令行的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。