在 Linux 中复制目录

您所在的位置:网站首页 linux文件复制到目录的命令在哪找 在 Linux 中复制目录

在 Linux 中复制目录

2024-07-07 18:46:01| 来源: 网络整理| 查看: 265

要在基于 Unix 的操作系统(Linux 和 MacOS)中复制文件或目录,需要使用 cp 命令。

cp 命令是一个相对简单的命令,但是其输出会根据输入(文件或目录)和传递给它的选项而略有变化。

要查看 cp 命令的文档或手册,请在终端上运行 man cp:

$ man cp NAME cp -- copy files SYNOPSIS cp [OPTIONS] source_file target_file cp [OPTIONS] source_file ... target_directory ...

这个命令的基本形式包括要复制的一个或多个输入源(文件或目录),以及将文件或目录复制到什么目标位置:

cp [OPTIONS] source_file target_file如何将文件复制到当前目录

要复制文件,需要输入要复制的文件以及要将文件复制到什么目标路径。

如果你有一个名为 a.txt 的文件,想要给该文件生成一个副本,名为 b.txt:

$ ls a.txt $ cp a.txt b.txt $ ls a.txt b.txt如果你不熟悉 ls 命令,这个命令是“列出”目录的所有内容。

默认情况下,cp 命令使用你的当前目录作为路径。

如何将文件复制到另一个目录

要将文件复制到与当前目录不同的目录,你只需要输入另一个目录的路径作为目标即可:

$ ls ../directory-1/ $ cp a.txt ../directory-1/ $ ls ../directory-1/ a.txt

执行 cp 命令之后,之前空的 directory-1 现在包含了文件 a.txt。

默认情况下,复制文件的名称和原始文件的名称相同,但是你也可以选择定义文件名:

$ cp a.txt ../directory-1/b.txt $ ls ../directory-1/ b.txt如何将多个文件复制到一个目录

要一次复制多个文件,可以输入多个输入源和一个目录作为目标路径:

$ ls ../directory-1/ $ cp first.txt second.txt ../directory-1/ $ ls ../directory-1/ first.txt second.txt

这里,两个文件(first.txt 和 second.txt)都被复制到目录 directory-1。

注意:当传递多个原文件时,最后一个参数必须是目录。如何将一个目录复制到另一个目录

如果你尝试传递一个目录作为输入源,将显示错误:

$ cp directory-1 directory-2 cp: directory-1 is a directory (not copied).

要复制一个目录,需要添加 -r(或 -R)标记——即 --recursive 的简写:

$ ls directory-1 a.txt $ cp -r directory-1 directory-2 $ ls directory-1 directory-2 $ ls directory-2 a.txt

这里,包含文件 a.txt 的 directory-1 被复制到一个新的目录,directory-2——现在也包含文件 a.txt。

如何复制整个目录或目录的内容

复制目录时有一个有趣的情况:如果目标目录已经存在,则可以通过在输入的末尾添加或删除 / 来选择复制目录的内容还是整个目录。

这是 man 页面的 -R 选项的描述:

如果 source_file 指定一个目录,则 cp 命令复制该目录以及此时连接的整个子树。 如果 source_file 以 / 结尾,则复制目录的内容,而不是目录本身。

如果仅将目录的内容复制到另一个目录,则在输入末尾添加 /。

如果要将目录的内容和目录文件夹本身复制到另一个目录,则不需要在输入的末尾添加 /:

$ ls directory-1 directory-2 $ ls directory-2 $ cp -r directory-1 directory-2 $ ls directory-2 directory-1 $ ls directory-2/directory-1 a.txt

在这里,你可以看到,因为 directory-2 已经存在——输入末尾没有 /——directory-1 的内容和目录本身都被复制到目标文件夹中。

如何避免 cp 命令重写文件

默认情况下,cp 命令将重写已有的文件:

$ cat a.txt A $ cat directory-1/a.txt B $ cp a.txt directory-1/a.txt $ cat directory-1/a.txt A如果你熟悉 cat 或者 “concatenate” 命令,它打印一个文件的内容。

有两种方式避免这种情况。

interactive 标记

可以添加 -i 或 --interactive 标记,在即将重写时给予提示:

$ cp -i a.txt directory-1/a.txt overwrite directory-1/a.txt? (y/n [n])no-clobber 标记

或者使用 -n 或 --no-clobber 标记,在没有提示的情况下避免重写:

$ cat a.txt A $ cat directory-1/a.txt B $ cp -n a.txt directory-1/a.txt $ cat directory-1/a.txt B

这里,你可以看到,因为有 -n 标记,directory-1/a.txt 的内容未被重写:

其他选项

cp 命令还可以搭配很多其他有用的选项一起使用:-v 用于显示“详细”的输出,-f 用于“强制”。

我强烈建议你通读 man 页面,以了解所有其他有用的选项。

如果你喜欢本教程,我还将在 Twitter 上谈论类似的主题,并在我的网站上写关于这些主题的文章,欢迎访问。

原文:Copy a Directory in Linux – How to cp a Folder in the Command Line in Linux and Unix (MacOS),作者:John Mosesman



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭