最近在查一個 Linux 磁碟空間爆掉的問題,

很自然的先用 df 看一下目前的狀況,可以看到 /opt 已經爆掉了,完全沒有空間:

testuser@localhost ~ df -h

Filesystem                 Size  Used Avail Use% Mounted on
/dev/mapper-root           7.8G  4.0G  3.4G  55% /
/dev/mapper-app_bin         20G   20G     0 100% /opt
/dev/mapper-app_data       325G   36G  274G  12% /var/app_data

 

但吊詭的是,程式寫入一個叫 /opt/data/temp 的目錄下去,

卻完全不受這個磁碟空間的問題影響:

testuser@localhost ~ ll /opt/data/temp
lrwxrwxrwx 1 root root 23 May 31  2016 /opt/data/temp -> /var/app_data/temp/

 

原來是因為這個 /opt/data/temp 是個 symbolic link,

因此實際指向的路徑並不在 /opt 底下...

要看 symbolic link 實際指到的路徑,可以用 readlink -f <path>:

testuser@localhost ~ readlink -f /opt/data/temp
/var/app_data/temp

 

或是直接用 realpath <path> 指令 (但 realpath 這指令在部分 Liux 上不支援):

testuser@localhost ~ realpath /opt/data/temp
/var/app_data/temp

 

得知真正指向的目錄後,就可以再去對照 df 的結果,

可以發現 /var/app_data 這個掛載點還有很大的空間,因此寫入檔案進去是沒有問題的囉~

 

參考資料:stackoverflow: How to see full symlink path

文章標籤
創作者介紹

亂打一通的心情日記

ephrain 發表在 痞客邦 PIXNET 留言(0) 人氣()