
山东能源集团强素质建设学习型总部机关.doc
16页Unix学习笔记一. Unix根本知识l Unix系统组成UNIX操作系统结构由三大局部组成,图1-1各组成部件间关系图:图1-1 Unix系统组成部件关系图UNIX Kernel〔UNIX内核〕:是UNIX操作系统的核心,指挥调度UNIX机器的运行,直接控制计算机的资源,保护用户程序不受错综复杂的硬件事件细节的影响UNIX Shell〔UNIX外壳〕:是一个UNIX的特殊程序,是UNIX内核和用户的接口,是UNIX的命令解释器、也是一种解释性高级语言目前常见的Shell有四种,如表1-1 shell类别表所示:表1-1 shell类别表特征描述BourneKornCPOSIX图1-2 历史命令图1-3 以前使用过的命令可以存放在缓存中做修改或重新调用图1-4 否图1-5 是图1-6 是图1-7 是图1-8 行编辑图1-9 可以用文本编辑器修改当前或以往的命令图1-10 否图1-11 是图1-12 否图1-13 是图1-14 文件名补齐图1-15 在命令行中自动补齐文件名图1-16 否图1-17 是图1-18 是图1-19 是图1-20 别名命令图1-21 可以用来重命名命令,自动包括,命令选项和精简长命令行图1-22 否图1-23 是图1-24 是图1-25 是图1-26 限制版SHELL图1-27 着眼于平安方面的特征,其环境的功能受到限制图1-28 是图1-29 是图1-30 否图1-31 是图1-32 作业控制图1-33 跟踪和访问在后台执行进程的工具图1-34 否图1-35 是图1-36 是图1-37 是对HP-UX来说,一般系统缺省为POSIX Shell, 考虑到在智能网应用中,大多数用户使用的shell为csh,所以,在本书中除超级用户shell为POSIX shell外,其他用户的shell为csh〔特殊提出除外〕。
要想将当前Shell改为其它 Shell,只需在操作系统提示符下键入相应的Shell命令即可如在其它Shell下输入命令:% ksh就进入了K Shell工具及应用程序:UNIX提供了很多工具软件和应用程序供用户使用,如vi编辑器、文件查找、备份等等二. Unix常用命令l 关於档案/目录处理的指令:1. ls 这是最根本的档案指令 ls 的意义为 "list",也就是将某一个目录或是 某一个档案的内容显示出来 如果你在下 ls 指令後头没有跟著任何的档名,它将会显示出目前目录中所 有档案 也可以在 ls 後面加上所要观察的目录名称或档案的名称,如 % ls /home2/X11R5 % ls first ls 有一些特别的参数,可以给予使用者更多有关的资讯,如下: -a : 在 UNIX 中假设一个目录或档案名字的第一个字元为 "." , 那么使用 ls 将不会显示出这个档案的名字,我们称此类档案为隐藏档如 tcsh 的初设档 .tcshrc;如果我们要观察这类档案,那么必须加上参数 -a -l : 这个参数代表使用 ls 的长( long )格式,可以显示更多的资讯, 如档案存取权,档案拥有者( owner ),档案大小,档案最後更新 日期,甚而 symbolic link 的档案是 link 那一个档等等。
如下 % ls -l drwx--x--x 2 jjtseng 512 Aug 8 05:08 18 drwx--x--x 2 jjtseng 512 Aug 8 22:00 19 -rw------- 1 jjtseng 566 Aug 8 05:28 makefile 2. cp cp 这个指令的意义是复制("COPY") , 也就是将一个或多个档案复制成另 一个档案或者是将其复制到另一个目录去 cp 的用法如下: cp f1 f2 : 将档名为 f1 的档案复制一份为档名为 f2 的档案 cp f1 f2 f3 ... dir : 将档案 f1 f2 f3 ... 都以相同的档名复制一 份放到目录 dir 里面 cp -r dir1 dir2 : 将 dir1 的全部内容全部复制到 dir2 里面 cp 也有一些参数,如下: -i : 此参数是当已有档名为 f2 的档案时,假设迳自使用 cp 将会将原来 f2 的内容掩盖过去,因此在要盖过之前必须先询问使用者一下如使用者 的答复是y(yes)才执行复制的动作 -r : 此参数是用来做递回复制用,可将一整颗子树都复制到另一个 目录中。
3. mv mv 的意义为 move , 主要是将一档案改名或换至另一个目录如同 cp ,它也有 三种格式: mv f1 f2 : 将档名为 f1 的档案变更成档名为 f2 的档案 mv dir1 dir2 : 将档名为 dir1 的目录变更成档名为 dir2 的目录 mv f1 f2 f3 ... dir : 将档案 f1 f2 f3 ... 都移至目录 dir 里面 mv 的参数有两个,-f 和 -i , 其中 -i 的意义与 cp 中的相同,均是 interactive 询问之意而 -f 为强迫( force ) , 就是不管有没有同名的档案,反正我就是要 搬过去,所有其他的参数遇到 -f 均会失效 4. rm rm 的意义是 remove ,也就是用来杀掉一个档案的指令在 UNIX 中一 个被杀掉的档案除非是系统恰好有做备份,否那么是无法像 DOS 里面一样还能够救回 来的所以在做 rm 动作的时候使用者应该要特别小心 rm 的格式如下: rm f1 f2 f3 ..... 而 rm 的参数比拟常用的有几个: -f , -i , 与 -r -f : 将会使得系统在删除时,不提出任何警告讯息。
-i : 在除去档案之前均会询问是否真要除去 -r : 递回式的删除 小心不要随便使用 rm -rf , 否那么有一天你会"欲哭无泪"...... 5. mkdir mkdir 是一个让使用者建立一个目录的指令你可以在一个目录底下使用 midir 建立一个子目录,使用的方法如下: mkdir dirname1 [ dirname2 ... ] 如此你就可以建立一个或多个目录 6. chdir ( cd ) 这是让使用者用来转移工作目录用的 chdir 的用法如下: chdir dirname 如此你就可以将目前的目录转移到 dirname 这一个目录去 或使用 "chdir .." 来转移到上一层目录 7. rmdir 相对於 mkdir ,rmdir 是用来将一个"空的"目录杀掉的如果一个目录下面 没有任何档案,你就可以用 rmdir 指令将其除去rmdir 的使用法如下: rmdir dirname1 [ dirname2 .... ] 如果一个目录底下有其他的档案, rmdir 将无法将这个目录杀掉,除非使用 rm 指令的 -r 选项 8. pwd pwd 会将目前目录的路径( path )显示出来,例如: 9. cat/more/less 以上三个指令均为观察档案内容的指令。
cat 的意义是猫....不不不,是 concatenate ,在字典上的意思是"连结,将…串成锁状"( 语出资工电子 词典 cdict ),其实就是把档案的内容显示出来的意思 cat 有许多奇怪 的参数,较常为人所使用的是 -n 参数,也就是把显示出来的内容加上行 号 cat 的用法如下: cat [-n] :自标准输入读进内容,你可以用 pipe 将别的程式的输出转向 给 cat . cat [-n] filename : 将 filename 的内容读进来,显示在标准输出上 问题在於 cat 它是不会停下来的,因此并不好用( 试想如果一个萤幕二十 四行,而一个档案四百行,cat 一出来将会劈哩啪啦不断的卷上去,使用者 很难据此得到他们所需的资讯) 所以才有人又写了 more 出来 more , 跟据蔡文能老师的说法是"再多一点就好",more 可以将所观察的档案 跟据终端机的形态一页页的显示出来,再根据使用者的要求换页或卷行如果 使用者要在某一个档案中搜寻一个特定的字串,那么按 / 然後跟著打所要搜寻 的单字即可进行搜寻more 也可以找得到more 的使用法如下: more filename 如果你在使用中觉得已经看到了所要看的部份,可以按´q´离开 more 的使用。
在使用中按´v´ 亦可以使用编辑器来编辑所观看的档案 less 的用法与 more 极类似,原先它就是为了弥补 more 只能往前方卷页的缺 点而设计 less 的用法如下: less filename 其与 more 不同的是它可以按 y 来往上卷一行,并且可以用"?"来往回搜寻你所 要找的单字 10. chmod chmod 为变更档案模式用( change mode ) . 这个指令是用来更改档案的存取模 式( access mode )在 UNIX 一个档案上有可读(r)可写(w)可执行(x)三种模式, 分别针对该档案的拥有者( onwer )、同群者( group member )( 你可以 ls -lg 来观看某一档案的所属的 group ),以及其他人( other )一个档案如果改成可 执行模式那么系统就将其视为一个可执行档,而一个目录的可执行模式代表使用者 有进入该目录之权利chmod 就是用来变更一些档案的模式,其使用方式如下: chmod [ -fR ] mode filename ... 其参数的意义如下: -f Force. chmod 不会理会失败的动作 -R Recurive. 会将所有子树下的所有子目录及档案改为你所要改成的模式。
mode 可以为一个三位或四位的八进位数字,来表示对某些对象的存取权详情 可参阅 chmod(1) 的 manual page 中有关 Absolute Modes 的说明 或是用一个字串来表示,请参考 chmod(1) 的说明 l Vi编辑器用法〔一〕、进入vi 在系统提示字符(如$、#)下敲入vi <档案名称>,vi 可以自动帮你载入所要编辑的文件或是开启一个新 文件〔如果该文件不存在或缺少文件名〕进入 vi 后萤幕左方会出现波浪符号,但凡列首有该符号就代 表此列目前是空的 (二〕、两种模式 如上所述,vi存在两种模式:指令模式和输入模式在指令模式下输入的按键将做为指令来处理:如输入 a,vi即认为是在当前位置插入字符而在输入模式下,vi那么把输入的按键当作插入的字符来处理指令 模式切换到输入模式只需键入相应的输入命令即可〔如a,A〕,而要从输入模式切换到指令模式,那么需在 输入模式下键入ESC键,如果不晓得现在是处於什麽模式,可以多按几次 [ESC],系统如发出哔哔声就表 示已处于指令模式下了 附:由指令模式进入输入模式的指令: 新增。
