###### tags: linux_HW # Linux_HW ## HW1 作業1 : 使用CLI的方式, 確認自己的電腦/bin/sh預設連結。並將結果截圖 hint: (1)請開啟終端機(Terminal)軟體 (2)作業格式:截圖畫面請統一放大字體,截圖範圍包含使用者帳號、主機名稱、指令及指令結果。 ![](https://i.imgur.com/bHpIO48.png) --- ## HW2 作業2:請說明(1)/與~分別代表什麼目錄(2)自己寫的程式碼放在哪些目錄較為合適 hint: 作業皆可將說明預先打在txt檔,檢查作業時可將txt檔打開作為提示作用。 會考(2)可以放在哪些目錄,此為觀念題。 **1./:第一階層的根、整個檔案系統階層的根目錄。, ~:代表目前這個使用者的家目錄** **2.home目錄的使用者資料夾中. ex:/home/c1115816** --- ## HW3 作業3:請透過CLI使用ssh登入到其他帳號。記得截圖 hint: 遠端電腦可用測試帳號(帳號:test 密碼:!QAZ2wsx#EDC)練習登入 本機電腦可用本機帳號或是hostname練習登入 ![](https://i.imgur.com/NmyvXsy.png) --- ## HW4 作業4:[情境]實驗室再5分鐘要斷電了,請用CLI快速關機。 hint:請當場demo給驗收官 `shutdown -h now` --- ## HW5 作業5:請透過CLI的ls -al指令檢查/usr資料夾底下的檔案詳細設定。記得截圖 hint: 會考ls -al指令結果,每個欄位代表什麼意思。 會考要下什麼指令,才能把指定檔案的某個身份加上執行權。 ![](https://i.imgur.com/68vXmB1.png) ![](https://i.imgur.com/Dewhden.png) `chmod a(u)(g)(o)+x xxx.xx` --- ## HW6 作業6:請透過CLI進行以下步驟。記得截圖 (1)在家目錄建立資料夾"hw6" (2)在"hw6"資料夾內建立檔案test.txt,並填入內容 “您好!我是OOO。” (3)將test.txt內容顯示在Terminal上 hint:OOO請填入個人姓名 > vi test.txt > 編輯模式: 進入 vi 後,鍵盤 i > 離開編輯模式 (並非離開 vi 編輯器): ESC > 不儲存離開 vi: :q > 不儲存強制離開 vi: :q! > 儲存且離開 vi : :wq > 將檔案還原到最初狀態(進入 vi 後一開始的樣貌) : :e! ![](https://i.imgur.com/QN8K1sF.png) --- ## HW7 作業7:請透過CLI進行以下步驟。記得截圖 (1)在家目錄的桌面建立資料夾"hw7" (2)接續作業6,請將"hw6"資料夾內的檔案test.txt複製至資料夾"hw7"內並將檔案命名成test2.txt (3)將test2.txt內容顯示在Terminal上 (4)請用轉向輸出的方式,將echo 'Hello world!'結果存入test2.txt (5)將test2.txt內容顯示在Terminal上 (6)請用轉向附加的方式,再加上一句"Hello world! Again!"到 test2.txt檔案內容的後面 (7)將test2.txt內容顯示在Terminal上 ![](https://i.imgur.com/0GF5Mt0.png) --- ## HW8 作業8:請透過CLI,由A檔案讀取後,進行排序,再將結果儲存至B檔案。記得截圖 hint:可依照"轉向輸入和轉向輸出合用範例"練習 ![](https://i.imgur.com/BPNP6Aq.png) --- ## HW9 作業9:接續作業8,請透過CLI進行以下步驟。記得截圖 (1)排序檔案A內容並顯示排序後結果 (2)顯示檔案A內容 ![](https://i.imgur.com/KCkRpEr.png) --- ## HW10 作業10:接續前面作業,請透過CLI進行以下步驟。記得截圖 (1)執行ls D | tee result.txt指令 (2)顯示 result.txt 內容 (3)執行ls D |& tee result.txt指令 (4)顯示 result.txt 內容 (5)執行ls D 2>&1 | tee result.txt指令 (6)顯示 result.txt 內容 (7)執行ls D 2>&1 | tee -a result.txt指令 (8)顯示 result.txt 內容 ![](https://i.imgur.com/2nkSsd7.png) --- ## HW11 `作業11:請說明指令1 | 指令2 | 指令3和指令1 && 指令2 && 指令3和指令1 || 指令2 || 指令3的差異` 指令1 | 指令2 | 指令3: 範例:找出當前路徑,檔案名稱含有u的檔案,顯示出詳細資訊並儲存結果。 ![](https://i.imgur.com/BmFUJxu.png) 指令1 && 指令2 && 指令3: 指令1執行成功後,才會執行指令2;當指令2執行成功後,才會執行指令3。 ![](https://i.imgur.com/3ZG4xRo.png) `指令1 || 指令2 || 指令3:` 指令1執行失敗後,才會執行指令2;指令2執行失敗後,才會執行指令3。 範例:&&與||差異。 如下圖,使用ls && echo "using &&"時,可以發現ls列出 ![](https://i.imgur.com/sIhGfbX.png) --- ## HW12 作業12:請透過CLI進行以下步驟。記得截圖 (1)用help指令測試echo與mkdir (2)用type指令測試echo與mkdir (3)請把history指令結果存入history.txt (4)請在terminal顯示history.txt內容結尾10行 1. ![](https://i.imgur.com/DcGnudC.png) ![](https://i.imgur.com/yJDmSVZ.png) 2. ![](https://i.imgur.com/Tkms2Ou.png) 3&4. ![](https://i.imgur.com/0WD5Xoe.png) --- ## HW13 作業13:請透過CLI進行以下步驟。記得截圖 (1)使用 help 查找pwd指令資訊。 (2)使用 --help 查找pwd指令資訊。 (3)使用 info 查找pwd指令資訊。 (4)使用 man 查找pwd指令資訊。 1&2. ![](https://i.imgur.com/CmZRPMv.png) 3. ![](https://i.imgur.com/dVAUZkS.png) 4. ![](https://i.imgur.com/w78DP6o.png) --- ## HW14 作業14:請透過CLI進行以下步驟。記得截圖 (1) 從環境變數($PATH)中找出指令pip的存放路徑 (2) 從根目錄找出指令pip的存放路徑,並使用I/O Redirection或Pipeline把警告訊息濾掉。 ![](https://i.imgur.com/dVNTW95.png) --- ## HW15 作業15:請透過CLI進行以下步驟。記得截圖 (1)在Terminal顯示系統的日期和時間 (2)在Terminal顯示自己的登入帳號 (3)使用tar指令打包作業1~作業14,壓縮檔請依照hw15_登入帳號_系統日期_backup.tgz (舉例:hw15_c95cyr_20220930_backup.tgz) ![](https://i.imgur.com/vuhRdTg.png) --- ## HW16 作業16:請透過CLI進行以下步驟。記得截圖 (1)請用find指令從根目錄找出所有.sh檔案的路徑,並使用I/O Redirection或Pipeline把警告訊息濾掉。 (2)在(1)的結果中,請用grep指令找出含有vscode字串的路徑 (3)在(2)的結果中,使用xargs指令找出檔案名稱 (4)在(2)的結果中,使用xargs指令找出檔案放置的目錄(路徑去除檔案名稱) 1. `find / -name '*.sh' 2>/dev/null` ![](https://i.imgur.com/NiFYcBM.png) 2. `find / -name '*.sh' 2>/dev/null | grep vscode` ![](https://i.imgur.com/E0BU49B.png) 3. `find / -name '*.sh' 2>/dev/null | grep vscode | xargs -n 1 basename` ![](https://i.imgur.com/M0kRVCI.png) 4. `find / -name '*.sh' 2>/dev/null | grep vscode | xargs -n 1 dirname` ![](https://i.imgur.com/VjO9CBd.png) --- ## HW17 作業17:請透過CLI進行以下步驟。記得截圖 嘗試建立一個script(如章節舉例:test.sh 或 cd.sh ),並執行script。 ![](https://i.imgur.com/CXrtobr.png) --- ## HW18 作業18:請透過CLI進行以下步驟。記得截圖 1.嘗試建立一個script(如章節舉例:AlwaysPrintHello.sh),並執行script。 2.接續步驟1,請用job指令確認步驟1的script狀態 3.請另外開啟terminal,並用top指令確認步驟1的script狀態 ![](https://i.imgur.com/wMXFrIA.png) 4.接續步驟3,請下指令中止步驟1的script。 ![](https://i.imgur.com/yWk3Jkc.png) --- ## HW19 作業19:請透過CLI使用ps指令與grep指令抓取關鍵字(例如:rcu)。記得截圖 ![](https://i.imgur.com/80ojRbk.png) --- ## HW20 作業20:請透過CLI使用ps指令搭配awk指令撈出特定欄位(例如RSS)。記得截圖 `ps axuw | awk '{print $6}' | head` ![](https://i.imgur.com/MFdoq04.png)