首页 > 系统相关 >linux常用命令

linux常用命令

时间:2024-05-23 16:09:32浏览次数:23  
标签:文件 百分比 中断 压缩 常用命令 linux 进程 CPU

 

系统信息

top

实时显示系统进程和资源使用情况

 

 

  • top - 10:40:36

• 系统当前时间

  • up 10 days, 35min

• 系统到目前为止已运行的时间

  • 1 user

• 当前登录系统的用户数量

  • load average: 0.39, 0.35, 0.48

• 系统负载(任务队列的平均长度),3个数值分别为1分钟、5分钟、15分钟前到现在的平均值

  • Tasks : 85 total, 2 running, 83 sleeping, 0stopped, 0 zombie

• 显示的是进程状态信息的汇总,分别对应:所有启动的进程数、正在运行的进程数、挂起的进程数、停止的进程数、僵尸进程数

  • %Cpu(s) : 3.2 us, 6.5 sy, 0.0 ni, 90.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

• 3.2% us

• 用户空间占用CPU百分比

• 6.5% sy

• 内核空间占用CPU百分比

• 0.0% ni

• 用户进程空间内改变过优先级的进程占用CPU百分比

• 90.3% id

• 空闲CPU百分比

• 0.0% wa

• 等待输入输出的CPU百分比

• 0.0% hi

• 硬中断占用CPU百分比

• 0.0% si

• 软中断CPU百分比

• 0.0% st

• 虚拟CPU等待实际CPU的时间的百分比

  • Kib Mem : 3880884 total, 622008 free, 493640 used, 2765236 buff/cache

• 物理内存总量、已经使用的物理内存、空闲物理内存、内核缓存内存量

• buffer和cache的作用是所用I/O系统调用的时间,比如读写等。一般一个系统而言,如果cache的值很大,说明cache住的文件多。如果频繁访问文件都能被命中,很明显会比读取磁盘调用快,磁盘的IO必定会减小

• 从字段的意义上来说mem.free表示的是空闲内存总量,但是需要注意的是,虽然buffer/cache会占用一定的物理内存,但是当系统需要内存的时候,这些内存立即释放出来,也就是说buffer/cache可以看成可用内存

  • Kib Swap : 0 total, 0free, 0 used.  2993920 avail Mem

• 交换区总量、已使用交互区总量、空闲交换区总量、缓冲的交换区总量

  • 进程信息

• PID

• 进程ID

• USER

• 进程所有者

• PR

• 优先级

• NI

• nice值,负值表示高优先级,正值表示低优先级

• VIRT

• 进程使用的虚拟内存总量,单位kb,VIRT=SWAP+RES

• RES

• 进程使用的、未被换出的物理内存大小,单位kb,RES=CODE+DATA

• 进程实际使用的内容

• SHR

• 共享内存大小,单位kb

• %CPU

• 上传更新到现在的CPU时间占用百分比

• %MEM

• 进程使用的物理内存百分比

• TIME+

• 进程使用的CPU时间总计,单位1/100秒

• COMMAND

• 命令名/命令行

  • 概要

• 统计使用的是CPU需要用1-%id获取。或者us+sy+si

• wa:使用率过高的时候,我们需要考虑IO的性能是否有瓶颈,可以在使用iostat、sar等命令做进一步分析

• hi:使用率过高时,表示当前硬件中断占用很大的百分比。一般硬件中断我们可以分析文件/proc/interrupts、/proc/irq/pid/smp_affinity、服务irqbalance是否配置,以及CPU的频率设置,通过这些可以帮系统打散优化系统的硬件中断

• Linux kernel通过用一种软件的方法(可延迟函数)来模拟硬件的中断模式,通常叫做软中断。常见的软件中断一般都是和网络有关。从网卡到IP层的数据报文收发都是si处理的,长时间写日志也可能产生软件中断

• 当软中断出现瓶颈的时候,系统有个进行叫ksoftirqd,每个CPU都有自己对应的ksoftirqd/n(n为CPU的逻辑ID),每个ksoftirqd的内核线程都会去运行对应的ksoftirqd(函数)来处理自己的中断队列上的软件中断。所以,当网络出现阻塞的时候,软件中断程序ksoftirqd肯定会出现瓶颈。此时我们可以通过ps aux|grep ksoftirqd查看ksoftirqd的瓶颈

du

显示目录或文件的磁盘使用量

 

 

df

显示磁盘空间使用情况

 

 

  • -h(--human-readable):以易于阅读的格式(如MB、GB)显示信息

 

系统管理

ps

查看当前进程

通常用来查看Java进程的情况以及检查JVM参数

  • //查找java进程,相当于jps命令,但是有的时候线上服务器没办法执行jps,可以用以下命令代替
    ps aux|grep java
    //查询java进程,并高亮显示Xmx参数部分
    ps aux|grep java | grep --color Xmx
  • //只滚动输出ERROR的日志
    tail -f application.log |grep ERROR
  • TAR 是一个归档工具,用于将多个文件和目录集合到一个单一的文件中(tarball),但本身并不压缩文件
  • TAR 可以说是打包工具,它保持了文件的目录结构和属性信息,便于备份和传输
  • 为了减小体积,TAR 文件经常与其他压缩工具如GZIP或BZIP2一起使用,生成如 .tar.gz(通常称为tarball)或 .tar.bz2 的文件
  • GZIP 是一个压缩工具,主要用于对单个文件进行压缩,不提供归档多文件的功能
  • GZIP 不保留原始文件的文件结构和权限信息,只关注于压缩单个文件的内容
  • ZIP 是一种常用的归档与压缩格式,原生支持于Windows操作系统,并且在Mac和Linux上也被广泛支持
  • ZIP 支持多种压缩算法,而且可以添加文件注释、密码保护等额外功能
  • procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
     r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
     0  1      0 2446260      0 3202312    0    0   201 16304    1    6  0  0 84  5 1
  • cpu指标

kill

杀死进程

chmod

更改文件或目录权限

chown

更改文件或目录的所有者和群组

文件操作

ls

列出目录内容

当需要显示隐藏文件的时候用ls -a

ll

ll是ls -l命令的一个别名,用于以详细列表格式显示当前目录中的文件和目录

mkdir:创建新目录。

rmdir:删除空目录。

rm:删除文件或目录。

cp:复制文件或目录。

mv:移动或重命名文件或目录。

touch:创建空文件或更新文件时间戳。

find:搜索文件和目录

// 在当前目录及其子目录中查找名为filename.txt的文件:
find . -name filename.txt
//查找所有目录
find . -type d
//查找所有普通文件
find . -type f
//查找大于10MB的文件
find . -size +10M
//查找修改时间在过去7天内的.log文件
find . -name "*.log" -mtime -7

日志查看

vi/vim

cat

查看文件内容

用于查看较小的文本文件

more / less

分页查看文件内容

less可以翻页,more不能翻页

查看较大的文本文件

tail

查看文件末尾内容,通常用来实时监视日志文件的新增内容

head

查看文件开始部分的内容。用于快速查看文件的开头部分。

grep

搜索文件中的文本行,并显示匹配的行。通常用来查找包含特定关键词的日志条目。

网络和通信

ping

检测网络到另一台主机的连接

curl / wget

从网络上下载文件

netstat

显示网络连接、路由表、接口统计等信息

ssh

安全远程登录

scp

通过SSH复制远程文件

telnet

主要被用于创建到远程主机的终端会话,或者测试远程主机上特定端口的可达性和服务的响应性

ifconfig

查看和更改网络接口的配置,例如IP地址、子网掩码和广播地址

压缩与解压

tar

压缩和解压tar文件

gzip / gunzip

压缩和解压gzip文件

zip / unzip

压缩和解压zip文件

概要

GZIP 通常提供的压缩比率对于文本文件来说是比较高的,但因为它主要设计为单文件压缩,所以当需要处理多个文件时,通常会先用TAR打包再用GZIP压缩

ZIP 在压缩比率上可能不如GZIP对文本文件的压缩效果,但它提供了更多的功能,如加密、分卷压缩等,并且可以直接处理多个文件和目录

当比较纯粹的压缩率,XZ和BZIP2通常提供比GZIP更高的压缩比,但它们的压缩/解压速度较慢

包管理

apt-get(Debian系)

yum(RedHat系)

概要

软件包的安装、更新和管理(根据你的Linux发行版而定)

系统监控和性能分析

vmstat

显示虚拟内存统计信息

• %us:用户进程执行时间百分比

• %sy:内核系统进程执行时间百分比

• %id:空闲时间百分比

• %wa:IO等待时间百分比

• %st:虚拟 CPU 等待实际 CPU 的时间的百分比

• 概要

• us的值比较高时,说明用户进程消耗的CPU时间多,但是如果长期超50%的使用,那么我们就该考虑优化程序算法或者进行加速。

• sy的值高时,说明系统内核消耗的CPU资源多,这并不是良性表现,我们应该检查原因。

• wa的值高时,说明IO等待比较严重,这可能由于磁盘大量作随机访问造成,也有可能磁盘出现瓶颈(块操作)。

iostat

显示CPU和输入/输出统计信息

 

dmesg

显示内核相关的日志信息

  • 日志太多,看不懂,还需要root权限
  • 1.74 1.87 1.97 这三个数字的意思分别是1分钟、5分钟、15分钟内系统的平均负荷。我们一般表示为load1、load5、load15

uptime

uptime命令可以显示的信息显示依次为:现在时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。

13:29  up 23:41, 3 users, load averages: 1.74 1.87 1.97

标签:文件,百分比,中断,压缩,常用命令,linux,进程,CPU
From: https://www.cnblogs.com/leskang/p/18208689

相关文章

  • Linux 开启定时任务执行脚本
    接到领导一个需求,要把压缩包放到当天日期的目录下,所以需要每天生成一个当前日期的文件夹1、创建sh文件,我这边命名为zip.sh#!/bin/bashtime=$(date"+%Y-%m-%d")##获取当前时间并且格式化时间##切换到这个目录下cd/root/app/bankcard/zip/mkdir"${time}"##创建以时......
  • linux关闭numa
    以下内容在Centos8操作系统演示1、编辑/etc/default/grub2、在GRUB_CMDLINE_LINUX里添加numa=off3、输入命令grub2-mkconfig-o/boot/grub2/grub.cfg用更改的文件重新生成/boot/grub2/grub.cfg重启生效4、重启后查看cat/proc/cmdline再次确认......
  • git 的常用命令
      在写好代码,想要将代码提交到github上时,应该首先执行命令gitinit来建立一个本地仓库,然后需要将修改添加到暂存区(gitadd.:添加全部文件;gitadd-p<file>:添加指定文件),之后执行gitcommit-m'message'来将暂存区的修改提交到本地仓库。  在提交到本地仓库后,需要添......
  • Linux C++ IDE
    在linux下开发C++一般使用cmake,而我们也需要一个IDE来提高开发效率,之前使用过VSCode,这个需要装各种插件进行许多配置才能成为一个真正的IDE,后来知道了Clion是一个更好的选择。那么我们怎么使用呢?官网下载安装包,可以试用一个月,然后我们可以去淘宝买个共享帐号,我......
  • 在Linux中, 如何进行内存泄漏的诊断?
    在Linux中,诊断内存泄漏通常涉及几个步骤,包括监控内存使用情况、识别异常的内存消耗模式、定位可能的内存泄漏源以及分析相关代码。以下是一些常用的方法和工具:1.使用top或htop命令这些工具可以实时显示系统中进程的内存使用情况。top或者htop在这些工具中,可以按内存使用......
  • 在Linux中,SELinux是什么?
    SELinux(Security-EnhancedLinux)是一个强大的安全模块,它为Linux操作系统提供安全策略机制。SELinux是NSA(美国国家安全局)开发并开源的,目的是增强系统的安全性,通过强制访问控制(MandatoryAccessControl,MAC)来限制对资源的访问,从而保护系统免受未授权访问和潜在威胁。1.SELinux的主......
  • 在Linux中,如何管理服务?
    在Linux中,管理服务通常涉及启动、停止、重启和查看服务的状态。不同的Linux发行版可能使用不同的服务管理工具,以下是几种常见的服务管理方法:1.使用Systemd(最新版CentOS、Fedora、Ubuntu16.04+)Systemd是现代Linux发行版中用于初始化系统和管理服务的标准。查看服务状态:syst......
  • 在Linux中,如何查看系统日志文件?
    在Linux中查看系统日志文件是系统维护和故障排查的重要部分。以下是一些常用的命令和方法来查看和分析系统日志:1.使用journalctl(针对systemd系统)对于使用systemd作为初始化系统的Linux发行版(如大多数现代的Fedora、CentOS/RHEL7及以上版本、Ubuntu15.04及以上版本等),journalct......
  • 在Linux中,如何进行网络抓包?
    在Linux中进行网络抓包通常使用tcpdump或Wireshark这样的工具。这些工具可以捕获经过网络接口的数据包,帮助你分析网络流量、诊断网络问题或进行安全审计。以下是使用这些工具的基本步骤:1.使用tcpdump进行网络抓包tcpdump是一个命令行工具,非常灵活且功能强大。安装tcpdump:su......
  • 转载: PCIE linux驱动
    https://www.cnblogs.com/LoyenWang/p/14209318.htmlPCIE物理结构PCIDevice;PCI总线中有三类设备:PCI从设备,PCI主设备,桥设备。PCI从设备:被动接收来自HostBridge或者其他PCI设备的读写请求;PCI主设备:可以通过总线仲裁获得PCI总线的使用权,主动向其他PCI设备或主存储器发起读写请......