Linux中ps -aux -ef参数含义以及du,grep, wc文件统计实际应用

Linux中ps -aux,du -ah, grep实际应用

linux中ps -aux和ps -ef属于两种不同风格的unix系统查询进程状态的命令,讨论这个问题,要追溯到Unix系统中的两种风格,System V风格和BSD 风格,ps aux最初用到Unix BSD Style中,而ps -ef被用在System V Style中,两者输出略有不同。现在的大部分Linux系统都是可以同时使用这两种方式的

1.linux中ps -aux参数含义解释

在这里插入图片描述
user:用户
PID: 进程ID
%CPU:cpu使用率
%MEM: 物理内存使用率
VSZ:该进程使用的虚拟內存量(KB)
RSS:该进程占用的固定內存量(KB)(驻留中页的数量)
TTY:该 process 是在那个终端机上面运作,若与终端机无关,则显示 ?,另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。
STAT:进程状态,R(运行中)/ S(处于休眠状态)/ T(停止或被追踪)/ Z(僵尸进程)
START: //该进程被触发启动时间
TIME : //该进程实际使用CPU运行的时间
COMMAND:启动进程的命令

2.ps -ef参数含义

在这里插入图片描述
其中各列的内容意思如下
UID //用户ID、但输出的是用户名
PID //进程的ID
PPID //父进程ID
C //进程占用CPU的百分比
STIME //进程启动到现在的时间
TTY //该进程在那个终端上运行,若与终端无关,则显示? 若为pts/0等,则表示由网络连接主机进程。
CMD //命令的名称和参数

二.linux中grep以及|(管道)原理含义

首先grep是Global Regular Expression Print的缩写,表示全局正则表达式显示
2.格式及主要参数
grep [options]
主要参数: grep --help可查看

[root@www ~]# grep [-acinv] [–color=auto] ‘搜寻字符串’ filename

选项与参数:
-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 ‘搜寻字符串’ 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行!
–color=auto :可以将找到的关键词部分加上颜色的显示!

pattern正则表达式主要参数:
\: 忽略正则表达式中特殊字符的原有含义。
^:匹配正则表达式的开始行。
$: 匹配正则表达式的结束行。
<:从匹配正则表达 式的行开始。
>:到匹配正则表达式的行结束。
[ ]:单个字符,如[A]即A符合要求 。
[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
.:所有的单个字符。
*:所有字符,长度可以为0
Example:
有多少行含有匹配的模式
[root@zhoucentos log]# grep -c wo filename
3
反向搜索-- 字符类的反向选择 [^] :如果想要搜索到有 oo 的行,但不想要 oo 前面有 g,如下
[root@zhoucentos log]# grep -n ‘[^g]oo’ filename
8:root is a super
行首与行尾字节 ^ $
注意:
^ 符号,在字符类符号(括号[])之内与之外是不同的! 在 [] 内代表『反向选择』,在 [] 之外则代表定位在行首的意义!

只要行首是wo的行
[root@zhoucentos log]# grep -n ^wo filename
1:wo ai wo jia
3:wo hen hao
找出空白行----只有行首跟行尾 (^$)

[root@zhoucentos log]# grep -n ‘^$’ filename
6:
9:
10:
任意一个字节 . 与重复字节 *
这两个符号在正则表达式的意义如下:

. (小数点):代表『一定有一个任意字节』的意思;

  • (星号):代表『重复前一个字符, 0 到无穷多次』的意思,为组合形态
    [root@zhoucentos log]# grep -n ‘g…d’ filename
    8:good is a gread

三.du查看磁盘文件或目录所占空间大小

du命令功能说明:统计目录(或文件)所占磁盘空间的大小。
语法及参数:
du [-abcDhHklmsSx] [-L <符号连接>][-X <文件>][–block-size][–exclude=<目录或文件>] [–max-depth=<目录层数>][–help][–version][目录或文件]
常用参数:
-a或-all 为每个指定文件显示磁盘使用情况,或者为目录中每个文件显示各自磁盘使用情况。
-b或-bytes 显示目录或文件大小时,以byte为单位。
-c或–total 除了显示目录或文件的大小外,同时也显示所有目录或文件的总和。
-D或–dereference-args 显示指定符号连接的源文件大小。
-h或–human-readable 以K,M,G为单位,提高信息的可读性。
-H或–si 与-h参数相同,但是K,M,G是以1000为换算单位,而不是以1024为换算单位。
-k或–kilobytes 以1024 bytes为单位。
-l或–count-links 重复计算硬件连接的文件。
-L<符号连接>或–dereference<符号连接> 显示选项中所指定符号连接的源文件大小。
-m或–megabytes 以1MB为单位。
-s或–summarize 仅显示总计,即当前目录的大小。
-S或–separate-dirs 显示每个目录的大小时,并不含其子目录的大小。
-x或–one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
-X<文件>或–exclude-from=<文件> 在<文件>指定目录或文件。
–exclude=<目录或文件> 略过指定的目录或文件。
–max-depth=<目录层数> 超过指定层数的目录后,予以忽略。
–help 显示帮助。
–version 显示版本信息。

Example:
du -sh user 查看user目录下整个目录所占的磁盘空间大小,-s表示总结的意思,只列出一个值
du -0h user -0(杠零)表示每列出一个目录的信息,不换行,而是直接输出下一个目录的信息
du -h --max-depth=0 filename --max-depth=n表示只深入到第n层目录,此处设置为0,即表示不深入到子目录
du -s *|sort -nr 统计目录下文件大小并排序

Linux统计文件夹中文件个数以及目录个数
我们可以用wc命令进行统计:
wc [-lwm]
参数:
-l 仅列出行数;
-w 仅列出多少字(英文单字);
-m 多少字符;
ls -l |grep ‘^d’ | wc -l
其中ls -l 显示当前目录下所有文件以及文件夹基本信息,其中开头有“-”和“d”分别,“-”表示文件,“d”表示目录,directory
grep进行正则规则匹配是文件夹,wc进行个数统计
同理可以使用ls -l | grep “^-” |wc -l来统计文件个数

猜你喜欢

转载自blog.csdn.net/qq_42707967/article/details/108663672