Я уже давно пользуюсь linux, и у меня в голове горит вопрос. Я буду использовать команду mount в качестве примера.
Когда вы видите man-страницы mount, он говорит, что вы используете следующую команду: mount $type $drive $dir
где $ drive - это диск, который вы хотите смонтировать, $ type - это тип диска, а $ dir - это каталог, куда вы его монтируете. .
Что касается того, что нужно поместить в переменные $ drive и $ dir, это довольно легко определить. Теперь в переменную $ type вы не можете просто положить то, что вам нравится, потому что система этого не поймет. Вы должны использовать готовые слова, такие как vfat, ext3, auto и т. Д.
И вот мой вопрос: для каждой команды, которая требует такого типа предварительно подготовленных слов, чтобы заполнить переменное пространство, как я узнаю, какие опции делают У меня есть? Где я могу увидеть список всех опций, которые у меня есть для этого типа переменных?
И mount - это всего лишь одна команда, есть бесчисленное множество других, подобных этой ведьме, для работы которой требуется слово из набора готовых слов. , Насколько я могу судить, такого списка нет на страницах руководства или на каком-то очевидном веб-сайте.
Обычно у Вас есть две опции:
нужно изучить источник для каждой команды, которую Вы хотите знать, который, вероятно, не был бы хорошей идеей (на самом деле, это - если Вы хотите знать внутренние работы, но Вы знаете, мудрый временем ;)) начиная с него занимают бесчисленные часы.
второй и более жизнеспособный вариант состоит в том, чтобы изучить руководство или использование man
или info
, который мог дать Вам подробное объяснение всех опций и параметров.
Нет общего способа, особенно для расширяемых программ, таких как mount
.
Для mount
опция -t foo
говорит mount
выполнить команду mount.foo
. Это зависит от того, что вы установили. Например, я могу использовать следующие опции для mount
:
ceph cifs fuse fuse.ceph lowntfs-3g nfs nfs4 ntfs ntfs-3g
Почему? Потому что у меня установлены следующие помощники для mount
:
$ ls /sbin/mount.*
/sbin/mount.ceph /sbin/mount.cifs /sbin/mount.fuse
/sbin/mount.fuse.ceph /sbin/mount.lowntfs-3g /sbin/mount.nfs
/sbin/mount.nfs4 /sbin/mount.ntfs /sbin/mount.ntfs-3g
В общем, нет способа узнать, что вы можете запустить для данной команды, особенно если она может использовать внешние программы, такие как mount
делает.
Насколько я могу сказать, что нет такого списка в страницах справочника (…).
Даже в совершенно особом случае монтирования (muru объясняет, почему) на самом деле страница справочника помогает много:
-t, --types fstype
The argument following the -t is used to indicate the filesystem type.
The filesystem types which are currently supported depend on the running
kernel. See /proc/filesystems and /lib/modules/$(uname -r)/kernel/fs for
a complete list of the filesystems. The most common are ext2, ext3, ext4,
xfs, btrfs, vfat, sysfs, proc, nfs and cifs.
Это не только перечисляет наиболее распространенные аргументы, но также и указывает на /proc/filesystems
(который является файлом, таким образом, мы будем использовать cat
) и /lib/modules/$(uname -r)/kernel/fs
(который является каталогом, таким образом, мы будем использовать ls
). Объединенный это предоставляет Вам полный список аргументов, применимых в Вашей определенной системе.
Обычно, man
и/или info
или содержите полный список возможных аргументов опции или (как в Вашем примере), указывают на Вас на другие источники, где Вы получаете эту информацию. Для поиска опции в обширной странице справочника, поисковая функция пригождается, просто введите, например. /--types
, хит Входит для поиска первого вхождения и N для прохождения через следующих.