zoukankan      html  css  js  c++  java
  • 每天一个Linux命令(7):文件目录操作命令——cp命令

    cp命令是用来复制文件或目录的,该命令是Linux中常用的命令之一。

    1、基本使用格式

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

    2、常用选项

    Options Function
    -i 交互式复制,即覆盖之前提醒用户确认
    -f 强制覆盖文件目标
    -d 复制符号链接文件本身,而非其指向的源文件
       -a    -dR --preserve=all, archive,用于实现归档
    -s 给源文件创建一个符号链接文件
    --preserve=

    复制源文件时保护源文件的一些属性,这些属性包括

    mode: 权限

    ownership: 时间戳

    timestamp: 时间戳

    context: 安全标签

    xattr: 扩展属性

    links: 符号链接

    all: 上述所有属性

    3、命令功能

      cp命令分为单源复制和多源复制,并且目标文件的不同,所实现的功能不同,下面具体来看下cp命令的功能:

    Source(L)/DEST(C) 文件 目录
    文件

    只能为单源复制,并且如果该目标文件存在时,则会覆盖目标文件;

    当目标文件不存在时,则事先创建此文件,并复制源文件的数据流至DEST中;

    可以为单源和多源复制。在复制的过程中则先在DEST目录下创建一个与源文件同名的文件,并复制其数据流。
    目录 错误

    可以为单源和多源复制。

    当目标目录存在时,在复制的过程中则先在DEST目录下创建一个与源文件同名的目录,并复制其数据流。

    当目标目录不存在时,则事先创建此目录,并复制源文件的数据流至DEST中

    4、应用示例

    (1)单源复制

      a. 目标为文件时

    # cp /etc/yum.repos.d/CentOS-Base.repo Base.repo     该目标文件在当前工作路径下不存在

      在执行上面的命令时,当前工作路径下没有Base.repo文件,所以在复制的过程中会事先创建Base.repo文件,然后将源文件中的数据流存入目标文件中。

      当再次执行上面的复制命令是就会出现下面的情况:

      这是因为目标文件是一个已经存在的文件,在复制的过程会询问用户是否覆盖目标文件。

      b. 目标为目录时

    # cp /etc/fstab ./public/

      在当前工作目录下的public目录下,不存在和源文件同名的文件,所以在复制的过程中,因为没有给出目标文件名,所以系统会默认先创建一个和源文件同名的文件,然后将源文件的中数据流直接复制过来。

    (2)多源复制

      在多源复制中DEST只能为目录。

      a. 源为文件

    # cp ifconfg initial public/

      b. 源为目录

    # cp -r 11/ music/ public/

      当源为目录的时候,此时要使用-r参数递归的将源目录复制到目标目录下。当然在单源复制中,源也可以为目录,但目标必须为目录。

      c. 源为文件和目录

    # cp -r ifconfg initial public/ music/

      从上面可以看出,cp命令在使用的过程中,不管参数有多少,都会将最后一个参数作为DEST。

    (3)利用cp命令创建链接文件

    # cp -s /etc/fstab fstab.link

    总结

      cp命令在系统中是cp -i命令的别名,所以在目标文件存在时会出现交互信息。在BASH中使用cp命令会出现交互信息,但是在shell中使用cp命令不会出现交互信息,这一点一定要注意。

  • 相关阅读:
    ArrayList用法
    MessageBox
    将文本文件导入Sql数据库
    在桌面和菜单中添加快捷方式
    泡沫排序
    Making use of localized variables in javascript.
    Remove double empty lines in Visual Studio 2012
    Using Operations Manager Connectors
    Clear SharePoint Designer cache
    Programmatically set navigation settings in SharePoint 2013
  • 原文地址:https://www.cnblogs.com/dabric/p/11116891.html
Copyright © 2011-2022 走看看