ubuntu批量解压文件指令汇总

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        # tar
ls *.tar.gz | xargs -n1 tar xzvf    #tar.gz
ls *.tar.gz | xargs -n1 unzip -o    #zip

方法二:for循环

for tar in *.tar;  do tar xvf $tar; done       # tar
for tar in *.tar.gz;  do tar xzvf $tar; done   #tar.gz
for tar in *.zip;  do unzip $tar; done   #zip

python代码实现批量解压文件

针对每个zip压缩包本身没有文件夹的情况,解压时会根据压缩包的名称来创建新的文件夹来存放解压后的文件

import os
import zipfile
# 压缩文件所在目录
zip_anno_path = '/media/qy/my_passport/**/SOTdataset/VOT2020/annotations'
zip_data_path = '/media/qy/my_passport/**/SOTdataset/VOT2020/data'

# 解压后的目录
# 解压anno
dir_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_path
dir_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  #tar
tar -jxvf gcc-4.8.2.tar.bz2 #tar.gz.bz2
tar zxvf FileName.tar.gz #tar.gz 或者 tar -xvf FileName.tar.gz
unzip 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文件

# .gz
gunzip FileName.gz  # 解压1
gzip -d FileName.gz # 解压2
gzip FileName       # 压缩,只能压缩文件

5.3 .tar.gz文件、 .tgz文件

# .tar.gz 和 .tgz
tar -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 # 压缩

你可能感兴趣的:(ubuntu,服务器,linux)