1. 前言

本文主要讲解Linux系统如何使用命令行工具把文件复制到另一个文件夹或者目录。

2. cp命令的选项和功能

copy命令的功能是将给出的文件或目录拷贝到另一文件或目录中,同MSDOS下的copy命令一样,功能十分强大。

语法: cp [选项] 源文件或目录 目标文件或目录

说明:该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中。

该命令的各选项含义如下:

- a 该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。

- d 拷贝时保留链接。

- f 删除已经存在的目标文件而不提示。

- i 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。

- p 此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。

- r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。

- l 不作拷贝,只是链接文件。

案例1:

复制指定目录下的全部文件到另一个目录中

文件及目录的复制是经常要用到的。linux下进行复制的命令为cp。

假设复制源目录 为 dir1 ,目标目录为dir2。怎样才能将dir1下所有文件复制到dir2下了

如果dir2目录不存在,则可以直接使用

[root@zcwyou ~]# cp -r dir1 dir2

即可。

如果dir2目录已存在,则需要使用

[root@zcwyou ~]# cp -r dir1/. dir2

如果这时使用cp -r dir1 dir2,则也会将dir1目录复制到dir2中,明显不符合要求。

ps:dir1、dir2改成对应的目录路径即可。

案例2:

复制指定文件到指定文件夹

首先建立一个用于测试的目录,用’tree’命令查看

可见,目录中主要包含用于测试的.txt文件和用于充当炮灰的。tes文件

目标是保持当前的目录结构,只把txt文件复制出来

本文将会以两种情况作案例说明。

比如要把A文件夹复制到B文件夹内。比如A内的文件是:

- A/

.hi.txt

a1.txt

shadow.json

- dir1/

dir1.txt

即A目录有 .hi.txt, a1.txt,shadow.json三个文件及一个子目录dir1,dir1里含有一个文件dir1.txt。

3. 案例1:把A文件夹内的所有文件复制到B文件夹内

我们的目标:复制操作后B文件夹的内容和原来A文件夹一样:

- B/

.hi.txt

a1.txt

shadow.json

- dir1/

dir1.txt

4. 案例2:把A文件夹本身复制到B文件夹内

操作目标:复制完成后,B文件夹的要包含原来的A文件夹:

- B/

- A/

.hi.txt

a1.txt

shadow.json

- dir1/

dir1.txt

5. 复制文件操作过程演示

第一种案例的命令,也就是把文件夹A中的所有内容复制到B文件夹中,即B与A的内容一样。

[root@zcwyou ~]# cp -a A/. B

第二种案例的命令,也就是把文件夹A中的所有内容复制成B文件夹中,即B包含A的所有内容。

[root@zcwyou ~]# cp -a A B

需要解释的点:

-a是一个符合参数,代表-pPR,可以简单这样理解:“支持所有子文件并且保留文件属性”,推荐加上这个选项。

上面两者的却别就是A后加了个/.,如果不加/.,A本身作为一个完整的文件夹被复制到了目标文件夹内。如果加了/.,则代表A文件夹内的所有文件被复制到目标文件夹内。注意这种/.是cp命令本身专有的代表所有文件的方式,如果你使用A/*,cp不会复制隐藏文件(以.开头的文件)。

6. 只复制指定文件的方法

继续上面的例子,A文件夹:

- A/

.hi.txt

a1.txt

shadow.json

- dir1/

dir1.txt

如果想要复制指定文件,可以在文件夹后面加入筛选字符,比如,筛选所有的.txt:

[root@zcwyou ~]# cp -a A/*.txt B

执行完毕后,B目录是:

- B/

a1.txt

需要注意的问题:

不会匹配子文件夹里的文件。

不会匹配隐藏文件(以.开头的文件)。

-a参数上面有说明。

7. 一次复制指定指定的多个文件

cp同时也支持手动指定多个文件,继续上面的例子,A文件夹:

- A/

.hi.txt

a1.txt

shadow.json

- dir1/

dir1.txt

执行cp:

[root@zcwyou ~]# cp -a A/.hi.txt A/dir1/dir1.txt B

执行完毕后,B目录是:

- B/

.hi.txt

dir1.txt

需要注意的问题:

dir1.txt会被放在根目录,也就是源文件夹内的子目录不会被保留。

-a参数上面有说明。

8. 复制时强制覆盖原文件

cp默认会立即覆盖目标文件(如果存在的话),不做任何提示。

如果想要cp在覆盖文件前做提示,请使用-i命令,即cp -i,示例:

覆盖文件前做提示

[root@zcwyou ~]# cp -i -a documents/. backup/

如果出现没有加-i参数,但cp仍然会提示覆盖的问题(比如会提示类似这种消息:cp: overwrite dir/a.txt?)。可能是cp命令被别名化,请使用\cp来运行命令。

强制不允许覆盖文件前提示

[root@zcwyou ~]# \cp -a documents/. backup/

9. 总结

cp命令是Linux系统里最最为常用的命令,系统运维者必须掌握它的所有功能和语法。linux复制文件到另一个文件夹或目录更是最常用的功能之一。

linux复制压缩包到另一个文件夹,linux复制文件到另一个文件夹或目录相关推荐

  1. linux剪切到另一个文件夹,linux下文件夹操作常见命令如创建、复制、剪切、重命名、清空和删除命令 实例说明...

    linux下文件夹操作常见命令如创建.复制.剪切.重命名.清空和删除命令 实例说明,在home目录下有wwwroot目录,wwwroot下有sinozzz目录,即/home/wwwroot/sinoz ...

  2. linux命令 复制文件夹命令行,(转)每天一个linux命令(8):cp 命令,复制文件和文件夹...

    场景:自动部署脚本中为了部署方便,将配置文件放在服务器端,每次部署都使用服务端的配置文件覆盖上传上去的配置文件. cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一. 一般情况下,she ...

  3. 怎么复制远程服务器上的文件夹,Linux系统复制文件/文件夹到远程服务器

    从一个服务器复制文件到另一个服务器,或者从本地到远程复制是 Linux 管理员的日常任务之一. 我觉得不会有人不同意,因为无论在哪里这都是你的日常操作之一.有很多办法都能处理这个任务,我们试着加以概括 ...

  4. linux复制目录命令夹,linux复制目录(文件夹)和打包命令

    linux复制目录(文件夹)和打包命令 复制目录命令: cp 需要复制的目录 -r 目的目录 (注意带参数-r) 压缩文件:zip -r 压缩后文件名 需要压缩的目录 喎?http://www.Bkj ...

  5. linux复制文件夹排除文件,【linux】复制文件夹中文件,排除部分文件

    用字符流实现每个文件夹中创建包含所有文件信息的readme.txt package com.readme; import java.io.BufferedWriter; import java.io. ...

  6. linux文件夹指向其他电脑,分享|Syncthing: 一个在计算机之间同步文件/文件夹的私密安全同步工具...

    简介 Syncthing是一个免费开源的工具,它能在你的各个网络计算机间同步文件/文件夹.它不像其它的同步工具,如BitTorrent Sync和Dropbox那样,它的同步数据是直接从一个系统中直接 ...

  7. linux复制和剪切文件命令,linux下文件夹的创建、复制、剪切、重命名、清空和删除命令...

    在home目录下有wwwroot目录,wwwroot下有sinozzz目录,即/home/wwwroot/sinozzz 一.目录创建 在/home/wwwroot目录下新建一个sinozzz123的 ...

  8. linux拷贝到新建文件夹命令行,Linux创建文件touch,复制文件cp,tab补全,链接文件ln命令...

    一.创建文件 使用touch 可以创建空文件,例如opt目录下创建test2.txt文件.这种一般是有些程序必须要先创建文件,才能使用. 二. 复制文件 2.1 使用cp命令来复制文件,需要两个参数- ...

  9. ubuntu复制文件到另一个文件夹_Excel VBA之FSO-2.2文件夹的复制

    Excel VBA之FSO-2.2文件夹的复制 前景提要 昨天我们首次接触了ADO中FSO的使用,并演示了如何通过FSO来创建一个文件夹,删除文件夹以及判断文件夹是否存在的操作,虽然还是再说文件夹,但 ...

  10. 解放文件夹下所有层级的特定格式文件,找出文件夹内所有的txt/FLAC/MP4/MP3等等等等,并复制到另一个文件夹中

    解放文件夹下所有层级的特定格式文件,找出文件夹内所有的txt/FLAC/MP4/MP3等等等等,并复制到另一个文件夹中 引言 代码 得意 天天学习,好好向上 引言 各位朋友们好!最近遇到一些想要方便办 ...

最新文章

  1. 甘肃宕昌山货“触网”外销:山民乐衷创业“等客来”
  2. 再说 Spring AOP
  3. 应用在vs的ide调试环境下运行顺利,但是在bin目录直接运行exe报错的问题
  4. Google C2Dm相关文章
  5. DS和[address]
  6. 面试--Linux命令总结
  7. 天池 在线编程 最小的行程(动态规划)
  8. 软件质量包括哪些特性?软件质量保证的主要任务是什么?
  9. 反射 数据类型_C#扫盲篇(一):反射机制情真意切的说
  10. byobu_如何使用byobu多路SSH会话
  11. 使用python制作聊天框解谜游戏_使用Python写一个小游戏alien invasion!
  12. H.264学习过程中遇到的英文缩写整理
  13. 简单的学生成绩数据分析案例
  14. 深度学习项目部署遇到的错误【记录】
  15. 第二章 MATLAB数据与矩阵
  16. LoRaWAN 帧计数机制及典型问题分析
  17. 临时表与SELECT INTO、INSERT INTO SELECT
  18. python目前版本强势英雄_王者荣耀:目前版本最强势的英雄有哪些,元歌必须上榜...
  19. HTML中的大于号和小于号怎样用代码打出来?
  20. 20189220 余超《Linux内核原理与分析》第三周作业

热门文章

  1. 康佳电视系统升级服务器地址,康佳电视各平台升级方法及强制刷机汇总
  2. 厦门大学国家奖学金答辩PPT模板
  3. psv无线怎么连接电脑连接电脑连接服务器,psv如何连接电脑复制视频,音乐,图片等资料教程...
  4. Coverity代码扫描工具
  5. struts1的配置文件详解
  6. 教你如何将 Excel 中的数据按模板批量生成 Word、Excel、PPT、PDF 以及 Txt 类型的文本文件
  7. 微信朋友圈 腾讯服务器,朋友圈@微信能得一面红旗?腾讯服务器一度宕机
  8. 【游戏开发实战】Unity从零做一个任务系统,人生如梦,毕业大学生走上人生巅峰(含源码工程 | 链式任务 | 主线支线)
  9. 体脂数C语言switch,你真胖么 体脂率是什么 体脂率的计算方法
  10. UE4 打包之后Mesh没有材质问题