如何使用 Linux 终端复制文件和目录
我们可以使用 Linux Terminal 中的 cp 和 rsync 命令复制文件和目录。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.txt 和 backup.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 is a backend software engineer at Matrice.ai.
LinkedIn