Linux伺服器 Linux伺服器

伺服器建置實務上課教材

伺服器建置實務 > 課程內容 > 第 0 堂課 - 取得上課環境與初次操作 Linux 練習

第 0 堂課 - 取得上課環境與初次操作 Linux 練習

上次更新日期 2018/10/01
在業界,習慣上還是會使用到 Linux server 作為一個簡單的伺服器,而目前因為網路上的虛擬機器盛行,因此未來你的公司,很可能是會使用虛擬機器搭建伺服器! 如此一來,就無須機房的管理了。我們這門課為了讓大家能夠快速的進入狀況,希望大家可以持續學習,因此使用雲端虛擬機器來讓大家學習! 請上往取得 Linux 伺服器的環境吧!
  • 0.1: 上課環境的說明
  • 0.2: 初次接觸 Linux 系統
  • 0.3: 課後練習

0.1: 上課環境的說明

其實有些事情要跟大家交待一下,否則,大家可能搞不清楚,為什麼學架站還得要從 Linux 作業系統教起呢?

  • Linux, 伺服器, 網站架設, 網頁程式語言, 資料庫...什麼關係啊!

事實上,電腦硬體是最基本的項目!無論是實體機器 (PC) 或是虛擬機器 (網路上取得的假的、模擬的設備),都需要事先存在。存在機器之後, 再來則是安裝作業系統,作業系統安裝完畢之後,才進入架設網站軟體的流程,最終就是放上你的資料,這就是伺服器的整個處理流程。

  1. 要什麼要學 Linux ?
    一般來說,網路伺服器大多使用 Linux 伺服器,然後在上面安裝動態網站系統 (包括 WWW 軟體、資料庫軟體、網頁程式語言,以及其他相關的網路服務等等),因此,你就得要有一部效能還不錯的 PC 硬體作為伺服器主機, 然後安裝好 Linux 作業系統,然後在連線到這部系統來操作。
  2. 為什麼要連上雲端學習 Linux?
    考量到學校的經濟,以及硬體的可攜帶性,因此我們將這一部 PC 硬體放置在網際網路上 (雲端虛擬硬體), 然後事先幫你安裝好了 Linux 作業系統 (就是 CentOS Linux),你就可以在任何地方,透過上課所介紹的連接環境, 直接連線到雲系統上,就可以取得一個邏輯上可視為本機的一個 Linux 環境,就可以來學習伺服器架站。
  3. 為什麼有這門課程?
    下學期你就要開始實做專題一,基本上,資傳系要求每個專題組需要有一部專題主機來展示各位的作品, 因此你需要有 (1)一部網頁伺服器、 (2)網頁伺服器最好能夠有提供資料庫、 (3)自製一個網頁平台,最好使用 bootstrap 搭配 PHP 來操作, 會又漂亮又好做。最終就是做出你所需要的專題內容。所以,這門課就顯得很重要,因為各位的專題都需要這樣的技術喔!
  4. 能不能繪圖說明一下資料庫、網頁、網頁程式語言、javascript、PHP 等上面提到的資料的相關性?
    那就請看白板上面的圖示說明吧!白板上面的專業技術,你會的有哪些?掌握住的又有哪些?這就是你應該要學習的部份了!
  • 事前的準備動作

廢話少說,假設我們已經幫你作好了一部簡單的 Linux 系統,而且你的硬體也已經提供好了,接下來,就是準備進行開機的流程。 但是,不能讓其他人接觸到你這部機器,因此許多流程你應該得要知道的!

  1. 註冊:
    請依據老師提供在白板上面的網址來註冊,請將網址抄寫下來筆記上,要注意,網址分為兩種, 上課在教室的網址與回家練習的網址不一樣,但是都是連結到同一台伺服器。註冊需要注意:
    • 請使用你的學號作為帳號,學號大小寫不拘,但請自行記憶
    • 姓名請務必填寫正確姓名喔!上課要點名用的
    • 等到註冊完畢送出之後,需要等待一段時間,讓老師啟動你的帳號後,才能夠開始使用系統。
  2. 軟體下載:
    連線到雲端系統你需要一個名為 remote-viewer 的指令,這個指令是由 virt-manager 軟體所提供,所以你必須要安裝 virt-manager。 根據你的系統,安裝的軟體也不一樣喔: 在資傳系就不需要上述的動作,但在自己家裡面的環境就需要這些動作。安裝完畢後,到『開始程式集』找到『VirtViewer』的目錄, 裡面的『Remote Viewer』啟動他就對了!
現在,請立刻使用剛剛老師上課講的方式,進行註冊的流程!並且等待老師啟動你的帳號。 如果有任何問題,請立刻提出來討論!
  • 啟動與取得雲端虛擬機:

現在,我們即將來進行網路開機的流程囉!

  1. 登入:
    登入雲端虛擬機網頁,點選『啟動與關閉』按鈕,在『課程硬碟名稱』選擇正確的硬碟, 之後按下『開啟機器』即可。此時雲端虛擬機器的 Linux 系統就在啟動當中。
  2. 連線:
    透過『程式集』-->『VirtViewer』-->『Remote viewer』啟動,然後將上個頁面中的 spice:// 開頭的網址, 複製貼上此軟體,按下連線 (connect) 之後,就可以取得完整的 Linux 作業系統畫面了!
  3. 操作注意事項:
    • 滑鼠最好要在 remote viewer 的視窗上面,這樣打字輸入的時候,許多功能才不會被 windows 原生系統搶走
    • 你不可以在 windows 與 Linux 之間互相剪貼資料,因為這是兩個獨立的系統,不可以混用。
    • remote viewer 左上方的『View』可以切換成為全螢幕 (Full screen),要切換回來可以按下 [F11] 或者將滑鼠移動到螢幕正中央正上方, 就會出現取消全螢幕的按鈕了。
    • 功能按鍵不能隨便輸入了,必須要到 remote viewer 左上方的『 Send key 』裡面選擇,這樣才可以進行切換。
    • 若因為調整 windows 螢幕解析度,導致 remote viewer 畫面被調整,可以『View』--> 『zoom』-->『Normal Size』就可恢復正常大小。
    • 盡量不要讓 windows 系統在中文輸入法的環境下
    • 盡量不要開啟大寫燈號!
回答下列幾個問題,在操作本雲端系統時可能會產生的疑問:
  1. 如果太久沒有運作此系統,再回來時,畫面會沒有反應,此時該如何處理?
    • 注意老師說的防火牆的問題
    • 注意,應該還是需要重新使用網頁敲擊『啟動/關閉』的事情
    • 這不是當機!不要隨便關機!
  2. 『危險』:如果雲端系統確定是掛掉的情況,該如何強迫關機?
  3. 『危險』:如果你的系統不小心被自己弄壞了,因此需要 "復原" 到最新的環境時,該如何處理?
  4. remote-viewer 的相關操作:
    1. 要放大成為全螢幕,應該如何處理?
    2. 要縮放回原本的視窗畫面,又該如何處理?
    3. 要傳輸加入組合鍵 [ctrl]+[alt]+[del] 時,該如何處理?
    4. 你的滑鼠是否需要在 remote-viewer 這個軟體的視窗內?

0.2: 初次接觸 Linux 系統

進入 Linux 作業系統之後,就來操作一下這個系統吧!越早熟悉,我們未來會越輕鬆!

  • 初次實際操作 Linux 作業系統:
  1. 如果畫面停頓太久,會有螢幕保護程式,壓住滑鼠向上滑動,就可以顯示出等待登入的畫面了!
  2. 在登入的畫面中,按下 student 後,就會出現要你輸入密碼 (password) 的方框,在方框輸入密碼『 student@linux 』 就可以登入了!
  3. 用戶初次登入的設定:
    • 先選擇語系,請選擇漢語台灣
    • 依序輸入正確的資訊,最後就會跳出一個 help 的說明視窗,關閉他!就可以開始使用!
    • 但是預設畫面是英文,因此你要你剛剛設定的中文界面生效,請按下右上方的三角形,找到 student 帳號,按下去,選擇『logout』按鈕,就可以登出了! 請注意,跟 windows 一樣,登出就是登出,不是關機!關機與登出不一樣!
    • 再次使用 student 的帳密登入,視窗會問你要不要改檔名,請選擇『不要改』以及『不要再問我』,未來就不會有這個煩人的視窗。
  4. 預設 5 分鐘會進入螢幕保護模式,不過因為是虛擬機,不需要螢幕保護,因此請到『控制台』,選擇『電源』後,處理一下螢幕關閉的問題。
  5. 中文輸入法預設會怪怪的,請按右上方的 student 帳號,點選『設定值』,之後選擇『地區和語言』,按下『+』的符號新增輸入法, 選擇漢語 (Chewing) 就可以有注音輸入法了!
  6. 請到『鍵盤』去點選『快捷鍵』,選擇『切換到下一個輸入來源』,就可以處理你的輸入法切換問題。
  7. 請按下右上角,點選網路的相關資料,打開網路!(預設網路是關閉的!)
  • 其他簡易操作:
  1. 嘗試啟動小算盤,試算一下有的沒有的
  2. 嘗試啟動瀏覽器,不過你必須要經過前一個練習的最後一題,才有網路可以用!自由瀏覽一下崑山的 WWW 以及 google 與 yahoo 看看。
  3. 嘗試按下左上角『位置』裡面選擇電腦,看看整體 Linux 系統的內容!然後熟悉一下 Linux 的圖形界面的檔案總管
請進行底下的破壞性工作:
  1. 在本系統的網頁上面,按下『啟動/關閉主機』之後,點選『關閉機器』強迫關機
  2. 在本系統的網頁上面,按下『課程磁碟復原』,並選擇剛剛關掉的硬碟名稱,並按下『還原』按鈕,進行系統還原
  3. 重新按下『啟動/關閉主機』的按鈕,重新啟動剛剛復原的硬碟。
完成上述的動作之後,請進行底下的圖形界面的操作行為:
  1. 請以 student 的帳號與密碼登入系統,登入之後請先選擇中文語系
  2. 登入完畢之後,請登出系統並重新登入,看看系統是否設定成為全中文模式 (注意要保留舊名稱)。
  3. 請處理電源管理模組,讓螢幕永遠是呈現為開啟的狀態
  4. 請查看你的網路界面是否有開啟?並且手動啟動、關閉各一次,最後啟動網路
  5. 設定你的輸入法,讓你的輸入法可以正常的以注音輸入法來處理
  6. 設定切換輸入法的組合按鍵,以你自己的習慣來設定。
  7. 啟動 firefox 瀏覽器,瀏覽一下本網頁,看看能不能正常的查閱課程資訊。
  8. 承上,將本課程網站設定為 firefox 的『書籤』頁面,方便未來連結之用。
  9. 打開『位置』的檔案總管資訊,查看一下底下的目錄,是否有些目錄會有問題產生?
    • 桌面
    • 電腦
    • /root
    • /home
  • 指令操作模式:

在『應用程式』的『喜好』裡面打開『終端機』,這就可以取得一個文字的終端機界面。仔細觀察該界面的資料,有點像這樣:

[student@localhost ~]$  

基本上就是『 [使用者操作的帳號@主機的名稱 目前的路徑]$ 』那個 $ 就是輸入指令的提示字元,目前只有 $ 符號,未來還有 # 符號! 未來要在這個界面打字,一定要在 $ 或 # 後面輸入才是指令!!很重要!很重要!

來輸入幾個簡單的指令,並查閱指令輸出的結果:

$ w		輸出目前有多少人在這個系統中,亦即 who 的縮寫
$ whoami 	列出目前這個操作者的帳號名稱
$ date		輸出目前的日期與時間
$ ll		小寫的 L ,列出檔名
$ pwd		列出目前所在的目錄
$ cal		列出目前的月曆
$ exit		離開終端機界面

來進行幾個重要的練習:

  1. 先輸入 w 來查看使用者,有個名為 TTY 的欄位,那個是 Linux 提供的終端機界面號碼。
    • 基本上,系統提供了 6 個終端機,組合按鍵為『 [ctrl]+[alt]+[F1~F6] 』
    • F1 為 tty1,F2 為 tty2, F3 為 tty3 依此類推
    • 你有登入圖形界面嘛?這個圖形界面也是一個終端機畫面,這個 X window 終端畫面稱為 :0
    • 至於在 :0 上面啟動不需要輸入密碼的終端機畫面,該畫面就稱為 pts/N 囉 (虛擬終端機)
    • 最後一個欄位,就是該用戶目前在操作的軟體,其中 bash 就是讓我們打字的那個界面。
  2. 承上,輸入組合按鍵,來到 tty2 之後,請開始登入文字界面終端機:(就是填入 A.帳號與 B.密碼)
    • 在『 login: 』後面輸入帳號,因此,請輸入『 student ↵ 』
    • 之後會跑出『 Password: 』等待你輸入密碼。請注意,輸入密碼時,並不會出現 *,所以你得要自己熟記輸入的密碼!鍵盤沒有壞掉!別擔心!
    • 出現了提示字元之後,你就能夠再次使用 w 來查閱登入的用戶有誰!
    • 輸入『 exit 』離開這次的登入
    • 來到 tty1 ,看看你的圖形界面能否取回來。
  3. 輸入 date 查看一下目前的時間,但是出現了中文了。
    • 如果我們需要產生英文的資料,可以『 LANG=C date 』
    • 如果我們需要產生某些特別的日期格式,可以這樣『 date +%Y-%m-%d 』來產生特別的資料!
  4. 輸入 cal 查看一下月曆 (calendar),然後以底下的方式來查看某些特別的資料:
    • cal -3
    • cal 2018
    • cal 12 2018
    • cal 25 12 2018
    基本上,cal 後面接的就是『日、月、年』,輸入時要注意:一定要有年才能有月,一定要有年月才能有日!
  5. 輸入 ll (LL 的小寫),可以查看到當前工作目錄底下的檔名:
    • 想像 ll 是 Windows 檔案總管,你在檔案總管的操作是 1)在畫面左側點選目錄 2)畫面右側出現該目錄下的檔名。
    • 所以 ll 後面接的就是 1)目錄,而之後螢幕上輸出的就是 2)該目錄下的檔名。
    • 剛剛打開 Windows 檔案總管時,螢幕會跑到『媒體櫃』或某個目錄,那就是預設的『工作目錄』
    • 在 Linux 底下的預設工作目錄,則是你的『家目錄』!
    • 在 Windows 底下的家目錄就是『 C:\使用者\你的帳號 』,在 Linux 預設的家目錄是『 /home/你的帳號/ 』
    • 簡單的系統目錄樹疊帶概念:
      Windows 本機:C:\使用者\student\ 
      Linux   /home/student
      
      所以,windows 的本機就是 Linux 的根目錄 ( / ),特別注意 Linux 的 / 是很重要的!
  6. 承上,搭配 pwd (print work directory) 的指令來列出目前的工作目錄。
    • 在 windows 檔案總管中,當你不知道目前的完整目錄名稱時,可以點選最上方的網址列,它就會告訴你完整的網址。
    • 你可以想像 pwd 就是在點選該網址,讓她跑出正確的工作目錄之意。
  7. 承上,你可以使用『 cd 目錄 』來切換新的目錄
    • 先輸入 pwd 看看目前的位置,同時查看目前的提示字元
    • 輸入『 cd /etc 』查看提示字元,並輸入『 pwd 』看看工作目錄
    • 輸入『 ll 』看看輸出結果跟剛剛有沒有不同
    • 輸入『 cd /usr/local/etc 』看看提示字元有沒有不同
    • 此時輸入『 pwd 』看看有沒有不同?
    • 此時輸入『 ll 』看看有沒有不同
    • 最後輸入『 cd 』看看提示字元,然後『 pwd 』看看工作目錄。
  8. 輸入 exit 看看有沒有關掉終端機。然後重新執行終端機。然後
    • 輸入『 history 』有沒有出現剛剛輸入的指令,同時注意,每個指令前都會有號碼喔
    • 找到剛剛執行『 cd /usr/local/etc 』那串指令的號碼
    • 按下『 !號碼 』之後,看看螢幕的輸出結果
    • 輸入『 pwd 』看看目前工作目錄在哪裡?
    • 輸入『 cd 』看看回到哪裡了?
    • 出入『 history 10 』看看輸出什麼?

最重要的是最後一個指令,在這種終端機界面,請千萬不要按下視窗右上方的 X!盡量讓系統正確的結束比較好喔! 而結束這個界面的正常指令就是『 exit 』或『 logout 』囉!

  • 身份切換使用 su -

幾個重點說明一下:

  1. Linux 是多人多工的環境,所以你會有很多的帳號在系統上面,所以正常營運下的 Linux 伺服器,關機得要通知所有線上的使用者才行!
  2. 操作系統使用一般權限的一般用戶,但如果需要管理系統,就需要用到系統管理員 root 這個帳號!
  3. 在 student 的環境下,使用 su - ,然後輸入 root 的密碼 (老師會寫在白板上,請抄寫下來),就可以切換成為 root 的權限了!
  4. 正確切換後,就會出現『 [root@localhost ~]# 』的畫面!
  5. 使用下列指令,查閱跟剛剛 student 用戶執行有何差別?
    $ w		輸出目前有多少人在這個系統中,亦即 who 的縮寫
    $ whoami 	列出目前這個操作者的帳號名稱
    $ ll		小寫的 L ,列出檔名
    $ pwd		列出目前所在的目錄
    
  6. 要離開 root 時,依舊使用 exit 來離開 root 身份,變回 student 身份。
  • 系統關機
  1. 可以點選圖形界面右上方的關機項目
  2. 使用 root 或在本機使用任何帳號,在終端機輸入『 poweroff 』即可立即關機

0.3: 課後練習

請撰寫一個 word 檔案,檔名為:『 unit00-A050cxxx-你的名字.docx 』,內容回答下列問題,然後每週作業上傳到對應的 EP 上面去:

  1. 虛擬機器取得 Linux 的連線之後,觀察軟體使用的問題:
    1. 連線到虛擬機的軟體為 virt-viewer 的 remote-viewer 指令,請問該指令透過的是那一種通訊協定 (XXXX://那個 XXXX 是啥?)
    2. 在 remote-viewer 最上方的『檢視 (View)』當中,有個 Full Screen 的按鈕,該按鈕可以使用哪一個功能鍵取代?
    3. 如果想要在虛擬機按下 [ctrl]+[alt]+[F3] 時,應該如何操作?
  2. 繪製出上課講的 Server, Web service, web language, browser, browser language, html, database 之間的相關性。
  3. Linux 圖形界面的簡易操作:
    1. 如何關閉螢幕保護功能?寫下整個操作的流程順序
    2. 如何載入酷音輸入法?寫下整個操作的流程順序
    3. 如何瀏覽本機硬碟的 /var/spool/mail 目錄?寫下整個操作的流程順序
  4. 關於終端機的各項資料:
    1. 今天操作的過程中,你動用到哪些帳號?寫下帳號名稱
    2. 今天操作的哪個指令可以看到目前在系統上面登入的所有帳號?
    3. 操作指令的前面一個提示字元中,出現『 $ 』與『 # 』的差別分別是什麼?
    4. 那一個指令可以列出當下目錄的名稱 (印出工作目錄的意思)
    5. 那一個指令可以列出檔名資料
    6. 那一個指令搭配選項可以切換身份?
    7. 那一個指令可以登出呢?
    8. 那一個指令可以關機呢?
    9. 如何切換到不同的終端機畫面?(寫下組合按鍵)
    10. 哪一個指令可以讓你看到曾經輸入過的歷史命令

同場加映:不用上傳的資料,請 google 一下打字時,手指與鍵盤指法的對應,然後自由練習底下的資訊:

  • 小寫的 a~z (abcdefg...xyz) ,共打 10 次
  • 小寫的 0~9,a~z (012..89abcdefg...xyz) ,共打 10 次
  • 不要啟動大寫燈,用組合按鍵輸入 A-Z (ABCD...XYZ),共 10 次

每天上課各練一次,最慢 10 天,你的打字就會嚇嚇叫了!