Что означает 4-й столбец (корневой) в /proc/.../mountinfo?

Ваша команда работает отлично. Просто перенаправьте вывод STDERR в STDOUT, чтобы grepи cutобработали их так, как вы хотите:

iwconfig 2>&1 | grep ESSID | sed 's/\"//g' | cut -f1  -d" "  

Однако этот метод с использованием grep, sedи cutявляется излишним.Один grepможет дать вам то, что вы хотите, как это предлагается в обновлении ниже.

ОБНОВИТЬ:

В соответствии с отредактированным вопросом и с учетом того, что пользователь использует Ubuntu (и, следовательно, grepподдерживает регулярное выражение Perl ), вот один из методов:

iwconfig 2>&1 | grep -oP "^\w+"
0
09.03.2020, 14:49
1 ответ

Трудно объяснить это с помощью языковых элементов (, по крайней мере, с моим знанием английского языка )-, поэтому я решил сделать ответ на примере:

Корневой каталог часто называют наивысшим или верхним каталогом. Это верно лишь отчасти. Этот каталог предполагается как наивысший каталог. Вы можете описать это так: «Из этого каталога я начну -. Я предполагаю, что это самый верхний каталог, и выше ничего нет».

Несколько примеров, поясняющих, что означает «корень»:

  • Представьте, что вы запускаете веб-сервер и устанавливаете корень домена example.comв /var/www/html/example.com. Теперь вы создаете файл /var/www/html/example.com/test.html. Если вы откроете https://example.com/test.htmlв своем браузере. вы получаете содержимое созданного файла. Если вы установите /var/www/htmlкак root, вы должны открытьhttps://example.com/example.com/test.html
  • Если вы chrootвойдете в каталог /home/test/testSystem/. Корнем этой среды будет /home/test/testSystem. Если вы выполните lsвнутри chroot-окружения ls /, вы получите содержимое/home/test/testSystem/

Точка монтирования с корнем/

Например, USB содержит:

/
├── dir1
│   ├── subfile1
│   └── subfile2
├── file1
├── file2
└── file3

Если вы подключите этот USB к /mnt, вы получите нормальный результат, который вы ожидаете, потому что вы используете каталог /USB как корень:

531 137 0:52 / /mnt rw,nosuid,nodev shared:75 - /dev/sdb [...]

Таким образом, в большинстве случаев корнем точек монтирования будет действительно /.

Точка монтирования с корнем, отличным от/

Вы можете попробовать это сами :Свяжите два каталога в вашей файловой системе вместе с

$ mount --bind /var/test1 /var/test2

Результатом mountinfoбудет что-то вроде:

564 29 0:26 /var/test1 /var/test2 rw,relatime shared:1 - ext4 /dev/sda rw [...]

Корнем точки монтирования, расположенной под /var/test2, является /var/test1. Источник монтирования (, который вы смонтировали ), это/dev/sda

Назад к примеру USB :Если вы теперь смонтируете содержимое /mnt/dir1во что-то другое, вы получите корень монтирования /dir1, а источником монтирования будет/dev/sdb(USB ). Часть /mntздесь опущена.

«Зачем скрывать часть /run»

Короче говоря,:/runотбрасывается, потому что это раздел tmpfs. Почему эти части удалены?

В примере с USB мы смонтировали dir1из /dev/sdbв /home/test/usbmnt/. Вывод будет:

564 29 0:26 /dir1 /home/test/usbmnt/ rw,relatime shared:1 - ext4 /dev/sdb rw [...]

Вы видите, что мы смонтировали содержимое /dir1 (с USB, а НЕ с вашего жесткого диска )в каталог с именем usbmnt. Возможно, будет полезно прочитать его как /dev/sdb/dir1.

Если бы корень был указан как /mnt/usb/dir1, мы не могли бы знать, каково реальное местоположение на USB. :Это может быть /dir1, /usb/dir1или, может быть,/mnt/usb/dir1

0
28.04.2021, 23:21

Теги

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