《Linux Shell脚本攻略》学习笔记-第九章

news2024/12/27 10:56:02

9.1 简介

计算机系统是由一组硬件及控制这些硬件的软件组成的。

Linux既提供了能够检查这些系统当前性能的交互式程序,也提供了用于记录一段时间内系统性能表现的模块。

9.2 监视磁盘使用情况

磁盘空间是一种有限的资源。

du和df命令可以报告磁盘使用情况,这两个工具能够统计出文件和目录的磁盘占用情况以及可用的磁盘空间。

递归找出指定目录或多个目录中所有文件的统计结果

du命令默认显示文件占用的总字节数,但是以KB、MB或GB为单位显示磁盘使用情况更方便人们阅读。

选项-c可以计算出文件或目录所占用的磁盘空间,另外还会输出单个文件的大小,会多出一行磁盘使用情况的统计:

选项-s只输出总计数据:

选项-b、-k、-m可以强制du使用特定的单位打印磁盘使用情况。

选项--exclude和--exclude-from可以让du在磁盘使用统计中排除部分文件

喜爱选哪个--exclude只能排除匹配模式的一个或者多个文件。选项--exclude-from能够排除多个文件或者模式。每个文件名或模式必须要独占一行。可以在txt文件中包含需要排除的文件列表。

当使用du命令时,要确保其对所有文件有读权限,对所有的目录有读权限和执行权限。如果权限不合适,du会返回出错信息。

df的-h选项会以易读的格式输出磁盘空间信息

df命令也可以使用目录作为参数,在这种情况,会输出该目录所在分区的可用磁盘空间情况

9.3 计算命令执行时间

time命令可以测量出应用程序的执行时间:

②.     内建的time命令选项有限,如果需要使用额外的功能,应该使用可执行文件time的绝对路径(/usr/bin/time)

real时间%e

user时间%U

sys时间%S

系统分页大小%Z

参数%M会显示所使用的最大内存,参数%Z会显示系统页面大小

9.4 收集登录用户、启动日志及启动故障的相关信息

Linux包含了一些能够报告运行系统各方面信息的命令,其中包括当前登录用户、主机加电时间以及启动故障。

该命令会显示出登录名、用户所使用的TTY、登陆时间以及登录用户的远程主机名。

如果某个用户有多个登录会话,不管是远程的还是打开了多个终端窗口,那么该用户会被多次显示。

up之后的时间表示了系统已经加电运行了多久

last命令还可以获取指定用户信息,伪用户名reboot表示重启系统。

你必须要以root用户的身份运行lastb。

9.5 列出一小时内占用CPU最多的10个进程

PS命令能够显示出系统中进程的详细信息,包括CPU使用情况、所执行的命令、内存占用、进程状态等。

用于监视并计算一小时内CPU使用情况的shell脚本

9.6 使用watch监视命令输出

watch命令会按照指定的间隔时间来执行命令并显示其输出。

我们可以使用-n seconds来指定更新输出的时间间隔。

选项-d能够着重标记出连续的命令输出之间的差异

9.8  记录文件及目录访问情况

与守护进程和系统进程相关的日志文件位于/var/log目录中。

日志文件有助于我们推断系统出现了什么故障,logger命令可以通过syslogd记录日志。

/var/log/messages是一个通用日志文件,如果使用logge命令,它默认将日志写入到/var/log/messages中。

9.10  通过监视用户登录找出入侵者

9.11 监视远程磁盘的健康状况

脚本使用SSH登录远程系统,采集每台主机的磁盘使用情况,然后写入中央主机的日志文件中。

远程主机中必须要有一个公用账户,以便脚本能够登录系统采集数据。

9.12 确定系统中用户的活跃时段

这则攻略利用系统日志找出每个用户在服务器上停留了多久,并根据时间长短对其划分等级,最后生成一份报告,其中包括等级、用户名、首次登录时间、最后登录时间、登录次数以及总使用时长。

运行结果:

9.13 电源使用情况的测量与优化

powertop能够测量每个电源模块的消耗,支持交互式的电源优化。

选项-html会使得powertop测量一段时间,然后生成一份默认名称为PowerTOP.html的报表。

9.14 监视磁盘活动

iotop可以持续监视,也可以生成固定时间段的监视报告。

9.15 检查磁盘及文件系统错误

检查文件系统的标准工具是fsck。如果文件系统长时间没有检查或是出于某种原因怀疑文件系统有损坏,Linux会在启动的时候自动执行fsck,你也可以手动执行该命令。

9.16 检查磁盘健康状态

短期检测只需要几分钟时间,长期检测在大容量设备商可能要花几个小时的时间。

检测结果可以使用命令smartctl -a查看。

9.17 获取磁盘统计数据

  • hdparm命令可以测试磁盘性能,选项-t和-T能够测试缓冲与缓存度操作
  • hdparm命令能够给出更多的此类数据并检查磁盘在系统中的执行状况。
  • 选项-t可以强迫SMART设备进行自检,这不会伤害磁盘,并可以在提供服务的同时执行。
  • 选项-a会报告设备的全部状态信息
  • 选项-a指示fsck尝试自动修复错误,无需询问用户是否进行修复
  • 选项-N可以模拟fsck要执行的操作
  • 选项-A可以检查/etc/fstab中配置的所有文件系统
  • 要检查分区或者文件系统的错误,主需要将路径作为参数
  • 选项-p可以监视特定进程
  • -n指示执行N次后退出
  • iotop -o只显示出那些正在进行的I/O活动的进程
  • 选项-f可以将其他文件中的内容记录到系统日志中
  • 选项-t可以定义消息标签
  • 向日志文件中写入信息
  • lastb命令可以获取失败的用户登录会话信息
  • last命令可以获取来自文件/var/log/wtmp创建之后扥估过系统的用户列表
  • uptime命令可以查看系统的加电运行时长
  • uesr命令只列出当前的用户登录列表
  • w命令可以获得有关登录用户更详细的信息
  • who命令可以获取当前登录用户的相关信息
  • 选项-f可以指定输出哪些统计信息及其格式
  • 选项-a可以与-o配合使用,将命令执行的时间追加到源文件的末尾
  • 选项-o可以将相关的时间统计信息写入文件
  • real:指的是壁钟时间,也就是命令从开始执行到结束的时间
  • user:指进程花费在用户模式中的CPU时间,这是执行进程所花费的时间
  • sys:指进程花费在内核中的CPU时间,代表了在内核中执行系统调用所使用的时间
  • time默认报告三类时间
  • 磁盘可用空间信息
  • 从磁盘使用统计中排除部分文件
  • 使用特定的单位打印文件
  • 显示磁盘使用总计
  • 以KB、MB或块为单位显示磁盘使用情况
  • 找出某个文件占用的磁盘空间

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/168514.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

消息中间件如何选型 图解 Kafka vs RabbitMQ vs RocketMQ 的差异

综述 Kafka 采用拉取 ( Pull) 方式消费消息,吞吐量相对更高,适合海量数据收集与传递场景,例如日志采集和集中分析缺点 Kafka 单机超过 64 个队列/分区,Load 会发生明显的飙高现象,队列越多,load 越高&#…

linux基本功系列之chage命令实战

文章目录前言一. chage命令的介绍二. 常用案例示范1. 查看用户密码的有效期2. 设置密码的过期时间3. 设置账号的失效时间总结前言 前言🚀🚀🚀 想要学好Linux,命令是基本功,企业中常用的命令大约200多个,不管…

2023牛客寒假算法基础集训营1

题解 | #2023牛客寒假算法基础集训营1#_牛客博客 (nowcoder.net) //本人能力有限,以下只附上本人get到的题,其他参考以上链接或其他 A World Final? World Cup! (I) 链接:登录—专业IT笔试面试备考平台_牛客网 来源:牛客网 …

【自学Docker 】Docker top命令

Docker top命令 大纲 docker top教程 使用 docker top 命令可以用来查看 Docker 中运行的进程信息。docker top 命令后面的 CONTAINER 可以是容器 ID,或者是容器名。 docker top语法 haicoder(www.haicoder.net)# docker top [OPTIONS] CONTAINER [ps OPTIONS]案…

说话的三重复杂性

从0开始首先要有一个说话者,这个说话者说出来的话有三重有意。说话者想要表达的东西。文字本身的意义。倾听者所理解的意义。例子:说话者问:有女朋友吗?我们假设说话者要表达,如果还没,那么一起加班。文字本…

GIS入门进阶之017

一、网络分析 网络分析是ArcGIS提供的重要的空间分析功能,利用它可以模拟现实世界的网络问题。如从网络数据中寻找多个地点之间的最优路径,确定网络中资源的流动方向、资源配置和网络服务范围等。 网络是图论和运筹学中的一个数学模型,通常用…

【C#】封装.net framework函数库,并打包发布dll函数库到nuget服务器

作者:小5聊 简介:一只喜欢全栈方向的程序员,专注基础和实战分享,欢迎咨询,尽绵薄之力答疑解惑! 1、Nuget函数库管理工具 1.1、什么是Nuget Nuget是一个.NET平台下的开源的项目,它是Visual Stu…

电脑怎么设置定时关机?分享2个简单操作!

随着互联网时代的发展,越来越多人使用电脑。使用过程中,有时会产生很多疑惑,其中有朋友问小编:电脑怎么设置定时关机?其实Windows系统设置关机很简单,主要有下面两个方法! 演示机型:…

【学习打卡 Free-Excel 】Task1~2 数据源何而来_数据格式

free-excel 文章目录free-excel1 数据基本知识工作簿与工作表xls和xlsx单元格行列导入数据从文件导入数据从网页导入数据:中文编码:2 表格单元格数据类型excel错误提示数据统一添加符号数值转文本、文本转数值资源链接 Free excel_文字版Free excel&…

系分 - 案例分析 - 数据库设计(基本)

个人总结,仅供参考,欢迎加好友一起讨论 文章目录系分 - 案例分析 - 数据库设计(基本)数据库基础数据库设计规范化(范式)数据库事务并发控制典型例题题目描述参考答案数据库安全性技术视图物化视图存储过程触…

【练习】Day07

努力经营当下,直至未来明朗! 文章目录一、选择二、编程1. 不同路径2. 三角形最小路径和 [重点理解!!]答案1. 选择2. 编程普通小孩也要热爱生活! 一、选择 以下关于 Servlet 生命周期说法错误的是 ( ) A: Servlet 容器…

解构模块化区块链

干货:解构模块化区块链 在可扩展性方面,模块化区块链是区块链设计的最新范式。 模块化的概念起源于Layer1区块链Celestia,现在这个概念也逐渐被更多的人所关注,还有人甚至提出”模块化区块链将定义Web3创新的下一个十年“的口号…

java.sql.SQLException: ORA-28001: the password has expired

1、找到SQL Plus 运行 2、登录 请输入户名: sys as sysdba 输入口令:(sys用户的密码)3、以dba角色登入 SQL >connect as sysdba; 请输入户名: sys as sysdba 输入口令:(sys用户的密码)4、修改密码 SQ…

Flink:FlinkSql解析嵌套Json

日常开发中都是用的简便json格式,但是偶尔也会遇到嵌套json的时候,因此在用flinksql的时候就有点麻烦,下面用简单例子简单定义处理下 1,数据是网上摘抄,但包含里常用的大部分格式 { "afterColumns": {…

SpringBoot集成Elasticsearch7.4 实战(一)

在网上已经有好多关于Elasticsearch的介绍,就不在翻来覆去讲一些基本概念,大家感兴趣的可以自己去找一些资料巩固下。这次只为了顾及众多首次接触Elasticsearch,案例都讲的很浅显,还有就是受个人能力所限,各位读者发现…

大数据-hadoop-hdfs

Hadoop分布式文件系统(HDFS)是指被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统(Distributed File System)。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度…

数据结构(3)线段树基础

活动 - AcWing 参考《算法竞赛进阶指南》-lyd 一、概述 1.简述、所需空间 线段树是一种基于分治思想的二叉树结构,用于区间上的信息统计。与树状数组相比,线段树是一种更通用的数据结构。 线段树每个节点代表一个区间。线段树具有唯一根节点&#x…

关于KDDockWidget源码修改和自定义

前言 前面的文章介绍过KDDockWidget的基本使用及示例,文章在这里: KDDockWidgets源码编译及安装 qml dockwidget窗口停靠 QML KDDockWidget 实现 tabwidget效果( 窗口可独立浮动和缩放) 今天主要记录一些在KDDockWidget源码中的…

来自元宇宙的声音:Chord Hero

这一集,我们邀请了 Chord Hero 的联合创始人兼行政总裁 Anthony Chau 来谈谈促使他加入 The Sandbox 元宇宙的原因以及即将在即将到来的游戏赛季推出的第一个项目。 请告诉我们更多关于 Chord Hero 的信息吧。 Chord Hero 通过一系列实体和数字产品让学习音乐变得有…

视图(view)

1、视图:(了解内容) 就是站在不同的角度去看待同一份数据。 视图是MySQL服务器中的一个对象,用于存储查询语句,目的的提高查询语句的使用效率,避免在多处地方重复性开发相同的查询语句。 - 将查询语句交给一…