概述
很多人可能在電視或電影中看到過類似的場景,黑客面對一個黑色的螢幕,上面飄着密密麻麻的字元,梆梆一頓敲,就完成了竊取資料的任務。
Linux 剛出世時沒有什麼圖形界面,所有的操作全靠指令完成,就如同電視裡的黑客那樣,充滿了神秘與晦澀。
近幾年來,盡管 Linux 發展得非常迅速,圖形界面越來越友好,但是在真正的開發過程中,Linux 指令行的應用還是占有非常重要的席位。可以說不會指令行,就不算會 Linux。
Linux 提供了大量的指令,利用它可以有效地完成大量的工作,如磁盤操作、檔案存取、目錄操作、程序管理、檔案權限設定等。Linux 發行版本最少的指令也有 200 多個,這裡隻介紹比較重要和使用頻率最多的指令。
指令使用方法
Linux 指令格式:
command [-options] [parameter1] …
說明:
command:指令名,相應功能的英文單詞或單詞的縮寫
[-options]:選項,可用來對指令進行控制,也可以省略
parameter1 …:傳給指令的參數,可以是零個一個或多個
例:ls -a /home
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cGcq5CM4YDO0ADZwATMkRDNxQzMzYzXzUDMzcTM4IzLclDMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.jpg)
如何檢視幫助文檔:
1)--help
一般是 Linux 指令自帶的幫助資訊,并不是所有指令都自帶這個選項。
如我們想檢視指令 ls 的用法:ls --help
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
實際上,我們不用指定第幾個章節也用檢視,如,man ls。但是,有這個一種情況,假如,指令的名字和函數的名字剛好重名(如:printf),它既是指令,也可以是庫函數,如果,我們不指定章節号,man printf,它隻檢視指令的用法,不會查詢函數的用法,因為 man 是按照手冊的章節号的順序進行搜尋的。
是以,使用 man 手冊時,最好指定章節号:
使用技巧
自動補全:
在敲出指令的前幾個字母的同時,按下 tab 鍵,系統會自動幫我們補全指令。
曆史指令:
當系統執行過一些指令後,可按上下鍵翻看以前的指令,history 将執行過的指令列舉出來。
重定向( > ):
本應顯示在終端上的内容儲存到指定檔案中。
如:ls > test.txt ( test.txt 如果不存在,則建立,存在則覆寫其内容 )
管道( l ):
當我們搜尋含某個關鍵字的檔案或檔案夾時,經常需要用到管道,結合 grep ( 搜尋指令 ) 一起使用。
管道我們可以了解現實生活中的管子,管子的一頭塞東西進去,另一頭取出來,這裡“ | ”的左右分為兩端,左端塞東西,右端取東西。
如:ls | grep g,ls 本來顯示到螢幕的内容塞進管道的左端,然後從右端取出這些内容,在内容中搜尋有 “g” 關鍵字的文本。
常用指令
檔案、磁盤管理:
ls:顯示目錄内容
-l:清單顯示
-a:顯示所有檔案(隐藏檔案以“ . ”開頭)
-h:配合 -l 以人性化的方式顯示檔案大小
clear:清除終端上的顯示,也可使用快捷鍵:Ctrl + l ( “l” 為字母 )
cd:切換目錄
cd /mnt 可進入 mnt(指定)目錄
cd .. 可進入上一層目錄
cd - 可進入上一個進入的目錄
cd ~ 可進入使用者的家目錄 ( ~:代指家目錄,家目錄指 /home 裡的使用者目錄,不是純粹的 /home 目錄 )
pwd:顯示目前工作目錄的絕對路徑
注意:如果路徑是從根路徑開始的,則路徑的前面需要加上 “ / ”,如 “ /mnt ”,通常進入某個目錄裡的檔案夾,前面不用加 “ / ”。
mkdir:建立目錄
-p 遞歸地在指定路徑建立檔案夾
cat:顯示文本檔案内容
rm:删除檔案或目錄
-r:删除檔案夾時必須加此參數
-f:強制地删除檔案
cp:複制檔案
-r:拷貝檔案夾
-i:有重複檔案時,提醒是否覆寫
-v:顯示拷貝進度
cp vim_configure/ code/ -ivr 把檔案夾 vim_configure 拷貝到 code 目錄裡
mv:移動檔案或更改檔案名
–v:顯示移動進度
mv file1 file2 file1 改名為 file2
mv vim_configure/ code/ vim_configure/ 移動到 code 目錄裡
which:檢視指令所在的目錄
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)
解縮用法: tar zxvf 壓縮包包名
x:代表解壓操作
z:指定解壓壓縮包的格式為 gzip 格式,file.tar.gz
用法和建立壓縮包用法一樣,選項順序也一樣。
例子: tar zxvf new.tar.gz 把 new.tar.gz 解壓出來
實際上,“ z ” 參數可以省略,這樣的話,不管是什麼樣格式的壓縮包都解壓:
解壓到指定目錄:-C (大寫字母“ C ”)
例子:tar -xvf new.tar.gz -C ./test/ 将 new.tar.gz 解壓到目前目錄下的 test 目錄下
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
chmod u-r file
chmod g=x file 設定檔案 file 的同組使用者的權限為可執行,同時去除讀、寫權限
數字法:
“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
檔案所有者:讀、寫、執行權限
同組使用者:讀、執行的權限
其它使用者:執行的權限
chmod 777 file
所有使用者擁有讀、寫、執行權限
注意:如果想遞歸所有目錄加上相同權限,需要加上參數“ -R ”。
如:chmod 777 test -R
遞歸 test 目錄下所有檔案加 777 權限。
系統管理
ps:檢視系統程序
ps -a
ps -e
kill:殺死指定程序号的程序,配合 ps 使用
kill 9133 9133 為應用程式所對應的程序号
有些程序不能直接殺死,這時候我們需要加一個參數“ -9 ”,“ -9 ” 代表強制結束。
ifconfig:檢視或配置網卡資訊
如果,我們隻是敲:ifconfig,它會顯示所有網卡的資訊:
檢視指定網卡的資訊:ifconfig eth0 ( “ 0 ” 為數字 )
設定 ip :sudo ifconfig eth0 192.168.31.165
sudo 是允許系統管理者讓普通使用者執行一些或者全部的root指令的一個工具,減少了root 使用者的登陸和管理時間,提高了安全性。
ping:測試網絡連通性
ping 10.221.0.24 不會自動停止,按 “ Ctrl + c ” 即可停止
ping 10.221.0.24 -c 4
who:檢視目前系統登入使用者的資訊
第一列顯示登陸使用者名
第二列顯示終端名
第三列顯示登陸時間
exit:
如果是圖形界面,退出目前終端
如果是使用ssh遠端登入,退出登陸賬戶