linux运维综合面试题

    科技2022-07-10  101

    1.解释下什么是GPL,GNU,自由软件

    GPL:(通用公共许可证):一种授权,任何人有权取得、修改、重新发布自由软件的权力。 GNU:(革奴计划):目标是创建一套完全自由、开放的的操作系统。 自由软件:是一种可以不受限制地自由使用、复制、研究、修改和分发的软件。主要许可证有GPL和BSD许可证两种。

    2.文件类型

    -普通文件

    d 目录文件 文件夹

    b 块设备 521个块 随机访问

    c 字符设备 按照顺序访问

    l 符号链接文件 link

    p 管道文件 同时间单向传 FIFO :先进先出

    s 套接字文件 socket 可以双向转发数据

    3.软连接和硬链接的区别

    本质:

    硬链接:同一个文件

    软链接: 不是同一个文件,相当于一个快捷方式

    跨设备:

    硬链接:不可以跨设备创建

    软链接:可以跨设备创建

    inode 节点编号:

    硬链接:inode 相同

    软链接:inode 不同

    链接数:

    硬链接:创建新硬链接,链接数会增加,删除硬链接,链接数会减少

    软链接:创建或删除,链接数不会变化

    文件夹:

    硬链接:不可以创建

    软链接:可以创建

    相对路径

    硬链接:原始文件相对路径是相对于当前工作目录

    软链接:原始文件相对路径是相对于链接文件的相对路径

    删除源文件

    硬链接:只是链接数减一,但是链接文件的访问不受影响

    软链接:链接文件将无法访问 删除软链接的时候 不要带后边的 / ,否则会把源文件夹下的文件删除了!!

    文件类型

    硬链接:跟源文件本质一样

    软链接:链接文件和源文件无关

    文件大小

    硬链接:和源文件相同

    软链接:取决于源文件的路径的长度

    4.如何查看内核信息

    查看系统版本: RedHat:cat /etc/redhat - release CentOS:cat /etc/centos - release 查看内核:uname -r 查看内核完整信息:uname -a

    5.查看文件内容有哪些命令可以使用?

    vi 文件名 #编辑方式查看,可修改 cat 文件名 #显示全部文件内容 more 文件名 #分页显示文件内容 less 文件名 #与 more 相似,更好的是可以往前翻页 tail 文件名 #仅查看尾部,还可以指定行数 head 文件名 #仅查看头部,还可以指定行数

    6.如何临时、永久关闭selinux及防火墙规则,请分别写出操作方法

    临时关闭selinnux setenforce 0 临时关闭防火墙 iptables -F (清空规则,不建议使用 不如 暂时关闭 systemctl stop firewalld) 永久关闭selinux 修改/etc/selinux/config一行为 SELINUX=disabled [但是重启才会有效] 永久关闭防火墙 iptables -F; systemctl disable --now

    7.描述Linux shell中单引号、双引号及不加引号的简单区别

    单引号:保持原内容输出,单引号里边是什么,打印出的就是什么。 双引号:把双引号啊里边的内容输出出来,如果里边有命令,则需要 将命令解析出来,然后输出最终内容。 双引号中的命令或者变量写法’命令或者变量’ 或$ (命令或变量) 无引号:把内容输出出来,可能不会识别含有空格的字符串,视为一个整体输出,如果内容中有变量或命令等,会先把变量命令解析出来,然后输出最终内容,如果字符串中有空格等特殊字符,则不能完整输出,需要改加双引号,一般连续的字符串,数字,路径等可以用,不过最好用双引号。

    8.当用户在浏览器当中输入一个网站,说说计算机对dns解释经过那些流程?

    1.用户在浏览器输入网址; 2.浏览器发出DNS请求信息; 3.计算机首先查询本地DNS缓存表,查看是否存在此网站信息,如果存在则返回信息,如果不存在则继续像上级域请求,如果还没有,直至根域。 4.上级域将查询到的结果返回给本地DNS,本地DNS进行缓存。 5.将返回的结果输出到浏览器上

    9.Linux文件系统中每个文件用 什么节点来标识?

    Linux文件系统中每个文件用索引节点来标识。Linux 文件系统使用索引节点来记录文件信息,相当于Windows的文件分配表类似,索引节点是一个数据结构,它包含了一个文件的文件名,位置,大小,建立或者修改的时间,访问权限,所属关系等文件控制信息,一个文件系统维护了一个索引节点的数组,每个文件或目录都与索引节点数组中的唯一一个元素对应,系统为每个索引节点分配了一个号码,也就是该节点在数组中的索引号名称为索引节点号。

    10.全部磁盘块由哪几部分组成?

    四个部分组成:引导块、专用块、节点表块、数据存储块。 Linux硬盘组织方式为:引导区、超级块、索引节点、数据块、目录块。 超级块中包含该硬盘或分区上的文件系统的整体信息,如文件系统的大小等;其次是索引节点,它包含一个具体文件的几乎全部信息,如文件的权限,所有者,大小,建立时间以及对应的目录和数据块等,数据块是真正存放数据内容的位置。但是索引节点中不包括文件的名字,文件名还是存放在目录块里。目录块包含文件的名字以及文件索引节点编号。

    11.使用什么命令查看磁盘使用空间? 空闲空间呢?

    df -h 用于显示磁盘分区上的可使用的磁盘空间。默认显示单位KB,-h 以可读性较高的方式来显示信息 df -hi 查看inode信息 容量 已用 可用 已用% 挂载点

    12.搜索文件用什么命令? 格式是怎么样的?

    find <指定目录> <指定条件> <指定动作> whereis 加参数与文件名 locate 只加文件名

    13.什么是NAT,常见分为那几种,DNAT与SNAT有什么不同,应用事例有那些?

    SNAT,DNAT,MASQUERADE都是NAT。MASQUERADE是SNAT的一个特例。 SNAT 是指在数据包从网卡发出去的时候,把数据包中的源地址部分替换为指定IP,这样,接受方就认为数据包的来源是被替换的那个IP的主机。 MASQUERADE是用发送数据的网卡上的IP来替换源IP,因此对于那些IP不固定的场合比如dhcp分配的情况下,就需要用到masquerade。 DNAT 就是指数据包从网卡发送出去的时候,修改数据包中的目的IP,表现为如果你想访问A,可是因为网关做了DNAT,把所有访问A的数据包的目的IP全部修改为B,可以理解为代理 因为 路由时按照目的地址来选择的,因此,DNAT是在PREROUTING链上进行的,而SNAT是在数据包发送出去的时候才进行,因此是在POSTROUTING链上进行的。

    14. 查看文件内容有哪些命令可以使用?

    cat :从第一行开始显示全部的文件内容;tac: 从最后开始,显示全部文本内容,与cat相反;nl:显示文本时可以输出行号;more:按页显示文本内容;less:跟more差不多也是可以按页显示,区别时less可以一行一行的回退,more回退只能一页一页回退;head:从头开始显示文件指定的行数;tail:显示文件指定的结尾的行数,但每一行的位置还是原文件中的位置,不会像tac那样与原文件相反。vi/vim :文本编辑器

    15.开机启动脚本顺序

    /etc/profile /etc/profile.d/*.sh ~/bash_profile ~/.bashrc /etc/bashrc

    16.说一下iptables的原理,有哪些表、哪些链?怎么修改默认策略全部为DROP?

    原理:简单讲:

    4张表(raw表、mangle表、net表、filter表) 功能:最好能记下来,对自己配置防火墙有用 filter:过滤,防火墙; nat:network address translation;用于修改源IP或目标IP, 也可以改端口; mangle:拆解报文,做出修改,并重新封装起来; raw:关闭nat表上启用的连接追踪机制;

    5链:(PREROUTING、INPUT、FORWARD、OUTPUT、POSTROUTING)

    全部设置为DROP: #iptables -P INPUT DROP #iptables -P OUTPUT DROP #iptables -P FORWARD DROP

    17.如何开启linux服务器路由转发功能?

    临时生效:echo “1” > /proc/sys/net/ipv4/ip_forward

    永久生效: [root@firewall ~]#vim /etc/sysctl.conf net.ipv4.ip_forward=1

    18 Passwd的文件格式

    login name:登录用名(wang) passwd:密码 (x) UID:用户身份编号 (1000) GID:登录默认所在组编号 (1000) GECOS:用户全名或注释 home directory:用户主目录 (/home/wang) shell:用户默认使用shell (/bin/bash)

    Processed: 0.009, SQL: 8