Если вы рассматриваете компьютеры на базе ARM -на базе Cortex -A7 или A53, вы можете рассмотреть:
Обычно они представляют список поддерживаемых платформ. Для Arch Linux вы можете проверить:https://archlinuxarm.org/platforms
Об установке: обычно требуется установить SD-карту и загрузиться с нее. Для Arch Linux вы можете проверить:https://archlinuxarm.org/platforms/armv6/raspberry-piили http://elinux.org/ArchLinux_Install_Guide
.
С другой стороны, обратите внимание, что Cortex -M3 больше подходит для микроконтроллеров, ASIC и SOC. Обычно на такие машины сложнее установить Linux. Вы можете проверить:https://electronics.stackexchange.com/questions/19234/linux-on-arm-cortex-m3-series
Использованиеrsync
:
while IFS=, read -r src dest; do
[ ! -d "$src" ] && echo "skipping missing directory \"$src\"" >&2 && continue
mkdir -p "$dest" && rsync -av --exclude='*/' --remove-source-files --ignore-existing "$src/" "$dest"
done < file.txt
Этот сценарий считывает file.txt
построчно и назначает исходный и целевой каталоги переменным src
и dest
. Строка разделяется запятой, определенной во внутренней переменной разделителя полейIFS
(). Если src
не является каталогом, цикл while -продолжается со следующей строки, в противном случае создается целевой каталог и его родительские каталоги, если он не существует.
В вызове rsync
используются следующие опции (см.man rsync
):
-a
режим архива (сокращение для опций-rlptgoD
)-v
подробный режим --exclude='*/'
исключить каталоги, передаются только не -каталоги --remove-source-files
удалить файлы с отправляющей стороны после завершения передачи (аналогичноmv
)--ignore-existing
не передавать файлы, которые уже существуют на стороне назначения Вы можете сохранить скрипт как сценарий оболочкиmv_rsync.sh
:
#!/bin/sh
[ $# -ne 1 ] && echo "invalid file argument" >&2 && exit 1
while IFS=, read -r src dest; do
[ ! -d "$src" ] && echo "skipping missing directory \"$src\"" >&2 && continue
mkdir -p "$dest" && rsync -av --exclude='*/' --remove-source-files --ignore-existing "$src/" "$dest"
done < "$1"
Сделать его исполняемым с помощью
chmod +x./mv_rsync.sh
и запустите его как
./mv_rsync.sh file.txt