PPT - 中央大學網路開源社

Download Report

Transcript PPT - 中央大學網路開源社

Unix Command
CSIE 基爾 @ NCU網路開源社
Updated: 10262013
About Me
• Kir
• NCU CSIE
• NCU Computer Center
• Network Management
• Host Management
• Systems Engineering
課程
• 相關學分:計算機概論、編譯器、作業系統
• 等級:入門
• 背景知識:
• 課程目標:
•
•
•
•
了解目錄概念
了解作業系統指令
FreeBSD基本操作介紹
實際操作FreeBSD作業系統
Basic Concept
指令基本概念
• 使用者要操作電腦,其實是由指令所構成的。
• 每個動作都是一堆「指令」所完成,即使是在windows也一樣
命令
使用者
硬體
CPU
指令集
Windows
的命令
命令怎麼執行的?
• 作業系統底下的命令分成兩種。
• 程式
• 一個最低階的作業系統原生指令
• 執行檔
• 在/bin這個目錄底下
• 原始碼
• Google it
• linux 開發者原始碼包
Example
source code
[whoami]
進階:Assembler in linux
• Compiler
$ gcc [source code] –o [execute filename]
• Objdump
$ objdump –s –o [execute filename]
進階
執
行
檔
原
始
碼
組
語
目錄概念
目錄
• 使用沒有圖形化介面的作業系統
• 會是在各個目錄(資料夾)上轉換的行為
• 口語上來說就是【某某目錄轉換到某某目錄】
• 轉換目錄的方式有兩種
• 1. 相對路徑轉換
• 2. 絕對路徑轉換
(*´∀`)<:別懷疑這是國中物理
(ノ° ロ°)ノ彡┻━┻
相對路徑轉換
• 相對路徑
• 目錄或檔案相對於當前目錄的位子
• 假設你在conf這個目錄底下
• 【其他目錄】相對於【conf目錄】的位置
13
絕對路徑轉換
• 絕對路徑
• 目錄或檔案相對於根目錄的位子
• 不論你在哪個目錄底下
• 【其他目錄】相對於【根目錄】的位置
14
常用路徑轉換
路徑
.
..
~
./ [filename]
../ [filename]
./ [dir] /
意義
這一個目錄
上一個目錄
家目錄
這一個目錄底下的某個檔案
上一個目錄底下的某個檔案
這一個目錄底下的某個目錄
Basic Command
指令長怎麼樣?
不論是在作業系統、switch等網路設備、甚至是組合語言,
指令都有各自的標準。
指令
指令 [參數]
指令 [目標]
指令 [參數] [目標] [參數]
$ ls
$ ls –a
$ ls –a /etc
$ ls –a /etc –l /var
Example
cd 或 chdir
• Change directory
• 用途:目錄操作
pwd
• Print working directory
• 用途:目錄操作
#切換至/etc目錄
$ cd /etc
#印出自己所在位置
$ pwd
/etc
#切換至家目錄
$ chdir ~
#再印一次所在位置
$ pwd
/root
ls
• List
• 用途:目錄操作
• 常見參數:-al
#切換至/etc目錄
$ cd /etc
#印出目錄底下資訊
$ ls
#印出所有資訊
$ ls –al
#切換至家目錄
$ chdir ~
man 或 info
• Manual | information
• 用途:指令說明書
ctrl+c 跟 ctrl+z
• 用途:中斷
#查看man這個指令的用途
$ man man
#中斷查詢
Ctrl + z
who 跟 whoami
• 用途:使用者管理
#查看線上有誰
$ who
#查看自己是誰
Ctrl + z
Alt + F1~F8
• 用途:終端切換
(゚∀゚)<:Unix本身就是設計給多使用者同時操作的
whereis 跟 find
• 用途:套件操作
• Find常見關鍵字:-name
#找ls這指令程式在哪
$ whereis ls
#搜尋/bin目錄底下內容
$ find /bin
#搜尋/bin底下關鍵字ls
$ find /bin –name “ls”
cat 跟 tail 跟 head
• 用途:檔案操作
#印出/var/log/message裡
面的內容
$ cat /var/log/message
Ctrl + c
$ tail /var/log/message
Ctrl + c
$ head /var/log/message
Ctrl + c
mkdir 跟 touch
• 用途:檔案操作
#切換回家目錄
$ cd ~
#新增資料夾dir1跟dir2
$ mkdir dir1
$ mkdir dir2
#進入資料夾dir1
$ cd dir1
#新增檔案file1跟file2
$ touch file1
$ touch file2
mv 跟 cp 跟 rm
• Move | Copy | Remove
• 用途:檔案操作
• 常見參數:-R
#切換回家目錄
$ cd ~
#搬動dir1中的file1至dir2
$ mv dir1/file1 dir2
#複製dir2中的file1成file3
$ cp dir2/file1 dir2/file3
#複製dir2資料夾到dir1下
$ cp –R dir2 dir1/
#刪除dir2資料夾
$ rm –R dir2
logout 跟 exit
• 用途:系統操作
halt 跟 reboot
• 用途:系統操作
#登出
$ logout
#關機
$ halt
#重開機
$ reboot
Advance Command
進階:重新導向 (>跟>>)
• 透過重導向將output導到其他input
連續指令 ( ; )
• 指令其實是可以一次下很多個
• 跟寫程式一樣,加個分號就好
#切換回家目錄
$ cd ~
#新增一個資料夾dir2
並且新增一個檔案file4
$ mkdir dir2; touch file4
Pipe指令 ( | )
• 指令可以串流
• 前個指令產生的output
• 作為下個指令的input
#切換回家目錄
$ cd ~
#新增一個檔案file5
將新增的檔案複製成file6
$ touch file5 | cp file5 file6
more 跟 less
• 用途:查看檔案
grep
• 用途:查看檔案
• 常見參數:關鍵字串
#用more查看記錄檔
$ cat /var/log/message | more
#查看記錄檔中十一月的紀錄
$ cat /var/log/message | grep ‘Nov’