TGViewer
Linux Ready | DevOps Linux Ready | DevOps @linux_ready · 11.2K subscribers
Post #1557 1.86K
В Linux можно удалить файл, но продолжать читать из него или записывать в него данные!

Если процесс уже открыл файл, его можно удалить из каталога:
exec {LOG}>/tmp/debug.log
rm /tmp/debug.log


Имя /tmp/debug.log исчезнет, и открыть файл по этому пути уже нельзя. Но Bash продолжает держать открытый файловый дескриптор, поэтому запись работает:
printf '%s\n' "debug message" >&"$LOG"


Причина в семантике Unix: rm удаляет имя файла из каталога через unlink(), а открытый файловый дескриптор продолжает ссылаться на тот же объект файловой системы.

Пока дескриптор открыт, занятое файлом место также не освобождается. Это объясняет распространённую ситуацию, когда огромный лог уже удалили, ls его не показывает, а свободного места на диске не прибавилось.

Закрываем последний дескриптор:
exec {LOG}>&-


Если других ссылок и открытых дескрипторов на этот файл больше нет, файловая система сможет освободить его данные.

Именно поэтому при расследовании занятого диска стоит искать не только большие файлы, но и уже удалённые файлы, которые продолжают удерживать работающие процессы.

🔥 В Linux имя файла и открытый файл — не одно и то же. Понимание этой особенности помогает находить утечки дискового пространства и аккуратно работать с временными данными.

🚪 Linux Ready | #совет
  • ❤ 17
  • 🔥 14
  • 👍 5
  • 🤝 4
More from @linux_ready
  1. Oct 2, 2026В Linux можно копировать собранные файлы так, чтобы не менять файл назначения, если новая…
  2. Oct 2, 2026🎓 Как гарантированно войти в сферу кибербезопасности с официальным дипломом? Самостоятель…
  3. Oct 2, 2026👩‍💻 SSH: подключение, ключи, туннели и Jump Host! В этом посте собраны основные команды…
  4. Oct 1, 2026Проверяем состояние соединений через conntrack! Linux firewall работает не только с отдель…
  5. Oct 1, 2026🔄 Безопасный арсенал практических инструкций, курсов и инструментов 👩‍💻 Linux & Bash 🤔…
  6. Oct 1, 2026👩‍💻 Подключаем удалённый каталог как обычную папку через SSHFS! Если файлы находятся на…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →