Как я могу записать команду ftp для передачи файлов от одного сервера до другого?

В соответствии с Linux, можно получить информацию точки монтирования непосредственно от ядра в /proc/mounts. mount программа записывает подобную информацию в /etc/mtab. Пути и опции могут отличаться, как /etc/mtab представляет что mount переданный ядру, тогда как /proc/mounts показывает данные, как замечено в ядре. /proc/mounts всегда актуально тогда как /etc/mtab не мог бы быть то, если /etc было только для чтения в какой-то момент, который не ожидался сценариями начальной загрузки. Формат аналогичен /etc/fstab.

В обоих файлах первое разделенное от пробела поле содержит путь устройства, и второе поле содержит точку монтирования.

awk -v needle="$device_path" '$1==needle {print $2}' /proc/mounts

или если у Вас нет awk:

grep "^$device_path " /proc/mounts | cut -d ' ' -f 2

Существует много пограничных случаев, где Вы не могли бы получить то, что Вы ожидаете. Если устройство было смонтировано через другой путь в /dev это определяет то же устройство, Вы не заметите его этот путь. В /proc/mounts, свяжите монтирование, неотличимы от оригинала. Может быть больше чем одно соответствие, если точка монтирования тени другой (это необычно).

В /proc/self или /proc/$pid, существует для каждого процесса mounts файл, который подражает глобальному файлу. Информация о монтировании может варьироваться между процессами, например, из-за chroot. Существует дополнительный названный файл mountinfo это имеет другой формат и включает больше информации, в особенности устройство главные и незначительные числа. Из документации:

36 35 98:0 /mnt1 /mnt2 rw,noatime master:1 - ext3 /dev/root rw,errors=continue
(1)(2)(3)   (4)   (5)      (6)      (7)   (8) (9)   (10)         (11)

(1) mount ID:  unique identifier of the mount (may be reused after umount)
(2) parent ID:  ID of parent (or of self for the top of the mount tree)
(3) major:minor:  value of st_dev for files on filesystem
(4) root:  root of the mount within the filesystem
(5) mount point:  mount point relative to the process's root
(6) mount options:  per mount options
(7) optional fields:  zero or more fields of the form "tag[:value]"
(8) separator:  marks the end of the optional fields
(9) filesystem type:  name of filesystem of the form "type[.subtype]"
(10) mount source:  filesystem specific information or "none"
(11) super options:  per super block options

Таким образом, при поиске устройства числом можно сделать это как это:

awk -v dev="$major:minor" '$3==dev {print $5}'
awk -v dev="$(stat -L -c %t:%T /dev/block/something)" '$3==dev {print $5}'

0
22.03.2013, 14:22
1 ответ

lftp (и много других клиентов ftp) позволит Вам указать имя пользователя, пароль и ряд команд для издания с его командной строкой. человек lftp для получения дополнительной информации.

0
28.01.2020, 05:03

Теги

Похожие вопросы