返回主页 网页编辑 图形图象 动画制作 操作系统 网络知识 办公软件 程序语言  多媒体  留言板  联系作者

 

UNIX命令

 

UNIX基本概念介绍

 

UNIX基本指令简介

  档案处理和vi指令
  进程处理指令
  字符串处理指令
  网路指令
  通讯用指令
  打印指令
  系统指令
  FTP指令大全
  shell处理
  NFS介绍
 

目  录

 

  UNIX基本概念介绍

    在login:出现後,打入帐号名称,然後输入密码,现在你已经完成login的动作,进入 UNIX了。在进入之後,系统会启动"shell",这个程式会接受你打的指令,去执行它, shell有好几种,有csh、tcsh、sh、bash、ksh...,我主要指的是csh。基本上,我们待会谈的指令都是在shell下输入的。 会谈的指令都是在shell下输入的。

  当你输入set指令,你会看到一些变数,来看几个重要的

  home:家。Home是你拥有的地方,你可以在这个目录下放置任何东东。你一进 入系统,一定是先到这里的。

  path:路径。通常执行档是放在不同的地方,系统会顺著path中的目录一个个 去找执行档。

  term:终端机。表示现在的终端机形态,常用vt100、vt102、ansi。

  set =xxxx就可以设定变数的值,$ 代表这个变数。

  例如:setterm=vt100
     setpath=($home/bin$path)
     echo$term vt100

□文件系统介绍

  UNIX的档案系统呈树状结构,包含了目录(Directory)和档案(file)。如果说你以前有 接触过DOS,那应该不陌生;如果没有,那你应该仔细瞧瞧。

  一、目录(Directory) 基本上,目录是用来分类档案的。

  目录下面可以包含许多档案,或是许多目录,而这些下层的目录就叫″子目录″(subdirectory),它们也都具有相性质。由这些目录所构成的一层层分枝,看起来就像一棵树,所以才叫树状 结构,而最上面的目录称作″根目录″。  

  一个目录在建立的时候,具有两个基本项目:″.”和″..”。”.”指的 是目录本身,而″..”指的是上一层的目录,这两个是一直跟著目录共存亡 的。
  这是档案系统简图,很像一棵树吧!

  ┌Joe.....
  │┌Mail┬joe
  ││├Mary
  ┌—users┼Tom┤└Eric
  ││└dead.letter
  │└Mary┬Mail.....
  │└.... /┼—bin┬ls
  │├mail
  │├rm
  │└cp
  └—tmp

   二、档案(file) 档案是储存资料的地方,这个资料可能是一份文字档,也可能是一个可执行的 程式,不同功能的档案,有著不同的属性,现在来看看。

  %ls-l

  total1059
  drwx------4 jong 512 Sep614:54 Mail
  drwxr-xr-x2 jong 512 Oct2219:02 News

  在每个档案前有十个字,第一个字元是档案形式,d指目录,-指档案,l指 连结(link)档案。

  从二到十是属性,三字一组,一共三组。一组三字代表<读、写 、执行>,即rwx,-则表无此属性。第一组是owner,第二组是group, 第三组是others。

   rw-------只有owner可读写
  r-xr-xr-x可读、执行,不可写
  rw-r--r--owner可读写,其他只可读 档案的名字除了"/"之外,都可以用,随便多少都可以。

  档案开头是"."的档 案是隐藏档,平常看不到,要用ls-a或ls-al来看

□进程(process)

  一个正在执行中的程序,我们称做process。

  UNIX是多工的系统(multitasking), 可以同时执行多个程式,让好几个人同时使用系统,执行程式。

  执行程式可分为两种

    前景执行(foreground)和背景执行(background)
    一般我们在shell下执行程式,一直 要等到程式结束才能继续输入指令,这就是前景执行。
    如果说我们不想等待程式结束, 或是执行时间太长,就可以将程式放到背景去执行,系统会自动执行它,而你就可以去 做别的事了。 怎样才能把程式放入背景?只要在指令後面加上"&"就可以了。一但你在背景执行 程式,系统会传回"[n]xxxx",n是jobid,xxxx是processid。每一个process都有 processid,而且不会有重覆。 要想停止前景执行的程式,可以按
  CTRL_C 中止,若是想暂停一下,可以按 CTRL_Z 暂时停止执行,要恢复执行可以用fg或bg来决定前景或背景执行。

  好,下面说说unix一些系统目录的作用

UNIX基本结构:

  A. login / logout

  我们要能够进入 UNIX 系统。每个人都有一个 username 与 password, username 是你在这个系统中的名字,而 password 就是密码,用来 保护你的帐号不会被别人偷走。 我们称进入系统的动作为 login ,在进入系统之前,首先我们会见到以下的画面:

  SunOS UNIX (ccsun24) login:

  然後你 login: 之後接著打你的 username ,系统就会自动找出你的资料, 接著出现一行

  password:

  这时所要输入的就是你的密码了。在输入密码的时候,并不会显示在萤幕上, 避免你的密码在使用的时候被别人偷看到。 如果你的密码正确,系统会显示出你已经 login 的讯息,并显示上一次 login 的时间。当系统完成对你的使用环境设定的工作时,会显示出一个提示符号,如下面的形式:

  jjtseng@ccsun28:/u/gcp/82/8217529/doc ! >

  在 > 符号之後你就可以输入你所要下的指令( command ) ,如 ls , who , 等 等。
  不过要注意的是,在 UNIX 之下英文字母的大小写是有差别的,如果像我的 username 是 jjtseng , 则我打入 JJTseng ,系统就不知道这个 user 是谁了。同 样的,你所下的指令也要注意大小写的差别。

  UNIX 的指令分成两种,一种是实际存放在档案系统的程式,如 ls , who , cat , more ....等等都是,另一种是 shell 内建的指令,後面的内容对这两种指令都会有详细的介绍。你也可以写程式来增加你可使用的指令。 当你用完系统,准备离开时,别忘了要 logout ,否则人虽然走了,可是还会有人在你离开系统後用你的名义使用系统。

  离开系统可以使用 exit 指令。键入 exit , 按 enter 键, 系统就会离开,而等待下一个人进入系统

  B. Shell

  Shell 的原意是壳,在 UNIX 里面就是一个提供使用者使用的环境。每一个 使用者在 login 後系统会提供使用者一个 login shell , 在使用期间使用者亦 可自行开启其他的 shell 用以执行 shell script 或是另外建立一个使用环境。

  Shell 本身是一种解译器( Interpreter ), 它提供一种语言,供使用者对作业系统下达指令,我们一般的指令就是它的语言的一个最简单的格式。你也可以在使用期间根据一些使用的状况来加上回圈及判断结构,通常我们在写一个 shell script 时比较会利用到 shell 的其他语言结构( if , for , while 等),不过在 命令列提示号之下亦可直接使用。

  你可以将一连串的命令写到一个档案,建立一个 shell script , 这样你就可 以将一些常做的事情直接整理成一个大的 batch job 。 在 shell 中还提供使用者方便的利用 UNIX 的转向及 pipe 功能,使用者可以 利用这些功能将指令的输出存档或做为另一个指令的输入,也可以将大量的输入资料放在一个档案中,然由让指令自此档案抓取所需之输入资料。

  除此之外, shell 也提供建立别名( alias )和变数( variable )的功能,使 得使用者可以更加弹性的对系统下达命令。 其馀有关 shell 更详细的使用说明请参照本网站的其它部份。

  C. 档案、目录、与档案系统

  UNIX 使用一个 single root 的树状结构档案系统,最顶层称为根目录( root ), 包含许多目录,每一个目录底下均存放许多的档案与子目录,用这样的树状结构从根 目录到每一个档案均会有一个唯一的找寻的路径。而每一个使用者在 UNIX 下面均有 一个 HOME directory ,做为这个使用者个人资料的存放处。

  UNIX 的每一个目录里头,有两个特殊的目录:
    一个是其本身「.」
    另一个 是其上一层目录「..」

  这两个目录的用途在於使得树状架构的档案系统各目录 可以很轻易的双向沟通,同时在使用上也较为方便。

  在 UNIX 上一些特殊的目录储存了各种不同需求的档案与作为指令的程式,如下所述(可能随系统不同梢有不同):

  (1)

   /bin
   /usr/bin
   /usr/ucb

   /bin 和 /usr/bin 两个目录主要放的是标准的指令,例如 ls , rm , cat ... 等等,各个系统的 /bin , /usr/bin 下的指令大多都相同,主要在避免不同 UNIX 系统之间的差异性。

   /usr/ucb 放的是由 U.C. Berkeley 所发展出来的一些应用程式,像 telnet , ftp , rlogin , rsh 等均存放在此。

  (2)

   /lib 、/usr/lib

  在此目录之中所存放的是所有程式所需要的程式库。

  在 UNIX 中,编译程式时常需要许多的函数和副程式,而这些函数和副程式多存放在程式库( library ) 写程式时就不用重新撰写这些部份的程式码了。 同时,大部份的 UNIX 执行档在编译完成时将不会将副程式的程式码加到执行 档中,而是等到执行时才自程式库取出副程式的程式码,这种动作称为动态链 结( Dynamic link ),可想而知这样的设计可以减少许多的储存空间,而这些 供动态链结用的程式库亦是存放在 /usr/lib 中,所以这个目录是非常重要的 目录,如果它的内容有错往往会造成系统完全无法工作。

  (3)

   /etc

   /etc 这个目录是存放管理 UNIX 系统用的程式,以及一些系统设定档。

  (4)

  /home2/X11R5

  存放的最普遍的图形使用者介面( Graphics User Interface , GUI ) 是由麻省理工学院(MIT)所发展出来的 X window , 目前使用的是 X11R5(Version 11 Release 5),这一部份的程式,程式库,标头档及其他资源档均放在 /home2/X11R5 这个目录下。

  (5)

   /usr/man

  在 UNIX 中,提供 man 指令( manual )让使用者在使用时可随时察询一些指令, 函数,表格的使用法和规格,是一个非常有用的指令,而这些指令的 help 讯息 就是存放在 /usr/man 下面

 

返回
欢迎使用:浏览器IE5.0  800*600分辨率
栏目制作:无雅