轉載于:https://blog.csdn.net/a15803617402/article/details/84936151
長指令與短指令
ls -l -a /root #長指令
ls -la /root #短指令
- 1
- 2
在Linux系統中,指令可以分為:bash内置的指令和應用程式。
#可以使用which指令檢視哪些指令是bash内置的指令,哪些是應用程式。
[email protected]:/# which ls
/usr/bin/ls
- 1
- 2
- 3
常用控制組合鍵
- Ctrl+l:清屏
- Ctrl+o:執行目前指令,并選擇上一條指令
- Ctrl+s:阻止螢幕輸出
- Ctrl+q:允許螢幕輸出
- Ctrl+c:終止指令
- Ctrl+z:挂起指令
- Ctrl+d:輸入結束或登出Linux系統
常用光标操作
Ctrl+a:移到指令首行
Ctrl+e:移到指令行尾
Ctrl+u:删除從光标到指令行首的部分
Ctrl+k:删除從光标到指令行尾部分
特殊字元
在Linux系統中,許多字元對于shell具有特殊意義
~:使用者主目錄
`:反引号,用來指令代替
#:注釋
$:變量取值
():子shell開始與結束
\:使指令持續到下一行
|:管道
<:輸入重定向
> 輸出重定向
>>:追加重定向
':單引号(不具有變數置換功能)
“:雙引号(具有變數置換功能)
/:路徑分隔符
;:指令分隔符
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
通配符
?:表示任何單一字元
*:表示任意字元
[charlist]:在中括号中的字元都符合
[!charlist]:不在中括号中的字元都符合
- 1
- 2
- 3
- 4
指令曆史記錄
bash啟動時會讀取/.bash_history檔案,并将其載入記憶體中,$HISTFILE變量用于設定/.bash_history檔案,bash退出時也會把記憶體中的曆史記錄回寫到此檔案中。
[email protected]:/# echo $HISTFILE
/root/.bash_history
#在etc/profile檔案中,預設定義了1000個指令曆史記錄
$HISTSIZE:設定bash會話期間指令曆史包含的指令數量
$HISTFILESIZE:設定曆史檔案中實際存儲的指令數量
- 1
- 2
- 3
- 4
- 5
使用history指令可以檢視指令曆史記錄,每一條指令都有一個序列号标示。
-c:清除指令曆史記錄
-w:将目前的曆史指令寫到.bash_history檔案中(覆寫操作)
-a:将目前新增的曆史指令追加到.bash_history檔案中
n:顯示最近n個指令曆史記錄
-r:讀取曆史檔案的内容,并把它們作為目前曆史
- 1
- 2
- 3
- 4
- 5
指令排列
1、使用;
先執行指令1,不管指令1是否出錯,接下來執行指令2
[email protected]:~# ls;pwd
test
/root
2、使用&&
隻有指令1正确執行完畢後才能執行指令2
[email protected]:~# ls&&pwd
test
/root
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
指令替換
在Linux系統中,shell指令的參數可以由另一個指令的結果來代替,這種操作稱為指令替換,有兩種替換字元:$()、``反引号
[email protected]:~# ls $(pwd)
test
[email protected]:~# ls `pwd`
test
- 1
- 2
- 3
- 4
指令别名
在需要執行某一個非常長的指令時,所有的指令及指令的選項、參數都可以用快捷方式來定義簡單的别名
文法說明:
alias [别名]=[需要定義的指令]
[email protected]:~# alias hello="ls -al /root"
[email protected]:~# hello
total 4
drwx------ 1 root root 4096 Dec 10 09:39 .
drwxr-xr-x 1 root root 4096 Dec 5 11:10 ..
-rw------- 1 root root 179 Dec 9 10:34 .bash_history
-rw-r--r-- 1 root root 570 Sep 12 14:36 .bashrc
-rw-r--r-- 1 root root 148 Sep 12 14:36 .profile
drwxrwxrwx 1 root root 4096 Dec 10 09:39 test
取消别名:
unalias [别名]
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
管道
可以将某個指令的輸出資訊作為某個指令的輸入,用|來标示
[email protected]:~# cat .bash_history |grep c
cd /
curl
nc
- 1
- 2
- 3
- 4
重定向
1、輸出重定向,即将某一個指令執行的輸出儲存到檔案中,如果已存在該檔案,那麼将覆寫操作。
[指令] > [檔案]
[email protected]:~# history > history.txt
[email protected]:~# cat history.txt
1 cd /
2 .......省略
[email protected]:~# echo hello>hello.txt
[email protected]:~# cat hello.txt
hello
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
2、追加重定向
[email protected]:~# echo world>>hello.txt
[email protected]:~# cat hello.txt
hello
world
- 1
- 2
- 3
- 4
3、錯誤重定向,将某一指令執行的出資訊輸出到指定的檔案中
[指令] 2> [檔案]
[email protected]:~# cat /root/123 2>2.txt
[email protected]:~# cat 2.txt
cat: /root/123: No such file or directory
錯誤追加:
[指令] 2>> [檔案]
- 1
- 2
- 3
- 4
- 5
- 6
VI編輯器
vi編輯器是Linux系統字元界面下最常用的文本編輯器,用于編輯任何ASCII文本,可以進行文本的建立、查找、替換、删除、複制和粘貼等操作。
- 指令模式:進入vi編輯器後,系統預設處于指令模式,指令模式控制螢幕光标的移動、字元、字或行的删除等,在指令模式下可以按:進入末行模式,按下字母a鍵進入插入模式
- 插入模式:隻有在插入模式下,才能進行文本編輯,按下WSC鍵可以回到指令模式。
- 末行模式:在末行模式下,可以将檔案進行儲存或退出vi編輯器,也可以進行字元替換或删除操作。
常用插入模式指令:
i:從光标目前所在的位置開始插入
a:從光标目前所在的位置之後開始插入
o:在光标所在行的下面新開一行插入
常用指令模式操作:
x:删除光标所在位置的字元
X:删除光标所在位置前面一個字元
dd:删除光标所在行
yy:複制光标所在行
u:撤銷上一個操作
Ctrl+g:列出行号
ZZ:儲存退出
ZQ:不儲存退出
/關鍵字:先按下/鍵,在輸入要查找的内容,按下n鍵會繼續查找下一個關鍵字。
末行操作模式:先按下ESC鍵,再按下:鍵進入末行模式:
:w 儲存檔案
:w fimename 另存為
:wq 儲存并退出VI編輯器
:wq! 儲存檔案并強制退出
:x 與:wq!效果一樣
:q!如果無法離開vi,則強制退出
:set number 在檔案每行前面列出行号
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
</div>
<link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-e44c3c0e64.css" target="_blank" rel="external nofollow" rel="stylesheet">
</div>
長指令與短指令
ls -l -a /root #長指令
ls -la /root #短指令
- 1
- 2
在Linux系統中,指令可以分為:bash内置的指令和應用程式。
#可以使用which指令檢視哪些指令是bash内置的指令,哪些是應用程式。
[email protected]:/# which ls
/usr/bin/ls
- 1
- 2
- 3
常用控制組合鍵
- Ctrl+l:清屏
- Ctrl+o:執行目前指令,并選擇上一條指令
- Ctrl+s:阻止螢幕輸出
- Ctrl+q:允許螢幕輸出
- Ctrl+c:終止指令
- Ctrl+z:挂起指令
- Ctrl+d:輸入結束或登出Linux系統
常用光标操作
Ctrl+a:移到指令首行
Ctrl+e:移到指令行尾
Ctrl+u:删除從光标到指令行首的部分
Ctrl+k:删除從光标到指令行尾部分
特殊字元
在Linux系統中,許多字元對于shell具有特殊意義
~:使用者主目錄
`:反引号,用來指令代替
#:注釋
$:變量取值
():子shell開始與結束
\:使指令持續到下一行
|:管道
<:輸入重定向
> 輸出重定向
>>:追加重定向
':單引号(不具有變數置換功能)
“:雙引号(具有變數置換功能)
/:路徑分隔符
;:指令分隔符
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
通配符
?:表示任何單一字元
*:表示任意字元
[charlist]:在中括号中的字元都符合
[!charlist]:不在中括号中的字元都符合
- 1
- 2
- 3
- 4
指令曆史記錄
bash啟動時會讀取/.bash_history檔案,并将其載入記憶體中,$HISTFILE變量用于設定/.bash_history檔案,bash退出時也會把記憶體中的曆史記錄回寫到此檔案中。
[email protected]:/# echo $HISTFILE
/root/.bash_history
#在etc/profile檔案中,預設定義了1000個指令曆史記錄
$HISTSIZE:設定bash會話期間指令曆史包含的指令數量
$HISTFILESIZE:設定曆史檔案中實際存儲的指令數量
- 1
- 2
- 3
- 4
- 5
使用history指令可以檢視指令曆史記錄,每一條指令都有一個序列号标示。
-c:清除指令曆史記錄
-w:将目前的曆史指令寫到.bash_history檔案中(覆寫操作)
-a:将目前新增的曆史指令追加到.bash_history檔案中
n:顯示最近n個指令曆史記錄
-r:讀取曆史檔案的内容,并把它們作為目前曆史
- 1
- 2
- 3
- 4
- 5
指令排列
1、使用;
先執行指令1,不管指令1是否出錯,接下來執行指令2
[email protected]:~# ls;pwd
test
/root
2、使用&&
隻有指令1正确執行完畢後才能執行指令2
[email protected]:~# ls&&pwd
test
/root
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
指令替換
在Linux系統中,shell指令的參數可以由另一個指令的結果來代替,這種操作稱為指令替換,有兩種替換字元:$()、``反引号
[email protected]:~# ls $(pwd)
test
[email protected]:~# ls `pwd`
test
- 1
- 2
- 3
- 4
指令别名
在需要執行某一個非常長的指令時,所有的指令及指令的選項、參數都可以用快捷方式來定義簡單的别名
文法說明:
alias [别名]=[需要定義的指令]
[email protected]:~# alias hello="ls -al /root"
[email protected]:~# hello
total 4
drwx------ 1 root root 4096 Dec 10 09:39 .
drwxr-xr-x 1 root root 4096 Dec 5 11:10 ..
-rw------- 1 root root 179 Dec 9 10:34 .bash_history
-rw-r--r-- 1 root root 570 Sep 12 14:36 .bashrc
-rw-r--r-- 1 root root 148 Sep 12 14:36 .profile
drwxrwxrwx 1 root root 4096 Dec 10 09:39 test
取消别名:
unalias [别名]
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
管道
可以将某個指令的輸出資訊作為某個指令的輸入,用|來标示
[email protected]:~# cat .bash_history |grep c
cd /
curl
nc
- 1
- 2
- 3
- 4
重定向
1、輸出重定向,即将某一個指令執行的輸出儲存到檔案中,如果已存在該檔案,那麼将覆寫操作。
[指令] > [檔案]
[email protected]:~# history > history.txt
[email protected]:~# cat history.txt
1 cd /
2 .......省略
[email protected]:~# echo hello>hello.txt
[email protected]:~# cat hello.txt
hello
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
2、追加重定向
[email protected]:~# echo world>>hello.txt
[email protected]:~# cat hello.txt
hello
world
- 1
- 2
- 3
- 4
3、錯誤重定向,将某一指令執行的出資訊輸出到指定的檔案中
[指令] 2> [檔案]
[email protected]:~# cat /root/123 2>2.txt
[email protected]:~# cat 2.txt
cat: /root/123: No such file or directory
錯誤追加:
[指令] 2>> [檔案]
- 1
- 2
- 3
- 4
- 5
- 6
VI編輯器
vi編輯器是Linux系統字元界面下最常用的文本編輯器,用于編輯任何ASCII文本,可以進行文本的建立、查找、替換、删除、複制和粘貼等操作。
- 指令模式:進入vi編輯器後,系統預設處于指令模式,指令模式控制螢幕光标的移動、字元、字或行的删除等,在指令模式下可以按:進入末行模式,按下字母a鍵進入插入模式
- 插入模式:隻有在插入模式下,才能進行文本編輯,按下WSC鍵可以回到指令模式。
- 末行模式:在末行模式下,可以将檔案進行儲存或退出vi編輯器,也可以進行字元替換或删除操作。
常用插入模式指令:
i:從光标目前所在的位置開始插入
a:從光标目前所在的位置之後開始插入
o:在光标所在行的下面新開一行插入
常用指令模式操作:
x:删除光标所在位置的字元
X:删除光标所在位置前面一個字元
dd:删除光标所在行
yy:複制光标所在行
u:撤銷上一個操作
Ctrl+g:列出行号
ZZ:儲存退出
ZQ:不儲存退出
/關鍵字:先按下/鍵,在輸入要查找的内容,按下n鍵會繼續查找下一個關鍵字。
末行操作模式:先按下ESC鍵,再按下:鍵進入末行模式:
:w 儲存檔案
:w fimename 另存為
:wq 儲存并退出VI編輯器
:wq! 儲存檔案并強制退出
:x 與:wq!效果一樣
:q!如果無法離開vi,則強制退出
:set number 在檔案每行前面列出行号
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
</div>
<link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-e44c3c0e64.css" target="_blank" rel="external nofollow" rel="stylesheet">
</div>