1. 程式人生 > >linux常用命令詳解

linux常用命令詳解

就是 轉移 手冊 展開 查詢 回車 紅色 查找條件 overview

一、命令的分類
用於實現某一類功能的指令或程序

命令本質就是程序

命令的執行必須依賴於shell命令解釋器程序(例如:/bin/bash)

shell解釋器,是Linux系統中運行的一種特殊程序,就是作為翻譯官,橫跨在用戶和內核之間,將用戶輸入的命令解釋為內核能識別的語言

只要是用戶登錄系統後,他都自帶的在/bin/bash當中,也就是它可以使用shell這個程序來進行登錄到系統。

shell也是一種進程。
Linux裏支持很多種shell,但默認的shell是/bin/bash:
cat /etc/shells 查看linux系統所支持的shell程序

2.Linux命令的分類
內部命令:屬於shell解釋器的一部分

內部命令就是伴隨系統內核自動就攜帶的命令 。
外部命令:獨立於shell解釋器之外的程序
外部命令,是需要靠第三方的文件和命令文件所支持,只有你有這個命令文件你才能使用這個命令,這就是外部的

type 命令 判斷用戶輸入的是外部命令還是內部命令
技術分享圖片

註:shell內嵌代表內部命令,文件路徑代表外部命令 。

二、命令的格式
1.Linux命令的通用格式
命令字 [選項] [參數]
說明:
命令字,就是命令

選項,選項的意思就是增加一些功能,它的作用就是用於調節命令的具體功能

參數,參數就是你要執行的對象,你要對哪個目錄哪個文件進行操作,這個對象一定要指明

註:參數最好使用絕對路徑。

所以說,這三個組成,命令,我要執行幹什麽,選項,我要在幹這個的時候執行哪些功能,有了功能,我要對誰執行,這三個部分一定有。

選項裏面有兩種格式:
“-”引導短格式選項,例如“ls -a”
後面基本是跟一個單個字母 -a -b -c -d = -abcd
“--”引導長格式選項,例如
“ls --help”後面跟的是一個單詞

三、命令操作技巧
1.Tab鍵:按一次,自動補齊;按兩次Tab鍵,系統將輸出可用的名稱列表
2.反斜杠“\”:強制換行 , 用於命令過長的情況
3.ctrl+U:快速刪除當前光標處之前的所有字符
4.ctrl+K:快速刪除從當前光標處到行尾的所有字符
5.ctrl+L:快速清空當前屏幕中的顯示內容
6.ctrl+C:取消當前命令行的編輯,終止
7.ctrl+a:跳到行首
8.ctrl+e:跳到行尾

四、獲取命令幫助

盡量不要去試圖記住所有的命令的選項,只要記住常見的命令就可以了。

1.內部命令 help
查看各shell內部命令 的幫助信息
技術分享圖片

2.命令的“--help”選項
適用於大多數外部命令
通常用於查看命令的用法
將命令的所有選項都列表出來,並解釋其功能作用
技術分享圖片

3.使用man命令閱讀手冊頁
出現一個文本信息模式,在這個文本信息模式中,翻閱去查看
使用“上,下”方向鍵滾動文本
使用PageUp和PagedDown鍵翻頁
按Q或q鍵退出閱讀環境
按“/”鍵查找內容;
n往下找,N往上找

滿命令幫助信息的結構和意義:

結構名稱 意義
NAME 命令的名稱
SYNOPSIS 參數的大致使用方法
DESCRIPTION 介紹說明
EXAMPLES 演示
OVERVIEW 概述
DEFAULTS 默認的功能
OPTIONS 具體的可用選項(帶介紹)
ENVIRONMENT 環境變量
FILES 用到的文件
SEE ALSO 相關的資料
HISTORY 維護歷史與聯系方式

4、whatis ---> 只是告訴命令是幹什麽的
是man的一個摘要
格式:whatis 命令
當你看到一個不會的命令,可以使用此命令查看是幹什麽的。

5、查詢的命令:
ls:列表(list)顯示目錄中內容:
-a:顯示所有的子目錄和文件的信息,包括名稱以點號“.”開頭的隱藏目錄和隱藏文件
-A:與-a作用類似,但有兩個特殊隱藏目錄不會顯示,“.”和“..”
-l:以長格式顯示文件和目錄的列表
例子:ls -l /etc
-d:顯示目錄本身的屬性
例子:ls -ld /zz/ 以長格式顯示目錄本身的屬性
-h:顯示出詳細信息,如大小,結合-l一起使用
例子:ls -lh
-R:以遞歸方式將當前目錄中的子目錄全部展開
--color 默認情況就有了這條選項

註:
Linux中的一切事物都是文件。
在所有的linux系統當中,組成文件的類型,不像windows當中的那麽直觀,在windows中,這個是文件夾,這個是文件,並且我們都可以通過它的後綴名知道它是什麽文件類型。但是linux當中就不一樣,linux當中,憑借顏色可以識別它到底是哪種文件類型:
藍色 是目錄(文件夾)
白色 是普通文本文件
綠色 是可執行文件(腳本文件)
××× 是設備文件
紅色 是壓縮性文件 (壓縮包)
淺藍色 是軟鏈接文件(快捷方式)
紅色閃爍:表示鏈接的文件有問題
灰色 是其他文件

6、創建別名——alias

作用:
1、通過給危險命令加一些保護參數,防止人為誤操作
2、把很多復雜的字符串或命令編程一個簡單的字符串或命令。
例子:
alias mysql="echo 這條命令無效"

別名對應的命令:
alias #只輸入一個“alias"是查看已設置的別名
alias 別名 #創建一個新別名
unalias 別名 #取消已創建的別名
那麽有的時候,這種別名,你操作起來還是比較簡便的
那麽別名這種形式,比如說這個命令是一個組合,ls -alh
你可以通過alias把它定義,說白了就是給它取個小名或者稱號,
Alias myls=‘ls -alh‘
註意:單引號不要忘了 ,它其實就是創建一個快捷鍵
然後我們輸入myls,就是相當於執行了“ls -alh”這條命令。

\ls 和 /bin/ls 就是直接使用ls命令,不是使用ls --color:auto

註:“\”是轉義符號,將有特殊含義的字符串轉換為普通字符串。

以上都是臨時的

永久設置別名:放置在系統的環境變量文件中
一般放置在以下兩個地方:
/etc/profile 全局生效,即對所有人生效
~/.bashrc 當前用戶生效,只對當前登錄的用戶生效

7、du——統計目錄
作用:統計指定目錄(或文件)所占用磁盤空間的大小
常用選項有:
-a,統計磁盤空間占用時包括所有的文件,而不僅僅只統計目錄,實際上統計裏面空間文件 的大小,羅列的非常詳細
-h,以友好形式顯現出目錄或文件的大小(K、M),默認的大小單位為字節(B)
-s,只統計每個參數所占用空間總的大小,而不是統計每個子目錄、文件的大小

註意了,a和s不能同用,你要麽使用du -ah,要麽使用du -sh
如果你用了,系統就會報錯

8、創建目錄和文件——mkdir, touch,
1.創建目錄(文件夾) mkdir
格式:mkdir [選項] 目錄位置及名稱
-p 一次性創建嵌套的多層目錄

9、創建文本文件——touch
格式:touch 文本文件名 (不加任何選項)
文件名之間以空格分隔,可以一次性創建多個文件。
(1)當文件不存在,則創建新文件
(2)當目標文件已存在時,將更新該文件的時間標記

10、復制拷貝文件或目錄——cp命令 (copy)
格式:cp [選項] 源文件或目錄… 目標文件或目錄
-f:覆蓋目標同名文件或目錄時不進行提醒,直接強制復制
-i:覆蓋目標同名文件或目錄時提醒用戶確認
-p:復制時保持源文件的權限,屬主及時間標記等屬性不變
-r:復制目錄時必須使用此選項,表示遞歸復制所用文件及子目錄
通常後面加‘v’,顯示過程(cp -rv)

11、刪除文件或目錄 ——rm (remove)
格式:rm [選項] 要刪除的文件名稱或目錄名稱
-f:刪除文件或目錄時不進行提醒,而直接強制刪除
-i:刪除文件或目錄時提醒用戶確認
-r:刪除目錄時必須使用此選項,表示遞歸刪除整個目錄樹(應該謹慎使用)

謹慎操作:rm -rf *

單獨的一個,代表所有
a
代表的是以a開頭的所有文件或目錄
?只代表一個數或者字母

12、移動文件或目錄——mv(move) 重命名 (剪切)
作用:(1)將指定的文件或目錄轉移位置 (不同目錄下,剪切/移動)
(2)如果目標位置與源位置相同,則相當於執行重命名操作 (同一目錄下,重命名)
格式:mv 源文件或目錄 目標文件或目錄

使用絕對路徑。

13、查找用戶所執行的命令文件存放的目錄——which命令
查找可執行程序的位置,只去$PATH結果中找
搜索範圍由環境變量PATH決定
$PATH系統環境變量
echo $PATH(查看用戶環境變量的命令)
PATH的值—系統中所有可執行命令的位置
格式 which 命令或者程序名
默認當找到第一個目標後不再繼續查找
which -a 命令或者程序名 如果希望在所有搜索路徑中查找 一直找

14、查找文件或目錄 find命令
find [目錄] [命令] [名稱]
(1)按名稱查找
find 源目錄 -name 關鍵字
a(a開頭),ba(結尾),b; a??
??A(一個“?”代表一個字符)
(2)按文件大小查找 find 源目錄 -size
-30k(小於30k);+30k(大於30k);30k(等於30k);MB,GB(註意大小寫,B可省略),加“”
(3)按文件屬主查找 find 源目錄 -user
按帳戶/用戶名查找
(4)按uid查找 find 源目錄 -uid
查找當普通帳戶被刪除之後,該用戶所創建的文件
查看uid 的命令是:id 用戶名

例子:find /bin -uid 1000
查找/bin目錄下UID為1000的文件

(5)按文件類型查找 find 源目錄 -type
l(軟鏈接,快捷方式),f(普通文件),d(目錄),b(硬件設備文件),c(字符終端,字符塊設備)
例子:find /bin -type l/f/d/b/c
查找/bin目錄下的文件類型為l/f/d/b/c的文件或目錄

linux系統中一切事物都是文件。

(6)用find進行多條件查找:
-a 表示 而且(and) ; -o 表示 或者(or)
例子:find /etc -size +40k -a -type f
查找/etc大於40k的並且文件類型為普通文件的文件。
find /etc -size +20K -o -size -10k
查找/etc大於20k文件或者小於10k文件。
find /etc -size +100k -a -size -150k
查找/etc中的100k到150k的文件

15、對文件內容進行查看:
cat:直接一次性查看所有內容。

tac:從最後一行開始倒著顯示文檔內容

more:從文件開頭開始顯示內容,通過按下空格鍵查看下一屏內容,不允許向上翻。按回車鍵可以一行一行向下翻。看到最後一屏自動退出查看。

less: 有more就有less,less不與more相反且更為強大,內容並不從尾部顯示到頭部,與more顯示順序相同,它集成了more的空格鍵與回程鍵功能,同時還有以下功能:
1.支持上下方向鍵向上向下翻轉一行內容,j、k鍵分別實現上下翻功能。
2.還支持page down 與 page up實現按屏翻。Ctrl+b向下按屏翻,Ctrl + f向上按屏翻(助記:bottom下,front上)。
3.按下"g"實現回到首行功能,按下"G"實現到最後一行功能。
4.less支持搜索關鍵字,按下 "/" 後輸入要查找的關鍵字,文中匹配字符串將高亮顯示。且按下字母n鍵,可以一個一個向後查看這些關鍵字。向前查用N鍵。
除了" /" ,用"?"鍵加上要查找的字符串也是大體相同,只是n與N鍵對字符串的跳動方向相反。
註意看到最後一屏消息並不會結束less命令,按下q退出查看。

head:默認查看內容前10行,加上參數如 head -2 1.txt 查看前兩行。

tail:默認查看後十行,加上參數如 tail -2 1.txt查看後兩行。加上參數 -f 可以動態查看末尾內容(相當於看到的文件始終是最新的)。退出用Ctrl +c鍵.

16、grep:檢索和過濾文件內容
格式:
grep 選項 “查找條件 ” 目標文件

-i:查找時忽略大小寫
-v:反轉查找,輸出與條件不相符的行

“^…”:表示以…開頭
“…$”:表示以…結尾
“^$”:表示空行

17、gzip和gunzip 以gzip格式壓縮和解壓縮
格式:
gzip -9 文件名 #-9是壓縮級別,9為最高級別
gunzip 壓縮文件名 等同於 gzip -d 壓縮文件名

18、bzip2,bunzip2 以bzip2格式壓縮和解壓縮
格式:
bzip2 -9 文件名 #-9是壓縮級別,9為最高級別
bunzip2 壓縮文件名 等同於 bzip2 -d 壓縮文件名

19、zip和unzip 以zip格式壓縮和解壓縮
格式:
zip -9 文件名
unzip 壓縮文件名

20、tar 用於對文件進行打包壓縮或解壓。
格式:
tar 選項 打包的文件名 源文件或目錄
常用選項:
-c :創建壓縮文件
-t :查看壓縮包內有哪些文件
-x :解開壓縮文件
-z :以 gzip 的格式進行壓縮或解壓縮:此時壓縮文件名最好為 .tar.gz
-j : 以bzip2 的格式進行壓縮或解壓縮:此時壓縮文件名最好為
.tar.bz2
-J :以 xz的格式進行壓縮或解壓縮:此時壓縮文件嗎最好為 *.tar.xz
-v :顯示壓縮、解壓過程
-f :目標文件名(-f應放在參數末位,立即接文檔名)
-C :解壓到指定目錄

註:特別留意的是, -c, -t, -x 不可同時出現在一串指令列中。
特別留意, -z, -j, -J 不可以同時出現在一串指令列中

打包壓縮:
tar -czvf 壓縮後的文件名.tar.gz 源文件或目錄
tar -cjvf 壓縮後的文件名.tar.bz2 源文件或目錄
查看壓縮文件中的內容:
tar -tzvf 壓縮後的文件名.tar.gz
tar -tjvf 壓縮後的文件名.tar.bz2
解壓壓縮文件:
tar -xvf 壓縮後的文件名.tar.gz -C 目的目錄

linux常用命令詳解