十三、find查找、lrzsz、输入输出重定向

一、find文件查找

#查看命令所述文件:
[root@localhost ~]# which ip
/usr/sbin/ip
# ps: 一些命令的路径都被配置到了环境变量PATH里
 echo $PATH
#格式
命令 路径 表达式 动作:
find /etc -mtime 3
#选项
-i #忽略大小写
-a #并且,默认自动加-a选项
-o #或者,多个条件满足一个即可

1>指定查找的目录深度

-maxdepth levels #最大深度
find / -maxdepth 5 -a -name 'ifcfg-eth0' #指定查找路径深度为5层

2>按文件名查找

find /etc -name 'ifcfg-eth0'
find /etc -iname 'ifcfg-eth0' #-i忽略大小写
find /etc -iname 'ifcfg-eth*' 

3>按大小查找:

选项
-size
find /etc -size +3M #大于M
find /etc -size 3M #等于3M
find /etc -size -3M #小于3M
find /etc -size +3M -ls #-ls 为找到的处理动作,找到并列出

4>按时间查找

find /etc -mtime +3 #修改时间超过三天
find /etc -mtime 3  #修改时间等于三天
find /etc -mtime -3 #修改时间三天以内

5>按文件属主、属组查找

find /home -user egon #属主是egon的文件
find /home -group it  #属组的it的文件
find /home -user egon -group it    #属主为egon且属组为it的文件
find /home -user egon -a -group it #属主为egon且属组为it的文件
find /home -user egon -o -group it #属主为egon或属组为it的文件
find /home -nouser  #无用户的文件
find /home -nogroup #无组的文件
find /home -nouser -o -nogroup #同上,两者则兼顾一个条件

6>按文件类型查找

find /dev -type f  #普通
find /dev -type d  #目录
find /dev -type l  #连接
find /dev -type b  #块设备
find /dev -type c  #字符设备
find /dev -type s  #套接字
find /dev -type p  #管道文件

7>根据inode号查找

find -inum n
命令 -inum 号
find / -inum 1811

8>按文件权限查找

find . -perm 644 -ls #查找当前路径下权限为644的文件,并列出
find . -perm -644 -ls #
find . -perm -600 -ls #
find /sbin -perm -4000 -ls #包含set uid
find /sbin -perm -2000 -ls #包含set gid
find /sbin -perm -1000 -ls #包含sticky

9>找到后处理的动作

#动作
-print #打印
-ls    #列出
-delete#删除
-exec  #执行
-ok    #
#动作用法
find /etc -name 'ifcfg' -print #内容必须加引号
find /etc -name 'ifcfg' -ls
find /etc -name 'ifcfg' -exec cp -rvf {} /tmp \; #非交互
find /etc -name 'ifcfg' -ok cp -rvf {} /tmp \;   #交互
find /etc -name 'ifcfg*' -exec rm -rf {} \; #通过-exec交给rm执行
find /etc -name 'ifcfg*' -delete #可不通过动作转交直接删除,效果同上一条
PS特殊选项:
-ok     #find的提示,并传递后续命令,需转义(尾部加{} \;)
-exec   #find的不提示,并传递,慎用(删除功能),需转义(尾部加{} \;)
-xargs  #加管道传递参数,无需转义

10>find结合xargs

#xargs选项
-d #指定分隔符,如xargs -d '|' -n2,则指定分隔符为管道符;
-n #每行显示的列数,如如xargs -d '|' -n2,则指定列数为2;
-I #将前面find的信息传递到后面的{}进行打包,每查到一个文件就会打包一次,所以会重复覆盖;
find . -name 'egon*.txt' |xargs rm -rf #通过xargs交给rm执行
find /etc -name 'ifcfg-eth0' |xargs -I {} cp -rf {} /var/tmp 
find /test -name 'ifcfg-ens33' |xargs -I {} mv {} /ttt #
find /ttt/ -name 'ifcfg' |xargs -I {} chmod 666 {} #

二、上传与下载

1、wget命令

#格式
wget -O 本地路径 远程包链接地址 #将远程包下载到本地,-O指定下载位置,可生成-O本地路径;
wget -O /tmp/1.tar.gz ttps://image.baidu.com/search 
#PS:如果wget下载提示无法建立SSL连接,则加上选项 --no-check-certificate即可;
wget --no-check-certificate -O 本地路径 远程包链接地址

2、curl命令

curl简介:(主用于做测试压力用)
while true;do curl url地址 ;done #死循环测试,不停刷新
此命令是一个利用URL规则,在命令行下工作的文件传输工具;支持文件上传与下载,是一个综合传输工具;按传统习惯称它为下载工具,curl支持:HTTP、HTTPS、ftp等众多协议,还支持POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征,做网页处理流程和数据检索自动化,curl可助一臂之力!
#用法:
curl -o 123.png http://www.xxx.com/img/hello.png
#PS:如果遇到下载提示无法建立SSL连接,使用-k选项或--insecure:
curl -k -o 123.png http://www.xxx.com/img/hello.png
​
PS:#区别
wget 将文件下载到本地
curl 将文件在本地打开预览,不下载

3、lrzsz命令

#安装lrsz命令:yum install -y lrzsz
1>sz下载
#将服务器上选定的文件下载/发送到本机:
sz bak.tar.gz
2>rz上传
#选项
-e 对所有控制字符转义,建议使用
-E 若文件存在,则重命名新上传的文件,以点和数字作为后缀,推荐使用
-b 以二进制方式传输
#输入rz命令,会弹出一个文件选择窗口,可选择需上传的文件,从本地上传到服务器

三、输出与重定向**

1>输出重定向

Linux中:
0 标准输入 #键盘
1 标准正确输出 #显示器
2 标准错误输出 #显示器
输出重定向
>   #覆盖
>>  #追加
1>以下两个命令作用相同:
echo &>file.log #正确和错误的结果都覆盖到file.log(推荐)
echo >file.log 2>&1 #正确和错误的结果都覆盖到file.log
2>正确日志和错误日志分开保存:
echo >>file1.log 2>>file2.log
​
PS:0标准正确输入,1标准正确输出,2标准错误输出
ifconfig >1.txt #将命令正确输出的结果覆盖到1.txt
ifconfig 2> 1.txt #将错误输出的结果覆盖到1.txt
ifconfiga 1>1.txt 2>1.txt #将正确和错误都覆盖到1.txt
ifconfig &>1.txt #将正确和错误都覆盖到1.txt
​
3>系统有个常见用法:
ls &>/dev/null #正确、错误的输出结果都不想要(null可理解为黑洞或垃圾站)
​
cat > 1.txt < /etc/hostname
#命令 >覆盖,<覆盖内容来源
#命令 >>追加,<<EOF追加内容EOF结尾

2>输入重定向

#没改变输入方向,默认键盘,此时等待输入
[root@egon ~]# tr 'N' 'n'
No
no
[root@egon ~]# tr 'N' 'n' < file.txt
#没改变输入方向,默认键盘,此时等待输入
[root@egon ~]# grep 'root'
oldboy
root
root
[root@egon ~]# grep 'root' < /etc/passwd
root:x:0:0:root:/root:/bin/bash
#读写块设备
[root@egon ~]# dd if=/dev/zero of=/file1.txt bs=1M count=20
[root@egon ~]# dd </dev/zero >/file2.txt bs=1M count=20
#mysql如何备份
[root@qls ~]# mysql -uroot -p123 < bbs.sql

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

秋风お亦冷

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值