Linux常用脚本100例1-45|助你快速了解Linux系统命令

-
检查磁盘空间:
#!/bin/bash
echo "磁盘空间使用情况:"
df -h
-
查看当前系统负载:
#!/bin/bash
echo "当前系统负载:"
uptime
-
列出当前目录下的所有文件和目录:
#!/bin/bash
echo "当前目录下的文件和目录:"
ls -l
-
查找文件:
#!/bin/bash
echo "查找文件:"
find /path/to/search -name "filename"
-
备份文件或目录:
#!/bin/bash
tar -czvf backup.tar.gz /path/to/directory
-
监控日志文件:
#!/bin/bash
echo "监控日志文件:"
tail -f /path/to/logfile.log
-
检查网络连接:
#!/bin/bash
echo "检查网络连接:"
ping -c 4 google.com
-
批量替换文件中的文本:
#!/bin/bash
sed -i 's/original_text/replacement_text/g' /path/to/file
-
创建一个新用户:
#!/bin/bash
username="newuser"
useradd $username
echo "$username:password" | chpasswd
-
检查磁盘 I/O:
#!/bin/bash
echo "磁盘I/O:"
iostat
-
检查端口使用情况:
#!/bin/bash
echo "端口使用情况:"
netstat -tulnp
-
清理临时文件:
#!/bin/bash
echo "清理临时文件:"
rm -rf /tmp/*
-
检查系统内存使用情况:
#!/bin/bash
echo "系统内存使用情况:"
free -h
-
列出所有运行中的进程:
#!/bin/bash
echo "所有运行中的进程:"
PS aux
-
检查系统磁盘读写速度:
#!/bin/bash
echo "磁盘读写速度测试:"
dd if=/dev/zero of=test bs=64k count=1000
rm -f test
-
检查系统 CPU 使用率:
#!/bin/bash
echo "系统CPU使用率:"
top
-
同步时间服务器:
#!/bin/bash
echo "同步时间服务器:"
ntpdate pool.ntp.org
-
检查系统服务状态:
-
列出所有已安装的包:
#!/bin/bash
echo "所有已安装的包:"
dpkg -l | grep -v '^rc'
-
检查系统日志:
#!/bin/bash
echo "系统日志:"
journalctl -xe
-
创建一个自解压的压缩包:
#!/bin/bash
zip -r /path/to/directory.zip /path/to/directory
unzip /path/to/directory.zip -d /path/to/extract
-
检查系统是否需要更新:
#!/bin/bash
echo "检查系统更新:"
apt-get update && apt-get upgrade -y
-
#!/bin/bash
echo "设置防火墙规则:"
ufw allow 22/tcp
ufw enable
-
监控磁盘空间并发送警告邮件:
#!/bin/bash
if [ $( df -h | grep / | awk '{ print $5 }' | sed 's/%//g' | sort -nr | head -n 1 | awk '{ print $1 }') -gt 85 ]; then
echo "磁盘空间不足" | mail -s "磁盘空间警告" user@example.com
fi
-
批量重命名文件:
#!/bin/bash
for file in *.jpg; do
mv "$file" "${file%.jpg}.png"
done
-
检查系统是否受到 SSH 暴力破解攻击:
#!/bin/bash
echo "检查SSH登录失败尝试:"
grep -i "Failed password" /var/log/auth.log | tail
-
#!/bin/bash
echo "备份MySQL数据库:"
mysqldump -u username -p'password' database_name > /path/to/backup.sql
-
监控特定服务的端口:
#!/bin/bash
echo "监控服务端口:"
while ! nc -z host port; do
echo "服务未运行,正在重启..."
systemctl restart service_name
sleep 1
done
echo "服务已运行"
-
清理旧的日志文件:
#!/bin/bash
echo "清理旧的日志文件:"
find /path/to/logs -name "*.log" -mtime +30 -exec rm {} ;
-
检查和修复文件系统:
#!/bin/bash
echo "检查和修复文件系统:"
fsck -y /dev/sda1
-
监控特定进程是否存在:
#!/bin/bash
echo "监控特定进程是否存在:"
pgrep -f process_name
if [ $? -eq 0 ]; then
echo "进程正在运行"
else
echo "进程未运行"
fi
-
#!/bin/bash
echo "自动安装系统更新:"
apt-get update && apt-get upgrade -y
-
创建一个简单的 Web 服务器:
#!/bin/bash
echo "创建一个简单的 Web 服务器:"
python -m SimpleHTTPServer 8000
-
监控磁盘空间并清理:
#!/bin/bash
echo "监控磁盘空间并清理:"
df -h | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $5 " " $1 }' | while read data disk; do
percent=$(echo $data | cut -d'%' -f1)
if [ $percent -ge 85 ]; then
echo "磁盘空间不足,正在清理:$disk"
sudo apt-get clean
sudo rm -rf /tmp/* /var/tmp/*
fi
done
-
备份配置文件:
#!/bin/bash
echo "备份配置文件:"
cp /path/to/config /path/to/backup/config.$(date +%Y%m%d%H%M%S)
-
检查系统是否受到 DDoS 攻击:
#!/bin/bash
echo "检查系统是否受到 DDoS 攻击:"
if [ $(netstat -n | grep ESTABLISHED | wc -l) -gt 5000 ]; then
echo "可能受到 DDoS 攻击"
else
echo "系统正常"
fi
-
自动重启服务:
#!/bin/bash
echo "自动重启服务:"
systemctl restart service_name
-
监控内存使用情况并发送警告邮件:
#!/bin/bash
echo "监控内存使用情况并发送警告邮件:"
mem_usage=$(free -m | awk '/Mem:/ { print $3/$2 * 100.0 }')
if (( $(echo "$mem_usage > 80" | bc -l) )); then
echo "内存使用率超过80%" | mail -s "内存使用警告" user@example.com
fi
-
批量下载文件:
#!/bin/bash
echo "批量下载文件:"
wget -m -k -p -np -A.pdf http://example.com/path/to/files
-
监控特定用户是否存在:
#!/bin/bash
echo "监控特定用户是否存在:"
id username &>/dev/null
if [ $? -eq 0 ]; then
echo "用户存在"
else
echo "用户不存在"
fi
-
监控特定服务是否运行:
#!/bin/bash
echo "监控特定服务是否运行:"
systemctl is-active service_name
if [ $? -eq 0 ]; then
echo "服务正在运行"
else
echo "服务未运行"
fi
-
检查和修复磁盘配额:
#!/bin/bash
echo "检查和修复磁盘配额:"
repquota -a
quotacheck -avugm
quotaon -avug
-
监控系统温度:
#!/bin/bash
echo "监控系统温度:"
lm-sensors
-
自动同步时间:
#!/bin/bash
echo "自动同步时间:"
timedatectl set-ntp true
-
设置 cron 任务:
#!/bin/bash
echo "设置 cron 任务:"
(crontab -l 2>/dev/null; echo "0 0 * * * /path/to/script.sh") | crontab -
网站声明
本站内容可能存在水印或引流等信息,请擦亮眼睛自行鉴别;以免上当受骗;
本站提供的内容仅限用于学习和研究目的,不得将本站内容用于商业或者非法用途;