Нет, это обычно не делает.
Это удалит вещи в /etc
(который принадлежит пакету), если Ваша чистка пакет. это - то, где обычно конфигурационные файлы хранятся.
Прочитайте документ здесь
Если бы я должен был рисковать предположением, то я с подозрением относился бы к файлам и есть ли у них непечатаемые символы на их имена. Можно отобразить эти специальные символы с помощью следующих переключателей к ls
.
выборка от Удаления Непечатаемых символов от Имен файлов
Locating "non-printing" characters in file names
The ls command has all the options you need to detect "hidden" characters:
Command Function Sample Output
------- -------- ------ ------
ls hides/interprets nongraphic characters zzz
ls -b prints octal codes for nongraphic characters zzz\010\010\010aaa
ls -q prints question marks for nongraphic characters zzz???aaa
Посмотрите вышеупомянутую страницу для получения дополнительной информации об этих типах символов и там съемный.
Мое предположение - то, что Вы отредактировали свой сценарий в Windows в какой-то момент, и что версия имела окончания строки Windows: CR (возврат каретки), сопровождаемый LF (перевод строки). Насколько оболочки Unix являются converned, LF является конечным символом строки, и CR является обычным символом. Таким образом, если у Вас есть это в Вашем сценарии (где ␍ является символом CR):
mkdir -p /home/EAI003A/05_EDSNFE/ISU2EAI/VEA/tre␍
затем в Вашем редакторе Вы будете только видеть
mkdir -p /home/EAI003A/05_EDSNFE/ISU2EAI/VEA/tre
но оболочка видит что mkdir
команду называют с аргументами -p
и /home/EAI003A/05_EDSNFE/ISU2EAI/VEA/tre␍
.
Когда символ CR печатается на терминал, его эффект состоит в том, чтобы переместить курсор в начало строки. С ls -l
, CR только поднимается в конце строки и так не имеет никакого видимого эффекта. С плоскостью ls
, CR
в конце каждого второго имени файла заставляет следующую пару имен файлов перезаписывать предыдущие строки.
Преобразуйте свой сценарий для использования окончаний строки Unix с одной из этих команд:
dos2unix /path/to/script # if dos2unix is available
sed -i -e $'s/\r//' /path/to/script # on Linux or Cygwin only
perl -i -e 's/\r$//' /path/to/script
У Вашего редактора может быть способ сделать это, также. В Вашем редакторе, когда Вы редактируете сценарий оболочки, проверка, что окончания строки являются “LF” или “Unix” или “Linux” и не “CRLF” или “Windows” или” DOS “.
В зависимости от Вашего варианта Unix попробовать ls -b
или ls -Q
или ls -q
заставить специальный символ в имени файла появиться. Для слияния этих двух каталогов, первый шаг файлы в надлежащий каталог, затем удаляют другой.
mv -i tre/* tre?/
rmdir tre?/