linux中判断没有文件就创建的命令
-
在Linux中,可以使用以下命令来判断文件是否存在并在不存在时创建文件:
“`shell
if [ ! -f filename ]; then
touch filename
fi
“`上述命令通过判断文件是否存在来决定是否执行`touch`命令来创建文件。其中,`[ ! -f filename ]`表示判断是否存在名为`filename`的普通文件。如果文件不存在,则执行`touch filename`命令来创建文件。
另外,还可以使用更简洁的一行命令来实现相同的功能:
“`shell
[ ! -f filename ] && touch filename
“`上述命令通过使用`&&`逻辑运算符来判断文件是否存在,并在不存在时执行`touch`命令。如果文件存在,则不会执行`touch`命令。
需要注意的是,上述命令中的`filename`可以替换为你想要创建的文件路径和文件名称。
2年前 -
在Linux中,可以使用`touch`命令来判断文件是否存在并创建文件。
`touch`命令的基本用法是:
“`
touch [OPTION]… FILE…
“`
其中`FILE`表示要创建或更新的文件名。在判断文件是否存在的情况下,`touch`命令常用的参数有:
– `-c`:如果文件不存在,则不创建文件。
– `-a`:只更新文件的访问时间。
– `-m`:只更新文件的修改时间。
– `-d` DATE:使用指定的日期和时间作为文件的时间戳。示例:
1. 判断文件是否存在,如果不存在就创建文件:
“`
touch file.txt
“`
上述命令会创建名为`file.txt`的文件,如果该文件已存在,则只会更新文件的访问和修改时间。2. 检查文件是否存在,如果存在就更新文件的修改时间:
“`
touch -m file.txt
“`
上述命令会更新`file.txt`文件的修改时间,如果该文件不存在,则不会创建文件。3. 检查文件是否存在,如果存在就更新文件的访问时间:
“`
touch -a file.txt
“`
上述命令会更新`file.txt`文件的访问时间,如果该文件不存在,则不会创建文件。4. 检查文件是否存在,如果存在就使用指定的时间戳来更新文件的时间戳:
“`
touch -d “2022-01-01 12:00:00” file.txt
“`
上述命令会使用指定的日期和时间来更新`file.txt`文件的时间戳,如果该文件不存在,则不会创建文件。注意:如果希望在创建文件时自动创建其父目录,可以使用`mkdir -p`命令来创建目录。例如,要创建一个名为`/path/to/file.txt`的文件,可以使用以下命令:
“`
mkdir -p /path/to && touch /path/to/file.txt
“`
上述命令会先创建`/path/to`目录(如果不存在),然后再创建`/path/to/file.txt`文件。2年前 -
在Linux中,可以使用条件判断语句和命令组合来判断文件是否存在,并根据判断结果执行相应的操作。常用的命令是`test`和`[ ]`,它们可以用于判断文件是否存在、是否为空等。以下是一种在Linux中判断文件是否存在然后创建文件的命令:
“`shell
if [ ! -f 文件名 ]; then
touch 文件名
fi
“`上面的命令首先使用`-f`选项判断文件是否存在。如果文件不存在(`!` 表示逻辑非),则执行命令`touch`来创建文件。如果文件已经存在,则不执行任何操作。
或者可以使用`test`命令来达到同样的效果:
“`shell
if test ! -f 文件名; then
touch 文件名
fi
“`两种方式的效果相同,只是命令的语法稍有不同。
此外,如果需要判断目录是否存在,则可以使用`-d`选项:
“`shell
if [ ! -d 目录名 ]; then
mkdir 目录名
fi
“`上面的命令首先判断目录是否存在,如果不存在,则执行`mkdir`命令来创建目录。
需要注意的是,`[ ]`和`test`之间的空格是必需的。另外,在Linux中,`if`语句的结束需要使用`fi`来表示。
2年前