zoukankan      html  css  js  c++  java
  • linux下cp目录时排除一个或者多个目录的方法

    说明:/home目录里面有data目录,data目录里面有a、b、c、d、e五个目录,现在要把data目录里面除过e目录之外的所有目录拷贝到/bak目录中
    系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链接
    方法一:终端命令行下执行以下命令
    cp -R `find /home/data -type d  -path /home/data/e  -prune -o -print | sed 1d ` /bak
    ########################################################
    脚本实现
    脚本存放路径/home/osyunwei.sh
    vi /home/osyunwei.sh   #编辑脚本,添加下面的代码
    #!/bin/sh
    cp -R `find /home/data -type d  -path /home/data/e  -prune -o -print | sed 1d ` /bak
    chmod +x  /home/osyunwei.sh   #添加脚本执行权限
    cd  /home  #进入脚本存放目录
    ./osyunwei.sh   #执行脚本
    ########################################################
    系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链接
    方法二:使用cp命令复制的时候,只能排除一个目录不被复制,如果想排除两个或者多个目录的话,就需要使用rsync命令来实现了,看下面的例子
    如果要排除/home/data目录下面的a、b、c、三个目录,同时拷贝其它所有目录,执行以下命令
    yum install rsync   #安装rsync
    rsync -av --exclude data/a  --exclude data/b  --exclude data/c  data   /bak
    注意:--exclude后面的路径不能为绝对路径,必须为相对路径才可以,否则出错。
    

      

  • 相关阅读:
    python中logging的使用
    从零到Django大牛的的进阶之路02
    PostgreSQL 输出 JSON 结果
    Hello World
    Node多国语言包
    更改ejs模板引擎的后缀为html
    Node.js 调试小技巧
    JavsScript 一些技巧方法
    如何预测 Pinterest 和 Instagram 的未来发展潜力?
    如何获得div对象的绝对坐标
  • 原文地址:https://www.cnblogs.com/archoncap/p/5698917.html
Copyright © 2011-2022 走看看