当前位置: 首页 > article >正文

Linux命令复习

系统命令

free命令

free 命令能够显示系统中物理上的空闲和已用内存,还有交换内存,同时,也能显示被内核使用的缓冲和缓存

param参数:

  • -b:以Byte为单位显示内存使用情况;
  • -k:以KB为单位显示内存使用情况;
  • -m:以MB为单位显示内存使用情况;
  • -o:不显示缓冲区调节列;
  • -s<间隔秒数>:持续观察内存使用状况;
  • -t:显示内存总和列;
  • -V:显示版本信息。

total:表示一共的内存大小

used:表示已经使用的内存大小

free:表示剩余空间的内存大小

shared:表示共享内存大小

buff/cache:表示系统分配但未被使用的buffers/cache 数量。

  • Buffers
    • 指的是内核用来暂存写入磁盘数据的内存(写缓存)。当数据需要写入磁盘时,先写入内存中的缓冲区,随后再异步地写入磁盘,以提高写入效率。
  • Cached
    • 指的是内核用来缓存从磁盘读取的数据(读缓存)。当数据从磁盘读取到内存后,会保留在缓存中,方便后续再次访问时可以直接从缓存中获取,而无需再次读取磁盘。
  1. used - buffers - cached:真正使用的内存数(-buffers/cache)
    • 这表示被真正使用的内存(被进程实际占用的内存),不包括 buffers 和 cached 的部分
    • 理由是,虽然 bufferscached 占用了一部分内存,但它们随时可以被释放并重新分配给其他进程,因此不算作真正的内存使用量。
  2. free + buffers + cached:真正未使用的内存数(+buffers/cache)
    • 这表示真正可以用来分配的内存(系统当前的可用内存),包括 free 的内存和可回收的 buffers 和 cached
    • 因为 buffers 和 cached 的内存并没有被进程锁定,必要时内核会释放这些内存,重新分配给其他进程。

top命令

top 是 Linux 系统中用于实时监视系统性能和运行状态的命令行工具,它提供了系统的 CPU 使用率内存使用率任务进程状态 等信息。通过它可以监控系统负载和识别资源占用较高的进程。

选项描述
-d seconds刷新间隔时间(默认是 3 秒)。
-n iterations设置刷新次数,显示指定次数后退出。
-u username仅显示指定用户的进程。
-p pid仅监控指定的进程(通过进程 ID)。
-b以批处理模式运行(适用于脚本输出,非交互模式)。
-i忽略空闲进程,不显示占用 0% CPU 的进程。
-c显示命令的完整路径和参数(再次按 c 可切换回简略显示)。

通过ps aux可以查询到进程PID,也可以通过ps aux | grep <进程名>

运行 top 时,可以通过键盘输入来实时调整显示内容或行为。

功能
h显示帮助信息。
q退出 top 命令。
c切换是否显示完整的命令路径。
M按内存使用排序。
P按 CPU 使用排序。
N按 PID 排序。
T按运行时间排序。
k杀死进程,需输入 PID。
r重新调整进程优先级(调整 nice 值)。
z切换颜色显示。
d更改刷新间隔时间(以秒为单位)。
u过滤显示指定用户的进程。

top -H -p pid,查看进程pid下面的子线程

df命令

df 是 Linux 系统中用于显示文件系统的磁盘空间使用情况的命令。它可以查看挂载的文件系统的总空间、已用空间、剩余空间及挂载点等信息。

参数描述
-h以人类可读的格式显示磁盘空间(以 KB、MB、GB 等单位显示)。
-H以 1000 为单位(而不是 1024)显示人类可读的格式。
-k以 KB 为单位显示磁盘使用情况(默认单位)。
-m以 MB 为单位显示磁盘使用情况。
-T显示文件系统类型(如 ext4、xfs 等)。
-i显示文件系统的 inode 使用情况,而不是块设备的磁盘使用情况。
-P使用 POSIX 格式输出结果(便于脚本解析)。
--total显示所有文件系统使用量的总和。
--output自定义显示内容(可指定字段,如 size, used, avail, target 等)。
-x <type>排除指定类型的文件系统。
--sync在显示之前同步文件系统(刷新数据,确保显示的是最新的数据)。
-a查看全部的文件系统

ps命令

ps 是 Linux 系统中用于查看系统中运行进程的命令。通过 ps,我们可以显示进程的运行状态、进程 ID、所属用户、CPU 和内存占用等信息,适用于实时监控和问题诊断。

top 的实时动态显示不同,ps 显示的是执行命令时刻的静态快照。

参数描述
-a显示所有进程,除了会话首领(即不包括终端相关的进程)。
-u显示与指定用户相关的进程。
-x显示没有终端的后台进程。
-e-A显示系统中所有进程(包括后台和无终端的进程)。
-f以完整格式显示进程(包含父进程、启动时间等更多信息)。
-o自定义显示字段,例如:ps -o pid,user,%cpu,command
-p指定进程 ID,显示特定进程的信息。
-t指定终端,显示属于该终端的进程。
--sort对进程按指定字段排序,例如:--sort=-%cpu 按 CPU 使用率降序排列。
-N显示与指定条件相反的进程(与条件取反)。
-L显示进程的所有线程。
-C按命令名过滤进程,例如:ps -C nginx 只显示名称为 nginx 的进程。
-T产看进程下面的子线程
# ps命令单独使用的情况
ps -elf tomcat
#结合管道操作和grep命令进行过滤,用于查询某一个进程的信息
ps -elf | grep tomcat

检查时区

date

文件操作

tail命令

tail命令是Linux系统中用于查看文件末尾内容的常用工具。默认情况下,它显示指定文件的最后10行内容。在不指定文件时,tail会从标准输入读取数据。

以下是 tail 命令常用参数及其功能的表格:

参数功能说明
-n [K]显示文件的最后 K 行内容。例如,tail -n 20 filename 将显示文件 filename 的最后 20 行。
-c [K]显示文件的最后 K 个字节。例如,tail -c 100 filename 将显示文件 filename 的最后 100 个字节。
-f实时追踪文件内容的变化,常用于监控日志文件的更新。例如,tail -f filename 会持续显示文件 filename 的新添加内容。
-F类似于 -f,但在文件被重命名或删除后会继续追踪新的文件。例如,tail -F filename 在文件 filename 被替换后仍会继续追踪。
-q--quiet--silent从不输出给出文件名的首部。在同时查看多个文件时,默认情况下 tail 会在每个文件内容前显示文件名,使用此选项可以取消显示文件名。
-v--verbose始终显示文件名,即使只处理一个文件。
--pid=PID-f 合用,表示在进程 ID 为 PID 的进程终止后结束 tail 的执行。
-s [S]--sleep-interval=[S]-f 合用,表示在每次反复的间隔休眠 S 秒。例如,tail -f -s 5 filename 会每 5 秒刷新一次文件 filename 的内容。

tail -n 50 -f filename 可以显示文件 filename 的最后 50 行,并实时监控其更新。

unzip命令

unzip 命令用于解压缩 .zip 格式的文件,是 Linux 和 Unix 系统中常用的工具。以下是 unzip 命令的常用参数及功能:

  • -l:显示压缩文件内所包含的文件列表。
  • -t:检查压缩文件是否有损坏,但不解压。
  • -o:在不提示用户的情况下,直接覆盖已存在的文件。
  • -n:解压时不要覆盖已存在的文件。
  • -q:执行时不显示任何信息(静默模式)。
  • -d <目录>:指定解压后的文件存储目录。
  • -x <文件>:解压时排除指定的文件。
  • -P <密码>:指定解压密码,用于解压加密的 .zip 文件。

网络通信

netstat命令

netstat(网络统计)命令用于显示各种网络相关信息,如网络连接、路由表、接口状态、伪装连接以及多播成员等。以下是 netstat 命令的常用参数及功能:

  • -a:显示所有连接中的套接字,包括监听和非监听的。
  • -t:仅显示 TCP 协议的连接。
  • -u:仅显示 UDP 协议的连接。
  • -n:以数字形式显示地址和端口号,避免主机名解析,提高显示速度。
  • -l:仅列出处于监听状态的套接字。
  • -p:显示建立相关连接的程序的 PID 和名称(需要超级用户权限)。
  • -r:显示路由信息,即路由表。
  • -e:显示扩展信息,例如每个连接的用户 ID 等。
  • -s:按各个协议显示网络统计信息。
  • -c:每隔固定时间持续执行该命令,默认每秒刷新一次。

示例:

  1. 显示所有活动的网络连接:

    netstat -a
    
  2. 显示所有处于监听状态的 TCP 端口:

    netstat -tl
    
  3. 显示所有处于监听状态的 UDP 端口:

    netstat -ul
    
  4. 显示所有 TCP 连接,禁用主机名解析,并显示对应的程序名称:

    sudo netstat -tnp
    
  5. 显示路由表信息:

    netstat -r
    
  6. 按协议显示网络统计信息:

    netstat -s
    

系统管理

uname命令

查看内核版本

ip命令

查看Linux的ip地址:

ip addr

telnet命令

不管在window还是linux系统要校验某台服务器是否可以ping通,都可以使用命令,如果要加上断口的,linux可以使用telnet命令
语法:telnet ip port

telnet 127.0.0.1 8080

http://www.kler.cn/a/461264.html

相关文章:

  • Ungoogled Chromium127 编译指南 MacOS 篇(一)- 项目介绍
  • linux-26 文件管理(四)install
  • docker 安装influxdb
  • Windows系统提示ffmpeg.dll丢失怎么解决?
  • 《从入门到精通:蓝桥杯编程大赛知识点全攻略》(一)-递归实现指数型枚举、递归实现排列型枚举
  • YOLO11改进 | 卷积模块 | ECCV2024 小波卷积
  • 逆袭之路(11)——python网络爬虫:原理、应用、风险与应对策略
  • Jupyter占用内存高问题排查解决
  • c#接口和抽象方法
  • 2025.01.15python商业数据分析
  • 从AI远见到中国速度:Scaling Law发现者为何引全球热议?
  • windows系统安装完Anaconda之后怎么激活自己的虚拟环境并打开jupyter
  • 区块链安全常见的攻击分析——Unprotected callback - ERC721 SafeMint reentrancy【8】
  • 鸿蒙开发:自定义一个车牌字母键盘
  • 混合并行训练框架性能对比
  • 未来20年在大语言模型相关研究方向--大语言模型的优化与改进
  • C语言优化技巧--达夫设备(Duff‘s Device)解析
  • 鸿蒙服务卡片
  • 反射工具类ReflectUtil
  • 最近的一些事情
  • 基础算法--滑动窗口
  • 深入理解MVCC:快照读与当前读的原理及实践
  • LLM(十二)| DeepSeek-V3 技术报告深度解读——开源模型的巅峰之作
  • Docker容器日志查看与清理的方法
  • es使用简单语法案例
  • 使用npm包的工程如何引入mapboxgl-enhance/maplibre-gl-enhance扩展包