информация о подключении для текущего каталога

Я могу сделать df . чтобы получить некоторую информацию о монтировании, в которой находится текущий каталог, и я могу получить всю информацию, которую я хочу от mount , но получаю много информации. Я могу это сделать, но мне интересно, есть ли лучший способ.

Есть ли какая-либо команда mountinfo такая как mountinfo . дает информацию, которую я хочу (например, df . , но с информацией, которую дает mount ).


Я использую Debian Gnu + Linux.

4 Solutions collect form web for “информация о подключении для текущего каталога”

Я думаю, вам нужно что-то вроде этого:

 (until findmnt . ; do cd .. ; done) 

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

findmnt является членом пакета util-linux и существует уже несколько лет. К настоящему времени, независимо от вашего дистрибутива, он уже должен быть установлен на вашей Linux-машине, если у вас также есть инструмент mount .

 man mount | grep findmnt -B1 -m1 For more robust and customizable output use findmnt(8), especially in your scripts. 

findmnt будет распечатывать всю информацию о findmnt без аргумента точки монтирования и только для аргумента с одним. Параметр -D является параметром emulate df . Без -D его выход похож на mount , но гораздо более настраиваемый. Попробуйте findmnt --help и убедитесь сами.

Я придерживаюсь его в подоболочке, поэтому текущий каталог текущей оболочки не изменяется.

Так:

 mkdir -p /tmp/1/2/3/4/5/6 && cd $_ (until findmnt . ; do cd .. ; done && findmnt -D .) && pwd 

ВЫВОД

 TARGET SOURCE FSTYPE OPTIONS /tmp tmpfs tmpfs rw SOURCE FSTYPE SIZE USED AVAIL USE% TARGET tmpfs tmpfs 11.8G 839.7M 11G 7% /tmp /tmp/1/2/3/4/5/6 

Если у вас нет доступной опции -D (я никогда не пойму Debian), тогда вам не нужно бояться – в любом случае это не более чем удобный переключатель. Обратите внимание на заголовки столбцов, которые он выдает для каждого вызова, – вы можете включать или исключать те для каждого вызова с помощью -o utput. Я могу получить тот же результат, что и -D например:

  findmnt /tmp -o SOURCE,FSTYPE,SIZE,USED,AVAIL,USE%,TARGET 

ВЫВОД

 SOURCE FSTYPE SIZE USED AVAIL USE% TARGET tmpfs tmpfs 11.8G 1.1G 10.6G 10% /tmp 

Путь Linux / Unix – это набор инструментов для небольших утилит, которые при объединении дают вам результаты, которые вам нужны.

Они, как правило, не имеют полезности для каждого случая. Вместо этого у вас есть много небольших полезных утилит, которые объединены вместе с трубами и т. Д. Преимущество этого в том, что вы можете легко написать свою собственную утилиту, если ее нет.

Например, чтобы получить информацию, которую вы используете, вы можете использовать:

 mount | grep $(df --output=source . | tail -1) 

Если вы хотите повторно использовать вышеперечисленное с разными каталогами, создайте скрипт:

 #!/bin/bash mount | grep $(df --output=source $1 | tail -1) 

Сохраните его как mountinfo и сделайте его исполняемым ( chmod +x mountinfo ). Затем вы можете использовать его как:

 mountinfo . 

Если вы хотите, чтобы система, которая имеет утилиту для всех, которые не взаимодействуют друг с другом, тогда некий мистер Гейтс может вам помочь 😉

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

 #!/bin/sh mountpoint="$(df -P "$1" | awk '{ if (NR==1) i=index($0,"Mounted on"); else print substr($0,i); }')" mount|grep " on ${mountpoint} type " 

df -P выводит одну строку для файловой системы; без этой опции df может выводить две строки, если точка монтирования длинна. Имя точки монтирования начинается в том же столбце, что и метка «Установлено на» в строке заголовка.

После того, как мы получим точку монтирования, мы получаем grep для нее на выходе mount .

Я не знаю команды, но вы можете создать функцию. Вы можете добавить ниже .bashrc :

 mountinfo () { mount | grep $(df -P "$1" | tail -n 1 | awk '{print $1}') } 

Это выполняет команду mount и передает результат в grep . grep будет искать выход df -P "$1" | tail -n 1 | awk '{print $1}' df -P "$1" | tail -n 1 | awk '{print $1}' df -P "$1" | tail -n 1 | awk '{print $1}' и сломать его:

  • df -P "$1" будет запускать df по аргументу, переданному функции,
  • tail -n 1 будет выводить только вторую строку, содержащую информацию partition .
  • awk '{print $1}' будет печатать первую часть этой строки, которая является номером диска / раздела, например /dev/sda5 . Это то, что grep будет искать в команде mount, и вывести его.

.bashrc файл .bashrc чтобы применить изменения, или выйти из системы и войти в систему.

Теперь, если вы запустите mountinfo . , вы получите нужный результат.

  • Как проверить содержимое физического устройства
  • Создание раздела ext2 для FreeBSD 10.1, работающего на базе x86 с разделением MBR
  • Жесткие ссылки по сравнению с символическими ссылками: какой из них быстрее / меньше?
  • Почему удаление файлов по названию мучительно медленное, а также исключительно быстрое?
  • Есть ли место, где перечислены все файловые системы, поддерживаемые Debian?
  • Определение точек монтирования для приложения
  • Использование chroot для восстановления Kubuntu 14.04
  • укажите параметр монтирования в / etc / fstab (mode = 1777)
  • Как развернуть раздел LVM2 в Fedora Linux
  • Создание файла WORM
  • Как я могу автоматически загружать файл пользователю, внесшему изменения?
  • Btrfs распределяет файлы поровну на нескольких устройствах
  • Linux и Unix - лучшая ОС в мире.