暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

实用Linux命令 - 文件移动 cp 和 mv

TIAP 2021-06-30
1291

1. cp

cp 命令主要用于复制目录或者普通文档(为方便表达,本文中所说的 “文件” 均为普通文档。)。


语法

cp [options] source dest


参数说明

  • -a:通常用于复制目录,保留链接和文件属性,并复制目录下的所有内容。相当于 dpr 三个参数的组合;

  • -d:复制时保留链接(类似于windows系统中的快捷方式);

  • -f:覆盖已经存在的目标文件(没有提示);

  • -i:也是覆盖已经存在的目标文件,但是会给出提示,提示用户是否确认要覆盖,用户输入 y 指令的时候,目标文件将被覆盖,否则操作会撤销;

  • -l:不复制文件,只是生成链接文件(即快捷方式);

  • -p:该参数的作用是,除复制文件的内容外,还把修改时间和访问权限也复制到新文件中;

  • -r:若给出的源文件是一个目录文件,则将复制该目录下所有的子目录和文件。

例子

将目录 test/ 下的所有文件复制到新目录 test2下:

    $ cp –r test/ test2

    注意:用户使用 cp 命令复制目录时,必须使用参数 -r 或者 -R ,以将目录下的子目录和文件也同步复制。


    2. mv

    mv 命令用于移动文件,将文件或目录移动到其它位置,如果是源地址和目标地址相同,则会将文件改名。


    语法

    mv [options] source dest


    参数说明

    • -b: 当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份;

    • -f: 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件;

    • -i: 与 -f 参数功能类似,只是在将文件覆盖之前会给出提示,让用户确认,输入 y 表示直接覆盖,输入 n 表示取消该操作;

    • -n: 不要覆盖任何已存在的文件或目录,对于已经存在的文件,则会直接跳过;

    • -u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。


    mv 命令在使用的时候,对于目的文件和源文件,区分是文件还是目录,执行结果是不一样的,例如:

    mv source_file(文件) dest_file(文件)

    执行结果为:将源文件名 source_file 改为目标文件名 dest_file。


    mv source_file(文件) dest_directory(目录)

    执行结果为:将文件 source_file 移动到目标目录 dest_directory 中。


    mv source_directory(目录) dest_directory(目录)

    执行结果为:若目录名 dest_directory 已存在,将 source_directory 移动到目录名 dest_directory 中;

    若目录名 dest_directory 不存在则 source_directory 改名为目录名 dest_directory


    mv source_directory(目录) dest_file(文件)

    执行结果:报错。


    例子

    1) 将文件 file1 改名为 file2:

      $ mv file1 file2


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

        $ mv test/ test2


        3) 将 opt/logs下的所有文件和目录移到当前目录下,命令行为:

          $ mv /opt/logs/*  .


          文章转载自TIAP,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

          评论