# Linux 2 學習筆記
資工三 李易 111010512
## WinSCP
上課影片,資料的FTP Server
![](https://hackmd.io/_uploads/rJNSHlkJ6.png)
## 第一週
### Overview
1. yum
2. df dd du wc tr ssh scp
3. shell script
3. network related commands
4. scheduling
5. www server
6. mysql
7. php
domain server
....servers
### Command
#### hostname
![](https://hackmd.io/_uploads/rkmYMK6Rn.png)
修改主機名稱
![](https://hackmd.io/_uploads/Sk62fta0n.png)
![](https://hackmd.io/_uploads/H1egmF6Rn.png)
第二台主機
![](https://hackmd.io/_uploads/r1szXKTAh.png)
#### rpm
查詢
![](https://hackmd.io/_uploads/BJEMwK603.png)
刪除 & 安裝
![](https://hackmd.io/_uploads/Hk5L8lJyT.png)
#### systemctl
active (running)
![](https://hackmd.io/_uploads/HJgwLx116.png)
inactive (dead)
![](https://hackmd.io/_uploads/HyOP8xyyT.png)
disable
![](https://hackmd.io/_uploads/rJLEwxykp.png)
enable
![](https://hackmd.io/_uploads/H11Svlyy6.png)
### Settings
#### Wired
![](https://hackmd.io/_uploads/SkJruxJ1T.png)
![](https://hackmd.io/_uploads/HkISuxkyT.png)
![](https://hackmd.io/_uploads/HJardxyJp.png)
![](https://hackmd.io/_uploads/BJFhugyka.png)
![](https://hackmd.io/_uploads/BJF8dg1Jp.png)
#### DNS
![](https://hackmd.io/_uploads/BkVWKgyJ6.png)
![](https://hackmd.io/_uploads/r1CFYl1JT.png)
![](https://hackmd.io/_uploads/rkd5tlkya.png)
#### NAT
前往 CentOS 在 VirtualBox 底下的網路卡設定,在`介面卡1`啟動`NAT`網路卡,在`介面卡2`啟動`僅限主機介面卡`,並選擇`VirtualBox Host-Only Ethernet Adapter`。如果找不到該介面卡,就前往`檔案 > 工具 > Network Manager`自行新增,且新增時要勾選`DHCP Server`。
### Connection
#### ping
![](https://hackmd.io/_uploads/Hy6OolkJT.png)
#### ssh
![](https://hackmd.io/_uploads/ByxjqlkJp.png)
![](https://hackmd.io/_uploads/r1gOsce1yp.png)
## 第二週
### 快捷鍵
![](https://hackmd.io/_uploads/SyzxO3Ukp.png)
### NAT 設定
#### VirtualBox
![](https://hackmd.io/_uploads/ryFPI3Lk6.png)
![](https://hackmd.io/_uploads/ByRD838kp.png)
#### VMware
![](https://hackmd.io/_uploads/rkS_LnIJ6.png)
### 連線
#### ssh
![](https://hackmd.io/_uploads/HkFPKn8JT.png)
#### PuTTY
![](https://hackmd.io/_uploads/H15E92UJT.png)
![](https://hackmd.io/_uploads/BkzNi3LyT.png)
![](https://hackmd.io/_uploads/H1euohLkp.png)
![](https://hackmd.io/_uploads/rkxennLyT.png)
![](https://hackmd.io/_uploads/H1Wkhn8yT.png)
![](https://hackmd.io/_uploads/SkWFT2Ika.png)
![](https://hackmd.io/_uploads/r19i6hLyT.png)
### 無密碼登入 (必考)
![](https://hackmd.io/_uploads/BkFhX6I1T.png)
![](https://hackmd.io/_uploads/r1p3XT8ka.png)
![](https://hackmd.io/_uploads/H1utFaL16.png)
![](https://hackmd.io/_uploads/B1Kf5TLka.png)
#### scp
![](https://hackmd.io/_uploads/HkWVvT8Jp.png)
![](https://hackmd.io/_uploads/H1AEYpUkT.png)
### rpm
https://www.twblogs.net/a/5c361a28bd9eee35b3a5791a
#### 套件查詢 (必考)
![](https://hackmd.io/_uploads/H10MV0Lya.png)
![](https://hackmd.io/_uploads/ryGk_CLya.png)
## 第三週
### 如果伺服器不能跑
1. 使用 super user
2. getenforce -> Disabled
3. systemctl status firewalld —> inactive
4. netstat -tunlp | grep xxx 檢查開啟的 port
```
vim /etc/selinux/config
```
### 架設網頁伺服器
查詢
![](https://hackmd.io/_uploads/HyuI1lelT.png)
安裝
![](https://hackmd.io/_uploads/B1Aw1ellT.png)
啟動
![](https://hackmd.io/_uploads/SkN3Jlxe6.png)
檢查
![](https://hackmd.io/_uploads/H10ayxggT.png)
預設centos 7 下httpd的家目錄是在/var/www/html下
![](https://hackmd.io/_uploads/H1HXglggp.png)
連線
![](https://hackmd.io/_uploads/HJIDxxxxp.png)
![](https://hackmd.io/_uploads/BysOggxxa.png)
目前架設的www server只能運作在內部網路...外部網路internet是無法存取的
#### 作業
寫一個有圖片跟文字的 htm
![](https://hackmd.io/_uploads/SkEONxlla.png)
用 WinSCP 傳到虛擬機
![](https://hackmd.io/_uploads/Hko94lexp.png)
![](https://hackmd.io/_uploads/Ske2Vxlgp.png)
把檔案移動到 /var/www/html 下
![](https://hackmd.io/_uploads/BkJTVeggT.png)
打開網頁檢查
![](https://hackmd.io/_uploads/BJP1Seela.png)
### ngrok
https://ngrok.com/
> ![](https://hackmd.io/_uploads/r1ZValggT.png)
![](https://hackmd.io/_uploads/BkArpeexT.png)
![](https://hackmd.io/_uploads/r17Oalegp.png)
```
wget https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-linux-amd64.tgz --no-check-certificate
```
![](https://hackmd.io/_uploads/By1s6gllp.png)
![](https://hackmd.io/_uploads/ryRyCelxp.png)
```
./ngrok config add-authtoken 2VvJAgRK2RrjqPSlctKkR2Ids50_3Q7h4MdQNjZB932rnfFds
```
![](https://hackmd.io/_uploads/B1plAeegp.png)
![](https://hackmd.io/_uploads/S1UU0llxT.png)
![](https://hackmd.io/_uploads/Skj4l-lg6.png)
### repo
![](https://hackmd.io/_uploads/r1pSBbegT.png)
https://www.cnblogs.com/yaoyaojcy/p/17139639.html
> ![](https://hackmd.io/_uploads/B1n9HWxl6.png)
### htop
https://src.fedoraproject.org/lookaside/extras/htop/htop-2.2.0.tar.gz/sha512/ec1335bf0e3e0387e5e50acbc508d0effad19c4bc1ac312419dc97b82901f4819600d6f87a91668f39d429536d17304d4b14634426a06bec2ecd09df24adc62e/
![](https://hackmd.io/_uploads/r1mBjWegp.png)
![](https://hackmd.io/_uploads/rJPBs-glT.png)
![](https://hackmd.io/_uploads/Sy6qs-lgT.png)
![](https://hackmd.io/_uploads/SJWu8hZxla.png)
![](https://hackmd.io/_uploads/HJpS3Wgxa.png)
![](https://hackmd.io/_uploads/B1mW6bleT.png)
![](https://hackmd.io/_uploads/rJOba-llp.png)
![](https://hackmd.io/_uploads/BJxQa-exT.png)
### Command
du
`.`此目錄 `..`上一層目錄
![](https://hackmd.io/_uploads/SyjgbGglT.png)
![](https://hackmd.io/_uploads/B1yUWMlep.png)
![](https://hackmd.io/_uploads/Hk3xffge6.png)
df
![](https://hackmd.io/_uploads/r1ivMMxlp.png)
![](https://hackmd.io/_uploads/HkKPXMlxp.png)
![](https://hackmd.io/_uploads/B1nrEfxxa.png)
## 第四週
### NFS
https://qizhanming.com/blog/2018/08/08/how-to-install-nfs-on-centos-7
![](https://hackmd.io/_uploads/BJpoimYep.png)
![](https://hackmd.io/_uploads/BJ2WnQFe6.png)
![](https://hackmd.io/_uploads/ByoVnQYg6.png)
![](https://hackmd.io/_uploads/ryoK2XtgT.png)
![](https://hackmd.io/_uploads/r1z9h7Kl6.png)
![](https://hackmd.io/_uploads/rkykpQYgT.png)
![](https://hackmd.io/_uploads/ByRmamKga.png)
![](https://hackmd.io/_uploads/ry_u6mYga.png)
![](https://hackmd.io/_uploads/BknURQYe6.png)
![](https://hackmd.io/_uploads/SybsA7tx6.png)
![](https://hackmd.io/_uploads/S1xA0mtgp.png)
客戶端操作
![](https://hackmd.io/_uploads/rJVHy4Yxa.png)
![](https://hackmd.io/_uploads/H19FJ4tlT.png)
![](https://hackmd.io/_uploads/Hy8MgEFx6.png)
![](https://hackmd.io/_uploads/S19UlNtg6.png)
![](https://hackmd.io/_uploads/rJD5gEtla.png)
### Command
df
![](https://hackmd.io/_uploads/ryuqkBKlp.png)
dd
![](https://hackmd.io/_uploads/BJ2o1StgT.png)
wc
![](https://hackmd.io/_uploads/BJ2fxrKg6.png)
![](https://hackmd.io/_uploads/By-mxHtga.png)
![](https://hackmd.io/_uploads/r1OQgBKga.png)
![](https://hackmd.io/_uploads/r1zNgrKe6.png)
![](https://hackmd.io/_uploads/SJUVeBKg6.png)
tr
https://wangchujiang.com/linux-command/c/tr.html
![](https://hackmd.io/_uploads/SkvTxHKgp.png)
![](https://hackmd.io/_uploads/ryJCxHKlp.png)
![](https://hackmd.io/_uploads/HypoSStga.png)
![](https://hackmd.io/_uploads/Hk42HBKlT.png)
![](https://hackmd.io/_uploads/Bk3lLHtlT.png)
![](https://hackmd.io/_uploads/BygPDrtga.png)
![](https://hackmd.io/_uploads/S1ubFStl6.png)
![](https://hackmd.io/_uploads/BybctrKe6.png)
![](https://hackmd.io/_uploads/rJGnKrYga.png)
![](https://hackmd.io/_uploads/SyufjBKxp.png)
![](https://hackmd.io/_uploads/Bk4vjHYea.png)
cat
![](https://hackmd.io/_uploads/HkfgPrKla.png)
![](https://hackmd.io/_uploads/ByjSwHtep.png)
ssh
https://nqucsie.myqnapcloud.com/smallko/sdn/sshtunnel.htm
seq
![](https://hackmd.io/_uploads/rJnbRHtgT.png)
![](https://hackmd.io/_uploads/r1au0Hte6.png)
bc
![](https://hackmd.io/_uploads/HJ3xRrFea.png)
#### 作業
算這個網頁有多少個字:
https://nqucsie.myqnapcloud.com/smallko/sdn/frp.htm
## 第五週
### Samba
https://josephjsf2.github.io/linux/2019/11/01/share_centos_folder_with_windows.html
https://github.com/stereomp3/note/blob/main/linux/111semester01/3-SAMBA.md#SAMBA
#### Samba vs NFS
![](https://hackmd.io/_uploads/H1-u0cj-T.png)
#### 檢查連線
![](https://hackmd.io/_uploads/r1xIyoo-a.png)
![](https://hackmd.io/_uploads/ByXDksjWT.png)
selinux要是disabled
![](https://hackmd.io/_uploads/BktyeisWa.png)
![](https://hackmd.io/_uploads/SkuxesoWp.png)
#### 基礎設定
![](https://hackmd.io/_uploads/By_heiobT.png)
![](https://hackmd.io/_uploads/H1maxooba.png)
![](https://hackmd.io/_uploads/SkMbboj-T.png)
![](https://hackmd.io/_uploads/BJG4bsibp.png)
![](https://hackmd.io/_uploads/S1xozoiZT.png)
![](https://hackmd.io/_uploads/SJEpMosb6.png)
![](https://hackmd.io/_uploads/SyNlXis-a.png)
![](https://hackmd.io/_uploads/HkKzQij-T.png)
![](https://hackmd.io/_uploads/BJjyNosbT.png)
![](https://hackmd.io/_uploads/H1TqVji-6.png)
![](https://hackmd.io/_uploads/B1kWBssZp.png)
![](https://hackmd.io/_uploads/S14OSsoZ6.png)
![](https://hackmd.io/_uploads/H12uBos-T.png)
![](https://hackmd.io/_uploads/rysWRioW6.png)
![](https://hackmd.io/_uploads/SyzzRjoWp.png)
![](https://hackmd.io/_uploads/SyuGAioZ6.png)
#### 作業
把 Samba 跟 NFS 綁定在同一個資料夾
![](https://hackmd.io/_uploads/S1imCoj-6.png)
#### 切換使用者
新增帳號前要確保帳號不存在
![](https://hackmd.io/_uploads/By1rAisZa.png)
![](https://hackmd.io/_uploads/rymH0jj-p.png)
![](https://hackmd.io/_uploads/ry8r0sjWp.png)
![](https://hackmd.io/_uploads/Hkx8AssWp.png)
![](https://hackmd.io/_uploads/Syr8Css-T.png)
![](https://hackmd.io/_uploads/SkKL0oobp.png)
![](https://hackmd.io/_uploads/HJhLRoo-6.png)
### sort
ascii code
![](https://hackmd.io/_uploads/Bkh6x3j-p.png)
![](https://hackmd.io/_uploads/Syay-nsZp.png)
![](https://hackmd.io/_uploads/r1gZbnjZT.png)
![](https://hackmd.io/_uploads/rJIzZhjb6.png)
![](https://hackmd.io/_uploads/r10GGhs-p.png)
![](https://hackmd.io/_uploads/BJTUGnoZa.png)
![](https://hackmd.io/_uploads/Hknr7hob6.png)
![](https://hackmd.io/_uploads/SJ7I7hs-T.png)
![](https://hackmd.io/_uploads/By-d42jbT.png)
![](https://hackmd.io/_uploads/SycqVhiba.png)
![](https://hackmd.io/_uploads/rk9mrnibp.png)
sort : -g -r -k -t (預設是小排到大)
#### 作業
把下列內容從大排到小
```
031,111:3
2,555:6
1345:222,5
001,666,4
014,444,2
```
![](https://hackmd.io/_uploads/H1Jmq3sZT.png)
### uniq
![](https://hackmd.io/_uploads/BklRc3iZ6.png)
### cut
![](https://hackmd.io/_uploads/B11NhhsZa.png)
![](https://hackmd.io/_uploads/BkVUp3jZ6.png)
![](https://hackmd.io/_uploads/SkZdT3i-p.png)
![](https://hackmd.io/_uploads/HJ39CnsWT.png)
### dd
![](https://hackmd.io/_uploads/HyDLJ6j-T.png)
### split
![](https://hackmd.io/_uploads/BJNyg6jWp.png)
### diff
![](https://hackmd.io/_uploads/HyCyWTiba.png)
![](https://hackmd.io/_uploads/S1vSbTj-T.png)
### hostname
![](https://hackmd.io/_uploads/HkhSQaiWa.png)
### mail
![](https://hackmd.io/_uploads/rJRE46jZ6.png)
![](https://hackmd.io/_uploads/rJc_ETs-p.png)
## 第六週
### IPv6
![](https://hackmd.io/_uploads/SJP4cANzp.png)
![](https://hackmd.io/_uploads/rkws0RNzp.png)
```
ping -6 2001:b400:e785:5b37:20c:29ff:fea3:f136
```
#### VMware Setting
![](https://hackmd.io/_uploads/r1VO004z6.png)
Edit->virtual Network editor
![](https://hackmd.io/_uploads/rJkt00EMa.png)
![](https://hackmd.io/_uploads/ByHt00NMT.png)
#### VirtualBox Setting
![](https://hackmd.io/_uploads/BJj9RANMT.png)
![](https://hackmd.io/_uploads/SkLJ1kBMa.png)
#### ping
windows: ping -6
linux: ping6
![](https://hackmd.io/_uploads/H1FgMyHMa.png)
#### PuTTY
![](https://hackmd.io/_uploads/B1XGeyHfa.png)
![](https://hackmd.io/_uploads/SktGxJBMT.png)
#### Website
![](https://hackmd.io/_uploads/rkK4ZkBG6.png)
##### Free Dynamic DNS
https://dynv6.com/
![](https://hackmd.io/_uploads/rJ3iwJHfa.png)
![](https://hackmd.io/_uploads/SkzhwkSMT.png)
### Command
cp
![](https://hackmd.io/_uploads/B10iCyHfa.png)
echo
![](https://hackmd.io/_uploads/rJEDweHf6.png)
雙引號會進行替換, 單引號不會 (考試重點)
![](https://hackmd.io/_uploads/B1PmOgrGa.png)
![](https://hackmd.io/_uploads/rJEAqgBfp.png)
![](https://hackmd.io/_uploads/Hygyy1WSGT.png)
sh
![](https://hackmd.io/_uploads/Hkt1sgrf6.png)
![](https://hackmd.io/_uploads/SJmvjxBza.png)
other
![](https://hackmd.io/_uploads/r1iUReBzT.png)
![](https://hackmd.io/_uploads/S1gvAlHGa.png)
![](https://hackmd.io/_uploads/r10D0eSzp.png)
#### Setting
如果是自己的配置,修改檔案室自身目錄下的.bashrc
如果希望套用到整個系統的使用者,修改的檔案是/etc/profile,記得要用root
![](https://hackmd.io/_uploads/SJedIxrMp.png)
當中的設定會套用到所有使用者
## 第七週
### Command Variable
![](https://hackmd.io/_uploads/H18bdf0fT.png)
![](https://hackmd.io/_uploads/ryobOMCGa.png)
![](https://hackmd.io/_uploads/HyR-ufCfa.png)
必考 (雙引號會替換, 單引號不會)
![](https://hackmd.io/_uploads/rkuadz0z6.png)
![](https://hackmd.io/_uploads/rya4cf0zp.png)
![](https://hackmd.io/_uploads/rJSH9GRfa.png)
return value
![](https://hackmd.io/_uploads/HyojcfCza.png)
![](https://hackmd.io/_uploads/HyigiMCGT.png)
![](https://hackmd.io/_uploads/S1lunz0Ga.png)
`;` vs `&&`
![](https://hackmd.io/_uploads/H1vWTMAMT.png)
![](https://hackmd.io/_uploads/SJGHTf0Gp.png)
連接多個指令可以用 `;` `&&` `||`
![](https://hackmd.io/_uploads/ryasWQAGT.png)
`>` 就是清空內容
![](https://hackmd.io/_uploads/r1KTMm0Ga.png)
![](https://hackmd.io/_uploads/ByATGQRfT.png)
這裡要留空白
![](https://hackmd.io/_uploads/Sk0Km7Az6.png)
![](https://hackmd.io/_uploads/S10CXm0fT.png)
![](https://hackmd.io/_uploads/SyyeEXCfT.png)
![](https://hackmd.io/_uploads/S1LKN7Rfp.png)
數值比較
![](https://hackmd.io/_uploads/SJl3NXCf6.png)
![](https://hackmd.io/_uploads/HJPpNmCGa.png)
![](https://hackmd.io/_uploads/rynwrmRfa.png)
數字比較不要用=,>=,<=,等符號
![](https://hackmd.io/_uploads/SJcwUXCMa.png)
shell script
![](https://hackmd.io/_uploads/HyGJvQCG6.png)
![](https://hackmd.io/_uploads/SyEdDmRza.png)
參數
![](https://hackmd.io/_uploads/ryn2-N0Ga.png)
判斷
![](https://hackmd.io/_uploads/SJh174Cz6.png)
迴圈
![](https://hackmd.io/_uploads/HkFWS4Cza.png)
![](https://hackmd.io/_uploads/HkJLU4Rz6.png)
括號
![](https://hackmd.io/_uploads/BkLmvERMp.png)
https://blog.csdn.net/new_delete_/article/details/121160836
要有空格
![](https://hackmd.io/_uploads/H1xXuNRMT.png)
![](https://hackmd.io/_uploads/HyW1Y40zT.png)
執行
https://blog.csdn.net/jiushiggg/article/details/123166505
## 第八週
### VPN
https://cc.nqu.edu.tw/p/404-1009-1326.php?Lang=zh-tw
> ![image](https://hackmd.io/_uploads/SJLcm9lVT.png)
![image](https://hackmd.io/_uploads/SylcX5l4a.png)
金門大學vpn server:60.248.63.195
port:443
### PPTP VPN
https://github.com/stereomp3/note/blob/main/linux/111semester01/7-VPN.md#pptpd
https://help.aliyun.com/zh/ecs/how-do-i-configure-a-connection-between-a-pptp-vpn-server-and-a-pptp-vpn-client-on-a-centos-7-instance
記得要先打:
```
yum install -y epel-release
```
#### VMware Setting
![image](https://hackmd.io/_uploads/ry4g2ceV6.png)
![image](https://hackmd.io/_uploads/BJiHhqlNa.png)
![image](https://hackmd.io/_uploads/rJash9lNa.png)
![image](https://hackmd.io/_uploads/Hk6A2qlEa.png)
![image](https://hackmd.io/_uploads/BylG6cgET.png)
![image](https://hackmd.io/_uploads/SkampceEa.png)
![image](https://hackmd.io/_uploads/H1T8pqeE6.png)
#### VirtualBox Setting
![image](https://hackmd.io/_uploads/H1iMCqxEp.png)
![image](https://hackmd.io/_uploads/rytHC5xET.png)
![image](https://hackmd.io/_uploads/HkdF05e4p.png)
![image](https://hackmd.io/_uploads/Skb5R9lVp.png)
#### Other Setting
![image](https://hackmd.io/_uploads/H1H1QjlN6.png)
在設定windows的vpn時
如果是用vmware, ip填的是centos7 第一張網卡的ip
如果是用virtual box, ip填寫的是centos7 第二張網卡host only ip
![image](https://hackmd.io/_uploads/BJe23oe4a.png)
![image](https://hackmd.io/_uploads/rJBnhol4p.png)
## 第九週
### Bash Script
https://medium.com/vswe/bash-shell-script-cheat-sheet-15ce3cb1b2c7
取得部分字串/字元數
![image](https://hackmd.io/_uploads/rJCZHatN6.png)
字串長度
![image](https://hackmd.io/_uploads/HJNoHatNp.png)
兩者一樣
![image](https://hackmd.io/_uploads/Sy8BIaYN6.png)
取代部分字串
![image](https://hackmd.io/_uploads/ryYoITtNT.png)
腳本
```shell
for i in {1..10}; do
if ((i%2==0)); then
continue
fi
if ((i==7)); then
break
fi
echo "${i}" # print 1, 3, 5
done
```
多重判斷 (AND, OR)
![image](https://hackmd.io/_uploads/ry4tt6tNT.png)
if 的括號
![image](https://hackmd.io/_uploads/rkdRYTK4T.png)
正則表達式
![image](https://hackmd.io/_uploads/HyRLoaYE6.png)
![image](https://hackmd.io/_uploads/ryeKjpK46.png)
陣列
![image](https://hackmd.io/_uploads/BkEP36FV6.png)
整數運算
![image](https://hackmd.io/_uploads/r1N3hTtN6.png)
小數運算
![image](https://hackmd.io/_uploads/rkxR0hTF4p.png)
建議數字比較一律用 `((…))`,字串比較再用 `[[ ... ]]`
### Net
NetworkManager vs Network
![image](https://hackmd.io/_uploads/BJKPOCFN6.png)
管理網路介面卡
![image](https://hackmd.io/_uploads/ryPbY0KNp.png)
清除網路設定
![image](https://hackmd.io/_uploads/HyH_tRtV6.png)
調整 MTU (Maximum transmission unit)
![image](https://hackmd.io/_uploads/ry9t90YEa.png)
改網路卡卡號
![image](https://hackmd.io/_uploads/BJ-OsRtEa.png)
設定 IP
![image](https://hackmd.io/_uploads/BJKe1kqEp.png)
新增介面卡邏輯分身
![image](https://hackmd.io/_uploads/B1D4gkcN6.png)
#### 新 ip 指令
ip address show = ip addr show = ip a s
![image](https://hackmd.io/_uploads/HJXkby946.png)
在介面卡新增 IP
![image](https://hackmd.io/_uploads/S1WUf1cV6.png)
在介面卡移除 IP
![image](https://hackmd.io/_uploads/HySYzkcNT.png)
路由表
![image](https://hackmd.io/_uploads/S1UpQJ5Ea.png)
手動新增路由 -- 內定路由
![image](https://hackmd.io/_uploads/HJrIEy5Ep.png)
#### 必考
取消 NM 改用 network 服務
1. 輸入`systemctl stop NetworkManager`,把 NetworkManger 關掉。
2. 輸入 `ifconfig`,查看 NAT 介面卡 (enp0s3) 的 IP 位址及 MAC 位址。(10.0.2.15 / 08:00:27:4d:62:da)
3. 輸入 `route -n` 查看內定路由及網路遮罩。(10.0.2.2 / 255.255.255.0)
4. 前往 `/etc/sysconfig/network-scripts/`,刪掉除了 `ifcfg-lo` 以外的 `ifcfg` 設定檔案。(`ifcfg-enp0s3`、`ifcfg-enp0s8`、`ifcfg-Wired_connection_1`)
5. 新增 `ifcfg-enp0s3`,並寫入下列配置:
```
TYPE=Ethernet
DEVICE=enp0s3 // NAT 介面卡
ONBOOT=yes
IPADDR=10.0.2.15 // 剛剛查看的 IP 位址
HWADDR=08:00:27:4d:62:da // 剛剛查看的 MAC 位址
NETMASK=255.255.255.0 // 剛剛查看的網路遮罩
GATEWAY=10.0.2.2 // 剛剛查看的內定路由
```
6. 輸入 `systemctl restart network`,然後就大功告成。
## 第十週
### Net
DNS (重要)
![image](https://hackmd.io/_uploads/B1ADTgQST.png)
netstat 參數
![image](https://hackmd.io/_uploads/Hk0cCeQrT.png)
### System
linux系統中process id =1,這隻行程叫做systemd
![image](https://hackmd.io/_uploads/SyZm7ZXBT.png)
![image](https://hackmd.io/_uploads/S17E7W7ST.png)
sshd 配置檔 (幫你呼叫systemctl)
![image](https://hackmd.io/_uploads/SkXPDbmr6.png)
#### Echo Server (必考)
https://blog.gtwang.org/linux/linux-create-systemd-service-unit-for-python-echo-server-tutorial-examples/
(用 PuTTY 傳程式)
#### Telnet (必考)
https://cloud.tencent.com/developer/article/2274078
![image](https://hackmd.io/_uploads/HJywTMQr6.png)
![image](https://hackmd.io/_uploads/HJRY6fmSp.png)
![image](https://hackmd.io/_uploads/rya5Tz7Sp.png)
![image](https://hackmd.io/_uploads/B1Sq6MmBa.png)
![image](https://hackmd.io/_uploads/Byd2WX7Ha.png)
(用 PuTTY 連連看)
## 第十一週
### LAMP (必考)
https://github.com/stereomp3/note/blob/main/linux/111semester01/13-.md
https://www.fooish.com/sql/create-table.html
![image](https://hackmd.io/_uploads/Skj_K42HT.png)
![image](https://hackmd.io/_uploads/Bk3aFV3BT.png)
![image](https://hackmd.io/_uploads/H1atT43S6.png)
![image](https://hackmd.io/_uploads/HJ-Z0E3Hp.png)
![image](https://hackmd.io/_uploads/SkA6yr3ra.png)
![image](https://hackmd.io/_uploads/rJcC1S2rp.png)
![image](https://hackmd.io/_uploads/HyHCBB2r6.png)
### Apache (httpd)
#### UserDir
https://www.ltsplus.com/apache/rhel-centos-7-enable-userdir
![image](https://hackmd.io/_uploads/ByMdxLhBT.png)
1. vim /etc/httpd/conf.d/userdir.conf
2. UserDir disabled -> enabled
取消註解 UserDir public_html
3. mkdir /home/user/public_html
4. vim /home/user/public_html/index.html
5. chmod 777 /home/user
6. systemctl restart httpd
http://192.168.56.100/~user/index.html
#### kill
![image](https://hackmd.io/_uploads/B1dPn82S6.png)
#### Alias
(可能要調整 /data 的權限) (chmod 777 /data)
![image](https://hackmd.io/_uploads/SJbFa8nBp.png)
1. vim /etc/httpd/conf/httpd.conf
2.
```
Alias /abc /data
<Directory /data>
Require all granted
<Directory>
```
3. mkdir /data
4. vim /data/hi.htm
http://192.168.56.100/abc/hi.htm
#### grep
過濾出空白行還有#行
![image](https://hackmd.io/_uploads/HJFOeD2S6.png)
## 第十二週
### IPv6 HTTPS
https://yowlab.idv.tw/wordpress/?p=1390
> ![image](https://hackmd.io/_uploads/rkmC6_rL6.png)
![image](https://hackmd.io/_uploads/rkLna_BLp.png)
![image](https://hackmd.io/_uploads/Sk33T_r8T.png)
![image](https://hackmd.io/_uploads/HkFCT_H86.png)
![image](https://hackmd.io/_uploads/HJC0p_HLa.png)
![image](https://hackmd.io/_uploads/BkMkAdrIa.png)
![image](https://hackmd.io/_uploads/Syg5kAuB8p.png)
![image](https://hackmd.io/_uploads/ryyx0ur8T.png)
![image](https://hackmd.io/_uploads/S1QZCdBUT.png)
![image](https://hackmd.io/_uploads/rJFbCdrUT.png)
### allow, deny
![image](https://hackmd.io/_uploads/BJixr5BIp.png)
### AllowOverride
課本 15-29 必考
![image](https://hackmd.io/_uploads/rydx-srIT.png)
![image](https://hackmd.io/_uploads/rJJZZsrLa.png)
## 第十三週
### AllowOverride
![image](https://hackmd.io/_uploads/SJuNTjCUa.png)
![image](https://hackmd.io/_uploads/SJqPaiRLa.png)
![image](https://hackmd.io/_uploads/rydyCs08a.png)
![image](https://hackmd.io/_uploads/Bycf0oRUp.png)
![image](https://hackmd.io/_uploads/H12VAsRUT.png)
#### 抓 IP
![image](https://hackmd.io/_uploads/rksg1hR8a.png)
### 驗證登入
![image](https://hackmd.io/_uploads/rJkba3C86.png)
![image](https://hackmd.io/_uploads/BymZp3ALa.png)
![image](https://hackmd.io/_uploads/Hy_Z6n0Ua.png)
![image](https://hackmd.io/_uploads/SynW6hCLp.png)
![image](https://hackmd.io/_uploads/r1bGTnC8a.png)
![image](https://hackmd.io/_uploads/ByFfT3AIp.png)
### FTP
#### Install
![image](https://hackmd.io/_uploads/BJQIkAC8a.png)
![image](https://hackmd.io/_uploads/H1wLyR0U6.png)
![image](https://hackmd.io/_uploads/H1ywJAC8p.png)
![image](https://hackmd.io/_uploads/By4vJ00Ia.png)
#### Login
![image](https://hackmd.io/_uploads/H1UV1A0Ip.png)
![image](https://hackmd.io/_uploads/Hkv710CIa.png)
![image](https://hackmd.io/_uploads/ryqzJ0RIp.png)
![image](https://hackmd.io/_uploads/ryRG1RCIp.png)
#### 多檔案傳輸
bin: Switching to binary mode
![image](https://hackmd.io/_uploads/ry5dyARLT.png)
prompt: Interactive mode off
![image](https://hackmd.io/_uploads/rkS0yACIT.png)
#### umask
![image](https://hackmd.io/_uploads/r1nVWA08a.png)