lsblk komutu: disk ve bölüm yapısı ile UUID kontrolü

Test ortamıRHEL ailesiAlmaLinux 9.8root hesabı
Disk · bağlama komutlarılsblkKonum/usr/bin/lsblk

lsblk komutu, bir sunucuya bağlı diskleri, bölümleri ve bağlama noktalarını ağaç yapısında gösterir; disk boyutunu, dosya sistemi türünü ve hatta UUID'yi tek seferde görmenizi sağlar. Bir AlmaLinux 9 sunucusunda lsblk çalıştırdığımızda snap paketlerinin oluşturduğu loop aygıtları diskten önce listelendi, bu yüzden onları -e 7 ile ayıkladık. Ardından -f ile kök bölümün xfs dosya sistemini ve UUID'sini kontrol ettik.

Aşağıdaki çıktıdaki disk boyutları ve UUID'ler örnek değerlerdir.

1️⃣ lsblk komutunun temel çıktısını okuma

Programların snap ile kurulduğu bir sunucuda lsblk seçeneksiz çalıştırılırsa her paket sürümü için bağlanmış loop aygıtları diskten önce sıra sıra listelenir. Bu yüzden loop aygıtlarının aygıt numarası olan 7, -e ile belirtilip dışarıda bırakılır.

lsblk -e 7
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
nvme0n1     259:0    0   80G  0 disk 
├─nvme0n1p1 259:1    0    1M  0 part 
├─nvme0n1p2 259:2    0  200M  0 part /boot/efi
├─nvme0n1p3 259:3    0    1G  0 part /boot
└─nvme0n1p4 259:4    0 78.8G  0 part /

NAME sütunundaki nvme0n1 disktir. Altında [├─] ve [└─] ile bağlanan nvme0n1p1'den nvme0n1p4'e kadarki satırlar, bu diski bölen bölümlerdir. Bir binanın girişindeki kat panosunda, bina adının altında her katta ne olduğunun yazılı olması gibidir.

TYPE sütununda diskler [disk], bölümler [part] olarak görünür; MOUNTPOINTS sütunu ise o bölümün bağlandığı klasörü gösterir. Kontrol ettiğimiz sunucuda kök bölüm nvme0n1p4 / dizinine, nvme0n1p3 ise /boot dizinine bağlıydı. 1M boyutundaki nvme0n1p1, GPT disk üzerinden önyükleme için kullanılan bir BIOS önyükleme bölümü olduğundan bağlama noktası yoktur.

MAJ:MIN, çekirdeğin aygıta verdiği ana ve alt numaralardır; loop aygıtlarında 7'dir, kontrol ettiğimiz NVMe diskte ise 259'du. RM aygıtın çıkarılabilir olup olmadığını, RO ise salt okunur olup olmadığını 1 ve 0 ile gösterir.

SIZE kolayca boş alan sanılabilir, ancak SIZE diskin veya bölümün toplam boyutudur. Dosya sisteminin boş alanı, -f eklendiğinde görünen FSAVAIL sütununda kontrol edilir.

Seçeneğe göre çıktıdaki satırların ve sütunların nasıl değiştiğini aşağıdaki diyagramda adım adım karşılaştırabilirsiniz.

🧭 Seçeneğe göre lsblk çıktısı: diskler ve bölümler
Açıklama diyagramı
⚙️ Seçenek
$ lsblk -f -d -p -e 7
Aygıt adı
Boyut
Dosya sistemi
Bağlama noktası
/dev/nvme0n1
80G
├─/dev/nvme0n1p1
1M
├─/dev/nvme0n1p2
200M
vfat, 5A1E-…
/boot/efi
├─/dev/nvme0n1p3
1G
xfs, 6d2f…
/boot
└─/dev/nvme0n1p4
78.8G
xfs, 2b9e…
/
🖥️ Ekrana yazdırılan
1 disk satırı ve 4 bölüm satırı, 7 temel sütun (NAME'den MOUNTPOINTS'e)
1 disk satırı ve 4 bölüm satırı, 8 dosya sistemi sütunu (FSTYPE, UUID, FSAVAIL vb.)
Yalnızca 1 disk satırı, 7 temel sütun
1 disk satırı ve 4 bölüm satırı, adlar /dev/ ile başlar
Seçenek yoksa bölümler diskin altında dallar hâlinde sıralanır. Boyut ve bağlama noktası da birlikte gösterilir.
-f, boyut yerine dosya sistemi türünü, UUID'yi ve boş alanı gösterir. nvme0n1 diski ve dosya sistemi olmayan nvme0n1p1 boş kalır.
-d, bölüm satırlarını çıkarıp yalnızca disk satırını gösterir.
-p eklenince aygıt adlarının önüne /dev/ gelir; böylece görünen yolları doğrudan başka komutlara verebilirsiniz.

2️⃣ lsblk -f ile dosya sistemi ve UUID kontrolü

Temel çıktıda dosya sistemi türü görünmediği için bir bölümün hangi biçimde biçimlendirildiği -f ile kontrol edilir. -f şu sekiz sütunu gösterir: NAME, FSTYPE, FSVER, LABEL, UUID, FSAVAIL, FSUSE% ve MOUNTPOINTS.

lsblk -f -e 7
NAME        FSTYPE FSVER LABEL UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
nvme0n1                                                                            
├─nvme0n1p1                                                                        
├─nvme0n1p2 vfat   FAT16       5A1E-3B7C                             192.1M     4% /boot/efi
├─nvme0n1p3 xfs                6d2f0c4e-8b1a-4f3d-a7e2-9c5b1d0e4f28  691.4M    28% /boot
└─nvme0n1p4 xfs                2b9e7f41-c3d6-4a85-b0f1-7e4a2c9d6b13   68.5G    13% /

Çalıştırdığımızda kök ve /boot bölümleri xfs, /boot/efi ise FAT16 sürümünde vfat çıktı. nvme0n1 diski ile nvme0n1p1'de dosya sistemi olmadığından boş kaldılar. UUID, her dosya sistemine verilen benzersiz bir numaradır; /etc/fstab dosyasında bağlanacak bölümü aygıt adı yerine UUID ile belirtirken kullanılır.

Dosya sistemi bilgisini en doğru şekilde kontrol etmek için blkid komutu kullanılır.

FSAVAIL ve FSUSE%, bağlı bir dosya sisteminin boş alanı ve kullanım oranıdır. Bağlı olmayan bölümlerde değer görünmez. df komutu yalnızca bağlı dosya sistemlerinin boyutunu ve kullanımını gösterir. lsblk ise bağlı olup olmamalarından bağımsız olarak disk ve bölüm yapısını da gösterir.

3️⃣ lsblk -o ile sütun seçimi ve -b ile bayt birimi

-o'dan sonra sütun adlarını virgülle ayırarak yazarsanız yalnızca o sütunlar o sırayla görünür. Kullanılabilecek sütun adları [lsblk --help] çıktısının sonundaki listede yer alır.

lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT -e 7
NAME         SIZE FSTYPE MOUNTPOINT
nvme0n1       80G        
├─nvme0n1p1    1M        
├─nvme0n1p2  200M vfat   /boot/efi
├─nvme0n1p3    1G xfs    /boot
└─nvme0n1p4 78.8G xfs    /

MOUNTPOINT yalnızca tek bir bağlama noktasını, MOUNTPOINTS ise aynı dosya sistemi birden fazla yere bağlıysa hepsini gösterir. Temel sütunların arkasına yalnızca bir sütun eklemek için [-o +UUID] örneğindeki gibi sütun adının önüne + koyun.

-b, boyutları bayt cinsinden tam sayı olarak gösterir. Gözle karşılaştırırken temel birimler daha kolay okunur; bu yüzden -b, boyut hesaplayan veya karşılaştıran betiklere uygundur.

lsblk -b -o NAME,SIZE -e 7
NAME               SIZE
nvme0n1     85899345920
├─nvme0n1p1     1048576
├─nvme0n1p2   209715200
├─nvme0n1p3  1073741824
└─nvme0n1p4 84613774848

Temel çıktıdaki G ve M 1.024'lük birimlerdir; bu yüzden 80G'lik disk 85.899.345.920 bayt olarak görünür.

4️⃣ lsblk -d ile disk listesi ve -p ile tam yol

Birden fazla diski olan bir sunucuda bölüm satırları araya karışıp disk listesini okumayı zorlaştırır; bu yüzden -d ile bölümler çıkarılıp yalnızca disk satırları gösterilir.

lsblk -d -e 7
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
nvme0n1 259:0    0  80G  0 disk 

Çıktıda yalnızca nvme0n1 diskinin tek satırı kaldı, altındaki dört bölüm satırı görünmedi.

-p eklenince aygıt adlarının önüne /dev/ gelir ve tam yol olarak görünür. Bu yolları mount gibi başka komutlara doğrudan verebilirsiniz.

lsblk -p -e 7
NAME             MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
/dev/nvme0n1     259:0    0   80G  0 disk 
├─/dev/nvme0n1p1 259:1    0    1M  0 part 
├─/dev/nvme0n1p2 259:2    0  200M  0 part /boot/efi
├─/dev/nvme0n1p3 259:3    0    1G  0 part /boot
└─/dev/nvme0n1p4 259:4    0 78.8G  0 part /

Yalnızca NAME sütunu /dev/nvme0n1'den /dev/nvme0n1p4'e kadar tam yola dönüşür; diğer sütunlar temel çıktıyla aynıdır.

Bağımsız değişken olarak bir aygıt yolu verirseniz yalnızca o aygıt ve altındaki bölümler gösterilir; bir bölüm yolu verirseniz yalnızca o bölümün satırı görünür.

lsblk /dev/nvme0n1p4
NAME      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
nvme0n1p4 259:4    0 78.8G  0 part /

Çıktıda yalnızca nvme0n1p4'ün tek satırı görünür, disk satırı ve dal işaretleri eklenmez. Var olmayan bir aygıt yolu verdiğimizde [not a block device] hatası çıktı ve çıkış kodu 32 oldu.

5️⃣ lsblk komutunun betikler için çıktısı ve seçenekleri

Temel çıktıyı betiklerde kesip kullanmak cazip gelebilir, ancak temel çıktının ve -f'nin sütun düzeni ileride değişebilir; bu yüzden betiklerde sütunlar -o ile doğrudan belirtilir.

-n başlık satırını çıkarıp yalnızca değerleri gösterir; bu yüzden tek bir bölümün dosya sistemi türü gibi yalnızca bir değere ihtiyaç duyduğunuzda uygundur.

lsblk -no FSTYPE /dev/nvme0n1p4
xfs

Başlık satırı olmadan yalnızca kök bölümün dosya sistemi türü olan xfs kelimesi görünür; böylece doğrudan bir kabuk değişkenine atayabilirsiniz.

-P her sütunu [ad=”değer”] biçiminde tek satırda gösterir. AlmaLinux 9'daki util-linux 2.37 sürümünde yalnızca -P eklemek bile adları kabuk değişkeni olarak kolay okunacak şekilde değiştirir; örneğin MAJ:MIN, MAJ_MIN ve FSUSE%, FSUSE_PCT olur.

lsblk -P -o NAME,FSTYPE,MOUNTPOINT /dev/nvme0n1p4
NAME="nvme0n1p4" FSTYPE="xfs" MOUNTPOINT="/"

Belirtilen üç sütun NAME, FSTYPE, MOUNTPOINT sırasıyla tek satırda görünür. Tüm değerler çift tırnak içindedir.

-J çıktıyı JSON olarak verir. -d olmadan bölümler diskin altındaki children dizisine girer. -b ile birlikte kullanılırsa yalnızca size sayıya dönüşür, FSAVAIL gibi diğer boyut sütunları dize olarak kalır.

lsblk -J -d -o NAME,SIZE,TYPE -e 7
{
   "blockdevices": [
      {
         "name": "nvme0n1",
         "size": "80G",
         "type": "disk"
      }
   ]
}

-d eklenince blockdevices dizisinde yalnızca disk yer alır ve children dizisi görünmez.

🔲 lsblk komutu seçenekleri

SeçenekKopyalaAçıklama
-e, --excludeBelirtilen ana numaralı aygıtları dışarıda bırakır. 7 belirtilirse loop aygıtları çıkarılır.
-f, --fsDosya sistemi türünü, UUID'yi, boş alanı ve kullanım oranını gösterir.
-o, --outputYalnızca virgülle belirtilen sütunları sırayla gösterir.
-b, --bytesSIZE sütununu bayt cinsinden tam sayı olarak gösterir.
-d, --nodepsBölüm satırlarını çıkarıp yalnızca disk satırlarını gösterir.
-p, --pathsAygıt adlarını /dev/ ile başlayan tam yol olarak gösterir.
-n, --noheadingsBaşlık satırını çıkarıp yalnızca değerleri gösterir.
-P, --pairsSütun adlarını ve değerlerini çiftler hâlinde tek satırda gösterir.
-J, --jsonÇıktıyı JSON biçiminde verir.
-a, --allBoyutu 0 olan boş aygıtları da gösterir.
SeçenekKopyalaAçıklama
-I, --includeYalnızca belirtilen ana numaralı aygıtları gösterir.
-l, --listÇıktıyı ağaç yerine liste biçiminde verir.
-r, --rawÇıktıyı sütunları hizalamadan raw biçiminde verir.
-i, --asciiAğaç çizgilerini ASCII karakterlerle gösterir.
-s, --inverseBağımlılıkları tersine çevirip diskleri bölümlerin altında gösterir.
-S, --scsiYalnızca SCSI aygıt bilgilerini gösterir.
-t, --topologySektör boyutu ve G/Ç zamanlayıcısı gibi topoloji bilgilerini gösterir.
-m, --permsAygıtların sahibini, grubunu ve izinlerini gösterir.
-x, --sortBelirtilen sütuna göre sıralayıp liste biçiminde gösterir.
-O, --output-allKullanılabilen tüm sütunları gösterir.

🔲 lsblk komutu simülatörü

Aşağıdaki simülatörde şimdiye kadarki komutları kendiniz yazarak çıktının seçeneğe göre nasıl değiştiğini görebilirsiniz.

lsblk Komutu Simülatörüutil-linux 2.37.4
[root@server work]#
Klavyedeki ↑↓ tuşlarıyla daha önce yazdığınız komutları geri çağırabilirsiniz.

🔢 SSS & önerilen içerikler

Normal bir hesapla -f çalıştırıldığında da UUID ve FSAVAIL, root hesabıyla aynı şekilde görüntülendi. lsblk, sysfs ve udev bilgilerini okur. udev bilgisi kullanılamadığında aygıtı doğrudan okuması gerekir, bunun için de root yetkisi gerekir.

Bir aygıt eklendikten veya değiştirildikten hemen sonra udev bilgileri henüz toplamamış olabilir; bu yüzden udevadm settle çalıştırdıktan sonra lsblk'i yeniden çalıştırın.

-a boyutu 0 olan boş aygıtları da gösterir; bu yüzden temel çıktıda eksik aygıt olup olmadığını kontrol ederken kullanılır. Aynı sunucuda -a eklenince hiçbir şey bağlı olmayan 0B boyutunda bir loop aygıtı daha listelendi.

ℹ️ Satış ortaklığı bildirimi
Bu sitenin içeriklerinde satış ortaklığı bağlantıları bulunur. Bir ziyaretçi bu bağlantılar üzerinden ürün veya hizmet satın alırsa bu site satıcıdan komisyon alır. Bu süreçte alıcının ödediği tutar (kampanya indirimlerinde tutar düşer↓) artmaz. Yayımlanan fiyat, indirim ve stok bilgileri yazının yazıldığı zamana aittir ve gerçek durumdan farklı olabilir; bu yüzden satın almadan önce son bilgiyi satıcıdan kontrol etmenizi rica ederiz. Ürünler kendi ölçütlerimize göre seçilir ve değerlendirilir; komisyon alınıp alınmaması tanıtım sırasını veya değerlendirme içeriğini etkilemez.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

İnsan olduğunuzu kanıtlayın: 7   +   7   =