linux 常用命令汇总

个人认为先掌握一些比较常用的,剩下的需要再学
总结了一些面试比较可能会问道的命令

文章目录

  • linux 常用命令汇总
    • 基础命令
      • ulimit
      • dos2unix和unix2dos
    • 查看活动进程
      • ps进程信息
      • top进程cpu内存信息
      • pidstat进程资源
    • 查看内存
      • free
    • 跟踪进程
      • pstack
      • strace
    • 网络相关
      • telnet
      • traceroute
      • netstat
      • tcpdump
        • 常规过滤规则

基础命令

grep
find —— find [指定查找⽬录] [查找规则] [查找完后执⾏的action]
ls
文件操作略

ulimit

Linux系统对每个登录的⽤户都限制其最⼤进程数和打开的最⼤⽂件句柄数。为了提⾼性能,可以根据硬件 资源的具体情况设置各个⽤户的最⼤进程数和打开的最⼤⽂件句柄数。可以⽤ulimit -a来显示当前的各种 系统对⽤户使⽤资源的限制。

设置⽤户的最⼤进程数: ulimit -u 1024 设置⽤户可以打开的最⼤⽂件句柄数: ulimit -n 65530

dos2unix和unix2dos

⽤于转换Windows和UNIX的换⾏符,通常在Windows系统h开发的脚本和配置,UNIX系统下都需要转换。

使⽤⽅式:
dos2unix test.txt
unix2dos test.txt

#转换整个⽬录 f
ind . -type f -exec dos2unix {} ;
find ./ -type f此命令是显示当前⽬录下所有的⽂件

查看活动进程

ps进程信息

ps⽤⼀于显示系统内的所有进程,-l或l 采⽤详细的格式来显示进程状况。
常⽤⽅式:ps -elf 和ps -ef

(1)检测是否有活动进程:

sudo ps -ef |grep “nginx: master process” |grep -v grep

(2)检测有⼏个同样的活动进程
sudo ps -ef |grep “nginx: master process” |grep -v grep |wc -l

top进程cpu内存信息

top命令⽤于查看活动进程的CPU和内存信息,能够实时显示系统中各个进程的资源占⽤情况,可以按照 CPU、内存的使⽤情况和执⾏时间对进程进⾏排序。

详情请见

第一行:
10:01:23 — 当前系统时间
126 days, 14:29 — 系统已经运行了126天14小时29分钟(在这期间没有重启过)
2 users — 当前有2个用户登录系统
load average: 1.15, 1.42, 1.44 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。

load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。

第二行:
Tasks — 任务(进程),系统现在共有183个进程,其中处于运行中的有1个,182个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。

第三行:cpu状态
6.7% us — 用户空间占用CPU的百分比。
0.4% sy — 内核空间占用CPU的百分比。
0.0% ni — 改变过优先级的进程占用CPU的百分比
92.9% id — 空闲CPU百分比
0.0% wa — IO等待占用CPU的百分比
0.0% hi — 硬中断(Hardware IRQ)占用CPU的百分比
0.0% si — 软中断(Software Interrupts)占用CPU的百分比

第四行:内存状态
8306544k total — 物理内存总量(8GB)
7775876k used — 使用中的内存总量(7.7GB)
530668k free — 空闲内存总量(530M)
79236k buffers — 缓存的内存量 (79M)

第五行:swap交换分区
2031608k total — 交换区总量(2GB)
2556k used — 使用的交换区总量(2.5M)
2029052k free — 空闲交换区总量(2GB)
4231276k cached — 缓冲的交换区总量(4GB)

第七行以下:各进程(任务)的状态监控
PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR — 共享内存大小,单位kb
S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计,单位1/100秒
COMMAND — 进程名称(命令名/命令行)

pidstat进程资源

pidstat⽤于监控全部或指定的进程占⽤系统资源的情况,包括CPU、内存、磁盘I/O、程切换、线程数等 数据。
-u:表示查看cpu相关的性能指标
-w:表示查看上下⽂切换情况
-t:查看线程相关的信息,默认是进程的;常与-w结合使⽤(cpu的上下⽂切换包括进程的切换、线程的 切换、中断的切换)
-d:展示磁盘 I/O 统计数据
-p:指明进程号

使⽤⽅式:pidstat [option] interval [count] 使⽤范例:pidstat -urd -p 进程号

CPU信息
%usr #⽤户层任务正在使⽤的CPU百分⽐(with or without nice priority ,NOT include time spent running a virtual processor)
%system #系统层正在执⾏的任务的CPU使⽤百分⽐
%guest #运⾏虚拟机的CPU占⽤百分⽐
%CPU #所有的使⽤的CPU的时间百分⽐
CPU #处理器数量
Command #命令

内存信息

· PID #进程号
· minflt/s #每秒次缺⻚错误次数(minor page faults),次缺⻚错误次数意即虚拟内 存地址映射成物理内存地址产⽣的page fault次数

· majflt/s #每秒主缺⻚错误次数(major page faults),当虚拟内存地址映射成物理 内存地址时,相应的page在swap中,
§ 这样的page fault为major page fault,⼀般在内存使⽤紧张时产⽣

VSZ #该进程使⽤的虚拟内存(以kB为单位)
RSS #该进程使⽤的物理内存(以kB为单位)
%MEM #当前任务使⽤的有效内存的百分⽐
Command #任务的命令名

磁盘I/O

PID #进程号
kB_rd/s #每秒此进程从磁盘读取的千字节数
kB_wr/s #此进程已经或者将要写⼊磁盘的每秒千字节数
kB_ccwr/s #由任务取消的写⼊磁盘的千字节数
Command #命令的名字

上下⽂切换 PID #PID号
cswch/s #每秒⾃动上下⽂切换
nvcswch/s #每秒⾮⾃愿的上下⽂切换
Command #命令

查看内存

free

此命令⽤于显示系统内存的使⽤情况,包括总体内存、⼰经使⽤的内存;还可⽤于显示系统内核使⽤的缓 冲区,包括缓冲(buffer)和缓存(cache)等。
使⽤⽅式:free free -h

  1. Mem ⾏(第⼆⾏)是内存的使⽤情况。

  2. Swap ⾏(第三⾏)是交换空间的使⽤情况。
    total 列显示系统总的可⽤物理内存和交换空间⼤⼩。
    used 列显示已经被使⽤的物理内存和交换空间。
    free 列显示还有多少物理内存和交换空间可⽤使⽤。
    shared 列显示被共享使⽤的物理内存⼤⼩。
    buff/cache 列显示被 buffer 和 cache 使⽤的物理内存⼤⼩。

free 与 available
在 free 命令的输出中,有⼀个 free 列,同时还有⼀个 available 列。这⼆者到底有何区别? free 是真正尚未被使⽤的物理内存数量。⾄于 available 就⽐较有意思了,它是从应⽤程序的⻆度看到的 可⽤内存数量。Linux 内核为了提升磁盘操作的性能,会消耗⼀部分内存去缓存磁盘数据,就是我们介绍 的 buffer 和 cache。所以对于内核来说,buffer 和 cache 都属于已经被使⽤的内存。当应⽤程序需要 内存时,如果没有⾜够的 free 内存可以⽤,内核就会从 buffer 和 cache 中回收内存来满⾜应⽤程序的 请求。所以从应⽤程序的⻆度来说,available = free + buffer + cache。请注意,这只是⼀个很理想的 计算⽅式,实际中的数据往往有较⼤的误差。

加上 -h 选项按G、M显示,持续观察内存的状况,此时可以使⽤ -s 选项并指定间隔的秒数:

1、Buffer(缓冲区)是系统两端处理速度平衡(从⻓时间尺度上看)时使⽤的。它的引⼊是为了减⼩短期 内突发I/O的影响,起到流量整形的作⽤。⽐如⽣产者——消费者问题,他们产⽣和消耗资源的速度⼤体接 近,加⼀个buffer可以抵消掉资源刚产⽣/消耗时的突然变化。

2、Cache(缓存)则是系统两端处理速度不匹配时的⼀种折衷策略。因为CPU和memory之间的速度差异 越来越⼤,所以⼈们充分利⽤数据的局部性(locality)特征,通过使⽤存储系统分级(memory hierarchy)的策略来减⼩这种差异带来的影响。

3、假定以后存储器访问变得跟CPU做计算⼀样快,cache就可以消失,但是buffer依然存在。⽐如从⽹络 上下载东⻄,瞬时速率可能会有较⼤变化,但从⻓期来看却是稳定的,这样就能通过引⼊⼀个buffer使得 OS接收数据的速率更稳定,进⼀步减少对磁盘的伤害。

跟踪进程

pstack

pstack命令⽤来显示每个进程的调⽤栈。可以使⽤pstack来查看进程正在挂起的执⾏⽅法,也可以⽤来查 看进程的本地线程堆栈。

用法:pstack 进程ID gdb的 bt命令 类似

strace

系统调⽤⼯具,是Linux系统下的⼀款程序调试⼯具,⽤来监控⼀个应⽤程序所使⽤的 系统调⽤,通过它 可以跟踪系统调⽤,让你熟悉⼀个Linux程序在背后是怎么⼯作的。 适⽤于想研究Linux底层的⼯作机制的 场景。

常用参数
-c 统计每⼀系统调⽤的所执⾏的时间,次数和出错的次数等.
-p pid 跟踪指定的进程pid.

strace -c -p 25901

网络相关

ifconfig ping

telnet

telnet是TCP/IP协议族的⼀员,是⽹络远程登录服务的标准协议,帮助⽤户在本地计算机上连接远程主 机。
使⽤⽅式:telnet IP PORT
和ssh的区别 端⼝区别:telnet是23 ssh是22 本质:telnet是明码传输,ssh是加密传输

traceroute

traceroute可以提供从⽤户的主机到互联⽹另⼀端的主机的路径,虽然每次数据包由同⼀出发点到达同⼀ ⽬的地的路径可能会不⼀样,但通常来说⼤多数情况下路径是相同的。
使⽤⽅式:traceroute sina.com

netstat

此命令显示⽹络连接、端⼝信息等,另外⼀个命令ss与netstat命令类似,不再单独介绍。

(1)根据使⽤端⼝
netstat -nap | grep 8080

(2)根据进程ID查找进程的详细信息

ps -elf | grep 25901

tcpdump

tcpdump是⽹络状况分析和跟踪⼯具,是可以⽤来抓包的实⽤命令,使⽤前需要对TCP/IP有所熟悉,因为 过滤使⽤的信息都是TCP/IP格式。

详细用法

常规过滤规则

基于IP地址过滤:host

tcpdump host 192.168.10.100

# 根据源ip进行过滤 $ tcpdump -i eth2 src 192.168.10.100
# 根据目标ip进行过滤 $ tcpdump -i eth2 dst 192.168.10.200

基于端口进行过滤:port

tcpdump port 8088

# 根据源端口进行过滤 $ tcpdump src port 8088

# 根据目标端口进行过滤 $ tcpdump dst port 8088

linux 常用命令汇总(面向面试)相关推荐

  1. linux常用命令汇总

    linux常用命令汇总,以便需要时快速查询 中文释义 相应命令 备注 在文件中查找 grep error catalina.out 在catalina.out文件中查找error信息 重启nginx ...

  2. 史上最全的Linux常用命令汇总①收藏这一篇就够了!(超全,超详细)

    史上最全的Linux常用命令汇总①(超全面!超详细!)收藏这一篇就够了! Linux命令基础 Shell Linux命令分类 Linux命令行的格式 编辑Linux命令行的辅助操作 获取命令帮助的方法 ...

  3. Linux常用命令汇总【思维导图】

    Linux常用命令汇总[文章末尾附有完整常用命令的思维导图,建议收藏] 文章大致分为以下小节 Linux入门 Linux目录结构 VI/VIM编辑器(重点) 网络配置 常用基本命令(重点) 常用命令思 ...

  4. Linux常用命令汇总 - 近乎全量命令!

    一提到操作系统,我们首先想到的就是windows和Linux.Windows以直观的可视化的方式操作,特别适合在桌面端PC上操作执行相应的软件.相比较Windows来说,Linux的很多管控都需要用命 ...

  5. Linux 常用命令汇总--加了注释

    目录   第一天 linux简介, 安装, 目录管理命令 第一章 linux简介 X-SHELL 软件的常用快捷键: ctrl+c 强制终止 ctrl+l 清屏 ctrl+u 从光标所在删除到行首 c ...

  6. Linux| Linux常用命令汇总(旧版)

    *********************************最常用命令********************************************** 文件查找:     find ...

  7. Linux常用命令汇总及使用方法(二)之文本编辑器VI

    VI可能是在Linux中使用比较频繁的文本编辑器,如果不能熟练使用VI,在一定程度上会影响工作效率,所以在这里记录一下VI的常用命令及操作方式 在[root@test ~]# vi carrie.tx ...

  8. Linux常用命令汇总(二)

    2019独角兽企业重金招聘Python工程师标准>>> VIM文本编辑器: vi / vim是Unix / Linux上最常用的文本编辑器而且功能非常强大. 只有命令,没有菜单. V ...

  9. Linux 常用命令汇总及解释。

    1.linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示. linux上的文件管理类命令有:cat.tac.more.less.head.tail.cp.mv.rm.rmdir.mk ...

最新文章

  1. springboot知识
  2. CodeBlocks集成Objective-C开发 Windows下学习Objective-C
  3. 重装windows2003遇到的老问题:0X0000007B和显卡驱动安装不上。
  4. node.js安装模式 的区别_Nodejs入门篇(一)
  5. 史记.饭岛爱列传(转)
  6. LOD优化策略-通篇
  7. Zabbix 3.0 安装
  8. Linux中后台执行scp
  9. arcgis导入坐标点转面_ArcGIS问题:如何将坐标点或者点文件转换成线、面文件
  10. h5 语音识别_h5 在线语音识别接口_html5 语音识别 - 云+社区 - 腾讯云
  11. svn分支和主干的同步操作
  12. java自行车s码适合身高_选购单车时,身高和尺寸对应表
  13. 2016北大叉院、北大信科保研经历
  14. CCF系列题解--2015年3月第三题 节日
  15. “心脏滴血”漏洞复现
  16. 运营︱快速提高app日活的方法
  17. 使用StarUML画类图
  18. python的xlrd读取Excel数据失败: raise XLRDError(FILE_FORMAT_DESCRIPTIONS[file_format]+‘; not supported‘) ...
  19. 经济寒冬影响存储专业人士
  20. ffmpeg合并视频时的尺寸注意事项

热门文章

  1. 短信发送活动页的短链打开app,app引流
  2. 黎明觉醒服务器维护怎么办,黎明觉醒无法更新怎么办 黎明觉醒无法更新解决办法...
  3. 谨以此献给1980~1989出生的人
  4. 超级巡警免疫文件夹(无害) 无法删除的解决办法
  5. 天数怎么换算成月_工资中的月计薪天数怎么计算
  6. qt 取textedit 鼠标位置处单词_开源国产优麒麟20.04 V3发布:多达73处改进
  7. 没有网店经验的小商家开辟小程序商城之路
  8. 靠板凳战胜实德晋级 回家战国安高指还打年轻牌
  9. 一条数据显示没显示出来
  10. Node.js 爬虫批量下载美剧 from 人人影视 HR-HDTV