当前位置: 首页>编程语言>正文

如何监控C盘文件写入 磁盘监控命令

一 监视磁盘使用情况(du,df)

    du(disk usage) 和df (disk free)命令可以报告磁盘的使用情况

1,找出某个文件(或多个文件)占用的磁盘空间
   du file.txt
2,获得某个目录中所有文件的磁盘使用情况
#选项-a递归地输出指定目录或多个目录中所有文件的统计结果
  du -a DIRECTORY
注:du DIRECTORY也可以输出类似的结果,但是只会显示子目录使用的磁盘空间,而不是显示每个文件的占用情况

3选项 -b 、 -k 和 -m 可以强制 du 使用特定的单位打印磁盘使用情况。注意,这些选项不能与 -h一同使用
#打印以字节(默认输出)为单位的文件大小
  du -b FILE
#打印KB为单位的文件大小
  du -k FILE
#打印以MB为单位的文件大小
  du -m FILE
#打印以指定块为单位的文件大小
  du -B BLOCK_SIZE FILE
注:  BLOCK_SIZE 以字节为单位

4从磁盘使用统计中排除部分文件
#选项 --exclude 会排除匹配模式的一个或多个文件。选项 --exclude-from 能够排除多个文件或模式。每个文件名或模式必须独占一行
$ ls *.txt >EXCLUDE.txt
$ ls *.odt >>EXCLUDE.txt
# EXCLUDE.txt 中包含了需要排除的文件列表
du --exclude-from EXCLUDE.txt DIRECTORY

5 选项 --max-depth 可以限制 du 应该遍历多少层子目录
 du --max-depth 2 DIRECTORY

6 找出指定目录 中最大的10个文件
#第一种方法(包含目录的大小)
du -ak SOURCE_DIR | sort -nrk 1 | head
#第二种方法(只有文件的大小)
find . -type f -exec du -k {} \; | sort -nrk 1 | head

7磁盘可用空间
df -h

 

二 计算命令执行时间

1 time命令可以测量应用程序的执行时间(包含命令)
[root@rwwh ~]# time ./test.sh 1 2 3 4 5 6 7 8
第一个参数:1,参数个数为:8
第一个参数:2,参数个数为:7
第一个参数:3,参数个数为:6
第一个参数:4,参数个数为:5
第一个参数:5,参数个数为:4
第一个参数:6,参数个数为:3
第一个参数:7,参数个数为:2
第一个参数:8,参数个数为:1

real    0m0.003s
user    0m0.000s
sys     0m0.003s

#time命令默认报告3类时间
  Real:指的是壁钟时间(wall clock time),也就是命令从开始执行到结束的时间。这段时间包括其他进程所占用的时间片(time slice)以及进程被阻塞时所消耗的时间(例如,为等待I/O操作完成所用的时间)
  User:是指进程花费在用户模式(内核模式之外)中的CPU时间。这是执行进程所花费的时间。执行其他进程以及花费在阻塞状态中的时间并没有计算在内
  Sys:是指进程花费在内核中的CPU时间。它代表在内核中执行系统调用所使用的时间和库代码(library code)不同,后者仍旧运行在用户空间。这与“user时间”类似,这也是真正由进程使用的CPU时间

注意:time 命令的可执行二进制文件位于/usr/bin/time,另外还有一个bash shell的内建命令也叫作 time 。当执行 time 时,默认调用的是shell的内建命令。内建的 time 命令选项有限。如果需要使用额外的功能,应该使用可执行文件time的绝对路径(/usr/bin/time)

2 选项 -o 可以将相关的时间统计信息写入文件
$ /usr/bin/time -o output.txt COMMAND
#可以使用-a选项将命令执行时间追加到原文件的末尾
$ /usr/bin/time -a -o output.txt COMMAND

3 选项 -f 可以指定输出哪些统计信息及其格式。格式字符串包括一个或多个以 % 为前缀的参数。格式参数包括以下几种
  real 时间 : %e
  user 时间 : %U
  sys 时间 : %S
  系统分页大小: %Z

$ /usr/bin/time -f "Time: %U" -a -o timing.log uname

 

三 获取当前登录用户的相关信息(who,w)

who命令

[root@rwwh ~]# who
root     tty1         2020-10-09 13:58 (:0)
root     pts/0        2020-10-09 14:11 (192.168.182.1)

#who命令会显示出登录名,用户所使用的tty,登录时间以及登录用户的远程主机名
#TTY(该术语取自TeleTYperwriter)是与文本终端相关联的设备文件。当用户生成一个新终端时,对应的设备文件就会出现在/dev中(例如 /dev/pts/3)。可以通过执行命令 tty 来获得当前终端的设备路径

w命令

w命令可以获得有关登录用户更详细的信息
[root@rwwh ~]# w
 16:54:31 up  3:01,  2 users,  load average: 0.04, 0.07, 0.17
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty1     :0               13:58    3:01m 11.59s 11.59s /usr/bin/Xorg :0 -br -v
root     pts/0    192.168.182.1    14:11    0.00s  0.16s  0.06s w
#第一行列出了当前时间,系统运行时间,当前登录的用户数量以及过去1/5/15分钟内的系统平均负载.
#第二行显示了每个登录会话的详细信息,其中包括登录名,TTY,远程主机,登录时间,空闲时间该用户登录后使用的 总CPU时间、当前运行进程所使用的CPU时间以及进程所对应的命令行

users命令

users命令只列出当前的登录用户列表
[root@rwwh ~]# users
root root

#使用sort和uniq进行过滤
users| tr ' ' '\n' |sort | uniq

  uptime 命令

uptime 命令可以查看系统的加电运行时长
[root@rwwh ~]# uptime
 17:02:23 up  3:09,  2 users,  load average: 0.05, 0.08, 0.13

#提取运行时间,
原理:sed 使用单词up与第二个逗号(单词users之前)之间的内容替换掉整行文本
uptime | sed 's/.*up \(.*\),.*users.*//'

last 命令

#last 命令可以获取自文件/var/log/wtmp创建之后登录过系统的用户列表
 last
last 命令会输出登录用户、用户所使用的 tty 、登录位置(IP地址或本地终端)、登录时间、登出时间、会话时长。伪用户名reboot表示系统重启

last reboot(或者是其他用户名),获取指定用户信息

lastb 命令可以获取失败的用户登录会话信息

四 使用watch命令监视输出

   watch命令可以在终端中定时监视命令的输

①监控命令的输出
watch 'df -h '
②-n SECONDS指定更相信输出的时间间隔
watch -n 5 'ls -l'
③ 选项-d能够着重标记出连续的命令输出之间的差异
# 以30 秒为间隔,着重标记出新的网络连接
$ watch -n 30 -d 'ss | grep ESTAB‘

 

五 使用syslog记录日志

 与守护进程和系统进程相关的日志文件位于/var/log目录中.在Linux系统中,由守护进程sylogd 使用syslog标准协议处理日志。每一个标准应用程序都可以利用 syslogd 记录日志

如何监控C盘文件写入 磁盘监控命令,如何监控C盘文件写入 磁盘监控命令_执行时间,第1张

 

 

①向日志文件/var/log/message中写入信息
[root@rwwh ~]# logger This is a test log line
[root@rwwh ~]# tail -n 1 /var/log/messages
Oct 16 13:45:10 rwwh root: This is a test log line
注:/var/log/messages是一个通用日志文件。如果使用 logger 命令,它默认将日志写入/var/log/messages中

②选项 -t 可以定义消息标签
logger -t TAG This is a message

③选项 -f 可以将其他文件的内容记录到系统日志中
 logger -f /var/log/source.log

 了解: logrorate可以管理日志


https://www.xamrdz.com/lan/5zh1928674.html

相关文章: