linux下cp复制目录时排除某些目录的方法分享,CP / SCP / RSYNC 如何在Linux中排除特定目录?...

对于任何系统管理员或一般Linux操作系统用户而言,在服务器之间执行文件复制操作都是一项常见任务。在将文件从一个系统复制到另一个系统时,由于某些特定原因,我们可能需要排除某些文件和目录被复制。即使在同一系统上将数据从一个位置传输到另一位置时,这也可能适用。

在本文中,我们将演示如何排除特定的文件或目录,或者使用用于此目的的三种最常用和广泛使用的实用程序(即rsync,cp和scp)进行复制。使用cp命令排除特定文件/目录的复制:

考虑以下情形,其中我的当前工作目录中有五个目录。

drwxr-xr-x2rootroot6Aug2922:47dir1

drwxr-xr-x2rootroot71Aug2922:47dir2

drwxr-xr-x2rootroot6Aug2922:47dir3

drwxr-xr-x2rootroot6Aug2922:47dir4

drwxr-xr-x2rootroot6Aug2922:47dir5

我想复制以名称dir开头的所有目录的内容,除了dir2目录,然后可以执行以下操作:

[[email protected]]#cp-r`ls-A|grepdir|grep-v"dir2"`/tmp/sahil/

这将复制除dir2以外的所有dir目录。如果我们需要复制所有目录并跳过单个目录,则可以运行以下命令。

[[email protected]]#cp-r!(dir2)/sahil

除目录dir2之外,当前工作目录中的所有目录和子目录都将复制到/ sahil中。同样,如果我们要从当前工作目录中复制除一个文件以外的所有文件,请键入以下内容

[[email protected]]#cp-r!(file3)/sahil

在上面的示例中,当前工作目录中的所有文件都被复制到/ sahil,除了名为file3的文件。

使用scp命令排除特定文件/目录被复制:

scp中的数据排除机制与先前使用cp命令演示的类似。以下是一个示例。上面的命令从当前工作目录中复制了所有文件,除了名为file4的文件。

[[email protected]]#scp-rp!(file4)192.168.19.142:/sahil

file1100%00.0KB/s00:00

file2100%00.0KB/s00:00

file3100%00.0KB/s00:00

file5100%00.0KB/s00:00

使用rsync命令排除特定文件/目录的复制:

在用于复制文件的命令集中,最灵活的是rsync命令。在本文中,我们将讨论范围限于排除某些文件/目录被复制的功能。要使用rysnc命令复制文件或文件夹,请使用–exclude标志,如以下示例所示。

[[email protected]]#rsync-av--progress--exclude="dir2"dir*/sahil

sendingincrementalfilelist

dir1/

dir3/

dir4/

dir5/

sent82bytesreceived28bytes220.00bytes/sec

totalsizeis0speedupis0.00

total0

drwxr-xr-x2rootroot6Aug2922:47dir1

drwxr-xr-x2rootroot6Aug2922:47dir3

drwxr-xr-x2rootroot6Aug2922:47dir4

drwxr-xr-x2rootroot6Aug2922:47dir5

我们也可以在远程复制文件时使用–exclude标志。以下是一个示例:

[[email protected]]#rsync-av--progress--exclude="dir2"dir*192.168.19.142:/sahil

sendingincrementalfilelist

dir1/

dir3/

dir4/

dir5/

sent82bytesreceived28bytes220.00bytes/sec

totalsizeis0speedupis0.00

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值