Linux課程知識點總結(二)

Linux課程知識點總結(二)

七、Shell實用功能

7.1 命令行自動補全

在Linux系統中,有太多的命令和文件名稱需要記憶,使用命令行補全功能[Tab]可以快速的寫出文件名和命令名

7.2 命令歷史記錄

在操作Linux系統的時候,每一個操作的命令都會記錄到命令歷史中,在以後可以通過命令歷史查看和使用以前操作的命令。

bash啟動的時候會讀取/.bash_history文件,並將其載入到內存中,$HISTFILE變量就用於設置/.bash_history文件,bash退出時也會把內存中的歷史記錄回寫到~/.bash_history文件中。

使用history命令可以查看命令歷史記錄,每一條命令前面都會有一個序列號標示。

命令語法:

history [選項]

7.3 命令排列

如果希望一次執行多個命令,Shell允許在不同的命令之間,放上特殊的排列字符。

(1)使用「;」

使用「;」命令時先執行命令1,不管命令1是否出錯,接下來就執行命令2。

命令語法:

命令1; 命令2;命令3;命令4

(2)使用「&&」

使用「&&」命令時只有當命令1正確運行完畢後,才能執行命令2 。

命令語法:

命令1 && 命令2 && 命令3 && 命令4

(3)使用「||」

命令1 || 命令2 ||命令3 || 命令4

7.4 命令替換

在Linux系統中,Shell命令的參數可以由另外一個命令的結果來替代,這種稱之為命令替換。

1.使用「$( )」

命令語法:

命令1 $(命令2)

2.使用 「“

命令語法:

命令1`命令2

7.5 命令別名

在需要執行某一個非常長的命令時,所有的命令以及命令的選項、參數都要一一輸入,很枯燥也容易出現錯誤。可以為常用命令定義快捷方式,這些快捷方式可以用比較簡單的命令別名來定義。

1、創建別名

使用alias命令可以為命令定義別名。如果命令中有空格的話,就需要使用雙引號(比如在命令與選項之間就有空格)。

命令語法:

alias [別名]=[需要定義別名的命令]

2.取消別名

當用戶需要取消別名的定義時,可以使用unalias命令。

命令語法:

unalias [別名]

7.6 文件名匹配

文件名匹配使得用戶不必一一寫出文件名稱就可以指定多個文件。這將用到一些特殊的字符,稱之為通配符。

1通配符「*」

「*」可匹配一個或多個字符。

2通配符「?」

在匹配時,一個問號只能代表一個字符。

7.7 管道

Linux系統的理念是彙集許多小程序,每個程序都有特殊的專長。複雜的任務不是由大型軟件完成,而是運用Shell 的機制,組合許多小程序共同完成。管道就在其中發揮着重要的作用,它可以將某個命令的輸出信息當作某個命令的輸入,由管道符號「|」來標識。

命令語法:[命令1] | [ 命令2] | [ 命令3]

7.8 重定向

希望將命令的輸出結果保存到文件中,或者以文件內容作為命令的參數,這時就需要用到重定向。重定向不使用系統的標準輸入端口、標準輸出端口或是標準錯誤端口,而是進行重新的指定。

重定向有四種方式:輸出重定向、輸入重定向、錯誤重定向以及同時實現輸出和錯誤的重定向。

錯誤重定向,即將某一命令執行的出錯信息輸出到指定文件中。

命令語法:

[命令] 2> [文件]

另外一種特殊的錯誤重定向是錯誤追加重定向,即將某一命令執行的出錯信息添加到已經存在的文件中。

命令語法

[命令] 2>> [文件]

同時實現輸出和錯誤的重定向,即可以同時實現輸出重定向和錯誤重定向的功能。

命令語法:

[命令] &> [文件]

八、Vi編輯器

進入插入模式:

命令 功能
i 從光標當前所在位置之前開始插入
a 從光標當前所在位置之後開始插入
I 在光標所在行的行首插入
A 在光標所在行的行末尾插入
o 在光標所在的行的下面新開一行插入
O 在光標所在的行的上面新開一行插入
s 刪除光標位置的一個字符,然後進入插入模式
S 刪除光標所在的行,然後進入插入模式

光標移動:

命令 功能
↑鍵(向上箭頭 ) 使光標向上移動一行
↓鍵(向下箭頭 ) 使光標向下移動一行
←鍵(向左箭頭) 使光標向左移動一個字符
→鍵(向右箭頭 ) 使光標向右移動一個字符
k 使光標向上移動一行
j 使光標向下移動一行
h 使光標向左移動一個字符
l 使光標向右移動一個字符
nk 使光標向上移動n行,n代表數字
nj 使光標向下移動n行,n代表數字
nh 使光標向左移動n個字符,n代表數字
nl 使光標向右移動n個字符,n代表數字
H 使光標移動到屏幕的頂部
M 使光標移動到屏幕的中間
L 使光標移動到屏幕的底部
Ctrl+b 使光標往上移動一頁屏幕
Ctrl+f 使光標往下移動一頁屏幕
Ctrl+u 使光標往上移動半頁屏幕
Ctrl+d 使光標往下移動半頁屏幕
0(數字0) 使光標移到所在行的行首
$ 使光標移動到光標所在行的行尾
^ 使光標移動到光標所在行的行首
w 使光標跳到下一個字的開頭
W 使光標跳到下一個字的開頭,但會忽略一些標點符號
e 使光標跳到下一個字的字尾
E 使光標跳到下一個字的字尾,但會忽略一些標點符號
b 使光標回到上一個字的開頭
B 使光標回到上一個字的開頭,但會忽略一些標點符號
( 使光標移動到上一個句首
) 使光標移動到下一個句首
{ 使光標移動到上一個段落首
} 使光標移動到下一個段落首
G 使光標移動到文件尾(最後一行的第一個非空白字符處)
gg 使光標移動到文件首(第一行第一個非空白字符處)
space鍵(空格鍵) 使光標向右移動一個字符
Backspace鍵 使光標向左移動一個字符
Enter鍵 使光標向下移動一行
Ctrl+p 使光標向上移動一行
Ctrl+n 使光標向下移動一行
n| 使光標移動到第n個字符處,n代表數字
nG 使光標移動到第n行首,n代表數字
n+ 使光標向下移動n行,n代表數字
n- 使光標向上移動n行,n代表數字
n$ 使光標移動到以當前行算起的第n行尾,n代表數字

命令模式命令: