zoukankan      html  css  js  c++  java
  • shell find 命令 find命令报错 find: paths must precede expression:

    编写shell脚本,报错,如下面

    [root@localhost backup]#find ./ -name mysqldump* -mtime +3 -delete
    [root@localhost backup]#find: paths must precede expression: mysqldump.sql.gz
    Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]

    解决报错mysqldump*加单引号

    find ./ -name 'mysqldump*' -mtime +3 -delete

    或者转义

    find ./ -name mysqldump* -mtime +3 -delete

    -mtime+1 表示文件修改时间为大于1天的文件,即距离当前时间2天(48小时)之外的文件
    这也能解释了,为什么6号22点生成的这个文件为什么没有输出出来
    这里-mtime +1 为什么是48小时以外,而不是24小时以外呢,因为n只能是整数,比1大的下一个整数是2,所以是48小时以外的

    -mtime 1 表示文件修改时间距离当前为1天的文件,即距离当前时间1天(24小时-48小时)的文件

    -mtime 0 表示文件修改时间距离当前为0天的文件,即距离当前时间不到1天(24小时)以内的文件

    -mtime -1 表示文件修改时间为小于1天的文件,即距离当前时间1天(24小时)之内的文件

  • 相关阅读:
    Java IO/NIO
    LeetCode—— 两两交换链表中的节点
    LeetCode——合并K个排序链表
    LeetCode第201场周赛
    LeetCode第202场周赛
    LeetCode215. 数组中的第K个最大元素
    LeetCode213. 打家劫舍 II
    LeetCode212. 单词搜索 II
    LeetCode211. 添加与搜索单词
    LeetCode210. 课程表 II
  • 原文地址:https://www.cnblogs.com/faberbeta/p/linux-shell001.html
Copyright © 2011-2022 走看看