Terminal pogryzł człowieka: di

Gdzieś na obrzeżach cywilizacji żyje człowiek, który przez większość dnia wpatruje się w czarną toń niewielkiego okienka. Nie jest ważne co on w nim widzi. Ważne, czy wie co tam wpisać… A spora grupa użytkowników Linuksa albo nie wie o zbawiennej mocy terminala, albo nie miała potrzeby go używać. Być może to nie są już czasy na naukę karkołomnych technik obsługi shella, ale kilka poleceń tekstowych warto znać, choćby dla ułatwienia sobie życia. Tematem dzisiejszych rozważań będzie di – czyli lepszy df.

Polecenie di ma za zadanie nakreślić nam szczegółowo sytuację naszych nośników wewnętrznych, partycji i ich charakterystycznych niuansów. Zaletą w porównaniu do znanego df jest liczba opcji. Ogromna liczba opcji. Co dla niektórych może stanowić i wadę, podobnie jak fakt, że nie w każdej dystrybucji di jest zainstalowane domyślnie.

Polecenie już w zwykłym trybie, bez parametrów, ukazuje znaczące różnice w porównaniu do df:

$ di
Filesystem         Mount               Size     Used    Avail %Used  fs Type
/dev/sda8          /                  20,2G     5,1G    14,8G   27%  ext4   
tmpfs              /dev/shm            1,5G     0,0G     1,5G    0%  tmpfs  
/dev/sda6          /home             393,6G    48,6G   343,0G   13%  ext4   
run                /run                1,5G     0,0G     1,5G    0%  tmpfs  
tmpfs              /sys/fs/cgroup      1,5G     0,0G     1,5G    0%  tmpfs  
tmpfs              /tmp                1,5G     0,0G     1,5G    0%  tmpfs

Widzimy jednostkę objętości w mega/gigabajtach, oraz typ systemu plików. W df już musielibyśmy użyć kilku parametrów.

Jeżeli to nadal mało, możemy zgłębiać tajniki montowania dodając parametr -A:

$ di -A
Mount          fs Type Filesystem 
	Options                           
	    Size     Used     Free %Used  %Free 
	    Size     Used    Avail %Used  %Free 
	    Size     Used    Avail %Used  
	   Inodes     IUsed     IFree %IUsed
/              ext4    /dev/sda8  
	rw,noatime,data=ordered           
	   20,2G     5,1G    15,1G   25%    75%  
	   20,2G     5,4G    14,8G   27%    73%  
	   20,0G     5,1G    14,8G   26%  
	  1354560    191823   1162737   14% 
/home          ext4    /dev/sda6  
	rw,noatime,data=ordered           
	  393,6G    48,6G   345,0G   12%    88%  
	  393,6G    50,6G   343,0G   13%    87%  
	  391,6G    48,6G   343,0G   12%  
	 26222592    122687  26099905    0% 

Potrzebujemy parametrów partycji/punktu montowania do dalszego wykorzystania w skryptach? Proszę, właściowości oddzielone przecinkiem po dodaniu opcji -c:

$ di -c
s,m,b,u,v,p,T
"/dev/sda8","/","20,2G","5,1G","14,8G",27%,"ext4"
"tmpfs","/dev/shm","1,5G","0,0G","1,5G",0%,"tmpfs"
"/dev/sda6","/home","393,6G","48,6G","343,0G",13%,"ext4"
"run","/run","1,5G","0,0G","1,5G",0%,"tmpfs"
"/dev/sdb1","/run/media/dhorx/Linux Mint 16 Cinnamon 64-bit","1,2G","1,2G","0,0G",100%,"iso9660"
"tmpfs","/sys/fs/cgroup","1,5G","0,0G","1,5G",0%,"tmpfs"
"tmpfs","/tmp","1,5G","0,0G","1,5G",0%,"tmpfs"

Podsumowanie właściwych partycji z wykluczeniem tmpfs? Wystarczy -x tmpfs -t:

$ di -x tmpfs -t
Filesystem         Mount               Size     Used    Avail %Used  fs Type
/dev/sda8          /                  20,2G     5,1G    14,8G   27%  ext4   
/dev/sda6          /home             393,6G    48,6G   343,0G   13%  ext4   
                   Total             413,8G    53,7G   357,8G   14%      

Tak po prawdzie, to czubek góry parametrów, którymi możemy nakłonić di do wyświetlanie tego co chcemy i jak chcemy. Dlatego bardziej dociekliwym polecam:

man di

Oto piękno trybu tekstowe – dwie litery, a ile atrakcji.