## 4.7 本章習題
( 要看答案請將鼠標移動到“答:”下面的空白處,按下左鍵圈選空白處即可察看)
* * *
情境仿真題一:我們在純命令行,例如tty2里面看到的歡迎畫面,就是在那個login:之前的畫面(CentOS Linux 7 ...)是怎么來的?
* 目標:了解到終端機接口的歡迎訊息是怎么來的?
* 前提:歡迎訊息的內容,是記錄到/etc/issue當中的
* 需求:利用man找到該文件當中的變量內容
情境仿真題一的解決步驟:
1. 歡迎畫面是在/etc/issue文件中,你可以使用“nano /etc/issue”看看該文件的內容(注意,不要修改這個文件內容,看完就離開),這個文件的內容有點像下面這樣:
```
\S
Kernel \r on an \m
```
2. 與tty3比較之下,發現到核心版本使用的是 \r 而硬件等級則是 \m 來取代,這兩者代表的意義為何? 由于這個文件的文件名是issue,所以我們使用“man issue”來查閱這個文件的格式;
3. 通過上一步的查詢我們會知道反斜線(\)后面接的字符是與agetty(8)及mingetty(8)有關,故進行“man agetty”這個指令的查詢。
4. 由于反斜線(\)的英文為“escape”因此在上個步驟的man環境中,你可以使用“/escape”來搜尋各反斜線后面所接字符所代表的意義為何。
5. 請自行找出:如果我想要在/etc/issue文件內表示“時間(localtime)”與“tty號碼(如tty1, tty2的號碼)”的話, 應該要找到那個字符來表示(通過反斜線的功能)?(答案為:\t 與 \l)
* * *
簡答題部分:
* 簡單的查詢一下,Physical console / Virtual console / Terminal 的說明為何?console 有“控制臺”的意思在里面,因此你可以這樣看的:
* 實體控制臺:實體的屏幕、鍵盤、鼠標等界面,讓你可以使用該配備來操作系統的環境,就稱為實體控制臺 (Physical console)
* 虛擬控制臺:由系統衍生出的虛擬控制臺,你可以通過該虛擬控制臺搭配你自己系統的實體配備,來操作遠端系統的環境。每個虛擬控制臺都是獨立運行的。
* 終端機:你可以用該界面來取得一個可以控制系統的 shell 環境。
由這些定義來看,一般來說,我們取得可以與系統互動的環境,大致上都稱為 terminal 就是了。
* 請問如果我以文字模式登陸Linux主機時,我有幾個終端機接口可以使用?如何切換各個不同的終端機接口?共有六個, tty1 ~ tty6 ,切換的方式為 Crtl + Alt + [F1]~[F6]
* 在Linux系統中,/VBird與/vbird是否為相同的文件?兩者為不同的文件,因為 Linux 系統中,大小寫字母代表意義不一樣!
* 我想要知道 date 如何使用,應該如何查詢?最簡單的方式就是使用 man date 或 info date 來查看,如果該套件有完整說明的話,那么應該也可以在 /usr/share/doc 里面找到說明文檔!
* 我想要在今天的 1:30 讓系統自己關機,要怎么做?shutdown -h 1:30
* 如果我 Linux 的 X Window 突然發生問題而掛掉,但 Linux 本身還是好好的,那么我可以按下哪三個按鍵來讓 X window 重新啟動?[crtl]+[alt]+[backspace]
* 我想要知道 2010 年 5 月 2 日是星期幾?該怎么做?最簡單的方式直接使用 cal 5 2010 即可找出 2010 年 5 月份的月歷。
* 使用 man date 然后找出顯示目前的日期與時間的參數,成為類似:2015/10/16-20:03date +%Y/%m/%d-%H:%M
* 若以 X-Window 為默認的登陸方式,那請問如何進入 Virtual console 呢?可以按下 [Ctrl] + [Alt] + [F2] ~ [F6] 進入 Virtual console ( 共六個 ); 而按下 [Ctrl] + [Alt] + [F1] 可回到 X-Window 的 desktop 中!
* 簡單說明在 bash shell 的環境下, [tab] 按鍵的用途?[Tab] 按鍵可做為命令補齊或文件補齊的功能,與所接的指令位置有關。 接在一串指令的第一個單字后面,則為命令補齊,否則則為文件補齊! 目前尚有選項/參數補齊的功能。
* 如何強制中斷一個程序的進行?(利用按鍵,非利用 kill 指令)可以利用 [Ctrl] + c 來中斷!
* Linux 提供相當多的線上查詢,稱為 man page,請問,我如何知道系統上有多少關于 passwd 的說明?又,可以使用其他的程序來取代 man 的這個功能嗎?可以利用 man -f passwd 來查詢,另外,如果有提供 info 的文件數據時 (在 /usr/share/info/ 目錄中) ,則能夠利用 info passwd 來查詢之!
* 在 man 的時候, man page 顯示的內容中,指令(或文件)后面會接一組數字,這個數字若為 1, 5, 8 ,表示該查詢的指令(或文件)意義為何?代表意義為 1) 一般使用者可以使用的指令或可可執行文件案 5)一些配置文件的文件內容格式 8)系統管理員能夠使用的管理指令。
* man page 顯示的內容的文件是放置在哪些目錄中?放置在 /usr/share/man/ 與 /usr/local/man 等默認目錄中。
* 請問這一串指令“ foo1 -foo2 foo3 foo4 ”中,各代表什么意義?foo1 一定是指令, -foo2 則是 foo1 這個指令的選擇項目參數, foo3 與 foo4 則不一定, 可能是 foo1 的參數設置值,也可能是額外加入的 parameters。
* 當我輸入 man date 時,在我的終端機卻出現一些亂碼,請問可能的原因為何?如何修正?如果沒有其他錯誤的發生,那么發生亂碼可能是因為語系的問題所致。 可以利用 export LANG=en_US.utf8 或者是 export LC_ALL=en_US.utf8 等設置來修訂這個問題。
* 我輸入這個指令“ls -al /vbird”,系統回復我這個結果:“ls: /vbird: No such file or directory” 請問發生了什么事?”不要緊張,很簡單的英文,因為系統根本沒有 /vbird 這個文件的存在啊! ^_^
* 我想知道目前系統有多少指令是以 bz 為開頭的,可以怎么作?直接輸入 bz[tab][tab] 就可以知道了!
* 承上題,在出現的許多指令中,請問 bzip2 是干嘛用的?在使用 man bzip2 之后,可以發現到,其實 bzip2 是用來作為壓縮與解壓縮文件用的!
* 在終端機里面登陸后,看到的提示字符 $ 與 # 有何不同?平時操作應該使用哪一個?# 代表以 root 的身份登陸系統,而 $ 則代表一般身份使用者。依據提示字符的不同, 我們可以約略判斷登陸者身份。一般來說,建議日常操作使用一般身份使用者登陸,亦即是 $ !
* 我使用dmtsai這個帳號登陸系統了,請問我能不能使用reboot來重新開機? 若不能,請說明原因,若可以,請說明指令如何下達?理論上reboot僅能讓root執行。不過,如果dmtsai是在主機前面以圖形接口登陸時,則dmtsai還是可以通過圖形接口功能來關機。
- 鳥哥的Linux私房菜:基礎學習篇 第四版
- 目錄及概述
- 第零章、計算機概論
- 0.1 電腦:輔助人腦的好工具
- 0.2 個人電腦架構與相關設備元件
- 0.3 數據表示方式
- 0.4 軟件程序運行
- 0.5 重點回顧
- 0.6 本章習題
- 0.7 參考資料與延伸閱讀
- 第一章、Linux是什么與如何學習
- 1.1 Linux是什么
- 1.2 Torvalds的Linux發展
- 1.3 Linux當前應用的角色
- 1.4 Linux 該如何學習
- 1.5 重點回顧
- 1.6 本章習題
- 1.7 參考資料與延伸閱讀
- 第二章、主機規劃與磁盤分區
- 2.1 Linux與硬件的搭配
- 2.2 磁盤分區
- 2.3 安裝Linux前的規劃
- 2.4 重點回顧
- 2.5 本章習題
- 2.6 參考資料與延伸閱讀
- 第三章、安裝 CentOS7.x
- 3.1 本練習機的規劃--尤其是分區參數
- 3.2 開始安裝CentOS 7
- 3.3 多重開機安裝流程與管理(Option)
- 3.4 重點回顧
- 3.5 本章習題
- 3.6 參考資料與延伸閱讀
- 第四章、首次登陸與線上求助
- 4.1 首次登陸系統
- 4.2 文字模式下指令的下達
- 4.3 Linux系統的線上求助man page與info page
- 4.4 超簡單文書編輯器: nano
- 4.5 正確的關機方法
- 4.6 重點回顧
- 4.7 本章習題
- 4.8 參考資料與延伸閱讀
- 第五章、Linux 的文件權限與目錄配置
- 5.1 使用者與群組
- 5.2 Linux 文件權限概念
- 5.3 Linux目錄配置
- 5.4 重點回顧
- 5.5 本章練習
- 5.6 參考資料與延伸閱讀
- 第六章、Linux 文件與目錄管理
- 6.1 目錄與路徑
- 6.2 文件與目錄管理
- 6.3 文件內容查閱
- 6.4 文件與目錄的默認權限與隱藏權限
- 6.5 指令與文件的搜尋
- 6.6 極重要的復習!權限與指令間的關系
- 6.7 重點回顧
- 6.8 本章習題:
- 6.9 參考資料與延伸閱讀
- 第七章、Linux 磁盤與文件系統管理
- 7.1 認識 Linux 文件系統
- 7.2 文件系統的簡單操作
- 7.3 磁盤的分區、格式化、檢驗與掛載
- 7.4 設置開機掛載
- 7.5 內存交換空間(swap)之創建
- 7.6 文件系統的特殊觀察與操作
- 7.7 重點回顧
- 7.8 本章習題 - 第一題一定要做
- 7.9 參考資料與延伸閱讀
- 第八章、文件與文件系統的壓縮,打包與備份
- 8.1 壓縮文件的用途與技術
- 8.2 Linux 系統常見的壓縮指令
- 8.3 打包指令: tar
- 8.4 XFS 文件系統的備份與還原
- 8.5 光盤寫入工具
- 8.6 其他常見的壓縮與備份工具
- 8.7 重點回顧
- 8.8 本章習題
- 8.9 參考資料與延伸閱讀
- 第九章、vim 程序編輯器
- 9.1 vi 與 vim
- 9.2 vi 的使用
- 9.3 vim 的額外功能
- 9.4 其他 vim 使用注意事項
- 9.5 重點回顧
- 9.6 本章練習
- 9.7 參考資料與延伸閱讀
- 第十章、認識與學習BASH
- 10.1 認識 BASH 這個 Shell
- 10.2 Shell 的變量功能
- 10.3 命令別名與歷史命令
- 10.4 Bash Shell 的操作環境:
- 10.5 數據流重導向
- 10.6 管線命令 (pipe)
- 10.7 重點回顧
- 10.8 本章習題
- 10.9 參考資料與延伸閱讀
- 第十一章、正則表達式與文件格式化處理
- 11.1 開始之前:什么是正則表達式
- 11.2 基礎正則表達式
- 11.3 延伸正則表達式
- 11.4 文件的格式化與相關處理
- 11.5 重點回顧
- 11.6 本章習題
- 11.7 參考資料與延伸閱讀
- 第十二章、學習 Shell Scripts
- 12.1 什么是 Shell scripts
- 12.2 簡單的 shell script 練習
- 12.3 善用判斷式
- 12.4 條件判斷式
- 12.5 循環 (loop)
- 12.6 shell script 的追蹤與 debug
- 12.7 重點回顧
- 12.8 本章習題
- 第十三章、Linux 帳號管理與 ACL 權限設置
- 13.1 Linux 的帳號與群組
- 13.2 帳號管理
- 13.3 主機的細部權限規劃:ACL 的使用
- 13.4 使用者身份切換
- 13.5 使用者的特殊 shell 與 PAM 模塊
- 13.6 Linux 主機上的使用者訊息傳遞
- 13.7 CentOS 7 環境下大量創建帳號的方法
- 13.8 重點回顧
- 13.9 本章習題
- 13.10 參考資料與延伸閱讀
- 第十四章、磁盤配額(Quota)與進階文件系統管理
- 14.1 磁盤配額 (Quota) 的應用與實作
- 14.2 軟件磁盤陣列 (Software RAID)
- 14.3 邏輯卷軸管理員 (Logical Volume Manager)
- 14.4 重點回顧
- 14.5 本章習題
- 14.6 參考資料與延伸閱讀
- 第十五章、例行性工作調度(crontab)
- 15.1 什么是例行性工作調度
- 15.2 僅執行一次的工作調度
- 15.3 循環執行的例行性工作調度
- 15.4 可喚醒停機期間的工作任務
- 15.5 重點回顧
- 15.6 本章習題
- 第十六章、程序管理與 SELinux 初探
- 16.1 什么是程序 (process)
- 16.2 工作管理 (job control)
- 16.3 程序管理
- 16.4 特殊文件與程序
- 16.5 SELinux 初探
- 16.6 重點回顧
- 16.7 本章習題
- 16.8 參考資料與延伸閱讀
- 第十七章、認識系統服務 (daemons)
- 17.1 什么是 daemon 與服務 (service)
- 17.2 通過 systemctl 管理服務
- 17.3 systemctl 針對 service 類型的配置文件
- 17.4 systemctl 針對 timer 的配置文件
- 17.5 CentOS 7.x 默認啟動的服務簡易說明
- 17.6 重點回顧
- 17.7 本章習題
- 17.8 參考資料與延伸閱讀
- 第十八章、認識與分析登錄文件
- 18.1 什么是登錄文件
- 18.2 rsyslog.service :記錄登錄文件的服務
- 18.3 登錄文件的輪替(logrotate)
- 18.4 systemd-journald.service 簡介
- 18.5 分析登錄文件
- 18.6 重點回顧
- 18.7 本章習題
- 18.8 參考資料與延伸閱讀
- 第十九章、開機流程、模塊管理與 Loader
- 19.1 Linux 的開機流程分析
- 19.2 核心與核心模塊
- 19.3 Boot Loader: Grub2
- 19.4 開機過程的問題解決
- 19.5 重點回顧
- 19.6 本章習題
- 19.7 參考資料與延伸閱讀
- 第二十章、基礎系統設置與備份策略
- 20.1 系統基本設置
- 20.2 服務器硬件數據的收集
- 20.3 備份要點
- 20.4 備份的種類、頻率與工具的選擇
- 20.5 鳥哥的備份策略
- 20.6 災難復原的考慮
- 20.7 重點回顧
- 20.8 本章習題
- 20.9 參考資料與延伸閱讀
- 第二十一章、軟件安裝:源代碼與 Tarball
- 20.1 開放源碼的軟件安裝與升級簡介
- 21.2 使用傳統程序語言進行編譯的簡單范例
- 21.3 用 make 進行宏編譯
- 21.4 Tarball 的管理與建議
- 21.5 函數庫管理
- 21.6 檢驗軟件正確性
- 21.7 重點回顧
- 21.8 本章習題
- 21.9 參考資料與延伸閱讀
- 第二十二章、軟件安裝 RPM, SRPM 與 YUM
- 22.1 軟件管理員簡介
- 22.2 RPM 軟件管理程序: rpm
- 22.3 YUM 線上升級機制
- 22.4 SRPM 的使用 : rpmbuild (Optional)
- 22.5 重點回顧
- 22.6 本章習題
- 22.7 參考資料與延伸閱讀
- 第二十三章、X Window 設置介紹
- 23.1 什么是 X Window System
- 23.2 X Server 配置文件解析與設置
- 23.3 顯卡驅動程序安裝范例
- 23.4 重點回顧
- 23.5 本章習題
- 23.6 參考資料與延伸閱讀
- 第二十四章、Linux 核心編譯與管理
- 24.1 編譯前的任務:認識核心與取得核心源代碼
- 24.2 核心編譯的前處理與核心功能選擇
- 24.3 核心的編譯與安裝
- 24.4 額外(單一)核心模塊編譯
- 24.5 以最新核心版本編譯 CentOS 7.x 的核心
- 24.6 重點回顧
- 24.7 本章習題
- 24.8 參考資料與延伸閱讀