Shell基础-3
Tutorial: Shell基础
Category: Shell
Published: 2026-04-07 13:58:25
Views: 23
Likes: 0
Comments: 0
Shell 基础-3
- 统计当前 Linux 系统中可以登录计算机的账户有多少个
#!/bin/bash
grep "bashquot; /etc/passwd | wc -l
awk -F: '/bash$/{x++}END{print x}' /etc/passwd
- 统计目录下的文件
#!/bin/bash
sum=0
cd /var/log
for i in $(ls -r *); do
if [ -f $i ]; then
let sum++
echo "文件名:$i"
fi
done
echo "总文件数量为:$sum"
- 批量添加解释器
#!/bin/bash
if ! grep -q "^#!" $1; then
sed -i '1i #!/bin/bash' $1
fi
- nginx 启动脚本
#!/bin/bash
program=/usr/local/nginx/sbin/nginx
pid=/usr/local/nginx/logs/nginx.pid
start() {
if [ -f $pid ]; then
echo "nginx 服务已经处于开启状态"
else
$program
fi
}
stop() {
if [ -! -f $pid ]; then
echo "nginx 服务已经关闭"
else
$program -s stop
echo "关闭服务 ok"
fi
}
status() {
if [ -f $pid ]; then
echo "服务正在运行..."
else
echo "服务已经关闭"
fi
}
case $1 in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 1
start
;;
status)
status
;;
*)
echo "你输入的语法格式错误"
;;
esac
- 磁盘分区格式化挂载
#!/bin/bash
fdisk /dev/vdb <<EOF
n
p
1
wq
EOF
mkfs.xfs /dev/vdb1
if [ -e /data ]; then
exit
fi
mkdir /data
echo '/dev/vdb1 /data xfs defaults 0 0' >>/etc/fstab
mount -a