• cp


    cp(选项)(参数)   复制
    当复制多个源文件时,目标必须是个目录。
    cp命令默认使用会带上-i选项,当目标已有文件时,会询问用户是否覆盖掉,可以用cp来取消-i选项

    -a:将文件的所有属性都一并复制,用于归档文件。,以后还有归档压缩的命令
    -d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
    -f:强行复制文件或目录,如果目标文件或目录都存在直接覆盖

    [root@bogon admin]# cp -f a/c b/ 
    cp: overwrite `b/c'? y
    强制复制也会提示询问用户是否覆盖,可以用
    [root@bogon admin]# cp -f a/c b/ 
    [root@bogon admin]# 
    

     -i:如果目标文件或目标目录都存在,询问用户是否覆盖

    [root@bogon admin]# cp -i a/c b/
    cp: overwrite `b/c'? y
    这也是cp命令默认的方式
    [root@bogon admin]# alias cp
    alias cp='cp -i'
    

    -l:对源文件建立硬连接,复制源文件的innode号,而非复制文件;

    [root@bogon admin]# cp /a a
    [root@bogon admin]# cp -l /a aa
    [root@bogon admin]# ls -li /a a aa          加上-i显示出文件的inode号
    139923 -rwxr-xr-x. 1 root root 0 Dec 22 01:45 a          这个是直接复制过来的文件
     12090 -rwxrwxrwx. 2 root root 0 Dec 22 00:55 /a       这货是源文件
     12090 -rwxrwxrwx. 2 root root 0 Dec 22 00:55 aa      这个是通过cp -l复制过来的文件
    

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

    [root@bogon admin]# cp aa /
    [root@bogon admin]# ls -l aa /aa
    -rwxrwxrwx. 1 admin admin 0 Dec 22 00:55 aa
    -rwxr-xr-x. 1 root  root  0 Dec 22 01:13 /aa
    以root用户为例,当我复制admin用户家目录下的aa文件到根目录下时,文件的属主和属组变成了root。
    [root@bogon admin]# cp -p aa /
    cp: overwrite `/aa'? y
    [root@bogon admin]# ls -l aa /aa
    -rwxrwxrwx. 1 admin admin 0 Dec 22 00:55 aa
    -rwxrwxrwx. 1 admin admin 0 Dec 22 00:55 /aa
    当加上-p选项后,复制完成后的文件属主和属组没有发生变化,还是原来的admin
    这个-p貌似对原文件属主属组为root的无效???

    -R/r:递归处理,将指定目录下的所有文件与子目录一并复制;

    [root@bogon admin]# cp -rv b c
    `b' -> `c/b'
    `b/c' -> `c/b/c'
    `b/c/d' -> `c/b/c/d'
    `b/c/d/e' -> `c/b/c/d/e'
    

     -s:对源文件建立符号连接,而非复制文件;

    [root@bogon admin]# cp -s /a aa
    [root@bogon admin]# ls -l aa
    lrwxrwxrwx. 1 root root 2 Dec 22 01:32 aa -> /a
    

     -b:覆盖已存在的文件目标前将目标文件备份;

    [root@bogon admin]# cp -bv /a a
    cp: overwrite `a'? y
    `/a' -> `a' (backup: `a~')
    [root@bogon admin]# ls -l a*
    -rwxr-xr-x. 1 root root 0 Dec 22 01:42 a
    -rwxrwxrwx. 2 root root 0 Dec 22 00:55 a~
    

     -v:显示操作过程

    上面都已经显示过了
    
    初学linux,每学到一点东西就写一点,如有不对的地方,恳请包涵!
  • 相关阅读:
    年龄大的普通程序员最后的出路是哪里?
    PHP7数组的底层实现
    MySQL mysqldump数据导出详解
    swoole高性能赛事直播平台(笔记)
    防止图片盗链和资源恶意下载
    由Response.Redirect引发的"Thread was being aborted. "异常
    关于前台调用后台事件__doPostBack函数
    页面拖拽效果
    bs和cs缩放图片
    hideFocus(小技巧)
  • 原文地址:https://www.cnblogs.com/forlive/p/8086946.html
Copyright © 2020-2023  润新知