$ df /tmp
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 480589544 42607368 413546516 10% /
$ ls /dev/root
ls: cannot access /dev/root: No such file or directory
Я хотел проверить, находится ли моя установка Debian по умолчанию /tmp
в оперативной памяти или на диске, но теперь я совершенно сбит с толку. Почему несуществующее устройство будет указано как тип файловой системы? Что значит "установлен на /"?
Вот вывод mount
:
/dev/sda1 on / type ext4 (rw,relatime,errors=remount-ro,data=ordered)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=811520k,mode=755)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=1013960,mode=755)
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=1623020k)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
none_debugfs on /sys/kernel/debug type debugfs (rw,relatime)
cgroup on /sys/fs/cgroup type tmpfs (rw,relatime,size=12k)
cgmfs on /run/cgmanager/fs type tmpfs (rw,relatime,size=100k,mode=755)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,release_agent=/run/cgmanager/agents/cgm-release-agent.systemd,name=systemd)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=811520k,mode=700,uid=1000,gid=1000)
mount
partition
block-device
Vorac
источник
источник
mount
команды?/tmp
это точка монтирования Вопрос, который вы хотите задать: «Какой раздел / устройство смонтирован в / tmp?»/dev/root
устройство смонтировано в корне файловой системы (/
)Ответы:
Если вывод такой, как указано выше, он находится на жестком диске. Вы можете получить
/dev/root
, посмотрев на командную строку ядра:Так
/dev/root
эквивалентно разделу с UUID, напечатанным выше; ваши будут отличаться. Чтобы посмотреть этот UUID, используйтеКак видите, соответствующий раздел есть
/dev/sda1
. Итак, вы/tmp
на жестком диске. Еще одна дешевая распродажаdf
- это точка монтирования/
. Если вы смонтированы/tmp
в ОЗУ, вы получитеисточник
Выход
df /tmp
дает ответ: «Установленный на» списках столбцов/
, поэтому/tmp
является частью файловой системы, смонтировано на/
, т.е. корневой файловой системы. Это не отдельная файловая система.Чтобы быть более точным, вы должны выполнить
df /tmp/
: if/tmp
является символической ссылкой, затемdf /tmp
перечисляет информацию о местонахождении символической ссылки, тогда какdf /tmp/
перечисляет информацию о целевом каталоге.Упоминание
/dev/root
в колонке устройства связано с тем, что оно указано в/etc/mtab
. Вы можете найти реальное устройство, посмотрев в/proc/mounts
с</proc/mounts awk '$2 == "/" {print $1}'
илиfindmnt /
.источник
df /tmp
иfindmnt /
.df /path/to/target
показывает, какая файловая система содержит целевую папку, общее количество байт, использованных байтов, доступный процент и точку монтирования.В примере, задокументированном в этом вопросе, папка
/tmp/
находится в файловой системе с меткойroot
, которая находится на блочном устройстве/dev/sda1
.mount | grep target
покажет любые файловые системы, содержащие имя цели, как указано в/etc/mtab
. Если целевая папка не является отдельной файловой системой, mount не предоставит вам точную информацию напрямую.Однако, чтобы узнать, какое устройство содержится
/tmp/
, используйтеdf
для получения имени файловой системы (/dev/root
) и точки монтирования (/
), а затемmount
выполните поиск в выходных данных, чтобы найти устройство или точку монтирования и определить, какое блочное устройство содержит эту файловую систему.Важно различать устройство и файловую систему, потому что не всегда существует соотношение 1: 1. Блочное устройство может быть разделено, и каждый раздел будет иметь файловую систему. Каждый раздел может иметь свой тип файловой системы. Каждый раздел имеет свое уникальное имя и UUID и может иметь псевдонимы.
источник
Чтобы проверить это,
mount
более уместно. Вы можете попробовать это, и grep выводит на 'tmp'Пример :
Здесь говорится, что мой раздел
/dev/shm
монтируется с помощью tmpfs (временное хранилище файлов, т.е. в оперативной памяти). Если ваш раздел не смонтирован с помощью tmpfs, значит, он не находится в энергозависимой памяти.источник
tmpfs on /tmp
.df
дает информацию напрямую, тогдаmount | grep
как не дает информацию надежно (она пропустит случаи, когда/tmp
есть символическая ссылка, и она не будет работать для чего-то подобного,/var/tmp
так как/var
или/var/tmp
может быть точкой монтирования).mount
в основном печатает содержимое файла mtab (/etc/mtab
). Это показывает только смонтированные файловые системы. Если целевая папка не является отдельной файловой системой, вы не найдете ее с помощью mount. Однако, если вы используетеdf /path/to/target
, он точно скажет вам, какое блочное устройство содержит целевую папку, и где это устройство смонтировано. Затем вы можете использоватьmount
другие инструменты для определения типа файловой системы и другой информации. В примере с OP ваше предложение не будет показывать, где смонтирована папка / tmp /, так как его / tmp / не отдельная файловая система, а часть/
.