一、初識Linux
1.1 Linux命令
- 用於實現某一類功能的指令或程序
- 命令的執行依賴於解釋器程序(例如:/bin/bash )
1.2 Linux命令的分類
- 內部命令∶屬於Shell 解釋器的一部分
- 外部命令∶獨立於Shell解釋器之外的程序
1.3 Shell
- Linux系統中運行的一種特殊程序也可以理解成一種特殊的軟件,提供了用戶與內核進行交互操作的一種接口。
- 在用戶和內核之間充當“翻譯官”去通知操作系統需要進行什么樣的操作(相當於解釋層)
- 內核相當於操作系統去指揮硬件,硬件才能工作,否則無法交互
- 用戶登錄Linux系統時,自動加載一個Shell程序
- Bash是Linux系統中默認使用的Shell程序
- 文件位於/bin/bash
1.4 shell與內、外部命令
- 內部命令在系統啟動時調入在內存,常駐內存,所以執行效率高
- 外部命令是系統軟件的功能,用戶需要時從硬盤中調入指定的文件,運行完放在內存當中
(1) shell 分為內部命令和外部命令,一般先執行內部命令,再執行外部命令(別名最大)
內部命令 | 外部命令 |
---|---|
集成於Shell解釋器程序內部的一些特殊指令,也稱為內建(Built-in)指令 | Linux系統中能夠完成特定功能的腳本文件或二進制程序 |
屬於Shell的一部分 | 屬於Shell解釋器程序之外的命令 |
沒有單獨對應的系統文件 | 每個外部命令對應了系統中的一個文件 |
自動載入內存,可以直接使用 | 必須知道其對應的文件位置,由Shell加載后才能執行 |
1.5 Linux命令的通用格式
命令字 [選項] [參數]
-
選項:用於調節命令的具體功能
-
”-”引導短格式選項,例如“Is -a"
-
“--”引導長格式選項,例如“Is --help”
-
參數:命令的對象,如文件、目錄名等
1.6 命令的操作技巧
- Tab鍵:自動補齊(1、命令補齊;2、文件名補齊【前提是唯一】);按兩次Tab鍵,系統將輸出可用的名稱列表
- 反斜杠“\”:強制換行
- Ctrl + U:快速刪除當前光標處之前的所有字符
- Ctrl + K:快速刪除從當前光標處到行尾的所有字符
- Ctrl + L:快速清空當前屏幕中的顯示內容
- Ctrl + C:取消當前命令行的編輯
1.7 獲取命令的幫助
1.內部命令help
- 查看Basn內部命令的幫助信息
2.命令的“--help”選項
- 適用於大多數外部命令
3.使用man命令閱讀手冊頁
- 使用“ ↑ ”、“↓”方向鍵滾動文本
- 使用Page Up和 Page Down鍵翻頁
- 按Q或q鍵退出閱讀環境、按“”鍵查找內容
二、Linux 基本命令
2.1 ls(list)命令詳解
- -l∶以長格式(Long)顯示文件和目錄的列表
-
-a:顯示所有(AlI )子目錄和文件的信息
-
-A:與-a選項的作用基本類似,但有兩個特殊隱藏目錄不會顯示,“.”和".."
-
-d :顯示目錄(Directory )本身的屬性,而不是顯示目錄中的內容
-
-h:以更人性化(Human)的方式顯示出目錄或文件的大小,此選項需要結合-I選項一起使用(顯示文件大小的單位)
-
-R:以遞歸( Recursive )的方式顯示指定目錄及其子目錄中的所有內容
2.2 du ( disk usage)命令詳解
用於統計指定目錄(或文件)所占用磁盤空間的大小,du命令常用的幾個選項如下:
- -a:統計磁盤空間占用時包括所有的文件,而不僅僅只統計目錄(包括文件的總和大小)
- -h :以更人性化的方式(默認以KB計數,但不顯示單位)顯示出統計結果
- -S:只統計所占用空間總的( Summary )大小,而不是統計每個子目錄、文件的大小
應用舉例:
du -sh /var/log/統計所有文件總共占用的空間大小
2.3 touch命令
創建空文件,用於測試
- touch test
當目標文件已存在時,將更新該文件的時間標
- 記touch test
2.4mkdir ( make directory )命令
作用:創建新目錄
格式 mkdir [選項] 目錄位置及名稱..
[選項]中填入 -p(parent):一次性創建嵌套的多層目錄
目錄位置及名稱:一般是相對地址
示例:
- 在當前目錄下創建名為public_html的子
目錄
- mkdir public_html
- 創建目錄/aa,在/aa目錄下創建子目錄bb,在/aa/bb目錄下創建子目錄cc
- mkdir -p /aa/bb/cc
2.5 cp ( copy )
-
作用
復制文件或目錄
-
格式
cp [選項] 源文件或目錄 目標文件或目錄 (目的目錄后跟名字,相當於重命名)
-
需要復制多個文件或目錄時,目標位置必須是目錄,而且目標目錄必須已經存在。cp命令較常用到的幾個選項如下:
-
-f:覆蓋目標同名文件或目錄時不進行提醒,而直接強制( Force )復制(直接覆蓋掉)
-
-i:覆蓋目標同名文件或目錄時提醒用戶確認(Interactive,交互式)
-
-p:復制時保持( Preserve)源文件的權限、屬主及時間標記等屬性不變
-
-r:復制目錄時必須使用此選項,表示遞歸復制所有文件及子目錄
2.6 rm ( remove )
-
作用:刪除指定的文件或目錄
-
格式
rm [選項] 要刪除的文件或目錄…
-
常用選項
-
-f:不提醒,直接強制刪除
-
-i:提醒用戶確認
-
-r:遞歸刪除整個目錄樹
4.示例
直接刪除root目錄中test1目錄樹
- -rm -rf test1(實操中極度危險命令)
以提示確認方式刪除public_html目錄中apg.conf 文件
- -rm -i public_html/apg.conf
2.7 mv ( move )
1、作用
- 將指定的文件或目錄轉移位置
- 如果目標位置與源位置相同,則相當於執行重命名操作
2、格式
- mv [選項] 源文件或目錄 目標文件或目錄
3、例子
1、把當前目錄中mytouch程序文件改名為mkfile
- mv mytouch mkfile
2、將mkfile文件移動到已存在的目錄public_html中,文件名保持不變
-
mv mkfile public_html/
區分:若在目錄的文件;cp 需要遞歸;MV不需要。
3、移動時也可以重命名,前提是該目錄下沒有要重命名的名字,否則會移動到該目錄下。
2.8 which
1、作用:查找Linux命令程序所在的位置
2、格式
- which 命令 | 程序名 (命令或者程序名)
3、示例
- which ls
4、注意
- 默認當找到第一個目標后不再繼續查找
- 若在所有搜索路徑中查找,加“-a”選項
- 無法查找內部命令所對應的程序文件
例如: which cd
which is(沒有該命令)
2.9 find
1、作用︰精細查找文件或目錄
2、格式
- find [查找范圍] [查找條件表達式] [處理動作](一般隱藏,默認為print)
3、常用查找條件
- 按名稱查找:“-name"
- 按文件大小查找:“-size"
- 按文件屬主查找:“-user"
- 按文件類型查找:“-type"
例1、name的使用
1、-name :根據目標文件的名稱進行查找,允許使用“*”、“?”通配符
2、示例
- 遞歸查找/etc目錄中名稱以“resol”開頭、以“.conf”結尾的文件
find /etc -name "resol*.conf"
例2、size的使用
1、-size:根據目標文件的大小進行查找,一般使用“+”、“”號設置超過或小於指定的大小作為查找條件。常用的容量單位包括kB(注意k是小寫)、MB、GB
2、示例
查找/boot目錄中超過10MB的文件
- find /boot -size +10M
例3、type的使用
1、-type:根據文件的類型進行查找,類型指的是普通文件(f:file)、目錄(d:directory)、塊設備文件(b:block )、字符設備文件(c:character)等
- 塊設備指的是成塊讀取數據的設備(如硬盤、內存等)
- 而字符設備指的是按單個字符讀取數據的設備(如鍵盤、鼠標等)
2、示例
- 查找/boot目錄中所有的子目錄
find /boot -type d
4、多條件查找
1、同時使用多個查找條件時,各表達式之間可以使用邏輯運算符“-a”、“-o”,分別表示而且( and )、或者(or )
2、示例
查找/boot目錄中超過1MB和(或)名稱以vm開頭的所有文件
- find /boot -size +1M -a -name "vm“
- find /boot -size +1M -o -name "vm"