博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux复盘:基础篇二(三剑客)
阅读量:6288 次
发布时间:2019-06-22

本文共 2457 字,大约阅读时间需要 8 分钟。

hot3.png

find查找命令

用的最多的是删除以前的日志,比如三个月前的,还有就是查找文件名

按文件和目录:find /root/ -type f(文件) -type d(目录)

针对文件名字搜索:find /root/ -name "*.txt" 搜下面有txt的文件

按创建时间:find /root/ -mtime +1(一天以前) -1(一天以内)+5(五天以前) -5(五天以内)

find /etc/ -type d -name "*.txt" 目录

find /etc/ -type f -name "*.txt*" 文件

find /root/ -type f -mmin -60 60分钟内的文件

find /root/ -type f -mmin -200 200分钟内的文件

find /root/ -type f -size -10k -exec ls -lh {} \; 列出root目录小于10k的文件

find /root/ -type f -mmin -200 -exec mv {} {}.bak \; 200分钟以内的文件后缀加.bak

grep打印过滤

grep '[0-9]' /etc/inittab 过滤出所有包含数字的行

grep -A2(xxx及下面两行) -B2(xxx及上面两行) -C2(上下各两行) 'xxx' /root/

grep -c 显示行数

grep -n 显示行号(用的多打个call)

grep -v 取反 grep -v '[0-9]' /etc/inittab 过滤出所有不包含数字的行

grep -E 扩展选项可加入管道符 grep -E -n 'abc|123' 123.txt

细节注意:

grep '^[a-zA-Z]' test.txt 括号以外表示以a-zA-Z为首字母的行

grep '[^a-zA-Z]' test.txt 括号内表示出了a-zA-Z之外的行

几个实例:

grep -v '^#' /etc/crontab |grep -v '^$' 去除所有空行和以 ‘#’ 开头的行

grep -v '^#' /etc/inittab 把所有以 ‘#’ 开头的行去除

在正则表达式中, “^” 表示行的开始, “$” 表示行的结尾,那么空行则可以用 “^$” 表示

. 表示任意一个字符(grep)

*表示零个或多个前面的字符(grep)

+筛选一个或一个以上前面的字符(egrep)

?筛选零个或一个前面的字符(egrep)

sed打印过滤

-n :只打印模式匹配的行

-e :直接在命令行模式上进行sed动作编辑,此为默认选项

-f :将sed的动作写在一个文件内,用–f filename 执行filename内的sed动作

-r :支持扩展表达式

-i :直接修改文件内容

sed -n '5'p 123.txt 打印第五行

sed -n '1,5'p 123.txt 打印1到5行

sed -n '1,$'p 123.txt 打印1到尾行

sed -n '/^1/'p 123.txt 打印首字母为1的行

sed -n '/sd$/'p 123.txt 打印sd结尾的行

sed -e '1'p -e '/root/'p -n 123.txt 多个选项同时匹配,结尾注意加-n否则重复内容

sed -n -r '/o+t/'p 123.txt 打印-r支持扩展表达式的+

sed -nr '/o{2}/'p 123.txt 打印两个o或以上的行

下面进入删除区域:

sed ‘1’d test.txt 删除文件第一行 d是删除(实际上只是不显示)

sed ‘1,3’d test.txt 删除1到3行(实际上只是不显示)

sed ‘/oot/’d test.txt 删除包含oot的行(实际上只是不显示)

sed ‘1,2s/ot/to/g’ test.txt  将1-2行的ot更换成to(s是替换 g是全局替换)

sed ‘s/[0-9]//g’ test.txt 删除全部的数字(实际上只是不显示)

sed ‘s/[a-zA-Z]//g’ test.txt 删除全部的英文字母

sed -r 's/(rot)(.*)(bash)/\3\2\1/' test.txt 把三段顺序颠倒打印出来

sed ‘s/^.*$/123&/’ test.txt 这个是给所有行前面加上123

awk三剑客之油嘴滑舌花里胡哨小飞侠

awk -F ':' '{print $1}' 打印第一段

awk -F指定分隔符 $0打印所有 $1第一段 $2,$3,$7打印237段

awk -F ':' '$1~/oo/' 888.txt 匹配第一段有oo的行

awk -F ':' '$7!="/sbin/nologin"' /etc/passwd

!= 为不匹配,除了针对某一个段的字符进行逻辑比较外,还可以两个段之间进行逻辑比较

awk -F ':' '$3<$4' /etc/passwd 第三段数字小于第四段的打印出来

head -n3 /etc/passwd | awk -F ':' '{print NF}'   NF是分割成多少段

head -n3 /etc/passwd | awk -F ':' '{print $NF}'   $NF是最后一段的值

head -n3 /etc/passwd | awk -F ':' '{print NR}'   NR是行数

awk -F ':' 'NR>20 && $1 ~ /ssh/' /etc/passwd 行数大于20并且第一段有ssh的段打印出来

head -n2 /etc/passwd |awk -F ':' '{$7=$3+$4; print $0}' 第七段等于第三四段相加,打印全局

转载于:https://my.oschina.net/u/3655649/blog/1607563

你可能感兴趣的文章
【算法之美】求解两个有序数组的中位数 — leetcode 4. Median of Two Sorted Arrays
查看>>
精度 Precision
查看>>
Android——4.2 - 3G移植之路之 APN (五)
查看>>
Linux_DHCP服务搭建
查看>>
[SilverLight]DataGrid实现批量输入(like Excel)(补充)
查看>>
秋式广告杀手:广告拦截原理与杀手组织
查看>>
翻译 | 摆脱浏览器限制的JavaScript
查看>>
闲扯下午引爆乌云社区“盗窃”乌云币事件
查看>>
02@在类的头文件中尽量少引入其他头文件
查看>>
JAVA IO BIO NIO AIO
查看>>
input checkbox 复选框大小修改
查看>>
BOOT.INI文件参数
查看>>
vmstat详解
查看>>
新年第一镖
查看>>
unbtu使用笔记
查看>>
OEA 中 WPF 树型表格虚拟化设计方案
查看>>
Android程序开发初级教程(一) 开始 Hello Android
查看>>
使用Gradle打RPM包
查看>>
“我意识到”的意义
查看>>
淘宝天猫上新辅助工具-新品填表
查看>>