精华内容
下载资源
问答
  • Linux中复制文件

    2020-07-14 05:05:19
    复印文件通常需要办公室有专职人员,然后再有专用机器。 如今,复制是计算机用户无需考虑的一项任务。... 但是,有几种不同的方法可以在Linux复制文件。 每种方法都具有细微差别的功能,这些功能可能会使您...

    复印文件通常需要办公室中有专职人员,然后再有专用机器。 如今,复制是计算机用户无需考虑的一项任务。 在计算机上复制数据非常简单,以至于在没有意识到的情况下进行复制,例如将文件拖到外部驱动器时。

    数字实体微不足道地复制的概念无处不在,因此大多数现代计算机学家都不会考虑可用于复制其工作的选项。 但是,有几种不同的方法可以在Linux上复制文件。 每种方法都具有细微差别的功能,这些功能可能会使您受益,具体取决于您需要完成的工作。

    以下是在Linux,BSD和Mac上复制文件的多种方法。

    在GUI中复制

    拖放

    复制文件最明显的方法是您可能在计算机上复制文件的方式:拖放。 在大多数Linux桌面上,默认情况下从一个本地文件夹拖放到另一个本地文件夹会移动文件。 您可以在开始拖动文件后按住Ctrl键,将这种行为更改为复制操作。

    光标可能会显示一个指示符,例如加号,以表明您处于复制模式:

    Copying a file.

    请注意,如果该文件存在于远程系统上,无论是Web服务器还是您通过文件共享协议访问的您自己网络中的另一台计算机,则默认操作通常是复制而不是移动文件。

    右键点击

    如果您发现桌面上的文件不精确或笨拙,或者这样做会使您的手从键盘上移开太多,通常可以使用右键单击菜单复制文件。 这种可能性取决于您使用的文件管理器,但是通常,右键单击会生成一个包含常用操作的上下文菜单。

    上下文菜单复制操作将文件路径 (系统上文件所在的位置)存储在剪贴板中,因此您可以将文件粘贴到其他位置:

    Copying a file from the context menu.

    在这种情况下,您实际上并没有将文件的内容复制到剪贴板。 相反,您正在复制文件路径 粘贴后,文件管理器将查看剪贴板中的路径,然后运行复制命令,将位于该路径的文件复制到粘贴的路径中。

    在命令行上复制

    虽然GUI是复制文件的通常熟悉的方式,但在终端中进行复制会更有效。

    cp

    cp命令显然是基于终端的,等效于在桌面上复制和粘贴文件 此命令复制文件和目录,并且相对简单。 它使用熟悉的目标语法(严格按此顺序),因此将名为example.txt的文件复制到您的Documents目录中:

    $ cp example.txt ~/Documents

    就像将文件拖放到文件夹上一样,此操作不会将examples.txt替换为Documents 而是, cp检测到Documents是一个文件夹,然后将example.txt的副本放入其中。

    您还可以方便(高效)地在复制文件时重命名该文件:

    $ cp example.txt ~/Documents/example_copy.txt

    这个事实很重要,因为它使您可以在与原始文件相同的目录中复制文件:

    $ cp example.txt example.txt
    cp: 'example.txt' and 'example.txt' are the same file.
    $ cp example.txt example_copy.txt

    要复制目录,必须使用-r选项,该选项代表-recursive 此选项在目录inode上然后在目录中的所有文件上运行cp 如果没有-r选项, cp甚至无法将目录识别为可以复制的对象:

    $ cp notes/ notes-backup
    cp: -r not specified; omitting directory 'notes/'
    $ cp -r notes/ notes-backup

    cat命令是最容易被误解的命令之一,但这仅是因为它体现了POSIX系统的极高灵活性。 在一切也会(包括CON enating文件挪作它用),它也可以复制。 例如,使用cat,您只需一个命令就可以从一个文件创建两个副本 您不能使用cp做到这一点。

    使用cat复制文件的意义是系统解释操作的方式。 使用cp复制文件时,文件的属性与文件本身一起被复制。 这意味着副本的文件权限与原始文件的权限相同:

    $ ls -l -G -g
    -rw-r--r--. 1 57368 Jul 25 23:57  foo.jpg
    $ cp foo.jpg bar.jpg
    -rw-r--r--. 1 57368 Jul 29 13:37  bar.jpg
    -rw-r--r--. 1 57368 Jul 25 23:57  foo.jpg

    但是,使用cat将文件的内容读取到另一个文件中会调用系统调用来创建一个新文件。 这些新文件受您的默认umask设置约束。 要了解有关umask更多信息,请阅读Alex Juarez的文章,其中介绍了umask和权限。

    运行umask以获取当前设置:

    $ umask
    0002

    此设置意味着在此位置创建的新文件被授予664rw-rw-r-- )权限,因为umask设置的前几位不会屏蔽任何内容(并且可执行文件位不是文件创建的默认位),并且写权限被最后一位阻止。

    使用cat复制时,实际上并没有复制文件。 您可以使用cat读取文件的内容,然后将输出重定向到新文件中:

    $ cat foo.jpg > baz.jpg
    $ ls -l -G -g
    -rw-r--r--. 1 57368 Jul 29 13:37  bar.jpg
    -rw-rw-r--. 1 57368 Jul 29 13:42  baz.jpg
    -rw-r--r--. 1 57368 Jul 25 23:57  foo.jpg

    如您所见, cat在应用系统默认的umask的情况下创建了一个全新文件。

    最后,当您要做的只是复制文件时,技术性通常无关紧要。 但是有时您想要复制文件并最终获得一组默认权限,而使用cat可以在一个命令中完成所有操作

    同步

    rsync命令是用于复制文件的多功能工具,具有同步源和目标的显着功能。 最简单的说, rsync可以类似于cp命令使用:

    $ rsync example.txt example_copy.txt
    $ ls
    example.txt    example_copy.txt

    该命令的真正力量在于它在不需要不会复制的能力。 如果使用rsync将文件复制到目录中,但是该文件已经存在于该目录中,则rsync不会执行复制操作。 在本地,这一事实并不一定意味着太多,但是,如果您要将千兆字节的数据复制到远程服务器,则此功能将带来巨大的改变。

    但是,即使在本地也有不同,该命令能够区分共享相同名称但包含不同数据的文件。 如果您发现自己面临着同一目录的两个副本,那么rsync可以将它们同步到一个目录中,其中包含每个目录的最新更改。 在尚未发现版本控制的魔力的行业中,以及对于其中存在真相源传播的备份解决方案,这种设置是很常见的事情。

    您可以通过创建两个文件夹(一个称为example ,另一个称为example_dupe)来有意模拟这种情况:

    $ mkdir example example_dupe

    在第一个文件夹中创建一个文件:

    $ echo "one" > example/foo.txt

    使用rsync同步两个目录。 此操作最常用的选项是-a (用于archive ,以确保保留符号链接和其他特殊文件)和-v (用于verbose ,为您提供有关命令进度的反馈):

    $ rsync -av example/ example_dupe/

    现在,目录包含相同的信息:

    $ cat example / foo.txt
    one
    $ cat example_dupe / foo.txt
    one

    如果您视为源文件的文件发散,则目标将更新为匹配:

    $ echo "two" >> example/foo.txt
    $ rsync -av example/  example_dupe/
    $ cat example_dupe/foo.txt
    one
    two

    请记住, rsync命令用于复制数据,而不是充当版本控制系统。 例如,如果目标中的文件以某种方式领先于源文件中的文件,则该文件仍会被覆盖,因为rsync比较文件是否存在差异,并假定目标始终旨在镜像源:

    $ echo "You will never see this note again" > example_dupe/foo.txt
    $ rsync -av example/  example_dupe/
    $ cat example_dupe/foo.txt
    one
    two

    如果没有更改,则不会发生任何复制。

    rsync命令具有cp中不可用的许多选项,例如设置目标权限,排除文件,删除两个目录中都没有出现的过时文件的功能,等等。 使用rsync作为cp的强大替代品,或作为有用的补充。

    多种复制方式

    有很多方法可以在POSIX系统上实现基本相同的结果,因此似乎可以很好地赢得开放源代码在灵活性方面的声誉。 我是否错过了复制数据的有用方法? 在评论中分享您的复制技巧。

    翻译自: https://opensource.com/article/19/8/copying-files-linux

    展开全文
  • 如何在 Linux 中复制文件到多个目录中 编译自:http://www.tecmint.com/copy-file-to-multiple-directories-in-linux/ 作者: Aaron Kili 原创:LCTT https://linux.cn/article-8041-1.html 译者: ...

    如何在 Linux 中复制文件到多个目录中

    2016-12-17 15:10   评论: 6 收藏: 3    

    在学习 Linux 的过程中,对于新手而言总是会使用几个命令来完成一个简单的任务。对正在熟悉使用终端的人这是很容易理解的行为。然而,如果你想要成为一个老手,学习我说的“快捷命令”会显著减少时间浪费。

    在本篇中,我们会用一个简单的方法在 Linux 中用一个命令来将目录复制到多个文件夹中。

    在 Linux 中,cp 命令常被用于从一个文件夹中复制文件到另一个文件夹中,最简单的语法如下:

    1. # cp [options….] source(s) destination

    另外,你也可以使用高级复制命令,它可以在复制大的文件或文件夹时显示进度条。

    看下下面的命令,通常你会使用两个不同的命令来将相同的文件复制到不同的文件夹中:

    1. # cp -v /home/aaronkilik/bin/sys_info.sh /home/aaronkilik/test
    2. # cp -v /home/aaronkilik/bin/sys_info.sh /home/aaronkilik/tmp

    复制文件到多个文件夹中

    复制文件到多个文件夹中

    假设你想要复制一个特定文件到 5 个或者更多的文件夹中,这意味着你需要输入 5 次或者更多的cp命令么?

    要摆脱这个问题,你可以用 cp 命令与 echo命令、管道、xargs 命令一起使用:

    1. # echo /home/aaronkilik/test/ /home/aaronkilik/tmp | xargs -n 1 cp -v /home/aaronkilik/bin/sys_info.sh

    上面的命令中,目录的路径(dir1、dir2、dir3...dirN)被管道作为输入到 xargs 命令中,含义是:

    1. -n 1 - 告诉 xargs 命令每个命令行最多使用一个参数,并发送到 cp 命令中。
    2. cp – 用于复制文件。
    3. -v – 启用详细模式来显示更多复制细节。

    在 Linux 中复制文件到多个位置中

    在 Linux 中复制文件到多个位置中

    试试阅读 cp、 echo 和 xargs 的 man 页面来找出所有有用和高级的用法信息:

    1. $ man cp
    2. $ man echo
    3. $ man xargs

    就是这样了,你可以在下面的评论区给我们发送主题相关的问题或者反馈。你也可以阅读有关 progress 命令来帮助监控运行中的(cp、mv、dd、tar 等等)的进度。


    作者简介:

    Aaron Kili 是一个 Linux 及 F.O.S.S 热衷者,即将成为 Linux 系统管理员、web 开发者,目前是 TecMint 的内容创作者,他喜欢用电脑工作,并坚信分享知识。


    via: http://www.tecmint.com/copy-file-to-multiple-directories-in-linux/


    展开全文
  • Linux 中复制文件到多个目录中

    万次阅读 2017-01-14 05:44:07
    概述在学习 Linux 的过程中,对于新手而言总是会使用几个命令来完成一个简单的任务。对正在熟悉使用终端的人...通常写法在 Linux 中,cp 命令常被用于从一个文件夹中复制文件到另一个文件夹中,最简单的语法如下:# cp

    概述

    在学习 Linux 的过程中,对于新手而言总是会使用几个命令来完成一个简单的任务。对正在熟悉使用终端的人这是很容易理解的行为。然而,如果你想要成为一个老手,学习一些“快捷命令”会显著减少时间浪费。

    在本篇中,我们会用一个简单的方法在 Linux 中用一个命令来将目录复制到多个文件夹中。


    通常写法

    在 Linux 中,cp 命令常被用于从一个文件夹中复制文件到另一个文件夹中,最简单的语法如下:

    # cp [options….] source(s) destination
    

    看下下面的命令,通常你会使用两个不同的命令来将相同的文件复制到不同的文件夹中:

    # cp -v /home/xgj/bin/sys_info.sh /home/xgj/test
    # cp -v /home/xgj/bin/sys_info.sh /home/xgj/tmp
    

    快捷写法

    假设你想要复制一个特定文件到 5 个或者更多的文件夹中,这意味着你需要输入 5 次或者更多的cp命令么?

    要摆脱这个问题,你可以用 cp 命令与 echo命令、管道、xargs 命令一起使用:

    # echo /home/xgj/test/ /home/xgj/tmp | xargs -n 1 cp -v /home/xgj/bin/sys_info.sh
    

    上面的命令中,目录的路径(dir1、dir2、dir3…dirN)被管道作为输入到 xargs 命令中,含义是:

    • -n 1 - 告诉 xargs 命令每个命令行最多使用一个参数,并发送到 cp 命令中。
    • cp – 用于复制文件。
    • -v – 启用详细模式来显示更多复制细节。

    更多的 cp、 echo 和 xargs 的 man 所有有用和高级的用法信息:

    $ man cp
    $ man echo
    $ man xargs
    
    展开全文
  • cp file1 file2 cat file1 >file2 cat < file1 >file2 dd if=file1 of=file2 cat file1 | cat >file2
    cp file1 file2
    
    cat file1 >file2
    
    cat < file1 >file2
    
    dd if=file1 of=file2
    
    cat file1 | cat >file2
    
    展开全文
  • 在学习 Linux 的过程中,对于新手而言总是会使用几个命令来完成一个简单的任务。对正在熟悉使用终端的人这是很容易理解的行为。然而,如果你想要成为一个...在 Linux 中,cp 命令常被用于从一个文件夹中复制文件到...
  • 1、创建一个生成日期的文件 vi .backupdate echo _back_`date '+%Y%m%d%H%M%S'` 2、授权文件 chmod 777.backupdate 3、编辑.bashrc vi .bashrc alias bak="/root/.backupdate" 4、拷贝文件时加上`bak` cp test...
  • 使用scp在linux主机之间复制文件/目录 当两台LINUX主机之间要互传文件时可使用SCP命令来实现,建立信任关系之后可不输入密码。 把你的本地主机用户的 ssh公匙文件复制到远程主机用户的~/.ssh/authorized_keys文件...
  • 使用scp在linux主机之间复制文件/目录  当两台LINUX主机之间要互传文件时可使用SCP命令来实现,建立信任关系之后可不输入密码。  把你的本地主机用户的 ssh公匙文件复制到远程主机用户的~/.ssh/authorized_keys...
  • 使用cp命令复制文件Linux和Unix操作系统上,cp命令用于复制文件和目录。最简单的例子是复制当前工作目录的文件,例如要将名为file.txt的文件复制到名为file_backup.txt的文件在当前目录,应运行以下命令:cp ...
  •   语法: cp [选项] 源文件或目录 目标文件或目录  说明:该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录。  该命令的各选项含义如下: - a 该选项通常在拷贝目录时...
  • Linux 中,cp 命令常被用于从一个文件夹中复制文件到另一个文件夹中,最简单的语法如下:#cp[options….]source(s)destination另外,你也可以使用高级复制命令,它可以在复制大的文件或文件夹时显示进度条。...
  • copy 命令 该命令的功能是将给出的文件或目录拷贝到另一... 语法: cp [ 选项 ] 源文件或目录 目标文件或目录 说明:该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录。 该命令的各选项含义如下:
  • linux中拷贝文件时如果想保留文件原时间属性,应该用linux中复制一个目录时cp -a 和cp -r有什么区别曾经幼稚过,曾经快乐过,曾经幻想过,曾经有你过,曾经不解过。先说结果: cp -a : 递归复制复制的数据会...
  • linux中,可以使用cp命令复制文件,将源文件或目录复制到指定的目的文件或目录;它可以将单个源文件复制成一个指定文件名的具体文件或一个已经存在的目录下;该命令支持同时复制多个文件。本教程操作环境:centos7...
  • 使用Linux的CP命令复制一个文件,并指定一个新的文件名作为目标文件参数,实现复制文件时重命名文件的功能。例如,下面的命令将/root/fileaaa分配给/home目录并将其重命名为filebbb:CP/root/fileaaa/home/...
  • 原标题:在 Linux复制和重命名文件cp 和 mv 之外,在 Linux 上有更多的复制和重命名文件的命令。试试这些命令或许会惊艳到你,并能节省一些时间。Linux 用户数十年来一直在使用简单的 cp 和 mv 命令来复制和...
  • cp 和 mv 之外,在 Linux 上有更多的复制和重命名文件的命令。试试这些命令或许会惊艳到你,并能节省一些时间。Linux 用户数十年来一直在使用简单的 cp 和 mv 命令来复制和重命名文件。这些命令是我们大多数人首先学...
  • 由于这次的程序比较大(1G左右),按照之前的操作会比较耗时,有没有一个从A服务器直接复制文件到B服务器的方法?我从网上零零散散找了一些资料,用linux的scp命令可以解决以上问题,这里做一个汇总。还是老规矩,...
  • 1、查看所有的docker容器docker ps// 775c7c9ee1e1为docker的iddocker exec -it 775c7c9ee1e1 /bin/bash(推荐学习视频:linux视频教程)2、从linux系统拷贝文件到容器得到容器的长ID// python为docker容器内运行的...
  • linux如何复制文件

    2020-10-27 13:04:31
    展开全部linux系统e69da5e887aa3231313335323631343130323136353331333433653432使用cp命令即可将一个文件夹里面的文件复制到另外一个文件夹里面。这个命令相当于dos下面的copy命令,具体用法是:cp–r源文件目的...
  • 解析如何使用Linux命令下复制和重命名文件2018-06-29 13:18:452019浏览在现如今,随着互联网技术飞速的发展和进步,目前大多数便于语言都会涉及到命名,比如在Linux上如何复制和重命名文件呢?下面我们一起来看一下...
  • linux 复制文件 C程序 copy的使用 经典程序

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,759
精华内容 4,703
关键字:

linux中复制文件

linux 订阅