在大数据开发中常用到的Linux高级指令(统计,时间函数, 进程管理, sort, uniq,grep, sed,awk) 1

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

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

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

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

实例:

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

在这里插入图片描述

  • wc还可以连续统计并显示多个文件的文件的行数,字数以及字节数
    在这里插入图片描述

拓展: 字节和字符的辨析:
在这里插入图片描述
学习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"

获取指定的日期:

在这里插入图片描述

如: 2026年的2月有多少天:
在这里插入图片描述

三, 进程相关的指令

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, 用来显示现行终端机下的所有程序,包括其他用户的程序。

在这里插入图片描述

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

在这里插入图片描述

相关的应用实例:

  • ps aux | grep ssh
    在这里插入图片描述
3.2.2 ps常用指令二, ps -ef

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

在这里插入图片描述

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

在这里插入图片描述

相关的应用实例:

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

在这里插入图片描述

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)和程序名称。

在这里插入图片描述

  • 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

在这里插入图片描述

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

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

在这里插入图片描述

  1. 终止指定的进程

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

在这里插入图片描述

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

top -d 秒数

3.5, kill -->终止进程

3.5.1 kill 常用指令:
基本语法功能描述
kill [选项] 进程号通过进程号PID终止进程, 选项填 -9代表强制终止
killall 进程名称通过进程名称终止进程, 也支持通配符, 在系统因负载过大而变慢的时候较有效

kill 和 kill -9的区别:

在这里插入图片描述

kill指令的几个栗子:

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

3.6 pstree -->查看进程树

在这里插入图片描述

四, sort, uniq指令

1, sort命令:

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

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

    参数用途
    -u去除所有的重复行
    -n按照数值大小排列
    -r逆序排序
    -c检查文件是否有序
    -k指定从文件的第几列开始排序
    -t设置排序时所用的分割字符
1.1, sort 示例
  1. 按数字大小顺序输出:
    sort -n testNum.txt

在这里插入图片描述2. 去除重复
sort -u testNum.txt

在这里插入图片描述3. 逆序并去重
sort -rnu testNum.txt
在这里插入图片描述


新加栗子, 原始数据:
在这里插入图片描述
4. 按照“:”分割后的第三列倒序排序。
在这里插入图片描述

2, uniq 命令:

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

sort与uniq的区别:

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

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

在这里插入图片描述

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

在这里插入图片描述

  • 显示不重复的行
    • uniq -u testNum.txt
      在这里插入图片描述

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

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

在这里插入图片描述

五, 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等价,不支持正则表达式,按照字符串表面意思进行匹配
在这里插入图片描述

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

在这里插入图片描述

学习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 另起的一篇补充文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值