学习记录(十三)

bash脚本编程之算术运算

  运算符:+,-,*,/,**,%   【注意:乘法符号在有些场景中需要加 \ 进行转义】

  算数运算格式

    (1)let sum3=${num1}+${num2}    

    (2)sum3=$[${num1}+${num2}]

    (3)sum3=$((${num1}+${num2}))

    (4)sum3=$(expr ${num1} + ${num2})   运算符两边要有空格,需要引用时使用$()或 ` ` 进行引用

文件查找

  locate:根据事先构建的索引库进行模糊查找,路径符合条件时也会被搜索到

    索引库自动实现:周期性任务,所以不能实时精确的查找

    手动更新索引库:updatadb

    -b:只查找文件基名符合条件的文件

    -c:统计出多少符合条件的文件

    特性:查找速度快,模糊查找,非实时查找

  find:实时遍历指定文件路径下内容

    用法:

      find [OPTIONS] [查找起始路径] [查找条件] [处理动作]

        查找起始路径:默认为当前路径

        查找条件:指定的查找标准,可以根据文件名、大小、类型、从属关系、权限等进行查找;默认为查找目录和文件

        处理动作:对符合查找条件的文件或目录做出的操作,默认为输出查找结果至标准输出

      根据文件名进行查找

        -name:根据条件进行查找,区分条件大小写

        -iname:不区分条件大小写

      根据文件从属关系进行查找

        -user USERNAME:查找属主为指定用户的文件

        -group USERNAME:查找属组为指定用户组的文件

        -uid UID:查找属主为指定UID的文件

        -gid GID:查找属组为指定GID的文件

        -nouser:查找没有属主的文件

        -nogroup:查找没有属组的文件

      根据文件类型进行查找

        -type TYPE:查找文件类型为TYPE的文件

      根据文件大小进行查找

        -size [+|-]NUM:+表示大于,常用单位k、M、G

      根据时间戳查找

        (1)按“天”查找:#表示前第#天,+表示多去多长时间之前,-表示过去多长时间之内

        -atime [+|-]#:访问时间    

        -mtime [+|-]#:修改时间

        -ctime [+|-]#:改变时间

        (2)按“分钟”查找:

        -amin  [+|-]#:访问时间

        -mmin [+|-]#:修改时间

        -cmin [+|-]#:改变时间

      根据权限查找

        -perm [/|-] mode:为777类型的权限,例如:246,106,777等

          mode:精确查找

          /mode:任何一类用户(u、g、o)的权限中的任何一位(r、w、x)符合权限;9位权限有一位符合条件;或关系;某类用户权限为0时表示该类用户权限可有可无

          -mode:没类用户的权限都符合条件;与关系;某类用户权限为0时表示该类用户权限可有可无    

      条件组合:组合搜索条件;例如搜索没有属主或文件类型为普通文件的文件

        -a:与,默认组合逻辑

        -o:或

        -not,!:非

      处理动作

        -print:输出至标准输出,默认动作

        -ls:输出查找到文件的详细命令;类似对查找到的文件执行ls -l

        -delete:删除查找到的文件

        -fls FILE:将查找到的文件长格式详细(ls -l)输出保存至指定文件中

        -ok COMMAND {} \ ;   :对查找到的文件执行COMMAND命令;{}表示查找到的文件,占位符;反斜线与分号为固定格式;需对每个文件进行的操作进行确认

        -exec COMMAND {} \;  :与-ok类似对查找到的文件执行COMMAND命令,但不用对每个文件的操作进行确认

         【注意:查找到的文件传递给后面的命令时,是find找到文件后一次性传递给后面的命令,但有些命令不能接受过长的参数,此时命令执行会失败;可使用 find XXXX | xargs COMMAND  执行】

猜你喜欢

转载自www.cnblogs.com/baling/p/10514257.html