UNIX命令详解(下)

日期: 2008-04-16 来源:TechTarget中国

  E. 网路指令:

  UNIX 提供网路的连接,使得你可以在各个不同的机器上做一些特殊的事情,如你可以在系上的 iris 图形工作站上做图形的处理,在系上的 Sun 上读 News ,甚至到学校的计中去找别系的同学 talk 。这些工作可以利用 UNIX 的网路指令,在你的位子上连到各个不同的机器上工作。如此一来,即使你在寝室,也能轻易的连至系上或计中来工作,不用像以前的人必须泡在冷冰冰的机房面。

  这些网路的指令如下所述:

  1. rlogin 与 rsh
  rlogin 的意义是 remote login , 也就是经由网路到另外一部机器 login 。
  rlogin 的格式是:

  rlogin host [ -l username ]

  选项 -l username 是当你在远方的机器上的 username 和 local host 不同的时後,必须输入的选项,否则 rlogin 将会假设你在那边的 username 与 localhost 相同,然後在第一次 login 时必然会发生错误。

  rsh 是在远方的机器上执行某些指令,而把结果传回 local host 。rsh 的格式如下:

  rsh host [ -l username ] [ command ]

  如同 rlogin 的参数 -l username , rsh 的 -l username 也是指定 remote host的 username 。而 command 则是要在 remote host 上执行的指令。如果没有指定 command ,则 rsh 会去执行 rlogin ,如同直接执行 rlogin 。

  不过 rsh 在执行的时候并不会像一般的 login 程序一样还会问你 password , 而是如果你没有设定 trust table , 则 remote host 将不会接受你的 request 。

  rsh 须要在每个可能会做为 remote host 的机器上设定一个档案,称为 .rhosts。这个档案每一行分为两个部份,第一个是允许 login 的 hostname , 第二个部份则是允许 login 的 username 。例如,在 ccsun7.csie.nctu.edu.tw 上头你的username 为 ysjuang , 而你的 home 下面的 .rhost 有以下的一行:

  ccsun6.cc.nctu.edu.tw u8217529

  则在 ccsun6.cc.nctu.edu.tw 机器上的 user u8217529 就可以用以下的方法来执行 rsh 程式:
% rsh ccsun7.csie.nctu.edu.tw -l ysjuang cat mbox

  将 ysjuang 在 ccsun7.csie.nctu.edu.tw 上的 mbox 档案内容显示在 local hostccsun6.cc.nctu.edu.tw 上。

  而如果 .rhost 有这样的一行,则 ccsun6.cc.nctu.edu.tw 上的 user u8217529将可以不用输入 password 而直接经由 rsh 或 rlogin login 到ccsun7.csie.nctu.edu.tw 来。

  注意:

  .rhost 是一个设定可以信任的人 login 的表格,因此如果设定不当将会让不法之徒有可以乘机侵入系统的机会。 如果你阅读 man 5 rhosts ,将会发现你可以在第一栏用 + 来取代任何 hostname ,第二栏用 + 来取代任何username 。

  如一般 user 喜欢偷懒利用 ” + username ” 来代替列一长串 hostname ,但是这样将会使得即使有一台 PC 上跑 UNIX 的 user 有与你相同的username , 也可以得到你的 trust 而侵入你的系统。这样容易造成系统安全上的危险。因此本系禁止使用这样子的方式写你的 .rhost 档,如果发现将予以停机直到你找中心的工作人员将其改正为止。 同理,如果你的第二个栏位为 + ,如” hostname + ” ,则你是允许在某一部机器上的”所有”user 可以不用经由输入 password 来进入你的帐号,是壹种更危险的行为。所以请自行小心。

  2. telnet

  telnet 是一个提供 user 经由网路连到 remote host。
  telnet 的 格式如下:

  telnet [ hostname | ip-address ] [ port ]

  hostname 为一个像 ccsun1 或是 ccsun1.cc.nctu.edu.tw 的 name address,ip-address 则为一个由四个小於 255 的数字组成的 ip address ,如 ccsun1的 ip-address 为 140.113.17.173 ,ccsun1.cc.nctu.edu.tw 的 ip-address为 140.113.4.11 。你可以利用 telnet ccsun1 或 telnet 140.113.17.173 来连到 ccsun1。

  port 为一些特殊的程式所提供给外界的沟通点,如资工系的 MUD 其 server 便提供一些 port 让 user 由这些 port 进入 MUD 程式。详情请参阅 telnet(1)的说明。

  3. ftp

  ftp 的意义是 File Transfer Program ,是一个很常应用在网路档案传输的程式。ftp 的格式如下:

  ftp [ hostname | ip-address ]

  其中 hostname | ip-address 的意义跟 telnet 中的相同。

  在进入 ftp 之後,如果与 remote host 连接上了,它将会询问你 username与密码,如果输入对了就可以开始进行档案传输。

  在 ftp 中有许多的命令,详细的使用方式请参考 ftp(1) ,这里仅列出较常用的 cd , lcd , mkdir , put , mput , get , mget , binary , ascii ,prompt , help 与 quit 的使用方式。

  ascii 将传输模式设为 ascii 模式。通常用於传送文字档。

  binary 将传输模式设为 binary 模式,通常用於传送执行档,压缩档与影像档等。
cd remote-directory 将 remote host 上的工作目录改变。

  lcd [ directory ] 更改 local host 的工作目录。

  ls [ remote-directory ] [ local-file ] 列出 remote host 上的档案。

  get remote-file [ local-file ] 取得远方的档案。

  mget remote-files 可使用通用字元一次取得多个档案。

  put local-file [ remote-file] 将 local host 的档案送到 remote host。

  mput local-files 可使用通用字元一次将多个档案放到 remote host 上。

  help [ command ] 线上辅助指令。

  mkdir directory-name 在 remote host 造一个目录。

  prompt 更改交谈模式,若为 on 则在 mput 与 mget 时每作一个档案之传输时均会询问。

  quit/bye 离开ftp .

  利用 ftp ,我们便可以在不同的机器上将所需要的资料做转移,某些特别的机器更存放大量的资料以供各地的使用者抓取,本校较著名的 ftp server有 NCTUCCCA 与系上的 ftp.csie.nctu.edu.tw 。这些 ftp server 均有提供一个 user 称为 anonymous ,一般的”外来客”可以利用这个 username 取得该 server 的公共资料。不过 anonymous 在询问 password 时是要求使用anonymous 的使用者输入其 email address,以往有许多台湾的使用者在使用国外的 ftp server 时并没有按照人家的要求输入其 email address,而仅是随便打一些字串,引起许多 internet user 和管理者的不满,对台湾的使用
者的风评变得很差,因此遵循各 ftp server 的使用规则也是一件相当重要的事。

  f. 关於通讯用的指令:

  1. write

  这个指令是提供使用者传送讯息给另一个使用者,使用方式:write username [tty]

  2. talk/ytalk/cytalk/ctalk

  UNIX 专用的交谈程式。会将萤幕分隔开为你的区域和交谈对象的区域,同时也可和不同机器的使用者交谈。使用方式:

  talk username[@host] [tty]

  3. mesg

  选择是否接受他人的 messege , 若为 messege no 则他人的 messege 将无法传送给你,同时他也无法干扰你的工作。使用方法:

  mesg [-n|-y]

  4. mail/elm

  在网路上的 email 程式,可经由此程式将信件 mail 给他人。 使用方式:

  mail [username]
  mail -f mailboxfile

  如有信件,则直接键入 mail 可以读取你的 mail .

  elm 提供较 mail 更为方便的介面,而且可做线上的 alias . 你可以进入 elm使用上下左右键来选读取的信件,并可按 h 取得线上的 help 文件。

  使用方式:

  elm [usernmae]
  elm -f mailboxfile

  g. 编译器( Compiler ):

  Compiler 的用处在於将你所撰写的程式翻译成一个可执行档案。在资工系常用的程式语言是 C , pascal , FORTRAN 等。你可以先写好一个 C 或 Pascal或 FORTRAN 的原始程式档,再用这些 compiler 将其翻成可执行档。你可以用这个方法来制造你自己的特殊指令。

  1. cc/gcc (C Compiler)
  /usr/bin/cc
  /usr/local/bin/gcc

  语法: cc [ -o execfile ] source
  gcc [ -o execfile ] source

  execfile 是你所希望的执行档的名称,如果没有加上 -o 选项编译出来的可执行档会以 a.out 做为档名。 source 为一个以 .c 做为结尾的 C 程式档。请参阅 cc(1) 的说明。

  2. pc (Pascal Compiler)
  /usr/local/bin/pc

  语法: pc [ -o execfile ] source

  execfile 是你所希望的执行档的名称,如果没有加上 -o 选项编译出来的可执行档会以 a.out 做为档名。 source 为一个以 .p 做为结尾的 Pascal 程式档。 请参阅 /net/home5/lang/man 中 pc(1) 的说明。

  3. f77 (Fortran Compiler)
  /net/home5/lang/f77

  语法: f77 [ -o execfile ] source

  execfile 是你所希望的执行档的名称,如果没有加上 -o 选项编译出来的可执行档会以 a.out 做为档名。 source 为一个以 .p 做为结尾的 FORTRAN 程式档。

  h. 有关列印的指令:

  以下为印表所会用到的指令,在本系的印表机有 lp1 , lp2 ( 点矩阵印表机 ),lw , sp , ps , compaq ( 雷射印表机 ),供使用者使用。

  1. lpr

  lpr 为用来将一个档案印至列表机的指令。

  用法:
  lpr -P[ printer ] file1 file2 file3 ….

  或
  lpr -P[ printer ] < file1

  例子:
  lpr -Plp1 hello.c hello.lst hello.map
  lpr -Plp1 < hello.c

  前者以参数输入所要印出的档案内容,後者列印标准输入档案( standard input )的内容,因已将 hello.c 转向到标准输入,故会印出 hello.c 的档案内容。

  2. lpq
  lpq 是用来观察 printer queue 上的 Jobs 。

  用法:
  lpq -P[ printer ]

  3. lprm
  lprm 是用来取消列印要求的指令。 通常我们有时会印错,或是误送非文字档资料至 printer , 此时就必须利用 lprm 取消列印 request ,以免造成资源的浪费。

  用法:
  lprm -P[ printer ] [ Jobs id | username ]

  lprm 用来清除 printer queue 中的 Jobs , 如果你使用 Job Id 作为参数,则它将此 Job 自printer queue 清除,如果你用 username作为参数,则它将此 queue中所有 Owner 为此 username 的 Jobs 清除。

  i. 更改个人使用资料:

  1. passwd
  passwd 是用来更改你的使用密码,用法为:

  passwd [ username ]

  在使用 passwd 的时候,它会先问你的旧密码,然後询问两次要更改的密码,确定无误後才将你的密码改掉。

  2. chsh
  chsh 是提供使用者更换 login shell 的指令,你可经由此更换自己使用的 shell 。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐