• Linux find,grep 命令


    使用实验楼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

  • 相关阅读:
    VysorPro助手
    Play 2D games on Pixel running Android Nougat (N7.1.2) with Daydream View VR headset
    Play 2D games on Nexus 6P running Android N7.1.1 with Daydream View VR headset
    Native SBS for Android
    ADB和Fastboot最新版的谷歌官方下载链接
    How do I install Daydream on my phone?
    Daydream Controller手柄数据的解析
    蓝牙BLE传输性能及延迟分析
    VR(虚拟现实)开发资源汇总
    Android(Java)控制GPIO的方法及耗时分析
  • 原文地址:https://www.cnblogs.com/NikkiNikita/p/9450744.html
Copyright © 2020-2023  润新知