Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux-使用覆盖将文件从源移动到目标_Linux_Administration - Fatal编程技术网

Linux-使用覆盖将文件从源移动到目标

Linux-使用覆盖将文件从源移动到目标,linux,administration,Linux,Administration,首先,如果我重复了一个已经存在的问题,我想道歉,但这太重要了,不能搞砸了 我的linux服务器上有两个目录: -/tmp/tmp作为源 -/var作为目的地 /var目录中已经有大约500个txt文件,我想将我的所有文件从/tmp目录(大约200个文件)移动到/var目录,替换那些已经存在的同名文件,但不接触那些不在/tmp目录中的文件 实例: /var文件:a.txt、b.txt、c.txt、d.txt /tmp文件:a.txt,b.txt 结果:/var文件:a.txt(来自/tmp),b.

首先,如果我重复了一个已经存在的问题,我想道歉,但这太重要了,不能搞砸了

我的linux服务器上有两个目录: -
/tmp
/tmp作为源 -
/var
作为目的地

/var
目录中已经有大约500个txt文件,我想将我的所有文件从
/tmp
目录(大约200个文件)移动到
/var
目录,替换那些已经存在的同名文件,但不接触那些不在
/tmp
目录中的文件

实例:
/var
文件:a.txt、b.txt、c.txt、d.txt
/tmp
文件:a.txt,b.txt 结果:
/var
文件:a.txt(来自
/tmp
),b.txt(来自
/tmp
),c.txt,d.txt


我不确定mv是否是一种合适的方法,所以提前谢谢大家

这可以通过
rsync

有关更多信息,请参阅

Local:  rsync [OPTION...] SRC... [DEST]
Access via remote shell:
  Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
  Push: rsync [OPTION...] SRC... [USER@]HOST:DEST
Access via rsync daemon:
  Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
        rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
  Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
        rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST
对于你的情况

rsync -avzh /tmp/ /var/
如果你想测试它

rsync -avzh --dry-run /tmp/ /var/

-a, --archive               archive mode;
-v, --verbose               increase verbosity
-z, --compress              compress file data during the transfer
-h, --human-readable        output numbers in a human-readable format
详细评论

-v、 --verbose此选项增加传输过程中提供的信息量。默认情况下,rsync以静默方式工作。单人间 -v将为您提供有关正在传输的文件的信息,并在最后提供一个简短的摘要。两个v选项将为您提供 有关跳过哪些文件的信息以及更多信息 最后是信息。只能使用两个以上的-v选项 如果您正在调试rsync。请注意,已传输文件的名称 输出的文件使用默认的--out格式完成 lq%n%Lrq,它只告诉您文件的名称,如果项目 是一个链接,它指向哪里。在单v级的详细程度上,这 不提及文件的属性何时更改。如果你问 对于已更改属性的逐项列表(或者--itemize changes 或者将lq%irq添加到--out格式设置),输出(在 客户)增加,以提及以任何方式更改的所有项目。 有关详细信息,请参见--out格式选项

-a、 --存档这相当于-rlptgoD。这是一种表示您希望递归并希望保留几乎所有内容的快捷方式(使用 -H是一个明显的遗漏)。上述等价的唯一例外是指定了--files from,在这种情况下不指定-r 暗指的。请注意,-a不保留硬链接,因为查找 多重链接文件很昂贵。您必须单独指定-H。 --无选项您可以通过在选项名称前加上lqno rq来关闭一个或多个隐含选项。并非所有选项都可以前缀为 lqno rq:只有其他选项隐含的选项(例如--no-D, --无烫发)或在各种情况下具有不同的默认值(例如,无整个文件、-无阻塞io、-无目录)。您可以在lqno rq前缀后指定短选项名或长选项名(例如。 --no-R与--no-relative相同)。例如:如果您想使用-a(--archive),但不想 -o(--owner),而不是将-a转换为-rlptgD,您可以指定-a--no-o(或-a--no-owner)。选项的顺序很重要:如果指定--no-r-a,则 -r选项最终会被打开,与-a--no-r相反。还请注意,--files from选项的副作用并不明显 位置,因为它会影响多个选项的默认状态和 稍微更改-a的含义(有关详细信息,请参阅--files from选项) 更多细节)

-z、 --compress使用此选项,rsync将文件数据发送到目标计算机时进行压缩,从而减少数据量 正在传输——在慢速连接上有用的东西。 请注意,此选项通常可以实现更好的压缩比 使用压缩远程shell或 压缩传输,因为它利用了隐式 匹配数据块中未显式发送的信息 通过连接

-h、 --人类可读的输出数字,采用更具人类可读性的格式。这使得大数字的输出使用更大的单位,包括K、M或G 后缀如果此选项指定一次,则这些单位为K(1000),M (1000*1000)和G(1000*1000*1000);如果重复该选项,则 单位的幂是1024而不是1000


这可以通过
rsync

有关更多信息,请参阅

Local:  rsync [OPTION...] SRC... [DEST]
Access via remote shell:
  Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
  Push: rsync [OPTION...] SRC... [USER@]HOST:DEST
Access via rsync daemon:
  Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
        rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
  Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
        rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST
对于你的情况

rsync -avzh /tmp/ /var/
如果你想测试它

rsync -avzh --dry-run /tmp/ /var/

-a, --archive               archive mode;
-v, --verbose               increase verbosity
-z, --compress              compress file data during the transfer
-h, --human-readable        output numbers in a human-readable format
详细评论

-v、 --verbose此选项增加传输过程中提供的信息量。默认情况下,rsync以静默方式工作。单人间 -v将为您提供有关正在传输的文件的信息,并在最后提供一个简短的摘要。两个v选项将为您提供 有关跳过哪些文件的信息以及更多信息 最后是信息。只能使用两个以上的-v选项 如果您正在调试rsync。请注意,已传输文件的名称 输出的文件使用默认的--out格式完成 lq%n%Lrq,它只告诉您文件的名称,如果项目 是一个链接,它指向哪里。在单v级的详细程度上,这 不提及文件的属性何时更改。如果你问 对于已更改属性的逐项列表(或者--itemize changes 或者将lq%irq添加到--out格式设置),输出(在 客户)增加,以提及以任何方式更改的所有项目。 有关详细信息,请参见--out格式选项

-a、 --存档这相当于-rlptgoD。这是一种表示您希望递归并希望保留几乎所有内容的快捷方式(使用 -H是一个明显的遗漏)。上述等价的唯一例外是指定了--files from,在这种情况下不指定-r 暗指的。请注意,-a不保留硬链接,因为查找 多重链接文件