31
Unix Command CSIE 基爾 @ NCU網路開源社 Updated: 10262013

Ch3 basic command(2013 ncu-nos_nm)

  • Upload
    -chou

  • View
    114

  • Download
    6

Embed Size (px)

Citation preview

Page 1: Ch3   basic  command(2013 ncu-nos_nm)

Unix Command

CSIE 基爾 @ NCU網路開源社

Updated: 10262013

Page 2: Ch3   basic  command(2013 ncu-nos_nm)

課程

• 相關學分:計算機概論、編譯器、作業系統

• 等級:入門

• 背景知識:

• 課程目標:• 了解目錄概念

• 了解作業系統指令

• FreeBSD基本操作介紹

• 實際操作FreeBSD作業系統

Page 3: Ch3   basic  command(2013 ncu-nos_nm)

Basic Concept

Page 4: Ch3   basic  command(2013 ncu-nos_nm)

• 使用者要操作電腦,其實是由指令所構成的。

• 每個動作都是一堆「指令」所完成,即使是在windows也一樣

硬體

指令基本概念

命令CPU

指令集使用者

Page 5: Ch3   basic  command(2013 ncu-nos_nm)

Windows的命令

Page 6: Ch3   basic  command(2013 ncu-nos_nm)

命令怎麼執行的?

• 作業系統底下的命令分成兩種。

• 程式

• 一個最低階的作業系統原生指令

• 執行檔

• 在/bin這個目錄底下

• 原始碼• Google it

• linux 開發者原始碼包

Page 7: Ch3   basic  command(2013 ncu-nos_nm)

Example source code [whoami]

Page 8: Ch3   basic  command(2013 ncu-nos_nm)

進階:Assembler in linux

• Compiler

• Objdump

$ gcc [source code] –o [execute filename]

$ objdump –s –o [execute filename]

Page 9: Ch3   basic  command(2013 ncu-nos_nm)

進階

執行檔

原始碼

組語

Page 10: Ch3   basic  command(2013 ncu-nos_nm)

目錄概念

Page 11: Ch3   basic  command(2013 ncu-nos_nm)

目錄

• 使用沒有圖形化介面的作業系統

• 會是在各個目錄(資料夾)上轉換的行為

• 口語上來說就是【某某目錄轉換到某某目錄】

• 轉換目錄的方式有兩種

• 1. 相對路徑轉換• 2. 絕對路徑轉換

(*´∀`)<:別懷疑這是國中物理(ノ° ロ°)ノ彡┻━┻

Page 12: Ch3   basic  command(2013 ncu-nos_nm)

相對路徑轉換

12

• 相對路徑• 目錄或檔案相對於當前目錄的位子

• 假設你在conf這個目錄底下• 【其他目錄】相對於【conf目錄】的位置

Page 13: Ch3   basic  command(2013 ncu-nos_nm)

絕對路徑轉換

13

• 絕對路徑• 目錄或檔案相對於根目錄的位子

• 不論你在哪個目錄底下• 【其他目錄】相對於【根目錄】的位置

Page 14: Ch3   basic  command(2013 ncu-nos_nm)

常用路徑轉換

路徑 意義

. 這一個目錄

.. 上一個目錄

~ 家目錄

./ [filename] 這一個目錄底下的某個檔案

../ [filename] 上一個目錄底下的某個檔案

./ [dir] / 這一個目錄底下的某個目錄

Page 15: Ch3   basic  command(2013 ncu-nos_nm)

Basic Command

Page 16: Ch3   basic  command(2013 ncu-nos_nm)

指令長怎麼樣?

不論是在作業系統、switch等網路設備、甚至是組合語言,

指令都有各自的標準。

指令 $ ls

指令 [參數] $ ls –a

指令 [目標] $ ls –a /etc

指令 [參數] [目標] [參數] $ ls –a /etc –l /var

Page 17: Ch3   basic  command(2013 ncu-nos_nm)

Example

Page 18: Ch3   basic  command(2013 ncu-nos_nm)

cd 或 chdir

• Change directory

• 用途:目錄操作

#切換至/etc目錄

$ cd /etc

#印出自己所在位置

$ pwd

/etc

#切換至家目錄

$ chdir ~

#再印一次所在位置

$ pwd

/root

pwd

• Print working directory

• 用途:目錄操作

Page 19: Ch3   basic  command(2013 ncu-nos_nm)

ls

• List

• 用途:目錄操作

• 常見參數:-al

#切換至/etc目錄

$ cd /etc

#印出目錄底下資訊

$ ls

#印出所有資訊

$ ls –al

#切換至家目錄

$ chdir ~

Page 20: Ch3   basic  command(2013 ncu-nos_nm)

man 或 info

• Manual | information

• 用途:指令說明書

#查看man這個指令的用途

$ man man

#中斷查詢

Ctrl + z

ctrl+c 跟 ctrl+z

• 用途:中斷

Page 21: Ch3   basic  command(2013 ncu-nos_nm)

who 跟 whoami

• 用途:使用者管理

#查看線上有誰

$ who

#查看自己是誰

Ctrl + z

Alt + F1~F8

• 用途:終端切換

(゚∀゚)<:Unix本身就是設計給多使用者同時操作的

Page 22: Ch3   basic  command(2013 ncu-nos_nm)

whereis 跟 find

• 用途:套件操作

• Find常見關鍵字:-name

#找ls這指令程式在哪

$ whereis ls

#搜尋/bin目錄底下內容

$ find /bin

#搜尋/bin底下關鍵字ls

$ find /bin –name “ls”

Page 23: Ch3   basic  command(2013 ncu-nos_nm)

cat 跟 tail 跟 head

• 用途:檔案操作

#印出/var/log/message裡面的內容

$ cat /var/log/message

Ctrl + c

$ tail /var/log/message

Ctrl + c

$ head /var/log/message

Ctrl + c

Page 24: Ch3   basic  command(2013 ncu-nos_nm)

mkdir 跟 touch

• 用途:檔案操作

#切換回家目錄

$ cd ~

#新增資料夾dir1跟dir2

$ mkdir dir1

$ mkdir dir2

#進入資料夾dir1

$ cd dir1

#新增檔案file1跟file2

$ touch file1

$ touch file2

Page 25: Ch3   basic  command(2013 ncu-nos_nm)

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

Page 26: Ch3   basic  command(2013 ncu-nos_nm)

logout 跟 exit

• 用途:系統操作

halt 跟 reboot

• 用途:系統操作

#登出

$ logout

#關機

$ halt

#重開機

$ reboot

Page 27: Ch3   basic  command(2013 ncu-nos_nm)

Advance Command

Page 28: Ch3   basic  command(2013 ncu-nos_nm)

進階:重新導向 (>跟>>)

• 透過重導向將output導到其他input

Page 29: Ch3   basic  command(2013 ncu-nos_nm)

連續指令 ( ; )

• 指令其實是可以一次下很多個

• 跟寫程式一樣,加個分號就好

#切換回家目錄

$ cd ~

#新增一個資料夾dir2

並且新增一個檔案file4

$ mkdir dir2; touch file4

Page 30: Ch3   basic  command(2013 ncu-nos_nm)

Pipe指令 ( | )

• 指令可以串流

• 前個指令產生的output

• 作為下個指令的input

#切換回家目錄

$ cd ~

#新增一個檔案file5

將新增的檔案複製成file6

$ touch file5 | cp file5 file6

Page 31: Ch3   basic  command(2013 ncu-nos_nm)

more 跟 less

• 用途:查看檔案

grep

• 用途:查看檔案

• 常見參數:關鍵字串

#用more查看記錄檔

$ cat /var/log/message | more

#查看記錄檔中十一月的紀錄

$ cat /var/log/message | grep „Nov‟