11·RHCSA查找字符串、文件

1)查找文件
找出所有用户 student 拥有的文件,并且把它们拷贝到/root/findfiles 目录中

解题详解:

[root@localhost ~]# mkdir /root/findfiles
[root@localhost ~]# find / -user student -a -type f -exec cp -p {} \;

2)查找字符串
在文件/usr/share/dict/words 中查找到所有包含字符串 seismic 的行:
●  将找出的行按照原文的先后顺序拷贝到/root/wordlist 文件中
●  /root/wordlist 文件不要包含空行,并且其中的所有行的内容都必须是 /usr/share/dict/words 文件中原始行的准确副本

解题详解:

[root@localhost ~]# grep 'seismic' /usr/share/dict/words > /root/wordlist
[root@localhost ~]# cat /root/wordlist 
.........

解刨析理

1)find 目录 查找条件
目录是可选的,默认为当前目录,且都为递归查找
查找条件也可以省略,默认为列出所有文件

查找条件:
-name “文件名”:且我们的文件名支持文件名通配
-iname “文件名”:忽略大小写的文件名查找

-type 类型:普通文件f、目录文件d、链接文件l、块设备b(磁盘内存)、字符设备c(键盘鼠标终端)
-size +|-大小:单位[K/M/G],这个一般不会有精确的
-user 用户名:
-group 组名:

指定多个条件:
我们需要连接符:
如果两个都需要满足:-a 可以省略
如果两个满足一个就行:-o
不写默认为-a

针对find查找结果的处理:
-exec(执行) 操作命令行 (嵌入{}来表示查找的每一个结果) \;(结束标志)
我们将刚刚的文档,我们查找出来并查看一下详细信息:
这时我们一个一个用ls -l太费劲了,这时就可以用-exec了
find /home -u student -type f -exec ls -lh {} \;
这个花括号就是将前面每个查找到的文档一个一个输出到我们这个命令上,如果不写,我们的命令不知道去查找谁,就会报错

这时我们就可以去看题目:
提示:proc,这个提示直接忽略就行,因为我们查找范围为根目录,在查找时会先建立一个清单,然后会按照这个清单一个一个找,然后这个proc是伪文件目录,作用是映射我们系统正在运行得进程信息,也就是正在运行得变化的文件,所以在我们查找的时候这些目录文件是存在的,但是当我们查找完毕,再去对这些数据进行操作的时候,由于我们的查找进程已经结束,所以这些文件也就不存在了,所以就会报错了,这就是正常的

2)检索文件:grep
grep:查找指定的文本

grep ‘匹配模式’ 文件…:
匹配模式:其实就是正则表达式
常用的匹配模式:
word字符:会找到包含此字符的行,不只是列出此字符
^word:以什么单词开头的
word$:以什么单词结尾的

这时我们就可以去做题目

然后我们将输出结果粘贴到这个文本中就行了,但是有些时候我们会不小心在结尾出现一个空行,这就是题目给我们设的套,或者我们一屏显示的不够,复制一次再复制一次的时候可能会出错,所以:

3)重定向输出:将查找到的结果输出到指定文件中

命令行 >|>> 文件
将命令行的输出结果,不默认输出到屏幕上,而是输出到指定文件中

>:覆盖重定向输出(会将文件中以前的数据删除,然后将我们输出的文本写进文件中)
>>:追加重定向(会将我们命令输出的文本写进文件的末尾,不会删除文件中的数据)

所以我们就没必要复制粘贴了,一条命令搞定

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值