1. rcp
1.1为使用 rcp 做准备
要使用 rcp,需具备如下的条件:
1)、如果系统中有 /etc/hosts 文件,应确保该文件包含要与之进行通信的远程主机的项。
/etc/hosts 文件中有一行文字,其中包含每个远程系统的以下信息:
例如:
9.186.10.*** blade1.ibm.com.cnblade1
2)、.rhosts 文件
.rhosts 文件位于远程系统的主目录下,其中包含本地系统的名称和本地登录名。
例如,远程系统的 .rhosts 文件中的项可能是:
blade1 root
其中,blade1 是本地系统的名称,root 是本地登录名。这样,blade1 上的 root 即可在包含 .rhosts 文件的远程系统中来回复制文件。
1.2 配置过程
只对root用户生效
1. 在双方root用户根目录下建立.rhosts文件,并将双方的hostname加进去.在此之前应在双方的 /etc/hosts文件中加入对方的IP和hostname
2. 把rsh服务启动起来,redhat默认是不启动的。
方法:用执行ntsysv命令,在rsh选项前用空格键选中,确定退出。然后执行:
service xinetd restart即可。
3. 到/etc/pam.d/目录下,把rsh文件中的auth required /lib/security/pam_securetty.so
一行用“#”注释掉即可。(只有注释掉这一行,才能用root用户登录)
1.3 命令使用
将文件复制到远程系统
要将本地系统中的文件复制到远程系统,请使用以下命令:
注意,如果当前目录下没有 local_file,则除本地文件名外,还需要提供相对路径(自当前目录开始)或绝对路径名(自 / 开始)。
仅当希望将 remote_hostname 上的 remote_file 放到其他目录(远程主目录除外)下时,才需要为其指定完整的(绝对)路径。
例子,将当前目录下的 myfile 复制到名为 blade3的远程系统:
在这种情况下,myfile 被复制到远程子目录 otherdir 下,名称仍为 myfile。如果仅提供了远程主机名,rcp 将把 myfile 复制到远程主目录下,名称仍为 myfile。
还可以在目的目录中包含文件名。例如,将文件复制到名为 blade3的系统中:
在这种情况下,将 myfile 复制到远程目录root 下并将其命名为 otherfile。
从远程系统复制文件
要将远程系统中的文件复制到本地目录下,请使用以下语法:
rcp remote_hostname:remote_file local_fileEnter
例子,将远程系统 blade3中的 myfile 复制到当前目录:
rcp blade3:/home/root/myfile .Enter
点 (.) 是“当前目录”的简写形式。在这种情况下,远程目录中的 myfile 被复制到当前目录下,名称仍为 myfile。
如果希望用新名称复制文件,请提供目标文件名。
如果希望将 myfile 复制到本地系统中的其他目录下,请使用以下绝对或相对路径名:
rcp blade3:/home/root/myfile otherdir/ Enter
或者,如果希望用其他文件名将文件复制到其他目录下:
rcp blade3:/home/root/myfile otherdir/otherfile Enter
将目录复制到远程系统
要将本地目录及其文件和子目录复制到远程系统,请同时使用 rcp 和 -r(递归)选项。
语法如下:
rcp –r local_dir remote_hostname:remote_dir Enter
如果当前目录下没有 local_dir,则除本地目录名外,还需要提供相对路径名(自当前目录开始)或绝对路径名(自 / 顶级目录开始)。另外,如果主目录下没有
remote_dir,则 remote_dir 将需要一个相对路径(自主目录开始)或绝对路径(自 / 开始)。
例子,要将名为 work 的子目录完整地复制到 blade1 远程计算机中的主目录下名为 products 的目录,请键入以下内容:
此命令在 blade1:/home/root/products 下创建名为 work 的目录及其全部内容(假定 /home/root/products 已存在于 blade1 中)。
本示例假定用户处于包含 work 的本地目录下。否则,必须提供该目录的相对或绝对路径,如 /home/root/work。
从远程系统复制目录
要将远程目录及其所有文件和子目录复制到本地目录,请在以下语法中使用 rcp 和 -r(递归)选项。
rcp –r remote_hostname:remote_dir local_dir Enter
例子,要将名为 work 的远程目录复制到当前目录,请键入以下内容:
点 (.) 表示当前目录。将在此目录下创建 work 目录。
2. rsh
2.1 rsh使用条件 同1.1
2.2 rsh配置过程
直接rsh作为root.
a.在服务器上运行/urs/bin/ntsysv选中rexec,rlogin,rsh三项服务。
b.运行
启动该三项服务。
c.运行
d.在服务器上运行
或者#echo你的主机名root>>/root/.rhosts且确保在服务器上的/etc/hosts中有主机名和ip地址的映射关系
e到/etc/pam.d/目录下,把rexec,rlongin,rsh文件中的auth required /lib/security/pam_securetty.so 一行用“#”注释掉即可。(只有注释掉这一行,才能用root用户登录
)
2.3 rsh命令用法
命令rsh有两个一般的参数,一个系统名和一个Linux命令。语法如下所示:
在下面的例子中,rsh命令将在远程系统blade1中执行一个ls命令以列出在blade1中目录/home/root中的文件。
除非是引用特定字符,否则它将被本系统解释转换,对于控制标准输出的特殊字符更是如此,象重定向或管道字符。下面的例了中列出远程系统上的文件,并把它们送到本系
统中的标准输出。重定向操作由本地系统解释,并把输出改向到本地系统中的文件myfiles中。
如您引用一个特定字符,它将成为Linux命令的一部分被远程系统解释。引用重定向操作符将允许您在远程系统中执行重定向操作。
以下例子中,引用一个重定向操作符。
它变成Linux命令的一部分,包括命令的参数,文件名myfile。命令ls产生一列文件名并把它们重定向到远程系统中的一个文件myfile中。
对于管道操作也是如此。
以下例子,第一个命令输出一列文件到本地的打印机中。
标准的输出能过管道输出到您的在线打印机中。
第二个命令中,一列文件将输出远程系统的打印机上。管道线被远程系统解释。输送标准输出到远程系统的打印机上。
$rsh blade1 ls /home/root '|' lpt
touch - 修改文件的时间戳记.
总览
touch [-acm][-r ref_file(参照文件)|-t time(时间值)] file(文件名)...
被废弃的版本:
touch [-acm][ugly_time] file(文件)...
GNU版本:
touch [-acfm] [-r file(参照文件)] [-t decimtime(时间值)] [-d time(时间值)] [--time={atime,access,use,mtime,modify}] [--date=time]
[--reference=file] [--no-create] [--help] [--version] [--] file(文件)...
用法描述
touch 修改每个指定文件 file 的存取(access)和/或修改(modification)时间戳记.除非使用-r或-t选项,这些时间戳记都将修改为当前的时间.使用-r选项时,这
些戳记将按照文件 ref_file 的时间戳记来修改(即变得和ref_file时间戳记值相同).使用-t选项,则这些戳记将按照给定的时间值 time 进行修改.同时使用或同
时不使用选项-a和-m,存取和修改两个戳记都将被更改.若只使用选项-a,则只修改存取戳记.同样,只使用选项-m,则只修改修改戳记.若要修改戳记的文件尚不存在,除
非使用-c选项,touch 将创建它(作为空文件,并赋予0666的模式且受umask值的限制).
POSIX标准定义的选项
-a
修改文件 file 的存取时间.
-c
不创建文件 file.
-m
修改文件 file file
-r ref_file
将参照文件 ref_file 相应的时间戳记的数值作为指定文件 file 时间戳记的新值.
-t time
使用指定的时间值 time 作为指定文件 file 相应时间戳记的新值.此处的 time 规定为如下形式的十进制数∶
[[CC]YY]MMDDhhmm[.SS]
这里,CC为年数中的前两位,即”世纪数”;YY为年数的后两位,即某世纪中的年数.如果不给出CC的值,则touch 将把年数CCYY限定在1969--2068之内.MM为月数,DD为天
将把年数CCYY限定在1969--2068之内.MM为月数,DD为天数,hh为小时数(几点),mm为分钟数,SS为秒数.此处秒的设定范围是0--61,这样可以处理闰秒.这些数字组成的时
间是环境变量TZ指定的时区中的一个时间.由于系统的限制,早于1970年1月1日的时间是错误的.
POSIX标准的细节
已被废弃的touch版本使用时会出现模棱两可的情况: ugly_time 到底是时间值还是文件名?由于此种版本尚未提供-r或-t选项,所以使用时至少要有两个命令行参数,作
为时间值, ugly_time 必须为第一个参数.这里的 ugly_time 是一个形为MMDDhhmm[yy]的八位或十位整数.其中,yy是介于69--99之间表示1969--1999之间某一年
的两位数,如果不给,表示当前这一年.
GNU版本的细节
如果第一个指定文件 file 的名子从形式上说是选项 -t 的有效参数,并且没有给出选项 -d, -r 或 -t -t
数,也没有给`--'选项,那么这个文件名将被解释成时间值.
一般情况下,使用touch命令修改文件的时间戳,要求用户为该文件的所有者.除非只是把文件的存取和修改两种时间戳记修改为当前的时刻,这种情况只要求用户拥有对该文
件`写'的权利就行了.
GNU版本选项用法简介
-a, --time=atime, --time=access, --time=use
只修改存取时间.
-c, --no-create
如果要修改的文件不存在,此选项使touch不去创建它.
-d, --date=time
使用时间值 time 代替指定文件的戳记值.可以包含月份名,时区名以及`am'和 `pm'等等.
-f
此选项用于兼容BSD版本的 touch(1).
-m, --time=mtime, --time=modify
只修改修改时间.
-r file, --reference=file
使用参照文件 file 的时间戳记值修改指定文件的时间戳记.
-t decimtime
这里时间值 decimtime 的格式为MMDDhhmm[[CC]YY][.ss] 从左至右分别是月份,日期,小时,分钟,可选的世纪和年,以及可选的秒. touch 将用这组数值修改
指定文件的时间戳记.请注意,这个格式与POSIX标准所规定的格式并不一样.
GNU版本通用选项
--help
使程序在标准输出上显示该程序的用法信息.
--version
使程序在标准输出上打印其版本信息.
GNU版本通用选项
--help
使程序在标准输出上显示该程序的用法信息.
--version
使程序在标准输出上打印其版本信息.
--
用于使程序终止对选项的解析.
运行环境
环境变量TZ一般用来表明所给时刻是哪个时区的.而环境变量LANG,LC_ALL,LC_CTYPE和LC_MESSAGES还是一般情况下的意义。
遵循
GNU版touch的-t选项的参数所用格式并不符合POSIX标准1003.2的描述.
用法实例
如果文件foo并不存在,那么命令`touch foo'将创建它,并把最后的修改时间改到现在的时刻。
cp 命令
功能: 复制文件或目录
说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同
时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息
参数:
-a 或 --archive 此参数的效果和同时指定"-dpR"参数相同
-b 或 --backup 删除、覆盖目的文件先备份,备份的文件或目录亦建立为符号链接,并指向源文件或目录链接的源文件或目录。假如没有加上这个参数,在复制过程中若
遇到符号链接,则会直接复制源文件或目录
-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
-i 或 --interactive 覆盖文件之前先询问用户
-l 或 --link 对源文件建立硬链接,而非复制文件
-p 或 --preserve 保留源文件或目录的属性,包括所有者、所属组、权限与时间
-P 或 --parents 保留源文件或目录的路径,此路径可以是绝对路径或相对路径,且目的目录必须已经丰在
-r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
-R 或 --recursive 递归处理,将指定目录下的文件及子目录一并处理
-s 或 --symbolic-link 对源文件建立符号链接,而非复制文件
-S <备份字尾字符串> 或 --suffix=<备份字尾字符串> 用"-b"参数备份目的文件后,备份文件的字尾会被加上一个备份字符串。默认的备份字尾符串是符号"~"
-u 或 --update 使用这项参数之后,只会在源文件的修改时间(Modification Time)较目的文件更新时,或是名称相互对应的目的文件并不存在,才复制文件
-v 或 --verbose 显示执行过程
-V <备份方式> 或 --version-control=<备份方式> 指定当备份文件时,备份文件名的命名方式,有以下3种:
1.numbered或t, 将使用备份编号,会在字尾加上~1~字符串,其数字编号依次递增
2.simple或never 将使用简单备份,默认的备份字尾字符串是~, 也可通过-S来指定
3.existing或nil将使用当前方式,程序会先检查是否存在着备份编号,若有则采用备份编号,若无则采用简单备份
-x 或 --one-file-system 复制的文件或目录存放的文件系统,必须与cp指令执行时所处的文件系统相同,否则不复制,亦不处理位于其他分区的文件
--help 显示在线帮助
--sparse=<使用时机> 设置保存希疏文件的时机
--version 显示版本
示例:
1,复制文件,只有源文件较目的文件的修改时间新时,才复制文件
2,将文件file1复制成文件file2
3,采用交互方式将文件file1复制成文件file2
4,将文件file1复制成file2,因为目的文件已经存在,所以指定使用强制复制的模式
5,将目录dir1复制成目录dir2
6,同时将文件file1、file2、file3与目录dir1复制到dir2
7,复制时保留文件属性
8,复制时保留文件的目录结构
9,复制时产生备份文件
10,复制时产生备份文件,尾标 ~1~格式
11,指定备份文件尾标