Linux 两个目录浅对比拷贝
对比两个目录内容,然后拷贝!
#!/usr/bin/python
# -*-coding:utf-8 -*- import os
import sys
import shutil def get_dir_content(dir):
dir_list = []
dir_files = os.listdir(dir)
for dir_file in dir_files:
if not dir_file.startswith('.'):
dir_list.append(dir_file)
return dir_list def compare_dir(dir1, dir2):
parent_dirs = get_dir_content(dir1)
child_dirs = get_dir_content(dir2)
for child_dir in child_dirs:
if os.path.isfile(child_dir):
os.system("cp %s/%s %s" % (dir2, child_dir, dir1))
elif child_dir in parent_dirs:
os.system("cp -r %s/%s/* %s/%s/" % (dir2, child_dir, dir1, child_dir))
else:
os.system("cp -r %s/%s %s/" % (dir2, child_dir, dir1))
return True def help(param="-h"):
if param in ["--help", "-h"]:
print '''
dir_compare.py [parent_dir] [child_dir]
parent_dir is move the following directory
child_dir is move the previous directory
dir_compare.py [-h or --help]
get help
'''
sys.exit()
else:
print "Re-enter the parameter incorrectly"
sys.exit() if __name__ == '__main__':
if len(sys.argv) == 1:
help()
elif len(sys.argv) != 3:
help(sys.argv[1])
else:
compare_dir(sys.argv[1], sys.argv[2])
shutil.rmtree(sys.argv[2])
Linux 两个目录浅对比拷贝的更多相关文章
- Linux文件和目录的属性及权限总结
本文讲述的是文件或目录的属性及权限,比如索引节点inode.文件类型.文件权限及属主:还对setuid.setgid及粘贴位进行了相关的讲解.其中,对ln.chmod.chown.chgrp.umas ...
- Linux文件和目录权限实战讲解
一 相关课程回顾1.1 linux文件类型当执行ls -l或ls -la 命令后显示的结果中最前面的第2~10个字符是用来表示文件权限 第一个字符一般用来区分文件和目录: d:表示是一个目录,事实上在 ...
- [转帖]Linux系统/dev/mapper目录浅谈
Linux系统/dev/mapper目录浅谈 Linux系统的一般的文件系统名称类似于/dev/sda1或/dev/hda1,但是今天在进行系统维护的时候,利用df -h 命令敲出了/dev/ma ...
- java、android 对比两个目录或文件是否是同一个目录或文件的方法
由于软链接及android的外部卡mount方式存在,导致一个文件夹可能同时有两个路径,如: /mnt/sdcard1 /storage/ext_sdcard ,如果通过某种方式(如moun ...
- Linux下快速比较两个目录的不同
曾多次想要在Linux下比较目录a和目录b中文件列表的差别,然后对目录a比目录b中多出的文件.少掉的文件分别做处理.但是,在网上搜索了多次也都没找到能直接处理好的工具. 所以想了很多不少方法,自我感觉 ...
- Linux实现ftp账号同时访问两个目录方法
在做项目时,客户需要FTP同时访问两个目录,要清楚,在建FTP时,都是一个用户对应一个目录,当FTP用户登录后,就只访问当前目录,如果需要访问到其他目录,得另想办法.刚开始以为使用链接可以实现这个功能 ...
- Linux rsync 两个目录镜像备份
rsync安装篇 rsync是一款配置简单,功能全面的安全备份软件,具体的功能介绍可以参考手册.这里和大家分享一下rsync在CentOS下的部署. 1.安装rsync,并通过xinetd管理rsyn ...
- Linux应急响应姿势浅谈
一.前记 无论是甲方还是乙方的同学,应急响应可能都是家常便饭,你可能经常收到如下反馈: 运维同事 --> 服务器上存在可疑进程,系统资源占用高: 网络同事 --> 监控发现某台服务器对外大 ...
- linux几种传输方式与拷贝方式的性能分析
本文记录linux系统中文件传输的多种方式,留作备忘.linux中文件传输的方式有ftp,scp,rsync,rz,sz等,但各个工具的功能又有所区别: FTP : FTP是文件服务器,可实现文件的上 ...
随机推荐
- JavaScript == VS ===
引用自 http://fxk2006.iteye.com/blog/768260 == equality 等同,两边值类型不同的时候,要先进行类型转换,再比较. === identity 恒等, ...
- Centos7 Openstack - (第一节)基本环境配置
Centos7 install Openstack - (第一节)基本环境配置 我的blog地址:http://www.cnblogs.com/caoguo 根据openstack官方文档配置 官方文 ...
- c# 获取excel所有工作表
var filePath="f:\xx.xlsx" string connStr = "Provider=Microsoft.Ace.OleDb.12.0;" ...
- web调试技巧
接触web不久,遇到了一些"奇怪"的问题,现将一些调试技巧总结如下: 1.欲添加某一样式,点击右键,查看源码 2.样式有问题,点击右键,审查元素 当然,还有一些经验总结 ...
- USACO Section 3.2 香甜的黄油 Sweet Butter
本题是多源最短路问题 但使用弗洛伊德算法会超时 而因为边数目比较少 所以用队列优化后的迪杰斯特拉算法可以通过 #include<iostream> #include<cstring& ...
- javascript设计模式-外观模式
也可译为门面模式.它为子系统中的一组接口提供一个一致的界面, Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用.引入外观角色之后,使用者只需要直接与外观角色交互,使用者与子系统之 ...
- 【Linux】inode_针对MySQL读写操作在系统层的进一步学习【转】
转自http://www.cnblogs.com/itech/archive/2012/05/15/2502284.html 一.inode是什么? 理解inode,要从文件储存说起. 文件储存在硬盘 ...
- leetcode 70
70. Climbing Stairs You are climbing a stair case. It takes n steps to reach to the top. Each time y ...
- eclipse启动tomcat时设置端口
近在做项目需要更改tomcat的端口号,开发工具用的是Eclipse,更改后在Eclipse中重启发现,端口号依然是8080,原来在配置文件更改了tomcat端口号后,要在Eclipse重新装载一次, ...
- SQLserver2012 修改数据库架构
还原数据库以后,发现有一张表的架构不对,执行sql提示:对象名无效.