shell判断文件创建时间为180天之前
时间: 2023-10-06 14:04:30 浏览: 44
要判断一个文件的创建时间是否为180天之前,可以使用 `find` 命令结合 `-ctime` 参数。
具体的命令如下所示:
```
find /path/to/dir -type f -ctime +180
```
其中,`/path/to/dir` 是需要查找的目录路径,`-type f` 表示只查找普通文件,`-ctime +180` 表示文件的创建时间早于180天前。如果要查找修改时间或访问时间早于180天前的文件,可以使用 `-mtime` 和 `-atime` 参数。
如果找到了符合条件的文件,`find` 命令会将文件的路径打印到终端上。如果需要对这些文件执行其他操作,可以使用 `-exec` 参数来指定需要执行的命令。例如,可以使用下面的命令将找到的文件删除:
```
find /path/to/dir -type f -ctime +180 -exec rm {} \;
```
这个命令会将所有创建时间早于180天前的文件都删除掉。需要注意的是,删除操作非常危险,请谨慎使用。
相关问题
shell判断文件不存在则创建一个
在shell中,可以使用测试命令 `test` 或 `[ ]` 来判断文件是否存在,如果不存在则可以使用 `touch` 命令来创建文件。具体命令如下:
```bash
if [ ! -e 文件路径 ]; then
touch 文件路径
fi
```
上述命令中,`if` 语句的条件判断是否存在文件,如果不存在则执行 `touch` 命令来创建文件。`!` 表示逻辑非,表示判断文件是否不存在。
另外,如果要创建文件的同时,还需要给文件赋予一定的权限,可以在 `touch` 命令后加上权限参数,如下所示:
```bash
if [ ! -e 文件路径 ]; then
touch 文件路径
chmod 权限 文件路径
fi
```
其中,`chmod` 命令可以修改文件的权限,`权限` 表示需要修改的权限,`文件路径` 表示需要修改的文件路径。例如, `chmod 777 文件路径` 表示给文件赋予读、写、执行权限。
shell判断文件是否存在,不存在则创建文件
Shell中判断文件是否存在可以使用 `test` 或者 `[ ]` 条件判断,语法如下:
```
if test -e 文件名; then
# 文件存在,执行相关操作
else
# 文件不存在,创建文件
touch 文件名
fi
```
或者
```
if [ -e 文件名 ]; then
# 文件存在,执行相关操作
else
# 文件不存在,创建文件
touch 文件名
fi
```
其中,`-e` 参数表示文件存在时返回 true,不存在返回 false。
另外,创建文件可以使用 `touch` 命令,语法为:
```
touch 文件名
```