HOUSCOUS 发表于 2002-11-28 15:02:44

Unix基础 (转载自Unix Easy Learn)

Unix 介绍

UNIX操作系统是贝尔实验室于六十年代末用C语言研制开发的。经过几十年的发展,已经 成为流行于从大型机、小型机到工作站甚至微机等多种平台的操作系统。UNIX的成功同 时也推动了C语言的普及。本教材的目的是讲解UNIX系统下的C程序设计,使C程序员快速 掌握UNIX系统下的编程开发。作者在进行UNIX编程开发的实践过程中,深感实例的重要 性-一个简短的C语言实例往往胜过长篇累牍的文字说明,当然了,文字说明也是必不可 少的。本教材将本着实例优先的原则,使您能够对UNIX编程开发快速入门。

UNIX的版本不统一是出了名的,从UNIX的发展历史来看,主要有两大流派:AT&T的UNIX 系统V版本和加州大学伯克利分校的BSD版本,在此基础上,各家UNIX厂商均开发了各自 的UNIX操作系统。如:工作站厂商中有HP的hp-ux、SUN的solaris、SGI的irix、IBM的 AIX等,小型机有VAX上的Ultrix,微机上有SCO UNIX、微软的Xenix以及随着Internet 而风靡全球的Linux等。由于Windows NT的异军突起,对UNIX的市场形成巨大的威胁,各 大UNIX厂商不得不联合起来,在工作站市场上,统一以系统V版作为标准,加入BSD版本 中的一些优点,支持统一的CDE(Common Desktop Environment)窗口环境,以与Windows NT进行对抗。

HOUSCOUS 发表于 2002-11-28 15:07:37

Unix基础之 文件基础和Shell

Unix基础之 文件基础和Shell

UNIX向来是强劲的作业系统,屹立多年不倒,但是,对一般使用个人电脑的用户来说,确是比较陌
生,有见及此,编辑部选择了在个人电脑上也可运行自如,毋须庞大的Mainframe或甚麽大机器的SCO
UNIX,介绍给大家,让各位对另一广阔无限的作业领域探首一下,也许玩起Internet时,会有另一
番天地,别错过这一连十二期的「UNIX基础篇」了。

可能有些人会误以为UNIX只是那些功能强劲的庞然大机方会使用的作业系统,谁不知道在个人电脑上,
一样可以使用,只不过所使用的是特别为个人电脑设计的PC UNIX,SCO UNIX就是其中的佼佼者。

对於惯用DOS或视窗环境的朋友来说,UNIX的第一重关卡就是那些「敏感标号」(Sensitive Case),
字母的大小写具有不同的意思,Ls、IS、LS或Is这些指令全不相同,所谓「差之毫厘,谬之千里」,
它对大小写可是绝对敏感的。

文件名称

在SCO UNIX下,建立的文件档案名称,可以是包含最多十四个字母数字字符的任意组合,既可使用
下横「□」,也可使用句号「。」。不过,文件名称却不能使用某些特定字符,因为它们对Shell来
说有特定意义。这些不能用作文件名的字符,分别是「;」「|」、「〈」、「〉」、「’」「$」、
「!」 、「%」、「(」和「)」,而文件名称中也不能含有空白空格等。

文件存取权

每个文件都可以拥有不同的存取权限,界定其它用户能否存取文件和目录。每个文件分为三类所有
权:文件的属性、属主所在小组的成员(即组员),可存取系统的其它用户。用「|」的指令,就
可以查看文件的权限。

drwxrwx…

好像上列的文件存取权限,第一个符号指示文件类型,减号为普通文件,d则表示目录文件。接著
的九个字符分成三组,分别表示属主、组员和其它用户的存取权;每组有三种存取权:「代表读
(Read)、w代表写(Write)和x代表执行(Execute)。而没有存取权的相应位置则会出现减号
(-)代替。

目录存取权

基本上,文件与目录之间的存取权的设置大致一样,但仍有些微分别。首先,要查看目录的存取
权限,就要在「|」之後,加一个空白处,再加上「-d」。如果要改变当前目录,则用「cd」。

改变存取权限

要加文件或目录的存取权限,可用「chmod」的指令,例子如下:

$chmod g+rw filename

g代表更改组员可以享有的存取权限,+rw就是让组员可以读与写该文件。而u则代表文件的属性,
o代表其它用户;减号(-)则代表取消某类人的某些存取权限。另一种更改权限的方法,就是使
用八进制的数值指定存取权。每个符号赋与一个数值,r是4,w是2和x是1。例如组合读与写,其存
取权的数值就是6。又譬如欲使文件对文件属主、组员和其它用户均具读写权,指令如下:

$chmod 666 filename

更改用户属主

每当创建新档案与目录时,标记你是属主,你的同组人员为组员,如果要把文件的使用权交给别人,
只有属主方可更改,指令如下:

$chown owner file

chown改变了文件的身分ID (UID)改变属组要改变文件所属的组别--文件组ID(GID),指令变为:

$chgrp group file

浏览文件内容

需要求助,可按?键。至於,浏览文件内容有几种方法,可使用more,显示大文件,指令如下:

$more filename

按〈space bar〉,显示正文的下一全屏幕;按〈return〉,转往下一行;按q进出文件;键入模
式前缀(/),就可键入需要查找的匹配模式,若模式找不到,则会显示「pattern not found」
的信息。按pg则逐次翻一个屏幕,而每个全屏幕後,都随提示符(:),按〈return〉,看下一
屏幕,键入+n,向前移动n个屏幕;-n,向後移动n个屏幕;打入$,则移到文件尾。如果使用
Cat看文件内容,就可以在全屏幕上滚动文件内容。在任何位置,按<ctrl>s,文件就会停止滚
动;按<ctrl>q,则会继续滚动;按〈del〉则中断不看。

处理文件

cp指令为复制文件,可以有多种用法。

(一)$cp old.file new.file    备份一个文件

(二)$cp file 1 file 2 Test    将file 1和file 2复制到Test目录下

至於,mv则为改名指令,譬如

$mv fruit apples    就是fruit改名为apples

rm则是删除文件的指令。文件一经删除,就不能恢复它,故此,要加倍小心。

$rm- i filename    加上「-i」,删除前,系统需要确认。

shell环境


何谓shell shell是用户与作业系统之间的交互层,用户修改其环境,设置或取消shell的环境变量,
迎合用户的需要和爱好。shell本身就是一个电脑程序,用C语言编写,为协助用户与作业系统之间
通讯而设计,管理用户与核心(Dernel)之间对话,并把作业系统指令换成机器代码,其实PC用户
常用的DOS,本身就是一个shell。

shell的用途

shell的主要任务是:提示用户打入指令,读指令,转换指令为核心所能理解的语言。其实,shell
可以看作为指令解释程序,提供一些工具,亦可以利用shell的编写工具,构造电脑程序。

System V shell类

SCO System V的shell可分为四大类:Bourne shell;C shell;Korn Shell;和菜单驱动shell。
而菜单驱动shell可再细分为三类,分别是Open Desktop,Sysadmsh或scoadmin和客户应用程序。
每个shell都有自己特定的环境文件,可以自行修改至合用,这些环境文件就仿如DOS的批次档案
(Batch File)。

Bourne shell

对普遍用户来说,Bourne shell可以说是第一个UNIX shell ,它是由AT&T贝尔实验室Stephen
Bourne所编写。默认提示(Prompt)是美元符($),其环境文件为profile文件,由於文件档案
不大,可以马上启动执行。profile是存放在主目录下的普通正文文件(Text File),通过设置
环境变量(Variable)和终端模式,可以使环境个人化,每次注册进入系统时,shell会读入profile
文件,并执行所列出的指令。每当系统管理员创建新用户的户口时,系统都会自动构造一个相应的
.profile文件;而整个系统的环境文件就放置在/etc/.profile中。用户可以使用vi或其他正文编
器修改。若要使用env命令显示,由於注册时已设置了这些变量,也不一定需要另行设置。

C shell

C shell是由Berkeley的Bill Joy编写,是标准BSD(Berkeley System Distributou)命令解释,
其默认提示是份符(%),环境文件则是cshrc和.login。C shell采用C语言,是UNIX和XENIX系统
上公共软件的开发语言,提供了方便工具,快速打入,校正和再打入命令行。.login是C shell的
注册环境文件,负责启动shell,注册时执行一次,而.cshrc则存放常用指令如alias等指令。譬如
我们要创建一个永久别名,把命令who|sort|more别名化为wh,在提示(%)後,只需要键入wh即
可。用户可在.cshrc□键入下面一行:

alias wh 'who/sort/more'

Korn shell

Korn shell是AT&T贝尔实验室David Korn所开发,是Bourne shell的增强版本,综合了Bourne shell
和C shell的特点和约定,而Korn shell则比Bourne和C shell执行得更快。Korn shell的默认提示
与环境文件,跟其前身--Bourne shell一样,同为美元符号($)和.profile文件。

进程控制

虽然同一时间,系统中运行许多进程,但是某一特定时刻,CPU只会让一个进程使用,而CPU则在
行使中的进程之间快速轮换,每个进程所占用的时间,称为时间片。SCO System V为了保持、跟
踪或调度每个进程,会给每个进程一个进程标识号ID或PID。要确定那些进程正在运行,用户可
以使用ps显示阁下的进程;或加上-e选项,显示所有进程;加-f选项,则显示的进程还包括已启
动指令的执行中进程;-u login显示某注册用户的进程。在SCO UNIX System V中,如果阁下拥
有Root指令的作用权,就更可以看到所有进程。当一个指令需要较长时间完成,可以在指令行後
尾加入&元字符, 该指令就会在後台执行,但对交互工作方式的指令就不适用了。

菜单驱动shell

菜单驱动(Menu-Driven)shell可再细分为三项:
一、Open Desktop

Open Desktop采用XWindow图形用户介面,用户可用图符(Icon)窗口和菜单操作,如Open
Desktop的作业系统就是SCO UNIX System V/386。

二、系统管理员Shell:Sysadmsh或scoadmin

Sysadmsh或scoadmin则是字符介面,用户可不用学习指令行语法和选项,就可以执行大批指
令。大多数系统管理任务仅由系统管理处理,系统管理员则有特定的根口令(Root Password)。

三、客户应用程序

某些用户为了存取内部邮件、字处理或报表等应用程序时,方会使用SCO System V,系统管
理员可以装上这些程序,令它们在注册时呈现。许多程序提供一个菜单选项,用简单打键选
取一个选项,用户毋须记著指令和指令选项,亦能操控。

HOUSCOUS 发表于 2002-11-28 15:09:49

Unix基础之 Vi编辑器和系统管理

Unix基础之 Vi编辑器和系统管理

vi editor

任何用户最常做的事要数创建和编辑文件,包括文档、报告和文字,vi(Visual Editor)是一个
有效而相对简单的全荧幕编辑,使用vi,只要记著少量基本指令,就可以开始起步,再学习其他
更复杂的指令,而系统管理员则使用vi管理和维护系统。vi是包含在SCO System V作业系统中的
全荧幕编辑,其实,vi不独存在於SCO UNIX内,而是UNIX内相当普及的文件编辑。开启文件无论
是开启新档或修改旧文件,都可以使用vi,所需指令为:

$ vi filemane

如果文件是新的,就会在荧幕底部看到一个信息,告诉用户正在创建新文件。如果文件早已存在,
vi则会显示文件的首廿四行,用户可再用游标(cursor)移动文件。

This is what vi looks like.





上面是一个经vi开启的模拟文件,一行开始处的波折号(~)表示文件的结尾。指令态与插入态
vi使用了两种状态,一是指令态(Command Mode),另一是插入态(Insert Mode)。当vi处於指
令态时,打入的内容会视作指令来解释;另一方面,当vi处於插入态时,就可以打入正文(text)
给文件。大多数vi指令是单字符,由插入态改变为指令态,指〈Esc〉键;而由命令态转为插入态,
则可以使用下面的插入令,直接打入,无需再按〈Return〉键。

—指令i在游标处插入正文
—指令I在一行开始处插入正文
—指令a在游标後追加正文
—指令A在行尾追加正文
—指令o在游标下面新开一行
—指令O在游标上面新开一行

要记著一点,在插入态处,不能打入指令,必需先按〈Esc〉键,返回指令态。假若户不知身处何
态,也可以按〈Esc〉键,不管处於何态,都会返回指令态。

存档及退出

在修改文件时,如何存档及退出指定文件都非常重要。在vi内,行使存档或退出的指令时,要先
按冒号(:),改变为指令态,用户就可以看见在荧幕左下方,出现冒号(:),显示vi已经改为
指令态,可以进行存档或退出等工作。下面就是一些这方面常用的指令。

:q!放弃任何改动而退出vi,也就是强行退出
:w存档
:wq存档并退出vi
:x与wq的工作一样
:zz与wq的工作一样删除正文
删除或修改正文都是利用插入态,故此,下面所提及的指令只需在插入态内,直接选入指令即行。

—x删除游标处字符(Character)
—nx删除游标处後n个字符
—nX删除游标处前n个字符
—ndw删除游标处下n个单词(word)
—dd删除整行
—d$或D删除由游标至该行最末
—u恢复前一次所做的删除

修改正文

当使用vi修改正文,加减字符时,就会采用另一组在插入态操作的指令。

— r char由char代替游标处的字符
—Rtext〈Esc〉由text代替游标处的字符
—cwtext〈Esc〉由text取代游标处的单词
—Ctext〈Esc〉由text取代游标处至该行结尾处
—cc使整行空白,但保留游标位置,让你开始打入
—如删除指令一样,在指令前打入的数,表示执行该指令多少次。

正文模式检索

要检索文件,必需在指令态下进行。所谓「模式」,就是一个特定字符串,其中可含空格符。

—/str〈Return〉向前搜寻str直至文件结尾处
—?str〈Return〉往後搜寻str直至文件开首处
—n同一方向上重复检索
—N相反方向上重复检索
—vi缠绕整个文件,不断检索,直至找到与模式相匹配的下一个出现。

其他

如果要在 vi执行期间,转到shell执行,使用惊叹号(!)执行系统指令,例如在vi期间,列
出当前目录内容,可以打入

:!If

另一方面,用户可以在主目录中创建.exrc环境文件,用set打入选项,每次调用vi时,就会
读入.exrc中的指令与设置。下面是.exrc环境文件的实例:

set wrapmarging=8
set showmode
set autoindent
set number


系统管理

今次要谈的系统管理员负责管理SCO UNIX的系统,拥有独特的注册名--root,能够读取任何
文件,写入和删除任何文件,执行任何实用程序和指令,亦可以执行和终止任何用户程序。系
统管理员的工作包括系统控制的任务,例如後援加锁和解锁终端和记帐号、增加、隐退和撤消
用户。亦可以给用户一些特权,让他们实现特权系统任务。

基本指令

shell指令的基本数据结构是文件,因此,基本指令和操作包含以下功能:

-显示及管理文件中的指令
-管理目录的指令
-输入输出重新定向和管道,重定向标准I/O,并执行组合指令$W|grep 'john'〉john,file
-输出重定向符(>)把标准输出重新定向输出到文件
--输入重定向符(<)把标准输入重定向从文件输入
-管道符(|)把标准输出重定向输出到别一指令

寻找文件

find(c)指令可以在层次目录中查找文件,例如:
$find/-name filename -exec rm {};

-name filename指定filename
-exec rm表示在所找的文件中执行rm移动这个指令
另外,用户亦可以加入,-print表达式,显示找到文件的全路径名。除此之外,find(c)也可
以用来找出特定用户或用户组所持有的文件,譬如:

$find/-user bin -print

$find/-group mmdf -print

又或者,用find(c)重新定向过滤程序,输出错误信息,例如:

$find/-name motd -print 2〉/dev/null

SCO shell

使用SCO shell,可以让用户从单个菜单中选出应用程序,管理文件和目录,运行系统实用程
序,要调用SCO shell,可键入:

$scosh

可以利用空格条键〈Space Bar〉或箭头键〈Pointer〉移动光标,加亮所选的菜单项

-按〈Esc〉

回到上一级,或放弃当前操作

-按〈F3〉

显示所在字段中可用选项表

-按〈Ctrl〉v 在字段选项表中选出每一项

-按〈F1〉

显示求助信息

-按Quit或打入q 退出SCO shell

系统管理shell

需要调用系统管理员shell,应该打入:

$sysadmsh或$scoadmin

虽然每个用户都可以调用sysadmsh,但是,只有实权的用户才可执行有关特权管理任务。基本
上,使用方法与SCO shell差不了多少,只是多了几个功能键(Function Key),例如〈F5〉
搜索,〈F6〉改变目录和〈F7〉执行格式。而且,scoadmin更可以在XWindow的图形环境下执
行,用户在图符(lcon)上找到不同的管理任务。

多重注册萤幕

控制台上,可以允许用户最多具有十二个不同注册期的萤幕。多重萤幕令系统管理员可以同
时执行几个任务。系统启动时,控制台上的多重萤幕就会自动活动起来。同时按〈Alt〉键与
〈F1〉至〈F12〉功能键,实现萤幕之间转换。至於,在终端上,启动多重注册萤幕,则可用
mscreen实用程序,为正确工作,mscreen要求为tty。例如启动两个萤,应该打入

$mscreen-n2

然後按〈Shift〉键与〈F1〉或〈F2〉键,在两个萤幕之间转换,当注销时,确保所有萤幕注销。

HOUSCOUS 发表于 2002-11-28 15:10:54

Unix基础之 电子邮件和备份

Unix基础之 电子邮件和备份

电子邮件

在SCO System V下,每个用户都有一个系统维护的私人邮箱,用户能够与系统任何用户或用
户组之间收发电子邮件,所收发的信息可以保留在邮箱内或作独立文件处理。 发送邮件打入
mail指令,後跟收件人注册名,就可发送邮件。假如发送邮件给多个收件人,名字用空格符
〈space〉分隔,而不是逗号。收件人可以是一个单独注册名或一个别名,别名代表用户组,
例如:

$mail peter amy

接著,萤幕上会出现subject:的提示符,用户即可打入简短的信息说明,完成後,按〈Return〉
键,然後,就可以编写邮件内容。需要校正错误,就该使用空格符或左箭头键,用不当的空
格符或不合适的箭头键,即使在萤幕上看起来对,但是收件人可能只收到不可读和篡改了的
信息。请记著,mail内的内容编写,不是「 所见即所得」(What You See is What You Get)。
假若需要取消整个信息,按〈del〉键两次。写完邮件内容,按〈Return〉键,取得新行後,按
〈Ctrl〉d,发送邮件。d就是done(完成)的缩写。

阅读邮件

每次注册进入系统时,系统都会通知阁下,在阁下的邮箱中可有邮件,需要翻阅邮件,打入

$mail

若有邮件,每每邮件都会显示出相应的信息标题,包括信息数, 送件人及发送日期。下面是邮
件范例:

$mail

SCO System V mail(Versin 3.2)Type? for Help

"/usr/spool/mail/joesco":2 messages/new/unread

u2 mary Sun Aug 05 23:48 47/2109 level 2500

n1 paul Fri Aug 03 08:01 23/6332 Tardy reports!

要阅读来件,可以使用箭头键移动选取,按〈Return〉键阅读,或在提示处,直接按入来件编
号。若已读到邮箱中最後一批信息,mail在萤幕上会显示"Can't go beyond last message" 。

处理mail

当打入一个无效指令时,mail会回答一个问号,或"What" 的信息,显示指令不清。假若用户想
显示mail指令表,可以打入?;或打入h,显示邮件标题表;打入l,则会发送信息至打印机。另
有一些常用的指令,协助处理mail:

一、保留邮件
"s filename"按普通正文文件保存整个信息至filename内,连同
邮件的标题信息,一并送入文件内。
"w filename"撇除邮件标题後,保存信息到filename内。

二、删除邮件
"d x" 删除信息x这个信息号数
"u x"恢复被删除的x信息

三、覆件
"r"发信回答给送件人
"R"发送回答给To:和Cc:表上的所有用户

四、转发邮件
"f login"转发信息,予其它用户,并分送来件正文(Original
Message);login乃用作的注名
"F login"只转发信息,不分送来件正文

五、退出邮件
"q"退出mail程序,并更新所有改变
"x"退出mail程序,但不作任何改动
其它处理邮件的方法
除了以上所提到的基本指令处理邮件外,SCO UNIX尚有其他较
复杂的指令可整理邮件。在mail内,所有指令前都要加上波折号~
v,调用vi编辑,一旦完成编辑信息,通过vi的指令,例如保存和
退出指令:wq,就可返回mail程序;按〈Ctrl〉d,就可以直接发
送邮件信息。

其它mail的增强指令如下

-~m messate-no.把邮箱中指定信息
(message-no.)放到所编写的信息中
-~r filename读入指定文件(filename),送到当前信息中
-~p察看信息中的当前内容
-~?求助

为了方便mail通讯,系统管理员能够定义不同的特定单用户或组 别名,通过这些单个组、别名
或名字,就可以把邮件信息发送给全组用户。发送给别名成员,可键入如下指令:

$mail aliasname

如果要限制组员和其它用户的私人邮件的存取权限,可以使用chmod指令,例子如下:

$chmod 600mbox

在普通电子邮件提示处打入set,可以控制选项,改变读和发送邮件,这些选项可以由系统管理
员为用户自动建立,也可以自己修改这些设置,例如:

set page 10

mailrc环境文件

mail的环境文件叫做mailrc,负责保存所要文件的永久记录。与其它环境文件一样,mailrc必需
放在主目录中,它是正文文件,包含有效的mail指令,mailrc通常包括set指令和alias 定义。不
过,运行mail程序,倒不一定要有.mailrc文件。如要查看 .mailrc,可以打入more .mailrc,下
面是.mailrc的一个实例: cd

-在mail内,改变主目录nset autombox删除自动把所读件转送到私人邮箱

set page 20

-若信息大於二十行,用more显示

alias crew john wanda frank

-发送给crew的邮件转发给表中列出的用户

set EDITOR /us/lib/word

-把word作为mail默认编辑unset chron

-显示当前最新邮件 上述的.mailrc例的□面,当打入$mail crew,就能够把邮件发送给john,
wanda和frank。 监视mbox是默认设置,如果不想设置的话,应该使用unset autombox,而当mbox
的内容很快增长时,通常会删去旧信息。如果要读mbox中的邮件,可以使用如下指令:

$mail -f mbox

备份

电脑系统内,数据可是相当重要的一环。贮存数据的方法,可以经软盘、硬盘或盒式带(Cartridge),
盒式带通常为大量数据提供後援(Backup)。

复制目录

在安装的文件系统中,把一个目录内容复制到另一个目录中,用copy 指令:

$copy source> destination>

#copy -mor source> destination>

转换并复制文件

使用 dd(c)指令,可以把一个文件转换成另一个文件,也可以选择文件的一部份传输,在传输的
数据中,也可以交换字节顺序。

$dd if=/dev/fd0 of=/temp/save skip=5 count=86 bs=5k

上面的指令″/dev/fd0″ 是指电脑上的软盘,″skip=n″代表在复制到输出文件之前,跳过输入
文件上的几个记录。″bs=n″则表示设置输入输出字节块长度,用 k 表示 1024 字节。″count=n″
只复制输入记录的指定数。同时,也可以利用 dd 指令检查归档(archive)情况,指令如下:
$dd if=dev/fd0 of=/dev/null bs=1k

1200+0 record read in

1200+0 record read out

归档文件:tar(c)

tar 是对非特权用户最易用和最可靠的实用程序(utility),从归档介质上保留和恢复文件,
亦能从多文件归档中抽取单个文件。tar 归档使用文件和目录的相对或绝对路径名。打入 tar,
即会显示所有变量选项;”cv”是创建归档;”cv#”用於来自 /etc/default/tar 的设备号 #;
”rv”追加已有归档;”uv”更新在已有归档上的文件;”tv”显示归档内容表;”xv”从归档
中抽取文件;”f”从指定文件中读入或写出;”L”使 tar 跟随符号连接继续追查下去,默认情
况下则会忽略符号连接。譬如要归档指定文件,而复盖盘上的已有数据,指令如下:

$cd pub

$tar cv6 ascii greek

volume end at 1199k, block factor=5k

seek=0k a ascii 3k

seek=3k a greek 1k

要列出 tar 归纳的内容:

$tar tv6

rw-r--r-- 2/22114 Jan 2 13:41 1996 ascii
rw-r--r-- 2/2475 Jan 2 13:41 1996 greek
创建 tar 归档,使用相对路径名,否则,恢复另一系统就会改写其他系统的文件。

#tar cv6 /etc/motd

#cd /tmp

#tar xv6

x /etc/motd, 943 bytes,2k

归纳文件

当需要後援指定设备、後援空设备与使用匹配符的时候,就不能使用操作容易的 tar,而需要转
用比较复杂的 cpio,用以归纳文件。譬如,需要选取文件建立归档,指令如下:

$find /u/bill -print| cpio -oB -O /dev/fd0

20 blocks

又例如,需要抽取 cpio 归档文件名时:

$cpio -idmuBv -I /dev/fd0

.profile
ascii
eqnchar
greek
20 blocks

cpio 主要选项为:

-v 显示工作
-i 读归档
-o 写入归档
-t 内容表
-d 创建目录
-m 保留原修改日期
-U 无条复制
-B 分割因子置为 5k
-Cn 分割因子置为 n
-Kn 介质长度置为 n

後援复制
後援就是要平衡运行一般後援的代价与损失数据的代价,确定要归档的数据类,并确定要用何
级实现,以及确定所要求磁带的盘数和带的容量,多久存储一次後援等等问题。一般来说,後
援复制可在 sysadminsh 或 scoadmin 执行。所谓增量後援(Incremental Backup Levels),
就是只需要以上次归档後发生改变的那部分数据後援。当实现调度後援时,在/usr/lib/sysadmin/last/
中,将文件记录下来,可以透过使用後援级来实现。

後援级的 0 级就是後援文件系统上全部文件;1 级则後援以上次0 级後援以来改变的文件:2
级,後援以上次 0 级或 1 级後援以来改变的文件;3 级,後援以上级 0级、1 级或 2 级後援
以後改变文件。经定义後援工具後,後援调度(Backup Schedule)就可以更方便地执行,配置
档案则会被安置在 /usr/lib/sysadmin/schedule 中。假若在紧急关头或特殊情况下,用户亦可
以使用非调度放援,进行紧急後援。

HOUSCOUS 发表于 2002-11-28 15:12:11

Unix基础之 用户管理和进程监视

Unix基础之 用户管理和进程监视

用户管理

系统管理员的用户理工作包括:为系统中所有用户建立帐号;以及当改变用户环境、口令与组别
时,进行维护。

分析用户需求

每当需要增加用户时,系统管理员都会先分析用户需求,对每个帐号成分,通过使用默认选项来
满足用户需求。要从sysadmsh中查看默认记帐选项时,可以使用以下选择。

Accounts 〉Defaults

或scoadmin 〉Account Manager

当建立帐号时,评估用户需求,查看是否需要修改记帐成分。若用户仅用一个应用程序,编辑用
户的.profile文件,在用户注册时,每次均执行此文件。

默认值建立用户帐号(Default Parameter)

首先,打入用户注册名,小写与三至八个字符;填写注解栏时,应包含标识信息,如用户全名、
单位、电话号码等。另外,指出是否愿意用系统默认方式建立帐号,抑或对帐号修改默认值,若
使用默认方法,则选No。确定你要增加的用户後,给出创建後的文件和目录,再执行/tcb/lib/
useshell指令,建立用户帐号,不过,在UNIX系统指令中,要通过sysadmsh或scoadmin才能运行
此指令。若决定改变用户记帐默认方式,则在建立帐号时选Yes,那麽就需要填写每栏,在合适位
置上,按〈F3〉或〈Esc〉,下面是关於非默认的设定。

指定用户组

每个用户必须至少属於一个组。默认情况下,用户注册组是group。在一个组内还包括读、写和执
行文件的权限,附加用户权限给那个组,作为指定组员的存取权限集。如要改变成组别,可用
newgrp(c)指令。增加用户时,可以创建一个新组,或附加到一个已存在的组内。有关组别的信
息则存放在/etc/group中。凡增加用户创建新组时,组名会自动递加到/etc/group文件内。组
ID能够由系统产生或人工指定,但必须在100到60,000范围内,100号以下的ID留给子系统和其他默
认组用。当管理一个网络系统时,常需要指定GID(Group ID,组ID),避免混同各网络结点,所以,
最好先选用默认组ID。

指定逻辑shell

要知道用户打算选用哪个shell工作,SCO系统可选用以下几种不同的shell工作:

csh: C shell。

ksh:Korn shell,组合了Bourne shell和C shell的特点以及指令行编辑。

rksh:加限制的Korn shell。

rsh:加限制的Bourne shell。

scosh:SCO shell(图型化桌面)。

sh:Bourne shell。

uucp:UNIX到UNIX拷贝功能,它本身不是shell,而是成功注册後运行的程序。

默认shell在/etc/default/authsh中指定,从/usr/lib/mkuser目录结构内文件中,取到
可采用的注册shell表。

指定主目录

默认主目录在/etc/default/authsh中定义,从/usr/lib/mkuser/homepaths文件中,取
到可采用主目录的选择。以及为用户创建一个新的主目录。指定用户ID(UID)必须是在200到
60000范围内,指定在/etc/default/authsh文件中,UID必须是独一无二的,防止在网络上
有相同的UID,而且,UID一旦设置,永不改变。

指定用户类

另外,还需要为用户设立他们的类别,种类如下:

-individual:个人记帐类。

-pseudo-usr:为各子系统任务设置帐号,注册时个人不应给pseudo usr记帐类,Operator、
security officer和administrator记帐类是pseudo□usr的其他名字。

-不能设置superuser和retired记帐类。

如果要能使用su(C)(所变用户身分命令),该用户必需被指定为用户类individual,才能取
用此域,为了用su另外记帐,用户必须有su授权,知道帐号口令。low、traditional和improved
为安全默认值,被赋予su授权。在high 安全默认值下,则不赋予su授权。

赋予用户被始口令

当创建新用户帐号时,就需要为用户设立或不选择不设立初始口令。

-New:现在赋予口令,用户在注册时必须打入这个口令。
-Later:现在不赋予口令,在赋予口令前,用户不能注册。
-Blank:赋予空口令,用户能注册,但在注册时,强迫用户给出一个口令。
-Remove:不赋予口令,用户能不用口令注册。
-Force Password Change:决定在用户首次注册时是否要用户强迫改变口令。
在high安全性下,必须为每个用户产生一个口令。若赋予初始口令,就应该告诉用户他的口令,
希望他在首次注册时,立即修改这个口令,修改口令时,不要选用别人能够轻易猜出来的口令,
如姓名或生日日期等,最好在口令中,加有一个非字符。

系统安全保护:修改用户默认帐号

为了防止被人滥用别人的用户帐号注册进入系统内,保障系统的完整性,系统管理员需要修改一
些用户的默认帐号,以及检查用户的注册情况。首先,管理员会设定不成功注册最大次数,计算
使用不正确口令注册的次数;当不成功注册超过最大次数,就设定加锁用户帐号和终端。如果在
完成注册时间之内,仍未能设置口令,也可加锁用户的系统,甚至根户用也一样。在成功注册後,
希望享受优先CPU调度,则可以用nice(C)值,给用户she ll及由它启动的进程,以调整优先级。
设定值会存放在/etc/system/default中。

监视进程管理

程序是一个可执行文件(Process)是正在运行程序一个实例。SCO UNIX System V支持许多进程
同时运行,各种系统通过调用可用进程去创建新进程,与其他进程通讯,以及终止其他进程。

进程族系

新进程创建时,内核会分配一个进程标识号(PID)给它,并对进程表中添加说明讯息。由一个
进程创建另一新进程,老进程为父进程,新进程为子进程。用户Shell执行的大多数指令又是它
的子进程,子进程则运行指令。而父进程允许有多个子进程来实现任务等,待子进程完成。一个
父进程可以有多个子进程,但是,一个子进程只有一个父进程。

前台及後台进程

在Shell提示处打入指令後,创建一子进程运行命令,Shell等待命令退出,然回到对用户提出提
示符,这道指令与Shell同步运行,即在前台运行。在Shell提示 处打入的指令,若随一个&,Shell
创建的子进程运行此指令,但不等待指令退出,而直接返回到对用户提出提示。这道指令与Shell
同步运行,即在台运行。

$ sleep 10 &

精灵进程

精灵进程是一个进程,它与终端和用户都无联系,也有人喜欢称他为管家婆。精灵完成一些周期
性的事,平时它睡眠。用ps (C)指令可看到精灵,它在tty区域中带有问号(?)。

-Sched:PID 0,它完成进程的程序在存储局和盘交换局之间交换工作。

-init:PID 1,系统自动建的第一用户进程,它负责初始化引导和注册过程,也就是所有非系
统进程的祖先。它会在终端口上,启动getty (M)进程。

-vhand:PID 2,页面精灵,它频繁地把储页面内容送往交换区。

-bdfush:PID 3,定期刷新高速缓到盘(默认情况,每13秒刷新一次)

-logger:归档系统出错讯息。

-cron:在调度时运行作业。

-Ipsched:脱机打印精灵。

孤儿进程

孤儿进程在父进程终止仍旧活动,由init (M)认它为乾儿子。僵尸进程则是进程已终止,但进
程还未撤消,因为父进程并未「等待」它,进程表仍保留著这尸体,进程表的□体是僵尸进程所
消耗的资源。随著新进程的创建,出现大量尸体,但总数是有限制的,因此影响新进程的产生。
而孩儿进程与僵尸进程不同,并不会影响系统效率。通常,在父进程死去时,才会移去僵尸进程。
若他们还未移去,应由init (M)继承并移去它。

监视进程

监视进程监注册户的数量,用以记系统的性能;亦会监视用户进程,包括挂起进程;以及装载均
值等系统性能问题。要显示进程信息,可以利ps (C)指令报告,进程状态。在默认情况下,仅
会报告与当前终端有联系的有关讯息。若用户没有root权限,ps仅限以说明运行进程,报告用户
的进程讯息。若用户有root权限,则会报告在所有终端上所有用户的进程讯息。

$ ps-u joana

--u 〈username〉选项显示指定用户的讯息。

--t 〈ttynamt〉选项显示指定终端有关的进程讯息。

而ps -elf指令则提供了需有F、S、C、PRI、NI、TIME字段的使用讯息。

-F是标记,指示进程位置,20表示在内存,0表示交换在盘上,31是系统进程。

-S是状态讯息,指示进程状态,睡眠还是正在运行。

-C是进程占有CPU的百分率

-TIME是花费CPU的总时间。

-PRI是进程当前优先数

-NI是进程的nice (ADM)菜单

如何创建进程

当进程分岔一个子进程,自己就会进入睡眠状态。开始时,子进程运行父进程的同一程序,由内
核分配一个新的PID。当子进程再去执行新的程序,保持新分配的PDI,新程序就会替代子进程的
原先程序。当子进程完成後,内核会把它从系统中移去,再唤醒父进程,子进程就会退出。

监视系统装载

uptime(C)指令显示装载均值(一分钟、五分钟和十五分钟),即在预定时间上,排队运行进
程的平均数:$uptime W(C)指令产生如uptime(C)一样的装载均值讯息,并显示谁在系统
上做甚麽,若用户拥有root权限,W报告所有用户的有关讯息。若没有 ,仅显示与用户进程有
关的讯息。PCPU(Process CPU,进程CPU时间 )显示某道特定指令已运行多久了。对控制不了
的进程,这种检查是很有用的。JCPU(Joint CPU,连合CPI时间),显示一个终端所涉的所有
进程的总时间。

sar (ADM)指令是一个系统活动报告程序,显示系统资源累积利用率。为指示系统瓶颈口
(Bottleneck),sar 是非常好的实用程序,指令语法如下:

$sar〔-option〕 〔sample-interval-samples〕

例如:$sar-u120

-u选项显示CPU利用情况。如果%idle一致地低,使用效能是上升,不过,运行的进程偷不到未
用的CPU周期。又例如使用-q选项显示进程吞吐量。假若%swpocc大於20,就发生交换(Swapping),
可以使用大内存能减少交换 /请负活动。

HOUSCOUS 发表于 2002-11-28 15:13:07

Unix基础之 进程和打印管理

Unix基础之 进程和打印管理

管理进程

用低优先级运行进程

nice(C)指令用於以较低的调度优先级执行命令,每个进程都有一个 nice 值,用於计算它的
优先级。nice 值在 0 到 39 范围内,高值获得低优先级,不给实参的默认情况是 nice 值20。
超级用户可指定负值,以提高优先级。

在注销进程後进程继续执行

後台启动的进程,默认情况下,当注销後就不再存在,但是,可以使用 nohup(c)指令,让进
程不受挂起和注销影响,得以继续运行,例如:

$ nohup sort bigfile>sortfile &

4567

$ exit

当用户注销时,用户未用输出改向,输出将送到当前目录下的nohup.out 文件中,如果当前目
录不可写,则输出改向到 $HOME/nohup.out。

重新启动安全级精灵进程

根据 C2 安全级要求,某些精灵进程用 LUID (Login User Identifier)标记运行,如此只能
用 sd(ADM)实用程序重新启动他们。如果 LUID 限制有效的话(高安全级),只能用sd(ADM),
例如 cron(C)这样的精灵,在高安全级下要 sd 重新启动它。

进程终止实用程序

需要终止实用程序时,可以通过发信息给进程,使它自杀,通常会用在终止一些已挂起的或是
运行的进程。语法如下:

$ kill [-signal]

例如

$ kill 4411

4411:terminated

这样,只能终止运行优先级大於 25 的进程,小於 25 优先级的进程只能在重新引导系统中撤
注它。 调度单个作业执行

at(C)指令使得在某指定时间执行一组命令一次,主要用於在系统活动较少的情况下,在预定时
限(例如在半夜後或每日固定时间)内运行指令。要重新定向,可以使用标准输入,或可文件
输入;在打入完整的at 指令後,就会显示出将要运行的作业号与时间。语法如下:

$ at time <

任何用户都能运行一个 at 作业,但必须给予授权。

指定单个作业调度时间

时间格式为 hr:min 或 min,hr ,用 a.m 或 p.m 指定上午或下午,有效时间包括 no on,
midnight 和 now,指定日期则用「月日〔年〕」格式,例如 Feb14。一星期那一天也可用
monday、mon、today 或 tomorrow 代替。

.at 指令从标准输入中,读入打算在以後某一时刻所执行的命令:

$ at 14:00 Jan

sort /u/user1/file

/u/user1/sort

ctrl>d

job 61202778.a at Thu Jan 4 14:00:00 1996

记著使用时,要用全路径名指定文件。指令输出以电子邮件发送给用户,也可输出改向到文件
或终端。

列出单个调度作业

使用命令

$ at -1

job 612027780.a at Wed Jan 24 08:43:00 1996

job 612027900.a at Wed Jan 24 08:43:00 1996

若指定 jod_id,一般用户会得到一张自己所有作业的表,根用户则能取得全部作业的表。

撤消单个调度作业

使用以下指令撤消作业:

$ at -r

可以使用匹配符撤销多个作业。at 的作业存放在usr/spool/cron/atjobs

在一般数据库上调度作业

用 crontab (C)指令,从指定文件或标准输入拷贝或编辑成用户的 crontab 文件,该文规
定了在指定日期和时间调度运行一些指令。crontab 指令提供了对 cron 系统精灵要执行的作
业,清理 /tmp ,撤销在一般数据上日记文件或不想要的文件,以及检查空间,邮寄警告予用
户等。/usr/lib/cron/cron.allow 文件列出了能使用 cron 的用户,/usr/lib/cron/cron.deny
文件列出了拒绝存取 cron 的用户,仅当 cron.allow 文件不存在时,cron.deny 文件才起作用。

指定作业及其调度时间

作业可能是单个指令或包含多道指令的 shell 脚本,指令输出邮寄给用户,也可输出改向到文
件或终端。在文件中打入作业及运行时间,以运行此作业。文件可取任何名字,但是,不允许
包括首尾部和空白行,而且,最好取 .cronfile ,这种取名反映其功能,易记易理解。
.cronfile 文件可用正文编辑或 vi 创建。每个用户仅提供一个 .cronfile文件,每当执行
crontab 指令时,新文件会改写原先文件。编辑已存在的 .cronfile 文件,增加或修改一个作
业,然後用 crontab 重新提交 .cronfile 。而每个用户的登记项会存放在/usr/spool/crontabs/。
列出或修改 cron 作业

要列出当前提供的 cron 作业,可以打入:

$ crontab -1

修改 cron 项,使用指令:

$ crontab -1 >.cronfile

$ vi .cronfile

$ crontab .cronfile

如要撤销 cron 作业,则打入:

$ crontab -r

但有一样,请留意,根用户没有 .cronfile 文件。


打印管理

打印假脱机(Spooler)程序在系统引导时自动启动,负责打印服务的安装、配置和管理,在指
定打印机上,将用户打印请求进行排队,能在不丢失排队打印请求下暂停打印。

打印机队列

打印机会被分组,每组共同存取一个队列(class)。而打印请求可以送入一个 class ,也可送
往指定打印机上。在一个 class 中,可随时移去或增加打印机,用 sysadmsh 菜单或scoadmin
的 Print Manager,可以增加打印机往已有的 class 中,又或增加一个新 class。

打印机过滤程序

使用打印机过滤程序,可以转换用户文件或数据流,在给定打印机上,合适地打印出来;处理两
边打印,草图或高质量文字打印等;如发现打印失败,会通知打印服务,然後告诉用户使用上出
现问题。打印机过滤程序又称为打印机定义的接口脚本,存放在/usr/spool/lp/bin。

安装和配置打印机

要把打印机接到并行埠(Parallel Port)上,SCO UNIX System V 支持两个物理并行设备
(/dev/lp)。当用主并行埠时,用 LP0 或 LP1,中断向量为 7。第二个并行埠,/dev/lp2,
中断向量同为 7。要把打印机接在串行埠(Serial Port)上,最好接上智能卡工作,打印机能
用任意有效串行埠名联系。若不要求硬件流控制,可以使用非调制解调器控制埠名。另一方面,
可以从终端辅助埠上做局部打印,指令 lprint (C)使用户从附在终端上的打印机上打印。

安装打印机

要安装打印机,先找一个未用的串行线路接上打印机,连好导线,打开打印机开关,检查硬件
连接。然後,调用 sysadmsh 菜单或 Print Manager 上,加入打印机,用合适的信息填好格式,
指定打印机的 Class,若所指定的不存在,就建立一新 Class,包含接口脚本路径名。许多打
印机都能用standard 接口脚本。

打印机管理

修改打印机配置时,可以增加或撤消目的地;改变打印机接口脚本、设备等;以及改变默认打
印机目的地。管理打印机调度时,有几种选项需要注意:

-Stop:为实现某种打印机维护,必需将假脱打印机转换成 off。

-Begin:假脱机转换成 on。

-Accept :允许把打印请求送往打印机或 class 中。

-Reject:阻止请求假脱机打印。

-Enable:允许从打印机或 class 上打印。

-Disable:阻止打印,但允许假脱机出现。

每个打印请求都会赋予一个优先数,决定何时打印,优先数据取值范围为 0(最高)到 39 (最
低)。默认优先数值同样是 20。所有打印请求或单个打印请求都能移到不同的队列或打印机上,
若打印机的队列阻塞或打印机不能用,就要移去打印请求;打印机要维护,也要移去打印请求。
如果已移去了所有请求,这个打印机就不再接受新请求,直到打印机启用为止。要清理打印机请
求,先要指出打印机或请求 ID ,若指定了打印机,则当前正在打印的作业也被清除,但是,不
能使用通配符去匹配清理打印请求。

HOUSCOUS 发表于 2002-11-28 15:14:01

Unix基础之 TCP/IP管理及使用

Unix基础之 TCP/IP管理及使用

TCP/IP 管理

IP(Internet Protocol)地址是 TCP/IP 网上为主机之间数据选择路径(交换)的基础,但是,
用户通常不甚喜欢使用由数字组成的 IP 地址,而比较喜欢使用多由英文字母组成的主机名字-
URL(Uniform Resource Location)。不过,主机名字必需映像到 IP 地址,而方法就是通过
/etc/hosts文件完成。

配置 /etc/hosts

/etc/hosts 的格式是:地址--名字--别名。

例如:

127.0.0.1 localhost localhost

132.147.18.1 vision vision.sco.com

IP 地址必需是一行上的第一项,在它前面不应有任何字符,例如空格符或制表符;名字是简单
的主机名字;别名则在很多情况下都不需要,但是,全限主机名字、简单主机名字和辖区名字
都归入别名之列。

检测 TCP/IP 配置

TCP/IP 协议的软件部份包括 TCP/IP 协议层架的顶三级,即应用级(Application Protocol)、
传送级(Transport Protocol)和网际网级(Internet Protocol)。特定的主机名字”Localhost”
是特殊网络”loopback”上的本地主机的别名。要检测 TCP/IP 协议层架的软件部份,使用
ping 指令:

#ping localhost

如果 Ping localhost 失败,则使用 netstat -i,检查网络接口的状况,显示网络接口上
分组传输的统计讯息,指令如下:

#netstat -i

n 选项强行显示编号,而不是名字。netstat 查看自环驱动器 lo0 ,如果 lo0 失败,则在
/etc/tcp 中”ifconfig lo0”行指示坏了或有错误。

检测 TCP/IP 硬件

审核引导过程中,会对所识别的网络接口产生的配置报告,而TCP/IP 协议的硬件部分包括
TCP/IP 协议层架的底两级,即网络接口级和物理/硬件级。对网上另一主机的任何通讯都
是在「物理」网络接口上传输,并不会引起数据传输到「自环」网络上。使用 ping 指令
检测 TCP/IP 协议层架的硬件部份。

#ping hostname



#ping IP-address

如果 ping 指令失败,则改用 netstat -i 审核网络接口。

了解 netstat -i 的输出

如果远地主机上使用 ping 之後,Opkts 和 Ipkts 仍然是零,那麽,网络接口大概使用了不同
的中断(Interrupt),而不是它的设备驱动程序。如果 Ipkts 不是零,而 Opkts 等於 Oerrs,
那麽,网卡的 I/O 地址可能不正确。如果 Ipkts 是零,而 Opkts 等於 Oerrs ,那麽,可能是
网络电缆连接的不合格。通过用 Opkts 除 Cloois ,再用 100 乘所得的结果,计算冲突的百份
比。如果冲突的百份比少於百份之五到十,那麽,所有网络接口是有效运行。如果 ping 失败,
并查出网络接口有问题,那麽,就该验证网络介质操作。

调整 TCP/IP 的核心参数

没有足够的流资源(Stream Parameter),网络程序是不能进行通讯;流资源不充份的话,经
常会导致较慢的吞吐率。要核查流资源,使用 netstat -m ;也可以使用 crash 指令考察流资
源,在出现 crash 发出的提示符’>”时,打入”strstat”。

如果在 FAIL 列的下面有不等於零的项目,那麽,同一行中的ITEM 的项目可能需要调整。如果
FAIL 列下的数目大於或等於TOTAL 列中数目的百份之十,该资源每次应增加一或二,但不能将
该数目加倍。由於流资源使用 RAM,当增加流资源时,应加倍小心。用户亦可以使用 configure
或 sysadmsh 增加特定的流资源,重新连接核心或重新引导。

限制通过 ftp 访问系统的权限

对於不想令其使用 ftp 跨网访问系统的人,可以通过建立/etc/ftpusers 文件和设立系统帐户
名字的方法,阻止他获得利用 ftp 访问系统的权限。如果 /etc/ftpusers 不存在的话,先要建
立。在单独的行上,加上系统帐户的名字,表明不能从网中其它系统使用 ftp 访问该系统,在
安全系统中,不允许 ftp 访问用户权和 uucp ,列出任何其限制使用 ftp 的用户名字。


使用 TCP/IP

向远地注册的能力非常有用,它让我们不用到远地系统所在处,就能运行远地主机上的程序,执
行远地系统管理,有两道指令可用於远地主机注册,就是 rlogin 和 telnet。

使用 rlogin 向远地主机注册

rlogin 允许向具有 UNIX 作业系统和 TCP/IP 协议的任何系统注册,而 rlogin 只能注册到
UNIX 作业系统环境,指令如下:

$rlogin remot-host-name

要避免 rlogin 因没有提供远地主机上的同名帐户,可以使用下述指令:

$rolgin remote-host-name -1 remote-user-name

-1 选项用於指出远地用户帐户。

要中止 rlogin ,则要打入 ~.,并按 Enter/Return>键;亦可使用logout 或 exit 指令。

使用 Telnet 向远地主机注册

不管其作业系统类型,只要能支援 TCP/IP 协议,都可以使用Telnet 指令,允许注册。

$telnet hostname



$telnet ip-address

使用 ftp 复制或传送文件

ftp(File Transfer Protocol)允许用户对远地主机复制文件,用户毋须考虑作业系统类型,即
能向或从任何具有 TCP/IP 的系统复制文件。ftp指令允许复制目录中的一个文件或所有文件,但
不能复制多层次目录。使用 ftp时,必需在远地主机上设有帐户。当 ftp 注册到远地系统时,并
未得到 shell ,而是通过 ftp 指令解释程序同远地主机进行通讯。

$ftp remote-host-name



$ftp remote-host-ip-address

一旦注册成功,就会出现 ftp 指令解释程序的提示。

ftp>

用户可以在此,使用打开指令连接主机。

ftp>open remote-host-name

复制某一文件回自己的系统中,则用:

ftp>get filename

如果只想传送某一文件往远地主机,则用:

ftp>put filename

需要复制远地主机的全部文件进入自己的系统内,可以使用如下指令:

ftp>mget *

相反,如果想传送自己的文件往远地主机,则使用如下指令:

ftp>mput *

rcmd 允许用户不必向远地主机注册,而直接运行该主机上的指令,实际上,也要进行注册,只
不过用户毋须作其它操作。当使用 rcmd在远地主机上运行任何指令时,其输出的默认设备就会
被更改为终端。

$rcmd remote-host-name man sh

请求特殊终端处理的指令,将不含设备自身的功能,因为对远地指令没有定义终端的类型,要求
在远地主机上配置受托访问。要列表输出远地主机上磁盘的利用情况,则使用下述指令:

$rcmd remote-host-name df

要列表输出远地主机上的目录,使用如下指令:

$rcmd remote-host-name ls /usr/games

要把远地主机上的文件备份到远地主机上的袖珍磁带内时,指令如下:

#rcmd remote-host-name tar cvf /dev/rct0/usr



#rcmd remote-host-name "find /usr -depth -print|cpio -oc > /dev/rct0

要把本地系统上的文件备份到远地主机上的袖珍磁带内时,使用下述指令:

#tar cvf -/usr|rcmd remote-host-name dd of=/dev/rct0



#find /usr -depth -print|cpio -oc|rcmd remote-host-name dd of=/dev/rct0

另一方面,如果要把远地主机上的文件备份到本地系统上的袖珍磁带内时,可以使用如下指令:

#rcmd remote-host-name "tar cvf -/usr" > /dev/rct0



#rcmd remote-host-name "find /usr -depth -print|cpio -oc" > /dev/rct0

BOoRFGOnZ 发表于 2006-7-4 23:37:33

难得 阿难得....................

...... 发表于 2006-7-4 23:41:26

骗贴数

janus_le 发表于 2006-7-4 23:54:22

技术贴,顶一下

AMD-K6 发表于 2006-7-5 08:01:13

建议转到技术讨论区里

yangh 发表于 2006-7-5 08:59:09

好贴 :oops:
页: [1]
查看完整版本: Unix基础 (转载自Unix Easy Learn)