# CCCA<br>校園網路策進會 <br>Linux 入門 <br> 2020.03.17 --- ### 講者 ![](https://i.imgur.com/x1P1dEJ.png) --- ### Linux是什麼? ![](https://i.imgur.com/xfKNnVs.jpg) ![](https://upload.wikimedia.org/wikipedia/commons/thumb/b/b0/NewTux.svg/300px-NewTux.svg.png) ---- Linux嚴格來說是一個作業系統核心 Linus Torvalds在大學期間因為學校所使用的OS: minix在他386架構的電腦相容性不好 而當時也沒有合適的作業系統 (Hurd/GNU Mach與386BSD均尚未問世) 所以就自己寫了一個~ --- ### Linux發行版 #### GNU/Linux 的 distribution(發行套件,簡稱 distro) | | RPM軟體管理 | DPKG軟體管理 | 其他 | | --- | ---------- | ------------ | -------- | | 商業公司 | RHEL (Red Hat 公司)<br>SuSE (Micro Focus) | Ubuntu (Canonical Ltd.) | | | 社群單位 | Fedora<br>CentOS<br>OpenSuSE| Debian<br>B2D | Arch<br>Gentoo | ---- ![](https://i.imgur.com/IwjIJOM.png) --- 接下來的內容大量參考自以前學長(Peter)的slides http://slides.com/hero1364/cli --- ### SHELL ![](https://upload.wikimedia.org/wikipedia/commons/9/92/%E6%AE%BC%E5%B1%A4.png) ---- GUI vs. CLI ![](https://upload.wikimedia.org/wikipedia/zh/9/9c/Windows_8_explorer.png) ![](https://i.imgur.com/fMwXhxq.png =50%x) ---- ### SHELL 常接觸到的 Shell <div style="width:50%;margin-left:37.5%;text-align:left;"> ● sh<br><br> ● csh / tcsh<br><br> ● bash<br><br> ● zsh<br><br> </div> --- 為何使用 CLI 與圖形化介面(GUI)相比 * 熟悉 CLI 後,操作較 GLI 來的迅速 * 可以將 CLI 指令編寫成強大的工具 * 可以執行較為底層的功能 * 使用強大的技巧 (EX : Pipe, && , || ---- 課程規劃 * 基本指令教學與練習 * 實用軟體 --- man (manual)/info/help * man command * man man --- TAB鍵 * 自動完成 * 列出可行選項 --- cd (change directory) 移到特定的目錄下 * cd /&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;移到根目錄 * cd .&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;移到現在的目錄 * cd ..&nbsp;&nbsp;&nbsp;&nbsp;移到父目錄(上一層) ---- cd * cd ./usr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;移到 usr? * cd /usr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;移到 usr? 差別在哪裡? ---- Ans: * cd ./usr 相對路徑 (當前目錄下的usr資料夾) * cd /usr 絕對路徑 (根目錄下的usr資料夾) --- pwd (print working directory) 回傳目前工作資料夾路徑 * pwd /home/username --- ls (list) * ls * ls -a (all:包含隱藏檔案) * ls -l (long:包含檔案屬性) * ls -al/la * ls -lh (human-readable) --- mkdir (make directory) 新增資料夾 * mkdir directory_name --- touch (create file) 新增文件 * touch fileaname.format * update/change last modified date --- rmdir (remove empty directory) 刪除空資料夾 * rmdir directory_name * 缺點: 只能刪除空資料夾 --- rm (remove) 刪除 * rm filename * rm -r directory_name (remove recusively) * rm -f file_name (force remove) * rm -rf directory_name * rm -d directory_name (rmdir) --- cp (copy) 複製貼上 * cp /path/source /path/target --- mv (move) 剪下貼上 * mv /path/source /path/target * rename --- echo (print string to standard output) 寫shell script的時候很好用 * echo "Hello world!" * echo $0 * echo $USER --- cat (con<u>cat</u>enate) 直接輸出檔案內容 * cat filename * 超過無法回去 ---- more 輸出檔案內容後可以用space換頁enter換行 ---- less 輸出檔案內容後可以用左右鍵換頁上下鍵換行 ---- head 顯示檔案前10行 ---- tail 顯示檔案後10行 --- file 列出檔案格式 --- clear 清空當前頁面 ---- history 顯示歷史輸入的指令 --- which application_name 當前應用程式的路徑 ---- whereis application_name 所有與應用程式有關的路徑 --- & 背景執行 * sleep 30 & ---- jobs 查看背景任務 --- hostnamectl 系統資訊 ---- lshw/lscpu/lspci --- break time --- 應用程式 --- 文字編輯器 nano vi/vim emacs --- pipe | stdout導向下一個程式 --- grep 搜尋字串 --- redirect \> 覆寫 \>> 新增 < 將檔案由右導入至左 --- find 找檔案 * find path -name filename * find path -user username * find path group groupname --- bc basic calculator --- * sed * awk --- tar 壓縮 * tar -czvf filename * tar -xzvf filename --- wget (web get) * wget -r http://www.nctu.edu.tw --- 非常好的參考資源: <a href="https://linux.vbird.org/">鳥哥的私房菜 -- 新站</a> <a href="https://linux.vbird.org/">鳥哥的私房菜 -- 舊站</a> --- Thanks for listening~
{"metaMigratedAt":"2023-06-15T05:01:12.785Z","metaMigratedFrom":"Content","title":"CCCA<br>校園網路策進會 <br>Linux 入門 <br>","breaks":true,"contributors":"[{\"id\":\"be465814-df88-47d8-9db1-dd395394822a\",\"add\":4634,\"del\":1110}]"}
    619 views