精华内容
下载资源
问答
  • Linux上使用cp命令复制文件2. 使用例子1:cp结合相当路径把当前目录上的cp1.txt,复制到上一级目录[root@zcwyou]# cp cp1.txt ../3. 使用例子2:复制一个文件到指定目录把/etc/passwd这个文件复制到/var...

    1. Linux cp简介

    Linux上最常用的命令之一,用于复制文件。支持文件复制、复制后重命名、建立软链接、建立硬链接、递归复制子目录等功能。

    3d51747dac7c1320a048f976f45da550.png

    Linux上使用cp命令复制文件

    2. 使用例子1:cp结合相当路径

    把当前目录上的cp1.txt,复制到上一级目录

    [root@zcwyou]# cp cp1.txt ../

    3. 使用例子2:复制一个文件到指定目录

    把/etc/passwd这个文件复制到/var/tmp/,新文件的绝对路径为/var/tmp/passwd

    [root@zcwyou]# cp /etc/passwd /var/tmp/
    a16ed9fabea6278b247d6e049fafb009.png

    Linux复制一个文件到指定目录

    4. 使用例子3:复制并另存为新的文件名

    把cp1.txt复制一份,重命名为cp2.txt,源文件和目标文件都在当前目录。

    [root@zcwyou]# cp cp1.txt cp2.txt
    1c26a56742b893cda284627bd4f89b29.png

    复制并另存为新的文件名

    复制/root/zip/目录里所有以txt后缀结尾的文件复制到当前目录:

    cba05e3124496a44166e9d2a595ec460.png

    Linux cp命令案例

    5. 使用例子4:复制指定路径里的文件和目录,并递归复制指定目录里的层层子目录

    把/etc/目前里的所以内容复制一份到当前用户家目录,~表示当前用户家目录

    [root@zcwyou]# cp -r /etc/ ~

    检查:

    [root@zcwyou]# ll ~

    drwxr-xr-x. 73 root root 8192 Oct 10 21:32 etc

    可以看到用户家目录确认有一个新的目录etc

    [root@zcwyou]# du -sh ~/etc/

    34M /root/etc/

    使用du命令看到目标目录/root/etc的大小为34M

    [root@zcwyou]# du -sh /etc/

    34M /etc/

    源目录/etc/的大小也等于34M

    表明复制成功,因为源和目标是一样大小。

    3860cc0b47a5644ad7f8c0d4a634e692.png

    linux复制指定路径里的文件和目录,并递归复制指定目录里的层层子目录

    6. 使用例子5:交互式确认复制加-i选项

    把当前目录的所有.txt后缀文件复制到上一级目录

    [root@zcwyou]# cp -i *.txt ../

    执行时,需要输入y或者yes确认:

    [root@zcwyou]# cp -i *.txt ../

    cp: overwrite ‘../cp1.txt’? y

    cp: overwrite ‘../cp2.txt’? y

    f4c1efd07b653b51d1d308ba5e68d202.png

    linux交互式确认复制文件

    7. 使用例子6:复制时,强制覆盖旧文件,不需要提示,包括递归子目录和传递属性

    [root@zcwyou]# cp -r -a 源目录路径/* /目标目录路径

    比如/etc/里的所有目录和文件复制一份到/root/,复制之前/root中已经有了etc的内容,现在再次覆盖。

    [root@zcwyou]# cp -r -a /etc/* /root/

    8. cp命令的常用选项

    -a:此参数的效果和同时指定"-dpR"参数相同;

    -d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;

    -i:交互式复制文件,每个文件都要询问一次,可以输入n或者y进行选择复制或者不复制;

    -l:对源文件建立硬连接,实际上不复制文件;

    -p:保留源文件或目录的属性;

    -R/r:递归处理,复制指定目录里面的层层子目录和对应的文件;

    -s:对源文件建立软连接,实际上不复制文件;

    -u:复制时比较源文件与目标文件的更改时间,如果源比目标新,则进行复制。或者目标不存在同名时,也会进行复制。

    -S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;

    -b:备份已存在的目标文件后再进行覆盖;

    -v:显示执行情况的详细信息。

    9. 总结

    cp命令其实有很多复杂的功能可以满足用户日常使用的需求。

    点击了解更多,原文排版更直观易读哦

    展开全文
  • Linux cp命令拷贝命令非常实用,cp命令可以将指定路径下的文件(目录)拷贝到(成)另一文件或目录中,相当于DOS下COPY和XCOPY命令。cp命令语法如下:cp [options] 或cp [options] source1 source2 source3 …. ...

    Linux cp命令拷贝命令非常实用,cp命令可以将指定路径下的文件(目录)拷贝到(成)另一文件或目录中,相当于DOS下COPY和XCOPY命令。cp命令语法如下:

    cp [options]

    cp [options] source1 source2 source3 …. directory

    上面第一条命令为单个文件或目录拷贝,下一个为多个文件拷贝到最后的目录。

    options选项包括:

    - a 保留链接和文件属性,递归拷贝目录,相当于下面的d、p、r三个选项组合。

    - d 拷贝时保留链接。

    - f 删除已经存在目标文件而不提示。

    - i 覆盖目标文件前将给出确认提示,属交互式拷贝。

    - p 复制源文件内容后,还将把其修改时间和访问权限也复制到新文件中。

    - r 若源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。当然,目标文件必须为一个目录名。

    - l 不作拷贝,只是链接文件。

    -s 复制成符号连结文件 (symbolic link),亦即『快捷方式』档案;

    -u 若 destination 比 source 旧才更新 destination。

    cp命令使用范例:

    1、将文档 file1复制成file2,复制后名称被改file2

    cp -i file1 file2

    或,

    cp file1 file2

    2、将文档 file1复制到dir1目录下,复制后名称仍未file1

    cp -i file1 dir1

    或,

    cp file1 dir1

    3、将目录dir1复制到dir2目录下,复制结果目录被改名为dir2

    cp -r dir1 dir2

    4、将目录dir1下所有文件包括文件夹,都复制到dir2目录下

    cp -r dir1/*.* dir2

    常见错误:

    1、提示cp: omitting directory错误

    复制目录时,使用-r选项即可递归拷贝,如下:

    cp -r dir1 dir2

    实例:

    一、 将/opt/a/下的a目录复制到 /opt/b/目录下

    cp -r /opt/a/ /opt/b/ #将/opt/a/下的a.录复制到 /opt/b/目录

    0818b9ca8b590ca3270a3433284dd417.png

    展开全文
  • cp 命令,主要用来复制文件和目录,同时借助某些选项,还可以实现复制整个目录,以及比对两文件的新旧而予以升级等功能。cp 命令的基本格式如下:[root@localhost ~]# cp [选项] 源文件 目标文件选项:-a:相当于 -d...

    cp 命令,主要用来复制文件和目录,同时借助某些选项,还可以实现复制整个目录,以及比对两文件的新旧而予以升级等功能。

    cp 命令的基本格式如下:

    [root@localhost ~]# cp [选项] 源文件 目标文件

    选项:

    -a:相当于 -d、-p、-r 选项的集合,这几个选项我们一一介绍;

    -d:如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接;

    -i:询问,如果目标文件已经存在,则会询问是否覆盖;

    -l:把目标文件建立为源文件的硬链接文件,而不是复制源文件;

    -s:把目标文件建立为源文件的软链接文件,而不是复制源文件;

    -p:复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间);

    -r:递归复制,用于复制目录;

    -u:若目标文件比源文件有差异,则使用该选项可以更新目标文件,此选项可用于对文件的升级和备用。

    需要注意的是,源文件可以有多个,但这种情况下,目标文件必须是目录才可以。

    这里的软链接,类似于 Windows 系统中的快捷方式,而硬链接则是透过文件系统的 inode 号产生一个新的文件名。无论是复制软链接还是硬链接,都不是复制源文件。有关软链接和硬链接更详细的介绍,可阅读《Linux ln命令》一节。

    【例 1】cp 命令基本用法

    cp 命令既可以复制文件,也可以复制目录。我们先来看看如何复制文件,例如:

    [root@localhost ~]# touch cangls

    #建立源文件

    [root@localhost ~]# cp cangls /tmp/

    #把源文件不改名复制到 /tmp/ 目录下

    如果需要改名复制,则命令如下:

    [root@localhost ~]# cp cangls /tmp/bols

    #改名复制

    如果复制的目标位置已经存在同名的文件,则会提示是否覆盖,因为 cp 命令默认执行的是“cp -i”的别名,例如:

    [root@localhost ~]# cp cangls /tmp/

    cp:是否覆盖"/tmp/cangls"?y

    #目标位置有同名文件,所以会提示是否覆盖

    接下来我们看看如何复制目录,其实复制目录只需使用“-r”选项即可,例如:

    [root@localhost ~]# mkdir movie

    #建立测试目录

    [root@localhost ~]# cp -r /root/movie/ /tmp/

    #目录原名复制

    【例 2】复制软链接文件

    如果源文件不是一个普通文件,而是一个软链接文件,那么是否可以复制软链接的属性呢?我们试试:

    [root@localhost ~]# ln -s /root/cangls /tmp/cangls_slink

    #建立一个测试软链接文件/tmp/cangls_slink

    [root@localhost ~]# ll /tmp/cangls_slink

    lrwxrwxrwx 1 root root 12 6 月 14 05:53 /tmp/cangls_slink -> /root/cangls

    #源文件本身就是一个软链接文件

    [root@localhost ~]# cp /tmp/cangls_slink /tmp/cangls_t1

    #复制软链接文件,但是不加"-d"选项

    [root@localhost ~]# cp -d /tmp/cangls_slink /tmp/cangls_t2

    #复制软链接文件,加入"-d"选项

    [root@localhost ~]# ll /tmp/cangls_t1 /tmp/cangls_t2

    -rw-r--r-- 1 root root 0 6月 14 05:56 /tmp/cangls_t1

    #会发现不加"-d"选项,实际复制的是软链接的源文件,而不是软链接文件

    lrwxrwxrwx 1 root root 12 6 月 14 05:56/tmp/ cangls_t2-> /root/cangls

    #而如果加入了"-d"选项,则会复制软链接文件

    这个例子说明,如果在复制软链接文件时不使用 "-d" 选项,则 cp 命令复制的是源文件,而不是软链接文件;只有加入了 "-d" 选项,才会复制软链接文件。请大家注意,"-d" 选项对硬链接是无效的。

    【例 3】保留源文件属性复制

    我们发现,在执行复制命令后,目标文件的时间会变成复制命令的执行时间,而不是源文件的时间。例如:

    [root@localhost ~]# cp /var/lib/mlocate/mlocate.db /tmp/

    [root@localhost ~]# ll /var/lib/mlocate/mlocate.db

    -rw-r-----1 root slocate2328027 6月 14 02:08/var/lib/mlocate/mlocate.db

    #注意源文件的时间和所属组

    [root@localhost ~]#ll /tmp/mlocate.db

    -rw-r----- 1 root root2328027 6 月 14 06:05/tmp/mlocate.db

    #由于复制命令由root用户执行,所以目标文件的所属组为了root,而且时间也变成了复制命令的执行时间

    而当我们执行备份、曰志备份的时候,这些文件的时间可能是一个重要的参数,这就需执行 "-p" 选项了。这个选项会保留源文件的属性,包括所有者、所属组和时间。例如:

    [root@localhost ~]# cp -p /var/lib/mlocate/mlocate.db /tmp/mlocate.db_2

    #使用"-p"选项

    [root@localhost ~]# ll /var/lib/mlocate/mlocate.db /tmp/mlocate.db_2

    -rw-r----- root slocate 2328027 6月 14 02:08 /tmp/mlocate.db_2

    -rw-r----- root slocate 2328027 6月 14 02:08 /var/lib/mlocate/mlocate.db

    #源文件和目标文件的所有属性都一致,包括时间

    我们之前讲过,"-a" 选项相当于 "-d、-p、-r" 选项,这几个选项我们已经分别讲过了。所以,当我们使用 "-a" 选项时,目标文件和源文件的所有属性都一致,包括源文件的所有者,所属组、时间和软链接性。使用 "-a" 选项来取代 "-d、-p、-r" 选项更加方便。

    【例 4】 "-l" 和 "-s" 选项

    我们如果使用 "-l" 选项,则目标文件会被建立为源文件的硬链接;而如果使用了 "-s" 选项,则目标文件会被建立为源文件的软链接。

    这两个选项和 "-d" 选项是不同的,"d" 选项要求源文件必须是软链接,目标文件才会复制为软链接;而 "-l" 和 "-s" 选项的源文件只需是普通文件,目标文件就可以直接复制为硬链接和软链接。例如:

    [root@localhost ~]# touch bols

    #建立测试文件

    [root@localhost ~]# ll -i bols

    262154-rw-r--r-- 1 root root 0 6月 14 06:26 bols

    #源文件只是一个普通文件,而不是软链接文件

    [root@localhost ~]# cp -l /root/bols /tmp/bols_h

    [root@localhost ~]# cp -s /root/bols /tmp/bols_s

    #使用"-l" 和"-s"选项复制

    [root@localhost ~]# ll -i /tmp/bols_h /tmp/bols_s

    262154-rw-r--r-- 2root root 0 6 月 14 06:26/tmp/bols_h

    #目标文件 /tmp/bols_h 为源文件的硬链接文件

    932113 lrwxrwxrwx 1 root root 10 6 月 14 06:27/tmp/bols_s -> /root/bols

    #目标文件 /tmp/bols_s 为源文件的软链接文件

    展开全文
  • cp 命令是拷贝(copy)的意思,用于将文件或目录复制一份。在当前目录下拷贝一个文件的语法,cp# cp 如上截图所示,想要创建一个名为 docu 文件的副本并且命名为 newdocu,使用 $ cp docu newdocu 命令。若指定文件...

    cp 命令是拷贝(copy)的意思,用于将文件或目录复制一份。

    在当前目录下拷贝一个文件的语法,

    cp  

    # cp

    8436deaf2347af5158811193643cc854.png

    如上截图所示,想要创建一个名为 docu 文件的副本并且命名为 newdocu,使用 $ cp docu newdocu 命令。若指定文件(例子中是 newdocu)已存在,存在的文件将被覆盖。

    拷贝文件到不同的目录

    一定要在命令中指定拷贝到的目标目录。

    如下截图图示中,之前在 /home/sssit/Desktop 目录下并没有 text 文件。图示命令执行后,text 文件就被拷贝到指定目录下了。

    6cd5ca163a9e403ad63d292fc67bbc4f.png

    cp 命令选项

    选项

    功能说明cp -r

    拷贝目录及其子目录。 r 是递归的意思。

    cp file1 file2 directoryname

    拷贝多个文件或目录到指定目标目录。

    cp -backup

    拷贝现存文件为同名备份文件。

    cp -i

    交互式确认拷贝文件。

    cp -l

    创建文件硬链接代替实际拷贝文件。

    cp -p

    保留文件属性。p 这里是 Preserves 的意思。

    cp -u -v

    保证拷贝源文件比被覆盖同名文件要新。

    cp 命令 -r 选项

    -r 命令选项,用于拷贝包含(多层)子目录的目录被递归地完全拷贝到目标目录下。

    语法:

    cp -r  

    # cp -r

    举例:

    $ cp -r library /home/sssit/Documents

    7aa838f9510f5d2a8c1e924ac5f6f5c3.png

    如上截图例示,拷贝 library 整个目录内容到 /home/sssit/Documents 目录下。 library 的所有内容及其目录树都被递归地拷贝到 Documents 目录下。

    拷贝多个文件或目录

    多个文件或目录可一次性拷贝到指定目标目录。这种情况下,目标目录一定是一个目录。拷贝多文件或目录可利用 通配符 ,例如 cp *.txt 等命令。(注:与 windows 下的概念相同,* 和 ? 是通配符,读者自查其含义)

    语法:

    cp *. 

    举例:

    $ cp *.txt /home/sssit/Documents

    b259c014e42d1d2419974f194d5cb711.png

    上图例子中,拷贝具有相同后缀名的文件 (file1,file2,file3)到指定目录下。

    cp 命令 --backup 选项

    若拷贝的文件在目标目录下已存在同名文件,可使用此命令生成同名备份文件。

    语法:

    cp --backup  

    举例:

    $ cp --backup file2.txt /home/sssit/Downloads

    bee24dcfa66a3d3795dcdaecbf4bbfa4.png

    上图中可看出,file2.txt 在目标目录中已存在,因此,通过此命令创建欲拷贝文件的备份文件放到目标目录,与已存在文件名相同。

    现在,目标目录 Downloads 下有两个同名文件 (file2.txt)。

    cp 命令 -i 选项

    cp -i 命令选项,当覆盖已存在文件时,向用户询问。(注:命令行中 cp 命令默认是覆盖文件)

    语法:

    cp -i  

    举例:

    $ cp -i file3.txt /home/sssit/Desktop

    7e16b8ee04e3b6130c6eb3235dbdc796.png

    如上可见,由于 file3.txt 文件已存在目标目录,系统会询问用户是否覆盖?这时,若回答 y 就覆盖文件,回答 n 就不覆盖已有文件。

    cp 命令 -l 选项

    如果只是创建文件硬链接,而不拷贝。可以使用此选项 -l 。

    注: 硬链接意味着2个文件的 inode 值相同。若是拷贝文件, inode 值不同。

    语法:

    cp -l  

    举例:

    $ cp -l file1.txt usr/

    004ed98a7ba393a0a802b63997240343.png

    注意这里我们在 usr 目录下创建 file1.txt 的硬链接,2个文件的 inode 值相同。(图中的 659160)。

    cp 命令 -p 选项

    cp -p 命令用于拷贝文件时保留文件的属性和特性,也可指定哪些属性或特性需要保留。

    语法:

    cp -p  

    举例:

    $ cp -p file2.txt usr/

    effe0b504412d6d124b7f60d16dbe220.png

    在上图中可看到2个文件具有相同的属性和特性(访问权限、修改时间等)。

    cp 命令 -u 和 -v 选项

    cp -u -v 命令用于拷贝时,用户能看出哪些文件缺失或不存在。

    语法:

    cp -u -v  

    举例:

    $ cp -u -v docc file1.txt /home/sssit/Downloads/

    c24ccf814a6c24ed7d1cc73fad408559.png

    如上例截图所示,在 imp 目录下有2个文件 docc ,file1.txt 。把它们拷贝到 Download 目录中。但在 Download 目录下已存在 file1.txt 文件。

    使用 cp -u -v 命令可看见只拷贝了 docc 文件,而 file1.txt 未拷贝,目标目录中原有同名文件未被覆盖。(译注:关于 -u 和 -v 选项含义,自行看手册研究。-v 是探查的意思--运行中显示每步骤信息--,-u 是更新的意思,覆盖时检查是否原始文件更新才覆盖)

    这个命令用于拷贝大文件。

    展开全文
  • cp命令复制文件
  • 使用pwd 命令查明当前路径 假设复制源目录 为 dir1 ,目标目录为dir2。 如果dir2目录不存在,则可以...parallels@debian-gnu-linux-vm:~/icslabs/lab1$ cp -r /home/parallels/icslabs/lab1 /home/parallels/lab1 ...
  • linux复制cp命令Linux popular command cpis used to copy files and folders. In this tutorial we ...Linux常用命令cp用于复制文件和文件夹。 在本教程中,我们将介绍cp命令的不同用法类型。 句法 (Syntax) Sy...
  • 参考资料: ... 作为一个经常进行机器学习训练的人,你可能会想给你的训练代码的每一次run都重新创建一个文件夹,此时你可能只想复制一个文件夹下面的代码文件,而不复制文件夹下面的子文件夹。如...
  • linux中,可以使用cp命令复制文件,将源文件或目录复制到指定的目的文件或目录;它可以将单个源文件复制成一个指定文件名的具体文件或一个已经存在的目录下;该命令支持同时复制多个文件。本教程操作环境:centos7...
  • Linux cp命令复制文件和目录

    千次阅读 2019-06-22 16:29:56
    cp 命令,主要用来复制文件和目录,同时借助某些选项,还可以实现复制整个目录,以及比对两文件的新旧而予以升级等功能。 cp 命令的基本格式如下: [root@localhost ~]# cp [选项] 源文件 目标文件 选项: -a...
  • Linux复制文件和目录(cp)教程在cp 命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。Linux cp命令详解功能用于拷贝目录或文件。语法cp [options] source ...
  • 请关注本头条号,每天坚持更新原创干货技术文章。如需学习视频,请在微信搜索公众号“智传网优”直接开始自助视频学习1....在本文中,我们将解释如何使用cp命令linux怎么复制文件到其他文件夹2....
  • 下面就和小编一起来看看如何使用cp命令复制文件和文件夹吧。复制方法:名称:cp使用权限:所有使用者使用方式:cp [options] source destcp [options] source... directory说明:将一个档案拷贝至另一档案,或将数...
  • cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件...
  • 因为复制的时候,只需要代码,不需要.git文件夹,所以第一次使用cp -r命令,直接复制过去,发现正好不不会复制.git文件,以为完美。。。 cp -r /aaa/* /bbb/ 然后复制过去后发现了问题,因为代码库根目录下存在...
  • linux cp命令参数及用法详解---linux 复制文件命令cp [root@Linux~]#cp[-adfilprsu] 来源档(source) 目的檔(destination) [root@linux~]#cp[options] source1 source2 source...
  • linux cp命令拷贝文件详解linuxcp命令的功能是将给出的文件或目录拷贝到另一文件或目录中,如果同时指定两个以上的文件或目录,且最后的目的地是一个已存在的目录,则此命令会把前面指定的所有文件或目录复制到该...
  • 脚本要求如下(1) 按顺序分别复制/var/log目录...(3) 复制文件时使用cp命令;(4) 复制链接文件时使用cp -d命令;(5) 余下的所有类型,使用cp -a命令;#!/bin/bashdeclare -i j=1for i in /var/log/*;do[ ! -d /tmp/t...
  • linux平台上查看了cp命令的参数,没有相关参数可以实现此功能,所以需要借助工具来实现此功能。 我平时用的linux版本是centos 7.5 ,系统默认没有安装iotop软件。所以需要安装此软件。 yum install iotop 安装...
  • Linux 中,cp 命令常被用于从一个文件夹中复制文件到另一个文件夹中,最简单的语法如下:# cp [options….] source(s) destination另外,你也可以使用高级复制命令,它可以在复制大的文件或文件夹时显示进度条。...
  • linux cp命令复制整个文件夹

    千次阅读 2020-12-19 09:51:27
    怎样才能将dir1下所有文件复制到dir2下了 如果dir2目录不存在,则可以直接使用 cp -r dir1 dir2 即可。 如果dir2目录已存在,则需要使用 cp -r dir1/* dir2 如果这时使用cp -r dir1 dir2,则也会将dir1目录复制到dir2...
  • 今天在用linux命令进行文件复制时,出现一个错误:linux cp: omitting directory `BBS'(当时我采用的是“ cp -i BBS /opt/workspace/apache-tomcat-6.0.35/webapps”这个命令,参数用的是 -i),因为自己也是刚刚...
  • cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件...
  • 最后百度了一下才明白,原来cp命令复制目录的时候需要带命令参数的。难怪我一使用cp命令就报错。下面说一下该命令的一些使用技巧:1. cp命令语法cp [options] 或 cp [options] source1 source2 ... d...

空空如也

空空如也

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

linuxcp命令复制文件

linux 订阅