Linux如何复制文件夹

时间:2020-01-09 10:37:50  来源:igfitidea点击:

如何使用命令行选项和bash shell在Linux操作系统下复制目录或文件夹?

说明:文件是存储在磁盘上的数据项的集合。
另外,它的设备可以存储信息,数据,音乐(mp3/mp4文件),图片,电影,声音,书籍等。
目录是一组文件。
目录分为两种类型,例如根目录和子目录。
您可以使用各种命令在Linux操作系统下复制文件夹。
本教程显示如何使用Linux终端将文件夹的内容复制到另一个文件夹。

如何使用cp命令复制文件夹

cp命令是用于复制文件和目录的Linux命令。
语法如下:

cp source destination
cp dir1 dir2
cp -option  source destination
cp -option1 -option2  source destination

Linux cp命令示例

在此示例中,将/home/Hyman/letters /文件夹及其所有文件复制到/usb/backup /目录:

cp -avr /home/Hyman/letters /usb/backup

其中:

  • ``-a`:保留指定的属性,例如目录,文件模式,所有权,时间戳,如果可能的话还保留其他属性:上下文,链接,xattr等
  • ``-v`:详细输出。
  • ``-r`:递归复制目录。

在Linux上复制文件夹的cp命令的更多示例

将名为/tmp/conf /的文件夹复制到/tmp/backup /:

$ cp -avr /tmp/conf/ /tmp/backup/

可以使用星号通配符将目录中的所有文件和子目录/文件夹复制到另一个文件夹。
例如,以下操作会将名为/home/Hyman/Documents /的文件夹中的所有文件复制到另一个名为/data /的现有文件夹中:

cp -v /home/Hyman/Documents/* /data/

使用Linux rsync命令复制文件夹

您还可以使用rsync命令,它是一种快速且用途广泛的文件复制工具。
它可以在网络上进行复制。

rsync命令的语法如下

rsync -av /path/to/source/ /path/to/destination/
rsync -av /path/to/source/ /path/to/destination/source/

要将包含大文件和邮件文件夹的主目录备份到/media/backup,请输入:

$ rsync -avz /home/Hyman /media/backup

我可以将文件夹复制到名为server1.theitroad.local的远程计算机,如下所示:

$ rsync -avz /home/Hyman/ server1.theitroad.local:/home/backups/Hyman/

其中:

  • -a:存档模式,即在获得所有许可和其他信息(包括递归复制)的情况下复制文件夹。
  • -v:详细模式。
  • -z:使用此选项,rsync在将文件数据发送到目标计算机时对其进行压缩,从而减少了传输数据的数量,这对于缓慢的连接很有用

您可以使用progress或-P选项在传输过程中显示进度:

$ rsync -av --progress /path/to/source/ /path/to/dest