Для чего все пробелы в / etc / fstab?

15

Я понял, что могу использовать mountдля настройки /каталогов, и что я могу использовать их /etc/fstabдля перемонтирования при перезагрузке.

Тестирование файла fstab также интересно mount -faV.

Когда я смотрю на файл fstab, количество пробелов сбивает с толку. Я бы ожидал один пробел (как разделитель между параметрами команды) или четыре пробела (как вкладка). Я вижу семь мест за раз, почти как соглашение.

Мой вопрос: для чего все пробелы в / etc / fstab?

(Возможно также - будет ли иметь значение, если я получу неправильный номер?)

Hawkeye
источник
2
Также очень приятно, если вы хотите более читаемый structur mount | column -t:)
демонизация
11
" ... четыре пробела (как табуляция) ". Эти юные болтуньи :-) Вкладки (как только они были стандартизированы) изначально были каждые восемь символов ( см. Вики ).
TripeHound
3
«Тестирование файла fstab тоже весело». Запуск чего-либо в Linux может быть увлекательным занятием.
Осьминог

Ответы:

24

Количество пробелов - это способ косметически разделить столбцы / поля. Это не имеет никакого значения, кроме этого. Т.е. количество пробелов между столбцами не имеет значения .

Пробел между столбцами состоит из пробелов (включая вкладки), а сами столбцы, например, разделенные запятыми параметры, не должны содержать пробелов без кавычек.

Со fstab(5)страницы руководства :

[...] поля в каждой строке разделены символами табуляции или пробелами.

и

Если имя точки монтирования содержит пробелы, они могут быть экранированы как `\ 040 '.

пример

С выравниванием следующих линий, используя только одну вкладку, становится трудно достичь. В конце концов, fstabбез пробелов выглядит грязнее, чем то, что вы считаете смущающим сейчас.

/dev/md3 /data/vm btrfs defaults 0   0
/var/spool/cron/crontabs /etc/crontabs bind defaults,bind
//bkpsrv/backup /mnt/backup-server cifs iocharset=utf8,rw,credentials=/etc/credentials.txt,file_mode=0660,dir_mode=0770,_netdev

Вы все еще видите «колонны»?

0xC0000022L
источник
1
Вы не увидите «столбцы» в любом случае, потому что некоторые строки имеют очень длинный «столбец», и в любом случае любая строка может быть длиннее 80 столбцов и поэтому может отображаться «плохо», если вы cat /etc/fstabиспользуете небольшой терминал, не говоря уже об использовании UUID! Таким образом, вы в конечном итоге будете беспокоиться о добавлении пробелов по всему файлу.
Цилгалад
2
@cylgalad Используйте less -Sтогда. Отображение табличных данных на экранах с небольшой шириной всегда является проблемой.
MusiKk
1
@cylgalad Правда, пробелы не так полезны, как в те времена, когда было введено соглашение с пробелами. В те дни длина каждого поля была все еще достаточно короткой, чтобы оставаться внутри столбца, а столбцы были достаточно узкими, чтобы вместить их все в 80 символов.
Касперд
2
И тут я просто осознаю, что все то время, проведенное на подсчете пробелов, было пустой тратой.
PNDA
"не должно содержать пробелов без кавычек". Таким образом, нет способа разбить длинные строки, чтобы сделать их более читабельными?
эндолит
16

Пробелы или табуляции отделяют поля. Используйте столько же или столько, сколько подходит. Если вы находите fstab немного нечитабельным, попробуйте использовать его, columnчтобы предварительно подтвердить его.

пример использования столбца -t для fstab

Стив
источник
16
О, columnэто хорошо
Легкость Гонки с Моникой
На самом деле, на моем главном компьютере fstab, columnделает его менее читабельным, чем cat!
Цилгалад