1 / 25

UNIX 簡介

UNIX 簡介. 國立暨南國際大學 計算機與網路中心 研究助理 張克寧 klim@ncnu.edu.tw. Operating System. Shell. disk network cpu printer. O S. smtp. init. inetd. process. system resources. system call. encoded. /etc/passwd user:passwd: uid : gid :gcos:home:shell. telnet or login. login. username

kina
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 簡介 國立暨南國際大學 計算機與網路中心 研究助理 張克寧 klim@ncnu.edu.tw

  2. Operating System Shell disk network cpu printer . . O S smtp init inetd . . process system resources system call

  3. encoded /etc/passwd user:passwd:uid:gid:gcos:home:shell telnet or login login username password 檢查passowrd 執行 shell 更換工作目錄

  4. shell • 命令編譯器 • 內部命令: cd, set, unset.....(與shell種類相關) • 外部命令: 外部程式 • 環境變數 (可用 env 顯示) • PATH: 外部執行程式搜尋順序 /usr/bin:/usr/sbin:/usr/ucb:/usr/ccs/bin:. .表現在目錄, 不建議使用或放在最後 xyz -> /usr/bin/xyz-> /usr/sbin/xyz -> ....-> ./xyz

  5. 線上求助 • man: 手冊 (manual) ,ex: man wc • man -k keyword, 尋找與keyword相關的指令 (系統需建索引檔:windex or whatis, 以catman 建立) • 分冊: Vol 1:command, Vol2: system call... cat(1): 表示 cat 在手冊的第一冊 • 新手可試 man man • 環境變數: MANPATH, 內定 /usr/man

  6. file system • 階層式的檔案架構, 樹狀結構 • 所有device 都是一個file (special file) / pathname: /etc/password root usr var home etc mount point ..... bin mail passwd ..... ..... ncnu ..... ..... ..... ..... ls

  7. 目錄相關指令 • ls: 查看目錄, ls [-al.....] [dir] • cd: 更換目錄, cd [dir] • pwd:顯示現在目錄 • mkdir: 新造目錄, mkdir dir • rmdir: 刪除目錄 rmdir dir (dir 需為空的)

  8. /home/staff/cc/klim Mail News ....... ....... 目錄相關指令 $ ls Mail bin fonts image mail misc slides tmp News doc gwm kernel mbox nsmail src util $ pwd /home/staff/cc/klim $ cd News $ ls comp.lang.forth.001 comp.lang.forth.003 comp.lang.forth.005 comp.lang.forth.002 comp.lang.forth.004 comp.lang.forth.006 $ pwd /home/staff/cc/klim/News $ cd .. $ mkdir newdir $ ls newdir $ rmdir newdir $

  9. 檔案相關指令 • cat: 顯示檔案內容, cat [file1 file2..] • more: 一頁一頁顯示檔案內容, more file • 編輯器: ed, ex, vi, emacs, joe • cp: 複製, cp a b, cp a b c dir • rm:刪除, rm a b c ..... • mv: 更換檔名或移動檔案 mv a b, mv a b c dir • ln: 檔案鏈結, ln [-s] a b, a--> b

  10. /home/staff/cc/klim ....... mbox tmp ....... sun 檔案相關指令 $ cat mbox From teresa@tcmds.com.tw Mon Mar 16 09:01 CST 1998 Received: from dns.tcmds.com.tw ([210.66.177.61]) by^C $ more mbox From teresa@tcmds.com.tw Mon Mar 16 09:01 CST 1998 . . --More--(15%) $ joe mbox $ cp mbox sun $ cp mbox sun tmp $ rm sun tmp/sun $ mv mbox sun $ mv sun tmp

  11. 檔案屬性 d rwx rwx rwx r: read w: write x: execute $ ls -al total 201 drwxr-xr-x 24 klim sys 1536 Mar 17 16:09 . drwxr-xr-x 12 root other 512 Mar 10 19:49 .. drwxr-xr-x 2 klim sys 512 Mar 6 08:49 Mail drwxr-xr-x 2 klim sys 512 Mar 5 09:14 News -rw-r--r-- 1 klim sys 49259 Mar 14 20:28 kernel -rw------- 1 klim sys 4820 Mar 16 17:35 mbox owner group other d: directory -: file type owner group size date

  12. 檔案屬性 • chmod:更改屬性, chmod mode file1 file2 .. chmod 444 mbox chmod a+r,u+wx,g+x,o-wx mbox • mode: octal number, augo[+-]rwx • chown: 更改owner, chown user file .... superuser 方能執行 • chgrp: 更改group, chgrp group file .... 421 421 421

  13. 檔案相關指令 • head: 列出檔案的前十行, head f1 f2 .... • tail: 列出檔案的後十行, tail f1 f2 ..... • grep pattern f1 f2...:列出檔案中包含pattern的那些行 • find: 在目錄中尋找符合條件的檔 • du: 統計目錄所用空間 • df: 列出磁碟機使用情形

  14. 檔案相關指令 $ head -3 posted From klim Fri Mar 6 08:59:26 1998 Subject: test , ignore it Newsgroups: tw.test $ tail -3 posted this is a test. just ignore it. $ grep From posted From klim Fri Mar 6 08:59:26 1998 $

  15. 檔案相關指令 從目前目錄開始尋找檔名為 duplex.ps , 並且列印出來 $ find . -name duplex.ps -print ./misc/duplex.ps $ du misc 6 misc $ df Filesystem 1024-blocks Used Available Capacity Mounted on /dev/dsk/c0t0d0s0 96031 16540 69891 19% / /dev/dsk/c0t0d0s6 674471 402207 204824 66% /usr /dev/dsk/c0t0d0s3 240055 160943 55112 74% /var /dev/dsk/c0t0d0s5 288855 145740 114235 56% /opt staff:/export/staff 2064704 810248 1244136 39% /home/staff $ NFS

  16. $HOME a b c d f4 f1 f2 f3 練習 • 建立右邊的目錄結構, a b c d 為目錄, • f1 f2 f3 f4 為檔案. 參考mkdir, cd , touch • 由目錄 b 切換至目錄 d • 把 f2 移至目錄 b • 把目錄 d 移至 a • 刪除目錄 c • 參考ls, • 以時間先後列出檔案 • 以檔案大小列出檔案 • 列出目錄 a 及其下所有目錄及檔案

  17. 輸出入轉向與pipe • cat f1 f2 > f3 • mail user@address < letter • ls | wc -w • /bin/time ls > /dev/null • sh: /bin/time ls > /dev/null 2> time.out /bin/time ls > out 2>&1 • csh:/bin/time ls > ls.out /bin/time ls >& out stdout stdin pipe stderr

  18. $ cat duplex.ps %%BeginFeature << /Duplex true >> setpagedevice << /Tumble false >> setpagedevice %%EndFeature $ wc duplex.ps 4 12 99 duplex.ps $ ls course duplex.ps refcard.format rivest warn $ ls | wc -w 5 $ $ /bin/time ls course duplex.ps refcard.format rivest warn real 0.0 user 0.0 sys 0.0 $ /bin/time ls > /dev/null 2> out $ /bin/time ls > out 2>&1 stdout stderr sh syntax

  19. 線上交談 • talk user, talk user@hostname • write user: 線上送訊 • mesg n: 切斷通訊, mesg y 打開通訊 • who: 查看線上使用者 • w: 查看線上使用情形

  20. 程序 (process) • ps: 印出程序相關資訊 • /bin/ps -ef, /usr/ucb/ps aux 列出所有程序 • kill: 送訊號給程序 • kill -HUP pid, kill -1 pid : 經常用來使某個程序重讀裝置檔(configutation file) • kill -TERM pid: 結束某個程序 • kill -9 pid: 強迫結束 • nice, renice: 設定程序的優先權

  21. 程序和子程序 fork Shell O S Shell execl (...program..) program system call

  22. 離線作業 • command &: 將command 置入背景執行 • 若程式需讀入stdin 或寫出 stdout stderr時, 需加以轉向, 否則會停住 • 有 job control的shell (csh, tcsh, bash): • 可用 ctrl-Z 停住正在跑的程式 • bg [%n] : 置入背景, fg [%n]: 移至前景 • jobs: 查看目前的程序 • nohup command args &: 置入背景且logout後不會因SIGHUP停住

  23. 離線作業 • at: 定某個時間執行程式 • atq, atrm: 查詢及移除排定時間的程式 • crontab: 定時執行, /usr/spool/cron/crontabs • crontab [filename], crontab [-elr] usrname 0,30 * * * * /usr/news/bin/nntpsend 分 時 日 月 星期 命令 $ at midnight at> mail klim@ncnu.edu.tw < announce at> <EOT> job 890236800.a at Thu Mar 19 00:00:00 1998 $ atq Rank Execution Date Owner Job Queue Job Name 1st Mar 19, 1998 00:00 klim 890236800.a a stdin $ atrm 890236800.a 890236800.a: removed $

  24. 其它 • date: 顯示日期 • cal: 月曆, cal [[month] year], ex: 1997 • 列印: • lpr [-Pprinter] f1 f2 ....., 列印檔案[至printer] • lpq [-Pprinter], 顯示[printer]的佇列 • lprm [-Pprinter] queue#, 刪除[printer]佇列中的 jobs • gcc, g++: C C++ compiler • telnet, finger.... • FAQ, 各大BBS中UNIX版的精華區

  25. 練習 • 找出自己 login process 的 pid • 執行 ps 的時間要多久 • 如何將時間資料導入一檔案中 • 如何將時間資料與 ps 的結果各導入不同檔案中 • 西元二千元二月廿九日是星期幾?

More Related