linux中判断没有文件就创建的命令

fiy 其他 155

回复

共3条回复 我来回复
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    在Linux中,可以使用以下命令来判断文件是否存在并在不存在时创建文件:

    “`shell
    if [ ! -f filename ]; then
    touch filename
    fi
    “`

    上述命令通过判断文件是否存在来决定是否执行`touch`命令来创建文件。其中,`[ ! -f filename ]`表示判断是否存在名为`filename`的普通文件。如果文件不存在,则执行`touch filename`命令来创建文件。

    另外,还可以使用更简洁的一行命令来实现相同的功能:

    “`shell
    [ ! -f filename ] && touch filename
    “`

    上述命令通过使用`&&`逻辑运算符来判断文件是否存在,并在不存在时执行`touch`命令。如果文件存在,则不会执行`touch`命令。

    需要注意的是,上述命令中的`filename`可以替换为你想要创建的文件路径和文件名称。

    2年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在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年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在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年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部