UNIX--教程--1-(zt)

发表于:2007-05-26来源:作者:点击数: 标签:
○第一节命令格式○ 命令[选项][处理对象] 例:ls-lamydir □命令一般是小写字串,注意大小写有别。 □选项通常以减号(-)再加上一个或数个字元表示,用来选择一个命令的不同操作 □同一行可下数个命令,命令间应以分号隔开。 □命令之後加上nbsp;可使该命令背

○ 第一节  命令格式 ○ 
        命令 [选项] [处理对象] 
        例:  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 b1503045    37106 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),在台大计中 clearcase/" target="_blank" >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)位元为 on 
                2000  程式执行时,设定使用者所属团体识别码(SGID)位元为 on 
                1000  sticky bit on,程式执行後会常驻记忆体。 
              符号法  -- chmod <who op 存取权> [<who op 存取权> ...] <档案> 
              <who>   u (user)  档案拥有者 
                      g (group) 所属 group 
                      o (other) 其他使用者 
                      a (all)   包括 u, g, o 
              <op>    + 加上存取权 
                      - 除去存取权 
                      = 重新设定存取权 
              <存取权> 有 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 并复制一份於档案中

 C.Arthur 回复于:2004-02-22 15:49:03
非常感谢:)

原文转自:http://www.ltesting.net