功能实现题

2023-11-19

目录

32. 如何利用linux的指令来查询一个文件的行数?

33. linux下统计一个文件中每个id的出现次数?

34. Linux 在多个文件中查找字符串?

35. 如何查看占用cpu最多进程?

36. 如何找到 Java 进程中哪个线程占用了大量 CPU 处理时间?

37. 如何找到占用内存最多的进程?

38. 磁盘不够了,如何快速找出磁盘占用最大的文件?

39. 找到大于某个阈值大小的文件?

40. 查找某个名称或者类型的文件?

41. 查看某个文件的大小?

42. 查看某log文件某个字符串的前后5行?

43. 找到上述行中的最后一列?

44. 如果最后一列是10 20 10 30,那么如何统计每个数字出现的次数,比如输出210 120 1~30

45. 查找log的前5行,后5行?

46. 写输出数字 0 到 500 中 7 的倍数(0 7 14 21...)的命令?

47. 输出文件中某一行数据

48. 如何判断IP是否可以访问?

49. 如何判断某个ip的端口是否可以访问?

50. 如何用命令行请求web服务器?

51. 如何显示某个端口的TCP连接?

52. 如何统计处于各个状态的连接个数?

53. 如何查看进程的占用的文件符情况?

54. less和vim如何查看日志并寻找关键字?

less

vim

55. vim如何删除游标所在行

系统优化

56. 系统卡顿,如何排查


 

32. 如何利用linux的指令来查询一个文件的行数?

  • wc [选项] 文件
    • -c 统计字节数
    • -l 统计行数
    • -w 统计字数
    • -m 统计字符数
  • 一般选项不加时,默认-lcw,显示结果依次为行数、字节数、字数

33. linux下统计一个文件中每个id的出现次数?

  • 举例:检查一个文件中“404”出现的次数

  • grep 就是按参数进行过滤
  • grep -o 一条数据里面有多个相同,会统计相同的次数
  • grep 一条数据里面有多个相同,会统计一次次数
  • wc -l 见上,就是统计行数

34. Linux 在多个文件中查找字符串?

  • 文件不多的情况下

  • 文件多的情况下

  • xargs 将读入的数据重新格式化,默认是将换行和空格替换为空格

35. 如何查看占用cpu最多进程?

  • 通过以下语句获取每一列字段的含义(即标题行)
ps aux | head -1
  • 首先 ps aux能够输出所有的进程
  • 然后,grep -v PID 命令将包含PID的标题行去掉
  • 接着, sort -rn -k +3 ,按照第三列数据进行排序,-r是降序排序,-n是按数值进行排序,-k用来指定列
  • head -1 获取排序后的第一行数据
ps aux|grep -v PID|sort -rn -k +3|head

36. 如何找到 Java 进程中哪个线程占用了大量 CPU 处理时间?

  • 首先根据上面一步能定位到PID

  • 接下来,利用下面的命令查看线程占用资源的情况

    • -H #Threads mode 是否开启线程模式,默认是off

      -p # PID monitoring 只显示某个进程的信息,e.g: top -P 488 只显示进程号为488的进程信息

      -o # sort 排序,-o fieldname ,指定要排序的字段 ,

top -H -p [PID]
  • 对于上述结果,通过ctrl+p对结果按照cpu进行排序,得出哪个线程占用cpu最高(下面以544为例)
  • 先将544转为16进制的220
  • 接下来将该java进程的堆栈信息输出到一个文件
jstack [PID] > jstack.txt
  • 然后在该文件中找到对应的线程ID
    • 利用grep -n可以定位到nid=0x220的行数
    • 然后查询指定行附近的内容(前10行,后20行等)

37. 如何找到占用内存最多的进程?

ps aux|grep -v PID|sort -rn -k +4|head

38. 磁盘不够了,如何快速找出磁盘占用最大的文件?

du -h * | sort -rn | head -1
  • du命令可以查看文件的大小

39. 找到大于某个阈值大小的文件?

find / -type f -size +10G
  • 查找在/目录下文件大小大于10G的文件

40. 查找某个名称或者类型的文件?

find / -name *.ppt

41. 查看某个文件的大小?

du -h /usr/local/apache2/logs/access_log
  • 获取某个文件夹的大小
du -sh data

42. 查看某log文件某个字符串的前后5行?

  • grep -n 能够将包含指定项目的行以及对应的行号显示出来
grep -n "b" a.txt
  • 查找指定行附近的内容
# 错误行定位到了8786830 下面命令能查看前20行和后10行 tail -n +8786810 err.log |head -n 30

43. 找到上述行中的最后一列?

  • awk '{print $NF}' 打印出最后一列
  • 'NR>1 {print $NF}' 能跳过第一行
grep "b" a.txt | awk '{print $NF}'

44. 如果最后一列是10 20 10 30,那么如何统计每个数字出现的次数,比如输出210 120 1~30

  • awk里面通过""来拼接字符串
  • xargs -n1 每行显示一个字符
  • uniq -c 去重,并且将出现次数带上
grep "b" a.txt | awk '{print $NF}' | xargs -n1 | sort | uniq -c | awk '{print $2"~"$1}'

45. 查找log的前5行,后5行?

head -n 5 log tail -n 5 log

46. 写输出数字 0 到 500 中 7 的倍数(0 7 14 21...)的命令?

seq 0 7 500

seq 用于生成从一个数到另一个数之间的所有整数。

用法:seq [选项]... 尾数 或:seq [选项]... 首数 尾数 或:seq [选项]... 首数 增量 尾数

47. 输出文件中某一行数据

tail -n +5 | head -1
  • 先找到第5行以后的数据
  • 然后通过head输出这些数据中的第一行

48. 如何判断IP是否可以访问?

ping ip

49. 如何判断某个ip的端口是否可以访问?

telnet ip port
  • 后接ctrl+]可以给端口发送数据包

50. 如何用命令行请求web服务器?

curl https://www.example.com
  • 不带参数,默认是get请求

51. 如何显示某个端口的TCP连接?

netstat -anp | grep ":8080" // -t 表示过滤TCP连接

52. 如何统计处于各个状态的连接个数?

netstat -anp | awk '{print $6}' | sort | uniq -c | sort -n 

53. 如何查看进程的占用的文件符情况?

lsof | grep hello.c
  • lsof显示的结果,从左往右分别代表:打开该文件的程序名,进程id,用户,文件描述符,文件类型,设备,大小,iNode号,文件名。
COMMAND   PID                      USER   FD             TYPE        DEVICE SIZE/OFF   NODE   NAME vi        27940                    hyb    7u      REG               8,15     16384     137573 /home/hyb/.1.txt.swp

54. less和vim如何查看日志并寻找关键字?

less

b 向后翻一页 d 向后翻半页 /字符串:向下搜索“字符串”的功能 ?字符串:向上搜索“字符串”的功能 空格键 滚动一行 回车键 滚动一页 q 退出less n:重复前一个搜索(与 / 或 ? 有关) N:反向重复前一个搜索(与 / 或 ? 有关)

vim

  • /+关键字 ,回车即可。此为从文档当前位置向下查找关键字,按n键查找关键字下一个位置,N往回找;
  • ?+关键字,回车即可。此为从文档挡圈位置向上查找关键字,按n键向上查找关键字,N往回找;

55. vim如何删除游标所在行

  • dd删除

系统优化

56. 系统卡顿,如何排查

  • 首先通过 top -c 命令显示当前进程的运行列表
  • 然后,按一下P按照CPU使用率进行排序,得到CPU使用率最高的进程(2609)
  • 接着,使用 top -Hp 2609 找出这个进程下面的线程,继续按P进行排序
  • 然后,可以找到消耗CPU最多的线程
    • 此处需要将线程号转为十六进制 2854->b26
  • 然后,导出进程快照,看看线程做了什么
    • jstack -l 2609 > ./2609.stack
  • 再用grep查看线程在文件中做了什么
    • cat 2609.stack |grep 'b26' -C 8
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

功能实现题 的相关文章

  • 为什么我可以在 /proc/pid/maps 输出中看到几个相同的段?

    测试在32位Linux上进行 代码如下 int foo int a int b int c a b return c int main int e 0 int d foo 1 2 printf d n d scanf d e return
  • 无法在 Perl 中找到 DBI.pm 模块

    我使用的是 CentOS 并且已经安装了 Perl 5 20 并且默认情况下存在 Perl 5 10 我正在使用 Perl 5 20 版本来执行 Perl 代码 我尝试使用 DBI 模块并收到此错误 root localhost perl
  • Awk - 计算两个文件之间的每个唯一值和匹配值

    我有两个文件 首先 我尝试获取第 4 列中每个唯一字段的计数 然后匹配第二个文件的第二列中的唯一字段值 File1 第 4 列的每个唯一值和 File2 第 2 列包含我需要在两个文件之间匹配的值 所以本质上 我试图 gt 如果 file2
  • Gearman,php 扩展问题:使用终端在 .. 中找不到类“GearmanWorker”,但可以在浏览器上使用

    我最近在 ubuntu 10 04 上安装了 gearman 并安装了它的 pecl 扩展 现在 当我在浏览器中运行一个 php 文件时 其中包含 client new GearmanWorker die var Dump client I
  • linux命令中括号的用途是什么[重复]

    这个问题在这里已经有答案了 我在 Linux 终端中运行以下命令 谁能告诉我 Linux 终端中括号和以下命令的用途是什么 echo GET HTTP 1 0 echo 主机 www google com echo 数控 www googl
  • X11 模式对话框

    如何使用 Xlib 在 X11 中创建模式对话框 模态对话框是一个位于应用程序其他窗口之上的窗口 就像瞬态窗口一样 并且拒绝将焦点给予应用程序的其他窗口 在 Windows 中 当试图从模态窗口夺取焦点时 模态也会通过闪 烁模态窗口的标题栏
  • 使用 inotify 的正确方法是什么?

    我想使用inotifyLinux 上的机制 我希望我的应用程序知道文件何时aaa被改变了 您能给我提供一个如何做到这一点的示例吗 文档 来自监视文件系统活动 inotify https developer ibm com tutorials
  • 如何将后台作业的输出分配给 bash 变量?

    我想在 bash 中运行后台作业并将其结果分配给一个变量 我不喜欢使用临时文件 并且希望同时运行多个类似的后台任务 root root var echo hello world root root echo var hello world
  • 推荐用于小型站点的 IRC 服务器 (ircd)? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 情况 我想使用 IRC 机器人作为我正在研究的其他代码的通用通信接口 服务器硬件陈旧且内存不足 但运行在相对最新的 Debian GNU
  • 这种 bash 文件名提取技术有何用途?

    我有一部分 bash 脚本正在获取不带扩展名的文件名 但我试图了解这里到底发生了什么 是做什么用的 有人可以详细说明 bash 在幕后做了什么吗 如何在一般基础上使用该技术 bin bash for src in tif do txt sr
  • 如何在gnuplot中将字符串转换为数字

    有没有办法将表示数字 以科学格式 的字符串转换为 gnuplot 中的数字 IE stringnumber 1 0e0 number myconvert stringnumber plot 1 1 number 我可能使用 shell 命令
  • 使用 gcc 理解共享库

    我试图理解 C 中共享库的以下行为 机器一 cat one c include
  • 如何设置Java线程的CPU核心亲和力?

    我搜索了以前关于类似主题的帖子 但找不到合适的答案 因此提出这个问题 非常感谢您帮助回答 我知道在 Linux 中通过任务集命令设置进程与特定 CPU 核心的关联性 但我想设置 Java 线程与特定 cpu 核心的亲和力 以便属于同一进程的
  • 如何在 Linux 中重新添加 unicode 字节顺序标记?

    我有一个相当大的 SQL 文件 它以 FFFE 的字节顺序标记开头 我使用 unicode 感知的 linux 分割工具将此文件分割成 100 000 行块 但是当将这些传递回窗口时 它确实not与第一个部分以外的任何部分一样 只是它具有
  • 无需 root 访问权限即可安装 zsh? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 有可能 以及如何 我确实需要在几台具有 ssh 访问权限 但没有 root 访问权限 的远程计算机上使用此功能 下载 zsh wget O zsh t
  • 计算 TCP 重传次数

    我想知道在LINUX中是否有一种方法可以计算一个流中发生的TCP重传的次数 无论是在客户端还是服务器端 好像netstat s解决了我的目的
  • 裸机交叉编译器输入

    裸机交叉编译器的输入限制是什么 比如它不编译带有指针或 malloc 的程序 或者任何需要比底层硬件更多的东西 以及如何才能找到这些限制 我还想问 我为目标 mips 构建了一个交叉编译器 我需要使用这个交叉编译器创建一个 mips 可执行
  • SMP 上如何处理中断?

    SMP 对称多处理器 多核 机器上如何处理中断 内存管理单元是只有一个还是多个 假设两个线程 A 和 B 运行在不同的内核上 同时 访问页表中不存在的内存页面 在这种情况下 将会出现页面错误 并从内存中引入新页面 将会发生的事件的顺序是什么
  • 如何在perl中使用O_ASYNC和fcntl?

    我想使用 O ASYNC 选项 当管道可以读取时 SIGIO 的处理程序将运行 但以下代码不起作用 任何人都可以帮助我吗 bin env perl use Fcntl SIG IO sub print catch SIGIO n my fl
  • 为什么默认情况下不启用 arp 忽略/通告 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我有一个需要经验才能回答的具体问题 为什么 arp ignore arp announce 在 Linux 安装 例如 debian 上默认不启用 有

随机推荐

  • 蓝牙打开流程

    通常两种打开方式 一个是在菜单Setting上打开 一种就是自动打开 default on 两种都是最终调用IBluetooth enable 来打开的 启动蓝牙BluetoothService frameworks base servic
  • osg orbitManipulator拖拽位置不精确的问题解决。

    实际上 就是个焦距和视距的问题 摄像机在不同的位置 远近切面会改变 但是fovy和aspectRatio不改变 这样 也会导致近切面的宽高发生改变 就类似于一个无限延伸的视锥体滑梯 远近切面就在这滑梯上滑动 由于最终物体要投影到近切面 而近
  • Ubuntu安装g++

    在编译之前我们需要在系统里安装G GCC 它们就是Linux下的C C的编译器 代码如下 代码 sudo apt get install build essential 好 现在我们在文本编辑器里写一个C的简单的程序 好像所有学习C或者C
  • MQ的基本原理是怎样的?MQ的优点有哪些?MQ的核心概念包括哪些?MQ的消息传递模式有哪些?

    1 MQ的基本原理是怎样的 MQ 消息队列 是一种面向消息的中间件 用于实现不同系统之间的异步通信 其基本原理如下 生产者 Producer 将消息发送到消息队列中 而不是直接发送给消费者 Consumer 消息队列将接收到的消息存储在内部
  • Python字符串的截取

    字符串元素的截取 Python中的字符串用单引号 或双引号 括起来 同时使用反斜杠 转义特殊字符 字符串的截取的语法格式如下 变量 头下标 尾下标 索引值以 0 为开始值 1 为从末尾的开始位置 加号 是字符串的连接符 星号 表示复制当前字
  • 怎么优化深层神经网络(超参、正则以及优化)

    在训练神经网络时 我们需要做出很多决策 比如 神经网络分多少层 每层含有多少个隐藏单元 学习速率是多少 各层采用哪些激活函数等等 我们不可能从一开始就准确的预测出这些超参数 因为应用机器学习是一个高度迭代的过程 通常在项目启动时 我们会先有
  • 小程序识别车牌php,微信小程序——车牌键盘输入js+css

    请输入车牌号码 carNo item 清空 关闭 item OK Del pages jp cp jp cp wxss lf float left rt float right tel border bottom 2rpx solid dd
  • Python常用函数笔记汇总1

    清理 重塑 转换 numpy where condition x y 1 这里x y是可选参数 condition是条件 这三个输入参数都是array like的形式 而且三者的维度相同 2 当conditon的某个位置的为true时 输出
  • 树莓派启用ll命令

    前言 在Linux系统中ll命令是ls l的快捷命令 在树莓派中默认是禁用的 通过修改配置文件将其开启 启用说明 vi bashrc 找到以下位置 将 删除 some more ls aliases alias ll ls l alias
  • ubuntu中的终端是区分大小写的

    ubuntu中的终端是区分大小写的
  • 主成分分析法(PCA)的理解(附python代码案例)

    目录 一 PCA简介 二 举个例子 三 计算过程 公式 3 0 题干假设 3 1 标准化 3 2 计算协方差矩阵 3 3 计算特征值和特征值向量 3 3 多重共线性检验 可跳过 3 4 适合性检验 可跳过 3 5 计算主成分贡献率及累计贡献
  • 什么是protocol分层,垂直service??计算机网络详解【计算机网络养成】

    内容导航 分组丢失和延时 发生原因 四种分组延时 节点处理延迟 排队延迟 传输延时 Transmission 传播延时 Propagation 使用cmd命令tracert 和 tracerert 来检查延迟 分组丢失 吞吐量 有效的数据量
  • 【网易】星际穿越

    简单数学 include
  • QT实现电子时钟

    QT实现电子时钟 实现方法 实现效果 代码 头文件 源文件 实现方法 主窗口QDialog调用QLCDNumber窗口 实现效果 代码 头文件 dialog h ifndef DIALOG H define DIALOG H include
  • Git使用(3)常见报错

    仅限于当时当地情况下的处理方式 不代表所有情况 Q Refusing to fetch into current branch refs heads master of non bare repository A 在当前分支下fetch g
  • (详细步骤和代码)利用A100 GPU加速Tensorflow

    利用A100 GPU加速Tensorflow NVIDIA A100 基于 NVIDIA Ampere GPU 架构 提供一系列令人兴奋的新功能 第三代张量核心 多实例 GPU MIG 和第三代 NVLink Ampere Tensor C
  • 2022-2028年中国商用车产业园区行业市场竞争态势及未来前景分析报告

    智研咨询发布的 2022 2028年中国商用车产业园区行业市场竞争态势及未来前景分析报告 共十五章 首先介绍了商用车产业园区行业市场发展环境 商用车产业园区整体运行态势等 接着分析了商用车产业园区行业市场运行的现状 然后介绍了商用车产业园区
  • 用elasticsearch聚合函数实现distinct查询

    1 等价的sql Sql代码 SELECT DISTINCT field1 field2 FROM test index test type 等价于 Sql代码 SELECT field1 field2 FROM test index te
  • VMware-Ubuntu安装bochs

    我的运行环境是VMware的Ubuntu 首先大家可以按照CSDN上的教程按照符合自己需求的虚拟机 我在上午还在VMware和virtualBox之间做选择 但是由于已经安装过了VMware 所以我就直接用了VMware 当然了 一千人眼中
  • 功能实现题

    目录 32 如何利用linux的指令来查询一个文件的行数 33 linux下统计一个文件中每个id的出现次数 34 Linux 在多个文件中查找字符串 35 如何查看占用cpu最多进程 36 如何找到 Java 进程中哪个线程占用了大量 C