Linux中文件复制一般都用这两个命令,一个是cp,一个是scp。

  • cp — 主要是用于在同一台电脑上,在不同的目录之间来回copy文件
  • scp — 主要是在不同的Linux系统之间来回copy文件

    关于cp的具体用法:

    命令基本格式:

    cp [OPTIONS] SOURCE DEST — 从源路径copy文件到目的路径
    cp [OPTIONS] SOURCE… DIRECTORY — 将多个源文件copy到指定的目录(多个源文件用空格分隔)
    OPTIONS:
    -a same as -dpR 尽可能将源文件状态、权限等资料都照原装予以复制,并且是递归copy;
    -r 表示递归copy,若source中含有目录名,则将目录下之档案亦皆依序拷贝至目的地;
    -f 表示force,若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制;

范例:

  1. 将文件 aaa 复制(已存在),并命名为 bbb:

    cp aaa bbb

  2. 将所有的txt文件拷贝至abc子目录中:

    cp *.txt abc/

关于scp的具体用法:

scp是有Security的文件copy,基于ssh登录。
命令基本格式:

scp [OPTIONS] file_source file_target
OPTIONS:
-r 递归复制整个目录(就是复制文件夹)
-v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接、认证、 或是配置错误
-C 使能压缩选项
-P 指定端口(大写)

范例:
从 本地 复制到 远程

scp -P 22 /home/daisy/test.tar.gz root@192.168.1.1:/home/root

然后会提示你输入另外那台192.168.1.1主机的root用户的登录密码,接着就开始copy了),复制目录加参数 -r 即可

从 远程 复制到 本地

scp root@/192.168.1.1:/home/root/test.tar.gz /home/root/test.tar.gz

Linux mv命令用来为文件或目录改名、或将文件或目录移入其它位置。
语法

mv [options] source dest
mv [options] source… directory

参数说明:
-i: 若指定目录已有同名文件,则先询问是否覆盖旧文件;
-f: 在mv操作要覆盖某已有的目标文件时不给任何指示;
mv参数设置与运行结果
命令格式 运行结果
mv 文件名 文件名 将源文件名改为目标文件名
mv 文件名 目录名 将文件移动到目标目录
mv 目录名 目录名 目标目录已存在,将源目录移动到目标目录;目标目录不存在则改名

范例:
将文件 aaa 更名为 bbb :

mv aaa bbb

将info目录放入logs目录中。注意,如果logs目录不存在,则该命令将info改名为logs。

mv info/ logs

再如将/usr/student下的所有文件和目录移到当前目录下,命令行为:

mv /usr/student/* .