本課主要是介紹如何操作 Unix-like 的系統
以及介紹此系統中的常用指令
教學影片
注意:影片有高畫質 720P 的選項,可以看得更清楚喔!
重點提示
1. Command Line Interface 指的其實就是文字的指令輸入畫面
2. Putty 是一個常被用來跟遠端伺服器做連線的軟體
3. 輸入指令的地方,前面有一些文字。下面以例子說明每個位置的文字所代表的意思
user1234@shell:~$ mkdir
帳號名稱@機器名稱:所在位置$ 指令
因此,比對上面兩者後我們可以知道:帳號名稱 => user1234
機器名稱 => shell
所在位置 => ~ (家目錄)
指令 => mkdir (隨著使用者輸入而不同)
4. 「~」符號代表的是家目錄 (Home Directory),每一個帳號都會有自己的家目錄。
這個跟 Windows C 碟 (如果系統是灌在 C 碟的話)的 users 資料夾下
每個帳號都會有一個資料夾是一樣的意思
Unix-like 系統通常登入之後,都會從家目錄開始
5. 指令輸入的格式大致如下:
指令 -[選項] [參數]
特別注意選項前面必須要有減號,多個選項可以共用同一個減號如果選項要分開寫的話,每一組選項都要有一個減號
例如:
ls -a -l
6. 以下整理本課所介紹的指令與用途:
(a) ls:list directory contents 顯示所在資料夾內的檔案 (與資料夾)
-a 選項:顯示所有檔案 (含隱藏檔)
-l 選項: 以條列式的方式詳細列出檔案資訊
(b) pwd:print name of working directory 印出現在資料夾的名稱
(c) man:display the manual pages 顯示使用手冊
按 q 可以離開手冊
(d) mkdir:make directory 建立新資料夾
(e) cd:change directory 轉移所在位置
(f) vim:Vi IMproved 文字編輯器
按 i 之後,會進入寫入模式,左下角會出現 INSERT 的字樣
按 ECS 退出寫入模式
:w 存檔
:q 離開 vim
:wq 存檔且離開 vim
(g) cat:concatenate files and print on the standard output 印出檔案內容
(h) tac:concatenate and print files in reverse 倒過來印出檔案內容
(i) less:進入另一個畫面閱讀檔案內容
按 q 離開 less
(j) cp:copy files and directories 複製檔案或資料夾
-r 選項:複製資料夾 (遞迴複製)
(k) mv:move (rename) files 移動或重新命名檔案
(l) rm:remove files or directories 刪除檔案或資料夾
-r 選項:刪除資料夾 (遞迴刪除)
7. 路徑是以這種方式顯示,以下列例子說明:
/home/meow/food
這是一個路徑,它所代表的位置是:home 資料夾裡面的 meow 資料夾裡面的 food 資料夾
8. 從現在位置開始算起的路徑就是相對路徑
從根目錄 (/) 算起的就是絕對路徑
假設現在有一個資料夾位置是
/home/meow/food/test1
上面從「/」寫起的就是絕對路徑 假設我們現在在 meow 中
如果我們寫「food/test1」,就是相對路徑
因為我們是從現在所在的位置 (meow) 算起
9. 「.」代表現在所在的資料夾,「..」代表現在資料夾的上一個資料夾
10. 「*」代表所在位置的所有檔案與資料夾
11. tab 鍵可以幫你自動補完剩下的內容
不過要確定系統只用前面的字就能判別是哪個檔案
12. 上下鍵可以查看以前輸入過的指令
補充
Unix-like 系統
其實 Unix-like 系統可能很少人聽過,大多數人比較常聽到的應該是 Linux 系統。Linux 其實是由 Unix 延伸出來的系統,指令的部分幾乎是一模一樣。因此我們今天所學的這些指令也大多能直接套用於 Linux 系統上面。
詳細的故事可以參考底層的相關連結,Wiki 有更多資訊。如果想深入了解 Linux 系統的操作方式,可以到台灣著名的鳥哥網站學習。那邊有著全國最豐富的中文教學資訊。
檔案系統結構
Unix-like 系統的檔案結構與 Windows 非常不同。Windows 最上層是切割成一個又一個的硬碟,每個硬碟裡面又有各自的資料夾,而路徑的頂層就是磁碟代號,像是 C 碟、D 碟等等。Unix-like 則是整個系統是一個樹狀結構,所有的路徑都是從「/」開始算。而「/」又被稱為根目錄,就像整個系統是由一個樹的樹根所延伸出來的。
詳細的資訊可以到鳥哥的 Linux 教學查看,那邊有更仔細的說明
vim
vim 是 Unix-like 系統最常用的文字編輯器之一,它的前身是 vi 編輯器。vim 具有許多強大的功能,功能多到連我到現在都沒辦法全部掌握。今天所教的東西連皮毛都算不上,如果能夠掌握該編輯器,那以後在別人面前寫程式時,大家就會把你當神一般的對待。
練習
1. 登入 picoCTF 的 shell,分析看看自己的帳號名稱、機器名稱、所在位置等等資訊
2. 依照影片的內容嘗試看看各種指令
3. 試著依照下列步驟完成指令:
(a) 建立一個資料夾 parent
(b) 在 parent 裡面建立另一個資料夾 child
(c) 在 child 裡面開一個檔案 test.txt,輸入某些內容
(d) 把 child 資料夾複製到家目錄底下,並同時重新命名為 haha
(e) 打開 haha 裡面的檔案確認是否跟 test.txt 相同
(f) 刪除 parent 資料夾跟 haha 資料夾
4. 嘗試完成 picoCTF 2013 的 Grep is Your Friend 題目
相關資訊連結
維基百科 - 類 Unix 系統
http://zh.wikipedia.org/zh-tw/%E7%B1%BBUnix%E7%B3%BB%E7%BB%9F
鳥哥的 Linux 私房菜
http://linux.vbird.org/
鳥哥的 Linux 私房菜 - 第七章、Linux 檔案與目錄管理
http://linux.vbird.org/linux_basic/0220filemanager.php
Putty 下載點
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
沒有留言:
張貼留言