精华内容
下载资源
问答
  • linux中cp命令使用介绍.docx
  • 关于Linux中CP命令用法的一些冷知识

    千次阅读 2016-07-27 10:09:13
    Linux中cp命令是一个非常好用的文件复制命令。关于cp命令一些比较偏门的知识,这里进行梳理一下  1、cp命令能够使用的前提是对于要复制的文件,cp命令的执行者至少要具备读权限r,这是因为复制文件至少要知道...

      在Linux中,cp命令是一个非常好用的文件复制命令。关于cp命令一些比较偏门的知识,这里进行梳理一下

      1、cp命令能够使用的前提是对于要复制的文件,cp命令的执行者至少要具备读权限r,这是因为复制文件至少要知道文件的内容吧。就像一个可执行文件,如果它的权限是可读,那么证明执行者至少可以阅读文件的源代码,既然可以阅读了,那么复制一个跟他模仿源代码自己再写一个道理是一样的。所以文件可读就证明它可以被复制了。

      2、在没有加参数的情况下,cp命令会复制执行者的权限与属性,这句话怎么理解呢?首先文件的所有者和用户组会变成执行者。如下图1可知,当用户pang使用cp命令复制root用户的文件06.sh成07.sh时,文件所有者和用户组都变成了pang,时间也改变了。这里可以看到用户权限有rwxr--r--变成了rwxr--rw-,这是因为运行了chmod命令修改了权限而已,其实它本来是rwxr--r--,至于为什么要修改呢,只是为了接下来更方便的进行演示。同理,08.sh,09.sh,10.sh,11.sh都是对应的执行者分别执行cp命令得到的,可以看到它们的所有者和群组都发生了相应的改变。



      3、从图一可以看出,由用户zheng复制pang的文件07.sh到08.sh时,w权限并没有复制过来,而其它的复制好像把权限一模一样的复制过来了,为什么呢?首先我们得引入默认权限的概念。什么是默认权限,也就是说用户创建一个文件或者一个目录时候的默认权限。明确一点是,这里所说的默认权限由两部分组成。第一部分的默认权限,就是系统自带的,创建的文件默认为rw-rw-rw-,没有x权限是因为默认一般文件不具备可执行能力。而目录默认权限是rwxrwxrwx.第二部分默认权限就要用到umask这个命令了。关于umask的简单用法就是在对应用户下输入umask命令,就会显示4位数字,例如0002,第一位不用管,那是跟特殊权限有关。剩下的三位分别代表所有者,用户组,其他人的对应数字。用第一部分的默认权限减去第二部分的默认权限,就是真正默认权限。图2显示了不同身份的用户的umask


    可以看到,root要从本来的rw-rw-rw-中减去022,就是减去----w--w-,那么实际root用户创建一个文件时候,默认的属性就是rw-r--r--,参考图1,haha.txt就是root用户用touch命令创建的。而一般用户就是减去002,就是减去-------w-,也就是变成rw-rw-r--,参考图3,用户zheng创建了一个空文件ha.txt,默认权限正是如此


    那么回到刚刚的问题,为什么zheng用户的文件08.sh没有把pang用户的文件07.sh的w权限复制过来呢?因为在复制时,把07.sh的本来的权限rwxr--rw-看成是第一部分默认权限,再与zheng的第二部分默认权限002(-------w-)相减,就剩下了rwxr--r--了。可以再做一些变化来进行验证一下。


    可以看到,当pang得07.sh的权限为rwxr--rwx时,zheng复制为12.sh所以权限为第一部分权限rwxr--rwx减去002(-------w-)得到rwxr--r-x。这样可以理解cp后的属性变化情况了吧。

      

    展开全文
  • linux中cp命令的常见用法

    万次阅读 2017-09-24 08:54:02
    本篇博客来讨论linux中cp命令cp命令用来复制文件或文件夹。它主要有两种形式# 用法一:复制一个文件 $ cp [option] src-file target-file# 用法二:复制多个文件,目标是一个文件夹 $ cp [option] src-file1 src-...

    本篇博客来讨论linux中cp命令。

    cp命令用来复制文件或文件夹。它主要有两种形式

    # 用法一:复制一个文件
    $ cp [option] src-file target-file
    
    # 用法二:复制多个文件,目标是一个文件夹
    $ cp [option] src-file1 src-file2 ... target-directory

    如果一次复制多个文件的话,target必须是一个文件夹。

    下面是几个常用的选项
    - -r --recursive 递归复制,会复制文件夹内部的文件夹,自动创建目标位置不存在的文件夹。多用于目录的复制
    - -p 连同属性一起复制,而不是使用默认的属性
    - -d 若src-file属于link file,则复制为link file,而非文件本身
    - -a --archive 等同于-prd,常用于文件备份
    - -i --interactive 若目标文件以存在,则在覆盖前询问是否覆盖
    - -u --update 若源文件比目标文件新,则覆盖,否则跳过
    - -f --force 强制复制
    - -s -symbolic-link 复制为符号链接文件,即快捷方式文件,俗称软连接
    - -l --link复制为硬连接文件

    cp命令除了简单的复制文件以外,还有几个比较常用的场景,分别是:备份文件,更新文件夹中的内容,创建快捷方式等,下面我们来简单地模拟一下。
    准备工作:创建一个src文件夹,里面有三个文件,分别是:a.txt,b.txt,c.sh,使用ls -l命令的输出是

    $ ls -al
    total 12
    drwxrwxr-x. 2 kite kite 4096 924 10:03 .
    drwxr-xr-x. 4 kite kite 4096 924 10:02 ..
    -rw-rw-r--. 1 kite kite    0 924 10:02 a.txt
    -rw-rw-r--. 1 kite kite    0 924 10:02 b.txt
    -rwxrwxr-x. 1 kite kite   19 924 10:03 c.sh

    c.sh是一个bash脚本,里面只有一句话,echo 'hello,world'
    如果你的c.sh文件没有执行权限,则使用chmod a+x c.sh来赋予它可执行的权限

    使用cp进行备份

    首先尝试将src文件夹备份为src-backup文件夹,运行下面的命令

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

    按照提示,我们应该加上-r参数,那就加上这个参数再试一次,成功了,仔细看一下src和src-backup文件夹内的文件

    $ ls -l src src-backup/
    src:
    total 4
    -rw-rw-r--. 1 kite kite  0 924 10:02 a.txt
    -rw-rw-r--. 1 kite kite  0 924 10:02 b.txt
    -rwxrwxr-x. 1 kite kite 19 924 10:03 c.sh
    
    src-backup/:
    total 4
    -rw-rw-r--. 1 kite kite  0 924 10:11 a.txt
    -rw-rw-r--. 1 kite kite  0 924 10:11 b.txt
    -rwxrwxr-x. 1 kite kite 19 924 10:11 c.sh

    会发现三个文件的创建时间不一样了。很显然,文件备份成这样是不太行的。其实,备份文件最常用的参数是-a。让我们删掉src-backup文件夹,再试一次

    $ rm -rf src-backup/
    $ cp -a src src-backup
    $ ls -l src src-backup/
    src:
    total 4
    -rw-rw-r--. 1 kite kite  0 924 10:02 a.txt
    -rw-rw-r--. 1 kite kite  0 924 10:02 b.txt
    -rwxrwxr-x. 1 kite kite 19 924 10:03 c.sh
    
    src-backup/:
    total 4
    -rw-rw-r--. 1 kite kite  0 924 10:02 a.txt
    -rw-rw-r--. 1 kite kite  0 924 10:02 b.txt
    -rwxrwxr-x. 1 kite kite 19 924 10:03 c.sh

    这次的文件时间都一致了,备份完成!

    使用cp更新文件夹中的内容

    将a.txt中的内容随便修改一下,然后,我们再来备份一次。对比一下src文件夹下的a.txt和src-backup文件夹下的a.txt的时间

    $ ls -l src/a.txt src-backup/a.txt 
    -rw-rw-r--. 1 kite kite 14 924 14:32 src/a.txt
    -rw-rw-r--. 1 kite kite  0 924 10:02 src-backup/a.txt

    可以看出来src/a.txt的时间更新
    接下来通过-u参数来将更新后的a.txt备份到src-backup文件夹下

    cp -u src/* src-backup/

    查看一下修改时间

    ls -l src src-backup/
    src:
    total 8
    -rw-rw-r--. 1 kite kite 24 924 14:32 a.txt
    -rw-rw-r--. 1 kite kite  0 924 10:02 b.txt
    -rwxrwxr-x. 1 kite kite 19 924 10:03 c.sh
    
    src-backup/:
    total 8
    -rw-rw-r--. 1 kite kite 24 924 14:32 a.txt
    -rw-rw-r--. 1 kite kite  0 924 10:02 b.txt
    -rwxrwxr-x. 1 kite kite 19 924 10:03 c.sh

    可以看出来,备份文件已经更新了
    还可以指定-i参数,在替换之前会询问是否继续。

    创建快捷方式

    src目录下有一个c.sh脚本,如果希望在任何地方都能运行它,通用的方法是在/usr/bin下面创建一个快捷方式。

    $ cd /usr/bin/
    $ sudo cp -s ~/Demos/src/c.sh c

    创建快捷方式的话,需要先进入目标文件夹内。我将src下的c.sh脚本创建了一个快捷方式c,从任何一个终端位置都可以直接运行c这个命令。

    展开全文
  • 相信大家都知道linux中的命令Install和cp类似,都可以将文件/目录拷贝到指定的地点。下面这篇文章就详细介绍了linux中install命令和cp命令的介绍与区别。有需要的朋友们可以参考借鉴,下面来一起看看吧。
  • Linux cp命令用法详解

    2021-01-09 19:52:54
    Linux cp命令 Linux cp命令主要用于复制文件或目录。 语法 cp [options] source dest 或 cp [options] source... directory 参数说明: -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有...
  • 本文为大家详细介绍Linux中cp命令和scp命令的使用
  • linux中cp命令详解

    千次阅读 2019-01-12 19:26:17
    *cp命令使用有多种情况: SRC是单个文件时: 如果DEST不存在,则新建DEST并将SRC内容填充至DEST内 如果DEST存在: DEST是文件:将SRC的内容覆盖至DEST DEST是目录:在DEST...

    cp命令:

        拷贝文件或目录

    格式:cp [OPTION]  SRC...  DEST

    *cp命令的使用有多种情况:

    • SRC是单个文件时:

      • 如果DEST不存在,则新建DEST并将SRC内容填充至DEST内

      • 如果DEST存在:

        • DEST是文件:将SRC的内容覆盖至DEST中

        • DEST是目录:在DEST新建与源文件同名的文件,并将SRC的内容填充至新建文件内。

    • SRC是多个文件时:

      • DEST必须存在且为目录,其他条件均会报错。

    • SRC是目录的时候:此时必须使用 -r 选项,即递归复制

      • 如果DEST不存在:则创建指定目录,并将SRC下的所有文件复制到指定目录中

      • 如果DEST存在:

        • DEST是文件:报错

        • DEST是目录:在DEST下新建一个与SRC同名的文件夹,并将SRC下的所有文件复制到该文件夹中。

    常用选项

    • -a:复制时,保留文件的结构和属性

    • -i:覆盖文件时会有提示

    • -p:--preserve=mode,ownership,timetemp,保存文件的部分属性

    • -r,-R:均表示递归

    • -v:显示过程

    展开全文
  • linux复制cp命令Linux popular command cpis used to copy files and folders. In this tutorial we will look different usage types of cp... 在本教程,我们将介绍cp命令的不同用法类型。 句法 (Syntax) Sy...
    linux复制cp命令

    linux复制cp命令

    Linux popular command cp is used to copy files and folders. In this tutorial we will look different usage types of cp command.

    Linux常用命令cp用于复制文件和文件夹。 在本教程中,我们将介绍cp命令的不同用法类型。

    句法 (Syntax)

    Syntax of cp command is like below.

    cp命令的语法如下。

    cp [OPTION]... [-T] SOURCE DEST 
    cp [OPTION]... SOURCE... DIRECTORY 
    cp [OPTION]... -t DIRECTORY SOURCE...
    

    复制 (Copy)

    We will just copy our source file to the destination file.

    我们将只将源文件复制到目标文件。

    $ ls                                                                                                                     
    cat  test                                                                                                                             
    $ cp cat cat2                                                                                                            
    $ ls                                                                                                                     
    cat  cat2  test
    

    We have copied our source file cat into new file cat2

    我们已经将源文件cat复制到了新文件cat2中

    $ cp cat cat2 test/                                                                                                      
    $ ls test/                                                                                                               
    cat  cat2  ismail
    

    We have copied cat and cat2 files into the test directory

    我们已将catcat2文件复制到测试目录中

    复制文件并重新命名(Copy File and Give New Name)

    While copying the source file name is used as destination filename. If we need to rename newly created/copied file. We have to explicitly specify new name like below.

    复制时,源文件名用作目标文件名。 如果需要重命名新创建/复制的文件。 我们必须明确指定新名称,如下所示。

    In this example we will copy file named test and new file name will be test5

    在此示例中,我们将复制名为test文件,新文件名为test5

    $ cp  test test5
    

    详细模式查看详细信息 (Verbose Mode See Details)

    While copying bulk and a lot of files we may want to see details or save the details into a log file. It can be achieved with -v option like below

    复制大量文件时,我们可能希望查看详细信息或将详细信息保存到日志文件中。 可以通过如下的-v选项来实现

    $ cp -v cat cat2 bulk 
    ‘cat’ -> ‘bulk/cat’ 
    ‘cat2’ -> ‘bulk/cat2’
    

    保留文件属性 (Preserve File Attributes)

    While copying if we do not want to change modification data, time, access list and associated information about file we can use -p flag

    在复制时,如果我们不想更改修改数据,时间,访问列表以及有关文件的相关信息,可以使用-p标志

    $ ls -l 
    total 0 
    drwxr-xr-x 2 root root 27 Kas  4 01:59 bulk 
    -rw-r--r-- 1 root root  0 Kas  4 01:55 cat 
    -rw-r--r-- 1 root root  0 Kas  4 01:55 cat2 
    drwxr-xr-x 3 root root 40 Kas  4 01:45 test 
    $ cp -p cat2 cat3 
    $ ls -l 
    total 0 
    drwxr-xr-x 2 root root 27 Kas  4 01:59 bulk 
    -rw-r--r-- 1 root root  0 Kas  4 01:55 cat 
    -rw-r--r-- 1 root root  0 Kas  4 01:55 cat2 
    -rw-r--r-- 1 root root  0 Kas  4 01:55 cat3 
    drwxr-xr-x 3 root root 40 Kas  4 01:45 test
    

    复制多个文件 (Copying Multiple Files)

    Sometimes we need to copy all files in a given path to the other path. In these situations we can use glob * which is provided by Linux bash. This will copy all contents to the given new path. In this example we will copy all files in this current working directory to the new path named new/ . We can also specify full path like /home/poftut .

    有时我们需要将给定路径中的所有文件复制到另一个路径。 在这种情况下,我们可以使用Linux bash提供的glob * 。 这会将所有内容复制到给定的新路径。 在此示例中,我们将当前工作目录中的所有文件复制到名为new/的新路径。 我们还可以指定完整路径,例如/home/poftut

    $ cp * new/
    

    递归复制 (Recursive Copy)

    Normally cp command copies only files in the current directory. If we have files and folders to copy cp command do not copies sub files and directories. We can enable recursive copy with -r option. This will copy all sub files and folders in given path.

    通常, cp命令仅复制当前目录中的文件。 如果我们有文件和文件夹要复制cp命令,请不要复制子文件和目录。 我们可以使用-r选项启用递归复制。 这将复制给定路径中的所有子文件和文件夹。

    $ cp -r -v bulk builk3 
    ‘bulk’ -> ‘builk3’ 
    ‘bulk/cat’ -> ‘builk3/cat’ 
    ‘bulk/cat2’ -> ‘builk3/cat2’
    

    避免覆盖 (Avoid Overwriting)

    By default cp command will overwrite same files on the destination path. If we are working in a critical folder we can avoid overwriting with -i . It will ask question is destination has same file or folder.

    默认情况下, cp命令将覆盖目标路径上的相同文件。 如果我们在关键文件夹中工作,则可以避免使用-i覆盖。 它将询问问题是目的地具有相同的文件或文件夹。

    $ cp -i cat bulk/ 
    cp: overwrite ‘bulk/cat’? y
    

    复制符号链接 (Copy Symbolic Links)

    Symbolic links are used to  bind differents paths. Normally cp command do not process the symbolic link contents and do not copy. We can enable copying symbolic link contents with -s option.

    符号链接用于绑定差异路径。 通常, cp命令不会处理符号链接的内容,也不会复制。 我们可以使用-s选项启用复制符号链接内容的功能。

    $ cp -s /mnt/d  /opt/bak
    

    创建硬链接 (Create Hard Links)

    cp command can be used create hardlinks. Hard Link is link where source and destination files shares same data. Any change one of them will affect all source and destination file. We will provide -l which is used create hardlinks instead of copying them.

    cp命令可用于创建硬链接。 硬链接是源文件和目标文件共享相同数据的链接。 其中任何一项更改都会影响所有源文件和目标文件。 我们将提供-l ,用于创建硬链接而不是复制它们。

    $ cp -l /mnt/d  /opt/bak
    

    创建软链接 (Create Soft Links)

    We can also use cp to create Soft Links. Soft links provides links to the source file and only source file change will affect all soft links.

    我们还可以使用cp创建软链接。 软链接提供了到源文件的链接,只有更改源文件才会影响所有软链接。

    $ cp -s /mnt/d  /opt/bak
    

    仅复制较新和不存在的文件 (Copy Only Newer and Unexisting Files)

    This feature can be used to copy only files those are newer in the source and unexisting files. This is very useful for backup or sync purposes. We will use -u option for this feature.

    此功能可用于仅复制源文件中较新的文件和不存在的文件。 这对于备份或同步非常有用。 我们将-u选项用于此功能。

    $ cp -u /mnt/d  /opt/bak
    

    防止覆盖或无障碍 (Prevent Overwrite or No Clobber)

    We can strictly prevent overwriting files in the destination. We will use n option in order to no clobber.

    我们可以严格防止覆盖目标文件。 我们将使用n选项以消除混乱。

    $ cp -n /mnt/d  /opt/bak
    

    保留所有文件属性 (Preserve All File Attributes)

    Files and folders have some file system and operating system related attributes. While copying some of them are changed according to the destination path. We can preserve these attributes with --preserve=all option like below.

    文件和文件夹具有一些文件系统和操作系统相关的属性。 复制时,其中一些会根据目标路径进行更改。 我们可以使用--preserve=all选项保留这些属性,如下所示。

    $ cp --preserve=all /mnt/d  /opt/bak
    
    LEARN MORE  How To Recover Data with ddrescue Command?
    了解更多信息如何使用ddrescue命令恢复数据?

    Linux Cp或复制命令信息 (Linux Cp or Copy Command Infografic)

    Linux Cp or Copy Command Infografic
    Linux Cp or Copy Command Infografic
    Linux Cp或复制命令信息

    翻译自: https://www.poftut.com/linux-cp-or-copy-command/

    linux复制cp命令

    展开全文
  • Linux cp命令用法示例

    千次阅读 2016-11-03 11:19:20
    linux cp命令
  • linux cp命令使用

    万次阅读 多人点赞 2017-12-26 14:09:37
    cp命令 cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。 语法 cp [OPTION]… [-T] SOURCE DEST cp [OPTION]… SOURCE… DIRECTORY cp [OPTION]… -t DIRECTORY SOURCE… 示例 源目标...
  • Linux中cp命令介绍

    千次阅读 2016-11-20 12:32:41
    说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录。若同时指定多个文件或目录,而最后的目的地并非一个已...
  • Linux cp命令

    万次阅读 多人点赞 2017-07-02 16:36:42
    使用的操作系统为 macOS 10.12.4,linux 操作系统下可能会有所不同。 cp 为复制命令,实际分为文件间的复制,目录间的复制,文件到目录的复制以及链接的复制。文件间的复制cp file1 file2 如果 file2 不存在,就先...
  • 我们平常在Linux中使用 cp 命令时,会发现将一个目录文件复制到另一个目录具有相同文件名称时,即使添加了 -rf 参数强制覆盖复制时,系统仍然会提示让你一个个的手工输入 y 确认复制,所添加的rf参数是不起作用的。...
  • Linux 使用 cp 命令强制覆盖功能

    千次阅读 2019-07-03 18:39:06
    我们平常在Linux中使用 cp 命令时,会发现将一个目录文件复制到另一个目录具有相同文件名称时,即使添加了 -rf 参数强制覆盖复制时,系统仍然会提示让你一个个的手工输入 y 确认复制,所添加的rf参数是不起作用的。...
  • Linux中复制命令cp使用心得~

    千次阅读 2018-08-25 17:30:55
    cp命令的常用用法~ 1.linux复制指定目录下的全部文件到另一个目录。 假设复制源目录 为 dir1 ,目标目录为dir2。 [root@desktop0 test]# ll total 0 drwxr-xr-x. 2 root root 19 Aug 25 05:14 dir1 drwxr-xr-x...
  • LINUX CP命令用法示例

    千次阅读 2013-06-15 09:18:29
    Linux cp命令拷贝命令非常实用,cp命令可以将指定路径下的文件(目录)拷贝到(成)另一文件或目录,相当于DOS下COPY和XCOPY命令。cp命令语法如下: cp [options] 或 cp [options] source1 source2 ...
  • 1. Linux cp简介Linux上最常用的命令之一,用于复制文件。支持文件复制、复制后重命名、建立软链接、建立硬链接、递归复制子目录等功能。2. 使用例子1:cp结合相当路径把当前目录上的cp1.txt,复制到上一级目录[root...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 284,063
精华内容 113,625
关键字:

linux中cp命令的用法

linux 订阅