Unix / Linux dosya sistemi hiyerarşisi, işletim sisteminde yeni olanlar için oldukça yıldırıcı görünebilir. Başladığımızda bizim için de öyleydi. Ancak bu gizemli dosya sistemi o kadar da gizemli değil; dizin adlarıyla birlikte gitmek için biraz açıklamaya ihtiyacımız var.
Linux harika bir işletim sistemidir. Tek kartlı sistemden süper bilgisayara kadar her şeyde çalışır. Ancak Windows ortamından taşınan kullanıcılar için dosya sistemi göz korkutucu olabilir. Linux, oyun için popülerlik kazanıyor, büyük ölçüde Buhar Güverte. Ama bilgisayar gibi Ahududu Pi Linux’u yeni bir nesle tanıtıyor.
Şimdi modern bir kurulumda bulunan tipik bir Linux dosya sistemine bir göz atalım. Kubuntu 22.04 kullanıyoruz ancak dizin yapısı bir Raspberry Pi ve bir veri merkezi için aynı olacaktır.
/ | Diğer tüm dizinlerin bulunduğu kök dizin. |
çöp Kutusu | Sistem için gerekli olan temel komutlar (ikili dosyalar) burada tutulur. |
bot | Önyükleyici dosyaları (çekirdek, grub, initrd). |
dev | Cihaz dosyalarına bağlantılar (sabit sürücüler, USB cihazları). |
vb | Belirli yapılandırma dosyalarını barındırın. |
ev | Kullanıcılar için ev dizini. |
kitap | İkili dosyalar için kitaplıklar |
kayıp+bulundu | Bir disk işleminde silinen veya kaybolan dosyaları içerir. |
medya | Çıkarılabilir medya (CD / DVD / USB) için bağlantı noktaları |
mnt | Geçici bağlama noktası |
tercih | Eklenti uygulama yazılım paketleri |
işlem | İşlemler ve çekirdek için sanal dosya sistemi. |
kök | Kök kullanıcı için ev dizini |
Çalıştırmak | Çalışma zamanı değişken verileri. Son önyüklemeden bu yana çalışan sistem hakkında bilgi. |
sbin | Temel sistem ikili dosyaları. |
srv | Web / FTP sunucuları için özel veriler. |
sistem | Aygıt, sürücüler ve çekirdek bilgilerini içerir. |
tmp | Geçici dosyalar burada saklanır. |
usr | Tüm kullanıcılar için komutlar ve uygulamalar içerir. İkincil hiyerarşi, salt okunur erişim. |
var | Değişken dosyalar, sıklıkla değişmesi beklenen dosyalar. Örneğin, günlük dosyaları. |
Kök var mı?
UNIX dosya sisteminin başlangıç noktası, genellikle / olarak adlandırılan kök dizindir. Bu, sistemimizdeki her dizin için başlangıçtır ve genellikle yalnızca root veya sudo grubundaki bir kullanıcı bu dizine herhangi bir şey yazabilir. Bu dizindeki dosyaların çoğu (varsa) yalnızca diğer kullanıcılar tarafından okunur. Kök kullanıcının, işleri için gerekli dosya ve dizinlerin bulunabileceği kendi ana dizini vardır.
Kök dizinden ikili dosyaların kısaltması olan bin’e geçiyoruz. Bu dizinde mutlak gerekli komutları bulabiliriz. gibi komutları görebiliriz. kedi, grep, ls, daha az vb. Bu dizin genellikle olduğu gibi tutulur; sistemimizi kullanılamaz hale getirebileceği için burada bulunan herhangi bir dosyayı aramıza yüklemek istemiyoruz.
İkili Dosyalar, Uygulamalar ve Yardımcı Programlar
Dosya sistemi, komutlar ve uygulamalar için birçok konuma sahiptir.
Sahip olduğumuz kritik komutlar ve yardımcı programlar için çöp Kutusu. Bu dizin, terminalde kullandığımız komutların çoğunu içerir. ls, cp, mv. Ubuntu masaüstümüzde, yalnızca bu dizinde 2453 ikili dosyamız var! bu çöp Kutusu dizin, kullanılabilir bir Linux ortamına sahip olmak için ihtiyacımız olan her şeye sahiptir. Dizin ayrıca, tek kullanıcı modunda (tek bir süper kullanıcının kurulumu sürdürdüğü bir mod) çalışırken gerekli araçlar da dahil olmak üzere, sistemi korumak için ihtiyaç duyduğumuz araçları içerir. Bu nedenle, büyük ölçüde ayrılıyoruz çöp Kutusu tek başına yanlış bir tuşa basma sistemi çökertebilir.
Komutlar için başka bir konum sbin ve burası kesinlikle gerekli komutların bulunduğu yerdir. Günah sbin “süper kullanıcı”, bir kök kullanıcı veya sudo ayrıcalıklarına sahip bir kullanıcı anlamına gelir. Bu komutlar yalnızca ayrıcalıklı kullanıcılar içindir ve dizin, dosya sistemleri, ağ oluşturma ve arka plan hizmetleri ile çalışmak için araçlar içerir.
Terminalde kendi uygulamalarımızı kullanmak istersek ne olur? Onları içine bırakabilir miyiz çöp kutusu veya sbin? Cevap hayır. Bu dizinler olduğu gibi bırakılmalıdır. Uygulamalarımız şurada yer almalıdır: /usr/yerel/bin veya /usr/bin/ böylece diğer dizinlerle karışmazlar. Kendi uygulamalarımızı depolamak için başka bir konum /seç/. Nispeten az sayıda uygulama bu dizini kullanır. Test makinemizde Google Chrome, Balena’s Etcher ve Zoom için dizinler bulduk.
Gizemli Dizinler
Linux’a yeni başlayanların “Bu dizin ne işe yarıyor?” diye merak etmesine neden olabilecek epeyce dizin var. Bu kutsal listede ilk sırada vb. “et-see” olarak telaffuz edilir, vb dizin, makinenize özel yapılandırma dosyalarını içerir. Burada, Common Unix Print Service (bardaklar), sensörler (sıcaklık) ve cron (belirlenen zamanlarda çalışacak zamanlama komutları) için yapılandırma dosyaları buluyoruz.
bu dev dizin, cihazların bulunduğu yerdir. Linux, fiziksel cihazlar da dahil olmak üzere her şeye bir dosya gibi davranır ve bu dizin onları bulabileceğimiz yerdir. Diskler, girişler ve seri konsollar (/dev/tty) gibi aygıtlar burada bulunur. Deneyimlerimizde bu dizini, Raspberry Pi Pico ve diğer mikrodenetleyiciler gibi aygıtlar için USB’den Seri’ye arayüzleri bulmak için kullandık.
Kütüphanelerin kısaltması, kitap sistemi çalıştırmak için gerekli kitaplıkları bulabileceğimiz yerdir. Burada, sistemimiz için çekirdek kitaplıkları ve diğer gerekli dosyaları bulabiliriz. Kitaplıklar, Windows DLL dosyalarına benzer şekilde çalışır.
Gizemli bir şekilde adlandırılan bir dizin, “kayıp+bulundu”, bir otobüs terminalinde evde daha çok ses çıkarır. Ancak bu dizin, eski/eksik verilerin tutulduğu yerdir. Planlanmamış bir güç kaybı, hata veya hatadan sonra verileri yeniden yapılandırmamız gerekirse, fsck ile birlikte kayıp+bulundu.
Kısa Süreçler, proc proc dosya sistemi için bir bağlama noktasıdır. Bu dizinin tamamı, geçerli çalışan işlemlerle ilgili bilgileri gösteren dosyaları içerir. Her işlem, aşağıdaki gibi bir komut çalıştırarak tanımlayabileceğimiz bir PID olarak numaralandırılmıştır. üst, htop, ps veya bpytop. Chrome tarayıcı sürecimizi tanımlamak için top’u kullandık, ardından dizini sürece dönüştürmek için PID’yi kullandık. Kullanmak işlem dizinde çalışan süreçleri keşfedebilir, sorunları, bilgileri inceleyebilir ve çalışan işlemlerden veri ayıklayabiliriz.
bu Çalıştırmak dizin, başlatıldığından beri sistem hakkında bilgi içerir. Otomatik veya kullanıcı tarafından başlatılan herhangi bir komut, burada bir iz bırakacaktır. Örneğin, bu özelliği yazarken kullandık dikizlemek ekranımızın bir kısmını kaydetmek için. İçinde Çalıştırmak dizini, uygulama verilerini içeren ilgili alt dizini bulduk.
Tipik olarak siteye özel veriler için kullanılır, srv belirli bir hizmet için veri dosyalarını depolamak için kullanılır. Web sayfaları sunuyorsanız, bu dizinden CGI betikleri kullanılabilir. Test sistemimizde herhangi bir web servisi çalıştırmadığımız için bu dizin boştur.
Benzer şekilde çalışan işlem, sistem çekirdek hakkında bilgi depolayan bir dizindir. Sistem veriyolları, cihazlar, donanım yazılımı vb. için bir dizi dizinde yapılandırılmış, bununla yaptığımız gibi ham PID’leri bulmakla çalışmak daha kolaydır. işlem.
İçinde tmp dizin, geçici dosya ve dizinlerin bir koleksiyonudur. Bu dosyalar ve dizinler haber verilmeksizin silinebilir, bu nedenle bu dizini yalnızca artık ihtiyacınız olmayan veriler için kullandığınızdan emin olun. ile bir numara tmp kurulum dosyalarını indirdiğimizde, bunları tmp ve kurulumu çalıştırmak, kullanımdan sonra kurulum dosyalarını temizleme konusunda endişelenmemize gerek olmadığı anlamına gelir.
peki ne yapar usr içermek? İyi, usr Linux dosya sistemindeki en önemli dizinlerden biridir. Burada, tüm kullanıcı arazisinin (çekirdeğin dışında çalışan kod) bulunduğunu görüyoruz. bu /usr/bin/ alt dizin, günlük olarak kullandığımız birçok komutu içerir. Diğer alt dizinler, kullanıcı-arazi uygulamaları için kitaplıklar içerir (/usr/lib), yazı tipleri ve simgeler gibi paylaşılan dosyalar (/usr/paylaş) ve içerdiği Linux çekirdek kaynak dosyaları /usr/src/.
Gizemli bir şekilde adlandırılmış son dizinimiz var. Bu dizin, boyutu düzenli olarak değişebilen dosyaların bulunduğu yerdir. kullanarak bir web sitesine hizmet vermek yaygın olduğundan, web yöneticileri bu dizine aşina olacaktır. /var/www/. bu var dizin aynı zamanda günlük dosyalarının evidir (/var/günlük). Bir şeyler ters giderse, bakılacak dizin budur. dpkg veya apt kullanarak uygulama yüklemenin ayrıntılarını günlüğe kaydetmek için kullanılan çekirdek günlüklerini, sistem günlüklerini ve dpkg günlüğünü inceleyebiliriz. Aslında, uygun kendi alt dizini vardır, /var/log/uygunterm.log ve history.log’u içeren . Bu dosyalar, apt kullanılarak yüklenen uygulamaları gösterir. Bu özellik için yüklediğimiz iki uygulamayı tespit ettik: ağaçhiyerarşiyi haritalamak için kullandığımız ve pv içeriğini listelemenin çıktısını yavaşlatmak için kullandık. çöp Kutusu dizin.
Ev gibisi yok (dizin)
Her kullanıcının kendi ana dizini vardır. Belgelerini, işlerini, videolarını vb. depolayabilecekleri bir alan. Genellikle kullanıcılar, ana dosya sistemine asla sapmadan yalnızca ana dizinlerini kullanır. Bir uygulama, kullanıcıya özel bir konfigürasyon gerektiriyorsa, birkaç gizli dizinden birine kaydedilecektir. “.” ile başlayan dizinler. genel görünümden gizlenirler, ancak bunları kullanarak görebiliriz. ls üç argümanla birlikte komut. İlk olarak -l ve bu, verilerin bir liste olarak görüntülenmesini sağlar. Sıradaki -h, bir insanın kolayca anlayabileceği değerleri kullanarak verileri biçimlendiren (2048MB, 2GB olur vb.). Sonunda -a argüman tüm dosyaları, hatta gizli dosyaları gösterir.
ls -lha
Linux dosya sistemi hiyerarşinizin bir görünümünü elde etmek için ağaç emretmek. Tahmin edebileceğiniz gibi, ağaç komutu, dosya sistemlerinin içeriğini ağaç benzeri bir yapıda listeler.
1. Bir terminal açın ve yazılım havuzlarınızı güncelleyin.
sudo apt update
2. apt paket yöneticisini kullanarak ağacı kurun.
sudo apt install tree
3. Linux dosya sisteminizin yapısını görüntülemek için ağacı kullanın. Çıktıyı sadece bir seviye ile sınırlayacağız (-L1) ve yalnızca dizinler (-d) ve başlangıç noktasını kökümüz olarak ayarlayın /.
tree -d -L 1
DAHA FAZLA: Linux’ta Disk Kullanımı Nasıl Kontrol Edilir
DAHA FAZLA: Linux’ta Bir İşlem Nasıl Öldürülür
DAHA FAZLA: Linux’ta Dosyalar Nasıl Bulunur?