linux怎么查看本机内存大小
244
2022-11-06
第六周
1、编写脚本实现登陆远程主机。(使用expect和shell脚本两种形式)。
yum -y install expect #!/usr/bin/expect set ip 127.0.0.1 set user root spawn ssh -l $user $ip expect { "yes/no" {send "yes\n";exp_continue } "password" {send "123456\n"} } interact expect expect.sh
shell
tar xvf sshpass-1.05.tar.gz cd sshpass-1.05.tar.gz ./configure make make install #!/bin/bash IP=127.0.0.1 USER=root /usr/local/bin/sshpass -p '123456' ssh $USER@$IP
2、生成10个随机数保存于数组中,并找出其最大值和最小值
seq命令用于产生从某个数到另外一个数之间的所有整数。linux中$RANDOM用于生成0—32767的随机数 大写[]判断时前后要有空格#!/bin/bashdeclare -i min maxdeclare -a numsfor ((i=0;i<10;i++)); donums[$i]=$RANDOM[ $i -eq 0 ] && min=${nums[0]} && max=${nums[0]} && continue[ ${nums[$i]} -gt $max ] && max=${nums[$i]}[ ${nums[$i]} -lt $min ] && min=${nums[$i]}doneecho "numbers are ${nums[*]}"echo max is $maxecho min is $min
3、输入若干个数值存入数组中,采用冒泡算法进行升序或降序排序
计算数组的长度len=${#nums[*]}read -a 数组,-p提示升序
#!/bin/bash declare -a nums read -p "请从键盘输入您想排序的数字,以空格隔开,回车结束" --a nums len=${#nums[*]} for ((j=0;j<$len;j++));do for ((i=0;i<$len-1;i++));do if [ ${nums[$i]} -gt ${nums[$i+1]} ];then x=${nums[$i]} nums[$i]=${nums[$i+1]} nums[$i+1]=$x fi done done echo "升序排序后的结果为:" ${nums[*]}
降序
#!/bin/bash declare -a nums read -p "请从键盘输入您想排序的数字,以空格隔开,回车结束" --a nums len=${#nums[*]} for ((j=0;j<$len;j++));do for ((i=0;i<$len-1;i++));do if [ ${nums[$i]} -lt ${nums[$i+1]} ];then x=${nums[$i]} nums[$i]=${nums[$i+1]} nums[$i+1]=$x fi done done echo "升序排序后的结果为:" ${nums[*]}
4、总结查看系统负载的几种命令,总结top命令的指标大概什么含义(不要求全部写出来)
top 主要看load average,CPU idle
top这里显示不同模式下所占cpu时间百分比,这些不同的cpu时间表示:us, user: 运行(未调整优先级的) 用户进程的CPU时间sy,system: 运行内核进程的CPU时间id 空闲时间
5、编写脚本,使用for和while分别实现192.168.0.0/24网段内,地址是否能够ping通,若ping通则输出"success!",若ping不通则输出"fail!"
for:
#!/bin/bash ip=192.168.0. for id in {1..254};do { if /bin/ping -c 1 -W 1 $ip$id >/dev/null;then echo "success!" else echo "fail" fi } done
while
#!/bin/bash ip=192.168.0. id=1 while (( $id < 254 )); do { if /bin/ping -c 1 -W 1 $ip$id >/dev/null ;then echo "success!" else echo "fail" fi } let id++ done
6、每周的工作日1:30,将/etc备份至/backup目录中,保存的文件名称格式 为“etcbak-yyyy-mm-dd-HH.tar.xz”,其中日期是前一天的时间
如果 filename存在,则为真 [ -e /var/log/syslog ] 如果 filename为目录,则为真 [ -d /tmp/mydir ] 如果 filename为常规文件,则为真 [ -f /usr/bin/grep ]如果 filename为符号链接,则为真 [ -L /usr/bin/grep ]
#!/bin/bash [-d /backup ] || mkdir /backup name=etcbak-`date -d -1day +%F-%m-%d-%H` tar -cvf /backup/$name.tar /etc xz -z /backup/$name.tar crontab -e 35 1 * * 1-5 /bin/sh /baketc.sh
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~