Linux是一種開源的類Unix操作系統內核,廣泛應用于服務器、桌面、嵌入式設備等各種計算平臺。它由Linus Torvalds于1991年首次開發,因其穩定性、安全性和靈活性,被全球開發者和企業廣泛采用。
特點:
開放性(開源),多用戶,多任務,良好的用戶界面,優異的性能與穩定性,一切皆文件
- 多用戶多任務
- 單用戶:一個用戶,在登錄計算機(操作系統),只能允許同時登錄一個用戶
- 單任務:一個任務,允許用戶同時進行的操作任務數量
- 多用戶:多個用戶,在登錄計算機(操作系統),允許同時登錄多個用戶進行操作
- 多任務:多個任務,允許用戶同時進行多個操作任務
Windows屬于:單用戶,多任務
Linux屬于:多用戶,多任務
- 一切皆文件
-
在Windows是文件的,在Linux下同樣是文件
-
在Windows不是文件的,在Linux下也是以文件的形式存儲的
-
怎樣進行Windows和Linux的切換呢?
-
- 雙系統(Dual Boot)
- 安裝Windows和Linux在同一臺電腦的不同分區。
- 在開機啟動時選擇進哪個系統。
- 優點:可以充分利用硬件資源,系統運行速度快。
- 缺點:每次切換需要重啟,設置相對復雜。
- 雙系統(Dual Boot)
- 虛擬機(Virtual Machine)
- 使用虛擬機軟件(如VirtualBox、VMware)在一個系統內運行另一個系統。
- 例如:在Windows中運行Linux虛擬機,或在Linux中運行Windows虛擬機。
- 優點:無需重啟,可同時使用兩個系統。
- 缺點:需要較強的硬件資源(CPU、內存)。
注意:
這一切的講解,都在虛擬機(VM)中進行
終端
終端是一個界面工具,用于與操作系統進行交互。可以理解為“命令行窗口”或“控制臺”。
- 作用:在終端中輸入命令,讓操作系統執行對應操作
- 打開方式:
- 鼠標右鍵-打開終端
- CTRL+ALT+T
- 在當前終端窗口再打開一個終端:CTRL+SHIFT+T
- 切換終端:ALT+數字
+終端的放大與縮小:
- 放大:CTRL+SHIFT+‘+’
- 縮小:CTRL+‘-’
shell
Shell(殼層)是一種命令行界面(CLI),用來與操作系統內核交互。它既可以作為用戶與系統溝通的界面,也可以用來寫腳本自動化任務。Shell在類Unix系統(如Linux、macOS)中非常普遍,但在Windows中也有類似的工具(如PowerShell)。
作用
- 執行命令:用戶可以輸入各種系統命令,如文件操作(ls、cp、rm)、程序運行等。
- 腳本編寫:可以寫腳本實現自動化,比如備份、批量文件處理、系統監控等。
- 管道和重定向:支持將多個命令連接(管道),以及輸出重定向到文件或其他命令,更加靈活。
常見類型
-
Bash(Bourne Again Shell):最常見的Linux默認Shell,功能豐富、擴展性強。
- 功能豐富
- 支持腳本、變量、數組、函數等
- 默認在Linux大多數發行版中使用
-
dash(Debian Almquist shell)
- 一個輕量級的Shell
- 主要用作腳本的執行環境(如在Ubuntu中 /bin/sh 默認指向dash)
- 速度快,占用資源少,但功能比bash簡單
- 不支持某些bash特有的特性
-
sh(Bourne Shell):早期的標準Shell,功能有限,但廣泛支持。
-
zsh:功能強大,用戶界面友好,很多開發者喜歡用它。
-
csh/tcsh:在早期Unix系統常見,語法與C語言類似。
-
PowerShell:Windows的現代Shell,功能強大,支持對象管道和復雜任務。
特性 | Bash | dash |
---|---|---|
目標 | 交互式和腳本 | 主要為腳本設計,快速、輕量 |
兼容性 | 完全兼容sh | 兼容sh部分,但不支持bash特性 |
使用場景 | Linux默認Shell | 腳本環境,控制系統啟動腳本等 |
基本結構
例:一個簡單的bash腳本
#!/bin/bash
echo "開始備份..."
cp -r ~/資料 ~/備份
echo "備份完成"
- #!/bin/bash 表示腳本使用bash解釋器
- echo命令用于輸出內容
這里可能有一個疑問,那就是什么是腳本呢?
腳本(Script)是由一系列命令組成的文本文件,用來自動化執行任務。它類似于程序,但通常較為簡潔,主要用于自動化重復性操作、配置環境、批量處理等。
-
特點
- 文本文件:用普通文本編輯器編寫
- 包含命令:可以是Shell命令、程序調用或系統操作指令
- 自動執行:通過解釋器(如bash)運行,一次性完成復雜任務
- 便于重復使用:可以多次調用,節省時間和減少出錯
-
常見類型
- Shell腳本:用Shell命令寫的腳本(.sh文件)
- Python腳本:用Python語言寫的程序(.py文件)
- Batch腳本:Windows中的批處理文件(.bat)
指令
一個完整的指令的標準格式:Linux通用的格式
- 第一部分是指令名稱
- 中括號不在實際指令當中,-后面是指令選項,如 ls -a
- parameter1 parameter2……為參數,如ls/dev
- 不同部分之間用空格區分,不論幾個空格 shell都視為一個空格
- 回車鍵是 運行指令,如果指令太長,可以使用反斜杠在按回車鍵到下一行進行填充。在這期間這個命令是不執行的。
路徑和文件名補齊
- 路徑和文件名補齊:Tab鍵
- 查看歷史記錄:history
路徑
絕對路徑 (Absolute Path)
- 從根目錄 / 開始,完整描述文件或目錄的路徑。
- 不依賴當前工作目錄。
/home/user/Documents/file.txt
表示從根目錄開始,依次進入 home,user,Documents 文件夾,到 file.txt 文件。
相對路徑
- 相對于當前工作目錄(當前所在的目錄)來描述路徑。
- 不以 / 開頭。
Documents/file.txt
如果當前目錄是 /home/user/,那么這個相對路徑指向 /home/user/Documents/file.txt。
其他相關符號
- . 表示當前目錄
- … 表示上一級目錄
例:
- ./file.txt:當前目錄下的 file.txt
- …/file.txt:上一級目錄中的 file.txt