Eu acidentalmente criei três arquivos em um compartilhamento no meu NAS (rodando no linux). Os arquivos foram criados na pasta \home\abc
por um script bash em execução no NAS, mas - estranhamente - eles não aparecem ao listar o conteúdo de abc
usando ls -la \home\abc
. abc
é também uma parte acessível a partir do meu PC com Windows e lá os arquivos mostram como BSPC07~P.LOG
, BSPC07~T.LOG
e BXDHDK~E.LOG
no Windows Explorer.
Nunca vi algo assim antes. Como é possível que um arquivo que foi criado em uma máquina linux usando um script bash seja invisível para aquela máquina, mas visível a partir de uma máquina Windows?
Mais algumas informações, caso seja relevante: os arquivos foram criados por algo assim
#!/bin/sh
DATE="$(date +%Y-%m-%d_%H:%M)"
FILE="/home/abc/backup_NAS-$DATE.log"
echo "$(date) Starting backup ..." >> $FILE
Observe os dois pontos na definição da variável date. Isso não funcionou como esperado. A execução desse script criou um arquivo com a data e a mensagem "início de backup", mas o nome do arquivo era parecido com backup_NAS-$DATE.log
mas como mostrado acima. E os arquivos só eram visíveis no Windows.
Eu gostaria de excluir esses arquivos, mas eu só tenho permissão de leitura ao acessá-los a partir do compartilhamento do Windows (mesmo depois de executar chmod +R 0777 /home/abc
) então eu não posso deletá-los de lá e não posso deletá-los via SSH no NAS porque eles são invisíveis lá ...
ls -la
não lista nenhum deles. É estranho.