如何在 Linux 中从复制中排除特定目录

前段时间,我们讨论了如何 从复制中排除某些大小的文件 使用 rsync 在类 Unix 系统中。 该方法帮助我们排除了大文件或不太重要的文件,以便尽快完成复制过程。 因此,我们可以稍后在有空闲时间时复制剩余的文件。 今天,在这个简短的指南中,我们将看到如何从复制中排除特定目录 同步cp Linux 中的命令。

在 Linux 中从复制中排除特定目录

可以有很多方法来完成这项任务。 我知道以下两种方法。

方法 1- 使用 rsync 命令

您可能已经知道,Rsync 是一种快速而通用的工具,可以在本地复制文件和文件夹,或者通过任何远程 shell 复制到/从另一台主机,或者复制到/从远程 rsync 守护程序。 Rsync 有很多有用的选项。 一个有用的选项是 –exclude。 使用排除选项,我们可以从复制中排除某些文件/目录。 让我们看看如何使用 example.

假设您有一个文件夹,名为 ostechnix. 在目录 ostechnix 内,有三个子目录,即 目录1, 目录2, 和 目录3.

$ ls ostechnix/
dir1 dir2 dir3

你想复制 目录1目录3 到不同的位置,但不是 目录2. 如何? 这就是 rsync 提供帮助的地方。

要使用 rsync 命令从复制中排除特定目录,只需运行:

$ rsync -av --progress ostechnix/ backup/ --exclude dir2

示例输出为:

sending incremental file list
./
dir1/
dir1/file1.pdf
 6,152,611 100% 58.36MB/s 0:00:00 (xfr#1, to-chk=7/11)
dir1/file2
 2,597,261 100% 14.83MB/s 0:00:00 (xfr#2, to-chk=6/11)
dir1/file3.doc
 88,143 100% 470.37kB/s 0:00:00 (xfr#3, to-chk=5/11)
dir1/file4.txt
 66,374 100% 330.71kB/s 0:00:00 (xfr#4, to-chk=4/11)
dir3/
dir3/file1.pdf
 6,152,611 100% 18.39MB/s 0:00:00 (xfr#5, to-chk=3/11)
dir3/file2
 2,597,261 100% 6.68MB/s 0:00:00 (xfr#6, to-chk=2/11)
dir3/file3.doc
 88,143 100% 224.16kB/s 0:00:00 (xfr#7, to-chk=1/11)
dir3/file4.txt
 66,374 100% 164.10kB/s 0:00:00 (xfr#8, to-chk=0/11)

sent 17,813,759 bytes received 187 bytes 11,875,964.00 bytes/sec
total size is 17,808,778 speedup is 1.00

上面的命令将复制文件夹的所有内容 ostechnix 到一个文件夹,即 备份,它将排除目录 目录2 从复制。

或者,您可以使用与以下相同的命令。

$ rsync -av --progress --exclude="folder_to_exclude" source_dirctory dest_directory

例子:

$ rsync -av --progress --exclude="dir2" ostechnix/ backup/

实际上,在使用 rsync 备份系统时忽略或排除一些大的或不太重要的目录是一个好主意,以节省您的时间。

有关更多详细信息,请查看手册页。

$ man rsync

另请阅读:

  • 如何在 Linux 和 Unix 中通过网络快速传输大文件
  • 如何从命令行查找 Linux 中目录的大小

方法 2 – 使用 cp 命令

我们也可以使用 cp 命令将文件夹从一个位置复制到另一个位置,不包括特定目录。

在我们的例子中,转到您的源目录,即 ostechnix。

$ cd ostechnix/

并且,运行以下命令:

$ cp -r `ls -A | grep -v "dir2"` /home/sk/backup/

上述命令将复制当前文件夹的所有内容 ostechnix 除了子目录 目录2 并将它们保存到 /home/sk/备份/ 目录。

更简单的是,我们可以这样做。

$ cp -r !(dir2) /home/sk/backup/

有关更多详细信息,请查看手册页。

$ man cp

感谢您的光临!

帮助我们帮助您:

祝你有美好的一天!!