• 北京好未来公司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里面的服务是系统服务,即随着系统开机而开启,关机而关机
    
  • 相关阅读:
    Lumen源码分析之 一步一步带你实现Lumen容器(一)
    php 注册器模式 工厂模式
    理解 PHP 依赖注入 和 控制反转
    composer使用git作为仓储
    monolog记录日志
    Jupyter Notebook快捷键
    图像灰度化
    一道算法题:拼数字
    [转]Vue生态系统中的库
    window.postMessage实现网页间通信
  • 原文地址:https://www.cnblogs.com/syy1757528181/p/13603895.html
Copyright © 2020-2023  润新知