第 0 堂課 - 取得上課環境與初次操作 Linux 練習
上次更新日期 2021/09/11
- 0.1: 上課環境的說明
- 0.2: 初次接觸 Linux 系統
- 0.3: 課後練習
0.1: 上課環境的說明
其實有些事情要跟大家交待一下,否則,大家可能搞不清楚,為什麼學架站還得要從 Linux 作業系統教起呢?
- Linux, 伺服器, 網站架設, 網頁程式語言, 資料庫...什麼關係啊!
事實上,電腦硬體是最基本的項目!無論是實體機器 (PC) 或是虛擬機器 (網路上取得的假的、模擬的設備),都需要事先存在。存在機器之後, 再來則是安裝作業系統,作業系統安裝完畢之後,才進入架設網站軟體的流程,最終就是放上你的資料,這就是伺服器的整個處理流程。
- 要什麼要學 Linux ?
一般來說,網路伺服器大多使用 Linux 伺服器,然後在上面安裝動態網站系統 (包括 WWW 軟體、資料庫軟體、網頁程式語言,以及其他相關的網路服務等等),因此,你就得要有一部效能還不錯的 PC 硬體作為伺服器主機, 然後安裝好 Linux 作業系統,然後在連線到這部系統來操作。 - 為什麼要連上雲端學習 Linux?
考量到學校的經濟,以及硬體的可攜帶性,因此我們將這一部 PC 硬體放置在網際網路上 (雲端虛擬硬體), 然後事先幫你安裝好了 Linux 作業系統 (就是 CentOS Linux),你就可以在任何地方,透過上課所介紹的連接環境, 直接連線到雲系統上,就可以取得一個邏輯上可視為本機的一個 Linux 環境,就可以來學習伺服器架站。 - 為什麼有這門課程?
下學期你就要開始實做專題一,基本上,資傳系要求每個專題組需要有一部專題主機來展示各位的作品, 因此你需要有 (1)一部網頁伺服器、 (2)網頁伺服器最好能夠有提供資料庫、 (3)自製一個網頁平台,最好使用 bootstrap 搭配 PHP 來操作, 會又漂亮又好做。最終就是做出你所需要的專題內容。所以,這門課就顯得很重要,因為各位的專題都需要這樣的技術喔! - 能不能繪圖說明一下資料庫、網頁、網頁程式語言、javascript、PHP 等上面提到的資料的相關性?
那就請看白板上面的圖示說明吧!白板上面的專業技術,你會的有哪些?掌握住的又有哪些?這就是你應該要學習的部份了!
- 事前的準備動作
廢話少說,假設我們已經幫你作好了一部簡單的 Linux 系統,而且你的硬體也已經提供好了,接下來,就是準備進行開機的流程。 但是,不能讓其他人接觸到你這部機器,因此許多流程你應該得要知道的!
- 註冊:
請依據老師提供在白板上面的網址來註冊,請將網址抄寫下來筆記上,要注意,網址分為兩種, 上課在教室的網址與回家練習的網址不一樣,但是都是連結到同一台伺服器。註冊需要注意:- 請使用你的學號作為帳號,學號大小寫不拘,但請自行記憶
- 姓名請務必填寫正確姓名喔!上課要點名用的
- 等到註冊完畢送出之後,需要等待一段時間,讓老師啟動你的帳號後,才能夠開始使用系統。
- 軟體下載:
連線到雲端系統你需要一個名為 remote-viewer 的指令,這個指令是由 virt-manager 軟體所提供,所以你必須要安裝 virt-manager。 根據你的系統,安裝的軟體也不一樣喔:- Windows 版本:https://virt-manager.org/download/(選擇 Win_x64.MSI 即可)
- Windows 版本-全部:https://releases.pagure.org/virt-viewer/
- Windows 版本-建議 3.1:https://releases.pagure.org/virt-viewer/virt-viewer-x64-3.1.msi
- MAC (OSx)版本:https://www.spice-space.org/osx-client.html(按下 bundle 即可)
- 啟動與取得雲端虛擬機:
現在,我們即將來進行網路開機的流程囉!
- 登入:
登入雲端虛擬機網頁,點選『啟動與關閉』按鈕,在『課程硬碟名稱』選擇正確的硬碟, 之後按下『開啟機器』即可。此時雲端虛擬機器的 Linux 系統就在啟動當中。 - 連線:
透過『程式集』-->『VirtViewer』-->『Remote viewer』啟動,然後將上個頁面中的 spice:// 開頭的網址, 複製貼上此軟體,按下連線 (connect) 之後,就可以取得完整的 Linux 作業系統畫面了! - 操作注意事項:
- 滑鼠最好要在 remote viewer 的視窗上面,這樣打字輸入的時候,許多功能才不會被 windows 原生系統搶走
- 你不可以在 windows 與 Linux 之間互相剪貼資料,因為這是兩個獨立的系統,不可以混用。
- remote viewer 左上方的『View』可以切換成為全螢幕 (Full screen),要切換回來可以按下 [F11] 或者將滑鼠移動到螢幕正中央正上方, 就會出現取消全螢幕的按鈕了。
- 功能按鍵不能隨便輸入了,必須要到 remote viewer 左上方的『 Send key 』裡面選擇,這樣才可以進行切換。
- 若因為調整 windows 螢幕解析度,導致 remote viewer 畫面被調整,可以『View』--> 『zoom』-->『Normal Size』就可恢復正常大小。
- 盡量不要讓 windows 系統在中文輸入法的環境下
- 盡量不要開啟大寫燈號!
- 如果太久沒有運作此系統,再回來時,畫面會沒有反應,此時該如何處理?
- 注意老師說的防火牆的問題
- 注意,應該還是需要重新使用網頁敲擊『啟動/關閉』的事情
- 這不是當機!不要隨便關機!
- 『危險』:如果雲端系統確定是掛掉的情況,該如何強迫關機?
- 『危險』:如果你的系統不小心被自己弄壞了,因此需要 "復原" 到最新的環境時,該如何處理?
- remote-viewer 的相關操作:
- 要放大成為全螢幕,應該如何處理?
- 要縮放回原本的視窗畫面,又該如何處理?
- 要傳輸加入組合鍵 [ctrl]+[alt]+[del] 時,該如何處理?
- 你的滑鼠是否需要在 remote-viewer 這個軟體的視窗內?
0.2: 初次接觸 Linux 系統
進入 Linux 作業系統之後,就來操作一下這個系統吧!越早熟悉,我們未來會越輕鬆!
- 初次實際操作 Linux 作業系統:
- 如果畫面停頓太久,會有螢幕保護程式,壓住滑鼠向上滑動,就可以顯示出等待登入的畫面了!
- 在登入的畫面中,按下 student 後,就會出現要你輸入密碼 (password) 的方框,在方框輸入密碼『 mystdgo 』 就可以登入了!
- 用戶初次登入的設定:
- 先選擇語系,請選擇漢語台灣
- 依序輸入正確的資訊,最後就會跳出一個 help 的說明視窗,關閉他!就可以開始使用!
- 但是預設畫面是英文,因此你要你剛剛設定的中文界面生效,請按下右上方的三角形,找到 student 帳號,按下去,選擇『logout』按鈕,就可以登出了! 請注意,跟 windows 一樣,登出就是登出,不是關機!關機與登出不一樣!
- 再次使用 student 的帳密登入,視窗會問你要不要改檔名,請選擇『不要改』以及『不要再問我』,未來就不會有這個煩人的視窗。
- 預設 5 分鐘會進入螢幕保護模式,不過因為是虛擬機,不需要螢幕保護,因此請到『控制台』,選擇『電源』後,處理一下螢幕關閉的問題。
- 中文輸入法預設會怪怪的,請按右上方的 student 帳號,點選『設定值』,之後選擇『地區和語言』,按下『+』的符號新增輸入法, 選擇漢語 (Chewing) 就可以有注音輸入法了!
- 請到『鍵盤』去點選『快捷鍵』,選擇『切換到下一個輸入來源』,就可以處理你的輸入法切換問題。
- 請按下右上角,點選網路的相關資料,打開網路!(預設網路是關閉的!)
- 其他簡易操作:
- 嘗試啟動小算盤,試算一下有的沒有的
- 嘗試啟動瀏覽器,不過你必須要經過前一個練習的最後一題,才有網路可以用!自由瀏覽一下崑山的 WWW 以及 google 與 yahoo 看看。
- 嘗試按下左上角『位置』裡面選擇電腦,看看整體 Linux 系統的內容!然後熟悉一下 Linux 的圖形界面的檔案總管
- 在本系統的網頁上面,按下『啟動/關閉主機』之後,點選『關閉機器』強迫關機
- 在本系統的網頁上面,按下『課程磁碟復原』,並選擇剛剛關掉的硬碟名稱,並按下『還原』按鈕,進行系統還原
- 重新按下『啟動/關閉主機』的按鈕,重新啟動剛剛復原的硬碟。
- 請以 student 的帳號與密碼登入系統,登入之後請先選擇中文語系
- 登入完畢之後,請登出系統並重新登入,看看系統是否設定成為全中文模式 (注意要保留舊名稱)。
- 請處理電源管理模組,讓螢幕永遠是呈現為開啟的狀態
- 請查看你的網路界面是否有開啟?並且手動啟動、關閉各一次,最後啟動網路
- 設定你的輸入法,讓你的輸入法可以正常的以注音輸入法來處理
- 設定切換輸入法的組合按鍵,以你自己的習慣來設定。
- 啟動 firefox 瀏覽器,瀏覽一下本網頁,看看能不能正常的查閱課程資訊。
- 承上,將本課程網站設定為 firefox 的『書籤』頁面,方便未來連結之用。
- 打開『位置』的檔案總管資訊,查看一下底下的目錄,是否有些目錄會有問題產生?
- 桌面
- 電腦
- /root
- /home
- 指令操作模式:
在『應用程式』的『喜好』裡面打開『終端機』,這就可以取得一個文字的終端機界面。仔細觀察該界面的資料,有點像這樣:
[student@localhost ~]$
基本上就是『 [使用者操作的帳號@主機的名稱 目前的路徑]$ 』那個 $ 就是輸入指令的提示字元,目前只有 $ 符號,未來還有 # 符號! 未來要在這個界面打字,一定要在 $ 或 # 後面輸入才是指令!!很重要!很重要!
來輸入幾個簡單的指令,並查閱指令輸出的結果:
$ w 輸出目前有多少人在這個系統中,亦即 who 的縮寫 $ whoami 列出目前這個操作者的帳號名稱 $ date 輸出目前的日期與時間 $ ll 小寫的 L ,列出檔名 $ pwd 列出目前所在的目錄 $ cal 列出目前的月曆 $ exit 離開終端機界面
來進行幾個重要的練習:
- 先輸入 w 來查看使用者,有個名為 TTY 的欄位,那個是 Linux 提供的終端機界面號碼。
- 基本上,系統提供了 6 個終端機,組合按鍵為『 [ctrl]+[alt]+[F1~F6] 』
- F1 為 tty1,F2 為 tty2, F3 為 tty3 依此類推
- 你有登入圖形界面嘛?這個圖形界面也是一個終端機畫面,這個 X window 終端畫面稱為 :0
- 至於在 :0 上面啟動不需要輸入密碼的終端機畫面,該畫面就稱為 pts/N 囉 (虛擬終端機)
- 最後一個欄位,就是該用戶目前在操作的軟體,其中 bash 就是讓我們打字的那個界面。
- 承上,輸入組合按鍵,來到 tty2 之後,請開始登入文字界面終端機:(就是填入 A.帳號與 B.密碼)
- 在『 login: 』後面輸入帳號,因此,請輸入『 student ↵ 』
- 之後會跑出『 Password: 』等待你輸入密碼。請注意,輸入密碼時,並不會出現 *,所以你得要自己熟記輸入的密碼!鍵盤沒有壞掉!別擔心!
- 出現了提示字元之後,你就能夠再次使用 w 來查閱登入的用戶有誰!
- 輸入『 exit 』離開這次的登入
- 來到 tty1 ,看看你的圖形界面能否取回來。
- 輸入 date 查看一下目前的時間,但是出現了中文了。
- 如果我們需要產生英文的資料,可以『 LANG=C date 』
- 如果我們需要產生某些特別的日期格式,可以這樣『 date +%Y-%m-%d 』來產生特別的資料!
- 輸入 cal 查看一下月曆 (calendar),然後以底下的方式來查看某些特別的資料:
- cal -3
- cal 2018
- cal 12 2018
- cal 25 12 2018
- 輸入 ll (LL 的小寫),可以查看到當前工作目錄底下的檔名:
- 想像 ll 是 Windows 檔案總管,你在檔案總管的操作是 1)在畫面左側點選目錄 2)畫面右側出現該目錄下的檔名。
- 所以 ll 後面接的就是 1)目錄,而之後螢幕上輸出的就是 2)該目錄下的檔名。
- 剛剛打開 Windows 檔案總管時,螢幕會跑到『媒體櫃』或某個目錄,那就是預設的『工作目錄』
- 在 Linux 底下的預設工作目錄,則是你的『家目錄』!
- 在 Windows 底下的家目錄就是『 C:\使用者\你的帳號 』,在 Linux 預設的家目錄是『 /home/你的帳號/ 』
- 簡單的系統目錄樹疊帶概念:
Windows 本機:C:\使用者\student\ Linux /home/student
所以,windows 的本機就是 Linux 的根目錄 ( / ),特別注意 Linux 的 / 是很重要的!
- 承上,搭配 pwd (print work directory) 的指令來列出目前的工作目錄。
- 在 windows 檔案總管中,當你不知道目前的完整目錄名稱時,可以點選最上方的網址列,它就會告訴你完整的網址。
- 你可以想像 pwd 就是在點選該網址,讓她跑出正確的工作目錄之意。
- 承上,你可以使用『 cd 目錄 』來切換新的目錄
- 先輸入 pwd 看看目前的位置,同時查看目前的提示字元
- 輸入『 cd /etc 』查看提示字元,並輸入『 pwd 』看看工作目錄
- 輸入『 ll 』看看輸出結果跟剛剛有沒有不同
- 輸入『 cd /usr/local/etc 』看看提示字元有沒有不同
- 此時輸入『 pwd 』看看有沒有不同?
- 此時輸入『 ll 』看看有沒有不同
- 最後輸入『 cd 』看看提示字元,然後『 pwd 』看看工作目錄。
- 輸入 exit 看看有沒有關掉終端機。然後重新執行終端機。然後
- 輸入『 history 』有沒有出現剛剛輸入的指令,同時注意,每個指令前都會有號碼喔
- 找到剛剛執行『 cd /usr/local/etc 』那串指令的號碼
- 按下『 !號碼 』之後,看看螢幕的輸出結果
- 輸入『 pwd 』看看目前工作目錄在哪裡?
- 輸入『 cd 』看看回到哪裡了?
- 出入『 history 10 』看看輸出什麼?
最重要的是最後一個指令,在這種終端機界面,請千萬不要按下視窗右上方的 X!盡量讓系統正確的結束比較好喔! 而結束這個界面的正常指令就是『 exit 』或『 logout 』囉!
- 身份切換使用 su -
幾個重點說明一下:
- Linux 是多人多工的環境,所以你會有很多的帳號在系統上面,所以正常營運下的 Linux 伺服器,關機得要通知所有線上的使用者才行!
- 操作系統使用一般權限的一般用戶,但如果需要管理系統,就需要用到系統管理員 root 這個帳號!
- 在 student 的環境下,使用 su - ,然後輸入 root 的密碼 ( myCentOS8 ),就可以切換成為 root 的權限了!
- 正確切換後,就會出現『 [root@localhost ~]# 』的畫面!
- 使用下列指令,查閱跟剛剛 student 用戶執行有何差別?
$ w 輸出目前有多少人在這個系統中,亦即 who 的縮寫 $ whoami 列出目前這個操作者的帳號名稱 $ ll 小寫的 L ,列出檔名 $ pwd 列出目前所在的目錄
- 要離開 root 時,依舊使用 exit 來離開 root 身份,變回 student 身份。
- 系統關機
- 可以點選圖形界面右上方的關機項目
- 使用 root 或在本機使用任何帳號,在終端機輸入『 poweroff 』即可立即關機
0.3: 課後練習
請撰寫一個 word 檔案,檔名為:『 unit00-A050cxxx-你的名字.docx 』,內容回答下列問題,然後每週作業上傳到對應的 EP 上面去:
- 虛擬機器取得 Linux 的連線之後,觀察軟體使用的問題:
- 連線到虛擬機的軟體為 virt-viewer 的 remote-viewer 指令,請問該指令透過的是那一種通訊協定 (XXXX://那個 XXXX 是啥?)
- 在 remote-viewer 最上方的『檢視 (View)』當中,有個 Full Screen 的按鈕,該按鈕可以使用哪一個功能鍵取代?
- 如果想要在虛擬機按下 [ctrl]+[alt]+[F3] 時,應該如何操作?
- 繪製出上課講的 Server, Web service, web language, browser, browser language, html, database 之間的相關性。
- Linux 圖形界面的簡易操作:
- 如何關閉螢幕保護功能?寫下整個操作的流程順序
- 如何載入酷音輸入法?寫下整個操作的流程順序
- 如何瀏覽本機硬碟的 /var/spool/mail 目錄?寫下整個操作的流程順序
- 關於終端機的各項資料:
- 今天操作的過程中,你動用到哪些帳號?寫下帳號名稱
- 今天操作的哪個指令可以看到目前在系統上面登入的所有帳號?
- 操作指令的前面一個提示字元中,出現『 $ 』與『 # 』的差別分別是什麼?
- 那一個指令可以列出當下目錄的名稱 (印出工作目錄的意思)
- 那一個指令可以列出檔名資料
- 那一個指令搭配選項可以切換身份?
- 那一個指令可以登出呢?
- 那一個指令可以關機呢?
- 如何切換到不同的終端機畫面?(寫下組合按鍵)
- 哪一個指令可以讓你看到曾經輸入過的歷史命令
同場加映:不用上傳的資料,請 google 一下打字時,手指與鍵盤指法的對應,然後自由練習底下的資訊:
- 小寫的 a~z (abcdefg...xyz) ,共打 10 次
- 小寫的 0~9,a~z (012..89abcdefg...xyz) ,共打 10 次
- 不要啟動大寫燈,用組合按鍵輸入 A-Z (ABCD...XYZ),共 10 次
每天上課各練一次,最慢 10 天,你的打字就會嚇嚇叫了!