使用实验楼Linux环境开发,部分内容有所参考,link:https://www.shiyanlou.com/

概述:

find: 在目录中搜索文件,它的使用权限是所有用户

命令格式: find [路径] [参数] [文件名]

grep: 在指定文件中搜索特定的内容,并将含有这些内容的行标准输出

命令格式:grep [参数] [文件名]

find 在平时使用中,一般要灵活搭配 ”|“,即管道,看如下命令:

这个命令是统计 /home/shiyanlou 下的普通文件个数。

其中用到了 find 命令的 -type 参数,即查找某一类型的文件,f 指的是普通文件。

grep 在平时使用中,要注意理解正则表达式。关于正则表达式,可以看看这篇文章: https://blog.csdn.net/gexiaobaohelloworld/article/details/9147365

1. find 命令:

文件类型

描述

b

块设备文件

c

字符设备文件

d

目录

f

普通文件

l

符号链接

根据文件权限查找文件,使用-perm 选项。所有者使用-user 选项

ex:

查找 /home 下权限为 777 的普通文件。

查找 /home 下所有者为 root 的普通文件

操作符

描述

-and

测试两边的条件都为真,可以简写为-a

-not

后面的测试条件为假,可以简写为 !

-or

测试条件为两边之一,可以简写为-o

()

多个测试条件下,控制优先级

查找 /home 下 所有者不是 root 并且权限为 777 的普通文件。其中 \ 是转义字符

查找当前目录下文件名为 "*.txt"的文件,并显示其详细信息。

-exec 是 find 命令对找到的文件执行的动作,这个动作就是对找到的文件执行命令,上面的命令就是 ls -l {}。在这里说明一下{}和\;,{}其实它就是一个占位符,在 find 命令的执行过程中会不断地替换成当前找到的文件,相当于”ls -l 找到的文件”。而\;是-exec 的命令结束标记,因为规定-exec 后面的命令必须以;结束,但;在 shell 中有特殊含义,必须要转义,所以写成\;。

默认下,-exec 后面只能使用单个命令,如果想要多个命令,可以将多个命令写入脚本文件中,然后在-exec 中使用这个脚本。

ex:现在主目录下有如下文件,要把所有以 .sh 结尾的拷贝到 dir2 中

编写如下命令:

2. grep命令:

ex:将/etc/passwd 文件中没有出现 root 和 nologin 的行取出来:

ex:统计 /home 中普通文件的个数、目录的个数、链接文件的个数。


部分正则表达式在 grep 中的应用请看:https://www.cnblogs.com/xiaouisme/archive/2012/11/09/2762543.html

3.综合示例:

编写一个脚本名称为backup.sh,将第二个位置参数及其以后各参数所指定目录中的以.c和.sh结尾的,且文件大小不为0的文件复制到第一个位置参数所指定的目录中。

test 命令用法: http://man.linuxde.net/test

Linux find,grep 命令的更多相关文章

  1. 12个 Linux 中 grep 命令的超级用法实例

    12个 Linux 中 grep 命令的超级用法实例 你是否遇到过需要在文件中查找一个特定的字符串或者样式,但是不知道从哪儿开始?那么,就请grep来帮你吧. grep是每个Linux发行版都预装的一 ...

  2. linux中grep命令的使用

    转载:http://blog.csdn.net/universsky/article/details/8866402 linux中grep命令的使用 grep (global search regul ...

  3. 由一条Linux的grep命令说起

    今天在开发的时候,看到同事使用了这样的一条linux命令 grep 'class YourClass' -rwi * |grep -v svn 想到了 grep命令的,几个参数. -r 明确要求搜索子 ...

  4. Linux之grep命令详解

    简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它 ...

  5. linux的grep命令

    参考文档如下: linux grep命令 grep abb15455baeb4b23ab47540272ec47eb epps-sas.log | grep operateSettleBill exp ...

  6. Linux的grep命令详解

    简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它 ...

  7. Linux中grep命令学习

    1.简介 grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.Unix的grep家族包括grep.egrep和fgrep.egrep和fgrep的命令只跟grep有很小 ...

  8. linux中grep命令的用法

    作为linux中最为常用的三大文本(awk,sed,grep)处理工具之一,掌握好其用法是很有必要的. 首先谈一下grep命令的常用格式为:[grep  [选项]  "模式"  [ ...

  9. Linux之grep命令

    概述 所有的类linux系统都会提供一个名为grep(global regular expression print,全局正则表达式输出)的搜索工具.grep命令在对一个或多个文件的内容进行基于模式的 ...

  10. 【转】【Linux】grep命令详解

    简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它 ...

随机推荐

  1. luogu P4887 莫队二次离线

    珂朵莉给了你一个序列$a$,每次查询给一个区间$[l,r]$ 查询$l≤i<j≤r$,且$ai⊕aj$的二进制表示下有$k$个$1$的二元组$(i,j)$的个数.$⊕$是指按位异或. 直接暴力莫 ...

  2. js获取网页和屏幕高度

    获取浏览器窗口的可视区域高度和宽度 document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> BODY对象 ...

  3. Centos7+puppet+foreman,实现部署OS

    一.简介 1. 需要实现操作系统的部署 foreman提供了一个基于kickstart的部署工具,输入一台服务器的部署网卡的mac地址和hostname.ip等信息,就能自动的帮我们部署完,并且,还可 ...

  4. wannafly 挑战赛10 小H和游戏

    题解: 先利用dfs找出各个节点之间的关系.然后利用一个sum[i][j] 数组  sum[i][0] 表示i这个节点收到影响的次数 sum[i][1]表示i这个节点的儿子们收到影响的次数 sum[i ...

  5. hdu 2181.。。。

    哈密顿绕行世界问题 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  6. Java 之 字节流

    一.一切皆为字节 一切文件数据(文本.图片.视频等)在存储时,都是以二进制数字的形式保存,都一个一个的字节,那么传输时一样如此.所以,字节流可以传输任意文件数据.在操作流的时候,我们要时刻明确,无论使 ...

  7. 由于找不到MSVCP140.dll,无法继续执行代码。重新安装程序可能会解决此问题。

    msvcp140.dll文件下载,解决找不到msvcp140.dll的问题: 如果您的系统是64位的请将32位的dll文件复制到C:\Windows\System32目录 如果您的系统是64位的请将3 ...

  8. C#导出和导入Excel模板功能

    引用  Aspose.Cells; 基于WinForm 导入 private void btn_excel_input_Click(object sender, EventArgs e) { try ...

  9. 虚拟机VMware安装

    1.进入VMware官网,下载 (点击进入官网) 2.下载镜像文件 (点击进入官网下载) 3.下载好后,打开VMware,点击创建新的虚拟机 4.点击下一步,并找到刚才下载好的镜像文件 5.跟随系统点 ...

  10. Formal Analysis of the TLS Handshake Protocol -----论文整理

    1.关键词  TLS.SSL.Formal Analsysis  Conridentiality  Secerecy 2.Table  THE SSL/TLS handshake Protocol 3 ...