linux下复制命令是什么

%ign%ignore_a_1%re_a_1%下复制命令是“cp”。cp命令主要用来复制文件和目录,语法“cp [选项] 源文件 目标文件”,可以将一个或多个源文件或目录复制到指定文件或目录下;同时借助某些选项,还可以实现复制整个目录,以及比对两文件的新旧而予以升级等功能。

linux下复制命令是什么

本教程操作环境:CentOS 6系统、Dell G3电脑。

linux下复制命令是“cp”。

cp英文全称“copy file”,中文意思为复制文件。

cp 命令,主要用来复制文件和目录,可以将一个或多个源文件或者目录复制到指定的目的文件或目录;

cp 命令的基本格式如下:

cp [选项] 源文件 目标文件

选项:

-a:相当于 -d、-p、-r 选项的集合,这几个选项我们一一介绍;

-d:如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接;

-i:询问,如果目标文件已经存在,则会询问是否覆盖;

-l:把目标文件建立为源文件的硬链接文件,而不是复制源文件;

-s:把目标文件建立为源文件的软链接文件,而不是复制源文件;

-p:复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间);

-r:递归复制,用于复制目录;

-u:若目标文件比源文件有差异,则使用该选项可以更新目标文件,此选项可用于对文件的升级和备用。

需要注意的是,源文件可以有多个,但这种情况下,目标文件必须是目录才可以。

说明:cp 命令借助某些选项,还可以实现复制整个目录,以及比对两文件的新旧而予以升级等功能。

cp命令的使用示例:

【例 1】cp 命令基本用法

cp 命令既可以复制文件,也可以复制目录。我们先来看看如何复制文件,例如:

[root@localhost ~]# touch cangls#建立源文件[root@localhost ~]# cp cangls /tmp/#把源文件不改名复制到 /tmp/ 目录下

如果需要改名复制,则命令如下:

[root@localhost ~]# cp cangls /tmp/bols#改名复制

如果复制的目标位置已经存在同名的文件,则会提示是否覆盖,因为 cp 命令默认执行的是“cp -i”的别名,例如:

[root@localhost ~]# cp cangls /tmp/cp:是否覆盖"/tmp/cangls"?y#目标位置有同名文件,所以会提示是否覆盖

接下来我们看看如何复制目录,其实复制目录只需使用“-r”选项即可,例如:

[root@localhost ~]# mkdir movie#建立测试目录[root@localhost ~]# cp -r /root/movie/ /tmp/#目录原名复制

【例 2】复制软链接文件

如果源文件不是一个普通文件,而是一个软链接文件,那么是否可以复制软链接的属性呢?我们试试:

[root@localhost ~]# ln -s /root/cangls /tmp/cangls_slink#建立一个测试软链接文件/tmp/cangls_slink[root@localhost ~]# ll /tmp/cangls_slinklrwxrwxrwx 1 root root 12 6 月 14 05:53 /tmp/cangls_slink -> /root/cangls#源文件本身就是一个软链接文件[root@localhost ~]# cp /tmp/cangls_slink /tmp/cangls_t1#复制软链接文件,但是不加"-d"选项[root@localhost ~]# cp -d /tmp/cangls_slink /tmp/cangls_t2#复制软链接文件,加入"-d"选项[root@localhost ~]# ll /tmp/cangls_t1 /tmp/cangls_t2-rw-r--r-- 1 root root 0 6月 14 05:56 /tmp/cangls_t1#会发现不加"-d"选项,实际复制的是软链接的源文件,而不是软链接文件lrwxrwxrwx 1 root root 12 6 月 14 05:56/tmp/ cangls_t2-> /root/cangls#而如果加入了"-d"选项,则会复制软链接文件

这个例子说明,如果在复制软链接文件时不使用 “-d” 选项,则 cp 命令复制的是源文件,而不是软链接文件;只有加入了 “-d” 选项,才会复制软链接文件。请大家注意,”-d” 选项对硬链接是无效的。

【例 3】保留源文件属性复制

我们发现,在执行复制命令后,目标文件的时间会变成复制命令的执行时间,而不是源文件的时间。例如:

[root@localhost ~]# cp /var/lib/mlocate/mlocate.db /tmp/[root@localhost ~]# ll /var/lib/mlocate/mlocate.db-rw-r-----1 root slocate2328027 6月 14 02:08/var/lib/mlocate/mlocate.db#注意源文件的时间和所属组[root@localhost ~]#ll /tmp/mlocate.db-rw-r----- 1 root root2328027 6 月 14 06:05/tmp/mlocate.db#由于复制命令由root用户执行,所以目标文件的所属组为了root,而且时间也变成了复制命令的执行时间

而当我们执行备份、曰志备份的时候,这些文件的时间可能是一个重要的参数,这就需执行 “-p” 选项了。这个选项会保留源文件的属性,包括所有者、所属组和时间。例如:

[root@localhost ~]# cp -p /var/lib/mlocate/mlocate.db /tmp/mlocate.db_2#使用"-p"选项[root@localhost ~]# ll /var/lib/mlocate/mlocate.db /tmp/mlocate.db_2-rw-r----- root slocate 2328027 6月 14 02:08 /tmp/mlocate.db_2-rw-r----- root slocate 2328027 6月 14 02:08 /var/lib/mlocate/mlocate.db#源文件和目标文件的所有属性都一致,包括时间

我们之前讲过,”-a” 选项相当于 “-d、-p、-r” 选项,这几个选项我们已经分别讲过了。所以,当我们使用 “-a” 选项时,目标文件和源文件的所有属性都一致,包括源文件的所有者,所属组、时间和软链接性。使用 “-a” 选项来取代 “-d、-p、-r” 选项更加方便。

【例 4】 “-l” 和 “-s” 选项

我们如果使用 “-l” 选项,则目标文件会被建立为源文件的硬链接;而如果使用了 “-s” 选项,则目标文件会被建立为源文件的软链接。

这两个选项和 “-d” 选项是不同的,”d” 选项要求源文件必须是软链接,目标文件才会复制为软链接;而 “-l” 和 “-s” 选项的源文件只需是普通文件,目标文件就可以直接复制为硬链接和软链接。例如:

[root@localhost ~]# touch bols#建立测试文件[root@localhost ~]# ll -i bols262154-rw-r--r-- 1 root root 0 6月 14 06:26 bols#源文件只是一个普通文件,而不是软链接文件[root@localhost ~]# cp -l /root/bols /tmp/bols_h[root@localhost ~]# cp -s /root/bols /tmp/bols_s#使用"-l" 和"-s"选项复制[root@localhost ~]# ll -i /tmp/bols_h /tmp/bols_s262154-rw-r--r-- 2root root 0 6 月 14 06:26/tmp/bols_h#目标文件 /tmp/bols_h 为源文件的硬链接文件932113 lrwxrwxrwx 1 root root 10 6 月 14 06:27/tmp/bols_s -> /root/bols#目标文件 /tmp/bols_s 为源文件的软链接文件

相关推荐:《Linux视频教程》

以上就是linux下复制命令是什么的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/144640.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
如何在Win11系统中添加休眠选项
上一篇 2025年12月2日 02:03:39
iQOO Neo9S Pro+为什么可以做到轻薄长续航:蓝海电池技术解析
下一篇 2025年12月2日 02:03:42

相关推荐

  • linux中关于ls命令的实例详解

    ls命令是linux下最常用的命令。ls命令就是list的缩写。下面通过本文给大家分享linux 中ls命令详解,感兴趣的朋友一起看看吧 ls命令用来显示目标列表,在Linux中是使用率较高的命令。ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件。 语法 ls(选项)(参数) 选项 -a…

    用户投稿 2026年9月4日
    000
  • linux中关于mkdir命令的详解

    mkdir 是一个用来在 linux 系统下创建目录的命令。此命令属于内建命令。接下来通过本文给大家分享linux mkdir命令详解,感兴趣的朋友一起看看吧 mkdir命令用来创建目录。该命令创建由dirname命名的目录。如果在目录名的前面没有加任何路径名,则在当前目录下创建由dirname指定…

    用户投稿 2026年9月4日
    100
  • Linux下如何使用inode删除指定文件的方法示例

    文件的inode定义了文件的大小、所有人等文件的特征。每个文件和目录都有自己唯一的inode数字。所以下面这篇文章主要给大家介绍了关于linux下使用inode删除指定文件的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。 前言 众所周知在Linux中,有时候会遇到文件名是乱码或者是某些特殊中文…

    用户投稿 2026年9月4日
    000
  • linux最大打开文件数限制修改的方法分享

    这篇文章主要给大家介绍了关于linux最大打开文件数限制修改的方法,文中将实现的方法一步步介绍的非常详细,对同样遇到这个需求的朋友们具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。 前言 本文主要给大家介绍了关于linux最大打开文件数限制修改的相关内容,分享出来供大家参考学习,下…

    用户投稿 2026年9月4日
    200
  • Linux中Netcat命令

    [导读] netcat是网络工具中的瑞士军刀,它能通过tcp和udp在网络中读写数据。通过与其他工具结合和重定向,你可以在脚本中以多种方式使用它。使用netcat命令所能完成的事情令人惊讶。netcat所做的就是在两台电脑之间建立   Netcat是网络工具中的瑞士军刀,它能通过TCP和UDP在网络…

    2026年9月4日
    000
  • Celery实现定时任务crontab

    Celery实现定时任务crontabCelery实现定时任务crontabCelery实现定时任务crontabCelery实现定时任务crontab

    定时任务在开发中应用广泛,几乎所有开发人员都会接触到。实现定时任务的方法有很多,其中celery的定时任务功能强大且使用简便,只需安装celery即可。以下是使用celery实现定时任务的详细步骤。 一. 搭建Celery定时任务架构 在项目中合适的位置新建一个定时任务目录 celery_cront…

    2026年9月4日 用户投稿
    100
  • 100个Linux常用的命令

    linux命令是对linux系统进行管理的命令。对于linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,linux系统管理的命令是它正常运行的核心,与之前的dos命令类似。linux命令在系统中有两种类型:内置shell命令和linux命令。这篇文章我们就列举一下…

    用户投稿 2026年9月4日
    000
  • 几个常用的linux系统之间传输文件的命令

    linux命令是对linux系统进行管理的命令。对于linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,linux系统管理的命令是它正常运行的核心,与之前的dos命令类似。linux命令在系统中有两种类型:内置shell命令和linux命令。不同的linux之间c…

    用户投稿 2026年9月4日
    300
  • 关于Linux 自动唤醒和关闭的实现方法

    不知道大家对linux 自动唤醒和关闭有多少理解,本文主要介绍了linux 自动唤醒和关闭的实现方法,需要的朋友可以参考下,希望能帮助到大家。 一. 系统休眠(crontab)  示例说明(创建一个 root 定时任务实现每天晚上 11 点 15 分定时关机): # crontab -e -u ro…

    用户投稿 2026年9月4日
    000
  • linux下vsftpd的安装及配置介绍

    本文主要介绍了linux下vsftpd的安装及配置使用详细步骤 ,需要的朋友可以参考下,希望能帮助到大家。 vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。 vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linu…

    用户投稿 2026年9月3日
    000
  • [python]windows上安装pyaudio最简单方法

    pyaudio是一个用于处理音频流的python库,它依赖于portaudio库。如果直接使用pip命令无法安装pyaudio,可以尝试通过whl文件进行安装。以下是pyaudio通过whl文件安装的详细方法: 一、准备阶段 下载PyAudio的whl文件 访问可靠的Python包分发网站,如镜像站…

    2026年9月3日
    100
  • linux操作系统原理基础

    linux操作系统原理基础linux操作系统原理基础linux操作系统原理基础linux操作系统原理基础

    本文主要和大家讲述linux操作系统原理,这是一篇非常好的linux系统基础教程,我们总结了相关的全部精选内容,一起来学习下。希望能帮助到大家。 linux操作系统原理文字版 一.计算机经历的四个时代 1.第一代: 真空管计算机,输入和输出:穿孔卡片,对计算机操作起来非常不便,做一件事可能需要十几个…

    2026年9月3日 用户投稿
    100
  • linux中sed命令和awk命令的使用方法

    本文主要介绍了浅谈linux中sed命令和awk命令的使用,具有一定借鉴价值,需要的朋友可以参考,希望能帮助到大家。 1、sed命令:没有重定向不会真正修改源文件中的内容 查询语句 ①sed -n ‘/sbin/p’ passwd 表示查询出passwd文件中存在sbin字符的所有行并打…

    用户投稿 2026年9月3日
    100
  • linux之让history命令显示日期和时间方法

    history 命令将终端上 bash 执行过的所有命令存储到 .bash_history 文件中,来帮助我们复查用户之前执行过的命令。本文主要介绍了让history命令显示日期和时间的方法,需要的朋友可以参考下,希望能帮助到大家。 默认情况下 history 命令直接显示用户执行的命令而不会输出运…

    用户投稿 2026年9月3日
    200
  • VSCode怎么发出命令语句_VSCode命令面板使用与自定义命令教程

    答案:VSCode命令面板可通过快捷键Ctrl+Shift+P或Cmd+Shift+P打开,用于执行如格式化文档、跳转文件等预设命令,支持通过keybindings.json自定义快捷键,结合tasks.json可绑定任务,扩展命令自动集成,问题可通过重启、检查冲突或查看输出面板解决。 VSCode…

    2026年9月3日
    200
  • linux下swap分区作用详解

    本文主要介绍了详细解读linux下swap分区的作用,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下,希望能帮助到大家。 本文研究的主要是linux下swap分区的相关内容,具体介绍如下。 swap分区介绍 嵌入式Linux中文站消息,Linux系统的Swap分区,即交换区,Swap空…

    用户投稿 2026年9月3日
    200
  • 如何查看电脑温度_CPU和显卡温度监控方法

    监控电脑cpu和显卡温度的方法有多种,应根据需求选择合适方式:1. 使用硬件监控软件如hwmonitor或aida64,可实时查看温度、电压等信息,其中hwmonitor免费且简洁,aida64功能更全面但收费;2. 进入bios查看,开机时在“hardware monitor”中可读取cpu温度,…

    2026年9月3日
    200
  • linux服务器下查看mysql的安装信息实例分享

    linux服务器下查看mysql的安装信息实例分享linux服务器下查看mysql的安装信息实例分享linux服务器下查看mysql的安装信息实例分享linux服务器下查看mysql的安装信息实例分享

    本文主要介绍了linux服务器下查看mysql的安装信息,需要的朋友可以参考下,希望能帮助到大家。 查看mysql的安装信息: #ps -ef | grep mysql usr/bin/mysql 是指:mysql的运行路径 var/lib/mysql 是指:mysql数据库文件的存放路径 usr/…

    2026年9月3日 用户投稿
    200
  • Linux如何使用pure-ftpd建立匿名ftp的方法分享

    本文主要和大家介绍了linux如何使用pure-ftpd建立匿名ftp的方法分享,需要的朋友可以参考下,希望能帮助到大家。 (一)ubuntu14.04下使用pure-ftpd建立匿名ftp访问 1.安装 apt-get install pure-ftpd 2.修改配置 nano /etc/pure…

    用户投稿 2026年9月3日
    100
  • Linux服务器操作系统如何加固

    本文主要和大家分享linux服务器操作系统如何加固,本帮助手册旨在指导系统管理人员或安全检查人员进行linux操作系统的安全合规性检查和加固,需要的朋友可以参考下,希望能帮助到大家。 1. 账号和口令 1.1 禁用或删除无用账号 减少系统无用账号,降低安全风险。 操作步骤 使用命令 userdel …

    用户投稿 2026年9月3日
    100

发表回复

登录后才能评论
关注微信