-
编写脚本实现登陆远程主机
- 使用 expect
#!/usr/bin/expect -f set ip [lindex $argv 0] set user [lindex $argv 1] set passwd [lindex $argv 2] set timeout 30 set force_conservative 1 if {$force_conservative} { set send_slow {128 .1} } spawn ssh -p 2121 $user@$ip; expect { "*continue connecting (yes/no)?" { send -s "yes\r"; exp_continue } "*assword:" { send -s "$passwd\r"; } } interact
-
生成10个随机数保存于数组中,并找出其最大值和最小值
#!/bin/bash for ((i=0;i<10;i++)) do nums[$i]=`echo $[$RANDOM%100]` [ "$i" -eq 0 ] && max="${nums[$i]}" && min="${nums[$i]}" && continue [ "${nums[$i]}" -gt "$max" ] && max=${nums[$i]} && continue [ "${nums[$i]}" -lt "$min" ] && min=${nums[$i]} done echo "總數: ${nums[*]}" echo "最大值: $max" echo "最小值: $min"
-
输入若干个数值存入数组中,采用冒泡算法进行升序或降序排序
#!/bin/bash declare -a nums for ((i=0;i<10;i++)) do nums[$i]=`echo $[$RANDOM%100]` [ "$i" -eq 0 ] && max="${nums[$i]}" && min="${nums[$i]}" && continue [ "${nums[$i]}" -gt "$max" ] && max=${nums[$i]} && continue [ "${nums[$i]}" -lt "$min" ] && min=${nums[$i]} done echo "總數: ${nums[*]}" echo "最大值: $max" echo "最小值: $min" count="${#nums[*]}" declare -i n=$count for ((x=0;x<"$count-1";x++)) do for ((y=0;y<"$count-1-x";y++)) do let z=$y+1 if [ "${nums[$y]}" -lt "${nums[$z]}" ]; then tmp=${nums[$z]} nums[$z]=${nums[$y]} nums[$y]=$tmp fi done done echo "新排列的總數:${nums[*]}"
-
总结查看系统负载的几种命令,总结top命令的指标大概什么含义
-
上半部資訊
欄位 說明 top 目前時間 up 主機到目前的開機時間 user 目前登入系統使用者數 load average 有三筆資訊,分別是系統每1分鐘、5分鐘、15分鐘的負載情況 Tasks 有五筆系統行程相關資訊,分別是所有行程(total),正在執行(running),休眠狀態(sleeping),已停止(stopped),僵屍狀態(zombie) %Cpu(s) 有八筆資訊:
us:用戶空間佔用CPU的百分比
sy:內核空間佔用CPU的百分比
ni:改變過優先順序的進程佔用CPU的百分比
id:
wa:IO等待佔用CPU的百分比
hi:硬中斷(Hardware IRQ)佔用CPU的百分比
si:軟中斷(Software Interrupts)佔用CPU的百分比
st:KiB Mem 記憶體使用狀況:
total:實體記憶體容量
free:剩餘記憶體容量
used:已使用的記憶體容量
buff/cach:暫存記憶體容量KiB Swap swap使用狀況
total:swap總容量
free:剩餘的swap容量
used:已使用的swap容量
avail Mem 暫存記憶體容量 -
下半部資訊
欄位 說明 PID 行程id(Process ID) USER 該行程使用者 PR 行程優先順序 NI nice值(值越小優先權優高) VIRT 該行程使用的虛擬記憶體總量,單位kb(VIRT=SWAP+RES) RES 該行程程使用的、未被使用的實體記憶體大小,單位kb(RES=CODE+DATA) SHR 共用記憶體大小(單位kb) S 行程狀態:
D=不可中斷的睡眠狀態
R=運行
S=睡眠
T=跟蹤/停止
Z=僵屍進程%CPU 上次更新到現在的CPU時間佔用百分比 %MEM 行程使用的實體記憶體百分比 TIME+ 行程使用的CPU時間總計,單位1/100秒 COMMAND 行程名稱
-
-
编写脚本,使用for和while分别实现192.168.0.0/24网段内,地址是否能够ping通,若ping通则输出"success!",若ping不通则输出"fail!"
- 使用 for 迴圈
#!/bin/bash ip='192.168.0.' for ips in $(seq 254) do /bin/ping -c 2 -W 1 $ip$ips > /dev/null if [ "$?" -le "0" ]; then echo " $ip$ips Success!" else echo " $ip$ips Fail!" fi done
- 使用 while 迴圈
#!/bin/bash ip='192.168.0.' declare -i num=1 while (( "$num" <= "254" )); do /bin/ping -c 2 -W 1 $ip$num > /dev/null if [ "$?" -le "0" ]; then echo " $ip$num Success!" else echo " $ip$num Fail!" fi let num++ echo $num done exit
-
每周的工作日1:30,将/etc备份至/backup目录中,保存的文件名称格式 为“etcbak-yyyy-mm-dd-HH.tar.xz”,其中日期是前一天的时间
- 寫一個備份腳本(/root/crontab.sh),再放入 cronjob
#!/bin/bash dir='/backup' file="etcbak-`date -d -1day +%F-%H`" if [ ! -e $dir ]; then echo '建立'$dir mkdir $dir fi /usr/bin/tar zcvf $dir/$file.tar.gz /etc/ > /dev/null
$ sudo crontab -e 30 01 * * 1-5 sh /root/crontab.sh > /dev/null
N59030-第六周作業
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 一、简述osi七层模型和TCP/IP五层模型 1、OSI参考模型 (1) OSI的来源OSI(Open Syste...