1

Вот шаги, которые я предпринял:

CD ~

nano .bash_profile

псевдоним dtcl = 'cd ~/Desktop; mv * Desktop\ Cleanup '

Ctrl - X

Y

Сохранить

Если я запускаю dtcl , он полностью работает. Он перемещает все с рабочего стола в новую папку, которая называется Desktop Cleanup, и это именно то, что я хотел, но терминал также выдает следующие результаты:

mv: переименовать Desktop Cleanup в Desktop Cleanup/Desktop Cleanup: неверный аргумент

Поскольку я уже нахожусь в папке, в которой я хочу создать каталог, которого еще нет, с чего бы мне это показалось, что я пытался создать папку внутри папки?

Просто любопытно, спасибо!

3 ответа3

1

Похоже, вы пытаетесь переместить все в папке рабочего стола в другую папку, которая находится внутри папки рабочего стола. По сути, вы пытаетесь переместить папку "Очистка рабочего стола" в себя (поскольку она находится на рабочем столе), и это незаконно.

Переместите "Очистка рабочего стола" в другое место или используйте регулярное выражение, которое захватывает все файлы, кроме этой папки.

1

С помощью bash вы можете сделать это:

shopt -s extglob
mv !("Desktop Cleanup") "Desktop Cleanup"

Переместите все, что не Desktop\ Cleanup, в этот каталог.

0

Как утверждает Traveling Tech Guy, вы пытаетесь перенести "Очистку рабочего стола" в себя. Более того, вам не нужно делать текущий каталог, из которого вы хотите переместить файлы.

Если вы не хотите изменять положение каталога "Desktop Cleanup", вы можете подавить эхо-ошибку на терминале с помощью 2>/dev/null Вы можете изменить свой псевдоним следующим образом

alias dtcl='mv ~/Desktop/* Desktop\ Cleanup 2>/dev/null'

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .