linux常用命令汇总(面向面试)

爱好学习的青年人 爱好学习的青年人     2023-03-09     797

关键词:

linux 常用命令汇总

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

文章目录

基础命令

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最常用150个命令汇总

Linux最常用150个命令汇总命令功能说明线上查询及帮助命令(2个)man查看命令帮助,命令的词典,更复杂的还有info,但不常用。help查看Linux内置命令的帮助,比如cd命令。文件和目录操作命令(18个)ls全拼list,功能是列出目录的内容... 查看详情

linux必备常用重要命令汇总

...为没有必要记住linux命令。我觉得这是一个误区,基本的常用命令是一定要记住的,就像你相亲一定要能叫出对方的名字一样重要。记住他们有两个好处:第一提高自己的效率,第二思路清晰。那么我到底需要记住那些linux的命... 查看详情

linux常用命令汇总

...帮助,命令的词典,更复杂的还有info,但不常用。help查看Linux内置命令的帮助,比如cd命令。文件和目录操作命令(18个)ls全拼list,功能是列出目录的内容及其内容属性信息。cd全拼changedirectory,功能是从当... 查看详情

linux常用的150个命令汇总

linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在... 查看详情

linux常用命令汇总(代码片段)

Linux常用命令汇总基本命令1、关机重启关机命令:halt-p:立刻关机shutdown-hnow:立刻关机poweoff:立刻关机shutdown-h5:5分钟后关机重启命令:reboot:立刻重启shutdown-rnow:立刻重启shutdown-r5:5分钟后... 查看详情

linux常用命令汇总(代码片段)

Linux常用命令汇总基本命令1、关机重启关机命令:halt-p:立刻关机shutdown-hnow:立刻关机poweoff:立刻关机shutdown-h5:5分钟后关机重启命令:reboot:立刻重启shutdown-rnow:立刻重启shutdown-r5:5分钟后... 查看详情

linux常用命令汇总(代码片段)

...管理结束语前言  本篇文章主要汇总了项目开发过程中常用的linux命令,以便后续查询。1.终极命令  man为用户查询指令的使用手册。 #查询指令ls manls  为便于查询man输出的指令手册ÿ 查看详情

linux操作系统常用命令的汇总(代码片段)

Linux操作系统常用命令的汇总一、设置别名功能:通过别名机制简化常用的、比较长的命令格式:alias命令别名='命令'#(“=”两边不能有空格)unalias命令别名#取消设置别名思路:先设置别名,... 查看详情

linux运维工程师面试知识点汇总(代码片段)

....iptables和firewall区别3.查询系统及资源的相关状态4.firewalld常用命令5.系统调优部分①列出系统推荐的内核调优配置文件②修改内核参数6.性能调优思路7.用户管理①监控登录②sudo提 查看详情

linux常用命令汇总(未完,待补充)

由于工作中经常要和Linux服务器打交道,故整理了一些常用的Linux命令,方便新入职的同学或实习生参考学习。1.查看Linux内核版本#uname-a2.ctrl+insert:复制选中的数据;shift+insert:粘贴选中的数据;yy:复制一行;p:粘贴一行3.查... 查看详情

linux常用基本命令汇总(代码片段)

文章目录1.查看命令帮助2.显示文件和目录3.切换目录4.创建文件和目录5.删除文件和目录6.文件拷贝7.移动、重命名8.清屏、查看位置、自动补全9.日历、日期指令10.历史指令11.文件查看cat12.文件查看moreLinux常见的发行版本有:C... 查看详情

linux常用命令汇总(带代码示例)(代码片段)

💦Linux常用命令汇总💦:  众所周知,Windows的交互方式是图形化界面,Linux的交互方式是命令行;在Linux操作系统当中可以进行各种语言的开发工作,我们可以通过命令进行各种指令操作,从而... 查看详情

linux常用命令总结-软件测试面试专用

查看详情

linux运维最常用命令汇总

Linux运维最常用命令汇总?线上查询及帮助命令?命令说明man查看命令帮助,命令的词典,更复杂的还有info,但不常用。(man手册)help查看Linux内置命令的帮助,比如cd命令。查看命令帮助,命令的词典,更复杂的还有info,但不常... 查看详情

linux12企业实战--51面试汇总(代码片段)

文章目录1、常用2、vpn3、系统4、网络5、mysql6、prometheus监控7、介绍8、k8s1、常用#pms床位管理系统#oa管理合同的系统#定时任务管理系统代码发布系统#mysql管理系统阿波罗配置中心#员工管理系统镜像拉取不下来DNS私有仓库网络tap键... 查看详情

linux12企业实战--51面试汇总(代码片段)

文章目录1、常用2、vpn3、系统4、网络5、mysql6、prometheus监控7、介绍8、k8s1、常用#pms床位管理系统#oa管理合同的系统#定时任务管理系统代码发布系统#mysql管理系统阿波罗配置中心#员工管理系统镜像拉取不下来DNS私有仓库网络tap键... 查看详情

linux日志分析常用命令汇总(代码片段)

1、查看当天有多少个IP访问:awk‘print$1‘log_file|sort|uniq|wc–l2、查看某一个页面被访问的次数:grep"/index.php"log_file|wc–l3、查看每一个IP访问了多少个页面:awk‘++S[$1]ENDfor(ainS)printa,S[a]‘log_file4、将每个IP访问的页面数进行从小到... 查看详情

帮你解决。linux常用命令汇总(代码片段)

...客专家、华为云享专家、网络安全领域优质创作者100个最常用的Linux命令一、文件目录mkdir:创建目录ls:列出目录内容pwd:显示当前目录cd:切换目录touch:创建文件cp:复制文件或目录mv: 查看详情