当前位置:  操作系统/服务器>linux
本页文章导读:
    ▪Linux远程操作(rcp/rsh)命令实例详解      1. rcp 1.1为使用 rcp 做准备 要使用 rcp,需具备如下的条件: 1)、如果系统中有 /etc/hosts 文件,应确保该文件包含要与之进行通信的远程主机的项。 /etc/hosts 文件中有一行文字,其中包含每.........
    ▪linux touch命令修改文件时间的用法详解      touch   -   修改文件的时间戳记.        总览  touch   [-acm][-r   ref_file(参照文件)|-t   time(时间值)]   file(文件名)...    被废弃的版本:    touch   [-acm][ugly_time]   file(文件)...  .........
    ▪linux复制文件-cp命令的用法详解      cp 命令 功能: 复制文件或目录 说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此.........

[1]Linux远程操作(rcp/rsh)命令实例详解
    来源: 互联网  发布时间: 2013-12-24

1. rcp
1.1为使用 rcp 做准备
要使用 rcp,需具备如下的条件:
1)、如果系统中有 /etc/hosts 文件,应确保该文件包含要与之进行通信的远程主机的项。
/etc/hosts 文件中有一行文字,其中包含每个远程系统的以下信息:
 

代码示例:
internet_address   official_name   alias

例如:
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 命令使用
将文件复制到远程系统
要将本地系统中的文件复制到远程系统,请使用以下命令:
 

代码示例:
rcplocal_fileremote_hostname:remote_fileEnter
 

注意,如果当前目录下没有 local_file,则除本地文件名外,还需要提供相对路径(自当前目录开始)或绝对路径名(自 / 开始)。
仅当希望将 remote_hostname 上的 remote_file 放到其他目录(远程主目录除外)下时,才需要为其指定完整的(绝对)路径。

例子,将当前目录下的 myfile 复制到名为 blade3的远程系统:
 

代码示例:
rcp myfile blade3:/home/root/otherdirEnter
 

在这种情况下,myfile 被复制到远程子目录 otherdir 下,名称仍为 myfile。如果仅提供了远程主机名,rcp 将把 myfile 复制到远程主目录下,名称仍为 myfile。
还可以在目的目录中包含文件名。例如,将文件复制到名为 blade3的系统中:
 

代码示例:
rcp myfile blade3:/home/root/otherfileEnter
 

在这种情况下,将 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 的目录,请键入以下内容:
 

代码示例:
rcp –r work blade1:/home/root/products Enter
 

此命令在 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 的远程目录复制到当前目录,请键入以下内容:
 

代码示例:
rcp –r blade1:/home/root/work .Enter
 

点 (.) 表示当前目录。将在此目录下创建 work 目录。

2. rsh
2.1 rsh使用条件 同1.1

2.2 rsh配置过程
直接rsh作为root.
a.在服务器上运行/urs/bin/ntsysv选中rexec,rlogin,rsh三项服务。
b.运行
 

代码示例:
#/sbin/servicexinetdrestart
 

启动该三项服务。
c.运行
 

代码示例:
#echorexec>>/etc/securetty;echorlogin>>/etc/securetty;echorsh>>/etc/securetty
 

d.在服务器上运行
 

代码示例:
#echo你的ip地址root>>/root/.rhosts
 

或者#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 remote-sytem-neame Linux-command
 

在下面的例子中,rsh命令将在远程系统blade1中执行一个ls命令以列出在blade1中目录/home/root中的文件。
 

代码示例:
$rsh blade1 ls /home/root
 

除非是引用特定字符,否则它将被本系统解释转换,对于控制标准输出的特殊字符更是如此,象重定向或管道字符。下面的例了中列出远程系统上的文件,并把它们送到本系
统中的标准输出。重定向操作由本地系统解释,并把输出改向到本地系统中的文件myfiles中。
 

代码示例:
$rsh blade1 ls /home/root>myfiles
 

如您引用一个特定字符,它将成为Linux命令的一部分被远程系统解释。引用重定向操作符将允许您在远程系统中执行重定向操作。
以下例子中,引用一个重定向操作符。
它变成Linux命令的一部分,包括命令的参数,文件名myfile。命令ls产生一列文件名并把它们重定向到远程系统中的一个文件myfile中。
 

代码示例:
$rsh blade1 ls /home/root '>' myfiles
 

对于管道操作也是如此。

以下例子,第一个命令输出一列文件到本地的打印机中。
标准的输出能过管道输出到您的在线打印机中。
第二个命令中,一列文件将输出远程系统的打印机上。管道线被远程系统解释。输送标准输出到远程系统的打印机上。
 

代码示例:
$rsh blade1 ls /home/root | lpr
$rsh blade1 ls /home/root '|' lpt

    
[2]linux touch命令修改文件时间的用法详解
    来源: 互联网  发布时间: 2013-12-24

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'将创建它,并把最后的修改时间改到现在的时刻。


    
[3]linux复制文件-cp命令的用法详解
    来源: 互联网  发布时间: 2013-12-24

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,复制文件,只有源文件较目的文件的修改时间新时,才复制文件
 

代码示例:
cp -u -v file1 file2

2,将文件file1复制成文件file2
 

代码示例:
cp file1 file2

3,采用交互方式将文件file1复制成文件file2
 

代码示例:
cp -i file1 file2

4,将文件file1复制成file2,因为目的文件已经存在,所以指定使用强制复制的模式
 

代码示例:
cp -f file1 file2

5,将目录dir1复制成目录dir2
 

代码示例:
cp -R file1 file2

6,同时将文件file1、file2、file3与目录dir1复制到dir2
 

代码示例:
cp -R file1 file2 file3 dir1 dir2

7,复制时保留文件属性
 

代码示例:
cp -p a.txt tmp/

8,复制时保留文件的目录结构
 

代码示例:
cp -P  /var/tmp/a.txt  ./temp/

9,复制时产生备份文件
 

代码示例:
cp -b a.txt tmp/

10,复制时产生备份文件,尾标 ~1~格式
 

代码示例:
cp -b -V t   a.txt /tmp 

11,指定备份文件尾标  
 

代码示例:
cp -b -S _bak a.txt /tmp

    
最新技术文章:
▪linux系统中的列出敏感用户的脚本代码
▪a10 config backup for aXAPI
▪一键备份gitolite服务器的Shell脚本
▪nagios 分发文件实现代码
▪阿里云云服务器Linux系统更新yum源Shell脚本
▪一个监控LINUX目录和文件变化的Shell脚本分享
▪Linux下实现SSH免密码登录和实现秘钥的管理、...
▪Shell正则表达式之grep、sed、awk实操笔记
▪3个备份系统文件并邮件发送的Shell脚本分享
▪CentOS 6.3下给PHP添加mssql扩展模块教程
▪监控网站是否可以正常打开的Shell脚本分享
▪shell脚本编程之if语句学习笔记
▪shell脚本编程之循环语句学习笔记
▪shell脚本编程之case语句学习笔记
▪Shell脚本实现的阳历转农历代码分享
▪Shell脚本实现复制文件到多台服务器的代码分...
▪Shell脚本实现批量下载网络图片代码分享
▪Shell脚本实现检测文件是否被修改过代码分享
▪Shell脚本数组用法小结
▪Shell脚本批量重命名文件后缀的3种实现
▪C语言实现的ls命令源码分享
▪Linux下查找后门程序 CentOS 查后门程序的shell脚...
▪Shell 函数参数
▪linux shell 自定义函数方法(定义、返回值、变...
▪Shell实现判断进程是否存在并重新启动脚本分...
▪Shell脚本break和continue命令简明教程
▪Shell脚本函数定义和函数参数
▪让代码整洁、过程清晰的BASH Shell编程技巧
▪shell常用重定向实例讲解
▪awk中RS、ORS、FS、OFS的区别和联系小结
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3