linux终端如何复制文件命令行

Linux 终端中,可使用 cp [源文件路径] [目标路径] 命令复制文件,如 `cp /home/user/file.

Linux终端中,复制文件是一项常见的操作,有多种命令可以实现这一功能,每个命令都有其特定的用途和语法,以下是一些常用的Linux终端复制文件的命令及其详细说明:

linux终端如何复制文件命令行

cp 命令

cp(copy)命令是最常用的文件复制命令,它可以将一个或多个文件复制到指定的目录或文件中。

基本语法

cp [选项] 源文件 目标文件

常用选项

  • -a, --archive:此选项通常用于递归复制目录,并尽可能保留文件的属性。
  • -f, --force:如果目标文件已存在,则强制覆盖。
  • -i, --interactive:在覆盖文件前提示确认。
  • -r, --recursive:递归复制目录及其内容。
  • -u, --update:仅当源文件比目标文件新时才复制。
  • -v, --verbose:显示详细的复制过程。

示例

  1. 复制单个文件

    cp source.txt destination.txt

    这将把 source.txt 文件复制为 destination.txt

  2. 复制多个文件

    cp file1.txt file2.txt /path/to/destination/

    这将把 file1.txtfile2.txt 复制到 /path/to/destination/ 目录下。

  3. 复制目录

    cp -r /path/to/source/directory /path/to/destination/

    这将递归复制整个目录及其内容。

  4. 强制覆盖

    cp -f source.txt destination.txt

    destination.txt 已存在,它将被覆盖。

rsync 命令

rsync 是一个功能强大的文件同步工具,它不仅可以复制文件,还可以实现增量备份、远程同步等功能。

基本语法

rsync [选项] 源文件 目标文件

常用选项

  • -a, --archive:归档模式,递归复制目录并保留符号链接、权限、时间戳等。
  • -z, --compress:在传输过程中压缩数据。
  • -v, --verbose:显示详细的同步过程。
  • -h, --human-readable:以人类可读的格式显示文件大小。
  • --delete:删除目标目录中源目录中不存在的文件。

示例

  1. 同步目录

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

    这将递归同步 /path/to/source/ 目录到 /path/to/destination/,并显示详细过程。

  2. 远程同步

    rsync -avz /path/to/source/ user@remote:/path/to/destination/

    这将把本地目录同步到远程服务器上的指定目录,并在传输过程中压缩数据。

dd 命令

dd 命令主要用于按块复制文件,常用于备份和恢复整个磁盘或分区。

基本语法

dd [选项] if=输入文件 of=输出文件 bs=块大小 count=块数

常用选项

  • if=输入文件:指定输入文件。
  • of=输出文件:指定输出文件。
  • bs=块大小:指定块的大小,默认单位为字节。
  • count=块数:指定要复制的块数。

示例

  1. 复制整个磁盘

    dd if=/dev/sda of=/path/to/backup.img bs=4M

    这将把整个 /dev/sda 磁盘复制到 /path/to/backup.img 文件中,块大小为4MB。

    linux终端如何复制文件命令行

  2. 复制部分文件

    dd if=/path/to/source.txt of=/path/to/destination.txt bs=1k count=100

    这将从 source.txt 文件中复制前100个1KB的块到 destination.txt 文件中。

tar 命令

tar 命令主要用于打包和解包文件,结合 cprsync 可以实现复杂的复制任务。

基本语法

tar [选项] 文件列表

常用选项

  • -c, --create:创建新的归档文件。
  • -v, --verbose:显示详细信息。
  • -f, --file=文件名:指定归档文件名。
  • -z, --gzip:使用gzip压缩归档文件。
  • -x, --extract:解包归档文件。
  • -t, --list:列出归档文件的内容。
  • -r, --append:追加文件到已有的归档文件中。

示例

  1. 创建归档文件

    tar -cvf archive.tar /path/to/source/directory/

    这将把 /path/to/source/directory/ 目录打包成 archive.tar 文件,并显示详细过程。

  2. 解包归档文件

    tar -xvf archive.tar -C /path/to/destination/

    这将把 archive.tar 文件解包到 /path/to/destination/ 目录下,并显示详细过程。

scp 命令

scp 命令用于在本地主机和远程主机之间安全地复制文件。

基本语法

scp [选项] 源文件 用户@远程主机:目标路径

常用选项

  • -r, --recursive:递归复制目录及其内容。
  • -p, --preserve:保留文件的修改时间、访问时间和权限。
  • -q, --quiet:不显示进度条和传输信息。
  • -C, --compress:在传输过程中压缩数据。

示例

  1. 复制文件到远程主机

    scp localfile.txt user@remote:/path/to/destination/

    这将把本地的 localfile.txt 文件复制到远程主机的 /path/to/destination/ 目录下。

  2. 递归复制目录

    scp -r /path/to/source/directory user@remote:/path/to/destination/

    这将递归复制整个目录及其内容到远程主机。

mv 命令

虽然 mv 命令主要用于移动文件,但它也可以用于在不同文件系统之间复制文件,因为它实际上是通过复制和删除来实现的。

基本语法

mv [选项] 源文件 目标路径

常用选项

  • -f, --force:强制移动文件,即使目标文件已存在。
  • -i, --interactive:在覆盖文件前提示确认。
  • -n, --no-clobber:不覆盖现有文件。
  • -v, --verbose:显示详细的移动过程。

示例

  1. 移动文件

    mv source.txt /path/to/destination/destination.txt

    这将把 source.txt 文件移动到 /path/to/destination/ 目录下,并重命名为 destination.txt

  2. 移动目录

    mv /path/to/source/directory /path/to/destination/

    这将把整个目录移动到目标路径下。

    linux终端如何复制文件命令行

ln 命令

ln 命令用于创建硬链接或符号链接,而不是直接复制文件,硬链接是指向相同数据的多个文件名,而符号链接则是指向另一个文件的快捷方式。

基本语法

ln [选项] 源文件 目标链接名

常用选项

  • -s, --symbolic:创建符号链接。
  • -f, --force:强制创建链接,即使目标链接已存在。
  • -n, --no-dereference:不取消引用符号链接。
  • -v, --verbose:显示详细的链接创建过程。

示例

  1. 创建硬链接

    ln source.txt hardlink.txt

    这将创建一个与 source.txt 指向相同数据的硬链接 hardlink.txt

  2. 创建符号链接

    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:追加文件到已有的归档文件中。

示例

  1. 创建归档文件

    pax -w -v -f archive.pax /path/to/source/directory/

    这将把 /path/to/source/directory/ 目录打包成 archive.pax 文件,并显示详细过程。

  2. 解包归档文件

    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:保留文件的修改时间、访问时间和权限。

示例

  1. 创建归档文件

    find /path/to/source/directory/ | cpio -o -v -H newc > archive.cpio

    这将把 /path/to/source/directory/ 目录及其内容打包成 archive.cpio 文件,并显示详细过程。

  2. 解包归档文件

    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:显示版本信息并退出。

原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/63531.html

(0)
酷盾叔的头像酷盾叔
上一篇 2025年7月16日 20:52
下一篇 2025年7月7日 00:11

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN