Linux里面拷贝cp命令的使用

*********************记录下来,仅供学习、复习使用。****************************

学习环境:Ubuntu 16.04.2 LTS 64位

cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。

-a:此参数的效果和同时指定"-dpR"参数相同;
-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
-f:强行复制文件或目录,不论目标文件或目录是否已存在;
-i:覆盖既有文件之前先询问用户;
-l:对源文件建立硬连接,而非复制文件;
-p:保留源文件或目录的属性;
-R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
-s:对源文件建立符号连接,而非复制文件;
-u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
-b:覆盖已存在的文件目标前将目标文件备份;
-v:详细显示命令执行的操作。

Example 1: 把某个文件夹下面的文件复制到另外一文件夹。

在这里,把目录/home/alpha/Documents/Otest里面的两个文件“Plum Rain Season1” 和 “Plum Rain Season1”复制到/home/alpha/Documents/Dtest

在复制时候会出现以下错误信息

由于文件称含有格,所以复制的时候可以在空格见面加上转义符号"\",或者用两个英文的双括号把含有空格的整个文件名括起来,下面分别采用这两个方式复制文件1和文件2.

终端没有报错,再去Dtest这个目录查看,返现这两个文件都被复制到Dtest这个目录了。

Example2:把文件夹及复制到一个不存在的目标文件夹。

Otest这个文件夹里面有一个子文件夹OSub,把他复制到Dtest/DDtest,然而DDtest这个文件夹并不存在。

这些一下命令会报错,因为cp命令只有复制功能,并无创建目录的功能,我们需要用到cp命令的-a或者-r参数。

cp /home/alpha/Documents/Otest/OSub /home/alpha/Documents/Dtest/DDtest

执行以下命令,会在Dtest这个目录下面创建一个新的目录DDtest“, 并且源目录OSub下面的文件以及子目录和子目录里面的一切都会被复制到DDtest里面。

cp -a /home/alpha/Documents/Otest/OSub /home/alpha/Documents/Dtest/DDtest

这时,如果我们再次执行以上命令,则会吧Osub目录本身已经Osub目录下面的一些都复制到DDtest。因为当我们再次这个命令时,DDtest这个目录已经存在的,这个命令的本意就是把源目录复制到目标目录。

对比上面两个截图,不难发现,再次执行相同cp命令时,OSub这个目录本身被复制到了第一次复制时创建的DDtest这个目录。

Example 3: 把目录下面的文件复制到指定目录。

在这里,有一个名为Old的目录里面有两个文件

名为New的目录下面什么也没有

执行以下命令会把Old目录的两个文件放在New这个目录里。

注意:是Old/* 不是Old/.* 也不是Old*

cp -a /home/alpha/Documents/Old/* /home/alpha/Documents/New

执行以下命令,Old目录里面的文件Old1会把New目录里面的同名文件替换掉而不会有任何提示。

cp /home/alpha/Documents/Old/Old1 /home/alpha/Documents/New/Old1

cp -i

执行cp -i,在覆盖同名文件前会提示是否要覆盖。

[email protected]:~$ cp -i /home/alpha/Documents/Old/Old1 /home/alpha/Documents/New/Old1
cp: overwrite ‘/home/alpha/Documents/New/Old1‘? y
[email protected]-virtual-machine:~$ cp -i /home/alpha/Documents/Old/Old1 /home/alpha/Documents/New/Old1
cp: overwrite ‘/home/alpha/Documents/New

Example 4: 复制并改名字

以下命令会把old1这个文件复制到New这个目录下面,并且改名为"imfromoldfolder".

cp  /home/alpha/Documents/Old/Old1 /home/alpha/Documents/New/imfromoldfolder

关于cp命令讲得比较详细的两个链接

http://www.jb51.net/article/101641.htm

http://www.xuexila.com/diannao/xitong/linux/305357.html

时间: 2024-10-15 14:16:25

Linux里面拷贝cp命令的使用的相关文章

Linux中的cp命令&老九门

cp命令详解 cp命令的老九门 我们先看第一种情况: 1.源是一个文件,目标是不存在的 使用 cp aa /testdir/dir1他会创建一个dir1的目标文件,并且将源的内容放到创建的dir目标文件中 2.源是一个文件,目标存在且为文件(上述命令执行后,dir1的文件就会被创建了),然后再次执行cp aa /testdir/dir1,会提示你是否覆盖dir1这个文件,选择y后,再次查看aa和dir1文件的属性,发现dir1的mtime发生了改变说明该文件是被修改了,的确完成了复制. 但是使用

Linux入门培训教程 linux下拷贝cp删除rm移动mv命令参数以及说明

拷贝移动删除在windows中看起来这么简单,但linux经常使用的文字界面,所以对于linux系统 下拷贝cp删除 rm 移动mv命令参数就不得不需要了解和学习了 cp 该命令的功能是将给出的文件或目录拷贝到另一文件或目录中,同MSDOS下的copy命令一样,功能十分强大. 语法: cp [选项] 源文件或目录 目标文件或目录 说明:该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中. 该命令的各选项含义如下: - a 该选项通常在拷贝目录时使用.它保留链接.文件属性,并递归地拷

linux中的cp命令

cp命令--文件复制 目录和文件的复制命令 cp命令语法和参数: cp [OPTION]...SOURCE...DIRECTORY -a ALL 等价于dpR -d 复制符号链接源文件时,目标文件也将创建符号链接执行源文件的原始文件 -p preserve 保留文件属性,属主,属组,权限和时间 -r recursive 递归目录下的子文件 示例: [[email protected] ~]# ll /etc/services -rw-r--r-- 1 root root 362031 2006-

CentOS Linux 系统命令之cp命令

在Linux系统中,用来复制文件或者目录的命令是cp,可以将源文件复制到目标文件,或将多个源文件复杂到目标目录. 命令格式:cp [选项] 源地址(文件或目录)目的地址(文件或目录) 命令选项: -a,    --archive等同于-dR, --preserve=all --backup[=CONTROL]  为已经存在的目标文件创建备份 -b      类似-backup,但不接受参数 --copy-contents 在递归处理是复制特殊文件内容 -f,      --force如果目标文件

Linux远程拷贝scp命令

今天要从admin服务器将测试上修正content和image_count后的数据库更新到dz服务器. 首先需要备份数据库,使用mysqldump命令 整表全部备份:    mysqldump -u root -p artdb topic > topic_back_2016_09_10.sql 加限制条件备份: mysqldump -u root -p artdb topic --where="flag_hq =1 and flag_off = 0" >Hq.sql; 在进

linux远程拷贝和本地拷贝命令

一.linux对linux 远程拷贝   scp命令 语法: scp 文件名 [email protected]远程ip:/路径/ scp提供了几个选项: -p 拷贝文件的时候保留源文件建立的时间. -q 执行文件拷贝时,不显示任何提示消息. -r 拷贝整个目录   www.2cto.com -v 拷贝文件时,显示提示信息 示例: 将本地home目录下的test.tar的文件拷贝到远程主机192.168.1.23的/home/adm/目录下,则命令为: scp /home/test.tar [e

每天一个linux命令(9):cp命令

版权声明更新:2017-05-13博主:LuckyAlan联系:[email protected]声明:吃水不忘挖井人,转载请注明出处! 1 文章介绍 本文介绍了Linux下面的cp命令. 2.开发平台 Linux系统 3.阅读须知 无 4 文章正文 5 参考资料 1.本文概念部分参考了维基百科 [未完待续]

Linux下如何使CP命令不提示覆盖

在Linux下使用CP命令,经常会提示是否覆盖,如果是太批量的文件覆盖,老是这么提示,会很烦的.那如何解决这个问题呢? 我们先来看一下原因吧! 一般我们使用的命令是cp -rf sourcefile targetdir或cp -r -f sourcefile targetdir, -r的意思是递归复制,也就是复制文件夹及其下所有文件 -f的意思是遇到同名的文件,不提示,直接覆盖 但为什么我们用这两个参数,系统还是会提示覆盖呢? 这是因为,系统在安装的时候使用了别名,防止我们误操作,覆盖了不该覆盖

Linux 中 cp 命令(文件复制)

cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录.它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下.cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误. 语法 cp(选项)(参数) 选项 -a:此参数的效果和同时指定"-dpR"参数相同: -d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录: -f:强行复制文件或目录,不论目标文件或目录是否已存