热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

Linux之cp命令详解

 格式cp[选项]源文件目标文件选项:-a:相当于-dpr选项的集合-d:如果源文件为软链接(硬链接无效),复制出的目标文件也为软链接-i:询问,如果目标文件已经存在,则会询问是否

 

格式
cp [选项] 源文件 目标文件
选项:
-a: 相当于-dpr选项的集合
-d: 如果源文件为软链接(硬链接无效),复制出的目标文件也为软链接
-i: 询问,如果目标文件已经存在,则会询问是否覆盖
-l:把目标文件建立为源文件的硬链接文件,而不是复制源文件
-s: 把目标文件建立为源文件的软链接文件,而不是复制源文件
-p: 复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间)
-r: 递归复制,用于复制目录

 


例1:基本用法

 

[root@VM-0-17-centos home]# cp aaa.txt /tmp/
#不改名复制
[root@VM-0-17-centos home]# cp aaa.txt /tmp/abc.txt
#改名复制
[root@VM-0-17-centos home]# cp aaa.txt /tmp/abc.txt
cp:是否覆盖"/tmp/abc.txt"? y
#默认执行cp -i

 


复制目录

 

需要加-r参数

 


例2:复制软链接属性

 

[root@VM-0-17-centos home]# touch lianxi
[root@VM-0-17-centos home]# ln -s /home/lianxi /tmp/lianxi_h
#建立软链接文件/tmp/lianxi_h
[root@VM-0-17-centos home]# ll /tmp/lianxi_h
lrwxrwxrwx 1 root root 12 6月 2 21:50 /tmp/lianxi_h -> /home/lianxi
#接下来源文件就是软链接文件
[root@VM-0-17-centos home]# cd /tmp/
[root@VM-0-17-centos tmp]# cp /tmp/lianxi_h /tmp/lianxi_h1
#复制软链接文件,但是不加'-d'选项
[root@VM-0-17-centos tmp]# cp -d /tmp/lianxi_h /tmp/lianxi_h2
#复制软链接文件,加入'-d'选项
[root@VM-0-17-centos tmp]# ll /tmp/lianxi_h1 /tmp/lianxi_h2
-rw-r--r-- 1 root root 0 6月 2 21:51 /tmp/lianxi_h1
#不加'-d'复制的是软链接的源文件,而不是软链接文件
lrwxrwxrwx 1 root root 12 6月 2 21:51 /tmp/lianxi_h2 -> /home/lianxi
#加入了'-d'选项,则会复制软链接文件

例3:保留源文件属性复制

 

[root@VM-0-17-centos mlocate]# pwd
/var/lib/mlocate
[root@VM-0-17-centos mlocate]# cp mlocate.db /tmp/
[root@VM-0-17-centos mlocate]# ll mlocate.db
-rw-r----- 1 root slocate 3044985 6月 6 03:26 mlocate.db
#注意源文件的时间和所属组
[root@VM-0-17-centos mlocate]# ll /tmp/mlocate.db
-rw-r----- 1 root root 3044985 6月 6 19:32 /tmp/mlocate.db
#由于复制命令由root用户执行,所以目标文件的所属组变为了root,而且时间也变成了复制命令的执行时间

 


使用-p参数可以保留源文件的属性,包括所有者、所属组和时间。当然-a相当于-dpr也更方便

 

[root@VM-0-17-centos mlocate]# cp -a mlocate.db /tmp/mlocate__2.db
#使用-a选项
[root@VM-0-17-centos mlocate]# ll mlocate.db /tmp/mlocate__2.db
-rw-r----- 1 root slocate 3044985 6月 6 03:26 mlocate.db
-rw-r----- 1 root slocate 3044985 6月 6 03:26 /tmp/mlocate__2.db
#源文件和目标文件的所有属性都一致,包括时间

推荐阅读
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • Linuxchmod目录权限命令图文详解在Linux文件系统模型中,每个文件都有一组9个权限位用来控制谁能够读写和执行该文件的内容。对于目录来说,执行位的作用是控制能否进入或者通过 ... [详细]
  • 本文介绍了使用CentOS7.0 U盘刻录工具进行安装的详细步骤,包括使用USBWriter工具刻录ISO文件到USB驱动器、格式化USB磁盘、设置启动顺序等。通过本文的指导,用户可以轻松地使用U盘安装CentOS7.0操作系统。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的步骤和方法
    本文介绍了在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的详细步骤和方法。首先需要下载最新的Java SE Development Kit 9发行版,然后按照给出的Shell命令行方式进行安装。详细的步骤和方法请参考正文内容。 ... [详细]
  • 本文介绍了Linux Shell中括号和整数扩展的使用方法,包括命令组、命令替换、初始化数组以及算术表达式和逻辑判断的相关内容。括号中的命令将会在新开的子shell中顺序执行,括号中的变量不能被脚本余下的部分使用。命令替换可以用于将命令的标准输出作为另一个命令的输入。括号中的运算符和表达式符合C语言运算规则,可以用在整数扩展中进行算术计算和逻辑判断。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 本文介绍了在Linux系统中设置文件ACL权限的方法和使用说明,包括在centos7.3和centos6.9中开启ACL权限的两种方法:在挂载时指定打开ACL权限和修改默认的属性信息。同时提供了对ACL权限的详细解释和应用场景。 ... [详细]
  • 本文介绍了在CentOS 6.4系统中更新源地址的方法,包括备份现有源文件、下载163源、修改文件名、更新列表和系统,并提供了相应的命令。 ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • Linux下安装依赖包版本高解决方法
    本文介绍了在Linux系统下,当已安装的依赖包版本高于需要安装的依赖包版本时,解决方法包括欺骗安装程序和修改相关配置文件等操作。针对不同情况,提供了不同的解决方案。 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
author-avatar
YYCC77777
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有