ThatManK Mobile Article
Shell基础-8
Shell 基础-8
- 修改 Linux 系统的最大打开文件数量
#!/bin/bash
# 往/etc/security/limits.conf 文件的末尾追加两行配置参数
# 修改最大打开文件数量为 65536
cat >>/etc/security/limits.conf <<EOF
* soft nofile 65536
* hard nofile 65536
EOF
- 自动修改计划任务配置文件
#!/bin/bash
read -p "请输入分钟信息(00-59):" min
read -p "请输入小时信息(00-24):" hour
read -p "请输入日期信息(01-31):" date
read -p "请输入月份信息(01-12):" month
read -p "请输入星期信息(00-06):" weak
read -p "请输入计划任务需要执行的命令或脚本:" program
echo "$min $hour $date $month $weak $program" >>/etc/crontab
- 统计次数
#!/bin/bash
# 每读取一行文件内容,即从第 1 列循环到最后 1 列,依次判断是否包含 root 关键词,如果包含则 x++
awk -F: '{i=1;while(i<=NF){if($i~/root/){x++};i++}} END{print "root 出现次数为"x}' /etc/passwd
awk -F: '{
i=1;
while(i<=NF) {
if($i~/root/) {
x++
};
i++
}
}
END{
print "root 出现次数为" x
}' /etc/passwd
- 进程统计
#!/bin/bash
running=0
sleeping=0
stoped=0
zombie=0
# 在 proc 目录下所有以数字开始的都是当前计算机正在运行的进程的进程 PID
# 每个 PID 编号的目录下记录有该进程相关的信息
for pid in /proc/[1-9]*; do
procs=$((procs + 1))
stat=$(awk '{print $3}' $pid/stat)
# 每个 pid 目录下都有一个 stat 文件,该文件的第 3 列是该进程的状态信息
case $stat in
R)
running=$((running + 1))
;;
T)
stoped=$((stoped + 1))
;;
S)
sleeping=$((sleeping + 1))
;;
Z)
zombie=$((zombie + 1))
;;
esac
done
echo "进程统计信息如下"
echo "总进程数量为:$procs"
echo "Running 进程数为:$running"
echo "Stoped 进程数为:$stoped"
echo "Sleeping 进程数为:$sleeping"
echo "Zombie 进程数为:$zombie"
- 判断用户输入
#!/bin/bash
read -p "请输入一个字符:" KEY
case "$KEY" in
[a-z] | [A-Z])
echo "字母"
;;
[0-9])
echo "数字"
;;
*)
echo "空格、功能键或其他控制字符"
;;
esac
# 一个字符...