天天看點

常用的Linux指令

前言

linux指令是對Linux系統進行管理的指令。對于Linux系統來說,無論是中央處理器、記憶體、磁盤驅動器、鍵盤、滑鼠,還是使用者等都是檔案,Linux系統管理的指令是它正常運作的核心,與之前的DOS指令類似。linux指令在系統中有兩種類型:内置Shell指令和Linux指令。想要在Linux系統之中随心所欲的行走那就離不開掌握常用的Linux指令,下面就以ubuntu下的指令為例整理的Linux常用的指令。

目錄

  • 正文
    • 一檔案目錄操作指令
        • 1 lslist清單
        • 2 cdchange directory更改目錄
        • 3 pwdprint work directory列印工作目錄
        • 4 mkdirmake directory建立檔案夾
        • 5 mvmove移動
        • 6 touch
        • 7 cpcopy複制
        • 8 rmremove去除删除
        • 9 cat
        • 10rmdirremove directory删除檔案夾
        • 11nl
        • 12more
        • 13less
        • 14head
        • 15tail
        • 16 lnlink連接配接檔案
        • 17 man
        • 18 apt-get
    • 檔案查找指令
        • 1 which
        • 2 whereis
        • 3 locate
        • 4 find
    • 三vim編輯器常用指令
        • 1 儲存退出
        • 2 查找
        • 3 快速切換行
        • 4 設定顯示行号
        • 5 行删除
        • 6 行複制粘貼

一、檔案目錄操作指令

(1) ls(list,清單)

作用:列出目标目錄中所有的子目錄和檔案。

用法:

1 ls [選項] [目錄名]
2 
3 ls -a   顯示所有檔案,包括隐藏檔案
4 ls -l   以詳細資訊顯示
5 ls -a -l
6 ls -l -a
7 ls -la
8 ls -al  四種方式都是可以的      

ls -l顯示的詳細資訊中:

1 -rw-r--r--
2 
3 drwxr-xr-x      

一共10個字元,第一個字元表示檔案類型,後面9個字元表示檔案權限。

檔案類型:

-:表示普通檔案。普通檔案指文本檔案和二進制檔案,如a.c  1.txt a.out都是普通檔案
d:表示檔案夾,d是directory的縮寫
l:表示符号連接配接檔案,後面會用->列印出它指向的檔案
s:表示socket檔案
p:表示管道檔案 pipe      

(2) cd(change directory,更改目錄)

作用:用來切換目錄

1 cd [目錄名]      

涉及到相對路徑和絕對路徑

1 /    代表系統根目錄
2 ~    代表使用者所在目錄
3 -    代表前一次目錄
4 ..   代表上一層目錄
5 .    代表目前目錄      

(3) pwd(print work directory,列印工作目錄)

作用:檢視”目前工作目錄“的完整路徑

pwd [選項]      

格式:pwd -P 顯示出實際路徑,而非使用連接配接(link)路徑。

(4) mkdir(make directory,建立檔案夾)

作用:建立空檔案夾

1 mkdir [選項] 目錄...      
指令參數:      
1 -m, --mode=模式,設定權限<模式> (類似 chmod),而不是 rwxrwxrwx 減 umask
2 -p, --parents  可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項後,系統将自動建立好那些尚不存在的目錄,即一次可以建立多個目錄; 
3 -v, --verbose  每次建立新目錄都顯示資訊
4 --help   顯示此幫助資訊并退出
5 --version  輸出版本資訊并退出      

(5) mv(move,移動)

作用:在目錄間移動檔案,重命名檔案

1 mv [選項] 源檔案或目錄 目标檔案或目錄      

指令參數:

1 -b :若需覆寫檔案,則覆寫前先行備份。 
2 -f :force 強制的意思,如果目标檔案已經存在,不會詢問而直接覆寫;
3 -i :若目标檔案 (destination) 已經存在時,就會詢問是否覆寫!
4 -u :若目标檔案已經存在,且 source 比較新,才會更新(update)
5 -t  : --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目錄,該選項适用于移動多個源檔案到一個目錄的情況,此時目标目錄在前,源檔案在後。      

(6) touch

作用:建立空檔案

touch [選項]... 檔案...      

指令參數:

1 -a   或--time=atime或--time=access或--time=use  隻更改存取時間。
2 -c   或--no-create  不建立任何文檔。
3 -d  使用指定的日期時間,而非現在的時間。
4 -f  此參數将忽略不予處理,僅負責解決BSD版本touch指令的相容性問題。
5 -m   或--time=mtime或--time=modify  隻更改變動時間。
6 -r  把指定文檔或目錄的日期時間,統統設成和參考文檔或目錄的日期時間相同。
7 -t  使用指定的日期時間,而非現在的時間。      

(7) cp(copy,複制)

作用:複制檔案或檔案夾

1 cp [選項]... [-T] 源 目的
2 或:cp [選項]... 源... 目錄
3 或:cp [選項]... -t 目錄 源...
4 
5 cp -r 用來複制檔案夾
6 cp -f 強制複制      

實際操作時:一般都是cp -f複制檔案,cp -rf複制檔案夾

(8) rm(remove,去除,删除)

作用:用來删除檔案,檔案夾

rm [選項] 檔案…       
1 -r, -R, --recursive   訓示rm将參數中列出的全部目錄和子目錄均遞歸地删除。
2 -f, --force    忽略不存在的檔案,從不給出提示。
3 -i, --interactive 進行互動式删除
4 -r, -R, --recursive   訓示rm将參數中列出的全部目錄和子目錄均遞歸地删除。      

常用: 

rm -r 檔案 

rm -rf 檔案夾 

(9) cat

作用:直接在指令行下顯示檔案内容

1 cat [選項] [檔案]...      

cat主要有三大功能:

1 1.一次顯示整個檔案:cat filename
2 2.從鍵盤建立一個檔案:cat > filename 隻能建立新檔案,不能編輯已有檔案.
3 3.将幾個檔案合并為一個檔案:cat file1 file2 > file      

(10)rmdir(remove directory,删除檔案夾)

作用:删除空檔案夾 

rmdir [選項]... 目錄...      
1 -p 遞歸删除目錄dirname,當子目錄删除後其父目錄為空時,也一同被删除。
2 -v, --verbose  顯示指令執行過程       

rmdir和rm -r的差別:rmdir隻能删除空檔案夾,而rm -r可以删除空檔案夾和非空檔案夾

(11)nl

作用:顯示行号檢視檔案内容

1 nl [選項]... [檔案]...      

(12)more

作用:more指令和cat的功能一樣都是檢視檔案裡的内容,但有所不同的是more可以按頁來檢視檔案的内容,還支援直接跳轉行等功能。

1 more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ]       

(13)less

作用:less 與 more 類似,但使用 less 可以随意浏覽檔案,而 more 僅能向前移動,卻不能向後移動,而且 less 在檢視之前不會加載整個檔案。

1 less [參數]  檔案       

(14)head

1 head [參數]... [檔案]...        
1 -q 隐藏檔案名
2 -v 顯示檔案名
3 -c<位元組> 顯示位元組數
4 -n<行數> 顯示的行數      

(15)tail

作用:用于顯示指定檔案末尾内容,不指定檔案時,作為輸入資訊進行處理。常用檢視日志檔案。

tail[必要參數][選擇參數][檔案]         
1 -f 循環讀取
2 -q 不顯示處理資訊
3 -v 顯示詳細的處理資訊
4 -c<數目> 顯示的位元組數
5 -n<行數> 顯示行數
6 --pid=PID 與-f合用,表示在程序ID,PID死掉之後結束. 
7 -q, --quiet, --silent 從不輸出給出檔案名的首部 
8 -s, --sleep-interval=S 與-f合用,表示在每次反複的間隔休眠S秒      

(16) ln(link,連接配接檔案)

基礎:windows中快捷方式,實際上快捷方式和它指向的檔案是獨立的兩個檔案,兩個都占硬碟空間,隻不過使用者通路快捷方式時,其效果等同于通路指向的檔案。

作用:建立軟連接配接檔案

1 ln -s 源檔案名 符号連接配接檔案名      

舉例:ln -s src.c,linker.c, linker.c就是 

src.c的一個符号連接配接檔案

linux中有兩種連接配接檔案: 

一種叫軟連接配接(符号連接配接),等同于windows中快捷方式,一種叫硬連接配接

硬連接配接:ln 源檔案名 連接配接檔案名 

硬連接配接實際上和源檔案在硬碟中是同一個東西,效果類似于硬碟上的一個檔案,在檔案系統上,在我們看來有好多個檔案一樣。每次删除一個檔案時,隻要他還有其他的硬連接配接存在,這個檔案就不會被真正删除。隻有等所有的連接配接檔案都删除掉了,這個檔案才會被真正從硬碟上删除。

(17) man

作用:查詢man手冊,獲得幫助資訊 

1 man 1 ls        1表示查詢的是linux指令
2 man 2 xxx       2表示查詢的是linux api
3 man 3 xxx       3表示查詢的是C庫函數      

注意:在man手冊中查詢時,退出按Q鍵(Q就是quit的縮寫)

(18) apt-get

作用:在ubuntu中用來線上安裝、解除安裝軟體的程式

1 apt-get update          更新源
2 apt-get install xxx     安裝軟體
3 apt-get remove xxx      解除安裝軟體      

說明:apt-get 安裝軟體的原理和必要性。

linux作業系統的發行版,核心版本,定制性,造成了linux中軟體的不相容性。在linux中安裝軟體是一件困難的事情,裝了軟體能不能用不一定。ubuntu解決了這個問題,ubuntu就适合某個發行版(ubuntu10.04)的所有軟體做了一個清單,然後使用者通過apt-get install的方式安裝軟體,就會實時連接配接到ubuntu伺服器,伺服器會根據你的ubuntu版本,給你下載下傳合适的軟體來安裝。這樣確定了軟體的相容性。

(1) which

作用:which指令會在PATH變量指定的路徑中,搜尋某個系統指令的位置,并且傳回第一個搜尋結果。

1 which 可執行檔案名稱       
1 -n  指定檔案名長度,指定的長度必須大于或等于所有檔案中最長的檔案名。
2 -p  與-n參數相同,但此處的包括了檔案的路徑。
3 -w  指定輸出時欄位的寬度。
4 -V  顯示版本資訊      

(2) whereis

作用:定位可執行檔案、源代碼檔案、幫助檔案在檔案系統中的位置。

whereis [-bmsu] [BMS 目錄名 -f ] 檔案名      
1 -b   定位可執行檔案。
2 -m   定位幫助檔案。
3 -s   定位源代碼檔案。
4 -u   搜尋預設路徑下除可執行檔案、源代碼檔案、幫助檔案以外的其它檔案。
5 -B   指定搜尋可執行檔案的路徑。
6 -M   指定搜尋幫助檔案的路徑。
7 -S   指定搜尋源代碼檔案的路徑。      

(3) locate

作用:很快速的搜尋檔案系統内是否有指定的檔案

1 locate [選擇參數] [樣式]      

(4) find

作用:用于在檔案樹種查找檔案,并作出相應的處理

1 find pathname -options [-print -exec -ok ...]      

三、vim編輯器常用指令

vim是vi的更新版

*使用vi來打開/建立一個檔案,vi pathname 

*vi的兩種模式: 

指令模式:當vi打開時預設為指令模式,要轉入輸入模式,需要按a或者i鍵。在指令模式下,此時鍵盤上輸入的所有東西都被vi當作指令來對待。 

在指令模式下,最好不要亂輸入。此時應該輸入相應的指令,來讓vi做相應的事。 

輸入模式:輸入模式用來向檔案輸入内容。可以從指令模式中按a或者i進入輸入模式。進入輸入模式後,就可以随意按鍵盤進行輸入了。輸入完成後如果要儲存,要先退回到指令模式(因為儲存也是一種指令)。在輸入模式下按ESC鍵退回到指令模式。 

注:注意看螢幕左下角,當指令模式時無提示資訊或者提示檔案名等資訊,等處于輸入模式時,提示 – INSERT –

(1) 儲存,退出

1 :wq         儲存并且退出
2 :w          隻儲存不推出
3 :q          不儲存退出       進來看了一下沒改退出
4 :q!         不儲存強制退出
5 :wq!        儲存并強制退出      

(2) 查找

在指令模式下,輸入/xxx,就可以查找到xxx

(3) 快速切換行

在指令模式下,輸入:num,就可以快速切換到num行

(4) 設定顯示行号

在指令模式下,輸入:set nu,就可以顯示行号

(5) 行删除

(6) 行複制、粘貼

每天一點點,感受自己存在的意義。