Linux'da disk yönetimi için birçok kullanımı kolay komut bulunmaktadır. Bunları farklı gruplar halinde ekleyeceğim. İlk önce en sık kullanılan ve gerekirse dövmesini yaptıracak kadar bilmeniz gereken komutlar gelecek.

En Sık Kullanılan Temel Disk Komutları

Df Komutu

df komutu, sistemdeki dosya sistemlerinin kullanım durumunu gösterir. Bu komutu kullanmak için en sık kullanılan parametreler şunlardır:

-h: Bu parametre, verileri okunabilir bir şekilde gösterir. Örneğin, MB ve GB gibi birimler kullanılır.

-T: Bu parametre, dosya sistemlerinin türlerini gösterir. Örneğin, ext4, ntfs veya xfs gibi.

-x: Bu parametre ile belirtilen dosya sistemlerini göstermez.

--total: Bu parametre, tüm dosya sistemlerinin toplam kullanımını gösterir.

Örnek olarak, df -hT --total komutu tüm dosya sistemlerinin türlerini ve okunabilir bir şekilde kullanım durumlarını gösterir ve tüm dosya sistemlerinin toplam kullanımını da ekler.

df -h | grep ^/dev komutunu kullanarak /dev klasörüne bağlı cihazları ve bölümlendirmelerinizi görebilirsiniz. 

df -h --output=source,fstype,size,used,avail,pcent,target -x tmpfs -x devtmpfs komutu, diske yazılı olan dosya sistemlerinin kullanım durumlarını gösterir. Bu komut, aşağıdaki bilgileri gösterir:

  • source: Dosya sisteminin kaynak cihazı. Örneğin, /dev/sda1 gibi.
  • fstype: Dosya sisteminin türü. Örneğin, ext4 gibi.
  • size: Dosya sisteminin toplam boyutu.
  • used: Dosya sisteminde kullanılan alan.
  • avail: Dosya sisteminde kullanılabilir alan.
  • pcent: Dosya sisteminde kullanılan alanın yüzdesi.
  • target: Dosya sisteminin monte edildiği dizin.

Bu komut, tmpfs ve devtmpfs (?) gibi RAM belleğinde oluşturulan dosya sistemlerini göstermez.

Du Komutu 

du komutu, bir dizin ve alt dizinlerinde kapladığı alanı gösterir. Bu komutu kullanmak için en sık kullanılan parametreler şunlardır:

-h: Bu parametre, verileri okunabilir bir şekilde gösterir. Örneğin, MB ve GB gibi birimler kullanılır.

-s: Bu parametre, belirtilen dizinin kapladığı alanı gösterir ve alt dizinlerini göstermez.

-c: Bu parametre, tüm dizinlerin kapladığı toplam alanı gösterir.

 Örnek olarak, du -hsc /mnt komutu /mnt dizininin kapladığı alanı ve alt dizinlerinin kapladığı toplam alanı gösterir. Bu komutu denerken Rammstein'la birlikte Du Hast Miş Gefrağğt diye böğürmek harika hissettirir.

Fdisk Komutu

fdisk komutu, bir diskin bölümlerini oluşturmak, silmek ve değiştirmek için kullanılır. Bu işlemleri yaparken, diskin bölüm tablosunu değiştirir ve bu değişiklikler sistem açılışında uygulanır.

fdisk -l komutu ile sistemde çalışan tüm diskleri görüntüleyebilirsiniz.

fdisk komutunu kullanmak için, bir diskin dosya adını vererek süreç başlatabilirsiniz. Örneğin, fdisk /dev/sda komutu /dev/sda diski için sizden bir girdi beklemeye başlar. Daha sonra, aşağıdaki fdisk komutlarından birini kullanarak istediğiniz işlemi yapabilirsiniz:

  • p: Mevcut bölümleri gösterir.
  • n: Yeni bir bölüm oluşturur.
  • d: Bir bölümü siler.
  • t: Bir bölümün türünü değiştirir.
  • w: Değişiklikleri diske yazar.

fdisk komutunu kullanırken dikkat etmeniz gereken bazı noktalar şunlardır:

  • fdisk komutunu kullanarak diski tamamen silinemez veya bölümlerinin boyutları sıfırlanamaz. Bu işlemleri yapmak için, gparted gibi başka araçlar kullanılabilir.
  • fdisk komutunu kullanarak diski bölümlerini değiştirirken dikkatli olmalısınız, çünkü bu işlemler geri alınamaz.  Özellikle, diskin boot bölümünü silmemek veya değiştirmemek önemlidir, çünkü boot bölümü, sistem açılışı sırasında kullanılır ve sistem açılışını etkileyebilir.

fdisk kullanmak kolay değildir. Çok dikkatli olmalısınız. Disk oluşturma, silme işlemleri için yine terminal üzerinde interaktif ve daha basit kullanımı olan cfdisk'i kullanmanızı tavsiye ederim.

Blkid Komutu

blkid komutu, sistemde bulunan bölümlerin (partition) UUID (universally unique identifier - evrensel benzersiz tanımlayıcı) (?) ve türlerini listeleyen bir Linux komutudur. Örneğin, sistemde bulunan tüm disketleri (diskler, USB bellekler gibi) ve bu disketlerin hangi tür dosya sistemiyle bölümlere ayrıldığını gösterir.

Aşağıdaki gibi bir çıktı örneği verilebilir:

/dev/sda1: UUID="48c3-1234" TYPE="vfat"
/dev/sda2: UUID="b9a7-56e3" TYPE="ext4"
/dev/sda3: UUID="c7a2-f8b9" TYPE="swap"

Bu çıktıda, /dev/sda1 bölümü vfat dosya sistemi ile bölünmüş ve UUID'si "48c3-1234" olarak belirtilmiştir. Benzer şekilde, /dev/sda2 bölümü ext4 dosya sistemi ile bölünmüş ve UUID'si "b9a7-56e3" olarak belirtilmiştir.

blkid komutunun çıktısı, sistemde bulunan bölümlerin hangi dosya sistemiyle bölündüğünü tespit etmek ve bu bölümlerin UUID'sini öğrenmek için kullanılabilir. Ayrıca, sistemde bulunan bir bölümün UUID'sini değiştirme işlemini de blkid komutu ile gerçekleştirebilirsiniz.

Diğer Disk Komutları

Biraz hızlanalım. Detayları -h veya --help parametreleriyle görebileceğiniz için hızlıca sık kullanılan diğer komutların tanımlarına bakalım;

mount: Bu komut, bir diski sisteme bağlamak için kullanılır. Örneğin, mount /dev/sda1 /mnt komutu /dev/sda1 bölümünü /mnt dizinine bağlar.

umount: Bu komut, bir diski sistemden çıkarmak için kullanılır. Örneğin, umount /dev/sda1 komutu /dev/sda1 bölümünü sistemden çıkarır.

mkfs: Bu komut, bir diski bir dosya sistemi olarak formatlamak için kullanılır. Örneğin, mkfs.ext4 /dev/sda1 komutu /dev/sda1 bölümünü ext4 dosya sistemi ile formatlar.

lsblk: Bu komut, sistemde mevcut olan blok cihazların (disklerin) listesini gösterir.

hdparm: Bu komut, bir diski performansını ve diğer özelliklerini göstermek ve değiştirmek için kullanılır.

smartctl: Bu komut, bir diskin S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology) verilerini göstermek ve test etmek için kullanılır. S.M.A.R.T., bir diskin ömrünü tahmin etmek ve potansiyel hataları tespit etmek için kullanılan bir teknolojidir.

gparted: Bu bir grafiksel arayüzlü araçtır ve diskleri bölümleme, bölümleri redimi, dosya sistemlerini oluşturma ve diğer disk yönetim işlemlerini yapmak için kullanılır.

fstab: Bu dosya, sistemde hangi cihazların otomatik olarak monte edileceğini belirtir. /etc/fstab dosyasını düzenleyerek, sistem açılışında otomatik olarak monte edilmek istediğiniz cihazları belirleyebilirsiniz.

parted: Bu komut, bir diski bölümlerine ayırmak ve mevcut bölümleri düzenlemek için kullanılır. Bu komut, fdisk komutunun bir alternatifidir ve daha gelişmiş seçenekler sunar.

sysfs: Bu dosya sistemi, sistemde mevcut olan cihazların bilgilerini tutar. Örneğin, /sys/block dizini altında diskin bilgilerine ulaşabilirsiniz.

mdadm: Bu komut, RAID (Redundant Array of Independent Disks) sistemlerini yönetmek için kullanılır. RAID, birkaç diskten oluşan bir veri koruma sistemidir ve diskler arasında veri çoğaltılarak veri kaybını önler.

pvcreate, vgcreate, lvcreate: Bu komutlar, LVM (Logical Volume Manager) sistemlerini kurmak için kullanılır. LVM, bir veya daha fazla fiziksel diski bir veya daha fazla mantıksal diske dönüştürür ve bu sayede diskler arasında veri taşıma ve bölümleme işlemleri daha kolay hale gelir.

badblocks: Bu komut, bir diskin hatalı alanlarını tarar ve bulunan hatalı alanların listesini döndürür. Bu komut, diskin ömrünü tahmin etmek ve potansiyel hataları tespit etmek için kullanılabilir.

fsck: Bu komut, bir dosya sistemini tarar ve hatalı dosyaları düzeltir. Sistem açılışında otomatik olarak çalıştırılır ve sistemdeki dosya sistemlerinin sağlıklı olduğundan emin olmak için kullanılır.

resize2fs: Bu komut, bir ext2, ext3 veya ext4 dosya sistemini yeniden boyutlandırır. Örneğin, resize2fs /dev/sda1 100G komutu /dev/sda1 bölümünü 100 GB'a yeniden boyutlandırır.

ntfsresize: Bu komut, bir ntfs dosya sistemini yeniden boyutlandırır. Örneğin, ntfsresize --size 100G /dev/sda1 komutu /dev/sda1 bölümünü 100 GB'a yeniden boyutlandırır.

xfs_growfs: Bu komut, bir xfs dosya sistemini yeniden boyutlandırır. Örneğin, xfs_growfs /dev/sda1 komutu /dev/sda1 bölümünü mümkün olan en büyük boyuta yeniden boyutlandırır.

dd: Bu komut, dosyaları ve cihazları kopyalamak veya bir cihazdan başka bir cihaza veri aktarımı yapmak için kullanılır. Örneğin, dd if=/dev/sda of=disk_image.img bs=1M komutu /dev/sda cihazındaki verileri disk_image.img dosyasına kopyalar.

cp: Bu komut, dosyaları ve dizinleri kopyalamak için kullanılır. Örneğin, cp file.txt /mnt/backup komutu file.txt dosyasını /mnt/backup dizinine kopyalar.

rsync: Bu komut, dosyaları ve dizinleri bir kaynak dizinden bir hedef dizine kopyalamak için kullanılır. Bu komut, cp komutundan daha gelişmiş özelliklere sahiptir ve dosyalar arasında değişiklikleri tespit ederek sadece değişen dosyaları kopyalar. Örneğin, rsync -av /home/user/documents /mnt/backup komutu /home/user/documents dizinindeki dosyaları /mnt/backup dizinine kopyalar.