鑒于互聯網上針對本科目相關復習視頻及資料過少,
撰寫本篇期末復習指南用作期末復習知識點掃盲,以應對本科期末考試及格之用。
由于任課老師并透露考試范圍或任何有關試卷的相關信息,本篇指南基于教材、上機實驗報告及作者經驗編寫,僅供參考。
鑒于試卷考察形式以簡答及代碼編寫題為主(死記硬背),指南精煉作者認為有用的知識點,非重點則不予總結。
?一、Linux操作系統簡介
? ? ? ? Linux操作系統源于自由軟件運動。
????????Linux操作系統的特點有哪些?
????????答:
????????①開源與自由 ②多用戶多任務 ③良好的用戶界面 ④豐富的網絡功能 ⑤安全穩定
???????⑥良好的可移植性 ⑦設備獨立性 ⑧支持多文件系統
二、Linux操作系統管理常用命令?
命令縮寫:提高編碼效率及代碼簡潔度。
coding又不是寫文章,知道代碼指令什么意思就完了? ;)
1、touch 新建文件
touch [選項] [文件]
2、useradd 創建新用戶
useradd [用戶名]
3、passwd 修改用戶密碼
passwd [用戶名]
4、su 切換用戶
su [用戶名]
常用:su root -> 輸入password:12345 [Enter] -> 切換管理員
5、shutdown 關機
6、cp 復制文件 (copy -> cp)
cp [源目錄或文件] [目標目錄或文件]
7、mv 移動文件 (move -> mv)
mv [源目錄或文件] [目標目錄或文件]
8、rm 刪除文件 (remove -> rm)
rm [將要刪除的目錄或文件]
9、mkdir 新建文件夾 (make directory -> mkdir)
mkdir [目錄]
10、cd 切換當前工作目錄
cd [目錄]
11、pwd 獲取當前工作目錄 (print working directory -> pwd)
12、ls 列出目錄所有文件(list directory contents -> ls)
13、tar 壓縮
14、unzip 解壓縮
15、chmod 修改用戶對文件的權限
# | 權限 | rwx | 二進制 |
---|---|---|---|
7 | 讀 + 寫 + 執行 | rwx | 111 |
6 | 讀 + 寫 | rw- | 110 |
5 | 讀 + 執行 | r-x | 101 |
4 | 只讀 | r-- | 100 |
3 | 寫 + 執行 | -wx | 011 |
2 | 只寫 | -w- | 010 |
1 | 只執行 | --x | 001 |
0 | 無 | --- | 000 |
16、df 查看磁盤使用情況
17、du 查看目錄大小
18、ifconfig 查看網絡配置
19、netstat 查看網絡狀態
20、grep 查找字符串
21、rpm 軟件安裝
22、mount 安裝/掛載設備
23、umount 卸載設備
24、find 查找文件
25、top 查看CPU占用/使用情況
26、ps 查看進程占用/使用情況
27、kill 殺死進程
28、man 查詢Linux指令使用方式
什么是輸入/輸出重定向?舉例說明。
答:用于改變命令的輸入/輸出來源或目標。
??????
# 將文件file1的內容作為命令的輸入
command?< file1
????????
# 將命令的輸出寫入到file2中(覆蓋原有內容)
command?> file2
?# 將命令的輸出追加到file2中(保留原有內容)
command?>> file2
什么是管道?舉例說明。
答:將一個命令的輸出作為另一個命令的輸入。
使用 "command1 | command2"
合并兩個文件?
答:$ cat file1 file2?>> combined_file?
Linux操作系統進程間通訊方式?
答:①管道 ②消息隊列 ③共享內存 ④信號量 ⑤信號 ⑥Socket
三、Shell編程
掌握Shell簡單邏輯代碼的編寫。
通過實例搞懂基本代碼編寫,考試不會超出這些例子范圍(如果考了)。
?
1、Shell編程,利用兩層循環打印乘法表(?for循環?)
#!/bin/bash# 外層循環控制行數(1到9)
for i in {1..9}; do# 內層循環控制每行的列數(1到當前行數i)for ((j=1; j<=i; j++)); do# 計算乘積并格式化輸出printf "%d*%d=%-2d " $j $i $((j*i))done# 每行結束后換行echo
done
2、Shell編程,接收用戶輸入,判斷是否為純數字(?Input / 正則表達式匹配字符串?)
#!/bin/bash# 提示用戶輸入
read -p "請輸入一個數字: " input# 判斷是否為數字
if [[ "$input" =~ ^[0-9]+$ ]]; thenecho "您輸入的是數字: $input"
elseecho "錯誤: '$input' 不是有效的數字"
fi
3、Shell編程,根據用戶輸入的成績判斷及格情況(?if判斷 / break和continue的使用?)
#!/bin/bashecho "學生成績評定系統(輸入Q退出)"while true; doread -p "請輸入學生成績(0-100): " score# 檢查是否輸入Q退出if [[ "$score" =~ ^[Qq]$ ]]; thenecho "退出成績評定系統"breakfi# 檢查輸入是否為數字if ! [[ "$score" =~ ^[0-9]+$ ]]; thenecho "錯誤:請輸入有效的數字成績!"continuefi# 檢查成績范圍是否合法if (( score < 0 || score > 100 )); thenecho "錯誤:成績必須在0-100之間!"continuefi# 判斷及格情況if (( score >= 60 )); thenecho "成績 $score: 及格"elseecho "成績 $score: 不及格"fi
done
break和continue的區別:
break
?- 立即終止整個循環?
continue
?- 跳過當前迭代,進入下一次循環?
?四、Linux常用開發工具
VI文本編輯器、GCC編譯器和GDB調試工具。
看書了解即可。
五、文件系統與操作
1、Linux文件系統目錄
(1)根目錄(/)
(2)/bin:存放Linux命令及二進制可執行文件
(3)/boot:存放內核文件和引導裝載程序文件
(4)/dev:設備文件目錄(磁盤、光驅、網卡等設備)
(5)/etc:存放系統配置文件
(6)/home:系統默認用戶宿主目錄
(7)/lib、/usr/lib、/usr/local/lib:存放系統使用的函數庫的目錄
(8)/lost+fount:系統崩潰或者意外關機產生的文件
(9)/mnt:用于臨時掛載文件系統
(10)/opt:額外安裝軟件存放目錄
(11)/proc:內存數據
(12)/root:系統管理員目錄
(13)/sbin:存放系統管理員使用的可執行命令
(14)/srv:存放服務需要訪問的數據
(15)/tmp:存放臨時文件
(16)/usr:應用程序存放目錄。其中/bin存放應用程序,/share存放共享數據,/lib存放函數庫文件,/local存放用戶安裝軟件目錄,/share/doc存放系統說明文件
(17)/var:存放系統運行過程中易變化的文件。
2、文件權限
? ? ? ? 每一文件或目錄的訪問權限分三組,每組用三位表示:
????????①文件屬主 ②與屬主同組用戶 ③其他用戶?
? ? ? ? -rwxr--r-- 拆分來看 第一位的“-”表示文件類型 之后的每三位對應每一類用戶的三類權限情況
? ? ? ? r:read——讀 w:write——寫 x:excute——執行
? ? ? ?使用chmod命令更改文件或目錄權限,詳見前文。
解釋inode節點在文件系統中的作用
答:存儲了文件的??元數據??(metadata)和??物理存儲位置。無需遍歷目錄樹即可快速定位。
?
與文件名的關系:
文件名 ≠ 文件本身??:
文件名存儲在??目錄項(dentry)??中,目錄本質是“文件名到inode號”的映射表。
什么是符號鏈接?什么是硬鏈接?區別?
答:
符號鏈接理解為:快捷方式,刪除目標文件后,鏈接失效。
??特性?? ??符號鏈接?? ??硬鏈接?? ??本質?? 存儲目標路徑的獨立文件 與目標文件共享inode的文件別名 ??跨文件系統?? 支持 不支持 ??鏈接目錄?? 支持 不支持 ??目標文件刪除后?? 鏈接失效(懸空) 仍可訪問數據 ??inode號?? 與目標文件不同 與目標文件相同 ??文件大小?? 等于路徑字符串的長度 與目標文件相同 ??權限?? 始終為 lrwxrwxrwx
(無實際意義)與目標文件一致
硬鏈接理解為:文件索引,刪除目標文件后,索引存在,文件正常訪問。
linux操作系統有幾種類型文件?它們分別是什么?相同和不同點?
答:七種相同點:
??類型標識?? ??描述?? ??ls -l顯示?? ??示例?? -
普通文件(Regular File) -rw-r--r--
文本、二進制、壓縮包等 d
目錄文件(Directory) drwxr-xr-x
/home
,?/etc
l
符號鏈接(Symbolic Link) lrwxrwxrwx
軟鏈接(如 /usr/bin/python
)c
字符設備文件(Character Device) crw--w----
終端( /dev/tty
)、鍵盤b
塊設備文件(Block Device) brw-rw----
磁盤( /dev/sda
)、USB設備p
管道文件(Named Pipe) prw-------
進程間通信(FIFO) s
套接字文件(Socket) srwxrwxrwx
網絡通信( /var/run/docker.sock
)不同點:
- 均通過inode管理,具有權限、所有者等元數據。
- 使用統一的文件操作接口(如
open()
、read()
)。- 文件名均存儲在目錄中,與inode關聯。
??特性?? 普通文件 目錄 符號鏈接 設備文件 管道 套接字 ??存儲數據?? 是 否 僅路徑 否 臨時 否 ??可讀寫內容?? 是 否 重定向 是 是 是 ??跨文件系統?? 是 是 是 否 是 是 ??工具創建?? touch
mkdir
ln -s
mknod
mkfifo
應用自動
下文跳轉:嵌入式Linux期末復習指南(下)
?