2013-11-21 56 views
0

我爲我的作業創建了一個備份解決方案,通過從USB引導到Lubuntu並運行備份到網絡共享的Java程序來備份進入辦公室的Windows XP/7計算機。檢測Linux中最大的分區

問題是根據計算機的不同,最大的分區(C:Windows上的驅動器)可以位於sda1,sda2,sdb1,sdb2上。我使用了一堆if...else語句來確定應該掛載哪一個,但是如果實際上存在多於一個的分區,它就會出現問題。

我需要能夠找到計算機上的最大分區,並讓它在啓動時自動掛載。

這是可能的嗎?

回答

3

我建議你試試lsblkutil-linux。 喜歡的東西

lsblk | grep part | awk '{print $4 " " $1}' | sort | head -n 1 
+0

正是我在找的,謝謝 – MJ93

0

df -h會給你像這個 -

Filesystem     Size Used Avail Use% Mounted on 
/dev/mapper/vg_base-lv_root 28G 4.8G 22G 19%/
tmpfs      814M 176K 814M 1% /dev/shm 
/dev/sda1     485M 120M 340M 27% /boot 

,你可以管這AWK和{print $2}。然後,執行一些基本的shell腳本來查找具有MAX大小的行號。在該行使用$ 1來獲得分區。

+0

你可能不應該使用'-h'選項,因爲它是很難做到的算術AWK當數有'M'和'G'後綴。 – Barmar

+2

使用'df'的另一個問題是當文件系統路徑很長時,它會將文件系統和屬性放在不同的行上。 – Barmar

+0

真實與真實。但在大多數情況下相當簡單,不是嗎? :) – erbdex