Как удалить файл, который можно увидеть, но никакая программа не может показаться затронутой?

Я пытаюсь удалить некоторые устаревшие резервные копии, и глубоко внутри одного я нашел файл cifs3bee, который я не могу найти. (И поскольку я не могу удалить его, это предотвращает удаление всего дерева каталогов, ведущего к нему.) Если я запустил ls -l я получаю:

 total 1 -rwxr-xr-x 1 jgw87 root 307 Oct 30 2014 cifs3bee 

И если я запускаю file cifs3bee я иногда получаю:

 cifs3bee: writable, regular file, no read permission 

но иногда я получаю:

 cifs3bee: ERROR: cannot open `cifs3bee' (No such file or directory) 

которая в основном является той же ошибкой, которую я всегда получаю, если я запускаю rm, chmod, lsattr, less или практически любую другую команду (даже если я sudo до root). Я даже попробовал « echo "x" > cifs3bee » и по-прежнему получаю сообщение « No such file or directory , хотя ls будет продолжать показывать файл, а « rm -rf » в родительском каталоге не может сказать, что каталог не пуст ,

Что здесь происходит, и кто-нибудь знает, как обойти это? Я даже не знаю, как этот файл попал в мою резервную копию, поскольку имя не соответствует шаблону, который я настроил для хранения файлов.

Изменить: Извините, забыл системные спецификации. Это я запускаю Linux Mint 17, работая на удаленном сервере Windows, смонтированном через Samba. (Я не знаю спецификации сервера.)

Изменить: я запустил strace head cifs3bee со следующим выходом:

 execve("/usr/bin/head", ["head", "cifs3bee"], [/* 69 vars */]) = 0 brk(0) = 0x11f0000 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8ccbe8f000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/usr/local/cuda-5.0/lib/tls/x86_64/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat("/usr/local/cuda-5.0/lib/tls/x86_64", 0x7fff275aa470) = -1 ENOENT (No such file or directory) open("/usr/local/cuda-5.0/lib/tls/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat("/usr/local/cuda-5.0/lib/tls", 0x7fff275aa470) = -1 ENOENT (No such file or directory) open("/usr/local/cuda-5.0/lib/x86_64/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat("/usr/local/cuda-5.0/lib/x86_64", 0x7fff275aa470) = -1 ENOENT (No such file or directory) open("/usr/local/cuda-5.0/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat("/usr/local/cuda-5.0/lib", 0x7fff275aa470) = -1 ENOENT (No such file or directory) open("/home/jgw87/Software/root/lib/tls/x86_64/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat("/home/jgw87/Software/root/lib/tls/x86_64", 0x7fff275aa470) = -1 ENOENT (No such file or directory) open("/home/jgw87/Software/root/lib/tls/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat("/home/jgw87/Software/root/lib/tls", 0x7fff275aa470) = -1 ENOENT (No such file or directory) open("/home/jgw87/Software/root/lib/x86_64/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat("/home/jgw87/Software/root/lib/x86_64", 0x7fff275aa470) = -1 ENOENT (No such file or directory) open("/home/jgw87/Software/root/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) stat("/home/jgw87/Software/root/lib", {st_mode=S_IFDIR|0770, st_size=32768, ...}) = 0 open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=168641, ...}) = 0 mmap(NULL, 168641, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f8ccbe65000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\37\2\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1840928, ...}) = 0 mmap(NULL, 3949248, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f8ccb8aa000 mprotect(0x7f8ccba65000, 2093056, PROT_NONE) = 0 mmap(0x7f8ccbc64000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1ba000) = 0x7f8ccbc64000 mmap(0x7f8ccbc6a000, 17088, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f8ccbc6a000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8ccbe64000 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8ccbe62000 arch_prctl(ARCH_SET_FS, 0x7f8ccbe62740) = 0 mprotect(0x7f8ccbc64000, 16384, PROT_READ) = 0 mprotect(0x608000, 4096, PROT_READ) = 0 mprotect(0x7f8ccbe91000, 4096, PROT_READ) = 0 munmap(0x7f8ccbe65000, 168641) = 0 brk(0) = 0x11f0000 brk(0x1211000) = 0x1211000 open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=2919792, ...}) = 0 mmap(NULL, 2919792, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f8ccb5e1000 close(3) = 0 open("cifs3bee", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=2570, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8ccbe8e000 read(3, "# Locale name alias data base.\n#"..., 4096) = 2570 read(3, "", 4096) = 0 close(3) = 0 munmap(0x7f8ccbe8e000, 4096) = 0 open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en_US.utf8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en_US/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en.UTF-8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en.utf8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale-langpack/en_US.UTF-8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale-langpack/en_US.utf8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale-langpack/en_US/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale-langpack/en.UTF-8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale-langpack/en.utf8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale-langpack/en/LC_MESSAGES/coreutils.mo", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=619, ...}) = 0 mmap(NULL, 619, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f8ccbe8e000 close(3) = 0 open("/usr/lib/charset.alias", O_RDONLY|O_NOFOLLOW) = -1 ENOENT (No such file or directory) write(2, "head: ", 6head: ) = 6 write(2, "cannot open \342\200\230cifs3bee\342\200\231 for r"..., 38cannot open 'cifs3bee' for reading) = 38 open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en_US.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale-langpack/en_US.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale-langpack/en_US.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale-langpack/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale-langpack/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale-langpack/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale-langpack/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) write(2, ": No such file or directory", 27: No such file or directory) = 27 write(2, "\n", 1 ) = 1 close(1) = 0 close(2) = 0 exit_group(1) = ? +++ exited with 1 +++ 

К сожалению, я не знаю, как это интерпретировать. Любая помощь?

2 Solutions collect form web for “Как удалить файл, который можно увидеть, но никакая программа не может показаться затронутой?”

Сначала подумал, может быть, у вас может быть конечное пространство (ы) в имени файла. Протестируйте, набрав ls "cifs а затем вкладку, чтобы автоматически завершить (если вы находитесь на Linux-боксе, что, конечно же, является большим предположением). Если это не принесет пользы, попробуйте удалить файл с помощью inode .

Хорошее объяснение, как это сделать: удаление / удаление файлов с номером inode

Основные моменты процесса включают
Сначала получите inode для файла: ls -il

Затем с помощью inode попытайтесь удалить файл:

 find . -inum [inode-number] -exec rm -i {} \;</b> 

Вы все еще можете мне mv этот файл вокруг его раздела. Попытайтесь отодвинуть его. Но, похоже, это ошибка диска или файловой системы. Следующий шаг, который я сделал бы, это fsck.

Кроме того, попробуйте 'strace echo' abcd "> file 'и узнайте, какой syscall действительно генерирует ошибку, как« нет такого файла или каталога », потому что, если он не существует, он должен быть создан, поэтому что-то еще не существует, например, bash-интерпретатор или родительский каталог или эхо не эхо, а псевдоним.

Еще одна возможность того, что что-то удаляет / восстанавливает файл, поэтому вам просто не повезло, и он удаляется воссозданным в то же время, когда вы смотрите на него.

Другая возможность заключается в том, что что-то конкретное для файловой системы, поскольку другие ребята правильно указали, что наличие «cifs» в имени файла указывает на эту возможность.

  • Безопасное удаление каталога
  • Как удалить файлы, если числовая часть их имени больше заданного числа?
  • Безопасное удаление каталога только в том случае, если оно не является точкой монтирования
  • Как удалить файл, начинающийся с «>» или других необычных символов
  • Сколько файлов можно удалить сразу?
  • Удаление определенных типов файлов, кроме папки
  • Удалить файлы с совпадением только из некоторых подкаталогов
  • "Rm -rf Filename.iso" Разрешение отклонено
  • Когда мы делаем rm -rf *, почему мы не удаляем. а также ..?
  • Как удалить поврежденный каталог
  • Удаление всех файлов в папке, кроме файлов X, Y и Z
  • Linux и Unix - лучшая ОС в мире.