精华内容
下载资源
问答
  • 加快Linux文件拷贝速度的两大方法  http://www.xitongzhijia.net/xtjc/20141217/32822.html 在进行Linux文件拷贝中,文件较多的时候拷贝的速度非常慢,那么有什么办法能够加快文件拷贝的速度呢?下面小编就给大家...

    加快Linux文件拷贝速度的两大方法

      http://www.xitongzhijia.net/xtjc/20141217/32822.html

    在进行Linux文件拷贝中,文件较多的时候拷贝的速度非常慢,那么有什么办法能够加快文件拷贝的速度呢?下面小编就给大家介绍下加快Linux文件拷贝速度的方法。

     

    加快Linux文件拷贝速度的两大方法

      第一种方法

      首先,无论本地还是远程,需要移动或拷贝的文件较多且都不太大时,用cp命令和mv命令效率较低,可以先使用tar工具对将要拷贝/移动的内容进行打包/压缩,之后再进行拷贝/移动,最后再解包/解压缩。

      另外,也是很关键的一个技巧,即,不必在tar打包/压缩完毕之后再进行拷贝,解包/解压缩,可以通过管道一边打包/压缩另一边执行拷贝解包/解压缩。

      比如,tar命令可以和nc命令结合可以快速在两台机器之间传输文件和目录:

      B机器:

      代码如下:

      《/p》 《p》   nc -l 5555 |tar -C /tmp/test/ -xf -《/p》 《p》

      A机器:

      代码如下:

      《/p》 《p》  tar cf - /tmp/test/ |nc B‘IP 5555 《/p》 《p》

      上述步骤将A机器/tmp/test/下的内容拷贝到B机器对应的目录中,其中tar cf - /tmp/test/ |nc B’IP 5555 将内容边打包边通过管道和nc命令传输到由对应IP地址和5555端口传到B机器,nc -l 5555 |tar -C /tmp/test/ -xf - 监听本机的555端口,并将接收到的内容解包至指定的目录(-C参数指定目标目录)

      第二种方法

      将tar与scp、ssh命令结合:

      在A机打包后,复制到B机器并解包

      代码如下:

      《/p》 《p》  tar -cf - /tmp/test | ssh B‘IP “cd /tmp; tar -xf -”《/p》 《p》

      在A机打包,并将打包好的文件复制到B机

      代码如下:

      《/p》 《p》  tar -cf - /tmp/test | ssh B’IP “cd /tmp; cat - 》 test.tar”《/p》 《p》  tar -cf - /tmp/test | scp - 《a href=“mailto:B‘USER@B’IP:/tmp”》B‘USER@B’IP:/tmp《/a》《/p》 《p》

      将A机的打包文件,复制到B机并解包

      代码如下:

      《/p》 《p》  zcat test.tar | ssh B‘IP “cd /tmp; tar -xf -”《/p》 《p》

      也可以直接在本地这么使用:

      代码如下:

      《/p》 《p》  cd /tmp/test1《/p》 《p》  tar -cf - 。 | (cd /tmp/test2 ; tar -xvpf -)《/p》 《p》

      但有人试验后得出结论本地直接用cp较快

      拷贝时除了拷贝单个文件还会拷贝目录,有时需要连同文件/目录的属性一同拷贝。可以在cp命令中使用-R参数递归拷贝目录,使用-p参数拷贝文件保留属性(默认是:mode,ownership,timestamps也可以通过 --preserve[=ATTR_LIST]指定要特别保留的属性如:context, links,xattr, all),使用-d参数拷贝文件保留连接。或者简单的使用-a参数(相当于使用-dR --preserve=all)

      如果想看到拷贝大量小文件的进度可以写一个简单的小脚本:

      代码如下:

      《/p》 《p》  cd /tmp/test《/p》 《p》  for i in *《/p》 《p》  do《/p》 《p》  cp $i 目标目录《/p》 《p》  echo $i is ok.。。。《/p》 《p》  done《/p》 《p》

      最后补充一条不是技巧的技巧:在使用一个工具完成一项任务之前,先思考当前用的工具是不是最适合的工具?有没有更好的工具或办法?如果工具确实很适用于当前任务,那么在使用该工具时有没有特殊的技巧可以提高工作效率?(通常,查看帮助文档可有意外收获)。

      上面就是加快文件拷贝速度的方法介绍了,如果你要拷贝的文件比较多又比较散的话,使用上面介绍的方法能够加快拷贝速度,不妨试试看吧。

    展开全文
  • windows与linux文件拷贝出现中文乱码解决 使用ubuntu下载convmv 使用命令 convmv -f UTF-8 -t GBK -r --nosmart --notest <文件夹名> 由于windows使用GBK汉字显示,而linux使用UTF-8汉字,所以需要做相应...

    windows与linux文件拷贝出现中文乱码解决

    • 使用ubuntu下载convmv
    • 使用命令 convmv -f UTF-8 -t GBK -r --nosmart --notest <文件夹名>

    由于windows使用GBK汉字显示,而linux使用UTF-8汉字,所以需要做相应转换后传输解决乱码问题。

    展开全文
  • Linux文件拷贝——rsync

    千次阅读 2019-01-16 18:11:47
    -l 是链接文件,意思是拷贝链接文件;-p 表示保持文件原有权限;-t 保持文件原有时间;-g 保持文件原有用户组;-o 保持文件原有属主;-D 相当于块设备文件; -z 传输时压缩; -P 传输进度; -v 传输时的进度等信息,...

    rsync命令:

    -r 是递归
    -l 是链接文件,意思是拷贝链接文件;-p 表示保持文件原有权限;-t 保持文件原有时间;-g 保持文件原有用户组;-o 保持文件原有属主;-D 相当于块设备文件;
    -z 传输时压缩;
    -P 传输进度;
    -v 传输时的进度等信息,和-P有点关系,自己试试。可以看文档;
    -u只进行更新,防止本地新文件被重写,注意两者机器的时钟的同时
    --progress是指显示出详细的进度情况
    --delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致
    --password-file=/password/path/file来指定密码文件,这样就可以在脚本中使用而无需交互式地输入验证密码了,这里需要注意的是这份密码文件权限属性要设得只有属主可读。

     

    公共的部分

    安装rsync

    yum -y install rsync 联网安装,两边都要装(手敲)

    rpm -qa rsync  查看软件是否安装

    服务端

    创建文件夹

    touch /etc/rsyncd.conf(rsyncd.conf文件内容在本篇文章最下面)

    touch /etc/rsyncd.secrets

    touch /etc/rsyncd.motd

    将rsyncd.secrets这个密码文件的文件属性设为root拥有, 且权限要设为600, 否则无法备份成功!

    chmod  600  /etc/rsyncd.secrets

    配置rsyncd.motd文件(不写也可以,随便写什么内容,只是一个欢迎页面)

    配置rsyncd.secrets文件(username:password格式,多个用户换行)

    .服务端添加 添加用户:密码.

    vim /etc/rsyncd.secrets

    root:123456

    rsyncd.conf文件配置参数

    pid file = /var/run/rsyncd.pid   #此路径不用配置,自动创建,如果配置了会报错(如果已经存在,就去删掉)

    port=873       #指定运行端口,默认是873,您可以自己指定

    address=192.168.0.144       #服务端IP地址

    uid=root       #指定执行的用户和用户组,默认是nobody,可能遇到权限问题,有些文件从服务器上拉不下来

    gid=root  

    read only=yes   #只读选择,也就是说,不让客户端上传文件到服务器上

    hosts allow=192.168.0.145   #允许的IP,多个IP可以用,分隔

    max connections=5     #允许最大连接的客户端数

    motd file=/etc/rsyncd.motd   #rsyncd.motd文件路径

    log file=/var/log/rsync.log    #rsync服务器日志

    transfer logging=yes  #传输文件的日志

    log format = %t %a %m %f %b  #日志格式

    [test]  #自定义模块

    path=/opt/u01/  #指定文件目录所在位置,这是必须指定的 

    ignore errors  #忽略IO错误

    list=yes  #list 意思是把rsync 服务器上提供同步数据的目录在服务器上模块是否显示列出来

    auth users=root  #必须系统存在,多个用户用“,”分隔

    secrets file=/etc/rsyncd.password   #密码文件的位置

    comment=linuxsir home data    #注释(随便啥内容)

    exclude = beinan/ samba/ #排除/opt/u01/下的文件夹,多个用空格隔开

    [data]  

    path=/opt

    list=yes

    ignore errors

    auth users=root

    secrets file=/etc/rsyncd.secrets

    comment=This is RHEL 4 data 

     

    关闭防火墙,

    开放873端口:iptables -A  INPUT  -p  tcp  --dport  873  -j  ACCEPT

    启动rsync服务端:#/usr/bin/rsync --daemon  --config=/etc/rsyncd/rsyncd.conf

    查看状态 lsof -i :873

     首先:我们看看rsync服务器上提供了哪些可用的数据源

    rsync  --list-only  root@192.168.145.5::

    客户端

    vim /etc/xinetd.d/rsync修改参数

    客户端disable = no,其他不动。

    # default: off

    # description: The rsync server is a good addition to an ftp server, as it \

    #       allows crc checksumming etc.

    service rsync

    {

            disable = no

            flags           = IPv6

            socket_type     = stream

            wait            = no

            user            = root

            server          = /usr/bin/rsync

            server_args     = --daemon

            log_on_failure  += USERID

    }

    rsyncd.conf和rsyncd.motd都不需要配置

    touch /etc/rsyncd.secrets

    rsyncd.secrets文件(该文件是免密设置,可以不配置,那么需要手动输入密码)格式:密码

    vim /etc/rsyncd.secrets

    123456

    rsync  --list-only  root@192.168.145.5::

     

    同步文件

    从远程同步文件到本地

    rsync -avz --password-file=/etc/rsyncd.password root@192.168.0.144::test /opt/u01/

    rsync -avz  密码文件位置 服务端用户名@服务端IP::自定义模块名 同步到本地的地址

    本地同步到本地

    rsync -avH /uu01/ 192.168.0.131:/hy

    rsync -avH 本地目录 本地IP:本地路径

    (将本地uu01的文件夹下的文件同步到hy文件夹下)

    rsync -avH /uu01 192.168.0.131:/hy

    (将本地uu01文件夹(包括里面的文件)同步到hy文件夹下)

    从本地同步到远程

    read only=no,不然会报错

    rsync -av /hy root@192.168.0.130::test

    rsync -av 本地路径 远程用户@远程IP::模块名

    (将本地的hy文件夹同步到test的模块中的/opt/u01路径下)

     

    附件:rsyncd.conf内容


    pid file = /var/run/rsyncd.pid
    port=873
    address=192.168.0.144
    uid=root
    gid=root
    read only=yes
    hosts allow=192.168.0.145
    max connections=5
    motd file=/etc/rsyncd.motd
    log file=/var/log/rsync.log
    transfer logging=yes
    [test]
    path=/opt/u01/
    ignore errors
    read only=no
    list=no
    hosts allow=192.168.0.145
    auth users=root
    list=yes
    ignore errors
    secrets file=/etc/rsyncd.password
    comment=this is test
    [data]
    path=/opt
    list=yes
    ignore errors
    auth users=root
    secrets file=/etc/rsyncd.secrets
    comment=this is data

    完。


     

    展开全文
  • linux文件拷贝常用方法

    千次阅读 2018-01-25 18:12:44
    不同的Linux之间copy文件常用有3种方法:  第一种就是ftp,也就是其中一台Linux安装ftp Server,这样可以另外一台使用ftp的client程序来进行文件的copy。  第二种方法就是采用samba服务,类似Windows...

    不同的Linux之间copy文件常用有3种方法:


     第一种就是ftp,也就是其中一台Linux安装ftp Server,这样可以另外一台使用ftp的client程序来进行文件的copy。

     第二种方法就是采用samba服务,类似Windows文件copy 的方式来操作,比较简洁方便。

            第三种就是利用scp命令来进行文件复制。

             scp是有Security的文件copy,基于ssh登录。操作起来比较方便,比如要把当前一个文件copy到远程另外一台主机上,

      可以如下命令。

      scp /home/daisy/full.tar.gz root@172.19.2.75:/home/root

      然后会提示你输入另外那台172.19.2.75主机的root用户的登录密码,接着就开始copy了。

      如果想反过来操作,把文件从远程主机copy到当前系统,也很简单。

      scp root@/full.tar.gz172.19.2.75:/home/root/full.tar.gz home/daisy/full.tar.gz
    展开全文
  • Linux文件拷贝命令?

    千次阅读 2016-07-31 23:30:50
    方式一:对文件进行copy: #cp object_file source_file 方式二:对目录下文件进行copt: #cp -r object_file source_file 补充cp的参数: 用法:cp [选项]... [-T] 源文件 目标文件  或:cp [选项]......
  • 两台linux文件拷贝

    2010-10-19 19:38:00
    scp就是secure copy,是用来进行远程文件拷贝的.数据传输使用ssh1,并且和ssh1使用相同的认证方式,提供相同的安全保证.与rcp不同的是,scp会要求你输入密码如果需要的话.  最简单的应用如下:  scp 本地用户名@...
  • linux 远程文件拷贝

    千次阅读 2019-04-21 21:29:55
    linux scp 远程拷贝文件及文件夹 1、拷贝本机/home/administrator/test整个目录至远程主机192.168.1.100的/root目录下 代码如下: scp -r /home/administrator/test/ root@192.168.1.100:/root/ 2、拷贝单个...
  • Linux 拷贝文件

    千次阅读 2021-01-05 17:02:12
    Linux 拷贝文件 文件或文件夹的复制命令 1.cp命令 命令:cp dir1/a.doc dir2 表示将dir1下的a.doc文件复制到dir2目录下 cp -r dir1 dir2 表示将dir1及其dir1下所包含的文件复制到dir2下 cp -r dir1/. dir2 表示将dir...
  • scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,scp传输是加密的,下面看一下详细使用方法吧
  • Linux实现拷贝文件

    2019-03-21 11:47:58
    Linux下一个简单的实现文件拷贝的代码: #include<stdlib.h> #include<unistd.h> #include<string.h> #include<assert.h> #include<fcntl.h> int main() { int fdr = open("./...
  • linux拷贝文件

    千次阅读 2018-07-15 22:29:47
    拷贝A文件夹到B目录cp -rv A B如果你正在B目录下,可以这样:cp -rv A ./拷贝A文件下的A1文件cp -v A/A1 ./或者cp -v A/A1 B/说明: -r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不...
  • Linux远程拷贝文件scp

    2019-03-14 15:00:44
    scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。 -1 强制scp命令使用协议ssh1 -2 强制scp命令使用协议ssh2 -4 强制scp命令只使用IPv4寻址 -6 强制scp命令只使用IPv6寻址 -B...
  • Linux——文件拷贝

    2015-06-19 17:56:22
    cp a.txt /home/root1/test (将文件a.txt拷贝至test目录下) 2.不同Linux服务器 scp a.sh root@10.10.56.3:/usr/local/bin/test/ (将a.sh同步到服务器56.3上的/usr/local/bin/test/目录) 3.Linux与windows...
  • linux文件拷贝函数

    2010-01-14 17:42:33
    本函数可以实现文件拷贝,应用在linux
  • linuxlinux文件拷贝代码

    千次阅读 2016-10-15 23:34:21
    linux文件拷贝代码 #include #include #include #include #include #include #define BUFF_SIZE 1024 int main(int argc,char *argv[]) {  int from_fp;  int to_fp;  char ...
  • linux拷贝 链接文件

    2013-08-12 11:58:01
    linux拷贝 链接文件 只需要cp -d
  • linux文件拷贝

    2013-03-24 19:22:44
    一 scpscp就是secure copy,是用来进行远程文件拷贝的.数据传输使用ssh1,并且和ssh1使用相同的认证方式,提供相同的安全保证.scp的基本用法可分为两种 :1、从本机给远程计算机拷贝文件 命令格式为: scp [要拷贝的...
  • linux跨主机文件拷贝

    2020-06-15 10:30:33
    linux跨主机文件拷贝 scp -r root@网站所在内网IP地址:/home/wwwroot/拷贝网站目录 /当前拷贝过来的网站目录 scp -r root@192.168.1.1:/home/wwwroot/test /home
  • Linux拷贝和移动文件

    千次阅读 2019-04-12 22:08:16
    Linux拷贝和移动文件 命令 对应英文 作用 tree [目录名] tree 以树状图列出文件目录结构 cp 源文件 目标文件 copy 复制文件或者目录 mv 源文件 目标文件 move 移动文件或者目录 / 文件或者目录重命名 ...
  • 要在linux拷贝文件到windows上,那么文件必须是777的最高权限。 chmod 777 wb_redis -R 转载于:https://www.cnblogs.com/hgj123/p/4493412.html
  • linux文件 拷贝

    千次阅读 2012-11-16 11:13:05
    把库文件从一台机器拷贝到另一台机器上,就如同拷贝一个可执行程序,或者一个文本文件是一样的,没多大区别。    A机器上,没办法编译安装某个可执行程序,或者库程序。可以在B机器上,编译安装好,然后将这些库...
  • Linux 服务器拷贝文件到Windows 本地

    千次阅读 2020-08-05 10:35:35
    数据库备份文件拷贝到本地... scp –r linux登录账户@服务器IP:服务器上要拷贝文件的完整路径 window上存放文件的路径,现如下,文件拷贝到D盘: scp –r root@123.209.99.5:/var/opt/mssql/data/xchdata.bak D:/ ...
  • linux文件及文件夹拷贝移动删除文件拷贝文件夹拷贝文件拷贝并重命名文件夹拷贝并重命名文件移动文件夹移动文件移动并重命名文件夹移动并重命名文件删除文件夹删除 文件拷贝 cp test.log aaa 将当前目录下的test.log...
  • 1、复制文件A的前N行数据到文件B中 在命令行直接输入:(将data.txt的前100000行复制到sample.txt中) head -n 100000 data.txt > sample.txt 2、复制文件夹A中的N个文件到文件夹B中 查看文件夹下文件数目...
  • Linux下C语言实现文件拷贝

    热门讨论 2012-10-09 09:41:55
    Linux下用C语言实现文件拷贝的代码
  • 两台linux服务器拷贝文件: scp -r root@10.3.24.40:/apps/taskapps/ /apps/taskapps
  • 1、本机拷贝文件Linux服务器 scp /Users/xiaohan/Desktop/x.zip root@27.223.88.110:/root/FMS /Users/xiaohan/Desktop/x.zip 要拷贝文件 root Linux服务器用户名 27.223.88.110 Linux服务器IP /root/FMS 要...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,214
精华内容 6,085
关键字:

linux文件拷贝

linux 订阅