一、shell
1、Linux系統中運行的一種特殊程序
2、在用戶和內核之間充當“翻譯官”
3、用戶登錄Linux系統時,自動加載一個shell程序
4、Bash時Linux系統中默認使用的shell程序
二、內部命令與外部命令的區別
內部命令 |
外部命令 |
集成於shell解釋器程序內部的一些特殊指令,也稱為內建指令 |
Linux系統中能夠完成特定功能的腳本文件或二進制程序 |
屬於shell的一部分 |
屬於shell解釋器程序之外的命令 |
沒有單獨對應的系統文件 |
每個外部命令對應了系統中的一個文件 |
自動載入內存,可以直接使用 |
必須知道其對應的文件位置,由shell加載后才能執行 |
三、Linux命令行的格式
命令字 [選項] [參數]
四、編輯命令行的輔助操作
Tab鍵:自動補全
反斜杠“\”:強制換行
Ctrl+U組合鍵:清空光標前一個字符至行首
Ctrl+K組合鍵:清空光標位置至行尾
Ctrl+L組合鍵:清屏
Ctrl+C組合鍵:取消本次命令編輯
五、命令的使用方法
1、pwd-查看當前的工作目錄
2、cd-切換工作目錄
將用戶的工作目錄更改到其他位置
格式 |
說明 |
cd 目標位置 |
切換到目標位置 |
cd ~ |
若不指定目標位置,切換到當前用戶的宿主目錄 |
Cd |
|
cd - |
切換到上一次執行cd命令之前所在的目錄 |
①絕對路徑-完整路徑(從根目錄開始的路徑)
②相對路徑-從當前路徑出發到達的目標路徑
表現形式 |
說明 |
示例 |
直接使用目錄名或文件名 |
表示當前工作目錄中的子目錄、文件的位置 |
grub.conf |
以一個點號“.”開頭 |
表示以當前的工作目錄作為起點 |
./ grub.conf |
以兩個點號“..”開頭 |
表示以當前目錄的上一級目錄作為起點 |
../vmlinuz |
以“~用戶名”形式開頭 |
表示以指定用戶的宿主目錄作為起點 |
~teacher |
3、ls-列表顯示目錄內容
顯示目錄中的內容,包括子目錄和文件
表現形式:Ls [選項] [文件目錄]
常用選項
-l |
使用較長格式列出信息 |
-a |
不隱藏任何以.開始的項目 |
-A |
列出除.及..以外的任何項目 |
-d |
列出目錄本身,不顯示目錄的內容 |
-h |
與-l一起,以易於閱讀的格式輸出文件大小 |
-R |
遞歸顯示子目錄 |
通配符
“?”:匹配文件中的一個未知字符
“*”:匹配文件中的任意多個字符
4、alias-設置別名
通過別名機制簡化常用的,比較長的目錄
表現形式:Alias命令別名=命令
示例:
設置myls為ls -alh的別名
Alias myls=‘ls -alh’
5、du-統計目錄及文件空間占用情況
統計指定目錄或文件所占用的磁盤空間的大小
表現形式:du [選項] [文件或目錄…]
常用選項
-a |
統計磁盤空間占用時包括所有的文件,而不僅僅只統計目錄 |
-h |
以更人性化的方式(默認以KB計數,但不顯示單位)顯示出統計結果 |
-s |
只統計所占用的空間總的大小,而不是統計每個子目錄,文件的大小 |
6、mkdir-創建新目錄
創建新的目錄
表現形式:mkdir [選項] 目錄位置及名稱...
-p:一次性創建嵌套的多層目錄
示例:
① 在當前目錄下創建名為aaa的子目錄
mkdir aaa
② 創建目錄/aa,在/aa目錄下創建子目錄bb,在/aa/bb目錄下
創建子目錄cc
7、touch-創建空文件
更新文件的時間標記
① 經常用於創建多個新的空文件
表現形式:touch 文件...
② 創建兩個空文件,文件名分別為aa和bb
表現形式:touch aa bb
touch a→ /root/a 在root目錄下
touch /a→ /a 在/目錄下
8、ln-創建鏈接文件
為文件或目錄建立鏈接文件,類似於windows系統的快捷方式
鏈接文件類型
① 硬鏈接
表現形式:ln 源文件或目錄...鏈接文件或目標位置
② 軟鏈接(又稱為符號鏈接)
表現形式:ln [-s] 源文件或目錄...鏈接文件或目標位置
vi去編輯b.txt和c.txt查看能否鏈接上a.txt
硬鏈接:創建鏈接時,會創建一個文件,刪除源文件對硬鏈接沒影響
軟鏈接:創建軟鏈接時,會創建一個訪問的快捷方式,當刪除源文件時,軟鏈接失效
9、cp-復制文件或目錄
將需要復制的文件或目錄重建一份,並保存為新的文件或目錄
表現形式:cp [選項] ...源文件或目錄...目標文件或目錄...
常用選項
選項 |
說明 |
-f |
覆蓋目標同名文件或目錄時不進行提醒,直接強制復制 |
-i |
覆蓋目標同名文件或目錄時提醒用戶確認 |
-p |
復制時保持源文件的權限,屬主及時間標記等屬性不變 |
-r |
復制目錄時必須使用此選項,表示遞歸復制所有文件或子目錄 |
10、rm-刪除文件或目錄
刪除指定的文件或目錄
表現形式:rm [選項] 要刪除的文件或目錄
常用選項:-f、-i、-r
11、mv-移動文件或目錄
將指定的文件或目錄轉移位置,如果目標位置與源位置相同,則相當於執行重命名操作
表現形式:mv [選項] ...源文件或目錄...目標文件或目錄
12、which-查找命令/文件存放目錄
搜索范圍內環境變量PATH決定(echo $PATH)
表現形式:which 命令|程序名 或 which -a 命令|程序名
示例
which ls
which cd
13、find-查找文件或目錄
采用遞歸方式,根據目標的名稱、類型、大小等不同屬性進行精細查找
表現形式:find [查找范圍] [查找條件表達式]
查找類型 |
關鍵字 |
說明 |
按名稱查找 |
-name |
根據目標、文件的名稱進行查找,允許使用*及?通配符 |
按文件大小查找 |
-size |
根據目標文件的大小查找 |
一般使用+、-號設置超過或小於指定的大小為查找條件 |
||
常用的容量單位包括kB(k小寫)、MB、GB |
||
按文件屬主查找 |
-user |
根據文件是否屬於目標用戶進行查找 |
按文件類型查找 |
-type |
根據文件類型查找,文件類型包括普通文件(f)、目錄(d)、塊設備文件(b)、字符設備文件(c) |
14、使用find命令實現查找多個文件
各表達式之間使用邏輯運算符
-a表示而且(and)
-o表示或者(or)
示例
find /boot -size +1024k -a -name 文件名稱
find /boot -size +1024k -o -name 文件名稱