Linux命令小结(待补充)

本文汇总了工作中常用的Linux命令,包括检查CPU占用、查看文件内存大小、搜索文件关键字、文件操作、进程内存统计、单词统计等实用技巧,旨在提升Linux系统管理与问题排查效率。

工作中常用的Linux命令小结

CPU 占用过高

    1、top 找到相应的进程
    2、使用 top -p  进程Id  -H  ----》去查看子线程中最高的
    3、使用printf "%x \n" 子线程号   ----》 去查看子线程号对应的16进制数字
    4、根据子线程的十六进制查看相关的代码 jstack 进程号|grep 子线程号16进制 -C 30
查看文件占用内存大小
du -sh *
搜索文件中的关键字
grep -C 2 “搜索字” /catalina.out

rm -rf

不要被吓到,删除真的很快啊!!!

1.统计文件的行数

nowcoder.txt 内容如下:
#include <iostream>
using namespace std;
int main()
{
    int a = 10;
    int b = 100;
    cout << "a + b:" << a + b << endl;
    return 0;
}

解:

方法1: wc -l nowcoder.txt |awk '{print $1}'
方法2: awk 'END{print NR}' nowcoder.txt

2.打印文件的最后5行

#include<iostream>
using namespace std;
int main()
{
int a = 10;
int b = 100;
cout << "a + b:" << a + b << endl;
return 0;
}
解:
tail -5 nowcoder.txt

3.输出7的倍数

解:
seq 0 7 500

4.输出第5行的内容

解:
方法1:head -5 nowcoder.txt |tail -n 1
方法2:sed -n 5p

5.打印空行的行号

解:
awk '{if($0=="") {print NR}}'  nowcoder.txt

6.去掉空行

解:
awk '{if($0!="")print $0}' nowcoder.txt

7.打印字母数小于8的单词

解:

打印每一行中 每个单词的个数小于8的用NF表示有多少列

awk '{for(i=1;i<=NF;i++)if(length($i)<8)print $i}' nowcoder.txt

8.统计所有进程占用内存大小的和
(统计第5列数子的和)

解:

统计第6列数字的和

awk '{count+=$6}END {print count}' nowcoder.txt

9.统计每个单词出现的个数

解:
awk '{for(i=1;i<=NF;i++){print $i}}' nowcoder.txt|sort|uniq -c | sort |awk '{print $2 $1}'

10.第二列是否有重复

给定一个 nowcoder.txt文件,其中有3列信息,如下实例,编写一个sheel脚本来检查文件第二列是否有重复,且有几个重复,并提取出重复的行的第二列信息:
实例:
20201001 python 99
20201002 go 80
20201002 c++ 88
20201003 php 77
20201001 go 88
20201005 shell 89
20201006 java 70
20201008 c 100
20201007 java 88
20201006 go 97
解:
awk '{print $2}' nowcoder.txt |sort |uniq -c |sort| awk '{if($1>1)print $1,$2}'

11.转置文件内容

示例:
假设 nowcoder.txt 内容如下:
job salary
c++ 13
java 14
php 12

你的脚本应当输出(以词频升序排列):
job c++ java php
salary 13 14 12
解:
awk '{for(i=1;i<=NF;i++)mp[i]=mp[i]$i}END{for(k in mp)print mp[k]}' nowcoder.txt

12.打印每一行数字出现的个数

1,2,3,4,5数字个数并且要计算一下整个文档中一共出现了几个1,2,3,4,5数字数字总数。

解:
sed s/[^1-5]//g nowcoder.txt | awk '{a+=length($1);printf("line%d number: %d\n",NR,length($1))} END{printf("sum is %d",a)}'

13.去掉所有含有this的句子

示例:
假设输入如下:
that is your bag
is this your bag?
to the degree or extent indicated.
there was a court case resulting from this incident
welcome to nowcoder


你的脚本获取以上输入应当输出:
to the degree or extent indicated.
welcome to nowcoder
解:
awk '{flag=1;for(i=1;i<=NF;i++)if($i=="this")flag=2;if(flag==1)print $0}' nowcoder.txt

14.求平均值

1行为输入的数组长度N2~N行为数组的元素,如以下为:
数组长度为4,数组元素为1 2 9 8
示例:
4
1
2
9
8

那么平均值为:5.000(保留小数点后面3)
你的脚本获取以上输入应当输出:
5.000
解:
awk '{if(NR==1)fm=$1;count+=$1}END{printf "%.3f", ((count-fm)*1.000/fm)}' nowcoder.txt

15.去掉不重复的单词

示例:
假设输入如下:
big
nowcoder
Betty
basic
test

你的脚本获取以上输入应当输出:
nowcoder test
解:
方法1:grep -iv b
方法2:sed -r '/.*[bB].*/d'
源码地址: https://pan.quark.cn/s/d1f41682e390 miyoubiAuto 米游社每日米游币自动化Python脚本(务必使用Python3) 8更新:更换cookie的获取地址 注意:禁止在B站、贴吧、或各大论坛大肆传播! 作者已退游,项目不维护了。 如果有能力的可以pr修复。 小引一波 推荐关注几个非常可爱有趣的女孩! 欢迎B站搜索: @嘉然今天吃什么 @向晚大魔王 @乃琳Queen @贝拉kira 第三方库 食用方法 下载源码 在Global.py中设置米游社Cookie 运行myb.py 本地第一次运行时会自动生产一个文件储存cookie,请勿删除 当前仅支持单个账号! 获取Cookie方法 浏览器无痕模式打开 http://user.mihoyo.com/ ,登录账号 按,打开,找到并点击 按刷新页面,按下图复制 Cookie: How to get mys cookie 当触发时,可尝试按关闭,然后再次刷新页面,最后复制 Cookie。 也可以使用另一种方法: 复制代码 浏览器无痕模式打开 http://user.mihoyo.com/ ,登录账号 按,打开,找到并点击 控制台粘贴代码并运行,获得类似的输出信息 部分即为所需复制的 Cookie,点击确定复制 部署方法--腾讯云函数版(推荐! ) 下载项目源码和压缩包 进入项目文件夹打开命令行执行以下命令 xxxxxxx为通过上面方式或取得米游社cookie 一定要用双引号包裹!! 例如: png 复制返回内容(包括括号) 例如: QQ截图20210505031552.png 登录腾讯云函数官网 选择函数服务-新建-自定义创建 函数名称随意-地区随意-运行环境Python3....
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码头薯条Pro

本文能帮到阁下,在下很开心!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值