linux终端如何复制文件命令行
- Linux
- 2025-07-16
- 4131
cp [源文件路径] [目标路径] 命令复制文件,如 `cp /home/user/file.
Linux终端中,复制文件是一项常见的操作,有多种命令可以实现这一功能,每个命令都有其特定的用途和语法,以下是一些常用的Linux终端复制文件的命令及其详细说明:
cp 命令
 
cp(copy)命令是最常用的文件复制命令,它可以将一个或多个文件复制到指定的目录或文件中。
基本语法
cp [选项] 源文件 目标文件
常用选项
- -a, --archive:此选项通常用于递归复制目录,并尽可能保留文件的属性。
- -f, --force:如果目标文件已存在,则强制覆盖。
- -i, --interactive:在覆盖文件前提示确认。
- -r, --recursive:递归复制目录及其内容。
- -u, --update:仅当源文件比目标文件新时才复制。
- -v, --verbose:显示详细的复制过程。
示例
-  复制单个文件 cp source.txt destination.txt 这将把 source.txt文件复制为destination.txt。
-  复制多个文件 cp file1.txt file2.txt /path/to/destination/ 这将把 file1.txt和file2.txt复制到/path/to/destination/目录下。
-  复制目录 cp -r /path/to/source/directory /path/to/destination/ 这将递归复制整个目录及其内容。 
-  强制覆盖 cp -f source.txt destination.txt destination.txt已存在,它将被覆盖。
rsync 命令
 
rsync 是一个功能强大的文件同步工具,它不仅可以复制文件,还可以实现增量备份、远程同步等功能。
基本语法
rsync [选项] 源文件 目标文件
常用选项
- -a, --archive:归档模式,递归复制目录并保留符号链接、权限、时间戳等。
- -z, --compress:在传输过程中压缩数据。
- -v, --verbose:显示详细的同步过程。
- -h, --human-readable:以人类可读的格式显示文件大小。
- --delete:删除目标目录中源目录中不存在的文件。
示例
-  同步目录 rsync -av /path/to/source/ /path/to/destination/ 这将递归同步 /path/to/source/目录到/path/to/destination/,并显示详细过程。
-  远程同步 rsync -avz /path/to/source/ user@remote:/path/to/destination/ 这将把本地目录同步到远程服务器上的指定目录,并在传输过程中压缩数据。 
dd 命令
 
dd 命令主要用于按块复制文件,常用于备份和恢复整个磁盘或分区。
基本语法
dd [选项] if=输入文件 of=输出文件 bs=块大小 count=块数
常用选项
- if=输入文件:指定输入文件。
- of=输出文件:指定输出文件。
- bs=块大小:指定块的大小,默认单位为字节。
- count=块数:指定要复制的块数。
示例
-  复制整个磁盘  dd if=/dev/sda of=/path/to/backup.img bs=4M 这将把整个 /dev/sda磁盘复制到/path/to/backup.img文件中,块大小为4MB。
-  复制部分文件 dd if=/path/to/source.txt of=/path/to/destination.txt bs=1k count=100 这将从 source.txt文件中复制前100个1KB的块到destination.txt文件中。
tar 命令
 
tar 命令主要用于打包和解包文件,结合 cp 或 rsync 可以实现复杂的复制任务。
基本语法
tar [选项] 文件列表
常用选项
- -c, --create:创建新的归档文件。
- -v, --verbose:显示详细信息。
- -f, --file=文件名:指定归档文件名。
- -z, --gzip:使用gzip压缩归档文件。
- -x, --extract:解包归档文件。
- -t, --list:列出归档文件的内容。
- -r, --append:追加文件到已有的归档文件中。
示例
-  创建归档文件 tar -cvf archive.tar /path/to/source/directory/ 这将把 /path/to/source/directory/目录打包成archive.tar文件,并显示详细过程。
-  解包归档文件 tar -xvf archive.tar -C /path/to/destination/ 这将把 archive.tar文件解包到/path/to/destination/目录下,并显示详细过程。
scp 命令
 
scp 命令用于在本地主机和远程主机之间安全地复制文件。
基本语法
scp [选项] 源文件 用户@远程主机:目标路径
常用选项
- -r, --recursive:递归复制目录及其内容。
- -p, --preserve:保留文件的修改时间、访问时间和权限。
- -q, --quiet:不显示进度条和传输信息。
- -C, --compress:在传输过程中压缩数据。
示例
-  复制文件到远程主机 scp localfile.txt user@remote:/path/to/destination/ 这将把本地的 localfile.txt文件复制到远程主机的/path/to/destination/目录下。
-  递归复制目录  scp -r /path/to/source/directory user@remote:/path/to/destination/ 这将递归复制整个目录及其内容到远程主机。 
mv 命令
 
虽然 mv 命令主要用于移动文件,但它也可以用于在不同文件系统之间复制文件,因为它实际上是通过复制和删除来实现的。
基本语法
mv [选项] 源文件 目标路径
常用选项
- -f, --force:强制移动文件,即使目标文件已存在。
- -i, --interactive:在覆盖文件前提示确认。
- -n, --no-clobber:不覆盖现有文件。
- -v, --verbose:显示详细的移动过程。
示例
-  移动文件 mv source.txt /path/to/destination/destination.txt 这将把 source.txt文件移动到/path/to/destination/目录下,并重命名为destination.txt。
-  移动目录 mv /path/to/source/directory /path/to/destination/ 这将把整个目录移动到目标路径下。 
ln 命令
 
ln 命令用于创建硬链接或符号链接,而不是直接复制文件,硬链接是指向相同数据的多个文件名,而符号链接则是指向另一个文件的快捷方式。
基本语法
ln [选项] 源文件 目标链接名
常用选项
- -s, --symbolic:创建符号链接。
- -f, --force:强制创建链接,即使目标链接已存在。
- -n, --no-dereference:不取消引用符号链接。
- -v, --verbose:显示详细的链接创建过程。
示例
-  创建硬链接 ln source.txt hardlink.txt 这将创建一个与 source.txt指向相同数据的硬链接hardlink.txt。
-  创建符号链接 ln -s /path/to/source.txt /path/to/symlink.txt 这将创建一个指向 /path/to/source.txt的符号链接symlink.txt。
pax 命令
 
pax 是一个POSIX标准的归档工具,可以用于打包和解包文件,类似于 tar,但支持更多的选项和功能。

基本语法
pax [选项] 文件列表
常用选项
- -w, --write:创建新的归档文件。
- -r, --read:解包归档文件。
- -v, --verbose:显示详细信息。
- -f, --file=文件名:指定归档文件名。
- -z, --gzip:使用gzip压缩归档文件。
- -x, --extract:解包归档文件。
- -t, --list:列出归档文件的内容。
- -a, --append:追加文件到已有的归档文件中。
示例
-  创建归档文件 pax -w -v -f archive.pax /path/to/source/directory/ 这将把 /path/to/source/directory/目录打包成archive.pax文件,并显示详细过程。
-  解包归档文件 pax -r -v -f archive.pax -s /path/to/destination/ 这将把 archive.pax文件解包到/path/to/destination/目录下,并显示详细过程。
cpio 命令
 
cpio 是一个用于创建、提取和处理归档文件的工具,特别适用于处理大型文件集。
基本语法
cpio [选项] 文件列表
常用选项
- -o, --create:创建新的归档文件。
- -i, --extract:解包归档文件。
- -v, --verbose:显示详细信息。
- -H, --format=格式:指定归档格式,如- tar,- cpio,- pax等。
- -a, --append:追加文件到已有的归档文件中。
- -d, --make-directories:在解包时创建必要的目录结构。
- -m, --preserve:保留文件的修改时间、访问时间和权限。
示例
-  创建归档文件 find /path/to/source/directory/ | cpio -o -v -H newc > archive.cpio 这将把 /path/to/source/directory/目录及其内容打包成archive.cpio文件,并显示详细过程。
-  解包归档文件 cpio -i -v -d -H newc < archive.cpio 这将把 archive.cpio文件解包到当前目录下,并在解包时创建必要的目录结构,同时显示详细过程。
pv 命令
 
pv 命令用于监控数据通过管道的传输情况,常与其他命令结合使用以显示复制进度。
基本语法
pv [选项] [源文件] > [目标文件]
常用选项
- -a, --average-rate:显示平均传输速率。
- -b, --bytes:显示已传输的字节数。
- -e, --timer:在完成后显示总耗时。
- -f, --format:指定输出格式。
- -h, --hours:显示小时数。
- -l, --line-mode:显示行模式进度。
- -n, --numeric:以数字形式显示进度。
- -p, --progress:显示进度条。
- -s, --size:指定预期的总大小。
- -t, --time:显示剩余时间。
- -w, --wait:等待输入完成再退出。
- -N, --ratelimit:限制传输速率。
- -L, --buffer-size:指定缓冲区大小。
- -B, --block-size:指定块大小。
- -V, --version:显示版本信息并退出。
 
  
			