debian
и его производные (и, вероятно, большинство других распределений) идут с, busybox
который используется в initramfs
.
busybox
объединяет большинство основных утилит командной строки в один исполняемый файл.
Вы можете временно использовать символическую ссылку /bin/rm
на /bin/busybox
:
ln -s busybox /bin/rm
Чтобы получить работу rm
(после чего вы можете сделать свое apt-get install --reinstall coreutils
).
Тот же самый метод может использоваться для всех других утилит, которые busybox
включают. Этот список варьируется от одного развертывания к другому. Вы можете получить список с busybox --list
.
Однако обратите внимание, что они являются ограниченными версиями соответствующих утилит. Иногда они поддерживают расширения GNU, но, как правило, нет, и некоторые из них даже не поддерживают все стандартные функции / POSIX (некоторые функции могут быть включены / отключены во время компиляции).
В качестве альтернативы вы можете использовать zsh
встроенный rm:
#! /bin/zsh
zmodload zsh/files
rm "$@"
zsh/files
Модуль обеспечивает несколько дополнительных встроенных команд ( rm
, mv
, ln
, mkdir
, rmdir
, chown
, chmod
, sync
). Это полезно в такой ситуации или когда вы не можете разветвлять больше процессов, но у них есть интерактивный zsh
запуск.
ksh93
также имеет ряд дополнительных / факультативная команд buitin, но не rm
среди них ( basename
, chmod
, dirname
, getconf
, head
, mkdir
, logname
, cat
, cmp
, cut
, uname
, wc
, sync
). Вы можете вызвать их с помощью:
command /opt/ast/bin/the-command
в ksh93
сценарии.