Он отслеживает содержимое флэш-накопителя, сохраняя его во флэш-накопителе.
Он также имеет таблицу монтирования (в ядре ). Он знает, что/dev/disk/by-label/home
(ссылка на реальное устройство )смонтирована на /home
. Он знает, что флэш-память USB -установлена на /media/my-flash
. Когда вы меняете каталог на эти каталоги, он переходит на другое устройство.
Используйте mount
и df -h
для просмотра текущего состояния монтирования.
Не уверен, почему это должен быть один -лайнер. Но вот одна возможность. Он находит все файлы в заданном дереве каталогов и перемещает каждый такой файл на два каталога вверх.
find -type f | while read; do mv "$REPLY" "$(dirname $REPLY)/../../"; done
Пожалуйста, используйте с осторожностью, так как команда очень адаптирована к структуре каталогов, которую вы указали, и не учитывает другие случаи (, например. он будет перемещать файлы из всех каталогов, а не только из указанных вами конечных каталогов ).
Как насчет
find Tom Sam -type f | while read FN; do echo mv "$FN" "${FN%%/*}"; done