Linux cp (复制)命令简介

\cp  -rf  source1  source2   source3   ....   directory

cp (复制档案或目录)

[[email protected] ~]# cp [-adfilprsu] 来源档(source) 目的档(destination)
[[email protected] ~]# cp [options] source1 source2 source3 .... directory

参数:

-a   :相当于 -pdr 的意思;
-d   :若来源文件为连结文件的属性(link file),则复制连结文件属性而非档案本身;
-f   :为强制 (force) 的意思,若有重复或其它疑问时,不会询问使用者,而强制复制;
-i   :若目的档(destination)已经存在时,在覆盖时会先询问是否真的动作!
-l   :进行硬式连结 (hard link) 的连结档建立,而非复制档案本身;
-p   :连同档案的属性一起复制过去,而非使用预设属性;
-r   :递归持续复制,用于目录的复制行为;
-s   :复制成为符号连结文件 (symbolic link),亦即『快捷方式』档案;
-u   :若 destination 比 source 旧才更新 destination !

最后需要注意的,如果来源档有两个以上,则最后一个目的文件一定要是『目录』才行!

范例:

范例一:将家目录下的 .bashrc 复制到 /tmp 下,并更名为 bashrc

[[email protected] ~]# cd /tmp
[[email protected] tmp]# cp ~/.bashrc bashrc
[[email protected] tmp]# cp -i ~/.bashrc bashrc

cp: overwrite `basrhc‘? n

# 重复作两次动作,由于 /tmp 底下已经存在 bashrc 了,加上 -i 参数,

# 则在覆盖前会询问使用者是否确定!可以按下 n 或者 y 呢!

# 但是,反过来说,如果不想要询问时,则加上 -f 这个参数来强制直接覆盖!

范例二:将 /var/log/wtmp 复制到 /tmp 底下

[[email protected] tmp]# cp /var/log/wtmp . <==想要复制到目前的目录,最后的 . 不要忘

# 注意到了吗?!在不加任何参数的情况下,档案的所属者会改变,连权限也跟着改变了~

# 这是个很重要的特性!要注意喔!还有,连档案建立的时间也不一样了!

# 如果您想要将档案的所有特性都一起复制过来,可以加上 -a 喔!

范例三:复制 /etc/ 这个目录下的所有内容到 /tmp 底下

[[email protected] tmp]# cp /etc/ /tmp
cp: omitting directory `/etc‘    <== 如果是目录,不能直接复制,要加上 -r 的参数
[[email protected] tmp]# cp -r /etc/ /tmp

# 还是要再次的强调喔! -r 是可以复制目录,但是,档案与目录的权限会被改变~

# 所以,也可以利用 cp -a /etc /tmp 来下达指令喔!

范例四:将范例一复制的 bashrc 建立一个连结档 (symbolic link)

[[email protected] tmp]# cp -s bashrc bashrc_slink
[[email protected] tmp]# cp -l bashrc bashrc_hlink

# 那个 bashrc_slink 是由 -s 的参数造成的,建立的是一个『快捷方式』,

# 所以您会看到在档案的最右边,会显示这个档案是『连结』到哪里去的!

# 至于那个 bashrc_hlink 有趣了!建立了这个档案之后, bashrc 与 bashrc_hlink

# 所有的参数都一样,只是,第二栏的 link 数改变成为 2 了~而不是原本的 1 喔!

# 这两种连结的方式的异同,我们会在下一章里面进行介绍的!

范例五:若 ~/.bashrc 比 /tmp/bashrc 新才复制过来

[[email protected] tmp]# cp -u ~/.bashrc /tmp/bashrc

# 这个 -u 的特性,是在目标档案与来源档案有差异时,才会复制的。

# 所以,比较常被用于『备份』的工作当中喔! ^_^

范例六:将家目录的 .bashrc 及 .bash_history 复制到 /tmp 底下

[[email protected] tmp]# cp ~/.bashrc ~/.bash_history /tmp

# 可以将多个数据一次复制到同一个目录去!

注意:

当复制的对象是 “目录(即文件夹)” 时,一定记得加参数 -r

所以,常用复制命令格式如下:

cp  -rf   source1  source2   source3   ....   directory



说明:我一般是先用 \cp -rf 命令,然后再用 chown 与 chmod 修改属性。

推荐阅读

解决Linux CentOS中cp -f 复制强制覆盖的命令无效的方法

时间: 2024-10-06 14:55:26

Linux cp (复制)命令简介的相关文章

【命令cp】linux cp复制命令参数及用法详解

cp (复制档案或目录)[[email protected] ~]# cp [-adfilprsu] 来源档(source) 目的檔(destination)[[email protected] ~]# cp [options] source1 source2 source3 -. directory参数:-a :相当于 -pdr 的意思:-d :若来源文件为连结文件的属性(link file),则复制连结文件属性而非档案本身:-f :为强制 (force) 的意思,若有重复或其它疑问时,不会询

linux cp基础命令总结

用户命令:touch-chang file timestamps  此命令很少用 1.  命令格式: touch [选项]..文件 2.  命令参数: -a  change only the access time仅仅改变访问时间 -c  do not create any files不创建任何文件 -d  parse STRING and use it instead of currenttime解析字符串并使用它,而不是当前时间 -f 忽略 -h affect eachsymbolic li

linux的cd命令简介

cd:cd directory cd path打开路径 cd ..返回上级目录 echo $PWD记录了当前路径 echo $OLDPWD记录了上一个路径 cd .当前目录 cd 回到家目录 cd ~username 进入指定用户的家目录 cd -回到上一次目录,相当于电视机遥控的返回

Linux cp命令详解

cp常见命令参数 Usage: cp [OPTION]... [-T] SOURCE DEST or: cp [OPTION]... SOURCE... DIRECTORY or: cp [OPTION]... -t DIRECTORY SOURCE... Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY. Mandatory arguments to long options are mandatory for short opti

在linux下的使用复制命令cp,不让出现“overwrite”(文件覆盖)提示的方法。(转)

在linux下的使用复制命令cp,不让出现"overwrite"(文件覆盖)提示的方法. 一般我们在使用cp命令时加上-f选项,希望不让出现"overwrite"的提示(文件覆盖的提示).如:# cp -rf sourcefile targetdir 或#cp -r -f sourcefile targetdir-r的意思是递归复制,也就是复制文件夹及其下所有文件.-f的意思是遇到同名的文件时不提示,直接覆盖. 但是为什么加上-f了,还出现"overwri

linux基本命令之复制命令cp

cp命令是在linux中用来复制文件或者目录最常用的命令之一.cp命令的功能很强大,也有很多的用法. cp命令: cp - copy files and directories 语法: cp [OPTION]... [-T] SOURCE    DESTS cp [OPTION]... SOURCE... DIRECTORY cp [OPTION]... -t DIRECTORY   SOURCE... 选项: -a, --archive same as -dR --preserve=all 效

linux cp命令参数及用法详解---linux 复制文件命令cp

linux cp命令参数及用法详解---linux 复制文件命令cp [[email protected]Linux ~]# cp [-adfilprsu] 来源档(source) 目的檔(destination)[[email protected]linux ~]# cp [options] source1 source2 source3 -. directory参数:-a :相当于 -pdr 的意思:-d :若来源文件为连结文件的属性(link file),则复制连结文件属性而非档案本身:-

Linux入门基础命令—cp

Linux入门基础命令-cpcp格式有以下几种 A1.如果SOURCE是一个文件,目标文件不存在:当将SOURCE复制到另外一个当前目录下不存在的文件(会新建这个文件)比如下面的这个例子是把issue复制到abc文件中,而本来当前目录app是不存在abc这个文件的,当进行复制的时候会自动生成abc这个文件,当然这两个文件只是名字不同大小是一样的: A2.如果将上述的命令再执行一遍,本来abc这个文件是已经有内容了,若再去执行,那么issue中的内容将会覆盖掉原来abc中的内容(下面红色箭头所指的

linux之cp/scp命令+scp命令详解

linux之cp/scp命令+scp命令详解 名称:cp 使用权限:所有使用者 使用方式: cp [options] source dest cp [options] source... directory 说明:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录. 把计 -a 尽可能将档案状态.权限等资料都照原状予以复制. -r 若 source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地. -f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制. 范例: 将档案 aa