一个简单的问题,我可以创建一个文件吗在我想要的地点& 使用猫命令 &不使用管道&并且该位置是我当前所在的其他地方。 (我希望能进行编辑)
答案1
$ cat > location/i/want/theFileImCreating
cat
并没有真正创建文件。它只是写入其标准输出。在上面的命令中,输出重定向 ( >
)(由 shell 设置)创建文件(或清空已存在的文件)。
默认情况下,重定向 ( >
) 会破坏目标(如果存在)。如果你想阻止这种情况,set -o noclobber
那就是你的朋友。
如果您不想用任何内容填充文件,touch
将创建一个新的空文件(或更新现有文件的时间戳)。
如果您想严格“创建”一个新文件(包括其路径),则辅助 shell 函数/脚本可能会派上用场:
fcreat(){
while (( "$#" )); do
[ ! -f "$1" ] && {
mkdir -p "$(dirname "$1")";
touch "$1";
}; shift
done
}
用法:
$ fcreat location1/i/want/file1 location2/i/want/file2
$ tree
$ tree
.
├── location1
│ └── i
│ └── want
│ └── file1
└── location2
└── i
└── want
└── file2
创造:我不知道我是否正在成为 Unix 专家,或者我是否只是失去了拼写能力。