天天看點

Linux開發環境搭建與使用——Linux 常用指令的使用

概述

很多人可能在電視或電影中看到過類似的場景,黑客面對一個黑色的螢幕,上面飄着密密麻麻的字元,梆梆一頓敲,就完成了竊取資料的任務。

Linux 剛出世時沒有什麼圖形界面,所有的操作全靠指令完成,就如同電視裡的黑客那樣,充滿了神秘與晦澀。

近幾年來,盡管 Linux 發展得非常迅速,圖形界面越來越友好,但是在真正的開發過程中,Linux 指令行的應用還是占有非常重要的席位。可以說不會指令行,就不算會 Linux。

Linux 提供了大量的指令,利用它可以有效地完成大量的工作,如磁盤操作、檔案存取、目錄操作、程序管理、檔案權限設定等。Linux 發行版本最少的指令也有 200 多個,這裡隻介紹比較重要和使用頻率最多的指令。

指令使用方法

Linux 指令格式:

command  [-options]  [parameter1]  … 

說明:

command:指令名,相應功能的英文單詞或單詞的縮寫

[-options]:選項,可用來對指令進行控制,也可以省略

parameter1 …:傳給指令的參數,可以是零個一個或多個

例:ls  -a  /home

Linux開發環境搭建與使用——Linux 常用指令的使用

如何檢視幫助文檔:

1)--help

一般是 Linux 指令自帶的幫助資訊,并不是所有指令都自帶這個選項。

如我們想檢視指令 ls 的用法:ls --help

Linux開發環境搭建與使用——Linux 常用指令的使用

2)man (有問題找男人)

man 是 Linux 提供的一個手冊,包含了絕大部分的指令、函數使用說明。該手冊分成很多章節(section),使用 man 時可以指定不同的章節來浏覽不同的内容。

man 中各個 section 意義如下:

1、Standard commands(标準指令)

2、System calls(系統調用,如open,write)

3、Library functions(庫函數,如printf,fopen)

4、Special devices(裝置檔案的說明,/dev下各種裝置)

5、File formats(檔案格式,如passwd)

6、Games and toys(遊戲和娛樂)

7、Miscellaneous(雜項、慣例與協定等,例如Linux檔案系統、網絡協定、ASCII 碼;environ全局變量)

8、Administrative Commands(管理者指令,如ifconfig)

如,我們想檢視 ls 的用法:man 1 ls

Linux開發環境搭建與使用——Linux 常用指令的使用

實際上,我們不用指定第幾個章節也用檢視,如,man ls。但是,有這個一種情況,假如,指令的名字和函數的名字剛好重名(如:printf),它既是指令,也可以是庫函數,如果,我們不指定章節号,man printf,它隻檢視指令的用法,不會查詢函數的用法,因為 man 是按照手冊的章節号的順序進行搜尋的。

Linux開發環境搭建與使用——Linux 常用指令的使用

是以,使用 man 手冊時,最好指定章節号:

Linux開發環境搭建與使用——Linux 常用指令的使用

使用技巧

自動補全:

在敲出指令的前幾個字母的同時,按下 tab 鍵,系統會自動幫我們補全指令。

曆史指令:

當系統執行過一些指令後,可按上下鍵翻看以前的指令,history 将執行過的指令列舉出來。

重定向( > ):

本應顯示在終端上的内容儲存到指定檔案中。

如:ls > test.txt ( test.txt 如果不存在,則建立,存在則覆寫其内容 )

Linux開發環境搭建與使用——Linux 常用指令的使用

管道( l ):

當我們搜尋含某個關鍵字的檔案或檔案夾時,經常需要用到管道,結合 grep ( 搜尋指令 ) 一起使用。

管道我們可以了解現實生活中的管子,管子的一頭塞東西進去,另一頭取出來,這裡“ | ”的左右分為兩端,左端塞東西,右端取東西。

如:ls | grep g,ls 本來顯示到螢幕的内容塞進管道的左端,然後從右端取出這些内容,在内容中搜尋有 “g” 關鍵字的文本。

Linux開發環境搭建與使用——Linux 常用指令的使用

常用指令

檔案、磁盤管理:

ls:顯示目錄内容

-l:清單顯示

-a:顯示所有檔案(隐藏檔案以“ . ”開頭)

-h:配合 -l 以人性化的方式顯示檔案大小

Linux開發環境搭建與使用——Linux 常用指令的使用

clear:清除終端上的顯示,也可使用快捷鍵:Ctrl + l ( “l” 為字母 )

Linux開發環境搭建與使用——Linux 常用指令的使用

cd:切換目錄

cd  /mnt 可進入 mnt(指定)目錄

cd  .. 可進入上一層目錄

cd  - 可進入上一個進入的目錄

cd  ~ 可進入使用者的家目錄 ( ~:代指家目錄,家目錄指 /home 裡的使用者目錄,不是純粹的 /home 目錄 )

pwd:顯示目前工作目錄的絕對路徑

Linux開發環境搭建與使用——Linux 常用指令的使用

注意:如果路徑是從根路徑開始的,則路徑的前面需要加上 “ / ”,如 “ /mnt ”,通常進入某個目錄裡的檔案夾,前面不用加  “ / ”。

Linux開發環境搭建與使用——Linux 常用指令的使用

mkdir:建立目錄

-p 遞歸地在指定路徑建立檔案夾

Linux開發環境搭建與使用——Linux 常用指令的使用

cat:顯示文本檔案内容

Linux開發環境搭建與使用——Linux 常用指令的使用

rm:删除檔案或目錄

-r:删除檔案夾時必須加此參數

-f:強制地删除檔案

Linux開發環境搭建與使用——Linux 常用指令的使用

cp:複制檔案

-r:拷貝檔案夾

-i:有重複檔案時,提醒是否覆寫

-v:顯示拷貝進度

cp vim_configure/ code/ -ivr 把檔案夾 vim_configure 拷貝到 code 目錄裡 

Linux開發環境搭建與使用——Linux 常用指令的使用

mv:移動檔案或更改檔案名

–v:顯示移動進度

mv file1 file2   file1 改名為 file2

mv vim_configure/ code/  vim_configure/ 移動到 code 目錄裡

Linux開發環境搭建與使用——Linux 常用指令的使用

which:檢視指令所在的目錄

Linux開發環境搭建與使用——Linux 常用指令的使用

tar:壓縮與解壓縮指令

gzip 格式(壓縮包字尾為.tar.gz):

壓縮用法:tar cvzf 壓縮包包名 檔案1 檔案2 ...

c:create,建立

v:顯示壓縮進度

z:指定壓縮包的格式為 gzip 格式,file.tar.gz

這三個參數的順序任意即可,參數的前面可加“ - ”,如:-zcf

f:file,檔案,f 的後面必須是壓縮封包件,是以,這四個選項一起使用時,f 一定是放在最後,如:zxvf

例子:tar zcvf test.tar.gz 1.c 2.c 3.c 4.c把 1.c 2.c 3.c 4.c 壓縮成 zcvf test.tar.gz

上面操作,還可以這麼寫:tar zcvf other.tar.gz *.c(*.c 代表所有的 .c)

Linux開發環境搭建與使用——Linux 常用指令的使用

解縮用法: tar zxvf 壓縮包包名

x:代表解壓操作

z:指定解壓壓縮包的格式為 gzip 格式,file.tar.gz

用法和建立壓縮包用法一樣,選項順序也一樣。

例子: tar zxvf new.tar.gz 把 new.tar.gz 解壓出來

Linux開發環境搭建與使用——Linux 常用指令的使用

實際上,“ z ” 參數可以省略,這樣的話,不管是什麼樣格式的壓縮包都解壓:

Linux開發環境搭建與使用——Linux 常用指令的使用

解壓到指定目錄:-C (大寫字母“ C ”)

例子:tar -xvf new.tar.gz -C ./test/ 将 new.tar.gz 解壓到目前目錄下的 test 目錄下

Linux開發環境搭建與使用——Linux 常用指令的使用

bz2 格式(壓縮包字尾為 .tar.bz2):

和 gzip 格式操作時一樣的,差別:bz2 格式用參數“ j ”指定

壓縮用法: tar jcvf 壓縮包包名 檔案1 檔案2 ...

例子:tar  jcvf  bk.tar.bz2  *.c

解縮用法: tar jxvf 壓縮包包名

例子: tar  jxvf  bk.tar.bz2

解壓到指定目錄:-C

例子:tar  jxvf  bk.tar.bz2  -C  ./

使用者、權限管理:

​​如果不了解檔案權限,請點選《Linux 檔案權限簡單說明》。​​

chmod:改變檔案權限

chmod 有兩種使用格式(字母法與數字法)

字母法:

chmod u/g/o/a  +/-/=  rwx  檔案

[ u/g/o/a ] 說明

u : user 表示該檔案的所有者 

g : group 表示與該檔案的所有者屬于同一組( group )者,即使用者組 

o : other 表示其他以外的人 

a : all 表示這三者皆是

[ +-= ] 說明 

+ : 增權重限 

- :  撤銷權限 

= : 設定權限

[ rwx ] 說明 

r : read 表示可讀取 

w : write 表示可寫入 

x : excute 表示可執行 

具體例子:

chmod o+w file

Linux開發環境搭建與使用——Linux 常用指令的使用

chmod u-r file

Linux開發環境搭建與使用——Linux 常用指令的使用

chmod g=x file 設定檔案 file 的同組使用者的權限為可執行,同時去除讀、寫權限

Linux開發環境搭建與使用——Linux 常用指令的使用

數字法:

“rwx” 這些權限也可以用數字來代替

r:讀取權限,數字代号為 "4"

w:寫入權限,數字代号為 "2"

x:執行或切換權限,數字代号為 "1"

-:不具任何權限,數字代号為 "0"

如執行:chmod u=rwx,g=rx,o=r filename 

就等同于:chmod u=7,g=5,o=4 filename

具體例子:

chmod 751 file

檔案所有者:讀、寫、執行權限

同組使用者:讀、執行的權限

其它使用者:執行的權限

Linux開發環境搭建與使用——Linux 常用指令的使用

chmod 777 file

所有使用者擁有讀、寫、執行權限

Linux開發環境搭建與使用——Linux 常用指令的使用

注意:如果想遞歸所有目錄加上相同權限,需要加上參數“ -R ”。

如:chmod 777 test -R

遞歸 test 目錄下所有檔案加 777 權限。

系統管理

ps:檢視系統程序

Linux開發環境搭建與使用——Linux 常用指令的使用

ps -a

Linux開發環境搭建與使用——Linux 常用指令的使用

ps -e

Linux開發環境搭建與使用——Linux 常用指令的使用

kill:殺死指定程序号的程序,配合 ps 使用

kill  9133   9133 為應用程式所對應的程序号 

Linux開發環境搭建與使用——Linux 常用指令的使用

有些程序不能直接殺死,這時候我們需要加一個參數“ -9 ”,“ -9 ” 代表強制結束。

Linux開發環境搭建與使用——Linux 常用指令的使用

ifconfig:檢視或配置網卡資訊

如果,我們隻是敲:ifconfig,它會顯示所有網卡的資訊:

Linux開發環境搭建與使用——Linux 常用指令的使用

檢視指定網卡的資訊:ifconfig eth0  ( “ 0 ” 為數字 )

Linux開發環境搭建與使用——Linux 常用指令的使用

設定 ip :sudo ifconfig eth0 192.168.31.165 

sudo 是允許系統管理者讓普通使用者執行一些或者全部的root指令的一個工具,減少了root 使用者的登陸和管理時間,提高了安全性。

Linux開發環境搭建與使用——Linux 常用指令的使用

ping:測試網絡連通性

ping 10.221.0.24  不會自動停止,按 “ Ctrl + c ” 即可停止

ping 10.221.0.24 -c 4

Linux開發環境搭建與使用——Linux 常用指令的使用

who:檢視目前系統登入使用者的資訊

第一列顯示登陸使用者名

第二列顯示終端名

第三列顯示登陸時間

Linux開發環境搭建與使用——Linux 常用指令的使用

exit:

如果是圖形界面,退出目前終端

如果是使用ssh遠端登入,退出登陸賬戶

繼續閱讀