Linux cp命令常用参数解释及示例

cp - 复制文件和目录

常用参数有 -R -u -f -n -i -l -P -L -d -v等

  • -R 写-r也可以, 递归复制文件夹下所有文件.
  • -u 当把文件从一个目录复制到另一个目录时,仅复制目标目录
    中不存在的文件,或者是文件内容新于目标目录中已经存在
    的文件。
  • -n 为不覆盖已经存在文件
  • -f 强制覆盖同名文件(当指定-n参数时忽略-f参数)
  • -i 用来在即将覆盖文件之前进行提示消息.
    注意: 如果-n和-i参数同用那么按照先后顺序进行覆盖,意思就是说如果写-i-n那么-i就会被覆盖反之则-n被覆盖. 覆盖的意思就是参数不起作用.
  • -l 用硬链接(hard link)到一个这个文件来代替这次的复制.
  • -P 这个参数就是-d参数中包含的–no-dereference参数, 意思是如果被复制的文件是一个符号链接(symbolic link)文件(相当于windows的快捷方式文件),那么不去复制这个链接指向的目标文件, 而是复制这个符号链接文件,就是只复制快捷方式文件。
  • -L 就是和-P相反,就是复制符号连接指向的那个文件.
  • -d 等于 –no-dereference –preserve=links 也就是等于 -P 和–preserve=links, –preserve=links是指在复制文件的时候保留其文件的链接属性.
  • -v 显示详细的复制过程。

网上很多都没有把-P命令说清楚, 解释就是(不跟随源文件中的符号链接), 虽然这个解释确实是manual中的给出的英文翻译, 但是这样一些新手能看得懂么? 然后就是一篇文章各种转载.
虽然此命令不是什么重要的命令, 但是作为学习研究还是有必要探索一下的.

相关书籍解释

来自《快乐的LiNux命令行》章节:操作文件和目录 # cp — 复制文件和目录

表5-4:cp 选项

选项 意义
-a, –archive 复制文件和目录,以及它们的属性,包括所有权和权限。 通常,复本具有用户所操作文件的默认属性。
-i, –interactive 在重写已存在文件之前,提示用户确认。如果这个选项不指定, cp 命令会默认重写文件。
-r, –recursive 递归地复制目录及目录中的内容。当复制目录时, 需要这个选项(或者-a 选项)。
-u, –update 当把文件从一个目录复制到另一个目录时,仅复制 目标目录中不存在的文件,或者是文件内容新于目标目录中已经存在的文件。
-v, –verbose 显示详细的命令操作信息

表5-5: cp 实例

命令 运行结果
cp file1 file2 复制文件 file1 内容到文件 file2。如果 file2 已经存在,file2 的内容会被 file1 的 内容重写。如果 file2 不存在,则会创建 file2。
cp -i file1 file2 这条命令和上面的命令一样,除了如果文件 file2 存在的话,在文件 file2 被重写之前, 会提示用户确认信息。
cp file1 file2 dir1 复制文件 file1 和文件 file2 到目录 dir1。目录 dir1 必须存在。
cp dir1/* dir2 使用一个通配符,在目录 dir1 中的所有文件都被复制到目录 dir2 中。 dir2 必须已经存在。
cp -r dir1 dir2 复制目录 dir1中的内容到目录 dir2。如果目录 dir2 不存在, 创建目录 dir2,操作完成后,目录 dir2 中的内容和 dir1 中的一样。 如果目录 dir2 存在,则目录 dir1(和目录中的内容)将会被复制到 dir2 中。

你可能感兴趣的:(linux)