文章目录

  • 一, 统计文档字数相关的信息
  • 二, 获取系统时间
  • 三, 进程相关的指令
  • 3.1 基本介绍
  • 3.2 `ps`-->显示进程相关信息
  • 3.2.1 ps常用指令一, `ps aux`
  • 3.2.2 ps常用指令二, `ps -ef`
  • 3.3 `netstat`-->显示端口信息
  • 3.3.1 定义
  • 3.3.2 常用指令
  • 3.4, `top` -->动态监控进程信息
  • 3.4.1 定义
  • 3.4.2 应用实例
  • 3.5, `kill` -->终止进程
  • 3.5.1 kill 常用指令:
  • 3.6 `pstree ` -->查看进程树
  • 四, `sort`, `uniq`指令
  • 1, sort命令:
  • 1.1, sort 示例
  • 2, uniq 命令:
  • 2.1, uniq 示例
  • 五, `grep`,`sed`,`awk`三大指令
  • 1, grep命令
  • 1.1, grep 示例
  • 2, sed命令
  • 3, awk命令


一, 统计文档字数相关的信息

wc命令用于计算字数,利用wc命令我们可以计算文件的字节(byte)数,字(word)数,或是列数。若不指定文件名称、或是所给予的文件名为"-",则wc指令会从标准输入设备读取数据。

  • 语法
    wc [-clw][–help][–version][文件…]
  • 参数

-c或 --bytes 或 --chars 表示只显示Bytes(字节)数
-w 显示文件的单词数,用空白字符分隔
-m 显示字符的数量
-l或 -lines 显示行数
–help 帮助
–version 版本信息

实例:

  • 默认情况下,wc 将计算并显示文件的行数(空行也算噢!!),字数以及字节数
  • 行数 -l
  • 字数 -w
  • 字节数 -c
  • 字符数 -m

linux grep统计次数 grep 统计出现次数_shell

  • wc还可以连续统计并显示多个文件的文件的行数,字数以及字节数
拓展: 字节和字符的辨析:

linux grep统计次数 grep 统计出现次数_大数据_02


学习wc必须通读的一篇文章

二, 获取系统时间

date命令默认是获取当前系统时间:
通过一些参数可以对日期进行格式化以便阅读:

## date后面的参数没有空格则可以省略双引号  
date+"%Y-%m-%d %H:%M:%S";

常用的date指令:

目的

指令

获取当前的系统时间并格式化

date + “%Y-%m-%d %H:%M:%S”

获取时间戳(默认返回从1970-01-01到现在的秒数)

date +%s ,若要返回毫秒,则, date+%s"000"

获取指定的日期:

linux grep统计次数 grep 统计出现次数_shell_03

如: 2026年的2月有多少天:

linux grep统计次数 grep 统计出现次数_sed_04

三, 进程相关的指令

3.1 基本介绍

  1. 在Linux中, 每个执行的程序(代码)都成为一个进程, 每个进程都分配一个ID号.
  2. 每一个进程, 都会对应一个父进程, 而这个父进程可以复制多个子进程.
  3. 每个进程都可能是以两种方式存在的, 前台与后台, 所谓前台进程就是用户目前的屏幕上可以进行操作的. 后台进程则是实际上真正去执行操作的,
  4. 一般系统的服务都是以后台进程的方式存在, 而且都会常驻在系统中. 直到关机才结束.

3.2 ps–>显示进程相关信息

ps
ps命令是用来查看目前系统中, 有哪些正在执行, 以及它们执行的状况, 可以不加任何参数.
ps 参数以及含义

  1. ps a
  2. ps u 显示进程的归属用户及内存的使用情况;
  3. ps x 显示后台进程运行的参数
  4. ps -l
  5. ps -e
  6. ps -f

3.2.1 ps常用指令一, ps aux

ps aux, 用来显示现行终端机下的所有程序,包括其他用户的程序。

linux grep统计次数 grep 统计出现次数_linux grep统计次数_05

输出结果中各个字段的含义:

linux grep统计次数 grep 统计出现次数_linux grep统计次数_06

相关的应用实例:

  • ps aux | grep ssh
3.2.2 ps常用指令二, ps -ef

ps -ef 全格式显示系统内的所有进程, 以及其父进程 -e显示所有进程, -f 全格式显示进程(包括父进程)

linux grep统计次数 grep 统计出现次数_大数据_07

输出结果中各个字段的含义:

linux grep统计次数 grep 统计出现次数_linux grep统计次数_08

相关的应用实例:

  • ps -ef | grep java 列出 java相关的进程

linux grep统计次数 grep 统计出现次数_sed_09

3.3 netstat–>显示端口信息

3.3.1 定义

Netstat 是一款命令行工具,可用于列出系统上所有的网络套接字连接情况,包括 tcp, udp 以及 unix 套接字,另外它还能列出处于监听状态(即等待接入请求)的套接字.

3.3.2 常用指令

netstat -anp

-a或--all 显示所有连线中的Socket。
-n或--numeric 直接使用IP地址,而不通过域名服务器。
-p或--programs 显示正在使用Socket的程序识别码( PID)和程序名称。

linux grep统计次数 grep 统计出现次数_shell_10

  • eg: netstat -anp |grep 22
    查询22端口(ssh服务对应)的使用情况

3.4, top -->动态监控进程信息

3.4.1 定义

top命令:
主要作用在于动态显示系统消耗资源最多的进程信息,包含进程ID、内存占用、CPU占用等和ps命令作用基本相同,唯一的区别是top命令能够动态显示进程信息

  • 基本语法: top [选项]
  • 选项说明

选项

功能

-d 秒数

指定 top命令每隔几秒更新,默认是3秒

-i

使 to不显示任何闲置僵死进程

-p

通过指定监控进程 ID来仅仅监控某个进程的状态

  • 交互操作(在top执行后, 自定义输出)

操作

功能

P

以CPU使用率排序, 默认就是如此输出

M

以内存的使用率排序

N

以PID排序

u

查看特定用户的进程

k 根据pid杀掉进程

q

退出top

linux grep统计次数 grep 统计出现次数_linux_11

3.4.2 应用实例
  1. 监控特定用户

top:输入此命令,按回车键,查看执行的进程。u:然后输入“u”回车,再输入用户名,即可

linux grep统计次数 grep 统计出现次数_linux_12

  1. 终止指定的进程

top:输入此命令,按回车键,查看执行的进程。k:然后输入“k”回车,再输入要结束的进程ID号

linux grep统计次数 grep 统计出现次数_sed_13

  1. 指定系统状态更新的时间

top -d 秒数

3.5, kill -->终止进程

3.5.1 kill 常用指令:

基本语法

功能描述

kill [选项] 进程号

通过进程号PID终止进程, 选项填 -9代表强制终止

killall 进程名称

通过进程名称终止进程, 也支持通配符, 在系统因负载过大而变慢的时候较有效

kill 和 kill -9的区别:

linux grep统计次数 grep 统计出现次数_linux_14

kill指令的几个栗子:

  1. 终止特定的进程/服务:
    ps -ef | grep xxx 查找pid,kill pid自杀。 (ps aux也可以)
  2. 终止多个进程/服务:
    killall 进程名
  3. 强制终止一个终端
  • 我杀我自己

3.6 pstree -->查看进程树

linux grep统计次数 grep 统计出现次数_sed_15

四, sort, uniq指令

1, sort命令:

将文件内容进行排序,并把排序结果输出.
  • 格式:

    • sort [参数] [文件]
  • 常用参数:

    参数

    用途

    -u

    去除所有的重复行

    -n

    按照数值大小排列

    -r

    逆序排序

    -c

    检查文件是否有序

    -k

    指定从文件的第几列开始排序

    -t

    设置排序时所用的分割字符

1.1, sort 示例
  1. 按数字大小顺序输出:
    sort -n testNum.txt

linux grep统计次数 grep 统计出现次数_linux_16

2. 去除重复

sort -u testNum.txt

linux grep统计次数 grep 统计出现次数_shell_17

3. 逆序并去重

sort -rnu testNum.txt

linux grep统计次数 grep 统计出现次数_大数据_18


新加栗子, 原始数据:

linux grep统计次数 grep 统计出现次数_shell_19


4. 按照“:”分割后的第三列倒序排序。

linux grep统计次数 grep 统计出现次数_大数据_20

2, uniq 命令:

uniq用于去除文本文件中连续的重复行,中间不能夹杂其他文本.

sort与uniq的区别:

sort命令是只要有重复行,它就去除(指令为: sort -u),而uniq重复行**必须要连续,**也可以用他忽略文件中的重复行.
由于uniq只能检测到相邻的行.所以, 去重 (uniq)之前首先对数据进行 排序(sort)!!!

  • 格式:
    • uniq [参数] [文件]
  • 常用参数:
    • -c 打印每行在文本中重复出现的次数
    • -d 只显示有重复的记录,每个重复记录只出现一次
    • -u 只显示没有重复的记录
2.1, uniq 示例
  • 打印输出文本重复次数
    • uniq -c testNum.txt

linux grep统计次数 grep 统计出现次数_大数据_21

  • 显示有重复的记录
    • uniq -d testNum.txt

linux grep统计次数 grep 统计出现次数_shell_22

  • 显示不重复的行
    • uniq -u testNum.txt
    • linux grep统计次数 grep 统计出现次数_linux grep统计次数_23


由于uniq命令只检测相邻行,所以此时有部分错误

  • uniq常与sort搭配使用:
    • 排序并去重输出:
      • sort -n testNum.txt | uniq

linux grep统计次数 grep 统计出现次数_sed_24

五, grep,sed,awk三大指令

1, grep命令

grep是“global search regular expression and print out the line”的简称,意思是全面搜索正则表达式,用于搜索关键字并将其打印出来。这个命令可以结合正则表达式使用,查找文件里符合条件的字符串,它也是linux使用最为广泛的命令。

grep命令的选项用于对搜索过程的补充,而其命令的模式十分灵活,可以是变量、字符串、正则表达式。需要注意的是:当模式中包含了空格,务必要用双引号将其引起来。

linux系统支持三种形式的grep命令,大儿子就是grep,标准,模仿的代表。二儿子兴趣爱好多-egrep,简称扩展grep命令,其实和grep -E等价,支持基本和扩展的正则表达式。小儿子跑的最快-fgrep,简称快速grep命令,其实和grep -F等价,不支持正则表达式,按照字符串表面意思进行匹配

linux grep统计次数 grep 统计出现次数_shell_25

  • 格式:
    • grep [参数]
  • 常用参数:
    • i 忽略大小写
    • v (常用于反选,跳过搜索) 显示不包含匹配文本的所有行
    • n 显示行号
1.1, grep 示例
  • 忽略大小写查询xx并反选xxx, 打印输出时还要显示行号
    • grep -i -n sb poem.txt | grep -v sbb

linux grep统计次数 grep 统计出现次数_shell_26

学习grep必须通读的一篇文章

2, sed命令

sed命令是利用脚本来处理文本文件。主要通过脚本实现自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。
sed命令默认不会修改源文件数据,而是会将数据复制到缓冲区,修改也仅限于缓冲区中的数据,最终把缓存区的数据输出到控制台.

1️⃣sed命令格式:
sed的命令格式: sed [option] ‘sed command’ filename
sed的脚本格式:sed [option] -f ‘sed script’ filename

2️⃣sed 命令[option]的参数:
-f: 将sed动作写入到文件
-e: 默认选项,直接在命令行模式上进行sed动作编辑
-n: 只打印出模式匹配的行
-i:直接修改文件的内容,

3️⃣sed 动作:
a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!

3, awk命令

awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在对数据分析并生成报告时显得尤为强大. awk把文件逐行读入,以空白字符为默认分隔符并将每行内容分片,切开的部分再进行各种分析处理.

对 cut, sed, awk 另起的一篇补充文章