Find文件查找、管道“|”与grep过滤

文件查找

grep: 文件内容过滤

[root@agiao ~]# grep '文件内容'  路径  #从某个路径下的文件中过滤拥有'文件内容'的字段
​
[root@agiao ~]# grep -r  #递归查找

查找命令配置文件位置

查找命令位置
[root@agiao ~]# which 命令名
​
查找配置文件位置
[root@agiao ~]# whereis  命令名

管道与重定向

重定向

0           标准输入(键盘)
1           标准输出
2           标准错误,
3+          进程在执行过程中打开的其他文件。  
&           表示正确错误混合输出

输出重定向 (覆盖,追加)

>           ----覆盖
>>          ----追加
正确输出:    1> 1>> 等价于 > >>  
错误输出:    2> 2>>
;           按顺序执行
&&          成功后继续执行 失败则暂停
||          成功后暂停 失败继续执行直到成功为止

输入重定向 <

标准输入: <   等价 0<
​
通过输入重定向创建文件
​
语法:[root@agiao ~]# cat > file5 <<EOF  #可以写到脚本或者文件里面
>
EOF:开始和结束的标记。
成对使用
结尾的另一个必须定格写。

管道 |

[root@agiao ~]# rpm -qa    #查询所有安装的软件包

将文件内容按大小排序

[root@agiao ~]# sort -t":" -k3 -n 文件名  #以: 分隔,将第三列按字数升序
[root@agiao ~]# sort -t":" -k3 -n 文件名 -r #以: 分隔,将第三列按字数降序
[root@agiao ~]# sort -t":" -k3 -n 文件名|head #以: 分隔,将第三列按字数升序看前十行
[root@agiao ~]# sort -t":" -k3 -n  文件名|tail #以: 分隔,将第三列按字数升序看后十行
​
参数详解:
sort         排序,默认升序
-t           指定分隔符
-k           指定列
-n           按数值
-r           降序
head         默认输出前十行
tail         默认输出后十行
​
如何将命令结果只展示/etc/passwd文件中第11行用户的uid号
​

输出结果呈现单段字符

1.[root@agiao.com ~]# 输出结果| awk 'NR==3 {print $列号}' | awk -F连接符 '{print $列号}'
​
2.[root@agiao ~]# 输出结果| awk 'NR==3 {print $4}' | cut -d连接符 -f列号

文件查找

find文件查找

一、针对文件名

[root@agiao ~]# find 路径 -name “文件名” #列出这个路径下包含该文件名的所有文件  
​
参数解析
-i   忽略大小写

二、针对文件大小

[root@agiao ~]# find 路径 -size +5M       #列出路径下大于5M的所有文件
                                    5M   #列出路径下等于5M的所有文件
                                    -5M  #列出路径下小于5M的所有文件
​
参数解析
-a:and 和
-o:or 或

三、针对时间查找

[root@agiao ~]# find 路径 - (atime,mtime,ctime) 时间段
​
按时间找(atime,mtime,ctime)
-atime = access访问时间
-mtime = modify改变时间  内容修改时间会改变
-ctime = change修改时间   属性修改时间会改变
​
-amin  #分钟
-mmin
-cmin

四、针对文件类型

[root@agiao ~]# find 路径 -type 文件类型
​
按照深度查找
[root@agiao ~]# find 路径 -maxdepth 层数 | wc -l

五、针对文件权限

[root@agiao ~]# find 路径 -perm  访问权限  #列出这个路径下为这个访问权限文件
​
参数解析
 [root@agiao ~]# find 路径  -perm -4000  #包含set uid
 [root@agiao ~]# find 路径  -perm -2000  #包含set gid
 [root@agiao ~]# find 路径  -perm -1000  #包含sticky

参数传递:xargs -exec

对:ls cp rm 等 管道不能执行的命令通过xargs或者 -exec

语法:
[root@agiao ~]# cat a.txt | xargs  -i cp -rf {} /目录  
​
参数详情
 {}:          前面传过来的内容
 -i :        为了让大括号生效
 目录时        -r
 解释:        前面传过来的东西交给大括号
​
[root@agiao ~]# -exec cp -rf {} /tmp \;
​
{}为前面查找到的内容
\; 格式
​

-exec和xargs的区别

-exec:参数是一个一个传递的,传递一个参数执行一次命令。
​
xargs:将前一个命令的标准输出传递给下一个命令,作为它的参数转换成下一个命令的参数列表。
===============
1、exec 每处理一个文件或者目录,它都需要启动一次命令,效率不好;
​
2、exec 格式麻烦,必须用 {} 做文件的代位符,必须用 \来转义; 作为命令的结束符,书写不便
。 
3、xargs不能操作文件名有空格的文件;
​
综上,如果要使用的命令支持一次处理多个文件,并且也知道这些文件里没有带空格的文件,那么使用 xargs比较方便; 否则,就要用 exec了

打包压缩

打包压缩工具

工具:gzip和tar(打包)        bzip2(只压缩)
结尾:.tar.gz      .tar.bz2     .zip

打包

[root@agiao ~]# tar   -cvf  名.tar  名

打包压缩

[root@agiao ~]# tar -czvf 名.tar.gx  名
[root@agiao ~]# tar -cJvf 名.tar.bz2  名
[root@agiao ~]# tar -cjvf 名.tar.zip  名

解压缩

[root@agiao ~]# tar   -xzvf  名
​
指定解压目录
[root@agiao ~]# tar -xzvf 名 -C 指定路径

本地邮件发送

安装服务
[root@agiao ~]# yum -y install postfix
[root@agiao ~]# yum -y install mailx
​
启动服务
[root@agiao ~]# systemctl start postfix
​
发送邮件
一. 
[root@agiao ~]#  mail-s“邮件主题” 收件人
•     邮件内容
•     Ctrl + d
​
二.
[root@agiao ~]# echo “邮件内容” | mail -s “邮件主题”  收件人
​
三.
[root@agiao ~]# mail  -s “邮件主题” 收件人 </etc/passwd
​
接受邮件
​
接受自己的邮件:
[root@agiao ~]# mail
​
接受其他人的邮件:
[root@agiao ~]# mail -u 用户名

配置公网发送邮件

[root@agiao ~]# vim  /etc/mail.rc
文件最后追加以下内容
​
set from=2322944912@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=2322944912@qq.com
set smtp-auth-password=bylnepfbuaqteagb
set smtp-auth=login
发送文件
1.参考本地文件发送的方法
​
2.添加附件的方法 
[root@agiao ~]# curl -O 附件链接
[root@agiao ~]# mail -s “邮件主题” -a “附件路径文件” 收件人邮箱

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值