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