Linux 第九天: (08月11日) 练习和作业

编写脚本/root/bin/systeminfo.sh 显示当前主机系统信息 包括主机名 ipv4地址 操作系统版本 内核版本 CPU信号 内存大小 硬盘大小

server_ip=`ifconfig|grep‘inet\b‘|grep -v ‘127.0.0.1‘|tr-s ‘ ‘|cut -d‘ ‘ -f3`
CPUmod=`lscpu|grep -i "model name:"`
Meminfo=`free -h|sed -n ‘2p‘|tr -s ‘ ‘|cut -d‘ ‘ -f2`
DISKinfo=`fdisk -l |sed -n ‘2p‘|sed -r ‘s/.*[[:space:]][0-9].*GB).*/\1/g`

echo ‘hostname:‘ $(hostname)
echo ‘hostIP:‘ ${server_ip}
echo ‘OS version:‘ $(cat /etc/redhat-release)
echo ‘Kernel version:‘ $(uname -r)
echo ‘CPU:‘ $CPUmod
echo ‘Memory:‘ $Meminfo
echo ‘Harddisk:‘ $DISKinfo

编写脚本/root/bin/backup.sh 可实现每日将/etc/目录备份到/root/etcYYYY-mm-dd中

backupdir="/root/etc$(date +%F)"
cp -a /etc $backdir
echo "backup $backdir finished."

编写脚本/root/bin/disk.sh显示当前硬盘分区中空间利用率最大值

maxused=`df -h|grep ‘/dev/sd‘ |tr -s ‘ ‘|sort -nr -t‘ ‘ -k5 |head -l |cut -d‘ ‘ -f5`
echo‘硬盘分区利用率最大值为:‘$maxused

编写脚本/root/bin/links.sh显示正连接本主机的每个远程主机IPv4地址和连接数, 并按连接数多少排序

netstat -nt |tr -s ‘ ‘|cut -d‘ ‘ -f5|tr -cs‘0-9.‘ ‘\n‘|egrep‘([0-9]+.){3}[0-9]+‘|sort |uniq -c|sort -nr|tr -s ‘ ‘ ‘\t‘

写一个脚本/root/bin/sumid.sh 计算/etc/passwd文件中的第10和20个用户ID之和

dir=/etc/passwd
n=10
m=20
id_10=`cat $dir|head -$n|tail -1|cut -d: -f3`
id_20=`cat $dir|head -$m|tail -1|cut -d: -f3`
num=$[id_10+id_20]

UID1=`sed -n ‘10p‘/etc/passwd |cut -f: -f3`
UID2=`sed -n ‘20p‘/etc/passwd |cut -d: -f3`
let Sumid=$UID1+$UID2

写一个脚本/root/bin/sumspace.sh 传递两个文件路径作为参数给脚本 计算这两个文件中所有空白行之和

File1=`grep‘^$‘ $1|wc -l`
File2=`grep‘^$‘ $2|wc -l`
let Sumspace=$File1+$File2
echo "the sum of $1 + $2 spacelines is $Sumspace"
unset File1
unset File2
unset Sumspace

写一个脚本/root/bin/sumfile.sh 统计/etc /var /usr 共有多少一级子目录和文件

File1=`ls -A /etc |wc -l`
File2=`ls -A /var |wc -l`
File3=`ls -A /usr |wc -l`
let Sumfile=$File1+$File2+$File3
echo "the sum is $Sumfile"
unset File1
unset File2
unset File3
unset Sumfile

写一个脚本/root/bin/argsmun.sh 接受一个文件路径作为参数 如果参数小于1 则提示用户"至少应该给一个参数" 并立即退出 如果参数个数不小于1 则显示第一个参数说指向的文件中空白行数

写一个脚本/root/bin/argsnum.sh 接受一个文件IPv4作为参数 测试是否可以连通 如果ping通 则提示用户"该ip地址可以访问" 如果不可ping通 则提示用户"该IP地址不可访问"

chmod -rw /tmp/file1 编写脚本/root/bin/per.sh 判断当前用户对/tmp/file1是否不可读不可写

编写脚本/root/bin/nologin.sh和login.sh 实现禁止和允许普通用户登录系统

写一个脚本/root/bin/hostping.sh,接受一个主机的IPv4地址做为参数,先判断是否合格IP,否,提示IP格式不合法并退出,是,测试是否可连通。如果能ping通,则提示用户“该IP地址可访问”;如果不可ping通,则提示用户“该IP地址不可访问”

计算1+2+3+...+100的值

计算从脚本第一参数A开始,到第二个参数B的所有数字的总和,判断B是否大于A,否提示错误并退出,是则计算之

时间: 2024-12-21 12:38:33

Linux 第九天: (08月11日) 练习和作业的相关文章

Linux 第九天: (08月11日) Linux Shell脚本编程

Shell脚本是包含一些命令或声明, 并符合一定格式的文本文件格式要求 运行shebang机制#!/bin/bash bash -n /path/to/some_script  检测脚本中的语法错误bash -x /path/to/some_script  调试执行 bash中变量的种类本地变量 生效范围 当前shell进程, 对当前外进程, 包括子shell无效环境变量 生效范围 当前shell进程和子进程局部变量 生效范围 当前shell进程中某代码片段 通常指函数位置变量 $1 $2 让脚

Linux 第八天: (08月09日) 练习和作业

1删除/etc/grub2.cfg所有以空白开头的行行首空白字符 sed 's#^[[:space:]]\+##' /etc/grub2.cfgsed -r '[email protected]^[[:space:]][email protected]@' /etc/grub2.cfg 2删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行当行首的#和空白字符 sed    '[email protected]^#[[:space:]]\[email protected]@'

Linux 第30天: (08月5日) 练习和作业

变量脚本 1.编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小 server_ip=`ifconfig|grep'inet\b'|grep -v '127.0.0.1'|tr-s ' '|cut -d' ' -f3` CPUmod=`lscpu|grep -i "model name:"` Meminfo=`free -h|sed -n '2p'|tr -s ' '|cut -

Linux学习笔记4月11日任务

11.10/11.11/11.12 安装PHP5 11.13 安装PHP7 php中mysql,mysqli,mysqlnd,pdo到底是什么http://blog.csdn.net/u013785951/article/details/60876816 查看编译参数 http://ask.apelearn.com/question/1295 原文地址:http://blog.51cto.com/12059818/2105155

Linux 第15天: (08月29日) 练习和作业

管理磁盘配额 fdiskpartx -a /dev/sda mount /dev/sda6 /homedfcd /homemv * /home vim /etc/fstab                            启用磁盘配额挂载选项 :r!blkid /dev/sda6  /home  ext4  default  0 0:r!blkid /dev/sda6  /home  ext4  usrquota,grpquota  0 0 mount -o remount /dev/sd

Linux 第八天: (08月09日) Linux文本编辑器vim

sed 行编辑器 stream EDitor sed -n 不输出模式空间内容的自动打印sed -e 多点编辑sed -f /PATH/TO/SCRIPTFILEsed -i 原处编辑 script单地址 # 指定的行/pattern/ 所能匹配到底每一行 地址范围#,##,+#/pat1/,/pat2/#,/pat1/~ 步进1~2 奇数行2~2 偶数行 sed d 删除模式空间匹配的行sed p 显示模式空间中的内容sed a \text 在行后追加文件, 支持\n多行追加sed i \te

Linux 第十天: (08月15日) 练习和作业

查找/var目录下属主为root 且属组为mail的所有文件find  /var/ -user root -group mail 查找/var目录下不属于root lp gdm的所有文件find /var/ -not \(-user root -o -user jane -o -user jane\) 查找/var目录下最近一周修改过内容 且属主不为root 也不是postfix的文件find /var/ -mtime -7 \(-not -user root -a -not group pos

Linux 第16天: (08月31日) 练习和作业

netstat -nt               查看网络连接 netstat -no               查看网络连接win tasklist |findstr ???     查看进程win echo 50 > /proc/sys/net/ipv4/ip_default_ttl    改ttl值 ping -f 10.1.250.95 -s 65507

Linux 第六天: (08月03日) 练习和作业

当用户xiaoming对/testdir目录无执行权限时, 无法做哪些操作? 无法 ls -l 无法cd 当用户xiaoqiang对/testdir目录无读权限时, 无法做哪些操作? 无法查看目录文件列表 当用户wangcai对/testdir目录无写权限时, 该目录下只读文件file是否可以修改删除? 无法删除文件 无法创建文件 可以修改文件 复制/etc/fstab文件到var/tmp, 设置文件所有者为wangcai读写权限, 所属组为sysadmins组有读写权限, 其它人无权限 gro