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.