Каталоги перечислены дважды

Нет, это обычно не делает.

Это удалит вещи в /etc (который принадлежит пакету), если Ваша чистка пакет. это - то, где обычно конфигурационные файлы хранятся.

Прочитайте документ здесь

2
17.06.2013, 21:06
2 ответа

Если бы я должен был рисковать предположением, то я с подозрением относился бы к файлам и есть ли у них непечатаемые символы на их имена. Можно отобразить эти специальные символы с помощью следующих переключателей к 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

Посмотрите вышеупомянутую страницу для получения дополнительной информации об этих типах символов и там съемный.

2
27.01.2020, 22:14

Мое предположение - то, что Вы отредактировали свой сценарий в 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?/
0
27.01.2020, 22:14

Теги

Похожие вопросы