首页 > 系统相关 >Linux常用命令2

Linux常用命令2

时间:2024-06-22 20:31:50浏览次数:29  
标签:文件 0.0 常用命令 命令 Linux 进程 lsof CPU

Linux基础命令2

1.top命令

top可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。通过top命令所提供的互动式界面,用热键可以管理

第一行:

top - 15:13:33 up 4 min, 1 user, load average: 0.12, 0.17, 0.08
内容含义
15:13:33表示当前时间
up 4min系统运行时间 格式为时:分
1 user当前登录用户数
load average:0.00,0.00,0.00系统负载,即任务队列的平均长度。三个数值分别是 1分钟,5分钟,15分钟前到现在的平均值

第二行:

任务:299 total, 1 running, 298 sleeping, 0 stopped, 0 zombie

第三行:

%Cpu(s): 0.3 us, 0.8 sy, 0.0 ni, 98.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

二三行为进程和CPU的信息,当有多个CPU时,这些内容可能会超过两行,其参数如下:

内容含义
299 total进程总数
1 running正在运行的进程数
298 sleeping睡眠的进程数
0 stopped停止的进程数
0 zombie僵尸进程数
0.3 us用户空间占用CPU百分比
0.8 sy内核空间占用CPU百分比
0.0 ni用户进程空间内改变过优先级的进程占用CPU百分比
98.9 id空闲 CPU百分比
0.0 wa等待输入输出的CPU时间百分比
0.0 hi硬中断(Hardware IRQ)占用CPU的百分比
0.0 si软中断(Software Interrupts)占用CPU的百分比

第四行:

MiB Mem : 3888.4 total, 2367.7 free, 1170.4 used, 581.4 buff/cache

第五行:

MiB Swap: 975.0 total, 975.0 free, 0.0 used, 2718.0 avail Mem

这两行代表内存信息,参数如下:

内容含义
KiB Mem:3888.4 total物理内存总量
2367.7 free空闲内存总量
1170.4 used使用的物理内存总量
581.4 buff/cache用作内核缓存的内存量
MiB Swap: 975.0 total交互区总量
975.0 free空闲交互区总量
0.0 used使用的交互区总量
2718.0 avail Mem代表可用于进程下一次分配的物理内存数量

第六行:

进程号 USER PR NI VIRT RES SHR %CPU %MEM TIME+ COMMAND

第六行为进程信息:

内容含义
PID进程id
USER进程所有者的用户名
PR优先级
NInice值。负值表示高优先级,正值表示低优先级
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命令名/命令行

2.w命令

w命令用于显示已经登陆系统的用户列表,并显示用户正在执行的指令。执行这个命令可得知目前登入系统的用户有哪些人,以及他们正在执行的程序。单独执行w命令会显示所有的用户,您也可以指定用户名称,仅显示某位用户的相关信息。

w

3.last命令

last命令用于显示用户最近登录信息。单独执行last命令,它会读取 /var/log/wtmp的文件,并把该文件的内容记录的登入系统的用户名单全部显示出来。

用法:last [选项]

4.ps命令

ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束。

用法:ps [选项]

参数:

-A:显示所有进程(同-e)

-a:显示当前终端的所有进程

-u:显示进程的用户信息

-o:以用户自定义形式显示进程信息

-f:显示程序间的关系

-x:显示所有程序,不以终端按及来区分

-aux:显示所有包含其他使用者的行程

内容含义
USER执行拥有者
PID进程ID
%CPUCPU使用率
%MEM内存使用率
VSZ进程使用的虚拟内存大小,以k为单位
RSS驻留空间的大小。显示当前常驻内存的程序的k字节数
TTY终端的号码
STAT进程状态
START进程开始时间
TIME执行时间
COMMAND所执行的进程名称

STAT进程包括下面的状态:

D:不可中断 Uninterruptible sleep(usually IO)

R:正在运行,或在队列中的进程

S:处于休眠状态T停止或被追踪

Z:僵尸进程

W:进入内存交换(从内核2.6开始无效)

X:死掉的进程

<:高优先级

N:低优先级L有些页被锁进内存

s:包含子进程

+:位于后台的进程组

l:多线程,克隆线程

5.netstat命令

netstat命令用来打印Linux中网络系统的相关状态信息,可以让你得知整个Linux系统的网络情况。

用法:netstat [选项]

参数:

-a或--all:显示所有连接中的Socket

-l或--listening:显示监控中的服务器的Socket

-n或--numeric:直接使用ip地址,而不通过域名服务器

-t或--tcp:显示TCP传输协议的连线状况

-p或--programs:显示正在使用Socket的程序识别码和程序名称

比如:

netstat -an

netstat -anltp

ProtoRecv-QSend-QLocal AddressForeign AddressStatePID/Program name
协议网络接收队列网络发送队列本地地址外部地址端口状态进程ID/程序名

协议:主要有tcp协议于udp协议,网络协议是通信计算机双方必须共同遵守的一组约定

Recv-Q:表示网络接收队列,表示收到的数据已经在本地接收缓冲,但是还有多少没有被进程取走。如果接收队列Recv-Q一直处于阻塞状态,可能是遭受了拒绝服务 denial-of-service 攻击

Send-Q:表示网络发送队列,对方没有受到的数据或者说没有Ack的,还是本地缓冲区。如果发送队列Send-Q不能很快清零,可能是有应用向外发送数据包过快,或者是对方接收数据包不够快。

本地地址与外部地址,分别以本地ip+端口,外部ip+端口的形式表达

端口(port),是一个很重要的东西,它是设备与外界通讯的窗口,一个IP可以有65535(2^16)个端口,在计算机上,每个服务都会启用一个端口。

state(当前端口状态)有以下几种状态:

端口状态意义
LISTEN侦听来自远方的TCP端口的连接请求
SYN-SENT在发送连接请求后等待匹配的连接请求
SYN-RECEIVED在收到和发送一个连接请求后等待对方连接请求的确认
ESTABLISHED代表一个打开的连接
FIN-WAIT-1等待远程TCP连接中断请求,或先前的连接中断请求的确认
FIN-WAIT-2从远程TCP等待连接中断请求
CLOSE-WAIT等待从本地用户发来的连接中断请求
CLOSING等待远程TCP对连接中断的确认
LAST-ACK等待原来的发向远程TCP的连接中断请求的确认
TIME-WAIT等待足够的时间以确保远程TCP接收到连接中断请求的确认
CLOSED没有任何连接状态

6.lsof命令

lsof命令用于查看你打开文件的进程,进程打开的文件,进程打开的端口(tcp、udp)。找回/恢复删除的文件。是十分方便的系统监视工具,因为lsof命令需要访问核心内存和各种文件,所以需要root用户执行。

在Linux环境下,任何事务都以文件形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议(TCP),用户数据报协议(UDP)套接字等,系统在后台都会为该应用程序分配一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通信接口。因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过slof工具能够查看这个列表对系统监测以及排错是很有帮助的。

6.1lsof命令使用

如果输入 lsof命令提示:未找到命令。那么我们需要进行安装。安装命令为 yum -y install lsof

我的是已经安装好的,直接执行lsof命令。

内容含义
COMMAND进程的名称
PID TID TASKCMD进程ID
USER进程所有用户
FD文件描述符,应用程序通过文件描述符识别该文件
TYPE文件类型
DEVICE指定磁盘的名称
SIZE/OFF文件的大小
NODE索引节点(文件在磁盘上的标识)

常用命令如下:

lsof text.txt #查看哪些进程打开了text.txt文件

lsof -c sshd #查看sshd服务所打开的文件

lsof -i :xx #查看xx端口有哪些进程在访问

lsof -p xxxx #查看xxxx进程号所打开的文件

lsof -u 0 #查看uid为0的用户打开的文件

lsof|grep /var/log/ #查看/var/log/下的文件被哪些进程打开

6.2利用lsof命令恢复已删除的文件

需要恢复已删除的文件前提条件是还有进程打开这个文件,比如遭受到黑客入侵往往总是会删除一些日志、木马文件等,假设我们ssh的登录日志被删除了,我们使用 lsof查看,可以看到最后面有(deleted)这个状态。

lsof|grep /var/log/messages这里pid对应的是861,所以我们需要查看861进程打开的文件描述

cd /proc/861/fd

cp 5 /var/log/messages #拷贝这个文件

这样就可以达到文件恢复的效果了

7.kill命令

kill命令用于结束进程

用法:kill [选项] pid

kill -9 xxxx #彻底杀死进程号为xxxx的进程

8.which命令

which用于查找并显示给定命令的绝对路径,可以看到某个系统命令是否存在

用法:which [命令]

比如:

which cd

9.rpm -Va 检查文件完整性

这个命令只在CentOS上才有,由于Linux里都是文件的特性,这就可能导致某命令被黑客替换修改,假设我们的Linux系统有命令被黑客攻击并替换,我们应该如果处理

当我们发现命令不可用或感觉到不对劲时,我们可以查找被修改的命令:

rpm -Va

而后将命令文件重新替换就好了

rpm -V用来检查已安装rpm包的完整性。就是指安装rpm包产生的所有文件和原始rpm包中的信息是否一致。如果完全一致,则不做任何输出,只有发现有不正确的文件时才会输出。

10.xargs命令

xargs是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具。它擅长将标准输入数据转换成命令行参数,xargs能够处理管道或者 stdin并将其转换成特定命令的命令参数。xargs也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。xargs的默认命令是 echo,空格是默认定界符。这意味着通过管道传递给 xargs的输入将会包含换行和空白,不过通过 xargs的处理,换行和空白将被空格取代。eargs是构建单行命令的重要组件之一。

简单点说,就是可以通过 xargs完成对多个命令的拼接,可以让Linux指令变得很灵活

讲一个简单的例子,将文本内容排序输出,每行三个字段:

也可以完成多个文件的连续输出:

在实际应用中场景会更复杂,比如查看大量的ip位于国内还是国外,或者说一些更复杂的场景,通过写shell脚本,再用 xargs连接多个命令,可以快速处理大量的数据,因此提高我们的工作效率。

标签:文件,0.0,常用命令,命令,Linux,进程,lsof,CPU
From: https://blog.csdn.net/2302_76344470/article/details/139887496

相关文章

  • 文件管理—linux(基础IO)
    目录​编辑一、C语言文件接口(库函数)hello.c写文件hello.c读文件 输出信息到显示器 stdin&stdout&stderr二、系统文件I/O(系统调用)hello.c写文件:hello.c读文件接口介绍openopen函数返回值三、文件描述符fd文件描述符的分配规则使用dup2系统调用(重定向)......
  • 【B站黑马程序员LINUX 学习笔记 01】
    课程看的是b站黑马程序员的https://www.bilibili.com/video/BV1n84y1i7td/?spm_id_from=333.337.search-card.all.click&vd_source=be621a30ea2e4e0374f5df95b0b017f201操作系统概述计算机由:硬件和软件组成。操作系统是计算机软件的一种,它主要负责:作为用户和计算机硬件......
  • Rocky Linux捣鼓记录(四):安装RPM Fusion仓库
    RPMFusion简介RPMFusion是一个面向Fedora和RedHatEnterpriseLinux(RHEL)及其衍生版(如CentOS)的社区维护软件仓库。它诞生于多个第三方仓库(包括Dribble、Freshrpms和Livna)的合并,旨在为用户提供一个集中的位置来获取那些因许可、法律或政策原因未被官方Fedora仓库收录的......
  • 哪些工作需要在Linux系统下进行编程
    在Linux环境下进行编程的工作涵盖了广泛的领域,从系统底层到应用层,从单一的脚本编写到复杂的应用和服务开发。以下是一些主要的职位,这些职位常常需要在Linux环境下进行编程:linux1.**系统管理员**:  -编写自动化脚本来管理服务器和网络设备。  -开发监控脚本和工具。......
  • Rocky Linux捣鼓记录(三):安装epel软件仓库、更换国内源
    简介EPEL(ExtraPackagesforEnterpriseLinux),是由FedoraSpecialInterestGroup维护的EnterpriseLinux(RHEL、CentOS)中经常用到的包。下载地址:https://mirrors.aliyun.com/epel/配置方法1.备份(如有配置其他epel源)mv/etc/yum.repos.d/epel.repo/etc/yum.repos.d/e......
  • linux结束处于Tl状态的进程,释放内存资源
    原因是运行python结束时,用的ctrl+c不太行,尝试Ctrl+z,发现有时候管用。后面htop一看内存似乎没有释放掉。总结针对处在Tl状态的进程,用kill进程号没用,内存没有释放掉、进程没有关掉。用kill-CONT进程号解决,原理是发现SIGCONT信号,激活进程,然后就可以关掉了,内存也释放掉......
  • linux环境安装启动多个tomcat
    1.安装jdk如果安装完毕记录安装位置如果不记得了可以输入whichjava查找java文件的位置然后根据结果输入ls-irt/usr/bin/java在根据结果查询ls-lrt/etc/alternatives/java查询到java存放的位置/usr/java/jdk1.8.0_191-amd64/jre/bin/java之后编辑vietc/profil......
  • Rocky Linux捣鼓记录(二):更换国内镜像源
    1.RockyLinux官方镜像源地址:https://mirror.rockylinux.org/mirrormanager/mirrors2.RockyLinux国内镜像源阿里云AlmaLinux镜像:https://mirrors.aliyun.com/rockylinux/腾讯云rocky镜像:https://mirrors.cloud.tencent.com/rocky/中科大rocky镜像:https://mirrors.ustc.e......
  • Linux驱动开发笔记(九)IIC子系统及其驱动
    文章目录前言一、IIC驱动框架二、总线驱动2.1iic总线的运行机制2.2重要数据结构2.2.1i2c_driver结构体2.2.2i2c总线结构体2.3匹配规则三、设备树的修改四、设备驱动的编写4.1相关API函数4.1.1i2c_add_adapter()4.1.2i2c_register_driver()4.1.3i2c_transfer......
  • 【linux】常用指令
    一、登录与注销1)sudouseraddlilei//添加用户(不能被立即使用,需设置密码sudopasswdlilei)2)sudoadduserlilei//添加用户3)login//登录或切换用户4)logout//注销用户(命令行)exit(shell-退出控制台)5)shutdown-h10//10分钟后自动关机shutdown-c//取消6)halt......