例如,我运行 cd../mkdir AAA enter 和 cd AAA enter 并触摸 file.a file.b。 我可以在一行中操作以上步骤吗? 感谢您抽出宝贵的时间,很抱歉我是新手。 我尝试了 cd../mkdir AAA && touch file.a 并在工作目录中创建了文件。
假设:
如果目标是进行最少的输入,我建议创建一个自定义函数。
一个(冗长的)例子:
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
在其中创建目录和文件:
cd ../ && mkdir dirA && touch dirA/foo.txt && touch dirA/bar.txt
验证:
$ ls dirA
bar.txt foo.txt