Когда я сегодня получил доступ к моему серверу Ubuntu 16.04 и хотел удалить файл «test2», он просто не удалялся!Почему команда rm не удаляет файл?
Я использовал
rm test2
, а также
rm -f test2
, но он все еще не удалить его, как вы можете прочитать здесь:
[email protected]:~# ls
basket desd.save packages scripts src test2 test5 unused
[email protected]:~# rm test2
[email protected]:~# ls
basket desd.save packages scripts src test2 test5 unused
[email protected]:~# rm -f test2
[email protected]:~# ls
basket desd.save packages scripts src test2 test5 unused
Я также попытался удалить другие файлы, не работает!
Я являюсь владельцем «test2» и используя ls -la test2
, вы можете видеть, что у меня есть права на чтение и запись этого файла!
[email protected]:~# ls -la test2
-rw-r--r-- 1 root root 9 Nov 11 20:33 test2
Использование which rm
это говорит /bin/rm
.
[email protected]:~# which rm
/bin/rm
А также \rm test2
не удаляет файл!
Я также проверил имя, нет пробелов в конце и т. Д., Потому что, когда я использую cat test2
, отображается правильный контент!
Я также могу создать новый файл, но не могу удалить его.
rm
также не является псевдонимом, я использовал unalias rm
, но он сказал: «rm: not found».
Reboot также не помогло.
У меня была проблема с тем, что я случайно удалил файл вместо его перемещения, поэтому создал скрипт, который просто перемещает файл в определенную директорию.
Затем я использовал nano /etc/environment
и добавил «:/root/scripts», где был установлен этот скрипт!
После этого я создал псевдоним rms, используя alias rms='./rm'
. Я знаю, что это может быть немой имя файла, как системная команда, я уже изменил его, чтобы удалить!
Но после выполнения всего этого возникла ошибка, из-за которой rm не найдена и может быть найдена в следующих пакетах: coreutils. Поэтому я попробовал apt-get install coreutils, но он сказал, что он уже установлен.
Итак, я сначала использовал touch /bin/rm
, а затем chmod +x /bin/rm
.
После этого возникла эта проблема!
EDIT: проблема была /bin/rm
файл был пустым, поэтому я настроил виртуальную машину и скопировал требуемый файл на сервер!
Скачайте снимок экрана 'ls -l test2' –
Что делает' type rm' print? 'rm' может быть сломанным псевдонимом или функцией оболочки. –
или 'какой rm' тоже? –