2014年9月4日 星期四

小山的資安教學 - Unix-like 系統操作基礎

本課簡介

本課主要是介紹如何操作 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

沒有留言:

張貼留言