Linux常见面试题

1    1289    8

Tags:

👉 本文共约26556个字,系统预计阅读时间或需100分钟。

实战

如何选择 Linux 操作系统版本?

一般来讲,桌面用户首选 Ubuntu ;服务器首选 RHEL 或 CentOS ,两者中首选 CentOS 。

根据具体要求:

  • 安全性要求较高,则选择 Debian 或者 FreeBSD 。

  • 需要使用数据库高级服务和电子邮件网络应用的用户可以选择 SUSE 。

  • 想要新技术新功能可以选择 Feddora ,Feddora 是 RHEL 和 CentOS 的一个测试版和预发布版本。

  • 【重点】根据现有状况,绝大多数互联网公司选择 CentOS 。现在比较常用的是 6 系列,现在市场占有大概一半左右。另外的原因是 CentOS 更侧重服务器领域,并且无版权约束

    CentOS 7 系列,也慢慢使用的会比较多了。

如何规划一台 Linux 主机,步骤是怎样?

  • 1、确定机器是做什么用的,比如是做 WEB 、DB、还是游戏服务器。

    不同的用途,机器的配置会有所不同。

  • 2、确定好之后,就要定系统需要怎么安装,默认安装哪些系统、分区怎么做。

  • 3、需要优化系统的哪些参数,需要创建哪些用户等等的。

请问当用户反馈网站访问慢,你会如何处理?

有哪些方面的因素会导致网站网站访问慢?

  • 1、服务器出口带宽不够用

    • 本身服务器购买的出口带宽比较小。一旦并发量大的话,就会造成分给每个用户的出口带宽就小,访问速度自然就会慢。
    • 跨运营商网络导致带宽缩减。例如,公司网站放在电信的网络上,那么客户这边对接是长城宽带或联通,这也可能导致带宽的缩减。
  • 2、服务器负载过大,导致响应不过来

    可以从两个方面入手分析:

    • 分析系统负载,使用 w 命令或者 uptime 命令查看系统负载。如果负载很高,则使用 top 命令查看 CPU ,MEM 等占用情况,要么是 CPU 繁忙,要么是内存不够。
    • 如果这二者都正常,再去使用 sar 命令分析网卡流量,分析是不是遭到了攻击。一旦分析出问题的原因,采取对应的措施解决,如决定要不要杀死一些进程,或者禁止一些访问等。
  • 3、数据库瓶颈

    • 如果慢查询比较多。那么就要开发人员或 DBA 协助进行 SQL 语句的优化。
    • 如果数据库响应慢,考虑可以加一个数据库缓存,如 Redis 等。然后,也可以搭建 MySQL 主从,一台 MySQL 服务器负责写,其他几台从数据库负责读。
  • 4、网站开发代码没有优化好

    • 例如 SQL 语句没有优化,导致数据库读写相当耗时。

针对网站访问慢,怎么去排查?

  • 1、首先要确定是用户端还是服务端的问题。当接到用户反馈访问慢,那边自己立即访问网站看看,如果自己这边访问快,基本断定是用户端问题,就需要耐心跟客户解释,协助客户解决问题。

    不要上来就看服务端的问题。一定要从源头开始,逐步逐步往下。

  • 2、如果访问也慢,那么可以利用浏览器的调试功能,看看加载那一项数据消耗时间过多,是图片加载慢,还是某些数据加载慢。

  • 3、针对服务器负载情况。查看服务器硬件(网络、CPU、内存)的消耗情况。如果是购买的云主机,比如阿里云,可以登录阿里云平台提供各方面的监控,比如 CPU、内存、带宽的使用情况。

  • 4、如果发现硬件资源消耗都不高,那么就需要通过查日志,比如看看 MySQL慢查询的日志,看看是不是某条 SQL 语句查询慢,导致网站访问慢。

怎么去解决?

  • 1、如果是出口带宽问题,那么久申请加大出口带宽。
  • 2、如果慢查询比较多,那么就要开发人员或 DBA 协助进行 SQL 语句的优化。
  • 3、如果数据库响应慢,考虑可以加一个数据库缓存,如 Redis 等等。然后也可以搭建MySQL 主从,一台 MySQL 服务器负责写,其他几台从数据库负责读。
  • 4、申请购买 CDN 服务,加载用户的访问。
  • 5、如果访问还比较慢,那就需要从整体架构上进行优化咯。做到专角色专用,多台服务器提供同一个服务。

Linux 性能调优都有哪几种方法?

  • 1、Disabling daemons (关闭 daemons)。
  • 2、Shutting down the GUI (关闭 GUI)。
  • 3、Changing kernel parameters (改变内核参数)。
  • 4、Kernel parameters (内核参数)。
  • 5、Tuning the processor subsystem (处理器子系统调优)。
  • 6、Tuning the memory subsystem (内存子系统调优)。
  • 7、Tuning the file system (文件系统子系统调优)。
  • 8、Tuning the network subsystem(网络子系统调优)。

文件管理命令

cat 命令

cat 命令用于连接文件并打印到标准输出设备上。

cat 主要有三大功能:

1.一次显示整个文件:

2.从键盘创建一个文件:

只能创建新文件,不能编辑已有文件。

3.将几个文件合并为一个文件:

  • -b 对非空输出行号
  • -n 输出所有行号

实例

(1)把 log2012.log 的文件内容加上行号后输入 log2013.log 这个文件里

(2)把 log2012.log 和 log2013.log 的文件内容加上行号(空白行不加)之后将内容附加到 log.log 里

(3)使用 here doc 生成新文件

(4)反向列示

chmod 命令

Linux/Unix 的文件调用权限分为三级 : 文件拥有者、群组、其他。利用 chmod 可以控制文件如何被他人所调用。

用于改变 linux 系统文件或目录的访问权限。用它控制文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。

每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。可使用 ls -l test.txt 查找。

以文件 log2012.log 为例:

第一列共有 10 个位置,第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。如果第一个字符是横线,表示是一个非目录的文件。如果是 d,表示是一个目录。从第二个字符开始到第十个 9 个字符,3 个字符一组,分别表示了 3 组用户对文件或者目录的权限。权限字符用横线代表空许可,r 代表只读,w 代表写,x 代表可执行。

常用参数

权限范围:

权限代号:

实例

(1)增加文件 t.log 所有用户可执行权限

(2)撤销原来所有的权限,然后使拥有者具有可读权限,并输出处理信息

(3)给 file 的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限

(4)将 test 目录及其子目录所有文件添加可读权限

chown 命令

chown 将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户 ID;组可以是组名或者组 ID;文件是以空格分开的要改变权限的文件列表,支持通配符。

实例

(1)改变拥有者和群组 并显示改变信息

(2)改变文件群组

(3)改变文件夹及子文件目录属主及属组为 mail

cp 命令

将源文件复制至目标文件,或将多个源文件复制至目标目录。

注意:命令行复制,如果目标文件已经存在会提示是否覆盖,而在 shell 脚本中,如果不加 -i 参数,则不会提示,而是直接覆盖!

实例

(1)复制 a.txt 到 test 目录下,保持原文件时间,如果原文件存在提示是否覆盖。

(2)为 a.txt 建议一个链接(快捷方式)

find 命令

用于在文件树中查找文件,并作出相应的处理。

命令格式:

命令参数:

命令选项

实例

(1)查找 48 小时内修改过的文件

(2)在当前目录查找 以 .log 结尾的文件。 . 代表当前目录

(3)查找 /opt 目录下 权限为 777 的文件

(4)查找大于 1K 的文件

查找等于 1000 字符的文件

-exec 参数后面跟的是 command 命令,它的终止是以 ; 为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。{} 花括号代表前面find查找出来的文件名。

head 命令

head 用来显示档案的开头至标准输出中,默认 head 命令打印其相应文件的开头 10 行。

常用参数

实例

(1)显示 1.log 文件中前 20 行

(2)显示 1.log 文件前 20 字节

(3)显示 t.log最后 10 行

less 命令

less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。

常用命令参数

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信dbaup66,谢谢!
AiDBA后续精彩内容已被站长无情隐藏,请输入验证码解锁本文!
验证码:
获取验证码: 请先关注本站微信公众号,然后回复“验证码”,获取验证码。在微信里搜索“AiDBA”或者“dbaup6”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

1 条回复

  1. Avatar photo 小麦苗说道:

    本文麦老师没有细看,对于其中的一些细节不敢保证其正确性,但是,对刚毕业,急需找工作面试的人有很大帮助,可以背背面试题哈。 总之,有准备比没准备的效果要好很多,另外,“尽信书则不如无书”,自己悟哈。

发表回复