Linux中cp命令(⽂件复制)
cp命令⽤来将⼀个或多个源⽂件或者⽬录复制到指定的⽬的⽂件或⽬录。它可以将单个源⽂件复制成⼀个指定⽂件名的具体的⽂件或⼀个已经存在的⽬录下。cp命令还⽀持同时复制多个⽂件,当⼀次复制多个⽂件时,⽬标⽂件参数必须是⼀个已经存在的⽬录,否则将出现错误。语法
cp(选项)(参数)
选项
-a:此参数的效果和同时指定"-dpR"参数相同;
-d:当复制符号连接时,把⽬标⽂件或⽬录也建⽴为符号连接,并指向与源⽂件或⽬录连接的原始⽂件或⽬录;
-f:强⾏复制⽂件或⽬录,不论⽬标⽂件或⽬录是否已存在;
-i:覆盖既有⽂件之前先询问⽤户;
-l:对源⽂件建⽴硬连接,⽽⾮复制⽂件;
-
p:保留源⽂件或⽬录的属性;
-R/r:递归处理,将指定⽬录下的所有⽂件与⼦⽬录⼀并处理;
-s:对源⽂件建⽴符号连接,⽽⾮复制⽂件;
-u:使⽤这项参数后只会在源⽂件的更改时间较⽬标⽂件更新时或是名称相互对应的⽬标⽂件并不存在时,才复制⽂件;
-S:在备份⽂件时,⽤指定的后缀“SUFFIX”代替⽂件的默认后缀;
-b:覆盖已存在的⽂件⽬标前将⽬标⽂件备份;
-v:详细显⽰命令执⾏的操作。
参数
源⽂件:制定源⽂件列表。默认情况下,cp命令不能复制⽬录,如果要复制⽬录,则必须使⽤-R选项;
⽬标⽂件:指定⽬标⽂件。当“源⽂件”为多个⽂件时,要求“⽬标⽂件”为指定的⽬录。
实例
如果把⼀个⽂件复制到⼀个⽬标⽂件中,⽽⽬标⽂件已经存在,那么,该⽬标⽂件的内容将被破坏。此命令中所有参数既可以是绝对路径名,也可以是相对路径名。通常会⽤到点.或点点..的形式。例如,下⾯的命令将指定⽂件复制到当前⽬录下:
cp ../mary/homework/assign .
所有⽬标⽂件指定的⽬录必须是⼰经存在的,cp命令不能创建⽬录。如果没有⽂件复制的权限,则系统会显⽰出错信息。
将⽂件复制到⽬录/usr/men/tmp下,并改名为file1
cp file /usr/men/tmp/file1
将⽬录/usr/men下的所有⽂件及其⼦⽬录复制到⽬录/usr/zh中
cp -r /usr/men /usr/zh
交互式地将⽬录/usr/men中的以m打头的所有.c⽂件复制到⽬录/usr/zh中
cp -i /usr/men m*.c /usr/zh
我们在Linux下使⽤cp命令复制⽂件时候,有时候会需要覆盖⼀些同名⽂件,覆盖⽂件的时候都会有提⽰:需要不停的按Y来确定执⾏覆盖。⽂件数量不多还好,但是要是⼏百个估计按Y都要吐⾎了,于是折腾来半天总结了⼀个⽅法:
cp aaa/* /bbb
复制⽬录aaa下所有到/bbb⽬录下,这时如果/bbb⽬录下有和aaa同名的⽂件,需要按Y来确认并且会略过aaa⽬录下的⼦⽬录。
cp -r aaa/* /bbb
这次依然需要按Y来确认操作,但是没有忽略⼦⽬录。
cp -r -a aaa/* /bbb
依然需要按Y来确认操作,并且把aaa⽬录以及⼦⽬录和⽂件属性也传递到了/bbb。
\cp -r -a aaa/* /bbb
cp复制文件到指定目录下
成功,没有提⽰按Y、传递了⽬录属性、没有略过⽬录。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。