题一:用shell程序查找192.168.190.1-192.168.190.100哪个主机在线,分别显示其在线情况
答:
for NUM in $(seq 100)
do
ping 192.168.190.$NUM -c 1 &>/dev/null
if [ $? -eq 0 ]
then
echo "192.168.190.$NUM is on-line"
else
echo "192.168.190.$NUM is off-line"
fi
done
题二:用RANDOM如何得到0-38中间的数:
答:
RANDOM的范围是:0-32767
则:
1.若取0-38中间的数:
expr $RANDOM % 39 # expr命令获得后面运算后的结果,空格必须要有
2.若取1-38之间的数:
先(同时减一)取得0 -37之间的数 $RANDOM % 38
后加1 即可:$RANDOM % 38 + 1
即:expr $RANDOM % 38 + 1 #注意空格
3.若取3-90之间的随机数:
先(同时减去3)取得0-87之间的随机数:expr $RANDOM % 88
在加3即可 expr $Rrandom % 88 + 3
例如:随机1-1000中的一个数
expr $RANDOM%999 + 1
题三:批量创造20个用户,账户为user_1、2、3…20 .,密码是user_5位随机数
答:
#!/bin/bash
for USER in $(seq 20)
do
id user_$USER &>>/dev/null
if [ $? -eq 0 ]
then
echo "user_$USER already exists"
else
RPASSWD=$(expr $RANDOM % 12768 + 10000) #10000-32767之间的5位随机数
useradd user_$USER -p user_$RPASSWD
if [ $? -eq 0 ]
then
echo "user_$USER created successfully"
else
echo "user_$USER created failed"
fi
fi
done
题四:随机生成一个5位随机字符串:
答:
此处给出2中种简单的方式
head -c x 显示前面x字节的内容
head -c -x 显示除了前面x字节的内容
1.date | md5num | head –c 5
2.openssl rand 100 –base64 |head -c 5
# 将随机产生的100个字符用base64编码输出后选中选前5个字符
#若是 -hex 则是用16进制输出
题五:linux开机的具体流程
答:
1.加载BIOS的硬件信息与进行自我检测,并且依据设置取得第一个可启动的设备
2.读取并执行第一个启动设备内MBR内的boot loader(即grub等程序)
3.根据boot loader的设置加载内核,内核开始检测硬件和加载驱动程序
4.硬件驱动成功后,内核会主动调用init进程,取得运行等级的信息
5.init执行/etc/rc.d.rc.sysinit文件准备软件的小左环境
6.init执行运行等级的各个服务的启动
7.init执行/etc/rc.d/rc.local
8.init执行终端模拟程序mingetty启动进程,等待用户登录
题六:如何查看并发链接数
答:
netstat 参数
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
注:LISTEN和LISTENING的状态只有用-a或者-l才能看到
sort参数:
-n :以纯数字进行排序(默认是以文字类型进行排序)
-r :反向排序
-t : 分割符(以什么符号分割来进行排序,默认是空格)
-k :以某个区间进行排序
eg:cat /etc/passwd | sort -t ':' -k 3 # 以':'为分隔符选取第3列进行排序
uniq参数:
-i : 忽略大小写
-c : 进行计数
题七:如何查看特定用户的进程
答:ps -u root #查看root用户的对应进程
题八:如何以八进制和十六进制的方式查看一个文件
答:
八进制:
od filename
注:od默认以八进制显示,其他参数详见:
http://www.itdaan.com/blog/2017/10/09/b2297cc3d424414d9a61a49e329652f2.html
十六机制:
xxd filename
参数:
-l :从开始显示多少字节的内容。(2个十六进制为一个字节)
-g : 多少字节为一个组
-i:以数组的方式输出
题九:linux如何挂在windows下的共享目录
linux服务器上的操作
创建挂载目录/mnt/APP
[root@dev ~]# mkdir /mnt/APP
使用mount.cifs进行挂载操作:(下面的用户名和密码是登陆windows的)
[root@dev ~]# mount.cifs //192.168.9.155/APP /mnt/APP/ -o user=administrator,pass=dsff#$TTT
题十:怎么把脚本添加到系统服务里,即用service来调用
在脚本里加入
#!/bin/bash
# chkconfig: 345 85 15
# description: httpd
然后保存
chkconfig httpd –add 创建系统服
现在就可以使用service 来 start or restart
若仅仅想使用service命令调用,只把脚本放到/etc/init.d/木目录下即可
chkconfig里面的服务是系统服务,即随着系统开机而开启,关机而关机