Linux下拷贝目录和删除

  cp命令用于复制文件或目录,若同事指定两个以上的文件或目录,切最后一个目的地是一个已存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息。

  cp [参数]  源文件或目录  目标文件或目录 

  cp参数:

  -a --archive  保留链接数、文件属性,并递归到拷贝目录,起作用等于dpR选项的组合  

  -b --backup  删除覆盖目的文件先备份,备份的文件或目录亦建立为符号链接,并指向源文件或目录链接的源文件或目录。若没加上这个参数,在复制过程中若遇到符号链接,则会直接复制源文件或目录

  -f  --force     强行复制文件或目录,不论目的文件或目录是否同意子目录

  -i  --interactive  覆盖文件前先询问客户

  -l  --link  对源文件建立硬链接,而非复制文件

  -p --preserve  保留源文件或目录的属性,包括所有者,所有组,权限和时间

  -P --parents  保留源文件或目录的路径,此路径可以是绝对路径或相对路径,且目的目录必须已经存在

  -r  递归处理,将指定目录下的文件及子目录一并处理

  -R --recursive  对源文件建立符号链接,而非复制文件  

  -s  --symbolic-link  对源文件简历符号链接,而非复制文件

  -S<备份字尾字符串>  --suffix<备份字尾字符串> 用-b参数备份目的文件后,备份文件的字尾会被加上一个备份字符串。默认的备份字尾符串是~

  -u --update  会在源文件的修改时间较目的文件更新时,或名称相互对应的目的文件并不存在时,才复制文件

  -v --verose  显示执行过程

  -V<备份方式> --version-control<备份方式>  指定当备份文件时,备份文件名的命名方式有以下3种:

  1.numbered或t   将使用备份编号,会在紫薇加上字符串1,其数字编号依次递增

  2.simple或never  将使用简单备份,默认的备份字尾字符串是~,可以通过-S来指定 

  3.exisitng或nil     将使用当前方式,程序会先检查是否存在着备份编号,若存在则采用备份编号,若不存在,则采用简单备份

  -x  --one-file-system  复制的文件或目录存放的文件系统,必须与cp指令执行时所处的文件系统相同,否则不复制,亦不处理位于其他分区的文件

  --help  显示在线帮助

  --sparse<使用时机>  设置保存稀疏文件的时机

  --version  现实版本

  cp -u -v file1 file #自由源文件较目的文件的修改时间新时才复制

  删除目录

  rm常用参数

  -r  向下递归。不管有多少即目录,一并删除

  -f  直接强行删除,不作任何提示

  

  指定删除几天前的备份文件

  find /path -mtime +7 -type -f -name *.* -exex rm -f {}

  如删除在tmp目录中30天前的文件

  find /tmp -mtime +30 -type -f -name *.sh -exec rm -f {} #-type f 设置查找文件的类型

  

  find . -mtime +7 -type  -f | xargs rm -rf

  如删除在tmp目录中30天前的文件
  find . -mtime +7 -type f | xargs rm -rf

  

原文地址:https://www.cnblogs.com/forerver-elf/p/4744663.html