伺服器建置實務上課補充教材


Unit 01:Linux 的基礎操作實務
目錄的建置與管理、檔案的建置與管理、vim 的使用
  1. 指令列模式的基本操作技巧
    1. 使用 [tab] 按鈕
      盡量使用 [tab] 按鈕 (鍵盤最左邊的按鈕) 來補齊命令或補齊檔名
      [student@localhost ~]$ ifc[tab][tab]     # 這就是命令補齊
      [student@localhost ~]$ ll /var/sp[tab]   # 這就是檔名補齊
      [student@localhost ~]$ nmcli con[tab]    # 這就是參數補齊
      
      意思是,如果一切順利的話,接在第一個文字的後面,就是命令補齊,接在檔名資料的地方,就是檔名補齊,接在指令後面的某些參數, 也可以做成參數補齊的功能喔!
    2. 善用 command --help
      若有看不懂的參數與指令的用法,盡量使用 command --help 的方式查詢,例如查看 date +%Y 輸出的結果,那個 %Y 的功能是什麼呢?
      [student@localhost ~]$ date --help
      
      輸出的結果往下一直查詢,你就可以看到 %Y 的說明了!
    3. 熟記 [ctrl]+c 來中斷某個程式的運作
      不知道做了什麼蠢事,就用 [ctrl]+c 來終止,例如下面的範例:
      [student@localhost ~]$ ll '/etc/ 
      >     <==這裡按下 [ctrl]+c 來中斷吧!
      
  2. 指令模式進行目錄觀察與建立
    1. 觀察檔名請用 ls 或 ll 來進行觀察,例如觀察家目錄下的檔名有哪些?
      [student@localhost ~]$ ll
      
      列出本目錄 (pwd) 之後,你會發現最頂端為斜線 (/),那就是根目錄,檢查根目錄下有哪些檔名?
      [student@localhost ~]$ pwd
      /home/student   (最左邊有 / )
      [student@localhost ~]$ ll /
      
      觀察到的檔名中,最左邊的字元,基本上有兩種檔案格式:
      • d 開頭:該檔名為目錄檔
      • - 開頭:該檔名為一般檔案

      例題:請上機使用指令查詢系統相關資訊後並回答下列問題:
      • 請問 /etc/hosts 是一般檔案還是目錄檔案?如何觀察?(你應該要觀察上一層檔名才對)
      • 請問 /var/spool/mail 是一般檔案還是目錄檔案?如何觀察
    2. 切換工作目錄可以使用『 cd 目錄 』來轉換,例如切換到 /dev/shm 目錄下,並列出該目錄名稱
      [student@localhost ~]$ cd /dev/shm
      [student@localhost shm]$ pwd
      
      例題:請實做後回答底下的問題:
      • 請問,那直接輸入 cd 而已,會跑去哪個目錄?
    3. 建立新目錄,可以使用『 mkdir 目錄名稱』,例如建立 /dev/shm/student 目錄
      [student@localhost ~]$ cd /dev/shm
      [student@localhost shm]$ pwd
      [student@localhost shm]$ mkdir student
      [student@localhost shm]$ ll   (你應該會看到有出現 student 檔名才對!)
      
  3. 檔案的建置與管理
    1. 檔案的複製,可以使用『 cp 來源檔 目的目錄 』來處理,例如,你要將 /etc/hosts 複製到 /dev/shm/student/ 目錄下, 該如何處理?
      # 1. 先確認有沒有存在 /dev/shm/student
      [student@localhost ~]$ cd /dev/shm
      [student@localhost shm]$ ll  (要確認存在,若不存在請 mkdir student 即可)
      [student@localhost shm]$ cd student
      [student@localhost student]$ 
      
      # 2. 將檔案複製過來 
      [student@localhost student]$ cp /etc/hosts .
      [student@localhost student]$ ll
      
      有幾個目錄很重要,先記憶一下:
      • /:根目錄,所有檔案的起源
      • .:本目錄的意思
      • ..:上一層目錄的意思
    2. 複製目錄得要使用 -a 或 -r 的選項,例如複製 /etc/sysconfig 到本目錄下的作法:
      # 1. 先確認 /etc/sysconfig 是檔案還是目錄
      [student@localhost student]$ ll -d /etc/sysconfig  (-d 很重要,只觀察目標而已!不列出內部檔名)
      [student@localhost student]$ cp /etc/sysconfig .
      [student@localhost student]$ cp -a /etc/sysconfig .
      [student@localhost student]$ ll
      
      因為我們使用一般帳號的身份,因此許多檔案複製可能有權限方面的問題,不要緊張!那是正常的!
    3. 檔案的刪除使用 rm 來刪除喔!不過如果要刪除目錄,得要加上 -r 的選項才行!
      # 1. 先確認 hosts 是存在的,然後刪除他
      [student@localhost student]$ ll hosts
      [student@localhost student]$ rm hosts
      
      # 2. 先確認 sysconfig 裡面存在 network-scripts,並且進入 sysconfig,嘗試刪除 network-scripts
      [student@localhost student]$ ll -d sysconfig
      [student@localhost student]$ cd sysconfig
      [student@localhost sysconfig]$ ll  (確認有沒有存在 network-scripts 吧!)
      [student@localhost sysconfig]$ rm network-scripts
      [student@localhost sysconfig]$ rm -r network-scripts
      
      觀察使用『 rm 目錄』與『 rm -r 目錄』的差別。
  4. vim 程式編輯器的使用
    1. 使用『 vim 檔名』就可以編輯檔案!例如再次複製 /etc/hosts 到 /dev/shm/student 之後, 使用 vim hosts 查看一下該檔案的內容:

      其實分為上下兩個部份,最下方那一行是目前的狀態列!這個分類請注意!
    2. vim 的操作模式:總共有三種模式,切換的方式如下:

      簡單的說:
      1. 你需要編輯了,按下 i 來打字 (最下方一行會顯示插入模式)
      2. 打字完成了,按下 [esc] 回到一般指令模式 (最下方一行的插入不見了)
      3. 要儲存了按下 :w 來寫入 (最下方一行顯示寫入了)
      4. 打字完成也儲存了,離開就按 :q 即可
    3. 練習一下:
      • 使用 vim 打開剛剛的 hosts 檔案
      • 在第一行新增一段文字『 welcome to my class 』
      • 儲存
      • 離開
      • 最終使用『 cat hosts 』看一下檔案內容, cat 不是貓,而是叫出檔案內容的指令

  5. 今日練習:
    1. 使用 date +%Y%d%m 找出今日的日期,同時找出 %Y, %d, %m 的意義為何?請將該意義寫入 student 家目錄底下,建立名為 ans.txt 的檔案中
    2. 回到 student 家目錄,建立上面找到的日期作為目錄
    3. 將 /etc/passwd /etc/group /etc/yum 等等,通通複製到剛剛的目錄下
    4. 請進入剛剛建立的目錄,然後觀察一下檔名是否已經存在了?
    5. 使用 vim 去修改 passwd 這個檔案,第一行加入你的名字,第二行加入你的學號,之後儲存離開
    6. 刪除該目錄下的 group 檔案
    7. 請按右上角的設定,去啟動網路
    8. 使用 ifconfig 這個指令,找出你的 IP 後,告訴老師你的 IP 號碼 (例如 172.16.8.8),老師會線上檢查你是否完成作業了!
Top
HOME