# Linux作業系統實務 by 資工三 111110517 范揚玄 ## Linux 介紹 Linux 使用版本:Ubuntu 22.04 LTS 不同的發行版本相同點為有相同的內核 安裝軟體所使用的指令: ### Cent OS: ```vim= yum ``` ### Ubuntu: ```vim= apt-get ``` ```vim= apt ``` ## 使用者權限 權限為三組二進位組後的數字 rwx 三個字母為一組 三組權限分別為 user、group、other r、w、x 分別代表**寫入、讀取、執行**權限 `rwxr--r--` 為 744 `r--r--r--` 為 444 `rwxrw-r--` 為 764 `rwxrwxrwx` 為 777 ## Linux 指令介紹 把一般使用者提升成管理者 ```vim= sudo ``` Ubuntu 上查看網路設定 ```vim= ifconfig ``` Windows 上查看網路設定 ```vim= ipconfig ``` 切換目錄 ```vim= cd ``` 產生一個空白檔案 ```vim= touch aaa ``` 產生 ccc 並寫入 hi ```vim= echo hi > ccc ``` **> bbb** 1. bbb 不存在,就建立 bbb 2. bbb 存在,清空 bbb 裡的內容 切換成 root 身份 ```vim= sudo su ``` 關機指令 ```vim= sudo halt -p ``` ```vim= sudo poweroff ``` ```vim= sudo shutdown now ``` ping 指定次數 ```vim= ping -c 3 8.8.8.8 ``` 設定主機名稱並立即更新 bash ```vim= sudo hostnamectl set-hostname ubuntu exec bash ``` ssh 遠端連線 ```vim= ssh user@ip ``` 查看 sshd 服務狀態 ```vim= sudo systemctl status sshd ``` 啟動/停止/重啟 sshd ```vim= sudo systemctl start sshd sudo systemctl stop sshd sudo systemctl restart sshd ``` 安裝 ssh 伺服器 ```vim= sudo apt install openssh-server ``` 查看檔案 file 內容 ```vim= cat file ``` 查看開啟的網路連線狀態 ```vim= netstat -tulnp ``` 查看資料夾內的檔案 ```vim= ls ``` 以分頁方式顯示長文件內容 ```vim= ls | less ls | more ``` 透過 SCP 傳送檔案到遠端 ```vim= scp file user@ip:/tmp ``` 從遠端傳送檔案到本機 ```vim= scp user@ip:/tmp/test.txt . ``` 建立資料夾 ```vim= mkdir test ``` 產生多個空白檔案 ```vim= touch {1..10} ``` 切換到上一層資料夾 ```vim= cd .. ``` 顯示目前所在路徑 ```vim= pwd ``` 從本機傳送整個資料夾到遠端 ```vim= scp -r test user@ip:/tmp ``` 壓縮資料夾 ```vim= tar -zcvf test.tar test ``` 解壓縮 ```vim= tar -zxvf test.tar ``` 簡單圖形化文字編輯工具 ```vim= gedit test.txt ``` 終端機文字編輯器 ```vim= vim test.txt ``` 產生 ssh 公私鑰 ```vim= ssh-keygen -t rsa -b 2048 ``` 取得完整路徑 ```vim= /home/user ``` 隱藏檔案命名 ```vim= .a.txt ``` 顯示隱藏檔案 ```vim= ls -a ``` 返回家目錄 ```vim= cd ~ ``` 建立 dir 資料夾 ```vim= mkdir dir ``` 變更 file 執行權限 ```vim= /etc ``` 修改密碼 ```vim= passwd ``` 使用 locate 之前要先 updatedb 從`/`目錄開始尋找 ```vim= find / -name 1.txt ``` 若資料夾已存在不會報錯,若不存在就建立 ```vim= mkdir -p dir ``` 新增使用者 ```vim= adduser user ``` 將輸出與錯誤導向不同檔案 ```vim= echo 1 > a ; echo 2 >> a # output: 1, 2 echo 1 > a ; echo 2 >a 2>a # output: 1 ``` 指令串接方式 ```vim= echo 1 > a ; echo 2 >> a # 不管成功與否都執行下一個 echo 1 > a && echo 2 >> a # 前一個成功才執行下一個 echo 1 > a || echo 2 >> a # 前一個失敗才執行下一個 ``` 查找檔案與處理 ```vim= find -type f -empty # 找空白檔案 find -type d -empty # 找空目錄 find -type f -empty -exec rm -f {} \; # 找空白檔並刪除 find user root # 指定權限搜尋 ``` 背景執行指令 ```vim= gedit test.txt & ``` 查詢與執行相關 ```vim= $PATH # 可查看系統執行指令搜尋路徑 echo $? # 顯示上一個指令的執行狀態(0 表成功) file filename # 判斷檔案類型 which 指令 # 查執行檔路徑(從 PATH 中找) finger user # 顯示使用者資訊 ``` Shell 與使用者切換 ```vim= chsh # 更換預設 shell su - mary # 切換使用者並讀取 mary 的環境 su mary # 切換使用者但不換環境 chsh -s /usr/sbin/nologin mary # 暫時禁止 mary 登入 ``` 操作技巧與紀錄 ```vim= history # 查看歷史指令 ctrl + c # 中止目前工作 ctrl + z # 暫停目前工作 ctrl + a # 游標移到行首 ctrl + e # 游標移到行尾 ``` 查看背景有哪些工作 ```vim= jobs ``` 將工作丟到前景、背景 ```vim= fg ``` ```vim= bg ``` 查看純文字公開網站 ```vim= curl https://... ``` 將內容寫到指定路徑 /file ```vim= curl --output /file --silent https://... ``` 抓檔案 ```vim= wget https://... ``` 不中斷工作執行指令 ```vim= nohup python test.py ```