zoukankan      html  css  js  c++  java
  • 运维笔试题

    如果你正好看到此题,且有更好的答案请评论,谢谢!

    1.假设你以root用户登录,请新建一个用户testuser,并将其添加到testers用户组,写出所有的命令。

    2.以上的命令实际上是操作了哪些文件,这些配置文件的内容是什么?内容中具体字段的含义是什么?

    3.做为tsetuser用户登录系统能修改上述文件么?如果不能应该怎么做?

    4.某公司得到一个B类网络地址,有5个部门,每个部门有500台电脑,如何划分子网?写出网络ip地址的分类。

    5.解释一下“s”在权限位出现是什么意思?

    6.磁盘未满但不能创建新文件是为什么?如何使用命令确认该情况?如何解决?

    7.写出以下命令:

          a、按修改时间查看当前目录的文件;

          b、以GB为单位查看当前磁盘空间使用情况;

          c、以MB为单位查看当前目录内容所占用的磁盘空间;

       d、让Linux系统在10分钟后关机,让Linux系统在晚上11::0分关机;

       e、查看/var/log/1.log的头15行和后15行的记录;

          f、创建一个新文件是它的权限就是600;

          g、查看所有使用tcp协议的监听进程的情况;

          h、查找“~/work/”所有以test开头,以php结尾的文件,并在这些文件中查找所有以十进制点分形式给出的ip地址;

    8.假设已经安装了MySQL,写出以下命令或语句:

          a、创建数据库test_db;

          b、创建一个用户test_user,密码为1234;

          c、给test_user查询所有test_db表的权限;

          d、假设一个已经存在的数据库public_db,使用命令备份其中所有的数据;

          e、将备份好的public_db的数据恢复;

          f、假设有一张表包括了id、name、value3个字段,写一个sql语句查询id、name以及每个不同name下value的和,并且写出value大于1000的结果。

    答案:

    1.假设你以root用户登录,请新建一个用户testuser,并将其添加到testers用户组,写出所有的命令。

    groupadd testers;

    useradd  testuser -g testers;

    2.以上的命令实际上是操作了哪些文件,这些配置文件的内容是什么?内容中具体字段的含义是什么?

    # tail -1 /etc/group              //用户组文件
    testers:x:1001:
    # tail -1 /etc/passwd           //用户账号的重要信息保存文件
    testuser:x:504:1001::/home/testuser:/bin/bash

    #tail -1 /etc/shadow           //用户密码保存文件

    testuser:!!:17497:0:99999:7:::

    3.做为tsetuser用户登录系统能修改上述文件么?如果不能应该怎么做?

    只可以用passwd命令修改自己的密码,不可以进行读取以外的操作,没有权限。

    修改的话得配置sudo权限:sudo权限配置如下

    visudo来修改sudo文件(/etc/sudoers),添加:

    testuser ALL=(ALL)       ALL     //格式是:用户  机器    操作 

    4.某公司得到一个B类网络地址,有5个部门,每个部门有500台电脑,如何划分子网?写出网络ip地址的分类。

    首先关于ip地址你应该知道这些:

    常用的:
    A类:0 网络号主机号                       0-127   由于127.0.0.1系统保留,故1.0.0.0-126.255.255.255 B类:1 0 网络号 主机号                        128-191    128.0.0.0-191.255.255.255 C类:1 1 0 网络号 主机号                       192-223    192.0.0.0-223.255.255.255
    不常用的:
    d类:用于多播,不在分配                        224-239     224.0.0.0-239.255.255.255
    e类:用于实验,不在分配                        240-255     240.0.0.0-255.255.255.255
    A类地址用于少量的网络(最多127个)主机数大于2
    ^16的大型网,每个A类网络可容纳最多2^24台主机; B类地址用于主机数介于2^82^16之间数量不多不少的中型网,B类网络最多2^14个; C类地址用于每个网络只能容纳2^8台主机的大量小型网,C类网络最多2^21个。 除了以上A、B、C三个主类地址外,还有另外两类地址,如下: D类:1 1 1 0多目地址 E类:1 1 1 1 0留待后用 其中多目地址(multicast address)是比广播地址稍弱的多点传送地址,用于支持多目传输技术。E类地址用于将来的扩展之用
    私有地址:
      A:10.0.0.0(1个)
      B:172.16.0.0- 172.32.0.0(16个)
      C:192.168.0.0-192.168.255.0(256个)

    题目要求实际上是划分5个子网,每个子网有500台电脑,假设给的ip是192.168.0.0,我子网有2x255=510就可以满足,这样的话我的子网掩码为255.255.254,可以分128个子网,172.16.0 255.255.255.254
    192.168.2.0 255.255.254.0     部门一
    192.168.4.0 255.255.254.0     部门二
    192.168.6.0 255.255.254.0     部门三
    192.168.8.0 255.255.254.0     部门四

    192.16.10.0 255.255.254.0     部门五

    5.解释一下“s”在权限位出现是什么意思?

    是指让普通用户在使用二进制文件时拥有属主的权限,比如/etc/passwd,每个用户都可以用passwd命令来修改自己的密码,如果不想让其他用户修改可以chmod u-s

    可以参考:https://www.cnblogs.com/zhangming-blog/articles/5956280.html

    6.磁盘未满但不能创建新文件是为什么?如何使用命令确认该情况?如何解决?

    查看系统的inode指是否已满df -i

    解决方法:清除占用inode过多的无用文件,或者重新格式化磁盘重新分配inode

    cache为缓存目录,有很多无用文件,用软连接将空闲分区/opt中的newcache目录连接到/data/cache,使用/opt分区的inode来缓解/data分区inode不足的问题:
      ln -s /opt/newcache /data/cache

    7.写出以下命令:

          a、按修改时间查看当前目录的文件;

        ls -l显示的是该文件的mtime,也就是这个文件的内容上次更改的时间。

          b、以GB为单位查看当前磁盘空间使用情况;

        df -h以合适的单位来显示,例如GB

          c、以MB为单位查看当前目录内容所占用的磁盘空间;

        du -sm

       d、让Linux系统在10分钟后关机,让Linux系统在晚上11:01分关机;

        shutdown  +10

        shutdown -h 23:01  (-h关机,-r重启)

         shutdown -c 取消重启

       e、查看/var/log/1.log的头15行和后15行的记录;

        head -15、tail -15

          f、创建一个新文件时它的权限就是600;

        touch test; chmod 600 test

        install 命令可以cp时设定权限

          g、查看所有使用tcp协议的监听进程的情况;

        netstat -t

          h、查找“~/work/”所有以test开头,以php结尾的文件,并在这些文件中查找所有以十进制点分形式给出的ip地址;

        cat `find ~/work/ -name "test*php"` | egrep -o  "([0-9]{1,3}.){3}[0-9]"

        cat `find ~/work/ -name "test*php"` | grep -o  "[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]"

              正则表达ip:https://www.cnblogs.com/olive987/p/5844501.html

    8.假设已经安装了MySQL,写出以下命令或语句:

          a、创建数据库test_db;

        create database test_db;

          b、创建一个用户test_user,密码为1234;

        命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 

          c、给test_user查询所有test_db表的权限;

        命令:grant select on test_db.* to test_user@localhost; test_user 可以查询 test_db 中的表。

          d、假设一个已经存在的数据库public_db,使用命令备份其中所有的数据;

      mysqldump基本语法:

          mysqldump -u username -p dbname table1 table2 ...-> BackupName.sql

        命令:mysqldump -u test_user -p public_db > pablic_dbbak.sql

          e、将备份好的public_db的数据恢复;

         命令:mysql -uroot pablic_db < pablic_dbbak.sql

          f、假设有一张表包括了id、name、value3个字段,写一个sql语句查询id、name以及每个不同name下value的和,并且写出value大于1000的结果。   

        mysql> select * from (select id,name,SUM(value) as "sumvalue" from t1 group by name) t2 where sumvalue>1000;
            +------+------+----------+
            | id | name | sumvalue |
            +------+------+----------+
            | 2 | abm | 1223 |
            +------+------+----------+
            1 row in set (0.00 sec)

    作者:运维·拖拉斯基

    作者水平很低, 如果有错误及时指出, 如果你觉得本文写的好请点一波赞~(≧▽≦)/~

    出处:https://www.cnblogs.com/-abm/

    本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    26个Jquery使用小技巧
    jQuery之浮动窗口
    Visual Studio 2010 TFS指南
    Python
    HTML5小菜
    记一次重构经历【转载】
    Python学习笔记
    Spring.Net+NHibenate+Asp.Net mvc +ExtJs 系列
    搜索分词实现
    UML概要
  • 原文地址:https://www.cnblogs.com/-abm/p/7904630.html
Copyright © 2011-2022 走看看