2.7 Başlangıçta
Bu satırları okuduğunuza göre çalışır durumda bir Linux sisteminiz var demektir. Hala silmediniz mi yoksa? Şaka bir yana, büyük badireler atlattınız. Önünüze sayısız engeller çıkabilirdi. Kurarken elektrikler kesilebilirdi, sabit disk çizilebilirdi veya yanlış bölümü formatlayabilirdiniz. Özellikle Linux Slackware dağıtımını kurmak, dökümantasyon olmadan veya hatırlı bir arkadaşın yardımı olmaksızın gerçekten zordur.Bu bölümde Linux'a küçük bir giriş yapılacak, daha sonra da UNIX kullanmayanlar sistemle tanıştıracaktır. Bölüm boyunca yapmanız gereken korkmadan sistem üzerinde kolaylıkla gezinti yapmak ve dosyaları kurcalamaktır.
Önceki bölünde sisteme girebilmek için şifresi olmayan "root" kullanıcıyı kullanmıştınız. Bu kullanıcı sistemde en fazla yetkiye sahip kullanıcı olup sistem görevlisi (sorumlusu) adını alır. Eğer root dışında bir kullanıcı hesabı tanımlanmışsa onu kullanın. Şifre yazıldıktan sonra komut istemcisine, yani kısaca kabuk dediğimiz programa girilir. Şifre yazılırken, başkalarının görmemesi için ekrana basılmaz.
Kullanıcı isimleri veya şifrelerde büyük ve küçük harfler arasında fark vardır. Root, root ve ROOT, farklı kullanıcılara işaret eder. Klavyenin en sağındaki Caps Lock tuşunun yanmadığına emin olun.
Sisteme ilk girişte, aşağıdaki gibi bir satırla karşılaşacaksınız.
Welcome to Linux 1.2.13.linux login: rootpassword:Last login: Thu Feb 13 12:46:35 on tty1Linux 1.2.13.You have mail.linux:~#Genellikle komut istemcisinin sonundaki karakter, root kullanıcısı için #, diğer kullanıcılar için $ olur. Bu karakterden önce de makina ismi yeralır. MS-DOS'ta olduğu gibi burada UNIX komutlarını girebileceğiniz kabuk (shell) üzerindesiniz.Şifreyi değiştirmek için kullanılan komut
passwd 'dir. Bir kullanıcı sadece kendi şifresini değiştirirken root'a herkesin şifresini değiştirme yetkisi verilmiştir. Herhangi bir sistemde hesap şifrenizi unutursanız, bunu sadece root değiştirebilir. Root iken passwd yazın ve enter tuşuna basın. linux:~# passwdChanging password for rootEnter new password: *******Re-type new password: ******Password changed.linux:~# Şifrenizi iyi saklayın. Root şifresini ele geçiren birisi sistemde istediği değişikliği yapabilir. Şifre seçimi için Linux İşletim Sisteminde Güvenlik konu başlığına göz gezdirin.Linux komutları hakkında bilgi almak için
man komutu kullanılır. Eğer kurulum aşamasında man dosyalarının kopyalanması sorusuna olumlu yanıt verilmişse bunlar /usr/man dizini altında bulunurlar. Örneğin passwd komutu hakkında daha detaylı bilgi almak için$ man passwdyazın. Tüm man sayfaları /usr/man dizini altında 8 ayrı dizinde saklanır (man1 .. man8). Bazı komutların man dosyaları birden fazla dizin altında bulunur, bir dosya komut hakkında temel bilgi verirken diğeri sistem programcılarına yönelik olabilir. Örnek olarak mount komutu, hem 2, hem de 8 numaralı man dosyalarıyla birlikte arşivlenmiştir. C programlayıcısı, mount komutuna ulaşmak için$ man 2 mount yazarken normal kullanıcı, $ man 8 mount yazmalıdır. Bunun yanında başlığında belirli bir anahtar sözcüğü içeren tüm man dosyalarını araştırmak için apropos komutu kullanılır.Her komut, bir veya birden çok parametre alabilir. Örnek olarak,
find . -name "*.txt" -printkomutu, bulunduğunuz yerden itibaren tüm dosyaları araştıracak ve bunların arasından sonu .txt ile bitenleri ekrana basacaktır. Parametreler genel olarak "-" işaretleri ve bu işaretten sonra gelen parametre ismi ile belirtilirler.2.8 Linux Komut Yapısı
UNIX ve benzeri işletim sitemlerinde kullanıcının komut yazmasını sağlayan, bu komutları yorumlayarak gerekli işlemleri yapan programlara kabuk (shell) adı verilir. UNIX'te bir kullanıcı bir dizi kabuktan istediğini seçebilir. Kabuklar ile ilgili ayrıntılı bilgi ileride verilecektir. Kullandığınız kabuk ne olursa olsun, gerek kabuktan kaynaklanan, gerekse UNIX komutlarının hepsinin uyduğu bazı standartlardan kaynaklanan bazı geleneksel yapılar vardır. Bunları bilmeniz ilk kez duyduğunuz bir komutun kullanımını bile kolayca çıkarabilmenizin yanı sıra, bir dizi genel hatadan kaçınmanızı da sağlayacaktır.- UNIX'te (ve Linux'ta) bütün komutlar ve dosya isimlerinde büyük/küçük harf ayrımı önemlidir. Sistem komutlarının ve dosyaların çoğu küçük harfle yazılır.
- Komut ve dosya adlarında kullanacağınız bazı karakterlerin gerek dosya ve dizin yapısı, gerekse kabuk ve diğer komutlar nedeniyle bazı özel anlamları vardır. Bu karakterlerden yeri geldikçe söz edilecektir. Örneğin, `/' karakteri hiçbir dosya adında bulunamaz (dosya ve dizinler için ayraç olarak kullanıldığından). `-' ile başlayan bir dosya oluşturulabilir olsa da silmeye kalktığında yeni bir UNIX kullanıcısının başına dert açabilir.
- UNIX'te komutlara seçenek verirken seçenekten önce `-' karakteri kullanılır. Örneğin
ls -l - UNIX komutları tersi istenmedikçe girdilerini standart girdiden (klavye) alır, çıktılarını standart çıktıya (ekran) yazar. Bu özellik ileride anlatılacak olan yönlendirme ve boru (pipe) öperatorleri ile birlikte komut satırından birçok işlemi kolayca yapmanızı sağlar.
- UNIX kabukları komut satırından verilen komutu çalıştırmadan önce bir dizi karakteri yorumlayarak dosya ad(lar)ına çevirirler. Bu karakterler:
- * 0 dahil herhangi bir sayıda karakter yerine geçer. Örneğin
rm *komutu bütün dosyaları siler,ls -l a*komutu `a' ile başlayan dosyaların listesini verir. - ? tek bir karakter yerine geçer. Örneğin
??adı iki karakterden oluşan bütün dosyalar anlamına gelir. - [] karakterleri arasında yazılan liste içindeki herhangi bir harfe dönüştürülür. Örneğin
cp *[abc] /tmpkomutu `a', `b' ya da `c' ile biten bütün dosyaları/tmpdizinine kopyalayacaktır. liste içinde aralarına `-' işareti koyarak aralıklar verebilirsiniz. Örneğin,[A-Z]*büyük harfle başlayan bütün dosyalar anlamına gelir. Liste içindeki `^' karakteri sonrasında belirtilen liste dışındaki bütün karakterler anlamına gelir. Örneğin*[^0-9]*adında rakam olmayan herhangi bir dosya anlamına gelecektir.
2.9 Dosya ve Dizin Yapısı
UNIX altında bazı karakterlerin özel anlamları vardır. Dizin ve dosya isimlerinin başında nokta olması durumunda bu dosyalar gizli dosya haline gelir ve parametresiz yazılanls komutuyla görünmez.Dosya ve dizin isimleri 255 karakteri aşamazlar.
Sisteme girince önceden tanımlanmış bir dizin altında bulunursunuz. Bu dizin normal kullanıcılar için genellikle
/home/ ve ardından gelen kullanıcı dizini ismidir. Bulunduğunuz dizinin ismini görmek için pwd (print working directory) yazın. Temel dosya ve dizin kavramları hakkında detaylı bilgi alabilmek için MS-DOS veya, en iyisi bir UNIX kitabı edinin.$ pwd/home/gorkem$UNIX komut yapısı DOS'a çok benzer. Dizin değiştirmek için cd , dizin yaratmak için mkdir komutlarını sistemde sıkça kullanılır. $ cd /$ pwd /Hiyerarşik bir sıraya sahip olan UNIX'te en üstte / dizini (kök dizin) yeralır. Sistemdeki tüm diğer dosya ve dizinler bunun altında toplanırlar. ~işareti, kullanıcının ev dizinini gösterir. Ev dizinine geçin ve
mkdir komutu ile benim isimli bir dizin yaratın. Dizini patikasını, bir başka deyişle kök dizininden itibaren ismini vererek de yaratabilirsiniz. $ cd ~$ pwd/home/gorkem$ mkdir /home/gorkem/benimDosya Listesi ve İçeriklerinin Görüntülenmesi
Dosya ve dizinleri görebilmek içinls komutu kullanılır. Parametresiz yazarak bulunduğunuz dizin hakkında bilgi alın. Linux altında değişik uzantılı dosyalar okunabilirliği artırmak amacıyla farklı renkte görülecektir. /etc/DIR_COLORS dosyası, dosya renklerini ayarlar. Bu dosyayı değiştirerek belirli dosyalar için istenilen renkleri göstermesini sağlayabilirsiniz.linux:~$ lsREADME article.txt mail typescriptadres linux perlls komutu -a parametresiyle birlikte kullanılırsa normalde görükmeyen ve nokta karakteriyle başlayan dosya ve dizinler de görükür.linux:~$ ls -a. .bashrc .term article.txt typescript.. .kermrc .xinitrc linux.Xdefaults .less README mail.bash_history .lessrc adres perl-l parametresi de dosyalar hakkında tüm bilgiyi verir. Bunlar, dosyanın sahibi, ne zaman yaratıldığı, sahibi ve grubu gibi bilgilerdir. Dosya izinleri hakkında daha geniş bilgi bir sonraki bölümde verilmiştir.linux:~$ ls -altotal 91drwxr-xr-x 6 gorkem users 1024 Feb 13 12:56 .drwxr-xr-x 4 root root 1024 Jan 7 1980 ..-rw-r--r-- 1 gorkem users 390 Feb 13 12:56 .Xdefaults-rw-r--r-- 1 gorkem ftpadm 230 Feb 13 12:57 .bash_history-rw-r--r-- 1 gorkem users 1 Feb 13 12:57 .bashrc-rw-r--r-- 1 gorkem users 163 Nov 24 1993 .kermrc-rw-r--r-- 1 gorkem users 34 Nov 24 1993 .less-rw-r--r-- 1 gorkem users 114 Nov 24 1993 .lessrcdrwxr-xr-x 2 gorkem users 1024 Jan 7 1980 .term-rw-r--r-- 1 gorkem users 87 Feb 13 12:56 .xinitrc-rw-r--r-- 1 gorkem users 26264 Feb 13 12:53 README-rw-r--r-- 1 gorkem users 2795 Feb 13 12:55 adres-rw-r--r-- 1 gorkem users 47970 Feb 13 12:53 article.txtdrwxr-xr-x 2 gorkem users 1024 Feb 13 12:54 linuxdrwxr-xr-x 2 gorkem users 1024 Feb 13 12:54 maildrwxr-xr-x 2 gorkem users 1024 Feb 13 12:54 perl-rw-r--r-- 1 gorkem users 0 Feb 13 12:57 typescriptYukarıda her iki parametrenin de birleştirilerek birlikte kullanımı yeralmaktadır. Dosyaların içeriklerini görmek için kullanılan birkaç komuttan en pratiği less'tir. Ok tuşları ile dosya içinde hareket edebilir ve q karakteri ile dosyadan çıkarsınız. Dosyanın içeriği birden fazla sayfadan ibaretse dosya sayfalar halinde ekrana gelir. Tüm dosyayı ekrana basmak için cat kullanın.$ cat READMEBir dosyanın başından veya sonundan itibaren belirli miktarda satırı ekrana getirmek de mümkündür. Bunun için head ve tail komutları kullanıcının hizmetine sunulmuştur.linux:~$ head -6 README (dosyanin ilk 6 satirini ekrana basar)This is the README file for the 28 August 1994 public release of theInfo-ZIP group's portable UnZip zipfile-extraction program (and relatedutilities).unzip512.zip portable UnZip, version 5.12, source code distributionunzip512.tar.Z same as above, but compress'd tar formatlinux:~$ tail -3 README (dosyanin son 3 satirini ekrana getirir)-- Greg Roelofs (Cave Newt), UnZip maintainer/container/explainer and developer guy, with inspiration from David KirschbaumDosyaların Kopyalanması
Dosyaları kopyalamak içincp ve bir yerden başka bir dizine almak için mv komutu kullanılır. mv komutu, aynı zamanda dosya isimlerini değiştirmek üzere de işletilebilir.linux:~$ cp article.txt /tmp (article.txt isimli dosyayi /tmp dizinine kopyala)linux:~$ mv article.txt /tmp/article (article.txt isimli dosyayi /tmp dizini altina ismini article olarak degistirerek koyKopyalama işlemi sadece dosyalar üzerinde değil, dizinler üzerinde de yapılabilir. Farklı dosya sistemleri üzerinde olmamak kaydıyla bir dizin ve altındaki herşeyi, başka bir dizine kopyalayabilir veya hareket ettirebilirsiniz. Kopyalarken bu işlem için -R parametresi kullanılır, mv komutu için -r parametresine gerek yoktur.$ cp -R /home/gorkem/temp /tmp (/home/gorkem/temp dizinini ve icindeki her dosyayi /tmp altina kopyala)$ mv article.txt ~/benim (article.txt isimli dosyayi calisma dizini altindaki benim dizinine kopyala)Dosyaların Silinmesi
Bir daha kullanılmayacak olan dosyalar,rm komutuyla silinebilir. Dosyaları silerken iki kere düşünün, zira Linux altında silinen bir dosyanın geri dönüşü olmaz. Eğer bu tür hataları çok yapıyorsanız rm komutunu -i parametresi ile birlikte kullanın, bu sayede Linux, dosyayı silmeden önce kullanıcının da onayını alır.linux:~$ rm -i READMErm: remove `README'? y (sileyim mi ?)linux:~$ Eğer dosya ismi - karakteri ile başlıyor ise, rm komutunu kullandığınız zaman dosya ismi bir parametre olarak algılanacak ve hata verecektir. Bunun için dosya isminden önce -- karakterlerini yerleştirin.linux:~$ rm -- -dosyaBir dizin, boş iken rmdir komutu ile silinebilir, eğer boş değilse bu komut işe yaramaz. Onun yerine rm komutunu -r parametresiyle kullanın.linux:~$ rm mail rm: mail: is a directorylinux:~$ rm -rf linux/ (linux dizinini icindekilerle birlikte silinir)-f parametresi ile kullanıcının onayını almadan tüm dosyaları tek adımda silmek mümkündür. Bulunduğunuz dizindeki tüm dosyaları silmek için * karakterini kullanın.$ rm *

Hiç yorum yok:
Yorum Gönder