为什么带有波浪号的文件在 Windows 中可见,但在 Linux 上却不可见?

为什么带有波浪号的文件在 Windows 中可见,但在 Linux 上却不可见?

我无意中在 NAS(在 Linux 上运行)上的共享上创建了三个文件。这些文件是\home\abc由 NAS 上运行的 bash 脚本在文件夹中创建的,但奇怪的是,abc使用列出内容时它们没有显示出来ls -la \home\abcabc也是可从我的 Windows PC 访问的共享,文件在 Windows 资源管理器中显示为BSPC07~P.LOG和。BSPC07~T.LOGBXDHDK~E.LOG

以前从未见过这样的事情。使用 bash 脚本在 Linux 机器上创建的文件在该机器上不可见,但在 Windows 机器上却可见,这怎么可能呢?

更多信息,以防万一它是相关的:这些文件是通过类似这样的方式产生的。

#!/bin/sh
DATE="$(date +%Y-%m-%d_%H:%M)"
FILE="/home/abc/backup_NAS-$DATE.log"
echo "$(date) Starting backup ..." >> $FILE

请注意 date 变量定义中的冒号。这并没有按预期工作。运行此脚本确实创建了一个包含日期和“开始备份”消息的文件,但文件名看起来backup_NAS-$DATE.log 与上面显示的完全一样。而且这些文件仅在 Windows 上可见。

我想删除这些文件,但我只有从 Windows 共享访问它们时的读取权限(即使在运行之后chmod +R 0777 /home/abc),所以我无法从那里删除它们,也无法通过 NAS 上的 SSH 删除它们,因为它们在那里是不可见的...

相关内容