find /path/to/logs -type f,d -name "*.log" -mtime +1 -exec rm -f {} \;
时间: 2024-03-26 18:39:28 浏览: 10
这个命令有一个小问题,应该将 `-type f,d` 修改为 `-type f -o -type d`,这样才能同时匹配文件和文件夹。
正确的命令应该是:
```
find /path/to/logs -type f -o -type d -name "*.log" -mtime +1 -exec rm -rf {} \;
```
这个命令的含义是:在 `/path/to/logs` 目录下查找所有名称为 `*.log` 的文件和文件夹,并且最后修改时间在2天之前,然后执行 `rm` 命令删除这些文件和文件夹。由于 `-type f` 只匹配普通文件,而 `-type d` 只匹配目录,因此使用 `-o` 运算符将它们合并起来。另外,为了删除非空文件夹,需要使用 `-rf` 选项,而不是 `-f`。
相关问题
find /home/devops/app/core-2.0/logs -type f -ctime +1 -name "*.log" |xargs rm
你的问题是这个命令的作用是什么?
这个命令的作用是在 `/home/devops/app/core-2.0/logs` 目录下查找所有在一天前修改过的名字为 `*.log` 的文件,并将它们删除。其中,`find` 命令用于查找文件,`-type f` 表示只查找文件,`-ctime +1` 表示查找修改时间在一天前的文件,`-name "*.log"` 表示查找文件名以 `.log` 结尾的文件。`xargs` 命令则将 `find` 命令查找到的文件传递给 `rm` 命令进行删除。
/home/devops/app/core/logs -type f -ctime +1 -name "*.log" |xargs rm
这个命令的作用是在 `/home/devops/app/core/logs` 目录下查找所有在一天前修改过的名字为 `*.log` 的文件,并将它们删除。其中,`find` 命令用于查找文件,`-type f` 表示只查找文件,`-ctime +1` 表示查找修改时间在一天前的文件,`-name "*.log"` 表示查找文件名以 `.log` 结尾的文件。`xargs` 命令则将 `find` 命令查找到的文件传递给 `rm` 命令进行删除。