多语言展示
当前在线:785今日阅读:175今日分享:29

UNIX 作业系统操作简介

UNIX 作业系统操作简介  UNIX 是个多人多工作业系统。另外,UNIX 有很多种,如 AT&T UNIX (SVR4)、  SunOS 4.1.3、HP-UX R8、AIX V3、 XENIX、Linux 等等,国内学校工作站以使用SunOS 为主流,各系统大同小异,以下介绍其基本指令的操作。  ○ 第一节 命令格式 ○  命令 [选项] [处理对象]  例: ls -la mydir  □ 命令一般是小写字串,注意大小写有别。  □ 选项通常以减号(-)再加上一个或数个字元表示,用来选择一个命令的不同操作  □ 同一行可下数个命令,命令间应以分号隔开。  □ 命令之後加上 & 可使该命令背景执行。  ⊙ 一般在 shell 下执行程式,我们必须等刚下过的指令执行结束後,才能继续下指令,这就是前景执行,如果程式执行时间太长,不想等待它,可将该程式放至背景执行,此时就可继续做别的事了。  □ UNIX 命令列有不少保留字,如 '\', '&', '|', '>', '<', '(', ')', '/','!', '$', '*', ''' 等,这些字元均有特殊解译,如果命名或参数要用到保留字,请在保留字之前加上反斜线 '\',例如 \! 代表 !, \\ 代表 \ 。  □ 线上求助指令 -- man 可在线上用来查询各种命令用法(manual page)的指令例∶man ls 查询 ls 这个指令的用法man man 查询 man 指令的用法以下大部份指令仅列简要说明,详细用法可用 man 查询。为节省篇幅,举例不多,读者需时常上机使用才能真正熟悉指令的用法。  ○ 第二节 档案及目录指令 ○  □ 和 DOS 相似,UNIX 采用阶层式目录管理结构,由根目录( / )开始一层层将子  目录建下去,各阶层目录以 / 隔开。  □ home directory∶使用者 login 时,工作目录的位置,是由系统管理者所设定  □ '~' 符号代表自己的 home directory,例如 ~/myfile 是指自己 home 目录下  myfile 这个档案;~b82000/bin/qkmj 代表 b82000 的 home 目录下, bin 目  录内 qkmj 档案。  □ 档名有区分大小写,长度可达 256 字元 (随系统而异),且不限点号(.)的数目  □ 隐藏档∶档名或目录名以 . 开头即为隐藏档。  □ . 表示目前所在目录  .. 表示上一层目录  □ UNIX 的万用字元有三种,'*' 和 '?' 用法和 DOS 相同,另可用 [....]  代表区间内的任一字元,如 test[0-5] 即代表 test0, test1, ...,test5  的集合。  □ 以下是 ls -l 指令输出的例子,分别介绍各栏位的意义  total 63  drwx------ 4 b1503045 1536 Feb 13 16:37 Mail  drwx------ 2 b1503045 512 Jan 9 16:26 News  drwx------ 2 b1503045 512 Feb 7 00:46 bin  drwx------ 2 b1503045 1024 Nov 1 16:43 c  -rw------- 1 b1503045 3051 Feb 7 01:49 dial-up  -rw-r----- 1 b1503 Feb 13 02:00 wwwfaq1  drwx------ 2 b1503045 512 Aug 11 1994 doc  lrwxrwxrwx 1 b1503045 11 Sep 5 20:36 docs -> /remote/doc  drwxr-xr-x 2 b1503045 512 Feb 7 00:43 pub  ↓━━┬━━↓ ━━┬━ ━┬━ ━━┬━━━ ━━┬━━  凼  档案形式∶  - 一般档案。  d 目录。  l 符号链结档,(symbolic link file)用 ln -s 命令造成的,上例中,cd docs 和 cd /remote/doc 的效果是一样的。  c 字元式周边设备,以一个字元一个字元方式传输,如终端机。  b 区块式周边设备,能一次大量传输,如磁盘机。  s socket 档。  档案存取权限∶共九个字元,每三个分为一组,共三组 rwx 的组合。  前三个 rwx 是档案拥有人的权限,中间三个是所属群体(group)的权限,最後三个是其他人的使用权限。rwx 代表的意义如下∶  对档案而言 对目录而言  r 可读此档 可得知目录内有哪些档案  w 可修改此档 可在此目录内建档及杀档  x 可执行此档 可进入此目录内  - 无此使用权 无此使用权  ⊙ 所谓的所属群体(group),在台大计中 ccsun 工作站,同系学生定为同一 group;在系计中 cctwin 工作站,同年级学生定为同一 group。  ⊙ 以上例而言,wwwfaq1 这个档案自己可以读写,同一 group 的人只能读,其他人对此档完全没有存取权。  ⊙ 自己的档案,可用 chmod 指令改变其存取权,有两种使用方法,如下∶  八进位法 -- chmod <八进位数> <档案>  此方法如同在画体育选课志愿卡,共三个八进位数字,r=4,w=2,  x=1,-=0。例如 -rwxr-xr-x 为 755,rw-r----- 为 640。如上例,若下 chmod 644 dial-up 即可将 dial-up 这个档的存取权从 600变成 644,亦即让其他人均可读此档案。其实最前面还有一个八进位数,但很少用到,其意义如下∶  4000 程式执行时,设定使用者识别码(SUID)位元为 on2000 程式执行时,设定使用者所属团体识别码(SGID)位元为 on  1000 sticky bit on,程式执行後会常驻记忆体。  符号法 -- chmod [ ...] <档案>   u (user) 档案拥有者  g (group) 所属 group  o (other) 其他使用者  a (all) 包括 u, g, o   + 加上存取权  - 除去存取权  = 重新设定存取权  <存取权> 有 r, w, x, s, t (常用前三者)  例如,chmod u-w wwwfaq1 让自己不能更改 wwwfaq1 这个档案,chmod a+x a+r bin 允许所有人进入 bin 目录并可查看有哪些档案。档案连结(link)次数。档案拥有者。超级使用者(系统管理员)为 root。档案大小,单位为 byte。档案内容最近一次更新时间。  凼 档案名称。  □ 指令简介  ⊙ ls 列出目录内档案名称(如 DOS 的 dir/w)  ls -l 除了列出档名外,并列出档案属性及拥有者、档案大小及建立时间  等资讯  ls -a 列出所有档案,包括隐藏档  ls -R 递回地列出所有档案(子目录内所有档案亦列出)  ls -F 依档案格式分类  可执行档档名後加'*',目录名称後加上'/',link档档名加上'@'  ⊙ pwd 查询目前所在之目录名称  ⊙ cd 更换目前工作目录位置  若只打 cd 不加目录名,则回到自己的 home directory  回到上一层目录,必须打 cd .. ,cd 和 .. 中间要有空白  ⊙ cat 查看文字档内容  ⊙ more 以一页一页方式显示一个文字档  当最後一行出现 --more(16%)-- ,表示你已看了 16% 的文章。此  时可用 more 内的指令∶  space 往下卷动一页  Enter 往下卷动一行,若先键入数字再按Enter可下卷指定的行数  q 或 Q 停止输出,回到系统提示符号  h 显示可用指令及其功能  ⊙ cp <原始档> <复制档> 就是 copy 啦!  ⊙ mv <原始档> <目的档> 若原始档和目的档在同一目录下,可更改档名,  若加上路径名,可在目录间搬移档案  ⊙ rm 删除档案,若加上 -i 会徵求确认後删除  rm -r <目录名> 删除该目录及该目录之下的所有档案  rm -rf 同上,但不会先徵求确认  注∶UNIX没有undelete,杀档前请确定你的大脑很清醒  ⊙ mkdir 建立子目录  ⊙ rmdir 删除子目录,目录内须无档案  ⊙ chmod 设定档案或目录的存取权限  ⊙ lpr 将档案放进 printer queue 中等候列表  ⊙ lpq 显示 printer queue 的内容  ⊙ lp 列印资料  ⊙ lpstat 查询列印状态与印表机相关资讯  ⊙ pr 文字档之格式化输出  □ 进阶指令  ⊙ grep 於档案中寻找特定字串  例∶grep fopen *.c 可印出所有 *.c 档案中,有 fopen 字串的  那一行。  ⊙ tail 印出档案最後 10 行内容  tail -200 印出档案最後 200 行内容  ⊙ which 查询某个执行档是放在那个路径之下  ⊙ od 以八进位察看档案内容  ⊙ ln 连接(link)档案  ln -s symbolic link  ⊙ wc 计算档案的行数、字数及字元数  ⊙ touch 更改档案修改或被存取时间  ⊙ diff 档案比较  ⊙ find 档案搜寻  ⊙ df 显示可使用之档案储存空间及档案数目  ⊙ du 计算磁盘机使用情形  ⊙ umask 建档时,取消部份存取权  ⊙ tee 将 stdin 输出到 stdout 并复制一份於档案中  ○ 第三节 通信指令 ○  □ 指令简介  ⊙ rusers 查看有哪些人上机  ⊙ ku 比 rusers 更好用,并提供 finger, talk, write, mail 等功能。  ⊙ mesg y 接受其他使用者讯息(系统预设值)  mesg n 拒绝其他使用者讯息  ⊙ talk 线上一对一交谈系统,对方必须在线上才能使用,可让同一主机或  使用相同网路协定的不同主机的使用者交谈,若要使用中文请用  ctalk。  ○例如,若你使用台大计中工作站,发现你的朋友 b2503000 正在  使用 ccsun22 这台机器,可下 talk b2503000@ccsun22 这个指  令,接著等待回音,若对方愿意和你聊天,则萤幕画面将会分为  上下两部份,上半部份为自己输入的讯息,下半部份则是对方的  应答。  ○按下 Ctrl-C 可结束对话  ○若 b2503000 要和你聊天时,会出现如下画面  Message from Talk_Daemon at 11:21  talk: connection requested by b2503000@ccsun22  talk: respond with talk b2503000@ccsun22  若想回答请输入 talk b2503000@ccsun22 再按 Enter 即可  ○此时若萤幕内容混乱,在某些软体中可按 Ctrl-L 重绘萤幕文字  ,若你正在编辑文件,该文件也不会受影响,仍可继续编辑。  ○若你不想和他 talk ,可用 mesg n 命令拒绝。  ○若远方机器与本地机器相容,亦可使用此命令和远方机器使用者  聊天,例如∶talk u8234567@ccsun19.cc.nctu.edu.tw  即可和交大 ccsun19 上的 u8234567 聊天  ⊙ finger 可查询本地机器或远方机器使用者简要资料  例∶finger b1503045@cc.ntu.edu.tw  ⊙ mail 读取及传送电子邮件  以下指令可利用 mail 传送文字档  mail user < filename  ⊙ write 送讯息给其他在系统中的使用者,也可视为功能较差的 talk 程式  ,记得按 Ctrl-D 结束  ⊙ rlogin,rsh,telnet 远端登录(login)  □ 进阶指令  ⊙ vacation 自动回应来信  ○ 第四节 系统资讯 ○  □ 指令简介  ⊙ quota -v 察看自己可用磁盘空间大小(单位∶KB)及档案个数  ⊙ date 现在的日期、时间  ⊙ who 查询目前和你使用同一机器的有哪些人及login时间地点  ⊙ w 查询目前上机者详细状况  ⊙ whoami 察看自己帐号名称  ⊙ groups [帐号名] 查看某人的 group  ⊙ yppasswd 更改密码  ⊙ ypchsh 更改自己的 login shell  ⊙ ypchfn 更改自己的全名(full name,不是帐号名)  ⊙ cal 印出月历或年历  ⊙ tty 显示目前所用终端机名称  ⊙ history 查看自己下过的指令  □ 进阶指令  ⊙ nslookup 向 Name Server 查询 hostname 及 IP  ○ 第五节 处理程序(Process)的控制 ○  □ 指令简介  ⊙ ps 显示 process 的状态(process status)  PID 栏∶即 ProcessID,一个正在执行的程式在系统中的唯一编号  Owner栏∶该 process 的拥有者  ⊙ kill 停止处理程序,通常先用 ps 命令查得 Process ID,再杀之  kill -9 立即停止一个 process  kill -9 -1 杀掉系统内所有属於自己的 process  ○ 若在工作站上无法离线时,可先 login 另一台工作站,然後再 rsh  到原来当掉的工作站,下 kill -9 -1 指令即可正常退出。  ⊙ jobs 列出现在正在执行的工作  ⊙ fg 将中止的 job 回到前景继续执行  ⊙ bg 背景执行  □ 进阶指令  ⊙ at 在指定时间执行命令  ⊙ batch 依序执行多个命令  ⊙ crontab 要求系统定期执行特定命令  ⊙ nice 调整 process 的优先权  ⊙ nohup 使 process 在 logout 後继续执行  ○ 第六节 其他命令 ○  □ 指令简介  ⊙ cc C Compiler  ⊙ compress 将档案压缩成 *.Z 格式  ⊙ uncompress 将 *.Z 格式的压缩档解压  ⊙ alias 替命令取别名  例∶alias dir 'ls -al'  以後打 dir 就等同於下 ls -al 命令  ⊙ set 查看或设定 shell 变数  ○ 这里介绍几个重要的变数∶  home∶你的 home directory.  path∶和 DOS 的 path 变数功能一样,系统会顺著 path 中的目录  去找可执行档。  term∶终端机形态,常用 vt100、vt102、ansi。  ○ set <变数名>=<设定值> 就可以设定变数的值,$<变数名> 代表此变数  的值。例如∶set term=vt100 ; set path=($home/bin $path)  另外须注意 path 的第一个目录最好不要设为 . ,这是系统安全的考量  ⊙ setenv 查看或设定环境变数  ⊙ echo 回应讯息到标准输出  ⊙ sort 资料排序  ⊙ su 权限转换为指定使用者  ⊙ banner 放大特定字串  ⊙ calendar 重要事项提醒  ⊙ spell 拼字检查  ⊙ sleep 暂停一段时间不使用 CPU(通常用在 Shell Script)  ⊙ test 测试档案型态或检查字串、数值大小(通常用在 Shell Script)  ⊙ wait 等待 process 执行结束(通常用在 Shell Script)  ○ 第七节 终端机常用控制键 ○  □ Ctrl-C 中断程式的执行。  Ctrl-Z 暂停程式的执行,稍後可下 fg 或 bg 指令继续,若未下 fg 或  bg 指令继续执行,该 process 仍会留在系统内。  Ctrl-S 或 Pause 键 萤幕暂停输出  Ctrl-Q 萤幕恢复输出  Ctrl-D EOT (End of Transmission)  □ 有时候按了键盘,萤幕却没任何反应,看起来好像当机,可能就是不小心按了  Ctrl-S 键,此时按 Ctrl-Q 就可恢复正常。  □ 若你输入中文时,萤幕却出现乱码,请先於 UNIX 提示符号下打 stty pass8,  系统就不会过滤字元的 bit7(the most significant bit)。  □ 若你进编辑器或者其他的全萤幕程式,出现萤幕文字上卷的问题时,请先於  UNIX 提示符号下打 stty rows 24 或 resize 就可恢复正常。  ○ 第八节 管道(pipe)及输出入重导(redirection) ○  □ UNIX 把输出入设备亦视为档案,这些设备可能是键盘,萤幕,印表机,也可以  是磁盘档,以下是 UNIX 的标准输出入设备∶  ⊙ 标准输入(stdin)  平时为键盘,可用 < 转向。  例∶mail b82000 < myfile 可将 myfile 档案寄给 b82000  ⊙ 标准输出(stdout)  平时为萤幕,可用 > 转向,用 >> 可将结果附加(append)在档案尾端。  例∶finger b81045 > myfile 可将查询结果写在 myfile 档案上。  ⊙ 标准错误输出(stderr)  平时为萤幕,如 stdout 被转向,仍可在萤幕看到错误讯息。 stderr 可用  >& 转向,用 >>& 将错误讯息附加在档案尾端。  □ 管道∶管道的符号是 '|',用来连接两个命令。'|' 左边指令的输出作为 '|'右边指令的输入。例∶ls -l .. | more 可将上一层目录内容以一页一页方式输出;who | grep b.503 | sort | more 可将目前上线的电机系学生名单经过排序後分页输出。  ○ 第九节 Shell 与 Shell Script 简介 ○  □ DOS 的 COMMAND.COM 就是一种 shell,负责解译你所下的指令并执行它。同样的,UNIX 上也有这样的东东,它是在你成功 login 以後由系统自动启动的。UNIX 上有不少种 shell,sh, csh, ksh, tcsh, bash 等皆是,一般都是用csh,login shell 可用 ypchsh 命令改变,但你必须先知道你要换的新壳子在那个目录下。tcsh 有类似 DOSKEY 的功能,值得推 。  □ DOS 中有所谓的批次档,用以方便处理一些例行工作。UNIX 也有批次处理,它就叫做 Shell Script,而且比 DOS 的批次档强很多,写法几乎是一个高阶语言。Shell Script 是个文字档,但其地位和其它的命令或可执行档是完全相同的,只要用 chmod 指令将 Shell Script 存取权设为可执行即可。欲知 Shell Script 写法及其相关细节,请参阅 manual page 或 UNIX 相关书籍。  □ $home 目录下的 .login 档就是一个典型的 Shell Script,类似 DOS 的autoexec.bat。  ○ 第十节 X Window 视窗系统简介 ○  □ 若你在工作站主机 login,可打 startx 或 openwin 指令进入 X Window 系统,进入 XWindow 後按滑鼠左键或右键不放,可看到系统选单,选择你要执行的程式,选 Exit 就可离开 XWindow 系统。进入 X Window 後可启动 cxterm 就有中文视窗。  □ X Window 系统大而繁杂,但操作上不难,欲深入 解其功能可参阅 X Window的标准本 。网路上也有免费的 X Window 入门指南中文本,可进各大gopher 站查阅或抓取。
推荐信息