************************* 路徑 *************************
從/
目錄開始描述的路徑爲絕對路徑,
從當前位置開始描述的路徑爲相對路徑
.
表示當前目錄,
..
表示上一級目錄,即父目錄,
根目錄下的.
和..
都表示當前目錄
************************* 文件、磁盤管理命令 *************************
Linux命令格式:
command [-options] [parameter1] …
command
:命令名,相應功能的英文單詞或單詞的縮寫
[-options]
:選項,可用來對命令進行控制,也可以省略,[]代表可選?
parameter1 …
:傳給命令的參數:可以是零個一個或多個
自動補全:
一個 tab 補全,如果有唯一定位的,自動出來。
兩個 tab 所有滿足條件的都列出出來。
-
man
linux提供的一個手冊,包含了絕大部分的命令、函數使用說明
sudo apt-get install manpages-zh(安裝中文手冊) -
history
將執行過的命令列舉出來,後邊可加數字,列出最後幾條命令
!
加數字可執行以前執行過的命令 -
ls
列出目錄的內容,類似於DOS下的 dir 命令
參數 | 含義 |
---|---|
-a | 顯示制定目錄下所有子目錄與文件,包括隱藏文件 |
-l | 以列表方式顯示文件的詳細信息 |
-h | 配合-l 以人性化的方式顯示文件大小 |
-R | 遞歸顯示所有文件 |
通配符 | 含義 |
---|---|
* | 文件代表文件名中所有字符 |
te* | 查找以 te 開頭的文件 |
*html | 查找結尾爲 html 的文件 |
? | 代表文件名中任意一個字符 |
?.c | 只找第一個字符任意,後綴爲 .c 的文件 |
a.? | 只找只有三個字符,前2字符爲 a. 最後一個字符任意的文件 |
[] | [ 和] 將字符括起來,表示可以匹配字符組中的任意一個 |
[abc] | 匹配 a、b、c 中的任意一個 |
[a-f] | 匹配從 a 到 f 範圍內的任意一個字符 |
[a-f]* | 找到從 a 到 f 範圍內的任意一個字符開頭的文件 |
a-f | 查找文件名爲 a-f 的文件,當- 處於方括號之外失去通配符的作用 |
\ | 如果要使用通配符作爲普通字符使用,可以在其前面加上轉義字符 |
*a | 查找文件名爲 *a 的文件 |
?
和*
處於方括號內時不用使用轉義字符就失去通配符的作用
-
輸出重定向:
>
:輸出重定向會覆蓋原來的內容,
>>
:輸出重定向則會追加到文件的尾部。 -
more
將過長的信息分屏顯示,每次只顯示一頁
空格顯示下一頁,q 退出顯示,h 獲取幫助,ctrl+b 返回上一屏,ctrl+f 下一屏 -
管道:
|
一個命令的輸出通過管道做爲另一個命令的輸入
左端命令塞東西(寫),右端命令取東西(讀) -
clear
清屏,並不是刪除,上邊一屏被保留,出來新的屏,快捷鍵:Ctrl+L -
cd
切換工作目錄,後面可跟絕對路徑,也可以跟相對路徑。
cd
: 切換到當前用戶的主目錄(/home/用戶目錄)
cd ~
: 切換到當前用戶的主目錄(/home/用戶目錄)
cd .
: 切換到當前目錄
cd ..
: 切換到上級目錄
cd -
: 進入上次所在的目錄 -
pwd
顯示當前的工作目錄,後面不帶參數 -
mdir
創建一個新的目錄,參數-p可遞歸創建目錄 -
tree
(需要第三方安裝)
以遞歸的形式列出文件夾下的內容 -
rmdir
刪除一個目錄,必須離開目錄,並且目錄必須爲空目錄,-p遞歸刪除(需寫完整) -
rm
刪除文件或目錄,文件刪除後不能恢復。爲了防止誤刪,可使用-i
逐個確認
-i
: 逐個確認是否刪除
-f
: 強制刪除,忽略不存在的文件,無需提示
-r
: 遞歸地刪除目錄下的內容,刪除文件夾時必須加此參數
-v
: 在移除每個文件之前打印其名稱 -
ln
建立鏈接文件
軟鏈接:不佔用磁盤空間,源文件刪除則軟鏈接失效。ln -s 源文件 鏈接文件
硬鏈接:只能鏈接普通文件,不能鏈接目錄。ln 源文件 鏈接文件
-
grep
文本搜索,允許對文本進行模式查找。
如果找到匹配模式, grep 打印包含模式的所有行。grep 一般格式爲:
grep [-選項] ‘搜索內容串’ 文件名 (搜索內容串可以是正則表達式)
選項 | 含義 |
---|---|
-v | 顯示不包含匹配文本的所有行(相當於求反) |
-n | 顯示匹配行及行號 |
-i | 忽略大小寫 |
正則表達式 | 含義 |
---|---|
^a | 行首,搜尋以 a 開頭的行 |
ke$ | 行尾,搜尋以 ke 結束的行 |
[Ss]igna[Ll] | 匹配[] 裏中的一系列字符中的一個,搜尋匹配單詞SignaL、Signal、signaL、signal的行 |
.(點) | 匹配一個非換行符的字符; |
‘e.e’ | 匹配 e 和 e 之間有任意一個字符,可以匹配eee,eae,eve,但是不匹配ee,eaae |
find
查找文件,在特定的目錄下搜索符合條件的文件
命令 | 含義 |
---|---|
find ./ -name test.sh | 查找當前目錄下所有名爲 test.sh 的文件 |
find ./ -name ‘*.sh’ | 查找當前目錄下所有後綴爲 .sh 的文件 |
find ./ -name “[A-Z]*” | 查找當前目錄下所有以大寫字母開頭的文件 |
find /tmp -size 2M | 查找在 /tmp 目錄下文件大小等於2M的文件 |
find /tmp -size +2M | 查找在 /tmp 目錄下文件大小大於2M的文件 |
find /tmp -size -2M | 查找在 /tmp 目錄下文件大小小於2M的文件 |
find ./ -size +4K -size -5M | 查找當前目錄下文件大小大於 4K,小於 5K 的文件 |
find ./ -perm 0777 | 查找當前目錄下權限爲777的文件或目錄 |
cp
將給出的文件或目錄複製到另一個文件或目錄中,相當於 DOS 下的 copy 命令
選項 | 含義 |
---|---|
-a | 該選項通常在複製目錄時使用,它保留連接、文件屬性,並遞歸地複製目錄(簡單而言,保持文件原有屬性) |
-f | 已經存在的目標文件而不提示 |
-i | 交互式複製,在覆蓋目標文件之前將給出提示要求用戶確認 |
-r | 若給出的源文件是目錄文件,則 cp 將遞歸複製該目錄下的所有子目錄和文件,目標文件必須爲一個目錄名 |
-v | 顯示拷貝進度 |
mv
將給出的文件或目錄複製到另一個文件或目錄中,相當於 DOS 下的 move 命令
選項 | 含義 |
---|---|
-f | 禁止交互式操作,如有覆蓋也不會給出提示 |
-i | 確認交互方式操作,如果 mv 操作將導致對已存在的目標文件的覆蓋,系統會詢問是否重寫,要求用戶回答以避免誤覆蓋文件 |
-v | 顯示移動進度 |
-
tar
把一系列文件歸檔到一個大文件中,也可以把檔案文件解開以恢復數據tar 使用格式:(其參數前面可以使用“-”,也可以不使用)
tar [參數] 打包文件名 文件
選項 | 含義 |
---|---|
-c | 生成檔案文件,創建打包文件 |
-v | 列出歸檔解釋的詳細過程,顯示進度 |
-f | 指定檔案文件名稱,f 後面一定是 .tar 文件,所以必須放選項最後 |
-t | 列出檔案中包含的文件 |
-x | 解開檔案文件 |
-z | 調用 gzip 實現壓縮的功能,實行一個先打包後壓縮的過程 |
壓縮用法:tar cvzf 壓縮包包名 文件1 文件2 ...
-z
:指定壓縮包的格式爲:xxxx.tar.gz
解壓用法:tar zxvf 壓縮包包名
-z
:指定壓縮包的格式爲:xxxx.tar.gz
解壓到指定目錄:-C (大寫字母“C”)
-
gzip
文件壓縮解壓,一般與tar命令結合使用實現文件打包、壓縮。
用 gzip 壓縮 tar 打包後的文件,其擴展名一般用 xxxx.tar.gz。gzip 使用格式:(其參數前面可以使用
-
,也可以不使用)
gzip [選項] 被壓縮文件
選項 | 含義 |
---|---|
-d | 解壓 |
-f | 壓縮所有子目錄 |
-
bzip2
tar 與 bzip2 命令結合使用實現文件打包、壓縮(用法和 gzip 一樣)
其擴展名一般用 xxxx.tar.gz2。壓縮用法:
tar -jcvf 壓縮包包名 文件...(tar jcvf bk.tar.bz2 *.c)
解壓用法:tar -jxvf 壓縮包包名 (tar jxvf bk.tar.bz2)
-
zip、unzip
通過 zip 壓縮文件的目標文件不需要指定擴展名,默認擴展名爲 zip。壓縮文件:
zip [-r] 目標文件(沒有擴展名) 源文件
解壓文件:unzip -d 解壓後目錄文件 壓縮文件
-
witch
查看命令位置