一、
ifconfig 网卡 可以显示此网卡的信息
显示信息中包含此网卡使用的ip地址
请用命令过滤此ip并在输出时只显示ip其他信息不显示
ifconfig ens3 | head -n 2 | tail -n 1 | cut -d ' ' -f 10
ifconfig ens3 | awk '/inet\>/{print $2}'
二、
排序出现次数最多的数字
sort -n num1 | uniq -c | sort -t " " -k 1 -r | head -n `sort -n num1 | uniq -c | sort -t " " -k 1 -r | awk '{print $1}' | uniq -c | head -n 1 | awk '{print $1}'` | awk '{print $2}'
三、
找出能登陆系统用户中UID最大的用户,并显示其名称
grep bash$ /etc/passwd | sort -t : -k 3 -nr | cut -d : -f 1 | head -n 1
四、
编写一个脚本,使ping一个ip的时候,错误报错显示’IP IS DOWN’,正确显示’IP IS UP’
vim ping.sh
///
ping -c 1 -w 1 $1 &> /dev/null &&{
echo -e "\033[32m$1 is on\033[0m"
}||{
echo -e "\033[31m$1 is down\033[0m"
}
sh ping.sh 172.25.254.51
五、
编写脚本完成以下条件:
file_check.sh 在执行时,如果脚本后未指定检测文件报错“未指定检测文件,请指定”,如果脚本后指定文件不存在报错“此文件不存在”,当文件存在时请检测文件类型并显示到输出中。
vim file_check.sh
///
[ -z "$1" ] && {
echo "未指定检测文件,请指定"
exit
}
[ -e "$1" ] || {
echo "$1"此文件不存在
exit
}
[ -d "$1" ] && {
echo "$1"是目录
exit
}
[ -S "$1" ] && {
echo "$1"是套接字
exit
}
[ -L "$1" ] && {
echo "$1"是软连接
exit
}
[ -f "$1" ] && {
echo "$1"是普通文件
exit
}
[ -b "$1" ] && {
echo "$1"是快设备
exit
}
[ -c "$1" ] && {
echo "$1"是字符设备
exit
}
///
sh file_check.sh ~
问题出现:
这样写出来的脚本,它所有的内容并不是在平等的处理效率上的,当文件判定在vim编写中比较靠前时,文件的判定次数少,而靠后时则判定次数多,这显然是不行的,所以要用到在shell中的switch语句case
来编写!!!后续学习补充!