返回顶部
首页 > 资讯 > 操作系统 >linux下的复制命令怎么用
  • 844
分享到

linux下的复制命令怎么用

2023-06-30 12:06:13 844人浏览 独家记忆
摘要

本篇内容介绍了“linux下的复制命令怎么用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!linux下复制命令是“cp”。cp命令主要用来复

本篇内容介绍了“linux下的复制命令怎么用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

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

教程操作环境: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下的复制命令怎么用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: linux下的复制命令怎么用

本文链接: https://lsjlt.com/news/328704.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • linux下的复制命令怎么用
    本篇内容介绍了“linux下的复制命令怎么用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!linux下复制命令是“cp”。cp命令主要用来复...
    99+
    2023-06-30
  • Linux复制命令cp命令怎么用
    小编给大家分享一下Linux复制命令cp命令怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Linux系统cp命令主要用于复制文件,可以复制指定目录下的全部文...
    99+
    2023-06-28
  • linux的复制命令怎么用
    在Linux中,可以使用cp命令来复制文件和目录。它的基本语法是: cp [选项] 源文件 目标文件 其中,选项可以省略,常用的选项...
    99+
    2023-10-23
    linux
  • Linux下怎么使用cp命令复制文件及复制目录
    本篇内容介绍了“Linux下怎么使用cp命令复制文件及复制目录”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  Linux下cp命令的用法主...
    99+
    2023-06-13
  • linux下的yum命令怎么用
    小编给大家分享一下linux下的yum命令怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!yum是干什么的使用redhat,fedora的linuxer肯定都...
    99+
    2023-06-17
  • Linux下zip的命令怎么用
    这篇文章主要为大家展示了“Linux下zip的命令怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux下zip的命令怎么用”这篇文章吧。zip是一种常见的文件压缩命令,也是一个非常高效...
    99+
    2023-06-28
  • Linux下date命令怎么用
    小编给大家分享一下Linux下date命令怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!显示时间是个常用的命令,在写shell脚本中也经常会用到与日期相关文...
    99+
    2023-06-12
  • Linux下ps命令怎么用
    小编给大家分享一下Linux下ps命令怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在Linux下ps命令是用于查看系统上运行的进程的最基本的命令之一。它提...
    99+
    2023-06-13
  • linux下wget命令怎么用
    小编给大家分享一下linux下wget命令怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1、使用wget下载单个文件以下的例子是从网络下载一个文件并保存在当前目录wget http://cn.wordpre...
    99+
    2023-06-21
  • Linux下man命令怎么用
    这篇文章主要为大家展示了“Linux下man命令怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux下man命令怎么用”这篇文章吧。man就是manual的缩写,用来查看系统中自带的各...
    99+
    2023-06-17
  • Linux下ls命令怎么用
    这篇文章给大家分享的是有关Linux下ls命令怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。假如我们有这样的一个文件夹,我们用tree命令查看它的目录结构:用法1:列出/home/alvin/test_di...
    99+
    2023-06-15
  • Linux下touch命令怎么用
    这篇文章给大家分享的是有关Linux下touch命令怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。touch 命令基本用法提起 touch 命令,大家想到的肯定是它的两个用法:改变时间戳创建新文件这两种用法...
    99+
    2023-06-15
  • Linux下uname命令怎么用
    这篇文章给大家分享的是有关Linux下uname命令怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。uname命令主要功能就是帮助我们了解当前使用的系统的硬件信息,内核信息,处理器信息和当前使用的系统信息等。...
    99+
    2023-06-27
  • Linux下sblk命令怎么用
    这篇文章给大家分享的是有关Linux下sblk命令怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。sblk命令的英文是“list block”,即用于列出所有可用块设备的信息,而且还能显示他们之间的依赖关系,...
    99+
    2023-06-27
  • Linux下Findmnt命令怎么用
    小编给大家分享一下Linux下Findmnt命令怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Findmnt 命令用于查找挂载的文件系统。它用来列出安装设备,当需要时也可以挂载或卸载设备,它是 util-linux ...
    99+
    2023-06-27
  • Linux下sort命令怎么用
    这篇文章主要为大家展示了“Linux下sort命令怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux下sort命令怎么用”这篇文章吧。sort 是 Linux 的排序命令,而且可以依...
    99+
    2023-06-27
  • Linux下tree命令怎么用
    这篇文章给大家分享的是有关Linux下tree命令怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。tree是一种递归目录列表命令,产生一个深度缩进列表文件,这是彩色的ALA dircolors如果ls_col...
    99+
    2023-06-28
  • Linux下ip命令怎么用
    这篇文章主要介绍了Linux下ip命令怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Linux的ip命令和ifconfig类似,但前者功能更强大,并旨在取代后者。使用i...
    99+
    2023-06-28
  • Linux下journalctl命令怎么用
    这篇文章主要为大家展示了“Linux下journalctl命令怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux下journalctl命令怎么用”这篇文章吧。日志管理工具journa...
    99+
    2023-06-28
  • Linux下zcat命令怎么用
    小编给大家分享一下Linux下zcat命令怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!zcat命令用于不真正解压缩文件,就能显示压缩包中文件的内容的场合。...
    99+
    2023-06-28
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作