1. 前言
Linux 是基于 Unix 系統(tǒng)開(kāi)發(fā)的開(kāi)源操作系統(tǒng)內(nèi)核,目前常見(jiàn)的發(fā)行版本 Ubuntu、RedHat、CentOS 等,互聯(lián)網(wǎng)服務(wù)器一般都部署的是 Linux 系統(tǒng)。因?yàn)槭褂脠?chǎng)景不同,Windows 系統(tǒng)更適合個(gè)人日常辦公,相對(duì)于 Windows 系統(tǒng)的復(fù)雜圖形化界面而言,Linux 一般只在遠(yuǎn)程服務(wù)器上部署純命令行界面,所以熟悉 Linux 系統(tǒng)的常用命令比較重要。
2. Linux 常用命令
面試官提問(wèn): Linux 系統(tǒng)的常用操作命令能枚舉一下嗎?
題目解析:
這是一道偏實(shí)戰(zhàn)的題目,面試官的本意是考察候選人對(duì)于 Linux 系統(tǒng)實(shí)際操作的經(jīng)驗(yàn),可以從列舉出一些常用的 Linux 命令并且給出使用案例。
2.1 ls
ls
是英文 List 的縮寫(xiě),會(huì)枚舉出當(dāng)前工作目錄的所有文件。
2.2 cd
cd
是英文 change directory
的縮寫(xiě),用于切換當(dāng)前工作目錄。
(1)cd
+ 目錄,進(jìn)入到該目錄。
(2)cd
+ ~
,進(jìn)入 Home 目錄。
(3)cd
+ ..
,返回到上一個(gè)目錄。
2.3 cat
cat
是英文 concatenate and print files 的縮寫(xiě),用于連接文件并且打印輸出到控制臺(tái)。
(1)cat
+ 文件名,打印輸出文件內(nèi)容。
(2)cat
+ 文件名 1 + >
+ 文件名 2,將文件 1 的內(nèi)容輸出到文件 2 中。
2.4 grep
grep
是英文 Global Regular Expression Print(全局正則表達(dá)式匹配打?。?的縮寫(xiě),是一個(gè)常用的文本搜索工具,使用正則表達(dá)式匹配規(guī)則,然后輸出匹配結(jié)果。
(1)例如 netstat -ntlp
命令會(huì)在控制臺(tái)輸出當(dāng)前所有的 TCP 端口使用情況,那么配合 grep
使用可以單獨(dú)提煉出需要的端口。netstat -ntulp | grep 3306
用于單獨(dú)查看 3306 TCP 端口的使用情況。
(2)例如 cat
+ 文件名輸出文件內(nèi)容之后,查詢(xún)文件指定內(nèi)容。
2.5 mv & cp
mv
是英文 move 的縮寫(xiě),mv
命令的作用是移動(dòng)操作系統(tǒng)的文件。用法是 mv
+ 原始文件路徑 + 目標(biāo)文件路徑。
cp
是英文 copy 的縮寫(xiě),也是文件操作命令,作用是復(fù)制操作系統(tǒng)的文件。用法是 cp
+ 原始文件路徑 + 目標(biāo)文件路徑。
最基礎(chǔ)的案例如下:
(1)mv test.txt ./test.txt
將 test.txt 文件移動(dòng)到上一層文件夾中。
(2)cp test.txt ./test.txt
將 test.txt 文件復(fù)制到上一層文件夾中。
2.6 Ping
ping
命令是操作系統(tǒng)中常用的網(wǎng)絡(luò)命令,Windows 系統(tǒng)也可以執(zhí)行 ping
操作,區(qū)別是 Linux 下的 ping
進(jìn)程不會(huì)自動(dòng)停止。
執(zhí)行 ping
命令會(huì)使用 ICMP 網(wǎng)絡(luò)協(xié)議,用來(lái)檢測(cè)當(dāng)前主機(jī)和目標(biāo)主機(jī)是否聯(lián)通。
(1)ping
+ 域名,最常用的是 ping www.baidu.com
,百度服務(wù)器肯定不會(huì)宕機(jī),如果連接失敗,說(shuō)明是本機(jī)網(wǎng)絡(luò)存在故障。
(2)ping
+ IP 地址,檢測(cè)指定 IP 地址的機(jī)器是否聯(lián)通。
2.7 chmod
chomd
是英文 change mode 的縮寫(xiě),用于改變文件的讀寫(xiě)權(quán)限。
Linux 系統(tǒng)的文件調(diào)用權(quán)限分為三種:文件所有者(Owner)、組(Group)、其他用戶(hù)(Other Users)。所有者一般是創(chuàng)建文件的用戶(hù),所有者可以讓同組用戶(hù)訪(fǎng)問(wèn)文件,以及改變文件對(duì)于其他用戶(hù)的讀寫(xiě)限制。
Linux 的文件權(quán)限管理很?chē)?yán)格,每個(gè)文件和每個(gè)目錄(目錄本質(zhì)上也是一個(gè)文件)都有讀和寫(xiě)的權(quán)限限制,指定的用戶(hù)有指定的權(quán)限訪(fǎng)問(wèn)指定的內(nèi)容。
權(quán)限范圍:u(user)表示文件的所有者;g(group)表示和文件所有者同一個(gè)組的用戶(hù);o(other)表示除當(dāng)前用戶(hù)的其他人;a(all)表示所有用戶(hù)組的所有人。
操作范圍:r(read)表示設(shè)置文件為可讀權(quán)限;w(write)表示設(shè)置文件為可寫(xiě)權(quán)限;x(execute)表示設(shè)置文件為可執(zhí)行權(quán)限。
一些常見(jiàn)案例如下:
(1)chmod a+x test.txt
表示設(shè)置 test.txt 文件對(duì)所有用戶(hù)都開(kāi)放了可執(zhí)行權(quán)限。
(2)chmod a-x test.txt
表示設(shè)置 test.txt 文件對(duì)所有用戶(hù)都關(guān)閉了可執(zhí)行權(quán)限。
3. 小結(jié)
本章節(jié)介紹了幾個(gè)最基礎(chǔ)的 Linux 系統(tǒng)常見(jiàn)操作命令,除了上述命令之外,還有一些常用命令,例如 rmdir、find、sudo、top 命令等。候選人可以自行在 MacOS 系統(tǒng)或者 Ubuntu 系統(tǒng)上實(shí)踐操作。