Linux写shell脚本批量解压缩*.tar.gz文件

1、进入Linux命令环境
2、使用vim文本编辑器:vim <脚本文件名称>
在这里插入图片描述
3、进入vim文本编辑器后(关于vim编辑器的使用下文有注2),按照如下编辑:

#!/bin/bash
cd /data/limiao/develop_data/AISHELL-2/iOS/data/wav
# 首先把要解压的文件(tar.gz格式)放入一个文件中
ls *.tar.gz>ls.log
# 这样就会把所有的文件名保存到ls.log文件中
for i in $(cat ls.log)   # 这里可以使用Linux命令cat
do
   tar -zxf $i & > /dev/null   #  & > /dev/null语句的意思是让输出的东西不要显示出来
done

4、编辑好了之后切换到底线命令模式保存并退出编辑器
5、但是按照这样编写的脚本是不可执行的,查看文件权限(关于Linux文件的权限下文有注3),如下所示,还需要修改其权限使其可执行,

(base) [LiMiao@gpu08 wav]$ ls -l for_unzip.sh
-rw-rw-r-- 1 LiMiao LiMiao 309 May  9 15:16 for_unzip.sh   

6、使用chmod命令修改文件权限:

(base) [LiMiao@gpu08 wav]$ chmod 755 for_unzip.sh

权限为755的脚本,则每个人都能执行,权限为700的 脚本,只有文件所有者能够执行。注意为了能够执行脚本,脚本必须是可读的。

执行chmod命令后,再查看文件权限如下所示,已经是可执行的了:

(base) [LiMiao@gpu08 wav]$ ls -l for_unzip.sh
-rwxr-xr-x 1 LiMiao LiMiao 309 May  9 15:16 for_unzip.sh

接下来就可以输入以下命令执行脚本文件:

(base) [LiMiao@gpu08 wav]$ ./for_unzip.sh

这样解压缩*.tar.gz文件就完成了:

在这里插入图片描述
注1:& > /dev/null语句的意思是让输出的东西不要显示出来
注2:vim相关命令

  • 命令模式

    1. i 切换到输入模式,以输入字符
    2. x 删除当前光标所在处的字符
    3. : 切换到底线命令模式,以在最底一行输入命令

    编辑文本:启动vim,进入了命令模式,按下i,切换到输入模式。

  • 输入模式

    在命令模式下按下i就进入了输入模式。
    在输入模式中,可以使用以下按键:

    1. 字符按键以及Shift组合,输入字符
    2. ENTER,回车键,换行
    3. BACK SPACE,退格键,删除光标前一个字符
    4. DEL,删除键,删除光标后一个字符
    5. 方向键,在文本中移动光标
    6. HOME/END,移动光标到行首/行尾
    7. Page Up/Page Down,上/下翻页
    8. Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
    9. ESC,退出输入模式,切换到命令模式
  • 底线命令模式

    在命令模式下按下:(英文冒号)就进入了底线命令模式。
    底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
    在底线命令模式中,基本的命令有(已经省略了冒号):

    1. q 退出程序
    2. w 保存文件
    3. q!不保存强制退出程序
    4. wq保存并退出程序

注3:Linux文件中的一些权限相关,以下图为例:
在这里插入图片描述

第一个-代表文件的类型:

  • 如果是一个普通文件为-
  • 如果是一个目录为d
  • 如果是一个软连接为l
  • 如果是一个字符设备为c
  • 如果是一个块文件为b

然后以三个符号为一组看,第一组rw-(因为没有执行权限,用x表示,故此处为-)表示文件所有者拥有的的权限:

  • 其中r表示该文件拥有读取的权限
  • w表示该文件拥有修改的权限
  • - 表示暂时还没有其他权限

第二组rw-表示该文件所在组的用户拥有的权限:

  • 同样r 表示拥有阅读的权限
  • w表示该文件拥有修改的权限
  • -表示暂时没有其他权限

第三组r--表示其他组的用户所拥有的权限:

  • 同样r 表示拥有阅读的权限
  • -表示暂时没有其他权限

接着看旁边的数字 1:

  • 如果这个文件类型是一个普通文件,则表示这个文件的硬链接
  • 如果这个文件类型是一个目录,则表示这个目录下的子目录个数

然后第一个LiMiao,表示这个文件的所有者LiMiao用户

第二个LiMiao,表示这个文件的所在组LiMiao

接着一串数字309

  • 表示这个文件的大小为309字节,如果是使用ls -hl指令查看的文件信息,会将大小换算为更高的单位
  • 如果此时的文件类型是一个目录,会显示"4096" ,linux中一切皆文件,所以目录其实也是一个特殊的文件,所以4096也代表这个目录的大小)

接着的日期,表示这个文件的最后修改日期为May 9 15:16

最后,表示这个文件的名称for_unzip.sh

rwx权限的详解
在前的文件信息中,可以看到rw的权限,实际上还有一个x权限,表示可执行权限,但是rwx这三个权限在不同的文件类型上,有着不一样的意义。

  • 如果是描述一个普通文件
    1、r 表示这个文件是可以读取,查看的
    2、w 表示这个文件是可以进行修改,但是不一定表示这个文件可以删除,因为还需要考虑这个文件所在的目录权限是否有能够删除的权限
    3、x 表示这个文件是可以执行的
  • 如果描述的是一个目录
    1、r 表示这个目录可以进行查看
    2、w 表示这个文件可以进行增加,删除或重命名
    3、x 表示可以进入这个目录

rwx权限还可以使用数字来表示为:r=4,w=2,x=1,所以rwx=4+2+1=7

  • 6
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值