1 / 33

Unix 基本指令簡介

Unix 基本指令簡介. 講師 Nickle CNA 課程部. Outline. Unix 簡介 Unix 指令介紹 Unix 進階指令 Optional. Unix v.s. Dos 指令 上機操作. Unix 簡介.

gail
Download Presentation

Unix 基本指令簡介

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Unix基本指令簡介 講師 Nickle CNA課程部

  2. Outline • Unix簡介 • Unix指令介紹 • Unix進階指令 Optional. • Unix v.s. Dos 指令 • 上機操作

  3. Unix簡介 • UNIX是一九六○年代末期在美國 Bell Labs 由 Ken Thompson and Dennis Ritchie以及其他同事合作發展出來的一個多人多工的作業系統。由於七○年代中比較低價的 mini-computer (~US $ 200,000) 正開始普及,美國各大學的電腦系開始買的起自已的電腦進行作業系統方面的實驗及研究,一般商用的作業系統不能滿足他們的需要,而 Bell Labs 卻以幾乎免費的條件提供 UNIX給學術研究機構使用。尤其特別的是 UNIX的授權方式不但包含了它完整的原始碼(source code),而且同意使用者可以依需要修改作業系統。因此在七○年代起,許多大學開始培養出大量對 UNIX從裡到外都非常精通的高手,這些人對日後 UNIX的普及有決定性的影響。再者這種無私開放的精神慢慢變成了 UNIX的傳統,對後續多種軟體及系統方面的研究發展有很大的貢獻。不過在另一方面這也造成了多種 UNIX版本的出現,偶而也產生一些困擾。

  4. Unix簡介 cont. • 影響 UNIX普及率的另外一件重要大事發生在八○年代初期,當時 Internet 各項標準正開始成形,但因支援 Internet 的軟體不多並沒有太受到重視。但在八○年初期,一個叫做 BSD 的 UNIX版本把 Internet 的軟體納入成為其基本作業系統的一部份,也就是說一部電腦只要安裝了 BSD UNIX,它馬上就可以上 Internet 了。 • 這種情況就好像早期 Windows 3.1 沒有內建 Internet,所以上網並不是很方便,但到了 Windows 95 內建了 Internet,上網就容易了多了一樣。這件事的影響是早期使用 Internet 的人一定需要使用 UNIX,幾乎所有的 Internet 軟體在早期都是在UNIX上發展的,這情況一直到了九○年中期隨著 Windows 95 及 Windows NT的普及才慢慢改變。

  5. Unix簡介 cont. • 在使用UNIX之前,必須在workstation上有account(帳號),才能進去使用。在login:出現後,打入帳號名稱,然後輸入密碼,現在你已經完成login 的動作,進入UNIX了。在進入之後,系統會啟動"shell",這個程式會接受你打的指令,去執行它,shell 有好幾種,有csh tcsh shbashksh...,我主要指的是csh。基本上,我們待會談的指令都是在shell 下輸入的。 • 什麼是shell? • shell就是系統用來解釋使用者命令的解譯處理器,是使用者和操作系統間的介面;我們在電腦上做的任何一個簡單的動作,對電腦而言都是一連串小動作的組成。

  6. Unix 基本指令 • $ 一般使用者的提示符號 # 系統使用者的提示符號 • Ctrl+ c 停止命令的執行 • Exit,logout –登出系統 • Man [command] –詢問指令 • shutdown –關機 • “;”表示跳行,執行好幾段指令。

  7. Unix 編輯器 • 文字編輯器: vi , vim • 程式編輯器: gcc ex: gcc vuln.c –o vuln

  8. Unix 基本指令(檔案權限) drwxr--r-- 8 b0401087 512 Feb 25 20.23 . drwxr-xr-x 140 root 3072 Jul 31 1996 .. drwx------ 2 b0401087 512 Feb 18 1995 .elm drwx------ 2 b0401087 512 Feb 25 20.10 mail -rw-r--r-- 1 b0401087 5 Feb 25 20.30 test drwx---r-x 12 b0401087 512 Feb 16 01.19 www.pub • 第一個字元: - : 一般檔案 b : 區塊式特別檔案 c : 字元檔案 d : 目錄 l : 連結檔 p : pipe檔案 s : 硬體週邊檔案

  9. Unix 基本指令(檔案權限) • 每三個一組, 分別代表owner, group, others之權限. r : 讀 w : 寫 x : 執行 可用chmod *** filename改變. *** 代表數字, r=4,w=2,x=1 rwx = 4+2+1=7 因此要將檔案test屬性改成-rwxr-xr-x,直接打chmod 755 test即可. • chown --改變擁有者 • chmod --改變權限 • chgrp --改變群組擁有者

  10. Unix指令 • uname -r (-a) --系統版本 • ls -- 列出目錄下所有檔案名稱 -a 列出所有檔案。 -A -a, 但不列出"."和"..". -c 以被修改日期排列。 -C 分成數列印出。 -d 只印目錄。 -f 只接受目錄參數. -F 目錄加/.可執行檔加*. -g 列出所屬團體. -i 印出inode值。 -l 列出詳細格式。 -L 列出被連結的檔案。 -r 以字母相反順序列出。 -q 將檔案不能列出的字母以?表示。 -R 一層一層列出子目錄內容。 -s 列出檔案長度。 -t 依被修改時間排列。 -u 依最近讀取時間排列。

  11. Unix指令 cont. • pwd -- 顯示現在工作的目錄路徑 • cd -- 改變目前的工作目錄 cd .. –回到上一層目錄 • mkdir directory1 [directory2 ...] -- 建立目錄 , 可以一次建立兩個以上的目錄。 • rm 目錄名稱 -- 刪除目錄及其下所有檔案、子目錄。 -f 強制刪除。 -i 刪除前先確定。 -r 刪除包括子目錄的東西。

  12. Unix指令 cont. • rmdir --刪除目錄。 • cp --複製檔案。例:cp motherfile daughterfile。 • cal --印出月曆。cal [[month] year] • df --檢查磁碟空間剩餘狀況。 • du --檢查磁碟使用狀況。 du -sk . (看你目前所使用的硬碟空間,單位為K) • mv --搬移檔案目錄或是將檔案目錄改名。(Ex:mv oldname newname。 )

  13. Unix指令 cont. • passwd --更改密碼。 • talk 和人交談。用ctalk可用中文。 • touch 更新檔案被更改時間。 • wall 對站內廣播。直接打wall,打入訊息,EOF結束。 • wc 計算檔案長度。 • wc [-lwcb] [filenames] 預設為-lwc -l 行數 -w 字數 -c 字元數

  14. Unix指令 cont. • who 誰在線上。 • Id --顯示所屬ID • Whoami --我是誰? • > --把執行結果放入新檔案。例:ls -l > list。 • >> --把執行結果附加在另一檔案。例:ls >> file。 • | --把指令一的輸出變成指令二的輸入。例: ls -l|more。 • jobs 目前執行的工作 。

  15. Unix指令 cont. • ps 現在執行的程式 -a 該終端機所有使用者的處理程序。 -x 顯示各終端機處理程序。 • kill -9 pid 程式的結束執行. 例:kill -9 18326 kill -9 - 結束自己所有程式 。 • finger 查詢人物. 例: finger [-l] b1103040@cc.ntu.edu.tw

  16. Unix指令 cont. • 網路指令 • telnet --常用的遠程載入. 例:telnet bbs.cna.ccu.edu.tw • ftp 檔案傳輸. 例: ftp ftp.dorm.ccu.edu.tw • ping 偵測網路是否通. 例: ping www.ccu.edu.tw • nslookup 查Domain Name 的IPAddress. 例: nslookup www.ccu.edu.tw

  17. Unix指令 cont. • write 送訊息給另一使用者。  例子:write guest “Hello!! I am chen :)” • quota -nv b843201 (看你被允許有多大的硬碟空間) Disk quotas for u92410071(uid 1123): Filesystem usage quota limit timeleft files quota limit timeleft / 0 10000 1024 0 2000 1000 /Home 0 15000 5120 0 2000 1000 • w load --CPU Load • tty --登入的終端機 • bc --簡易計算機

  18. Unix指令 cont. • cat 檢視檔案 -n 印出行數。 -s 去掉空白行。 -v 印出看不到的字元。 應用:cat file1 file2 > file3 把file1 file2合併成file3 • more 分頁檢視檔案 • less 分頁顯示 [ space ] Next Page [ p ] Pervious Page [ k ] Last line [ j ] Next Line [ q ] Exit PS.搭配cat使用:cat filename | more/less

  19. Unix指令 cont. • head 只輸出檔案前段 -n 設定輸出行數 E.X.:head -10 file1列出file1的前10 行 • tail 只輸出檔案後段 -n 設定輸出行數 E.X.:head -10 file1列出file1的最後10行 • grep 在檔案中搜尋字串 [ -n/c/i ] 加行號/計算找到的行數/忽略大小寫 E.X.: grep string filename 在檔案(filename)裡搜尋 string grep -i string filename 在檔案(filename)裡忽略大小寫搜尋 string

  20. Unix指令 cont. • sed 編輯資料流 ( stream edit ) sed 's/string1/string2/' filename 將 filename 中的 String1 置換成 String2 sed 's/.../string/' filename 將 filename 中每一行的前三字元置換成 String • find /directory -name checklist -print 搜尋目前目錄下名為checklist的檔案 • find . -name "a[a-z]" -print u 搜尋檔名開頭為a,結尾為字母的檔案

  21. Unix指令 cont. • uptime -- 系統到目前為止的開機時間。 • Clear --清除螢幕(cls) • Which --查看command • Echo --將字串顯示於螢幕上 ex: echo “hello” > hello.txt • mail --寫信 • su --變身另一個使用者 • sudo --以另一個身分執行

  22. Unix指令 cont. • nohup [command] &  使一個程式在使用者登出後仍能繼續執行。  執行後的輸出會存在nohup.out中。  例子:nohup fcomp & • [command] &  使一個程式在幕後執行。  如果程式尚未執行完畢就遷出則程式會自動停止。  例子:cp -r . /tmp &

  23. Unix進階指令 • at 在指定時間執行某系統命令或命令檔。 • 合法的格式: • at 0815am Jan 24 • at 8:15am Jan 24 • at now+1day • at 5pm Friday • -c C shell • -s Bourne Shell • -m 執行後寫信給你 • -r jobs 刪除以前設定 • -l 列出順序

  24. Unix進階指令 cont. • date 顯示或設定時間。只有系統管理員才能改時間。 • date [mmddhhmm [yy]] [+format] • %a 星期簡稱 • %A 星期全稱 • %b 月份簡稱 • %B 月份全名 • %d 日數 • %D 以mm/dd/yy表示 • %H 時數[00-23] • %I 時數[00-12] • %j 一年中的日數[001-366] • %m 一年中的月數[01-12] • %M 分數[00-59] • %n 插入換行字元 • %r AM/PM 表示 • %S 秒數 • %T 時間以hh:mm:ss表示 • %U 週數[00-52] • %W 一週中的日數 • %y 西元年數後兩位 • %Y 四位數代表年份 • %Z 時間區名稱

  25. Unix進階指令 cont. • diff 比較兩檔案差異 • -b 最後一行空白不做比較 • -i 大小寫不做比較 • -t tab當空白 • -w 所有空白不比較 • a: append • c: change • d: delete • 第一個檔案以>表示,第二個檔案以<表示。

  26. Unix進階指令 cont. • lp 列印。 • lp [-cmsw] [-ddest] [-nnumber] [-ooption] [-ttitle] filename • -c 列印時同時copy. • -d(dest) 設定印表機名稱。 • -m 印完後將結果以信件送出。 • -n(number) 印兩份。 • -o(option) 調整頁的大小。 • -s 不列出訊息 • -t(title) 加入標題。 • -x 把已列印的訊息顯示在螢幕上。 • -w 列印後顯示訊息。 • lpr 傳遞一個程序,交由印表機執行。

  27. Unix進階指令 cont. • sort 將檔案排序 • spell 檢查拼字 -b British用法 -v 印出不合法的字 -x 印出所有拼字合法字

  28. Unix進階指令 cont. • tar(壓縮&解壓縮) create tape archives and add or extract files Syntax : tar [-][c/x/t/vf] tarfile file1 file2 … create an archive tar cvf my.tar *.txt extract files from an existing archive tar xvf my.tar list the table of contents of the tarfile tar tvf my.tar work with gzip to extract file (gnu tar) tar zxvf sendmail-8.9.3.tar.gz

  29. Unix進階指令 cont. • pack (.z) : Huffman coding ° • compress (.Z) : Lempel-Ziv coding • °gzip (.gz): Lempel-Ziv coding (LZ77) % pack * °pack: ls: 33.8% Compression pack: vi: 27.8% Compression pack: who: 34.5% Compression % ls -al °total 183 drwxr-xr-x 2 unix courses 512 Oct 21 23:32 ./ drwxr-xr-x 5 unix courses 512 Oct 21 23:17 ../ -r-xr-xr-x 1 unix courses 11992 Oct 21 23:17 ls.z* -r-xr-xr-x 1 unix courses 150276 Oct 21 23:18 vi.z* -r-xr-xr-x 1 unix courses 9052 Oct 21 23:18 who.z* % unpack * unpack: ls: unpacked unpack: vi: unpacked unpack: who: unpacked

  30. Unix進階指令 cont. % compress -v * ls: Compression: 42.11% -- replaced with ls.Z vi: Compression: 40.64% -- replaced with vi.Z who: Compression: 42.35% -- replaced with who.Z % ls -al total 157 drwxr-xr-x 2 unix courses 512 Oct 21 23:28 ./ drwxr-xr-x 5 unix courses 512 Oct 21 23:17 ../ -r-xr-xr-x 1 unix courses 10488 Oct 21 23:17 ls.Z* -r-xr-xr-x 1 unix courses 123579 Oct 21 23:18 vi.Z* -r-xr-xr-x 1 unix courses 7966 Oct 21 23:18 who.Z* % uncompress -v * ls.Z: -- replaced with ls vi.Z: -- replaced with vi who.Z: -- replaced with who

  31. Unix進階指令 cont. % gzip -v * ls: 54.2% -- replaced with ls.gz vi: 51.7% -- replaced with vi.gz who: 54.6% -- replaced with who.gz % ls -al total 130 drwxr-xr-x 2 unix courses 512 Oct 21 23:35 ./ drwxr-xr-x 5 unix courses 512 Oct 21 23:17 ../ -r-xr-xr-x 1 unix courses 8303 Oct 21 23:17 ls.gz* -r-xr-xr-x 1 unix courses 100438 Oct 21 23:18 vi.gz* -r-xr-xr-x 1 unix courses 6294 Oct 21 23:18 who.gz* % gzip -dv * ls.gz: 54.2% -- replaced with ls vi.gz: 51.7% -- replaced with vi who.gz: 54.6% -- replaced with who

  32. Unix v.s. Dos 指令

  33. 上機操作 • Workstation: 140.123.29.11 • 工具: Putty • Account: cnaguest • pass : cnaguest • Any Question??

More Related