---
# System prepended metadata

title: Linux_HW

---

###### 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)







