如何使用 Linux 终端复制文件和目录

Suraj Joshi 2023年1月30日
  1. 使用 cp 命令复制文件
  2. 使用 cp 命令复制文件到一个目录
  3. 复制多个文件
  4. 使用 cp 命令复制目录
  5. 使用 rsync 命令复制文件和目录
如何使用 Linux 终端复制文件和目录

我们可以使用 Linux Terminal 中的 cprsync 命令复制文件和目录。cp 命令一般用于复制文件,而 rsync 命令一般用于复制目录。

使用 cp 命令复制文件

我们在 Linux 和 Unix 操作系统中使用 cp 命令来复制文件和目录。

要将文件 abc.txt 的内容复制到另一个文件 backup.txt 中,我们使用以下命令。

cp abc.txt backup.txt

它将 abc.txt 中的内容复制到 backup.txt 中。这里两个文件都必须在当前工作目录下。

如果目标文件已经存在,目标文件的内容将被覆盖。

我们可以在 cp 命令中加入 -i 标志,在复制前得到确认提示。

cp -i abc.txt backup.txt

输出:

cp: overwrite 'backup.txt'?

如果我们想复制文件,我们按 Y 键并按 Enter

要了解使用 cp 命令所做的事情,我们可以使用 cp 命令的 -v 标志。

cp -v abc.txt backup.txt

输出:

'abc.txt' -> 'backup.txt'

它显示了 abc.txt 的内容正在被复制到 backup.txt 中。

使用 cp 命令复制文件到一个目录

要将一个文件复制到一个目录,我们使用 cp 命令。cp 命令的第一个参数是要复制的文件名,第二个参数是需要复制的文件所在目录的绝对路径或相对路径。

cp abc.txt ./test

它将当前工作目录中的文件 abc.txt 复制到当前工作目录 test 的文件夹中。

如果要将特定目录下的文件复制到与父文件不同的目录下,我们可以将文件的名称指定为。

cp abc.txt ./test/test.txt

它将文件 abc.txt 复制到文件夹 test 中,文件名为 test.txt

复制多个文件

我们可以使用 cp 命令将多个文件和目录复制到一个特定的目录中,指定所有源文件和目录,并在最后指定目标目录。

cp abc.txt backup.txt test backup

这将把文件 abc.txtbackup.txt 以及文件夹 test 复制到文件夹 backup 中。

cp 命令还可以进行模式匹配。

cp *.txt backup

这将当前工作目录中所有扩展名为 .txt 的文件复制到 backup 文件夹中。

使用 cp 命令复制目录

我们使用 -r-R 标志与 cp 命令一起复制目录及其子目录和文件到目标目录。

cp -r pp Project

它将整个 pp 目录及其子目录和文件复制到目标目录 Project 中。

在这个例子中,在 Project 目录中会有一个 pp 目录。

然而,如果我们只想复制文件和子目录,我们使用 -T 标志和 -R 标志。

cp -RT pp Project

它将 pp 目录的子目录和文件复制到目标目录 Project 中。

使用 rsync 命令复制文件和目录

rsync 是一个命令行工具,用于在两个主机之间同步文件和目录。如果源路径和目的路径都代表本地主机,rsync 命令就像复制命令一样。

rsync -a abc.txt backup.txt

它将 abc.txt 的内容复制到 backup.txt 中。

在这里,-a 标志说明在复制时保留符号链接、修改时间、组、所有权和权限。

同样,我们也可以将一个目录复制到另一个目录中。

rsync -a /abc /backup-abc

它将目录 abc 的内容复制到目标目录 backup-abc 中。

在这里,如果我们省去后面的斜杠/,那么源目录就会被复制到目标目录里面。

作者: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

相关文章 - Linux Files and Directories