如何在一个 Linux 命令中创建目录和触摸其中的文件? [关闭]

问题描述 投票:0回答:2

例如,我运行 cd../mkdir AAA enter 和 cd AAA enter 并触摸 file.a file.b。 我可以在一行中操作以上步骤吗? 感谢您抽出宝贵的时间,很抱歉我是新手。 我尝试了 cd../mkdir AAA && touch file.a 并在工作目录中创建了文件。

linux bash command-line-interface
2个回答
0
投票

假设:

  • 将创建一个新目录(但我们也假设该目录可能已经存在)
  • 要创建/修改一个或多个(空)文件

如果目标是进行最少的输入,我建议创建一个自定义函数。

一个(冗长的)例子:

mktouch() {
    local newdir="$1"                     # first arg is the new directory
    shift                                 # discard first arg

    mkdir -p -- "$newdir"                 # if $newdir already exists the "-p" says to ignore the 'directory already exists' error

    for newfile in "$@"                   # loop through rest of args and ...
    do
        touch -- "$newdir/$newfile"       # create file
    done
}

注意: OP 可以将此函数定义添加到他们的登录脚本中(例如,

.profile
.bashrc

试驾:

$ find dirA -type f
find: ‘dirA’: No such file or directory

$ mktouch dirA file.a file.b
$ find dirA -type f
dirA/file.a
dirA/file.b

$ mktouch dirA file.XYZ
$ find dirA -type f
dirA/file.a
dirA/file.b
dirA/file.XYZ

-1
投票

在其中创建目录和文件:

cd ../ && mkdir dirA && touch dirA/foo.txt && touch dirA/bar.txt

验证:

$ ls dirA

bar.txt foo.txt
© www.soinside.com 2019 - 2024. All rights reserved.