UNIX UNIX 入門與介紹入門與介紹
台灣大學計算機及資訊網路中心教學研究組 張傑生[email protected]
UNIXUNIX 系統沿革及版本系統沿革及版本1969
AT&T Bell Lab
1976Bell V6
1977Berkley(BSD)
1979Bell V7
1979AT&T USG
1979Bell4.4BSD
V5
時程表時程表 UNIX 基本概念 UNIX 常用指令簡介
UNIXUNIX 基本概念基本概念
UNIX 的特性 DOS 使用者眼中的 UNI
X
UNIXUNIX 的特性的特性
應用程式無大小限制具有虛擬記憶體多工系統本身已有網路能力擴充性強
應用程式無大小限制具有虛擬記憶體多工系統本身已有網路能力擴充性強
DOSDOS 使用者眼中的使用者眼中的 UNIXUNIX (一)(一) 類似的操作介面
以輸入文字命令給電腦的方式來操縱電腦
電腦的回應以文字訊息顯示在螢幕上
類似的操作介面 以輸入文字命令給電腦的方式來操縱電腦
電腦的回應以文字訊息顯示在螢幕上
MS-DOSMS-DOS
Command: COPY FILE2 FILE2
Response: 1 file(s) copied
UNIXUNIX
Command: cp file1 file2
Response:
MS-DOSMS-DOS
Command: COPY FILE2 FILE2
Response: 1 file(s) copied
UNIXUNIX
Command: cp file1 file2
Response:
DOSDOS 使用者眼中的使用者眼中的 UNIXUNIX (二(二))
類似的樹狀結構 以階層式的目錄及檔案來儲存資料
ID 、所有者和群的概念-用以分辨檔案的所有者 USERNAEM/UID -- 使用者名稱及 代號 OWNER -- 檔案的所有者 GROUP/GID -- 群組及群組代號 OTHER -- 除 OWNER 及 GROUP 外的其他人
類似的樹狀結構 以階層式的目錄及檔案來儲存資料
ID 、所有者和群的概念-用以分辨檔案的所有者 USERNAEM/UID -- 使用者名稱及 代號 OWNER -- 檔案的所有者 GROUP/GID -- 群組及群組代號 OTHER -- 除 OWNER 及 GROUP 外的其他人
DOSDOS 的樹狀結構的樹狀結構root
dosutility
workwindowset3......
ndd
pe2......
pe2.exe
pe2.pro......
UNIXUNIX 的樹狀結構的樹狀結構(一)(一)root
binetc
users
......
usr
ls
localbin......
catcp
tmp......
chenclaven......
Mailproject
UNIXUNIX 的樹狀結構的樹狀結構((二二)) / (root) - UNIX 檔案系統的最頂層 /bin - UNIX 基本指令 /etc - UNIX 系統檔案及系統基本資料 /tmp -暫時檔案存放區 /usr -放 UNIX 各式命令、程式庫、說明 /usr/local/bin -各種工具 ~ (Home Directory) -使用者個人目錄
UNIXUNIX 常用指令介紹常用指令介紹 進入與離開 UNIX 系統 UNIX 命令格式 線上查詢相關指令 檔案與目錄相關指令 列印檔案 轉向 Job 與 Process 的控制
進入與離開 UNIX 系統 UNIX 命令格式 線上查詢相關指令 檔案與目錄相關指令 列印檔案 轉向 Job 與 Process 的控制
進入與離開進入與離開 UNIXUNIX 系統系統 連上欲進入的系統
進入 UNIX 系統( Login 步驟)
離開 UNIX 系統( Logout )步驟
連上欲進入的系統
進入 UNIX 系統( Login 步驟)
離開 UNIX 系統( Logout )步驟
telnet <hostname>( 或其他連線程式)
login: 輸入 usernamepassword: 輸入密碼(密碼不會顯示在螢幕上)
%logout (exit 或 CTRL/D)
telnet <hostname>( 或其他連線程式)
login: 輸入 usernamepassword: 輸入密碼(密碼不會顯示在螢幕上)
%logout (exit 或 CTRL/D)
UNIXUNIX 命令格式命令格式 在 UNIX 中大小寫代表不同意義 command [option(s)] [filename(s)]
option: 使 command 更富有變化 [-<char(s)>] filename(s): 指令要處理的對象 若在一行上有多個指令,指令間需加 ;
在 UNIX 中大小寫代表不同意義 command [option(s)] [filename(s)]
option: 使 command 更富有變化 [-<char(s)>] filename(s): 指令要處理的對象 若在一行上有多個指令,指令間需加 ;
ls /etc/csh.cshrc --> 只列出檔名 ls -lF /etc/csh.cshrc --> 列出所有資訊
ls /etc/csh.cshrc --> 只列出檔名 ls -lF /etc/csh.cshrc --> 列出所有資訊
線上查詢相關指令(一)線上查詢相關指令(一) man : 線上查詢各個指令的用法 man -k <Keyword> : 查詢所有與 <Keyword> 有關的指令
which <command(s)> : 由 ~/.cshrc 中設定的 path 找尋 <command(s)> 存放的目錄
man : 線上查詢各個指令的用法 man -k <Keyword> : 查詢所有與 <Keyword> 有關的指令
which <command(s)> : 由 ~/.cshrc 中設定的 path 找尋 <command(s)> 存放的目錄
man man man ls man -k editor which joe
man man man ls man -k editor which joe
線上查詢相關指令(二)線上查詢相關指令(二) who : 查詢目前上機的使用者及 login 的時間 w : 查詢目前上機的使用者之工作狀態 date : 顯示目前之日期及時間
who : 查詢目前上機的使用者及 login 的時間 w : 查詢目前上機的使用者之工作狀態 date : 顯示目前之日期及時間
who and wwho and w% who
u7916521 ttyp0 Aug 12 18:12 (lena)
% w
8:03pm up 1 day, 5:25, 8 users, load averages: 5,5,5
User tty login@ idle JCPU PCPU what
u7923015 ttyp0 6:13pm 2 67:20 44:00 -csh
CPU Time of All Process
CPU Time of Current Process
Name of Current Process
檔案與目錄(一)檔案與目錄(一) 檔案:用以存放程式或資料,可分為執行程式檔、資料檔、文字檔、周邊設備及目錄檔等
目錄:用以有系統管理檔案,內含其他目錄及檔案
萬用字元: *( 任何字串 ) 、 ?( 任一字元 ) 路徑:指向某一檔案的走訪路程
絕對路徑:由根目錄往下找 相對路徑:由現在的工作目錄為起點 各階層目錄名以 / 分開
檔案與目錄(二)檔案與目錄(二)
現在目錄為 /users/claven ls 之絕對路徑 : /usr/bin/ls ls 之相對路徑 : ../../usr/bin
現在目錄為 /users/claven ls 之絕對路徑 : /usr/bin/ls ls 之相對路徑 : ../../usr/bin
root
binetc
users
......
usr
ls
localbin......
catcp
tmp......
chenclaven......
. : 現在目錄 .. : 上一層目錄 ~ : Home Directory
. : 現在目錄 .. : 上一層目錄 ~ : Home Directory
檔案與目錄之相關指令(一)檔案與目錄之相關指令(一) pwd : 查詢目前所在之目錄名稱 ls <dir(s)/file(s)> : 列出(目錄內)檔案資訊
ls : 只列出檔名 ls -a : 列出所有檔案,包含以 . 開頭的檔案 ls -l : 列出檔案資訊
mkdir <dir(s)> : 建立新目錄 cd <dir> : 改變工作目錄
cd ( 或 cd ~) : 回到 Home Directory
pwd : 查詢目前所在之目錄名稱 ls <dir(s)/file(s)> : 列出(目錄內)檔案資訊
ls : 只列出檔名 ls -a : 列出所有檔案,包含以 . 開頭的檔案 ls -l : 列出檔案資訊
mkdir <dir(s)> : 建立新目錄 cd <dir> : 改變工作目錄
cd ( 或 cd ~) : 回到 Home Directory
mkdir project cd project ---> pwd cd ---> pwd
mkdir project cd project ---> pwd cd ---> pwd
ls -l ls -l 所顯示之資訊所顯示之資訊
t rwxrwxrwx links owner size date time filename
File TypeFile Typed : 目錄- : 普通檔c/b: 周邊l : 鏈結檔s : Socket
File TypeFile Typed : 目錄- : 普通檔c/b: 周邊l : 鏈結檔s : Socket
使用權限使用權限分 Owner 、Group 及 Othersr : 可讀w: 可寫x: 可執行-: 無
使用權限使用權限分 Owner 、Group 及 Othersr : 可讀w: 可寫x: 可執行-: 無
鏈結數鏈結數鏈結數鏈結數最近修改日期時間最近修改日期時間最近修改日期時間最近修改日期時間
d rwxrwxr-x 2 tstl 24 Oct 14 10:32 test- rw-rw-r-- 1 tstl 98 Oct 12 19:23 a
實習實習 pwd ls -al cd /etc pwd ls -a cd pwd cd project
pwd ls -al cd /etc pwd ls -a cd pwd cd project
檔案與目錄之相關指令(二)檔案與目錄之相關指令(二) cp < 原始檔 /目錄 > <目的檔 /目錄 > : 複製檔案或目錄 cp -r : 遞迴複製所有子目錄
cat <file(s)> : 顯示檔案內容 more <file(s)> : 一次以一個螢幕顯示檔案內容 rm <file(s)> : 刪除檔案
rm -r <dir(s)> : 刪除目錄及其下所有檔案、子目錄
cp < 原始檔 /目錄 > <目的檔 /目錄 > : 複製檔案或目錄 cp -r : 遞迴複製所有子目錄
cat <file(s)> : 顯示檔案內容 more <file(s)> : 一次以一個螢幕顯示檔案內容 rm <file(s)> : 刪除檔案
rm -r <dir(s)> : 刪除目錄及其下所有檔案、子目錄
cp ~/.cshrc . ----> ls -l cat .cshrc ----> more .cshrc rm .cshrc ----> ls -l
cp ~/.cshrc . ----> ls -l cat .cshrc ----> more .cshrc rm .cshrc ----> ls -l
檔案與目錄之相關指令(三)檔案與目錄之相關指令(三) mv <file> <target>: 移動檔案
mv filea fileb : 將 filea 更名為 fileb mv filea dirb : 將 filea 搬到 dirb 目錄下 mv filea dirb/filec : 搬移並更名 mv dir1 dir2 : 若 dir2 存在,將 dir1搬到 dir2;否則將 dir1 更名為 dir2
rmdir <dir> : 刪除目錄(目錄內必須無檔案)
mv <file> <target>: 移動檔案 mv filea fileb : 將 filea 更名為 fileb mv filea dirb : 將 filea 搬到 dirb 目錄下 mv filea dirb/filec : 搬移並更名 mv dir1 dir2 : 若 dir2 存在,將 dir1搬到 dir2;否則將 dir1 更名為 dir2
rmdir <dir> : 刪除目錄(目錄內必須無檔案)
實習實習 cd ~/project cp /etc/host* . mv hosts .. ls -al ~ mv ../hosts ./hostname cd .. mv project proj mkdir project mv proj project
cd ~/project cp /etc/host* . mv hosts .. ls -al ~ mv ../hosts ./hostname cd .. mv project proj mkdir project mv proj project
改變檔案或目錄的使用權限改變檔案或目錄的使用權限 chmod <access> <file/dir>
<access> 為三個八進位的數字,分別代表 user, group, other 的使用權限
以 8 進位代表權限 (r = 4, w = 2, x = 1) chmod [who|op|access] <file/dir>
who : user = u, group = g, other = o, all = a op : add = +, remove = - , assign = = access : read=r, write = w; execute = x
chmod <access> <file/dir> <access> 為三個八進位的數字,分別代表 user,
group, other 的使用權限 以 8 進位代表權限 (r = 4, w = 2, x = 1)
chmod [who|op|access] <file/dir> who : user = u, group = g, other = o, all = a op : add = +, remove = - , assign = = access : read=r, write = w; execute = x
chmod 755 test chmod o-r test chmod u+rw test
chmod 755 test chmod o-r test chmod u+rw test
目錄或檔案的使用權限目錄或檔案的使用權限Userrwx421
Grouprwx421
Otherrwx421
rwx421
r-x401
r--400
7 5 4
實習實習 cd ~/project/proj ls -l hostname chmod 600 hostname chmod go+r hostname chmod u+x hostname
cd ~/project/proj ls -l hostname chmod 600 hostname chmod go+r hostname chmod u+x hostname
轉向(一)轉向(一) ---- 輸出轉向輸出轉向 輸出轉向
command > file1 : 將 command 的輸出送往 file1 , file1 原先的內容消失
command >> file1 : 將 command 的輸出附加在 file1 的尾端
輸出轉向 command > file1 : 將 command 的輸出送往
file1 , file1 原先的內容消失 command >> file1 : 將 command 的輸出附加在 file1 的尾端
ls -l ls -l > list cat list
ls -l ls -l > list cat list
轉向(二)轉向(二) ---- 輸入轉向輸入轉向及及 PIPPIPEE
輸入轉向 command < file1 : 將 file1 的內容作為 co
mmand 的輸入 PIPE command1 | command2 [|command]*
將 command1 的輸出作為 command2 的輸入
輸入轉向 command < file1 : 將 file1 的內容作為 co
mmand 的輸入 PIPE command1 | command2 [|command]*
將 command1 的輸出作為 command2 的輸入
cat > source sort < source ls -l | more
cat > source sort < source ls -l | more
實習實習 cat > source
13524^D
cat source sort < source sort < source > dest cat dest
前景與背景前景與背景 JobJob
前景 job :依前述命令迴圈執行之 job背景 job : 不等命令執行完畢即顯示提示符號
要執行很久又不會用到終端機輸出入的命令最適合 在背景執行
command &
前景 job :依前述命令迴圈執行之 job背景 job : 不等命令執行完畢即顯示提示符號
要執行很久又不會用到終端機輸出入的命令最適合 在背景執行
command &
顯示提示符號
讀取命令
處理命令
執行命令
命令解譯迴圈
shell
暫停暫停//回復回復 JobJob 的執行的執行 在 job 執行時按下 Ctrl-Z 便會使該 job 的執行暫停
jobs : 觀看目前所有背景 job fg %jid : 將編號為 %jid 之 job 前景執行 bg %jid : 將編號為 %jid 之 job背景執行
在 job 執行時按下 Ctrl-Z 便會使該 job 的執行暫停
jobs : 觀看目前所有背景 job fg %jid : 將編號為 %jid 之 job 前景執行 bg %jid : 將編號為 %jid 之 job背景執行
ls -l /etc | more <--- 按 Ctrl-Z ls -l /bin | more <--- 按 Ctrl-Z jobs fg %1
ls -l /etc | more <--- 按 Ctrl-Z ls -l /bin | more <--- 按 Ctrl-Z jobs fg %1
Process Process 的控制的控制 Process : 一個執行中的程式 ps : 列出 Process 狀態 BSD:
ps -a : 列出系統中所有 Process ps -u : 列出 Process 的執行者及其他資訊
SYSTEM V: ps -e : 列出系統中所有 Process ps -f : 列出完整資料
kill -9 PID : 不再執行編號為 PID 的 Process
實習實習 ls -l /etc | more CTRL-Z jobs ps -u kill -9 <PID of ls -l /etc | more> ps -u jobs
ls -l /etc | more CTRL-Z jobs ps -u kill -9 <PID of ls -l /etc | more> ps -u jobs
Top Related