ubuntu批量解压文件指令汇总
- 1、批量解压压缩包文件
- 方法一:xargs传参
- 方法二:for循环
- python代码实现批量解压文件
- 2、解压单个压缩包
- 3、删除指定后缀文件
- 4、一个文件夹移动到另一个文件夹
- 4.1 将A目录下的文件夹移动到B目录下(包含A文件夹本身)
- 4.2 将A目录下的文件夹移动到B目录下(不包含A文件夹本身)
- 5、常用解压与压缩命令
- 5.1 tar 文件
- 5.2 gz文件
- 5.3 .tar.gz文件、 .tgz文件
- 5.4 .zip文件
- 5.5 .rar文件
1、批量解压压缩包文件
方法一:xargs传参
ls *.tar | xargs -n1 tar xvf# tarls *.tar.gz | xargs -n1 tar xzvf#tar.gzls *.tar.gz | xargs -n1 unzip -o#zip
方法二:for循环
for tar in *.tar;do tar xvf $tar; done # tarfor tar in *.tar.gz;do tar xzvf $tar; done #tar.gzfor tar in *.zip;do unzip $tar; done #zip
python代码实现批量解压文件
针对每个zip压缩包本身没有文件夹的情况,解压时会根据压缩包的名称来创建新的文件夹来存放解压后的文件
import osimport zipfile# 压缩文件所在目录zip_anno_path = '/media/qy/my_passport/**/SOTdataset/VOT2020/annotations'zip_data_path = '/media/qy/my_passport/**/SOTdataset/VOT2020/data'# 解压后的目录# 解压annodir_anno_path = '/media/qy/my_passport/**/SOTdataset/VOT2020-1/anno'dir_data_path = '/media/qy/my_passport/**/SOTdataset/VOT2020-1/data'zip_path = zip_data_pathdir_path = dir_data_path# 遍历目录中所有文件for file_name in os.listdir(zip_path):if file_name.endswith('.zip'):# 拼接压缩文件的完整路径file_path = os.path.join(zip_path, file_name)res_dir_path = dir_path +"/" + file_name.split('.')[0]if not os.path.exists(res_dir_path):os.makedirs(res_dir_path)# 打开压缩文件并解压with zipfile.ZipFile(file_path, 'r') as zip_ref:zip_ref.extractall(res_dir_path)
2、解压单个压缩包
tar xvf FileName.tar#tartar -jxvf gcc-4.8.2.tar.bz2 #tar.gz.bz2tar zxvf FileName.tar.gz #tar.gz 或者 tar -xvf FileName.tar.gzunzip FileName.zip #zip
3、删除指定后缀文件
rm *.zip #批量删除.zip的文件rm -rf * #删除所有文件夹,但无法恢复
4、一个文件夹移动到另一个文件夹
4.1 将A目录下的文件夹移动到B目录下(包含A文件夹本身)
sudo mv /home/ubuntu/A/ /home/ubuntu/B/
4.2 将A目录下的文件夹移动到B目录下(不包含A文件夹本身)
sudo mv /home/ubuntu/A/* /home/ubuntu/B/
5、常用解压与压缩命令
.tar是打包.tar.gz是压缩过的文件.tar.gz常见于unix系统,在ubuntu或macos可以直接解压,.zip常见于windows系统
5.1 tar 文件
# 仅打包,并非压缩tar -xvf FileName.tar # 解包tar -cvf FileName.tar DirName # 将DirName和其下所有文件(夹)打包
5.2 gz文件
# .gzgunzip FileName.gz# 解压1gzip -d FileName.gz # 解压2gzip FileName # 压缩,只能压缩文件
5.3 .tar.gz文件、 .tgz文件
# .tar.gz 和 .tgztar -zxvf FileName.tar.gz # 解压tar -zcvf FileName.tar.gz DirName # 将DirName和其下所有文件(夹)压缩tar -C DesDirName -zxvf FileName.tar.gz # 解压到目标路径
5.4 .zip文件
# 感觉.zip占用空间比.tar.gz大unzip FileName.zip# 解压zip FileName.zip DirName# 将DirName本身压缩zip -r FileName.zip DirName # 压缩,递归处理,将指定目录下的所有文件和子目录一并压缩
5.5 .rar文件
rar x FileName.rar# 解压rar a FileName.rar DirName # 压缩