Хотя при этом не используется rsync, другим вариантом является использование find и cpio. Например, у меня есть каталог с названием «Фотографии», в котором указаны год и месяц.
Photos
├── 2002
│ ├── 2002-03
│ │ ├── 2002-03-30
│ │ ├── 2002-03-31
│ │ └── 2002-03-31-02
│ ├── 2002-04
│ │ ├── 2002-04-01
│ │ ├── 2002-04-01-03
│ │ ├── 2002-04-07
│ │ ├── 2002-04-21
│ │ ├── 2002-04-22
│ │ ├── 2002-04-22-02
│ │ └── 2002-04-27
│ ├── 2002-05
│ │ ├── 2002-05-02
│ │ ├── 2002-05-03
Но здесь у меня есть jpg, dng, xml и другие вещи, и я хочу только jpg, поэтому я бы сделал это
"cd" в каталог над каталогом Photos, затем:
find Photos -type f -name "*jpg" -print | cpio -pdmvu /fast
И понеслось
/fast/Photos/2002/2002-04/2002-04-22/bath problem.jpg
/fast/Photos/2002/2002-04/2002-04-22-02/full bath.jpg
/fast/Photos/2002/2002-07/2002-07-10/Broken Top.jpg
/fast/Photos/2002/2002-12/2002-12-28/101-0125_IM~~G.jpg
/fast/Photos/2002/2002-12/2002-12-28/small-101-0125_IM~~G.jpg
/fast/Photos/2003/2003-01/2003-01-19/k1.jpg
/fast/Photos/2003/2003-01/2003-01-19/k2.jpg
/fast/Photos/2003/2003-02/2003-02-23/quinn.jpg
/fast/Photos/2003/2003-05/2003-05-04/all.jpg
/fast/Photos/2003/2003-05/2003-05-09/100_0015_r1.jpg
/fast/Photos/2003/2003-05/2003-05-09/100_0006_2_r1.jpg
/fast/Photos/2003/2003-05/2003-05-09/100_0006_r1.jpg
/fast/Photos/2003/2003-05/2003-05-09/100_0007_2_r1.jpg
Вы можете использовать этот метод для многих вещей, много лет назад мы копировали файловую систему / при перемещении на большие диски, поскольку это копировало файлы устройства.
Итак, немного покопавшись, мне удалось выяснить, какая gcc
версия была установлена с помощью команды ls /usr/lib/gcc/x86_64-linux-gnu
При этом была обнаружена папка с именем 9
, и, предполагая, что это была установленная версия gcc
, я использовал sudo apt-get install --reinstall gcc-9
После этого gcc -v
нормально работал без sudo.