Веб-версияОткрыть в Telegram

ПостЧем отличается команда rm от unlink?

29 сентября 2026
С
Системный Администратор (Сисадмин)
Фотография
нажмите — покажем
Чем отличается команда rm от unlink? Обе эти команды умеют удалять, но в 99% используется именно rm, потому что про unlink вы либо не слышали, либо rm с головой хватает. Есть ошибочное мнение, что unlink предназначен для удаления лишь ссылок — команда вполне может удалять обычные файлы. А если углубиться, то весь процесс удаления в Linux, это удаление ссылок. У unlink есть всего лишь два ключа запуска help и version. Очень ограниченный инструмент, но чем инструмент проще, тем проще его синтаксис. # unlink /tmp/hardlink # unlink /tmp/file Софт очень молчаливый — после удаления, он промолчит и ничего не выведет на экран. Команда unlink использует системную команду unlink, в то время как команда rm использует системный вызов unlinkat. Оба системных вызова практически одинаковы. Unlink не умеет работать с wildcard и globbing шаблонами. Так же вы не сможете с помощью нее удалить каталог. Запустим команду и пытаемся насильно удалить файл которого нет в каталоге: rm -f test.txt И получаем - НИЧЕГО. То есть rm -f не вернул ошибку, что файл отсутствует. А если сделать так: unlink test.txt получим ошибку: unlink: cannot unlink 'test.txt': No such file or directory То есть если нужно будет обработать результат выполнения команды rm -f, то будет непонятно, существовал ли вообще файл. С unlink можно гибче обрабатывать эксепшены в скриптах. А еще при использовании команды unlink отсутствует проверка безопасности. Она удалит файл, защищенный от записи. Хотя современная версия rm теперь тоже так умеет. Небольшой секрет: если нужно, чтобы файл никто не смог удалить, включая root: chattr +i test.txt chattr позволяет устанавливать и отключать атрибуты файлов, на уровне файловой системы не зависимо от стандартных (чтение, запись, выполнение). Ключ i - сделает файл неизменяемым. Чтобы снять с файла этот аттрибут, в команде которая выше, замените знак «+» на «-». 📲 Мы в MAX 👉 @sysadminof
22 · 792 ·

Рядом в ленте

ССистемный Администратор (Сисадмин)Полезные команды Linux. Манипуляции с текстом # cat -n file1 Вывести содержимое файла, нумеруя выводимые строки # cat example.txt | awk 'NR%2==1' Вывести толькоССистемный Администратор (Сисадмин)Шпаргалка по часто используемым командам systemctl 1. Посмотреть статус службы. Покажет статус службы на примере сети network systemctl status network 2. Запуст
это сообщение
ССистемный Администратор (Сисадмин)🥷 Living off the Browser — пентест из вкладки Chrome Приглашаем на открытый урок. 🗓 05 октября в 20:00 МСК 🆓 Бесплатно. Урок в рамках старта курса «Пентест. ИнсССистемный Администратор (Сисадмин)🔥 Bash: Удаление старых логов автоматически #!/bin/bash # Удалить логи старше 7 дней в указанной директории LOG_DIR="/var/log/myapp" find "$LOG_DIR" -type f -na
ССистемный Администратор (Сисадмин)Системный Администратор (Сисадмин)@sysadminof · канал · Технологии
14 287подписчиков1 337средний охват поста
Лента площадки Открыть в Telegram

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем