北京好未来公司linux面试题

linux面试试题

题一:用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启动进程,等待用户登录

题六:如何查看并发链接数

答:

img

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里面的服务是系统服务,即随着系统开机而开启,关机而关机
原文地址:https://www.cnblogs.com/syy1757528181/p/13603895.html