Ubuntu
df 在呼叫特定設備時給出不同的結果
df
如果我在沒有參數的情況下呼叫它或將設備作為參數呼叫它,我會為同一設備得到不同的輸出。執行 Ubuntu 14.04。沒有參數:
➜ ~ df Filesystem 1K-blocks Used Available Use% Mounted on udev 4046644 4 4046640 1% /dev tmpfs 811488 2532 808956 1% /run /dev/sdb1 299337328 39634680 244474080 14% / /dev/sda1 2884152536 1309806024 1427816876 48% /media/videos ...
作為
/dev/sdb1
論點,我對同一設備得到不同的結果:➜ ~ df /dev/sdb1 Filesystem 1K-blocks Used Available Use% Mounted on udev 4046644 4 4046640 1% /dev
它
/dev/sda1
似乎有效:➜ ~ df /dev/sda1 Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 2884152536 1309806024 1427816876 48% /media/videos
/dev/sdb1
是安裝作業系統的位置。為什麼輸出不同
/dev/sdb1
但適用於/dev/sda1
?輸出自
ls
➜ ~ ls -l /dev/sda1 /dev/sdb1 brw-rw---- 1 root disk 8, 1 tammi 5 21:13 /dev/sda1 brw-rw---- 1 root disk 8, 17 tammi 5 21:13 /dev/sdb1
輸出自
tune2fs
➜ # tune2fs -l /dev/sda1 | grep 'Last mount' Last mounted on: /media/videos Last mount time: Tue Jan 5 21:13:15 2016 ➜ # tune2fs -l /dev/sdb1 | grep 'Last mount' Last mounted on: / Last mount time: Tue Jan 5 21:13:14 2016 ➜ ~ last reboot reboot system boot 3.13.0-62-generi Tue Jan 5 21:13 - 02:04 (1+04:51)
更多系統資訊:
➜ ~ uname -svpio Linux #102-Ubuntu SMP Tue Aug 11 14:29:36 UTC 2015 x86_64 x86_64 GNU/Linux ➜ ~ X=$(df | sed -rn 's,^(/[^ ]*) .*,\1,p') ; echo $X /dev/sdb1 /dev/sda1 ➜ ~ df | grep ^/ /dev/sdb1 299337328 39693968 244414792 14% / /dev/sda1 2884152536 1309897424 1427725476 48% /media/videos ➜ ~ ls -ld /dev/sdb1 ; ls -ld /dev/sda1 brw-rw---- 1 root disk 8, 17 tammi 5 21:13 /dev/sdb1 brw-rw---- 1 root disk 8, 1 tammi 5 21:13 /dev/sda1 ➜ ~ df /dev/sdb1 | tail -1; df /dev/sda1 | tail -1 udev 4046644 4 4046640 1% /dev /dev/sda1 2884152536 1309897424 1427725476 48% /media/videos ➜ ~ df | sed -rn 's,^(/[^ ]*) .*,<\1>,p' </dev/sdb1> </dev/sda1>
為此使用掛載點而不是文件系統。
所以按照你在這裡的情況:
Filesystem 1K-blocks Used Available Use% Mounted on udev 4046644 4 4046640 1% /dev tmpfs 811488 2532 808956 1% /run /dev/sdb1 299337328 39634680 244474080 14% / /dev/sda1 2884152536 1309806024 1427816876 48% /media/videos
如果你想正確查詢**/dev/sda1**你應該使用:
df /media/videos
如果你想正確查詢**/dev/sdb1**你應該使用:
df /
我相信正在發生的是,當您執行 df /dev/sdb1 時,它會將其解釋為 df /dev,這是 udev 的掛載。至於 df /dev/sda1 工作 - 我將在“如果我知道的話”bin中保存文件。似乎是一個錯誤。
為了進一步測試 - 如果您嘗試以下操作,您會發現兩者都會失敗:
df tmpfs df udev