Что может вызвать следующее поведение в системе Ubuntu 12.04?

  1. Я SSHed в машину как пользователь "Ubuntu".
  2. При ls -lah /data/* отображаются десятки непустых файлов (например, file1.txt, file2.txt и т.д.), Все из которых принадлежат пользователю / группе "ubuntu" и имеют полный доступ для чтения / записи.
  3. Если я пытаюсь выполнить cat /data/file1.txt , bash выдаст мне ошибку «cat: /data/file1.txt: такого файла или каталога нет»

Короче говоря, ls перечисляет файлы, но в любом случае, файлы по существу не существуют. Я не могу их разглядеть или прочитать. Даже предоставление всем файлам разрешения 777 ничего не меняет. Это действительно странно. Что тут происходит?

2 ответа2

2

Они могут иметь двоичные символы в имени файла.

Для cat /data/file1.txt попробуйте вместо этого сопоставить часть имени и дать оболочке понять остальную часть:

cat /data/*1.txt
0

Файлы могли быть удалены, но все еще открыты в приложении. Файлы не существуют на диске, но поскольку приложение все еще имеет их "открытыми", ядро пока не может удалить их из файловой системы.

Найдите процесс, используя файлы с

sudo lsof | grep data/file1.txt

А затем попробуйте перезапустить / убить это приложение, если это не критично, или попробуйте перезагрузить систему.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .