Linux 命令快捷鍵

Linux 命令快捷鍵

 

tab 自動補齊(有不知道的嗎)
Ctrl+u 刪除(剪切)此處至開始全部內容linux

Ctrl+k 刪除從光標所在位置到行末nginx


快速命令行 – 快捷方式
• history 搜索歷史執行過的命令
• ctrl+l 清屏
• Reset 刷新終端屏幕,尤爲是終端出現字符不清晰或亂碼時特管用 (和ctrl + l有什麼區別? )
• ctrl+c 刪除整行或中止當前任務
• ctrl+z 使正在運行在終端的任務,轉入後臺(可用fg恢復到前臺)shell


快速命令行 – 快捷方式
• ctrl+a 移動到當前行的開頭(a ahead)
• ctrl+e 移動到當前行的結尾(e end)
• ctrl+s 使終端發呆,靜止,可使快速輸出的終端屏幕停下來或者 ctrl+c直接終止。
• ctrl+q 退出ctrl+s引發的發呆。
• ctrl+d 在空命令行的狀況下能夠退出終端。vim


快速命令行 – 快捷方式
• !! 再次執行最後一次命令
• !num 再次執行編號爲num的歷史命令
• ls  !$ 執行命令ls,並以上一條命令的參數爲其參數windows


SecureCRT終端配置
• 彩色終端ruby


• 快速拷貝、粘貼bash

直接劃過,而後粘貼就能夠了less


• 使用標籤頁, ctrl + tab / ctrl + shift + tab快速切換編輯器





VIM函數

• :set encoding=  (選項utf8,gb2312,cp936,latin1 )設置字符集,解決亂碼
• ~ 光標所在處的字符進行大小寫互換


其餘
• tailf -n 30 notes :指定從notes 文件末尾開始讀取00行, 顯示會一直繼續,直到您按下Ctrl-C 按鍵順序來中止。



• /sbin/lspci 查看物理信息
• cp/mv file{,.new} 直接拷貝/移動成新文件,無需寫2次文件名

 


1.4 光標移動

vi編輯器中的不少命令都是基於光標當前位置的,所以,如何移動光標定位到所須要的位置是一項十分重要的工做,下面進行詳細介紹(如無特別說明,下面所講的命令都是在普通模式下執行)。

1. 向前移動字符

將光標向前移動一個字符可使用命令爲:l、Space鍵或方向鍵→。若是在命令前加一個數字n,就是將光標向前移動n個字符,例如:

#include<stdio.h>

假設當前光標在include中的字符c上,則使用5l後,光標將移動到e處。可是要注意:光標的移動不能超過當前行的末尾,固然若是給出的數字超過當前光標到行末尾的字符個數,那麼也只能移到行尾。

2. 向後移動字符

將光標向後移動一個字符可使用命令爲:h、空格鍵或方向鍵←。同上面相似,若是在命令前加一個數字n,就將光標向後移動n個字符,並且光標不能超出行首。

3. 移到下一行

將光標移到下一行能夠用的命令:+、Enter鍵、j、Ctrl+n或方向鍵↓。這些命令之間是有差異的,+和Enter鍵是將光標移到下一行的行首,其他命令僅是移到下一行,所在的列不變。若是下一行比當前光標所在位置還短,則下標到行尾。

4. 移到上一行

將光標上移一行可使用的命令:-、k、Ctrl+p或方向鍵↑。同上面的命令相似,-命令將光標移到上一行行首,而另外3個保持在同一列。

5. 移至行首

將光標移到當前行的行首使用的命令爲0和^。這兩個命令在使用時的差異在於命令0是將光標移到當前行的第一個字符,無論它是否爲空白符,而命令^將光標移到當前行的第一個非空白符。

6. 移至行尾

將光標移到當前行的行尾使用的命令爲$。光標移至行尾後,停留在最後一個字符上,若是在該命令前加數字n,則光標將下移到n-1行的行尾。

7. 按詞前移

將光標按詞前移使用的命令爲w和W。這兩個命令都是將光標向前移至下一個單詞的開頭,它們的區別在:命令w搜索詞被定義爲以標點符號或空白符(如製表符、換行符或空格符)分隔的字母或數字串;而命令W搜索的詞被定義爲非空白符字符串。例若有字符串:

echo l > /proc/sys/net/ipv4/conf/default/rp_filter

連續輸入命令w,光標從行首移動的位置爲:e、l、>、/、p、s、…、/、r、r。

而命令W,光標從行首移動的位置爲:e、l、>、/、r。

8. 按詞後移

將光標後移的命令是b和B,這兩個命令都是將光標後移至上一個單詞的開頭,一樣,他們對詞的定義是有區別的。

9. 移至詞尾

將光標移至當前字符所在詞尾的命令是e和E。它們對詞的定義與上面的相似。

10. 移至指定行

將光標移至指定行的開頭能夠用命令以下:

  • :行號
  • 行號G

注意:第一個命令是在命令模式下執行的,而非普通模式。若是沒給出行號要顯示行號能夠用以下命令顯示行號:

:set number

:ser nu

如圖1-11所示。

clip_image002

圖1-11 在vi編輯器中顯示行號

將行號去掉可使用命令:

:set nonumber

:set nonu

 

1.6 文本輸入、刪除與修改

文本的輸入、刪除與修改是文件編輯的基本操做,其中大部分命令會將vi編輯器由普通模式切換爲編輯模式,下面來介紹這些命令。

1. 插入命令

文本的插入命令爲i和I。其中i是將其後輸出的字符插入到當前光標位置以前。命令I是將其後輸入的字符插入到當前光標所在行的行首。

2. 附加命令

附加文本的命令爲a和A,其中命令a是將其後輸入的字符插入到當前光標位置以後,而命令A則是將其後輸入的字符追加到當前光標所在行的行尾。

3. 另起新行

另起新行的命令爲o和O,其中命令o是在當前行的下面另起一行,命令O是在當前行的上面另起一行。新行建立完後,光標停留在新行行首,等待輸入文字。

4. 刪除字符

刪除字符的命令爲x和X。其中命令x刪除光標所在處的字符,而命令X刪除光標前面的那個字符。若是以前給出一個數字n,則刪除由光標所在字符開始向右的n個字符。

5. 刪除文本對象

命令dd刪除光標所在的行,命令D刪除從光標所在位置開始到行尾的全部字符。

字母d能夠與光標移動命令組合,例如:

  • d^:從光標位置刪至行首,不包括光標位。
  • d$:從光標位置刪至行尾,包括光標位,與D做用相同。
  • dG:刪除當前行至文件尾的內容。
  • Dgg:刪除當前行至文件頭的內容。

6. 修改命令

修改文本的命令爲c、C和cc,它們的做用是用新輸入的文本取代原來的文本,這等價於將原來的文本刪除後,利用命令i插入新的文本。

例若有一字符串:Hello World!

假設光標當前處在e處,輸入命令cw後,屏幕顯示以下:

H World!

此時光標處在H後的空格處,接着輸入文本i後按Esc鍵,屏幕顯示以下:

Hi World!

從上面能夠看出,cw只是修改光標當前位置到詞尾的字符,若是要修改整個單詞,可使用命令caw。

C命令用來修改從光標位置到行尾的文本。若是在前面加一個數字n,那麼會把從當前光標位置至當前行下面的n-1行的內容都刪除。

命令cc的功能和C相同,只是修改的範圍不一樣,它修改光標所在的整行內容。

7. 取代命令

取代文本的命令爲r和R。其中命令r是用其後輸入的單個字符取代光標所在的字符,若是在r前加一個數字n,則用其後輸入的單個字符取代光標所在處開始向後的n個字符。

R命令用其後輸入的文本取代光標所在處開始的若干個字符,每輸入一個字符就取代原有的一個字符,多出的部分附加在後面。

1.7 複製與粘帖

vi編輯器中的緩衝區分爲無名緩衝區和命名緩衝區。無名緩衝區以數字編號,一共有9個。前面講過可使用刪除命令x和dd來刪除文本,其實被刪除的內容還保存在緩衝區中,最近一次刪除的內容被保存在緩衝區1中,次近的在緩衝區2中,以此類推,咱們可使用命令把他們提取回來。

1. 粘帖

粘帖緩衝區內容的命令是p和P,這兩個命令的區別是:命令p將文本放在當前行之下或當前光標以後,而命令P將文本放在當前行之上或光標以前。

例:使用vi編輯器打開以下文件,而後進行刪除和粘帖操做。

1
2
3
4
5
6
case  5:
case  4:
case  3:
case  2:
case  1:
case  0:

假設光標當前出在第2行,連續執行dd命令4次,屏幕以下:

1
2
case  5:
case  0:

輸入命令p,則在屏幕顯示以下:

1
2
3
case  5:
case  0:
case  1:

輸入命令」3p,則屏幕顯示以下:

1
2
3
4
case  5:
case  0:
case  1:
case  3:

注意:」3用來引用緩衝區3,單個雙引號後緊跟緩衝區的編號。

2. 複製

命名緩衝區是以字母a~z命名的,利用命名緩衝區能夠很好地保存若干文本段,便於之後存取、移動或者重排。訪問這些緩衝區時,和前面同樣,使用單個雙引號。

複製文本的命令有以下兩種格式:

yy

y<光標移動命令>

其中yy表示複製整行內容,然後者則經過光標移動命令來限定被複制的文本,若是沒有指定緩衝區的名字,文本就被插入到無名緩衝區中。若是用大寫字母表示緩衝區,則文本就附加到該緩衝區中,緩衝區中原有的內容不會被覆蓋。

3. 不使用緩衝區的複製與移動

使用的命令爲co,它的基本格式以下:

:<開始行>,<結束行> co <目標行>

這個命令在命令模式下執行,其中開始行和結束行標識了文本複製的範圍,而目標行則是文本粘帖的位置。

1.8 查找與替換

1. 查找

/str向前查找字符串str,並將光標定位在str的第一個字母上,方便繼續操做,按下「/」鍵後光標跳到vi窗口的最後一行,而後等待輸入要查找的字符串,輸入完成後按Enter鍵開始搜索,這時編輯器會高亮顯示搜索結果。接下來可使用命令n來實現光標在搜索結果中移動。

命令?與/的工做方式相同,只有搜索方向相反。

使用上面介紹的命令,例如/the來查找時,可能須要搜索匹配單詞soothe和there,這時須要使用以下的形式:

/\<the\>

同理,要匹配一行的開頭與結尾須要使用^和$字符,例如:

big$

這個命令只能匹配到一行末尾的單詞big。

:set ignorecase

若是不關心目標字符串中的大小寫,能夠用上面的命令來設置。

:set nowrapscan

上面的命令是在輸入目標字符串的過程當中vi就開始搜索工做,即就是未完成輸入事就能找到目標。

2. 替換命令

使用的命令爲s和S,其中命令s用隨後輸入的文本替換光標所在處的字符。命令S將新輸入的文本替換當前整行。

3. 全局替換

全局替換命令有幾種經常使用的格式:

g/s1/s//s2/

將包含字符串s1的全部行中用字符串s2替換s1的首次出現,即就是將全部行中第一次出現的s1替換爲s2。

例如程序以下:

1
2
3
4
5
6
7
int  main()
{
     int  x;
     for (x=1;x<=10;x++)
         printf (「%d\n」,x);
     return  0;
}

輸入命令g/x/s//abc/後,上面的程序變爲:

1
2
3
4
5
6
7
int  main()
{
     int  abc;
     for (abc=1;x<=10;x++)
         printf (「%d\n」,abc);
     return  0;
}

能夠看到每行中存在x的第一次出現處都被換爲abc。

若是要將文件中的全部字符串s1都替換爲字符串s2,則使用以下命令:

g/s1/s//s2/g

例如程序以下:

1
2
3
4
5
6
7
int  main()
{
     int  x;
     for (x=1;x<=10;x++)
         printf (「%d\n」,x);
     return  0;
}

輸入命令g/x/s//abc/g後,上面的程序變爲:

1
2
3
4
5
6
7
int  main()
{
     int  abc;
     for (abc =1; abc <=10; abc ++)
         printf (「%d\n」, abc);
     return  0;
}

能夠看到全部的x都被替換爲abc了。

1
g/s1/s //s2/gc

該命令基本與上面的功能相同,只是在替換以前給出提示要求確認,若是回答y則進行替換,不然不做替換。


命令模式:在Linux終端中輸入「vim 文件名」就進入了通常模式,但不能輸入文字。
編輯模式:在通常模式下按i就會進入編輯模式,此時就能夠寫程式,按Esc可回到命令模式。
未行模式:在通常模式下按:就會進入命令模式,左下角會有一個冒號出現,此時能夠敲入命令並執行。

命令模式:
i 在光標前進入
I 在行首進入
a 在光標後進入
A 在行末進入
o 在光標所在行的下一行行首並進入編輯模式 
O 在光標所在行的上一行行首並進入編輯模式
cw 修改一個單詞
dw 刪除一個單詞
dd 刪除一行
u 撤銷上一次操做
CTRL+r 從新上一次操做
GG 光標快速回到文件底部
gg 光標快速回到文件首部
4dd 刪除光標所在行開始的4行
p 在光標下一行進行粘貼
yy 複製一行
d$ 刪除光標後面的字符到行末

 

 

末行模式:

q 退出
q! 強制退出
w 保存
wq 保存並退出
wq! 強制保存並退出
set nonu 不顯示行數
set nu 顯示行數
set autoindent 自動對齊
set noautoindent 取消自動對齊
1,5s/mail/gmail/g 全局替換(1-5行)
1,$s/mail/gmail/g 全局替換


按鍵 做用
Ctrl+d 鍵盤輸入結束或退出終端
Ctrl+s 暫定當前程序,暫停後按下任意鍵恢復運行
Ctrl+z 將當前程序放到後臺運行,恢復到前臺爲命令fg
Ctrl+a 將光標移至輸入行頭,至關於Home鍵
Ctrl+e 將光標移至輸入行末,至關於End鍵
Ctrl+k 刪除從光標所在位置到行末

Ctrl+u 刪除從光標所在位置到行頭
Alt+Backspace 向前刪除一個單詞
Shift+PgUp 將終端顯示向上滾動
Shift+PgDn 將終端顯示向下滾動


 

 

學會使用通配符

通配符是一種特殊語句,主要有星號(*)和問號(?),用來對對字符串進行模糊匹配(好比文件名,參數名)。當查找文件夾時,可使用它來代替一個或多個真正字符;當不知道真正字符或者懶得輸入完整名字時,經常使用通配符代替一個或多個真正的字符。

終端裏面輸入的通配符是由shell處理的,不是由所涉及到命令語句處理的,它只會出如今命令的「參數值」裏(它不用在 命令名稱裏, 命令不記得,那就用Tab補全)。當shell在「參數值」中遇到了通配符時,shell會將其看成路徑或文件名去在磁盤上搜尋可能的匹配:若符合要求的匹配存在,則進行代換(路徑擴展);不然就將該通配符做爲一個普通字符傳遞給「命令」,而後再由命令進行處理。總之,通配符 實際上就是一種shell實現的路徑擴展功能。在 通配符被處理後, shell會先完成該命令的重組,而後再繼續處理重組後的命令,直至執行該命令。

說了這麼多,感受來感覺下吧

先使用touch命令建立2個文件,後綴都爲txt

$ touch adsfasd.txt wergjlkas.txt 

文件名有點怪?我是故意的,意思是你能夠隨便輸入什麼文件名。而後意外發生了,過了很長時間,你已經忘了這兩個文件的文件名,如今你想在你大堆其餘文件中找到這兩個文本文件怎麼辦呢,這時候你就可使用通配符了

$ ls *.txt 

就這哦,沒啥了不得嘛,不慌,還有更厲害的,若是在windows中要你一次性建立一些這樣的文件你該怎麼作,「love_1_linux.txt, love_2_linux.txt,... love_10_linux.txt」,不知道咋辦了吧。不過這對linux來講也是小意思

$ touch love_{1..10}_linux.txt 

shell經常使用通配符:

字符 含義
* 匹配 0 或多個字符
? 匹配任意一個字符
[list] 匹配 list 中的任意單一字符
[!list] 匹配 除list 中的任意單一字符之外的字符
[c1-c2] 匹配 c1-c2 中的任意單一字符 如:[0-9] [a-z]
{string1,string2,...} 匹配 sring1 或 string2 (或更多)其一字符串
{c2..c2} 匹配 c1-c2 中所有字符 如{1..10}

這下知足了你了吧

地方


 

學會在命令行中獲取幫助

設想一下,假如你是一個嬌小柔弱的妹子,當你遇到體力活時,你會怎麼辦呢,哈哈,不用多想確定是找man(男人)來幫忙。 沒錯,咱們在linux環境中,若是你遇到困難的話,不管男女,是否嬌弱,你均可以找man(男人)來幫忙,不過要明白它不是真的man,只是Manual page的縮寫。

Manual pages是在Unix或類Unix操做系統在線軟件文檔的一種廣泛的形式。 內容包括計算機程序(包括庫和系統調用),正式的標準和慣例,甚至是抽象的概念。用戶能夠經過執行man命令調用手冊頁。

你可使用以下方式來得到某個命令的說明和使用方式的詳細介紹

$ man <command_name> 

好比你想查看man命令自己的使用方式,你能夠輸入

man man 

一般狀況下,man手冊裏面的內容都是英文的,這就要求你有必定的英文基礎。man手冊的內容不少,涉及了linux使用過程當中的方方面面,爲了便於查找,是作了分冊(分區段)處理的,在Research Unix、BSD、OS X和Linux中,手冊一般被分爲8個區段,安排以下:

區段 說明
1 通常命令
2 系統調用
3 庫函數,涵蓋了C標準函數庫
4 特殊文件(一般是/dev中的設備)和驅動程序
5 文件格式和約定
6 遊戲和屏保
7 雜項
8 系統管理命令和守護進程

要查看相應區段的內容,就在man後面加上相應區段的數字便可,如:

$ man 3 printf 

全部的手冊頁遵循一個常見的佈局,其爲經過簡單的ASCII文本展現而優化,而這種狀況下可能沒有任何形式的高亮或字體控制。通常包括如下部份內容:

NAME(名稱)

該命令或函數的名稱,接着是一行簡介。

SYNOPSIS(概要)

對於命令,正式的描述它如何運行,以及須要什麼樣的命令行參數。對於函數,介紹函數所需的參數,以及哪一個頭文件包含該函數的定義。

DESCRIPTION(說明)

命令或函數功能的文本描述。

EXAMPLES(示例)

經常使用的一些示例。

SEE ALSO(參見)

相關命令或函數的列表。

也可能存在其餘部份內容,但這些部分沒有獲得跨手冊頁的標準化。常見的例子包括:OPTIONS(選項),EXIT STATUS(退出狀態),ENVIRONMENT(環境),BUGS(程序漏洞),FILES(文件),AUTHOR(做者),REPORTING BUGS(已知漏洞),HISTORY(歷史)和COPYRIGHT(版權)。

一般man手冊中的內容不少,你可能不太容易找到你想要的結果,不過幸運的是你能夠在man中使用搜索,/<你要搜索的關鍵字>,查找到後你可使用n鍵切換到下一個關鍵字所在處,shift+n爲上一個關鍵字所在處。使用Space(空格鍵)翻頁,Enter(回車鍵)向下滾動一行,或者使用j,k(vim編輯器的移動鍵)進行向前向後滾動一行。按下h鍵爲顯示使用幫助(由於man使用less做爲閱讀器,實爲less工具的幫助),按下q退出

想要得到更詳細的幫助,你還可使用info命令,不過一般使用man就足夠了。若是你知道某個命令的做用,只是想快速查看一些它的某個具體參數的做用,那麼你可使用--help參數,大部分命令都會帶有這個參數,如

$ ls --help

地方

相關文章
相關標籤/搜索