
$ 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インストールがRAMにあるのかディスクにあるのかを確認したかったのですが、/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)
答え1
出力が上記の場合、ハードドライブにあります。/dev/root
カーネルコマンドラインを見るとこれが得られます:
$ cat /proc/cmdline | grep root
BOOT_IMAGE=/boot/vmlinuz-3.19.0-32-generic root=UUID=0cde5cf9-b15d-4369-b3b1-4405204fd9ff ro
したがって、/dev/root
上に印刷されたUUIDを持つパーティションと同じです。このUUIDを見つけるには、次のようにします。
$ sudo blkid
/dev/sda1: UUID="0cde5cf9-b15d-4369-b3b1-4405204fd9ff" TYPE="ext4"
/dev/sda5: UUID="37bc6a9c-a27f-43dc-a485-5fb1830e1e42" TYPE="swap"
/dev/sdb1: UUID="177c3cec-5612-44a7-9716-4dcba27c69f9" TYPE="ext4"
ご覧のとおり、一致するパーティションはです/dev/sda1
。したがって、あなたのパーティションは/tmp
ハードドライブにあります。出力のもう一つの特徴はdf
マウントポイントです/
。/tmp
RAMにインストールすると
$ df /tmp
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 3640904 20 3640884 1% /tmp
答え2
の出力にdf /tmp
答えがあります。 「Mounted on」列には がリストされているので、 に/
マウント/tmp
されたファイルシステム/
、つまりルートファイルシステムの一部です。別個のファイルシステムではありません。
より正確に言えば、以下を実行する必要がありますdf /tmp/
。 if/tmp
はシンボリックリンクで、それはdf /tmp
シンボリックリンクの場所に関する情報を一覧表示し、df /tmp/
ターゲットディレクトリに関する情報を一覧表示します。
機器の列/dev/root
はに記載されているので言及されています/etc/mtab
。/proc/mounts
を使用</proc/mounts awk '$2 == "/" {print $1}'
または検索して、実際のデバイスを見つけることができますfindmnt /
。
答え3
df /path/to/target
フォルダーの宛先、合計バイト数、使用済みバイト数、空き率、およびマウントポイントを含むファイルシステムを表示します。
この質問に文書化された例では、フォルダはブロックデバイスのファイル/tmp/
システム内にあります。 root
/dev/sda1
mount | grep target
にリストされている名前のターゲットを含むすべてのファイルシステムが表示されます/etc/mtab
。ターゲットフォルダが別のファイルシステムでない場合、マウントを実行しても正確な情報は直接提供されません。
ただし、デバイスに何が含まれているかを調べるには、ファイルシステム名の取得()とマウントポイント()を使用してから出力を取得し、デバイスまたはマウントポイントを見つけてファイルシステムを保持し/tmp/
ているブロックデバイスを確認します。df
/dev/root
/
mount
常に1:1の相関関係があるわけではないので、デバイスとファイルシステムを区別することが重要です。ブロックデバイスは分割でき、各分割にはファイルシステムがあります。各パーティションにはさまざまな種類のファイルシステムがあります。各パーティションには固有の名前とUUIDがあり、エイリアスもあります。
答え4
確認してみてください。mount
より適切です。試してみて、「tmp」から出力をgrepすることができます。
前任者:
$ mount | grep tmp
tmpfs on /dev/shm type tmpfs ...
/dev/shm
ここに私のパーティションがマウントされていることがわかります。一時ファイルシステム(一時ファイルの記憶領域、つまりRAM)パーティションがtmpfsを使用してマウントされていない場合、揮発性メモリにはありません。