Linux命令面试突击

article/2025/9/20 2:35:16

Linux 命令常见面试题总结。

其它面试知识点突击整理:

序号文章
1Java基础面试突击
2JVM面试突击
3设计模式面试突击
4并发编程面试突击
5消息队列Kafka面试突击
6Redis面试突击
7计算机网络面试突击
8Spring面试突击
9Dubbo面试突击
10MyBatis面试突击
11操作系统面试突击
12MySQL面试突击
13Linux命令面试突击

文章目录

      • 1. 说一下常用的Linux命令?
      • 2. 如何查看所有java进程
      • 3. 如何杀掉某个服务的进程
      • 4. 启动/停止服务
      • 5. 如何查看测试项目的日志
      • 6. 如何查看某个端口是否被占用
      • 7. 查看当前所有已经使用的端口情况
      • 8. 如何查找一个文件大小超过5M的文件
      • 9. 如果知道一个文件名称,怎么查这个文件在linux下的哪个目录
      • 10. find查找文件
      • 11. vim(vi)编辑器
      • 12. /etc/hosts⽂件什么作⽤?
      • 13. 硬链接和软连接的区别?
      • 14. linux连接超时,处理方案
      • 15. 用什么命令对一个文件的内容进行统计?(行号、单词数、字节数)
      • 16. Linux 中进程有哪几种状态?在 ps 显示出来的信息中,分别用什么符号表示的?
      • 17. 哪个命令专门用来查看后台任务?
      • 18. 使用什么命令查看磁盘使用空间? 空闲空间呢?
      • 19. du 和 df 的定义,以及区别?
      • 20. Java服务端问题排查(OOM,CPU⾼,Load⾼,类冲突)?

1. 说一下常用的Linux命令?

序号命令命令解释
1top查看内存
2df -h查看磁盘存储情况
3iotop查看磁盘IO读写
4iotop -0直接查看比较高的磁盘读写程序
5nestat -tunlp | grep 端口号查看端口占用情况
6uptime查看报告系统运行时常及平均负载
7ps aux查看进程
8ls【参数 -a -l】列出文件列表
9mkdir rmdir创建目录和移除目录
10tar -xvf (-zcvf)tail打包 (打包并压缩)
11grep查找字符串
12pwd显示当前所在目录
13vim vi编辑器
14touch创建空文件
15ifconfig查看 ip 地址及接口信息
16netstat查看网络是否连通

2. 如何查看所有java进程

grep是搜索关键字>ps -ef | grep java-aux 显示所有状态>ps -aux | grep java

3. 如何杀掉某个服务的进程

kill 命令用于终止进程-9 强迫进程立即停止>kill -9 [PID]这里pid需要用 ps -ef | grep 查询pid

4. 启动/停止服务

以启动Tomcat为例,先cd到启动的.sh文件目录> cd /java/tomcat/bin> ./startup.sh停止Tomcat服务命令>./shutdown.sh

5. 如何查看测试项目的日志

一般测试的项目里面,有个logs的目录文件,会存放日志文件,有个xxx.out的文件,可以用tail -f 动态实时查看后端日志先cd 到logs目录(里面有xx.out文件)>tail -f xx.out这时屏幕上会动态实时显示当前的日志,ctr+c停止查看最近1000行日志>tail -1000 xx.out

6. 如何查看某个端口是否被占用

>netstat -anp | grep 端口号

在这里插入图片描述
图中主要看监控状态为LISTEN表示已经被占用,最后一列显示被服务mysqld占用,查看具体端口号,只要有如图这一行就表示被占用了。

查看82端口的使用情况,如图

>netstat -anp |grep 82

在这里插入图片描述
可以看出并没有LISTEN那一行,所以就表示没有被占用。此处注意,图中显示的LISTENING并不表示端口被占用,不要和LISTEN混淆哦,查看具体端口时候,必须要看到tcp,端口号,LISTEN那一行,才表示端口被占用了。

7. 查看当前所有已经使用的端口情况

netstat -nultp(此处不用加端口号)

在这里插入图片描述

8. 如何查找一个文件大小超过5M的文件

>find . -type f -size +100M

9. 如果知道一个文件名称,怎么查这个文件在linux下的哪个目录

如:要查找tnsnames.ora文件

>find / -name tnsnames.ora查到:/opt/app/oracle/product/10.2/network/admin/tnsnames.ora/opt/app/oracle/product/10.2/network/admin/samples/tnsnames.ora

还可以用locate 来查找

>locate tnsnames.ora结果是:/opt/app/oracle/product/10.2/hs/admin/tnsnames.ora.sample

10. find查找文件

find / -name httpd.conf  #在根目录下查找文件httpd.conf,表示在整个硬盘查找find /etc -name httpd.conf  #在/etc目录下文件httpd.conffind /etc -name ‘srm’  #使用通配符(0或者任意多个)。表示在/etc目录下查找文件名中含有字符串‘srm’的文件find . -name ‘srm’   #表示当前目录下查找文件名开头是字符串‘srm’的文件按照文件特征查找     find / -amin -10   # 查找在系统中最后10分钟访问的文件(access time)find / -atime -2   # 查找在系统中最后48小时访问的文件find / -empty   # 查找在系统中为空的文件或者文件夹find / -group cat   # 查找在系统中属于 group为cat的文件find / -mmin -5   # 查找在系统中最后5分钟里修改过的文件(modify time)find / -mtime -1   #查找在系统中最后24小时里修改过的文件find / -user fred   #查找在系统中属于fred这个用户的文件find / -size +10000c  #查找出大于10000000字节的文件(c:字节,w:双字,k:KB,M:MB,G:GB)find / -size -1000k   #查找出小于1000KB的文件

11. vim(vi)编辑器

有命令模式、输入模式、末行模式三种模式。

  • 命令模式:查找内容(/abc、跳转到指定行(20gg)、跳转到尾行(G)、跳转到首行(gg)、删除行(dd)、插入行(o)、复制粘贴(yy,p)
  • 输入模式:编辑文件内容
  • 末行模式:保存退出(wq)、强制退出(q!)、显示文件行号(set nu)

在命令模式下,输入a或i即可切换到输入模式,输入冒号(:)即可切换到末行模式;在输入模式和末行模式下,按esc键切换到命令模式

12. /etc/hosts⽂件什么作⽤?

在当前主机给ip设置别名,通过该别名可以访问到该ip地址,通过别名、ip访问的效果是⼀样的。

13. 硬链接和软连接的区别?

硬链接:

  1. ⽂件有相同的 inode 及 data block;
  2. 只能对已存在的⽂件进⾏创建;
  3. 不能交叉⽂件系统进⾏硬链接的创建;
  4. 不能对⽬录进⾏创建,只可对⽂件创建;
  5. 删除⼀个硬链接⽂件并不影响其他有相同 inode 号的⽂件。

软链接:

  1. 软链接有⾃⼰的⽂件属性及权限等;
  2. 可对不存在的⽂件或⽬录创建软链接;
  3. 软链接可交叉⽂件系统;
  4. 软链接可对⽂件或⽬录创建;
  5. 创建软链接时,链接计数 i_nlink 不会增加;
  6. 删除软链接并不影响被指向的⽂件,但若被指向的原⽂件被删除,则相关软连接被称为死链接(即
    danglinglink,若被指向路径⽂件被重新创建,死链接可恢复为正常的软链接)。

14. linux连接超时,处理方案

  1. 测试网络是否通

    ping 远程IP
    
  2. 如果能ping通则表示与服务器网络连接是正常,接下来测试端口

    telnet 远程ip 端口
    
  3. 如果telnet不上,要考虑服务器是否有防火墙拦截

    CentOS7查看防火墙是否运行
    firewall-cmd --state
    CentOS6查看防火墙是否运行
    /sbin/service iptables status
    
  4. 如果防火墙被拦截,需要放行端口。如果防火墙没有拦截,则要考虑服务内部是否配置限定IP访问。

    MySQL、MongoDB、Redis都有bind选项,用来限定客户端IP

  5. 再检查服务内部是否有其它权限设置,例如MySQL有远程访问配置,Redis有protected-mode改为no

15. 用什么命令对一个文件的内容进行统计?(行号、单词数、字节数)

wc 命令 - c 统计字节数 - l 统计行数 - w 统计字数

16. Linux 中进程有哪几种状态?在 ps 显示出来的信息中,分别用什么符号表示的?

  1. 不可中断状态:进程处于睡眠状态,但是此刻进程是不可中断的。不可中断, 指进程不响应异步信号。
  2. 暂停状态/跟踪状态:向进程发送一个 SIGSTOP 信号,它就会因响应该信号 而进入 TASK_STOPPED状态;当进程正在被跟踪时,它处于 TASK_TRACED 这个特殊的状态。“正在被跟踪”指的是进程暂停下来,等待跟踪它的进程对它进行操作。
  3. 就绪状态:在 run_queue 队列里的状态
  4. 运行状态:在 run_queue 队列里的状态
  5. 可中断睡眠状态:处于这个状态的进程因为等待某某事件的发生(比如等待 socket 连接、等待信号量),而被挂起
  6. zombie 状态(僵尸):父亲没有通过 wait 系列的系统调用会顺便将子进程的尸体(task_struct)也释放掉
  7. 退出状态
D 不可中断 Uninterruptible(usually IO)
R 正在运行,或在队列中的进程
S 处于休眠状态
T 停止或被追踪
Z 僵尸进程
W 进入内存交换(从内核 2.6 开始无效)
X 死掉的进程

17. 哪个命令专门用来查看后台任务?

job -l

把后台任务调到前台执行使用什么命令?把停下的后台任务在后台执行起来用什么命令?

把后台任务调到前台执行 fg把停下的后台任务在后台执行起来 bg

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

df -hl
文件系统 容量 已用 可用 已用% 挂载点
Filesystem Size Used Avail Use% Mounted on /dev/hda2 45G 19G 24G 44% /
/dev/hda1 494M 19M 450M 4% /boot

19. du 和 df 的定义,以及区别?

  • du 显示目录或文件的大小
  • df 显示每个<文件>所在的文件系统的信息,默认是显示所有文件系统。 (文件系统分配其中的一些磁盘块用来记录它自身的一些数据,如 i节点,磁盘分布图,间接块,超级块等。这些数据对大多数用户级的程序来说是不可见的,通常称为 Meta Data。)
  • du命令是用户级的程序,它不考虑 Meta Data,而 df 命令则查看文件系统的磁盘分配图并考虑 Meta Data。
  • df 命令获得真正的文件系统数据,而 du 命令只查看文件系统的部分情况

20. Java服务端问题排查(OOM,CPU⾼,Load⾼,类冲突)?

(1)业务⽇志相关:

1. less或者more
2. grep
3. tail -f filename
注意:切忌vim直接打开⼤⽇志⽂件,因为会直接加载到内存的

(2)数据库相关:

1. 登录线上库,show processlist查看数据库连接情况

(3) jvm相关:

1. jps 显示java进程
2. jinfo 实时查看和调整jvm参数
3. jstat 监控jvm各种运⾏状态信息;
4. jstack(Stack Trace for Java)命令⽤于⽣成JVM进程当前时刻的线程的调⽤堆栈,可以⽤来定位线程间死锁、锁等待、等待外部资源等
5. jmap(Memory Map for Java) 命令⽤于⽣成堆转储快照dump⽂件,除了这种⽅式还可以通过-XX:HeapDumpOnOutOfMemoryError参数,可以在虚拟机发⽣OOM的时候⾃动⽣成堆的dump⽂件,或者kill -3命令发出进程退出信号"吓唬"⼀下虚拟机,也能拿到dump⽂件。

(4)oom问题:

1. 配置了-XX:+HeapDumpOnOutOfMemoryError, 在发⽣OOM的时候会在-XX:HeapDumpPath⽣成堆的dump⽂件,结合MAT,可以对dump⽂件进⾏分析,查找出发⽣OOM的原因。
2. 另外⼿动dump堆快照,可以使⽤命令jmap -dump:format=b,file=file_name pid 或者kill -3 pid

(5)死锁:

1. jps -v
2. jstack -l pid

(6) 线程block、线程数暴涨:

1. jstack -l pid |wc -l
2. jstack -l pid |grep “BLOCKED”|wc -l
3. jstack -l pid |grep “Waiting on condition”|wc -l
线程block问题⼀般是等待io、等待⽹络、等待监视器锁等造成,可能会导致请求超时、造成造成线程数暴涨导致系统502等。

(7) 服务器问题:

1)CPU

top

2)内存

free -m -c10 -s1: 
a. -m:以MB为单位显示,其他的有-k -g -b 
b. -s: 间隔多少秒持续观察内存使⽤状况 
c. -c:观察多少次

在这里插入图片描述

vmstat 1 10:1表示每隔1s输出⼀次,10 表示输出10次 
a. r: 运⾏队列中进程数量,这个值也可以判断是否需要增加CPU。(⻓期⼤于1)
b. b: 等待IO的进程数量。

在这里插入图片描述

iostat -m 1 10:
-m:某些使⽤block为单位的列强制使⽤MB为单位
1 10:数据显示每隔1秒刷新⼀次,共显示10次 

在这里插入图片描述
3)网络

netstat -antp:
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服服务状态
-p 显示建⽴相关链接的程序名

(8)排查工具

Java常⽤问题排查⼯具及⽤法(top,iostat,vmstat,sar,tcpdump,jvisualvm,jmap,jconsole)

具体参考:Java自带的性能监测工具用法简介——jstack、jconsole、jinfo、jmap、jdb、jsta、jvisualvm

参考

Java面试常问linux命令

Java linux面试题及答案

Linux命令常见面试题

Java面试题 -Linux命令


http://chatgpt.dhexx.cn/article/gdgY2bs8.shtml

相关文章

Linux面试题(2020最新版)

Java面试总结&#xff08;2021优化版&#xff09;已发布在个人微信公众号【技术人成长之路】&#xff0c;优化版首先修正了读者反馈的部分答案存在的错误&#xff0c;同时根据最新面试总结&#xff0c;删除了低频问题&#xff0c;添加了一些常见面试题&#xff0c;对文章进行了…

Linux面试问题

grep和find的区别&#xff1f; 所以简单点说说&#xff0c;grep是查找匹配条件的行&#xff0c;find是搜索匹配条件的文件。 find /dir -name filename grep的使用干货&#xff1a; ls -l | grep ^a 通过管道过滤ls -l输出的内容&#xff0c;只显示以a开头的行。 grep test…

Linux面试总结

一.常用命令 1.目录切换 cd / 切换到根目录 cd ../ 切换到上级目录 cd ~ 切换到home目录 2.查看目录 ls 列出当前目录下所有的文件 ls [路径] ls / 查看根目录 ls -l 相当于 ll 最常用的命令,用了表的方式列出当前目录的内容 3.查看当前目录 pwd- 4.创建一组空文件 touch 5.显…

Linux面试相关知识点看着一文就够了

今天和大家分享一下linux操作系统下主要用到的几个知识点&#xff0c;分别是&#xff1a;linux目录结构、linux常用命令、文件权限操作、服务操作、yum安装命令、docker服务、vim编译器、pymysql测试连接、用户及组命令、mysql创建用户和数据库 目录 一、linux目录结构 二、l…

面试要求 熟悉linux系统,Linux面试中最常问的10个问题总结

前言 如果你要去面试一个linux系统运维工程师的职位,下面这十个最常见的问题一定要会,否则你的面试可能就危险了。这些都是比较基本的问题,大家要理解,不能光死记硬背。 1、如何查看系统内核的版本 这里有两种方法: 1) uname -a uname 这个命令是用来打印系统信息的, -a …

「面试必背」Linux面试题(2022最新版)

作为 Java 的从业者&#xff0c;在找工作的时候&#xff0c;一定会被问及关于Linux 相关的知识。Linux知识的掌握程度&#xff0c;在很多面试官眼里是候选人技术深度的一个重要评判标准。在这里我们将详细的整理常见的Linux面试题目&#xff0c; 提供给大家学习参考。 1. 什么…

Linux面试题(总结最全面的面试题)

Linux 概述 什么是Linux Linux是一套免费使用和自由传播的类似Unix操作系统&#xff0c;一般的WEB项目都是部署都是放在Linux操作系统上面。 Linux是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支…

2022(招聘季)linux面试高频题

大家好&#xff0c;今天给大家分享一下2022最新最全的linux面试高频题&#xff0c;希望你们喜欢。 linux运维工程师在面试的时候经常会被问到各种问题&#xff0c;接下来我也会根据自己的经验将面试题整理下来供大家参考。有不同见解的欢迎打扰&#xff01;&#xff01;&#x…

嵌入式linux 面试题

嵌入式linux开机启动流程 上电–>固化boot–>uboot–>kernel–>file system–>app uboot一般不使用mmu uboot cmdline–>kernel 新版本kernel 设备树&#xff0c;代替platform文件 linux特殊进程 idle进程(PID 0), init进程(PID 1)和kthreadd(PID 2…

Linux面试题总结(一)

Linux基本面试问题 1. 什么是Linux: Linux是基于Linux内核的操作系统。它是一个开源操作系统&#xff0c;可以在不同的硬件平台上运行。它为用户提供了免费的低成本操作系统。这是一个用户友好的环境&#xff0c;他们可以在其中轻松修改和创建源代码的变体。 2. 谁发明Linux?…

【2022最新Java面试宝典】—— Linux面试题(50道含答案)

目录 一、Linux 概述1. 什么是Linux2. Windows和Linux的区别3. Unix和Linux有什么区别&#xff1f;4. 什么是 Linux 内核&#xff1f;5. Linux的基本组件是什么&#xff1f;6. Linux 的体系结构7. BASH和DOS之间的基本区别是什么&#xff1f;8. Linux 开机启动过程&#xff1f;…

Linux面试题附答案

Linux Linux&#xff0c;全称GNU/Linux&#xff0c;是一种免费使用和自由传播的类UNIX操作系统&#xff0c;其内核由林纳斯本纳第克特托瓦兹于1991年10月5日首次发布&#xff0c;它主要受到Minix和Unix思想的启发&#xff0c;是一个基于POSIX的多用户、多任务、支持多线程和多C…

Linux面试题总结(2022最新版)

关于作者 &#x1f436; 程序猿周周 ⌨️ 短视频小厂BUG攻城狮 &#x1f93a; 如果文章对你有帮助&#xff0c;记得关注、点赞、收藏&#xff0c;一键三连哦&#xff0c;你的支持将成为我最大的动力 本文是《后端面试小册子》系列的第 5️⃣ 篇文章&#xff0c;该系列将整理和梳…

Linux 面试最常问的十个问题

如果你要去面试一个Linux系统运维工程师的职位&#xff0c;下面这十个最常见的问题一定要会&#xff0c;否则你的面试可能就危险了。这些都是比较基本的问题&#xff0c;大家要理解&#xff0c;不能光死记硬背。 1、如何查看系统内核的版本 这里有两种方法&#xff1a; 1&…

Linux面试题

常用命令 艿艿&#xff1a;这一小节会非常非常非常长&#xff0c;当做温故知新吧。 另外&#xff0c;面试官也可能会问&#xff0c;你熟悉 Linux 么&#xff1f;你平时使用哪些 Linux 命令。酱紫的连环炮~ 当然&#xff0c;建议重点看下 「性能相关」 小节。 目录相关 find 命…

Linux面试题(总结最全面的面试题!!!)

文章目录 Linux 概述什么是LinuxWindows和Linux的区别Unix和Linux有什么区别什么是 Linux 内核Linux的基本组件是什么Linux 的体系结构BASH和DOS之间的基本区别是什么Linux 开机启动过程Linux系统缺省的运行级别Linux 使用的进程间通信方式Linux 有哪些系统日志文件Linux系统安…

史上最全Linux面试题(2020最新版)

出处&#xff1a;https://blog.csdn.net/thinkwon/article/details/104588679 作者&#xff1a;ThinkWon 导读&#xff1a;本文整理了最新的Linux面试题&#xff0c;近3万字&#xff0c;约100道题&#xff0c;分享至此&#xff0c;希望对大家有帮助。 一、Linux 概述 1. 什么是…

48 个 Linux 面试问题和答案

你在准备 Linux 面试吗&#xff1f;我们准备了一些常见的 Linux 面试问题及其答案。 如果您是初学者&#xff08;具有一定的 Linux 知识或获得认证&#xff09;或具有专业的 Linux 管理经验&#xff0c;那么下面的问答有助于您准备面试。 1.什么是Linux及基本组件&#xff1f…

Linux面试必备20个常用命令

文章目录 第一章 什么是linux第二章 linux的基础命令1.pwd 命令2.ls 命令3.cd 命令4.man 命令5.grep 命令6.find 命令7.chmod 命令8.ps 命令9.kill 命令10.tail 命令11.netstat 命令8.date 查看当前系统时间10.echo 打印 选项 -e11.ping 地址 检测是否与主机连通 第三章 文件操…

python 取余运算

python中取余运算逻辑如下&#xff1a; 如果a 与d 是整数&#xff0c;d 非零&#xff0c;那么余数 r 满足这样的关系&#xff1a; a qd r , q 为整数&#xff0c;且0 ≤ |r| < |d|。 经过测试可发现&#xff0c;python3.6中取余运算得到的 r 是正整数&#xff1b; 转载于:…