В большинстве существующих ответов рекомендуется использовать rm
. Это совершенно правильно, потому что вы не удаляете файлы :, вы удаляете ссылки (, и файл удаляется, когда удаляется последняя ссылка, указывающая на него, и закрывается последний открытый файловый дескриптор ).
Однако следует знать и о другой полезности, unlink
. В нем отсутствуют параметры rm
, и всегда есть неявный -f
параметр (вроде --, он не будет работать с отсутствующим файлом, хотя ). Преимущество в том, что вы можете удалить файл, начинающийся с дефиса, по крайней мере в теории...
...за исключением того, что вы не можете, если вы используете систему Linux, потому что GNU искалечил утилиту unlink
, добавив поддержку опции строки команды -! Таким образом, unlink -t
не удаляет файл с именем -t
в системе Linux или любой другой системе, использующей GNU coreutils.
(Да, я знаю, что rm -- -t
или unlink -- -t
работает, нет необходимости комментировать это.)