Linux常用命令 shell脚本for QA-数据脱敏版2
Linux常用命令 shell脚本for QA-数据脱敏版2_QA杉哥的博客-CSDN博客
Linux常用命令 shell脚本for QA-数据脱敏版1
16. Linux目录下log的文件中找到类型5XX的错误有多少条
如果是字符串
[root@node3 ~]# grep -c 'f' 1.txt
2
[root@node3 ~]# grep 'f' 1.txt |wc -l
2
[root@node3 ~]# sed 's/ /\n/g' 1.txt | sort | uniq -c
2 avddfffgfggg
1 eeee33
[root@node3 ~]# zgrep 'f' 1.txt |wc -l
2
如果是单个字符
grep -o 'f' 1.txt|wc -l
vim模式下 :%s/f//gn
linux命令统计文件中某个字符串出现的次数
1、使用grep
这里就只简单的介绍下使用grep命令统计某个文件这某个字符串出现的次数
- -a 或 --text : 不要忽略二进制的数据。
- -A<显示行数> 或 --after-context=<显示行数> : 除了显示符合范本样式的那一列之外,并显示该行之后的内容。
- -b 或 --byte-offset : 在显示符合样式的那一行之前,标示出该行第一个字符的编号。
- -B<显示行数> 或 --before-context=<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前的内容。
- -c 或 --count : 计算符合样式的列数。
- -C<显示行数> 或 --context=<显示行数>或-<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前后的内容。
- -d <动作> 或 --directories=<动作> : 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。
这里统计某个字符串在文件里出现的次数使用到了-c参数,请见下图案例:
语法:grep -c ‘object’ fileName
案例里使用的文件:aa.txt ,用来做统计的字符串:2
grep -c 'aa' aa.txt
2、使用zgrep
服务器端常有很多压缩过的日志文件,当需要查找日志中某些特定信息的时候,为了避免解压文件,可以使用zgrep,zcat等命令查找、查看压缩文件中的信息。
语法:zgrep -c ‘要统计的字符串’ 文件
案例里使用的文件:aa.log.gz ,用来做统计的字符串:2
zgrep -c 'aa' aa.txt
3、使用vim统计
用vim打开目标文件,在命令模式下,输入::%s/object/&/gn
&代表s// 搜索出来的内容
g代表全局替换(而非仅仅当前行)
n代表不执行,只是预览一下会有什么情况发生
4、使用grep结合wc命令来统计文件中某个字符串出现的个数
Linux wc命令用于计算字数。
利用wc指令我们可以计算文件的Byte数、字数、或是列数,若不指定文件名称、或是所给予的文件名为"-",则wc指令会从标准输入设备读取数据。
参数:
- -c或–bytes或–chars 只显示Bytes数。
- -l或–lines 只显示行数。
- -w或–words 只显示字数。
- –help 在线帮助。
- –version 显示版本信息。
grep结合wc命令:
语法:grep ‘object’ fileName | wc -l
案例里使用的文件:aa.txt ,用来做统计的字符串:2
15. crontab命令用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。
cron 系统调度进程。 可以使用它在每天的非高峰负荷时间段运行作业,或在一周或一月中的不同时段运行。cron是系统主要的调度进程,可以在无需人工干预的情况下运行作业。crontab命令允许用户提交、编辑或删除相应的作业。每一个用户都可以有一个crontab文件来保存调度信息。系统管理员可以通过cron.deny 和 cron.allow 这两个文件来禁止或允许用户拥有自己的crontab文件。
crontab文件一般位于/etc/下,这里面存放系统运行的的调度程序
查看当前用户的定时任务
[root@node1 ~]# more /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
编辑当前用户的定时任务
可以在编辑状态修改、删除、新增一些定时任务。注释一般用#
[root@node1 ~]# crontab -e
crontab: no changes made to crontab
查看定时任务配置
[root@node1 ~]# crontab -l
00 06 * * * sh /home/xx/run_collect.sh
14. ls -lht
显示当前目录所有文件大小的命令ls -lht将会一一列出当前目录下所有文件的大小
13. 统计文件个数 find -type f |wc -l
统计目录 find -type d|wc -l 默认会统计 隐藏的 文件或者 目录
统计非某个文件后缀的文件个数 find -type f ! -name "*old"|wc -l
隐藏文件或者目录是 ‘.’开头的,所以我们排除它,就可以只统计出显示的文件
find -type f ! -name ".*"|wc -l
12. 解决rz命令不能使用的问题
强推
sudo yum install -y lrzsz
11. IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:xx/S+xx.
Please contact your system administrator.
Add correct host key in /Users/qa/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/qa/.ssh/known_hosts:29
ECDSA host key for 10.112.97.64 has changed and you have requested strict checking.
Host key verification failed.
解决办法:删除 /Users/qa/.ssh/known_hosts的第29行
10. linux中sudo su 与 sudo su - 区别
sudo su
切换root身份,不携带当前用户环境变量
sudo su -
切换root身份,携带当前用户环境变量
linux中sudo su 与 sudo su - 区别_在雨中奔跑的少年的博客-CSDN博客
9. Linux telnet命令用于远端登入
执行telnet指令开启终端机阶段作业,并登入远端主机。
语法
telnet [-8acdEfFKLrx][-b<主机别名>][-e<脱离字符>][-k<域名>][-l<用户名称>][-n<记录文件>][-S<服务类型>][-X<认证形态>][主机名称或IP地址<通信端口>]
登录远程主机
# telnet 192.168.0.5
//登录IP为 192.168.0.5 的远程主机
8. 压缩文件
将 /home/html/ 这个目录下所有文件和文件夹打包为当前目录下的 html.zip
zip -q -r html.zip /home/html
zip -q -r oldjar.zip ./
Linux 删除除了某个文件之外的所有文件
ls |grep -v oldjar.zip |xargs rm -rf
zip -q -r xx.zip xx
7. Linux全局查找字符串
grep -nr 'echo' *
6. less初始不加载文件任何部分,是显示到哪一屏幕再加载那几行
如果要搜索模式,请键入 / ,然后键入要搜索的模式。一旦你按下回车键, less 就会向前搜索匹配项。向后搜索使用 ? 后跟搜索模式
5. 统计当前文件夹下文件的个数,包括子文件夹里的
ls -lR|grep "^-"|wc -l
统计文件夹下目录的个数,包括子文件夹里的
ls -lR|grep "^d"|wc -l
统计当前文件夹下文件的个数
ls -l |grep "^-"|wc -l
统计当前文件夹下目录的个数
ls -l |grep "^d"|wc -l
附:
统计输出信息的行数
wc -l
将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是 ^d
grep "^-"
4. Mac下解压rar文件
使用Homebrew安装unrar(有关Homebrew的安装和使用见Homebrew)
brew install unrar
unrar x filename.rar
如果不管用则
下载地址: http://www.rarlab.com/rar/rarosx-5.2.0.tar.gz
sudo install -c -o $USER unrar /usr/local/bin/
sudo install -c -o $USER rar /usr/local/bin/
3. 用 Ctrl+r 快捷键,反向查找历史命令(reverse-i-search)
按下 Ctrl+r 快捷键后,进入了反向搜索状态,这时你输入一个字符,系统会找到最近一个包含这个字符的命令,如果不是这条命令的话,可以再按下 Ctrl + R,Bash 会向前搜索有输入的字符的命令
找到你想要的命令后,你可以按回车执行这条命令
2. rpm -qa 查找文件
系统环境:CentOS Linux 8 (Core)
yum install 安装的文件找不到安装路径,使用whereis和find -name都无效
rpm -qa | grep -i filename关键字 查找
rpm -ql filename 即可查到安装目录
1. linux中查看文件大小,以G为单位
ls -lh
以易读的GB、MB、KB等格式显示本地文件大小
-h 方便阅读方式显示
-l 只显示本地文件系统
查看某个单独文件的大小:du -sh win10-enterprise.img 镜像大小31G
BR~