shell常用脚本案例
时间: 2023-04-24 08:07:38 浏览: 82
1. 批量修改文件名:使用for循环和mv命令,可以批量修改文件名,例如将所有的txt文件名中的空格替换为下划线:
```
for file in *.txt
do
mv "$file" "${file// /_}"
done
```
2. 批量压缩文件:使用tar命令可以将多个文件压缩成一个文件,例如将当前目录下的所有txt文件压缩成一个tar.gz文件:
```
tar -czvf all_txt_files.tar.gz *.txt
```
3. 批量解压文件:使用tar命令可以将压缩文件解压缩,例如将all_txt_files.tar.gz解压缩到当前目录:
```
tar -xzvf all_txt_files.tar.gz
```
4. 批量复制文件:使用cp命令可以复制文件,例如将当前目录下的所有txt文件复制到另一个目录:
```
cp *.txt /path/to/destination/
```
5. 批量删除文件:使用rm命令可以删除文件,例如删除当前目录下的所有txt文件:
```
rm *.txt
```
相关问题
运维常用shell脚本案例
运维常用的shell脚本案例有很多,以下是其中几个常见的案例:
1. 批量创建用户账号:使用循环结构和命令行工具,可以编写一个脚本来批量创建用户账号。比如,使用`useradd`命令创建用户,然后使用`passwd`命令设置用户密码。脚本如下所示:
```
#!/bin/bash
for i in `seq 1 50`
do
useradd -G student student$i
echo student$i | passwd student$i --stdin
done
```
2. 文件转移和备份:使用脚本可以实现将指定目录下大于一定大小的文件转移到另一个目录下。比如,使用`ls`命令列出目录下的文件,然后使用`mv`命令将符合条件的文件移动到另一个目录。脚本如下所示:
```
#!/bin/bash
for FILE in `ls /usr/local/test`
do
if [ -f $FILE ] ; then
if [ `ls -l $FILE | awk '{print $5}'` -gt 100000 ] ; then
mv $FILE /tmp/
fi
fi
done
```
3. 定期备份文件:使用脚本可以实现定期备份指定目录下的文件,并按照一定的命名规则存放备份文件。比如,使用`cp`命令复制文件,然后使用`date`命令获取当前日期,最后使用`tar`命令将文件打包成压缩文件。脚本如下所示:
```
#!/bin/bash
BACKUP_DIR="/root/bak"
DATE=$(date +"%y%m%d")
tar -czvf $BACKUP_DIR/$DATE_etc.tar.gz /etc
```
这些案例只是运维中常见的一部分,运维人员还可以根据具体需求编写其他的shell脚本来实现不同的功能。
阅读全文