Да,
find /path/to/source/dir -type f -maxdepth 1 -ok mv {} /path/to/target/dir \;
Команда find
здесь найдет все обычные файлы в /path/to/source/dir
и запросит у пользователя разрешение на выполнение данной операции, которая в этом случае переместит файл в /path/to/target/dir
. Если пользователь нажметy
(и , введите ), операция будет выполнена.
{}
будет заменено именем каждого найденного файла по очереди, и команда, которая выполняется для каждого файла, заканчивается на \;
.
Если вы замените -ok
на -exec
, пользователю не будет предлагаться, и операция будет выполнена для всех файлов.
-maxdepth 1
ограничивает поиск файлов самым верхним каталогом (/path/to/source/dir
). Без него find
рекурсивно просматривал бы все подкаталоги по заданному пути.
-type f
ограничивает поиск только обычными файлами (, то есть не каталогами, сокетами, файлами устройств и т. д.)
У вас есть цикл с симлинками:
lrwxrwxrwx 1 root root 18 Oct 24 17:25 python3 -> /usr/bin/python3.5
lrwxrwxrwx 1 root root 16 Oct 24 17:24 python3.5 -> /usr/bin/python3
Но я понятия не имею, как вы это понимаете, и не знаю, что предложить для ее решения:)
Возможно, вам поможет переустановка. Или, может быть, если вы сообщите нам, какую систему вы используете и как вы устанавливаете команды python (и последовательность этой команды, которую вы используете, и/или какое руководство вы используете для установки/обновления python ), это поможет понять, что происходит и как это исправить.