我使用过的Linux命令之cp - 复制文件

我使用过的Linux命令之cp - 复制文件

本文链接:http://codingstandards.iteye.com/blog/787861    (转载请注明出处)

用途说明

cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一。一般情况下,shell会设置一个别名,在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管你是否使用-i参数。但是如果是在shell脚本中执行cp时,没有-i参数时不会询问是否覆盖。这说明命令行和shell脚本的执行方式有些不同。

[root@jfht ~]# type -a cp
cp is aliased to `cp -i'    <== 在命令行状态,cp实际上是个别名
cp is /bin/cp
[root@jfht ~]#

常用参数

-i 询问是否覆盖。

-f 强制覆盖,但如果有-i参数时,此参数无效。

-r 递归复制。

-a 递归复制,并且保留文件的时间、权限、属主等属性。

使用示例

示例一 复制单个文件

[root@jfht ~]# ls >ls0.txt
[root@jfht ~]# ls -l ls0.txt
-rw-r--r-- 1 root root 213 10-18 20:41 ls0.txt

等待两分钟再操作。因为同一分钟看不出效果。
[root@jfht ~]# cp ls0.txt ls1.txt
[root@jfht ~]# ls -l ls0.txt ls1.txt
-rw-r--r-- 1 root root 213 10-18 20:41 ls0.txt
-rw-r--r-- 1 root root 213 10-18 20:43 ls1.txt

在没有带-a参数时,两个文件的时间是不一样的。
[root@jfht ~]# cp -a ls0.txt ls2.txt
[root@jfht ~]# ls -l ls0.txt ls2.txt
-rw-r--r-- 1 root root 213 10-18 20:41 ls0.txt
-rw-r--r-- 1 root root 213 10-18 20:41 ls2.txt

在带了-a参数时,两个文件的时间是一致的。
[root@jfht ~]# cp ls0.txt ls2.txt
cp:是否覆盖“ls2.txt”? n

目标文件存在时,会询问是否覆盖。这是因为cp是cp -i的别名。
[root@jfht ~]# cp -f ls0.txt ls2.txt
cp:是否覆盖“ls2.txt”? n

目标文件存在时,即使加了-f标志,也还会询问是否覆盖。
[root@jfht ~]# command cp ls0.txt ls2.txt

使用command命令执行cp时,就不会执行cp别名了,而是直接执行cp外部命令。
[root@jfht ~]# ls -l ls0.txt ls2.txt
-rw-r--r-- 1 root root 213 10-18 20:41 ls0.txt
-rw-r--r-- 1 root root 213 10-18 20:48 ls2.txt

[root@jfht ~]# cp ls0.txt ls0.txt
cp: “ls0.txt” 及 “ls0.txt” 为同一文件
[root@jfht ~]# cp -f ls0.txt ls0.txt
cp: “ls0.txt” 及 “ls0.txt” 为同一文件

如果目标文件就是源文件,那么无论加不加-f标志,都是不会覆盖的。

示例二 复制文件到目录

[root@jfht ~]# mkdir tmp
[root@jfht ~]# cp ls0.txt tmp
[root@jfht ~]# cp -a ls1.txt tmp
[root@jfht ~]# cp -a ls1.txt ls2.txt tmp
cp:是否覆盖“tmp/ls1.txt”? n
[root@jfht ~]# ls -l ls?.txt tmp/ls?.txt
-rw-r--r-- 1 root root 213 10-18 20:41 ls0.txt
-rw-r--r-- 1 root root 213 10-18 20:43 ls1.txt
-rw-r--r-- 1 root root 213 10-18 20:48 ls2.txt
-rw-r--r-- 1 root root 213 10-18 21:02 tmp/ls0.txt
-rw-r--r-- 1 root root 213 10-18 20:43 tmp/ls1.txt
-rw-r--r-- 1 root root 213 10-18 20:48 tmp/ls2.txt
[root@jfht ~]#

示例三 复制整个目录

[root@jfht ~]# cp tmp tmp1
cp: 略过目录 “tmp”
[root@jfht ~]# cp -a tmp tmp1
[root@jfht ~]# ls tmp tmp1
tmp:
ls0.txt  ls1.txt  ls2.txt

tmp1:
ls0.txt  ls1.txt  ls2.txt
[root@jfht ~]# ls -l tmp tmp1
tmp:
总计 24
-rw-r--r-- 1 root root 213 10-18 21:02 ls0.txt
-rw-r--r-- 1 root root 213 10-18 20:43 ls1.txt
-rw-r--r-- 1 root root 213 10-18 20:48 ls2.txt

tmp1:
总计 24
-rw-r--r-- 1 root root 213 10-18 21:02 ls0.txt
-rw-r--r-- 1 root root 213 10-18 20:43 ls1.txt
-rw-r--r-- 1 root root 213 10-18 20:48 ls2.txt
[root@jfht ~]#

[root@jfht ~]# cp -a tmp tmp1
[root@jfht ~]# ls -l tmp tmp1
tmp:
总计 24
-rw-r--r-- 1 root root 213 10-18 21:02 ls0.txt
-rw-r--r-- 1 root root 213 10-18 20:43 ls1.txt
-rw-r--r-- 1 root root 213 10-18 20:48 ls2.txt

tmp1:
总计 32
-rw-r--r-- 1 root root  213 10-18 21:02 ls0.txt
-rw-r--r-- 1 root root  213 10-18 20:43 ls1.txt
-rw-r--r-- 1 root root  213 10-18 20:48 ls2.txt
drwxr-xr-x 2 root root 4096 10-18 21:03 tmp
[root@jfht ~]#

注意目标目录存在与否结果是不一样的。目标目录存在时,整个源目录被复制到目标目录里面。

示例四 将光盘复制成光盘映像文件(iso文件)

把要复制的光盘放在光驱中,注意不需要将/dev/cdrom设备mount上来。

[root@localhost data] cp /dev/cdrom disk1.iso

[root@localhost data] ls -l disk1.iso

-rw-r-----      1    root     root      655392768      10月  18   19:48   disk1.iso

[root@localhost data]

注意:需要好几分钟时间。

问题思考

1. 在Windows下有没有工具将光盘复制成iso文件?

2. 在目标目录存在时,怎么将源目录中的文件复制到目标目录,而不是将整个目录复制到目标目录里面?

相关资料

【1】ATEGPU LINUX CP命令详解

【2】Yu'-blog linux下cp,mv和rm命令对lnodes的影响(英文版)

 

返回 我使用过的Linux命令系列总目录

 

Linux命令——使用cp命令复制文件时,报cp: omitting directory `XXX'  今天在用linux命令进行文件复制时,出现一个错误:linux cp: omitting directory `BBS'(当时我采用的是“ cp -i BBS /opt/workspace/apache-tomcat-6.0.35/webapps”这个命令,参数用的是 -i),因为自己也是刚刚用linux这东西,所以也不太熟悉,就去查了下,原来,这个错误是因为在我想要复制的BBS 文件夹的目录下... 阅读详情

相关推荐

机械臂抓取前言

机械臂相关的笔记

weixin_64037619的博客 3908

linux cp mv命令详解,linux的mv/cp命令对象的属主

使用cp或mv命令时,会存在以下几类文件:1)原文件:也就是准备被cp或mv的文件;2)原目标文件:也就是cp或mv前,目标目录可能存在的与原文件名称一模一样的已有文件;3)目标文件:就是cp或mv后,目标目录存在的与原文件名称一模一样的新文件。操作时,会有一个“操作用户”。我们简单的总结一下,cp或mv时,目标文件的属主,属组是什么?I)没有原目标文件:i)mv:目标文件的属主属组,与原文件的属...

weixin_29655399的博客 693

基于YOLO11的垃圾分类AI模型训练实战

通过这次实战,我们成功训练出了一个高性能的垃圾分类AI模型。项目展示了从数据准备、模型训练到结果分析的完整流程,为AI在环保领域的应用提供了有价值的参考。项目文件结构│ ├── best.pt # 最佳模型权重│ └── last.pt # 最新模型权重├── results.csv # 详细训练数据├── results.png # 训练曲线图├── confusion_matrix.png # 混淆矩阵└── args.yaml # 训练参数配置。

lydz1的博客 1657

【linux】循序渐进学运维-cp

文章目录 cp 功能:复制文件(夹)或目录 示例: 复制一个源文件到目标文件夹 同时复制多个文件到目标文件下 3.利用通配符复制多个文件 修改文件名 递归复制 创建文件的软连接 cp 功能:复制文件(夹)或目录 常用选项: -a 归档 -b 目标文件存在创建备份,备份文件是文件名跟~ -f 强制复制文件或目录 -r 递归复制目录 -p 保留原有文件或目录属性 -i 覆盖文件之前先询问用户 -u 当源文件比目的文件修改时间新时才复制 -v 显示复制信息 -s 创建软连接 -u 创建硬链接

qq_42499737的博客 318

TypeScript的安装与使用

TypeScript的安装与使用

qq_51589308的博客 600

CEH Practical 实战考试真题与答案

CEH Practical 是 EC-Council 推出的Certified Ethical Hacker(CEH)认证项目中的一项高级动手实践考试。它不同于传统的理论考试,侧重于在真实环境中检验考生的实操能力。

sgafdgdagd的博客 967

Linux基础命令-cp拷贝文件

cp命令来自于英文词组copy的缩写,用于将一个或者多个文件或目录复制到指定位置,常用于文件的备份工作。若要拷贝目录文件,则需要加上-r的参数进行递归操作,否则会出现报错的情况,而-f参数则是用于当目标文件已存在时会直接覆盖,不在询问,这两个参数尤为重要。cp命令一样是个频繁使用的命令,不管是用作备份、还是复制文件信息,即保留了源文件,在想粘贴的地方又多了个目标文件;还可以用来设置源文件的硬链接和软连接,这点和ln的方式一样。

不吃羊的小灰灰博客 1万+

PyTorch深度学习实战(36)——Pix2Pix详解与实现

Pix2Pix 是基于生成对抗网络的图像转换框架,能够将输入图像转换为与之对应的输出图像,能够广泛用于图像到图像转换的任务,如风格转换、图像修复、语义标签到图像的转换等。Pix2Pix 的核心思想是通过对抗训练将输入图像和目标输出图像进行配对,使生成网络可以学习到输入图像到输出图像的映射关系。在本节中,将学习使用 Pix2Pix 根据给定轮廓生成图像。

盼小辉丶的博客 1万+

Linux 中 cp 命令(文件复制)

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

YHJ 6万+

CANoe/CAPL ,远程邮件通知

CANoe/CAPL ,远程邮件通知

蚂蚁小兵 3035

yolov5-6.0的稀疏化训练、结构化剪枝、微调

YOLOv5的BN剪枝、微调

qq_41920323的博客 4394

linux复制文件和目录详解,教你在Linux中用cp命令,使用cp复制文件和目录及复制多个文件和目录...

本文教你在Linux操作系统中使用cp命令的方法,可以使用cp命令复制目录及复制多个文件和目录。在Linux和Unix系统上工作时,复制文件和目录是你每天要执行的最常见任务之一,cp是一个命令行实用程序,用于在Unix和Linux系统上复制文件和目录,在本文中,我们将解释如何使用cp命令。使用cp命令的方法cp命令的一般语法如下:cp [OPTIONS] SOURCE... DESTINATION...

weixin_39639286的博客 4285

【Bug已解决】Claude Code Auto-update failed 自动更新失败的解决方案

方案适用场景推荐指数清理残留重新安装已经损坏,需要快速恢复可用⭐⭐⭐⭐⭐修复目录权限权限不足导致更新反复失败⭐⭐⭐⭐⭐关闭自动更新网络/安全软件环境不稳定⭐⭐⭐切换原生安装方式想从根源规避 npm 更新问题⭐⭐⭐⭐自检修复脚本团队/服务器环境需要自动化恢复⭐⭐⭐报错的本质是自动更新过程中的文件替换操作因权限不足或被中断而处于不完整状态,而不是 Claude Code 本身的功能缺陷。遇到问题先清理残留文件再重新安装,不要在损坏状态上反复尝试修复;

一键难忘的博客 1万+

在linux中强制复制目录的命令是( ),Linux系统复制文件夹命令cp使用详解

Linux系统中复制文件夹要怎么做呢?下面由学习啦小编为大家整理了Linux系统复制文件夹命令cp使用详解,希望对大家有帮助!Linux系统复制文件夹命令cp使用详解指令名称:cp(copy)功能介绍:将一个文件复制至另一个文件,或将数个文件复制至另一目录。语法格式:cp [options] source destcp [options] source... directory常用参数说明:-a ...

weixin_31040629的博客 1831

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

linux中如何使用cp命令复制文件

linux中使用cp命令复制文件的方法:【cp 源文件 目标文件夹】。例如我们要将1.txt文件复制到testDir目录下,可以执行命令【cp 1.txt testDir】。 示例:将1.txt文件分别复制到testDir文件夹下、testDir文件夹的2.text下 ...

我真的睡不够 3152

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

linux命令 把文件夹拷贝一遍_Linux使用CP命令复制文件/文件夹的方法

Linux用户们在复制文件的时候,可以不需要使用其他的第三方工具,直接使用linux内核系统中cp与scp就可以了。具体该怎么操作呢?下面就和小编一起来看看如何使用cp命令来复制文件和文件夹吧。复制方法:名称:cp使用权限:所有使用者使用方式:cp [options] source destcp [options] source... directory说明:将一个档案拷贝至另一档案,或将数个档案...

weixin_29614223的博客 1441

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

linux php 上传文件 copy,linux中如何使用cp命令复制文件

linux中使用cp命令复制文件的方法:【cp 源文件 目标文件夹】。例如我们要将1.txt文件复制到testDir目录下,可以执行命令【cp 1.txt testDir】。在linux中cp拷贝命令是非常实用的,它可以将指定路径下的文件(目录)复制到(成)另一文件或目录中。linux cp拷贝命令Linux cp命令主要用于复制文件或目录。基本语法:cp [options] 源文件 目标文...

weixin_36424744的博客 258

linux终端命令复制文件,Linux下如何使用cp命令复制文件及复制目录

Linux下cp命令的用法主要用于复制文件,加上参数还可以复制目录,下面随小编一起来了解下Linux下cp命令的具体用法。一般情况下,shell会设置一个别名,在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管你是否使用-i参数。但是如果是在shell脚本中执行cp时,没有-i参数时不会询问是否覆盖。这说明命令行和shell脚本的执行方式有些不同。1.命令格式:用法:cp [选项]...

weixin_39541869的博客 549

linux服务器如何复制数据,如何在Linux服务器中使用cp命令复制文件夹

您是否想使用终端将文件夹复制到另一个位置,但不知道如何操作?在Linux服务器上您需要使用cp命令。在本文中,您将学习如何以有效的方式在Linux服务器中快速复制目录。如何使用cp在Linux中复制目录Linux附带了一个官方软件包,该软件包可让您在系统中复制目录。cp命令是一个功能强大的实用程序,可用于轻松创建文件和文件夹的副本。cp命令的基本语法为:cp [options] 您也可以使用cp...

weixin_42509569的博客 1221

如何使用cp命令复制文件和目录!【Linux命令合集】

如何使用cp命令复制文件和目录!【Linux命令合集】

Thinking In Java 9017

java调用linux命令cp_Linux复制文件命令cp之使用解说

Linux下的命令有很多,其中有一个命令,我一直使用都存在问题,那就是cp命令了。每次使用该命令,都提示cp:omitting directiory错误。最后百度了一下才明白,原来cp命令复制目录的时候需要带命令参数的。难怪我一使用cp命令就报错。下面说一下该命令的一些使用技巧:1. cp命令语法cp [options] 或 cp [options] source1 source2 ... d...

weixin_39644614的博客 574

Linux中的install命令,谁复制文件还在使用cp

install命令是Linux系统中一个非常实用的命令,它不仅可以用于复制文件或目录,还能在复制过程中灵活地设置文件的权限、所有者、所属组等属性。熟练掌握install命令的用法,对于提高工作效率和系统安全性都非常重要。在日常的系统管理和软件安装过程中,install命令无疑是一个不可或缺的工具。希望通过本文的介绍,读者能够更好地理解和使用install命令。

qq_33906471的博客 856

linux 下正确使用cp命令复制文件夹

没有 源目录/. 【说明:斜杠后加点】 好。相当于将原数据原封不动的拷贝过来,不改变里面的任何信息。指定目录时, 源目录/* 【说明:斜杠后加星号】号(小数点)复制,可以复制所有文件,包括隐藏文件。cp -a 源目录/. 目标目录。拷贝数据,拷贝的结果是生成新的时间戳等信息。号复制,复制不了www目录下的隐藏文件(比如。

1487

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

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

weixin_32955455的博客 2729

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

在linux下的使用复制命令cp,不让出现“overwrite”(文件覆盖)提示的方法。 一般我们在使用cp命令时加上-f选项,希望不让出现“overwrite”的提示(文件覆盖的提示)。如: # cp -rf sourcefile targetdir 或 #cp -r -f sourcefile targetdir -r的意思是递归复制,也就是复制文件夹及其下所有文件。 -f的

iw1210的专栏 9万+
上一篇: 我使用过的Linux命令系列总目录(4.17更新,94篇)
下一篇: 我使用过的Linux命令之dmidecode - 查看硬件信息
codingstandards
博客等级 码龄16年 12粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值