LinuxDown.com
Linux系统下载网——精选每一篇高品质的技术干货
  1. 首页
  2. 开源快讯
  3. 正文

Linux基础教程:cp命令演示16个有用的cp示例

2023年3月16日 75点热度

复制快捷键是_linux 复制快捷键_复制黏贴快捷键是

linux-cp-command-tourial

作为Linux用户,复制文件和目录是最常见的日常操作任务之一。cp命令用于通过命令行将文件和目录从一个本地复制到另一个本地。cp命令在几乎所有Unix和Linux类操作系统中都可用。

在本文中,我们将为linux初学者演示16个有用的cp命令示例。

下边是cp命令的基本句型:

将一个文件复制到另一个文件

# cp {options} source_file target_file

复制文件到另一个目录或文件夹

# cp {options} source_file   target_directory

将目录复制到目录

# cp {options} source_directory target_directory

1)将文件复制到目标目录

假定我们复制/etc/passwd文件到/mnt/backup目录

root@linuxtechi:~# cp /etc/passwd /mnt/backup/
root@linuxtechi:~#

使用以下命令验证是否已复制

root@linuxtechi:~# ls -l /mnt/backup/
total 4
-rw-r--r-- 1 root root 2410 Feb  3 17:10 passwd
root@linuxtechi:~#

2)同时复制多个文件

假定我们要复制多个文件(/etc/passwd,/etc/group,/etc/shadow)到目标目录(/mnt/backup)

root@linuxtechi:~# cp /etc/passwd /etc/group /etc/shadow /mnt/backup/
root@linuxtechi:~#

3)交互地复制文件(-i)

使用-i选项linux 复制快捷键,将文件交互地从一个地方复制到另一个地方,交互选项只在目标目录早已有相同的文件时才有效,示例如下所示

root@linuxtechi:~# cp -i /etc/passwd /mnt/backup/
cp: overwrite '/mnt/backup/passwd'? y
root@linuxtechi:~#

在前面的命令中,必须自动输入y以容许复制操作

4)复制期间详尽输出(-v)

假如你想要cp命令的详尽输出,这么使用-v选项,示例如下所示

root@linuxtechi:~# cp -v /etc/fstab  /mnt/backup/
'/etc/fstab' -> '/mnt/backup/fstab'
root@linuxtechi:~#

假如你想同时使用交互模式和详尽模式,这么使用选项-iv

复制黏贴快捷键是_复制快捷键是_linux 复制快捷键

root@linuxtechi:~# cp -iv /etc/fstab  /mnt/backup/
cp: overwrite '/mnt/backup/fstab'? y
'/etc/fstab' -> '/mnt/backup/fstab'
root@linuxtechi:~#

5)复制目录或文件夹(-ror-R)

使用-r或则-R选项将目录从一个目录复制到另一个目录,假定我们要将Linuxtechi用户的home目录复制到/mn/backup

root@linuxtechi:~# cp -r /home/linuxtechi /mnt/backup/
root@linuxtechi:~#

在上述命令中,-r选项将递归地复制文件和目录

验证目标位置上linuxtechi目录的内容

root@linuxtechi:~# ls -l /mnt/backup/linuxtechi/
total 24
drwxr-xr-x 2 root root 4096 Feb  3 17:41 data
-rw-r--r-- 1 root root    7 Feb  3 17:41 file_1.txt
-rw-r--r-- 1 root root    7 Feb  3 17:41 file_2.txt
-rw-r--r-- 1 root root    7 Feb  3 17:41 file_3.txt
-rw-r--r-- 1 root root    7 Feb  3 17:41 file_4.txt
-rw-r--r-- 1 root root    7 Feb  3 17:41 file_5txt
-rw-r--r-- 1 root root    0 Feb  3 17:41 file_5.txt
root@linuxtechi:~#

6)拷贝时存档文件和目录(-a)

当复制目录时,我们一般使用-r或-R选项,但我们可以使用-a选项来取代-r选项,它将在复制过程中存档文件和目录,示例如下所示

root@linuxtechi:~# cp -a /home/linuxtechi /mnt/backup/
root@linuxtechi:~# ls -l /mnt/backup/linuxtechi/
total 24
drwxr-xr-x 2 root root 4096 Feb  3 17:41 data
-rw-r--r-- 1 root root    7 Feb  3 17:39 file_1.txt
-rw-r--r-- 1 root root    7 Feb  3 17:39 file_2.txt
-rw-r--r-- 1 root root    7 Feb  3 17:39 file_3.txt
-rw-r--r-- 1 root root    7 Feb  3 17:39 file_4.txt
-rw-r--r-- 1 root root    7 Feb  3 17:40 file_5txt
-rw-r--r-- 1 root root    0 Feb  3 17:39 file_5.txt
root@linuxtechi:~#

7)仅当源文件比目标文件更新时进行复制(-u)

在个别情况下,只有当源文件比目标文件更新时才须要复制文件。这可以使用cp命令中的-u选项轻松实现。

IntheExample:6wehavecopiedthelinuxtechihomedirectoryto

/mnt/backupfolder,inthelinuxtechihomefolderwehave5txtfiles,

let’seditcoupleofthemandthencopyallthetxtfilesusing“cp-u”.

在示例6中,我们将linuxtechi家目录复制到/mnt/backup文件夹,在linuxtechi主文件夹中linux 复制快捷键,我们有5个txt文件,我们编辑它们中的几个,之后使用cp-U命令复制所有txt文件。

root@linuxtechi:~# cd /home/linuxtechi/
root@linuxtechi:/home/linuxtechi# echo "LinuxRocks" >> file_1.txt
root@linuxtechi:/home/linuxtechi# echo "LinuxRocks" >> file_4.txt
root@linuxtechi:/home/linuxtechi# cp -v -u  file_*.txt /mnt/backup/linuxtechi/
'file_1.txt' -> '/mnt/backup/linuxtechi/file_1.txt'
'file_4.txt' -> '/mnt/backup/linuxtechi/file_4.txt'
root@linuxtechi:/home/linuxtechi#

8)复制时不覆盖现有文件(-n)

在个别情况下,您不希望在复制时覆盖现有目标文件,可以使用-n选项来完成

root@linuxtechi:~# cp -i /etc/passwd /mnt/backup/
cp: overwrite '/mnt/backup/passwd'?

正如你在前面的命令中见到的,它会提示我们覆盖现有的文件,假如你使用-n选项,这么它将不会提示覆盖,也不会覆盖现有的文件。

root@linuxtechi:~# cp -n /etc/passwd /mnt/backup/
root@linuxtechi:~#

9)使用cp命令创建软链接(-s)

假定要创建文件的软链接,而不是进行复制,这些情况下使用cp命令中的-s选项,示例如下所示

root@linuxtechi:~# cp -s /home/linuxtechi/file_1.txt /mnt/backup/
root@linuxtechi:~# cd /mnt/backup/
root@linuxtechi:/mnt/backup# ls -l file_1.txt
lrwxrwxrwx 1 root root 27 Feb  5 18:37 file_1.txt -> /home/linuxtechi/file_1.txt
root@linuxtechi:/mnt/backup#

10)使用cp命令创建硬链接(-l)

复制快捷键是_复制黏贴快捷键是_linux 复制快捷键

假定要创建文件的硬链接,而不是复制,这么使用-l选项,示例如下所示

root@linuxtechi:~# cp -l /home/linuxtechi/devops.txt /mnt/backup/
root@linuxtechi:~#

在硬链接中,源文件和目标文件具有相同的inode号,让我们使用以下命令来验证这一点

root@linuxtechi:~# ls -li /mnt/backup/devops.txt
918196 -rw-r--r-- 2 root root 37 Feb  5 20:02 /mnt/backup/devops.txt
root@linuxtechi:~# ls -li /home/linuxtechi/devops.txt
918196 -rw-r--r-- 2 root root 37 Feb  5 20:02 /home/linuxtechi/devops.txt
root@linuxtechi:

11)将属性从源复制到目标(–attributes-only)

假如希望使用cp命令仅将属性从源复制到目标,则使用选项-attributes-only

# cp --attributes-only /home/linuxtechi/distributions.txt  /mnt/backup/
# ls -l /home/linuxtechi/distributions.txt
-rw-r--r-- 1 root root 41 Feb  5 19:31 /home/linuxtechi/distributions.txt
# ls -l /mnt/backup/distributions.txt
-rw-r--r-- 1 root root 0 Feb  5 19:34 /mnt/backup/distributions.txt
#

在前面的命令中,我们从linuxtechi主目录复制到/mnt/backup目录,仅复制属性,之后跳过内容。/mnt/backup/distribution.txt文件大小为零字节。

12)复制时创建现有目标文件的备份(–backup)

cp命令的默认行为是假如存在相同的文件,则覆盖目标文件,倘若您想在复制操作期间备份现有的目标文件,则使用-backup选项linux apache 虚拟主机,示例如下所示

root@linuxtechi:~# cp --backup=simple -v /home/linuxtechi/distributions.txt /mnt/backup/distributions.txt
'/home/linuxtechi/distributions.txt' -> '/mnt/backup/distributions.txt' (backup: '/mnt/backup/distributions.txt~')
root@linuxtechi:~#

倘若您注意到,备份早已创建,并在文件末尾追加了波浪号符号。备份选项接受以下参数

13)复制时保留模式、所有权和时间戳(-p)

复制黏贴快捷键是_复制快捷键是_linux 复制快捷键

假如你想在复制时保留文件属性,如模式、所有权和时间戳,这么在cp命令中使用-p选项,示例如下所示

root@linuxtechi:~# cd /home/linuxtechi/
root@linuxtechi:/home/linuxtechi# cp -p devops.txt /mnt/backup/
root@linuxtechi:/home/linuxtechi# ls -l devops.txt
-rw-r--r-- 1 root root 37 Feb  5 20:02 devops.txt
root@linuxtechi:/home/linuxtechi# ls -l /mnt/backup/devops.txt
-rw-r--r-- 1 root root 37 Feb  5 20:02 /mnt/backup/devops.txt
root@linuxtechi:/home/linuxtechi#

14)复制时不要遵守源符号链接(-P)

倘若您不想在复制时遵守源符号链接,则在命令中使用-P选项linux操作系统介绍,示例如下所示

root@linuxtechi:~# cd /home/linuxtechi/
root@linuxtechi:/home/linuxtechi# ls -l /opt/nix-release.txt
lrwxrwxrwx 1 root root 14 Feb  9 12:28 /opt/nix-release.txt -> os-release.txt
root@linuxtechi:/home/linuxtechi#
root@linuxtechi:/home/linuxtechi# cp -P os-release.txt /mnt/backup/
root@linuxtechi:/home/linuxtechi# ls -l /mnt/backup/os-release.txt
-rw-r--r-- 1 root root 35 Feb  9 12:29 /mnt/backup/os-release.txt
root@linuxtechi:/home/linuxtechi#

15)强制复制文件和目录(-f)

在个别情况下,现有的目标文件难以打开和删掉。假如你有一个健康的文件,可以复制到现有的目标文件,这么使用cp命令的-f选项

root@linuxtechi:/home/linuxtechi# cp -f distributions.txt  /mnt/backup/
root@linuxtechi:/home/linuxtechi#

16)复制稀疏文件

稀疏文件是一个常规文件,它包含一个零字节的长序列,不消耗任何化学c盘块。稀疏文件的益处之一是它不会消耗太多的c盘空间,但是对该文件的读取操作将特别快。

假定我们有一个命名为ubuntu-cloud.img的稀疏云镜像

root@linuxtechi:/home/linuxtechi# du -sh ubuntu-cloud.img
12M     ubuntu-cloud.img
root@linuxtechi:/home/linuxtechi# cp --sparse=always ubuntu-cloud.img /mnt/backup/
root@linuxtechi:/home/linuxtechi# du -sh /mnt/backup/ubuntu-cloud.img
0       /mnt/backup/ubuntu-cloud.img
root@linuxtechi:/home/linuxtechi#

在cp命令中使用稀疏参数时,可以使用不同的选项

我的开源项目

linux 复制快捷键_复制黏贴快捷键是_复制快捷键是

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: linux创建文件夹 linux系统 命令模式 文件目录
最后更新:2023年3月16日

Linux系统下载网

每日更新,欢迎收藏♥ 不积跬步无以至千里,加油,共勉。

点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

Linux系统下载网

每日更新,欢迎收藏♥
不积跬步无以至千里,加油,共勉。

最新 热点 随机
最新 热点 随机
轻松安装CentOS,EasyBCD教程上手 Windows端完全转入了Linux服务器端,语言也彻底变成C Golang开发者乱码问题的原因及解决方法设置中解析 企业Linux安全运维:10大分析实战经验 轻松搞定CentOS本地域名解析与静态IP设置 Linux命令用于显示内存使用情况的free(-bkmotV) Linux必备:64位Tomcat下载安装教程 精通Linux设备驱动开发,掌握9大关键技巧! Linux下MySQL下载安装教程,快速学会MySQL安装! 升级到7.10完成后执行一下sudo-getclean释放空间 玩转Linux C索引:3.1版本安装指南 轻松掌握Linux启动应用程序命令,提高工作效率 修改默认端口请看:修改CentOS8默认远程端口:开启防火墙 主机与虚拟机的互ping也是可以通的 嵌入式Linux USB驱动开发与应用:8个详细讨论 thunderbird linux 安装 高效管理邮件,轻松安装Thunderbird Linux。8招教你操作得心应手! 微软放弃Windows转向Linux,转而将建立在Linux内核之上 轻松掌握Linux系统基本命令大全,10个常用命令助你驾驭命令行 零基础也能轻松安装Linux系统,虚拟机10教您体验强大功能! 虚拟机装deepin,电脑焕然新生
RedHat虚拟机网络配置:9大详细分析,让你轻松上手轻松安装CentOS,EasyBCD教程上手Linux虚拟机必备:轻松安装VMwareTools网络安装Linux系统:多种方法全解析高效、易用的Linux笔记整理下载工具关于嵌入式Linux操作系统的原理和实现的详细分析Linux发行版在开机启动时拉起的服务进程中如何关闭?Linux内核通信方式详细解析:探讨八种实现方法CentOS如何安装中文输入法,让Linux操作系统更方便?有个发行版居然模仿起了Win11系统,还内置安卓虚拟机深入了解Linux内核开发,掌握基本技巧!Linux登录认证失败的8个问题,让你不再孤单一个如何记录ssh命令操作的小技巧-OpenSSH命令Linux轻松安装:VirtualBox虚拟机指南Fedora 25轻松安装智能fcitx输入法Linux系统在启动过程中都加载了哪些内容?Linux系统连接服务器:从入门到精通的技巧!Linux安装内核开发包及编译器,轻松开发!学习linux内核是需要一步一步内核的一些建议吧!Linux操作系统进程内核文件的设置文件是什么
win11系统好不好用win11的新功能,权衡是否升级到win11 深度探秘Linux内核:文件系统与设备驱动架构设计 linux java环境 打造高效LinuxJava开发环境,提升开发效率! 轻松掌握Linux系统版本:实用的uname命令 关键词:工控主板能支持什么版本的LINUX系统?依据 轻松设置Fedora 23的IP,上网不再烦恼 Linux安装虚拟机软件,轻松实现多系统运行 轻松安装Linux Deepin:U盘启动教程 玩转Linux调试:轻量级调试工具全解析 掌握Linux记事本软件,10个使用技巧等你来学! (小坏蛋)mv操作文件时是移动并且重命名 探究Linux驱动内核应用场景:8个方面全解析 磁盘配额设置:EXT4与XFS的区别与注意事项 深入了解Linux键盘驱动:8个基础知识与工作原理 Linux安装Oracle 11教程:打造强大数据库管理工具 如何安装redhat linux 安装RedhatLinux的步骤及注意事项,轻松安装Linux 解锁Linux声卡创新 KX驱动,音效焕发新生! Linux操作系统中最通用的全屏幕文本编辑器 rabbitmq centos CentOS轻松搭建RabbitMQ集群,快速提升消息传输效率! 轻松掌握Linux更改文件用户组技巧-10步操作详解
标签聚合
文件目录 linux社区 linux服务器 虚拟机 centos 软件 电脑 linux系统 u盘启动 sudo
书籍
课程
技术群
技术干货大合集↓
  • 2023年3月 / 241篇
友情链接:

Linux书籍 | Linux命令 | Linux系统 | RHCE红帽认证 | Linux软件 | Linux教程 | CentOS系统 | Linux内核 | Linux服务器 | Linux大神 | IT资源

COPYRIGHT © 2023 LinuxDown.com ALL RIGHTS RESERVED.

京ICP备14023444号-2