Linux Shell 脚本攻略 ---- 第八章 当个好管家

8.1 统计磁盘的使用情况

     1 磁盘空间是一种有限资源

     2 df和du是Linux中用于统计磁盘使用情况的重要命令,df是disk free的缩写,du是disk usage的缩写

     3 找出某个文件(或多个文件)占用的磁盘空间: du file1 file2 ...      // 统计结果默认是以字节作为计算单位

     4 要获得某个目录中所有文件的磁盘使用情况,并在每一行中显示各个文件的磁盘占用详情,可以使用

        du -a DIRECTORY     // -a递归的输出指定目录或多个目录中的所有文件的统计结果

     5 命令du默认显示文件占用的总字节数,但是以标准的KB,MB,GB显示磁盘使用情况,可以使用-h选项

        du -h file    // 命令将显示文件的占用的KB

     6 du的选项-c可以输出作为命令参数的所有文件和目录的磁盘使用情况总计,它会在输出结果末尾加上一行总计

        du -c file1 file2   // 命令会在最后一行总结所有文件或目录的磁盘使用情况

     7 我们可以强制du使用特定的单位打印磁盘使用情况

        du -b file  //打印以字节为单位的文件大小

        du -k file  //打印以KB为单位的文件大小

        du -m file //打印以MB为单位的文件大小

        du -B file //打印以BLOCK_SIZE为单位的文件大小

     8 有时候我们需要从磁盘使用统计中排除部分文件,可以使用两种方法

        (1)通配符

        du --exclude "word" DIRECTORY

        du --exclude "*.txt" /path    //命令排除所有的.txt文件

        (2)排除列表

        du --exclude-from EXCLUDE.txt DIRECTORY  //EXCLUDE.txt包含了需要排除的文件列表

     9 我们可以使用 --max-depth指定du应该遍历的目录层次的最大深度,将深度指定为1,可以统计当前目录下的所有文件占用内存的情况,将深度指定为2,可以统计当前目录下以及下一级子目录文件占用内存的情况

        du --max-depth 2 DIRECTORY

     10 找出指定目录中的最大的10个文件: du -ak source_dir | sort -nrk 1 | head

          其中-a指定了所有的目录和文件,因此du会遍历source_dir并计算所有文件的大小,由于指定了选项-k,输出的第一列会包含以KB为单位的文件大小,第二列包含文件或文件夹的名称

     11 du提供磁盘使用情况信息,而df提供磁盘可用空间信息。该命令用或不用选项-h皆可。如果用-h则会以易读的格式打印磁盘空间信息

8.2 计算命令执行时间

     1 所有的类UNIX操作系统都包含time命令,你可以将time放在需要计算执行时间的命令之前

        time command    //command会执行并生成输出

        输出中分别显示了执行该命令所花费的real时间,user时间以及system时间

        real时间指的是挂钟时间,也就是命令从开始执行到结束的时间

        user时间指的是进程花费在用户模式中的cpu时间,这是唯一真正用于执行进程所花费的时间

        sys时间指的是进程花费在内核模式中的cpu时间

     

8.3 与当前登录用户,启动日志以及启动故障的相关信息

     1 要获取当前登录用户的相关信息可以使用: who 或者是: w

        该命令会提供当前登录的用户,用户所使用的伪终端TTY,伪终端当前所执行的命令以及用户登录的IP地址

     2 TTY是与文本终端相关联的设备文件

     3 要列出当前登录主机的用户列表可以使用: users

        如果用户打开了多个伪终端,那么在同一个用户会多次显示

     4 要查看系统已经运行了多长时间,可以使用:uptime

     5 要获取前一次的启动以及用户登录会话的信息,可以使用:last

        如果要获取单个用户的登录会话信息,可以使用:last user

     

8.4 用watch监视命令输出

     1 watch命令可以用来在终端中以固定的间隔监视命令输出,watch command

        命令默认每2秒更新一次输出

     2 我们可以使用-n second指定需要更新输出的时间间隔

         watch -n 5 command  //命令将指定5秒更新一次输出

 

时间: 2024-12-30 23:08:19

Linux Shell 脚本攻略 ---- 第八章 当个好管家的相关文章

Linux shell 脚本攻略 第一章 小试牛刀

 1.1 简介      1 打开终端后,就会出现一个提示符,形式通常如下         username@hostname$ 或者root@hostname#      2 $表示的是普通用户,#表示的是超级用户.超级用户是Linux中权限最高的用户      3 有两种运行脚本的方式         sh script.sh 或者是 path script (path是脚本所在的目录)      4 在bash中每个命令是通过分号";"来分开的  1.2 终端打印      1

Linux Shell 脚本攻略 ---- 第九章 管理重任p

9.1 收集进程信息     1 进程是程序的运行实例,运行在一台计算机中的多个进程各自分配了一个称为进程ID的唯一标识数字     2 同一个程序的多个实例可以同时运行,但是他们的进程ID却互不相同     3 一个进程包括多种属性,例如拥有该进程的用户,进程使用的内存数量,进程占用的CPU等     4 ps是收集进程信息的重要工具,它提供了信息包括:拥有进程的用户,进程的起始时间,进程所对应的命令行路径,进程ID,进程所属的终端,进程使用的内存,进程占用的CPU     5 top对应系统

Linux Shell 脚本攻略 - 第三章 以文件之名

3.1 生成任意大小文件     1 创建特定大小的文件最简单的方法是使用dd命令,dd命令会克隆给定的输入内容,然后将一份一模一样的副本写道输出     2 stdin,设备文件,普通文件等都可以作为输入,stdout,设备文件,普通文件等也可以作为输出     3 例子: dd if=/dev/zero of=data bs=1M count=1        该命令会在当面目录创建一个1MB大小的文件data,来看一下参数,if代表输入文件,of代表输出文件,bs代表以字节为单位的块大小,

Linux Shell 脚本攻略 --- 第六章 B计划

6.1 用tar归档     1 tar命令可以用来归档文件,可以用tar将多个文件和文件夹保存为单个文件,同时还能保留所有文件属性,如所有者,权限等,由该命令创建的文件通常称为tarball     2 按照下面的方法,用tar对文件进行归档: tar -cf output.tar sources        例如tar -cf output.tar file1 file2 file3....        命令中的-c代表的是创建文件,-f代表的是指定文件名     3 向归档中添加文件可

Linux shell 脚本攻略 第二章 命令之乐

2.1 用cat进行拼接     1 cat命令是一个日常会使用到的简单命令,cat本身表示concatenate(拼接)     2 用cat读取文件的一般格式是        cat file1 file2 file3....  // 这个命令将命令行参数的文件内容拼接在一起输出     3 cat命令不仅可以读取文件并拼接数据,它还能够从标准输入中进行读取.要从标准输入中读取,就要使用管道        stand_ouput | cat     4 cat命令可以用来压缩多个空行,使得被

Linux Shell 脚本攻略 ---- 第四章 让文本飞

4.1 正则表达式入门    1 正则表达式是基于样式匹配的文本处理技术的关键所在    2 正则表达式是用于绝大多数文本处理工具的一种语言    3 正则表达式的基本组成部分       正则表达式                 描述                             ^                      行起始标记                      $                      行尾标记                 .      

Linux Shell脚本查看NUMA信息_linux shell

Nova在NFV场景下会提供NUMA相关高级特性,这里提供一个脚本查看计算节点的NUMA相关信息. #!/bin/bash function get_nr_processor() { grep '^processor' /proc/cpuinfo | wc -l } function get_nr_socket() { grep 'physical id' /proc/cpuinfo | awk -F: '{ print $2 | "sort -un"}' | wc -l } func

Linux shell脚本基础学习详细介绍(完整版)

Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提. 1. Linux 脚本编写基础 ◆1.1 语法基本介绍1.1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例子中我们使用/bin/sh来执行程序. 当编辑好脚本时,如果要执行该脚本,还必须使其可执行. 要使脚本可

Linux Shell脚本查看NUMA信息

  这篇文章主要介绍了Linux Shell脚本查看NUMA信息,本文直接给出脚本实现代码,需要的朋友可以参考下 Nova在NFV场景下会提供NUMA相关高级特性,这里提供一个脚本查看计算节点的NUMA相关信息. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50