精华内容
下载资源
问答
  • 在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 的过程中,对于新手而言总是会使用几个命令来完成一个简单的任务。对正在熟悉使用终端的人这是很容易理解的行为。然而,如果你想要成为一个... Linux 中,cp 命令常被用于从一个文件夹中复制文件到...

    在学习 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 中复制文件到多个位置中

    试试阅读 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 的内容创作者,他喜欢用电脑工作,并坚信分享知识。





    作者:Aaron Kili
    来源:51CTO
    展开全文
  • 使用scp在linux主机之间复制文件/目录 当两台LINUX主机之间要互传文件时可使用SCP命令来实现,建立信任关系之后可不输入密码。 把你的本地主机用户的 ssh公匙文件复制到远程主机用户的~/.ssh/authorized_keys文件...

    使用scp在linux主机之间复制文件/目录

    当两台LINUX主机之间要互传文件时可使用SCP命令来实现,建立信任关系之后可不输入密码。

    把你的本地主机用户的 ssh公匙文件复制到远程主机用户的~/.ssh/authorized_keys文件中假设本地主机linux100,远程主机 linux200

    一,在linux100主机里的用户

    运行

    #ssh-keygen -t rsa

    结果如下

    QUOTE:

    Generating public/private rsa key pair.

    Enter file in which to save the key (/home/.username/ssh/id_rsa):#回车

    Enter passphrase (empty for no passphrase):#回车

    Enter same passphrase again:#回车

    Your identification has been saved in /home/.username /.ssh/id_rsa.

    Your public key has been saved in /home/.username /.ssh/id_rsa.pub.

    The key fingerprint is:

    38:25:c1:4d:5d:d3:89:bb:46:67:bf:52:af:c3:17:0c username@localhost

    Generating RSA keys:

    Key generation complete.

    会在用户目录~/.ssh/产生两个文件,id_rsa,id_rsa.pub

    二,把linux100主机上的 id_rsa.pub文件拷贝到linux200主机的root用户主目录下的。

    ssh目录下,并且改名为authorized_keys

    即:

    /root/.ssh/authorized_keys

    这样在linux100主机上使用scp命令复制文件到linux200上将不提示输入密码了,直接复制了。

    反之亦然!

    三,复制文件或目录命令:

    复制文件:

    (1)将本地文件拷贝到 远程

    scp 文件名 --用户名 @计 算机IP或者计算机名称 :远程路径

    (2)从远程将文件拷回本地

    scp --用户名 @计算机IP或者计算机名称 :文件名 本地路径

    复制目录:

    (1)将本地目录拷贝到远程

    scp -r 目录名 用 户名 @计算机IP或者计算机名称 :远程路径

    (2)从远程将目录拷回 本地

    scp -r 用户名 @计 算机IP或者计算机名称 :目录名 本地路径

    展开全文
  • 使用scp在linux主机之间复制文件/目录  当两台LINUX主机之间要互传文件时可使用SCP命令来实现,建立信任关系之后可不输入密码。  把你的本地主机用户的 ssh公匙文件复制到远程主机用户的~/.ssh/authorized_keys...
  • 原标题: Linux复制和重命名文件cp 和 mv 之外, Linux 上有更多的复制和重命名文件的命令。试试这些命令或许会惊艳到你,并能节省一些时间。Linux 用户数十年来一直使用简单的 cp 和 mv 命令来复制和...
  • cp 和 mv 之外, Linux 上有更多的复制和重命名文件的命令。试试这些命令或许会惊艳到你,并能节省一些时间。Linux 用户数十年来一直使用简单的 cp 和 mv 命令来复制和重命名文件。这些命令是我们大多数人首先学...
  • Linux 中复制文件到多个目录中

    万次阅读 2017-01-14 05:44:07
    概述学习 Linux 的过程中,对于新手而言总是会使用几个命令来完成一个简单的任务。对正在熟悉使用终端的人...通常写法 Linux 中,cp 命令常被用于从一个文件夹中复制文件到另一个文件夹中,最简单的语法如下:# cp
  • 重命名文件的传统方法是使用 mv 命令。该命令将文件移动到不同的目录,或原地更改其名称,或者同时执行这两个操作。$mvmyfile/tmp$mv myfilenotmyfile$mvmyfile/tmp/notmyfile但我们也有 rename 命令来做重命名。...
  • 前几天在linux服务器上部署项目时需要把程序从测试服务器上拷贝过来,以前处理类似问题的逻辑都是先从源服务器上把文件下载到我的电脑里,然后再从我的电脑里上传到目标服务器。由于这次的程序比较大(1G左右),...
  • 前言本文主要介绍如何在Linux中使用Pigz工具更快地压缩文件。Pigz是GZip并行实现的首字母缩写,由Mark Adler编写。它是一个极好的压缩工具,可以帮助您以惊人的速度压缩文件。作为对旧的gzip实用程序的改进,它利用...
  • 解析如何使用Linux命令下复制和重命名文件2018-06-29 13:18:452019浏览在现如今,随着互联网技术飞速的发展和进步,目前大多数便于语言都会涉及到命名,比如在Linux上如何复制和重命名文件呢?下面我们一起来看一下...
  • 在Linux和Unix系统上工作时,复制文件和目录是您每天要执行的最常见任务之一。cp是一个命令行实用程序,用于复制Unix和Linux系统上的文件和目录。在本文,我们将解释如何使用cp命令。linux怎么复制文件到其他...
  • 想要进行的操作时把当前目录下的data文件复制到/Desktop/data/abbs文件夹,但是没有成功,只是提示 cp: 略过目录 ./data Linux@ubuntu:~/Desktop$ cp ./data /Desktop/data/abbs 后来发现,这个data是文件夹,...
  •   语法: cp [选项] 源文件或目录 目标文件或目录  说明:该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录。  该命令的各选项含义如下: - a 该选项通常拷贝目录时...
  • mcopy指令是一种mtools工具指令,可以DOS系统中复制文件或者DOS与Linux操作系统之间进行文件复制。 语法格式:mcopy [参数] [源文件] 常用参数: -b  批处理模式 -n 覆盖其他文件时,不需要进行确认而...
  • 在Linux和Unix系统上工作时,复制文件和目录是您每天要执行的最常见任务之一。 cp是一个命令行实用程序,用于复制Unix和Linux系统上的文件和目录。在本文,我们将解释如何使用cp命令。 linux怎么复制文件到其他...
  • 在Linux和Unix系统上工作时,复制文件和目录是您每天要执行的最常见任务之一。cp是一个命令行实用程序,用于复制Unix和Linux系统上的文件和目录。在本文,我们将解释如何使用cp命令。linux怎么复制文件到其他...
  • 在Linux系统,很多人不知道不同的用户之间要如何复制文件,其实复制文件到另一个用户的方法有很多,今天小编就给大家介绍下Linux拷贝文件到其他用户的两种方法,一起来学习下吧。
  • 这是在Linux终端中复制和粘贴文本,文件和目录的方法。复制和粘贴文字如果您只想在终端中复制一段文本,您要做的就是用鼠标突出显示该文本,然后按Ctrl+ Shift+ C进行复制。要将其粘贴到光标所在的位置,请使用键盘...
  • 这是在Linux终端中复制和粘贴文本,文件和目录的方法。复制和粘贴文字如果您只想在终端中复制一段文本,您要做的就是用鼠标突出显示该文本,然后按Ctrl+ Shift+ C进行复制。要将其粘贴到光标所在的位置,请使用键盘...
  • scp就是secure copy的简写,用于在linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器.  有时我们需要获得远程服务器上的某个文件,该服务器既没有配置ftp服务器,也没有做...
  • 在Linux中实现文本文件复制 写这个程序~~(作业)~~这个当然要 挑战一
  • 1.linux下创建文件,比较简单 对应的文件目录下创建文件: mkdir 文件名。 2.修改权限 修改了Dwonloads下arm文件的权限,语法为:chomd {}{}{} 文件名 每个文件有针对每个用户的权限,有三种不同类型的用户可对...
  • scp -r stat_script work@st01-sw-front73.st01:/home/work/publish/ 拷贝文件夹 scp stat_script/1.txt work@st01-sw-front73.st01:/home/work/...Linux系统scp命令的用法.  scp就是secure copy的简写,用于l
  • 远程复制备份文件,实现从一台机器复制文件到另外一台机器 用户名密码等脚本配置,实现自动输入,自动复制,完成备份

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,393
精华内容 2,557
关键字:

在linux中复制文件

linux 订阅