Temel Linux

Temel Linux

Linux/UNIX isletim sistemini asagidaki gibi bir tür piramit olarak degerlendirebiliriz. Piramidin en alt kısmı islemci, bellek, sabit disk gibi fiziksel parçalardan (hardware) oluşur. Fiziksel parçaların üzerinde Linux/UNIX isletim sistemi çalişır. Isletim sisteminin görevi fiziksel parçalari kontrollü bir şekilde çalıstırmasının yanında, çalışan diğer bütün programlar için sistem çağrıları (system calls) ara yüzeyi sağlamaktır. Sistem çagrılari kullaniciya dosya, süreç (process) ve diger kaynakları oluşturma ve onlar üzerinde işlem yapma imkanını sağlar.

İsletim-sistemi.png

1-Dosya Sistemi, Yapısı ve Temel komutları

Dosya, çevre bellek üzerinde (disk, disket, CD vb.), kendisine bir isim verilmiş olan bağımsızbir bilgi gurubudur. Linux’ ta bir dosya, ismi ve bulunduğu dizin ile belirlenir. Doğal olarakaynı dizin içerisinde belirli bir isimde sadece bir tane dosya bulunabilir. Aynı isim fakat farklıiçerikte dosyalar oluşturmak istiyorsanız bunları farklı dizinlere koymalısınız. Dizin kavramıise bildiğiniz gibi, disk içinde belirli bir isimle tanımlanmış disk bölgesi anlamındadır. Bu konulara yeni başlayanlar genellikle dosya ve dizin kavramını karıştırırlar. Bir dizin içerisindeçok sayıda dizin ve dosya bulunabilir fakat dosya içerisinde dizin bulunmaz.
En Sık Karşılaşacağınız Dosya Türleri 
Bilgisayar ortamında çok çeşitli tipte dosyalarla karşılaşmak söz konusudur. Bunlardan enyaygın olarak karşılaşılabilecek olanları aşağıdaki sınıflarda toplamak mümkündür.
1) Sistem Dosyaları
Bunlar bilgisayar sisteminin işletimi ile ilgili dosyalarıdır. Genellikle bu tür dosyalar Linuxişletim sisteminin okuyarak sistem işletimi için kullandığı metin tipinde dosyalardır. Linuxsistem sorumlusu bu tür sistem dosyalarının güncellenmesinden sorumludur. Örneğin sistemeyeni bir kullanıcı eklense yada sistemden yani bir kullanıcı çıksa kullanıcı sistem dosyasınıngüncellenmesi gerekir.
2) Kullanıcı Veri Dosyaları
Bu tip dosyalar, linux işletim sistemini kullanan kullanıcıların oluşturduğu yada güncellediğidosyalardır. Bunlarda metin tipi dosyalardır. Sayısal yada alfabetik bilgi içerir.
3) İcra Edilebilir(executable) Dosyalar
Bu tip dosyalar ise, bilgisayarda doğrudan doğruya çalıştırılabilecek komut içerirler. Belirliamaç için oluşturulmuş komut kümesine program adı veriyoruz. İcra edilebilir dosyalar buanlamda program dosyalarıdır. Bunların oluşturulması yada üzerinde değişiklik yapılması özelyazılım ürünleri sayesinde mümkündür.Linux dizin yapısı, hiyerarşik düzendedir. En tepede “/” ile gösterilen kök dizin (root) vardır,diğer tüm dizin ve dosyalar bunun altındadır. Bu dosyalardan önemli olanlara bir göz atalım:
(/)Kök Dizini içinde 
;
/bin Temel komut binary dosyaları.
/boot Sistemin boot edilmesi için gerekli değişmez veriler.
/dev Cihazların bulunduğu dosyalar.
/etc Local sistemimiz için gerekli sistem dosyaları.
/home Kullanıcı dizinleri.
/lib Paylaştırılmış kütüphaneler.
/mnt Geçici bağlantı noktası.
/proc Dosya Sisteminin Process (işlem) bilgileri.
/root ‘root’ kullanıcısının kök dizini./td>
/sbin Önemli sistem çalıştırılabilir dosyaları.
/tmp Geçici saklama alanı.
/usr İkincil ana hiyerarşi (uygulama programlarını içerir)
/var Değişken veri bölgesi.
Dosya isimleri 255 karakteri aşamaz. Tüm büyük harfler (A-Z), küçük harfler (a-z), rakamlar(0-9) ve noktalama işaretlerinden bir bölümü(.,_ -) dosya ve dizin isimlendirirken kullanılabilir. Dosya isimlerinde aşağıdaki karakterler ise kullanılamaz;
< > ? ? * { } [ ] ( ) ^ ! \ | & $ ? ~ 
1.1- Linux’ta Dizinler (Directories)
Diğer işletim sistemlerinde olduğu gibi Linux’ta da, disk, kendine isim verilmiş bir takımbölgelere ayrılır. Bu isimlendirilmiş bölgelere dizin(directory) ismi verilmektedir. Bir diziniçine belirli bir konu ile ilgili çok sayıda dosya konulabilir. Ayrıca bir dizin başka bazı dizinleride içerebilir. Bir dizinin içerdiği bu dizinlere, o dizine ait alt dizin(subdirectories) adı verilmektedir.
Linux’ta, diskteki diğer bütün dizinleri içeren dizine kök(root) dizin adı verilir. Bir diskiçerisinde bir tane kök dizin bulunabileceği yukarıdaki tanımdan anlaşılmaktadır. Kök dizineebeveyn dizin (parent directory) adı da verilir. Kök dizin altındaki alt dizinlerde kendilerinebağlı alt dizinler içerebilir ve bu yapı belirli bir derinliğe kadar sürebilir. Kök dizin ve onunaltındaki alt dizin guruplarından oluşan yapıya ağaç yapısı(tree structure)adı verilmektedir.
1.1.1- Dizinler Nasıl İsimlendirilir?
Linux’ta dizinlere isim vermek için geçerli kurallar dosyaları isimlendirme kuralı ile aynıdır.Linux dizin isimlerinin uzunluklarında 256 karaktere kadar dizin isimlerini kabul etmektedir.Dizin isimlerinin oluşturulmasında küçük ve büyük harfler, rakamlar ve “’” gibi, “_”gibi yada“.” gibi diğer karakterler kullanılabilir. Bunlarla beraber, dizin isimleri içerisinde, *,?,\ veboşluk karakterleri gibi karakterler yer almaz: çünkü bu karakterlerin her birinin Linux kabuğu(shell) içinde özel anlamları vardır. Bir dizin içerisinde bulunan diğer dizinleri veya dosyalarıbelirtmek için / sembolü kullanılır. Örneğin;
/usr/fahri

 

ifadesi, fahri’ın usr dizini içinde olduğunu anlatmaktadır. Bu tür bir ifadede fahri’ınbir dizin mi yoksa bir dosya mı olduğu tam olarak anlaşılamaz ancak usr ‘in dizin olduğukesindir çünkü başka bir dizin yada dosyayı içermektedir. Kök dizin, isim vermeksizin /sembolü ile belirlenir. / sembolünden önce bir isim belirtilmemişse bu durumda / sembolü kökdizini simgelemektedir. Örneğin;
/celebi
ifadesi, kök dizin altındaki celebi adlı bir alt dizin simgelemektedir.
/usr/celebi/x.exe
ifadesi, kök dizin altında usr adlı bir alt dizin olduğunu, usr’ in altında ise celebi adlı biralt dizin bulunduğunu ve celebi alt dizini içinde de x.exe adlı dosyanın mevcut bulunduğunu simgelemektedir.
1.1.2- Ana Dizin (Home Directory)
Linux her kullanıcı için, o kullanıcıya ait olan bir ana dizin (home directory) sağlamaktadır. Buana dizin içinde, kullanıcıya ait çeşitli dosyalar bulunabilir yada kullanıcı bu ana diziniçerisinde başka alt dizinler oluşturabilir.
Bir kullanıcının ana dizini içine normal olarak diğer kullanıcılarda girebilir; kullanıcıya aitdosyaları okuyabilir ve kopyalayabilir. Sadece dosyalar üzerinde değişiklikler ve dosyalarısilme işlemini gerçekleştiremezler.
Bir kullanıcı, kendi home dizini içerisinde diğer kullanıcıların girmesini istemiyorsa budurumda kendi dizin ve dosyaları üzerine erişim kısıtlaması yada kilit getirmelidir.
Burada bir noktayı belirtmede yarar vardır; sisteme root olarak giren (login olan) kullanıcısistem yöneticisidir (system administrator) ve sistemdeki bütün dosya ve dizinlerin üzerinde budosyalar ve dizinler kilitli bile olsa her türlü işlem yapabilir. O nedenle sistem yöneticisigüvenli bir kişi olmalıdır. Bir kullanıcının home dizinin nerede açılacağı Linux tarafındanbelirlenir ve kullanıcı tarafından bu yer değiştirilemez.
Sisteme genelde size ayrılmış bir dizin içinde girersiniz. Size verilen izinler çerçevesinde diğerdizin ve dosyalara erişmeniz mümkündür. Linux dizinleri arasında dolaşırken, neredeolduğunuzu anlamak için pwd (print working directory) komutu kullanılır. Bu komut yerinizikaybettiğiniz durumlarda oldukça kullanışlıdır!..
$ pwd
/home/fahri
Linux’un harf duyarlılığı olan bir işletim sistemi olduğunu hatırlatalım. Yani,
/home/fahri        dizin ismi ile
/home/fahri        dizin ismi aynı değildir.
Aynı durum dosya isimleri için de geçerlidir. Aynı dizin içinde,
/home/fahri/veri.dat              isimli dosya ile,
/home/fahri/Veri.dat              isimli dosya birlikte bulunabilir, ve ayrı dosyalardır.
Kabuk programı komut satırını yorumlayabilmek için özel bir syntax yapısını takip eder. Buyapıda ilk girilen kelime komutun adıdır. Sonraki kelime o komut için geçerli olan opsiyonlarve argumanlardır. Komut satırındaki her kelime diğerlerinden bir veya daha fazla boşluk ileayrılmalıdır. Genel form aşağıdaki gibidir.
$ Komut Seçenekler Argumanlar
Bulunduğunuz dizini değiştirmek için cd (change directory) kullanılır :
$ pwd
/home/fahri/
$ cd projeler
$ pwd
/home/fahri/projeler
‘~’ işareti ise, kullanıcının ev dizinini gösterir. Ev dizinimizin /home/fahri olduğunufarzedelim:
$ cd ~
$ pwd
/home/fahri
Bir dizin yukarı çıkmak için ise cd’den sonra ‘..’ yazılır. DOS kullananlara bir uyarı, cd ile ‘..’arasında bir boşluk bırakılmalıdır, DOS’taki gibi bitişik yazılamaz.
$ pwd
/home/fahri/projeler
$ cd ..
$ pwd
/home/fahri
Yeni bir dizin yaratmak için ise mkdir (make directory) komutu kullanılır
$ pwd
/home/fahri
$ mkdir odev
$ cd odev
$ pwd
/home/fahri/odev
$ cd ..
$ pwd
/home/fahri
Bir dizini silmek için ise rmdir (remove directory) komutu kullanılır:
$ rmdir odev
1.2- Dosyaların Listelenmesi ve İçeriklerinin İncelenmesi
Dosya ve dizinleri görebilmek için, Linux işletim sisteminde ls komutu kullanılır
$ ls
Desktop
corels.txt
nsmail

 

ls komutu, “-a” parametresiyle kullanıldığında ismi “.” ile başlayan gizli dosyalar da görünürhale gelir. Bir dosyanın gizlenmesini istiyorsak, başına “.” getirmeliyiz.
$ ls -a
.Xauthority
.Xresources
.bash_history
.bash_logout
.bash_profile
.bashrc
.cshrc
.gnome
.kde
.kderc
.netscape
.tcshrc
.xauth
.xsession-errors
Desktop
corels.txt
ls_a.txt
nsmail
“-l” parametresi ise dosyalar ile ilgili detaylı tüm bilgiyi verir. Dosyanın ne zamanyaratıldığı, sahibi, grubu ve erişim hakları hakkında bilgiyi görüntüler. Linux’ta parametreler,‘-‘ işaretinden sonra bitişik olarak yazılırlar. Örneğin bir dizin içindeki gizli olanlar dahil tümdosyaları detaylı bir şekilde görmek istersek, ls -la komutunu kullanabiliriz.
$ ls -al
total 16416d
rwxr-x---        8       root      root       4096     Eyl    4    14:49
drwxr-xr-x       17      root      root       4096     Eyl    4    12:08
-rw-------       1       root      mehmet     102      Eyl    4    14:47.Xauthority
-rw-r--r--       1       root      root       960      Ağu    14   2000.Xresources
-rw-------       1       root      root       1577     Ağu    13   15:22.bash_history
-rw-r--r--       1       root      root       24       Haz    11   2000.bash_logout
-rw-r--r--       1       root      root       266      Haz    11   2000.bash_profile
-rw-r--r--       1       root      root       176      Ağu    23   1995.bashrc
-rw-r--r--       1       root      root       210      Haz    11   2000.cshrcd
rwxr-xr-x        2       root      root       4096     Tem    20   10:05.gnome
drwxr-xr-x       3       root      root       4096     Tem    12   13:18.kde
-rw-r--r--       1       root      root       1102     Eyl    41   4:48.kderc
drwxr-xr-x       5       root      root       4096     Ağu    13   14:50.netscape
-rw-r--r--       1       root      root       196      Tem    11   2000.tcshrc
drwx------       2       root      mehmet     4096     Ağu    6    11:02.xauth
-rw-------       1       root      root       266      Eyl    4    14:48.xsession-errors
drwxr-xr-x       5       root      root       4096     Tem    20   10:06Desktop
-rw-------       1       root      root       16707584 Ağu    13   15:22core
-rw-r--r--       1       root      root       27       Eyl    4    14:49ls.txt
-rw-r--r--       1       root      root       182      Eyl    4    14:49ls_a.txt
-rw-r--r--       1       root      root       0        Eyl    4    14:49ls_al.txt
drwx------       2       root      root       4096     Ağu    13   14:49nsmail
* ve ? wildcard karakterleri bir dosya adının tamamlanmamış kısımlarını tanımlamayayararken, köşeli parantezler [] size tanımlanmış karakterleri araştırma olanağı tanır. Paranteziçinde tanımlayacağınız herhangi bir karakter dosya isimleri üzerinde eşleştirilmeyeçalışılacaktır. Örneğin;
$ ls doc[1A]
doc1 docA
Ayrıca hem karakterleri hemde rakamları bir aralık için tanımlamamız mümkün. Bunun için,
$ ls doc[1-3]
doc1 doc2 doc3
$ ls doc[B-E]
docB docD
Köşeli parantezi diğer wildcard karakterleri ile kullanmamız da mümkündür. Örneğin,aşağıdaki örnekte yıldız işareti ‘wildcard’ ile herhangi bir dosya ismini, köşeli parantez [co] ileuzantısı c veya o veya co ile biten dosyaları yazmasını isteyebiliriz.
$ ls *.[co]
main.c main.o calc.c
Bir dosyayı ekrana olduğu gibi yazdırmak için cat komutu kullanılabilir. Bu komut bir metineditörüyle karıştırılmamalıdır. Bazen bir dosyanın ne olduğunu merak ederiz ve başından veyasonundan bir kısmını görüntülemek isteriz. Başından görüntülemek için ‘head’, sondangörüntülemek için ise‘tail’ komutları kullanılır. Başından veya sonundan kaç satırıgörüntülememizi istersek, bu komutlara parametre olarak ‘-‘ işaretinden sonra satır sayısınıgirmeliyiz. Aşağıdaki örnekte, ‘.bashrc’ isimli dosyanın önce cat ile tamamı, head -3 ile ilküç satırı, tail -3 ile de son üç satırı yazdırılmıştır.
$ cat .bashrc
# .bashrc
# User specific aliases and functions 
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions 
 
if [ -f /etc/bashrc ];  then
      ./etc/bashrc
fi
$ head -3 .bashrc
# .bashrc
 
# User specific aliases and functions
$ tail -3 .bashrc
if [ -f /etc/bashrc ]; then
      ./etc/bashrc
fi
‘cat’ komutu aslında ingilizcede sıralamak anlamına gelen concatenate kelimesindengelmektedir. Yani, bu komut dosya içeriğini ekrana yazmanın yanında dosyaları peşpeşeekleme işine de yarar, ve bu aslında komutun asıl görevidir:
$ cat dosya1 dosya2 dosya3 > tum_dosyalar
hedef dosya ismi verilmediği zamanlarda ise, cat komutu öntanımlı dosya olarak ekranı kabuleder ve oraya çıktıyı verir. Bu işlem ise bize dosyayı ekrana yazıyormuşuz izlenimi verir. Buyüzden bu komutun ekrana dosya içeriğini yazdığını söylemiştik.
1.3- Dosyaların Kopyalanması ve Taşınması
Dosyaların kopyalanması için, cp (copy) komutu kullanılır. Üç adet parametreyle birliktekullanılır :
-i işlemi onaylamanızı ister, hata olasılığını azaltmak için kullanılır.
-r Bir dizin ve altındaki herşeyi hedef dizine kopyalamak için.
$ cp veri.dat /tmp
komutu, veri.dat isimli dosyayı /tmp dizini içine kopyalar.
$ cp -r /home/fahri/projeler /home/fahri/ba7ckup
komutu, projeler isimli klasörün altında her ne varsa, backup isimli dizine kopyalar.
Dosyaların başka bir yere taşınması için ise, mv komutu kullanılır. Bu işlem, bir dosyayı biryere kopyaladıktan sonra kaynak dosyayı taşınan yerden silmekle eşdeğerdir, cp komutunda olduğu gibi -i parametresiyle kullanıldığında kullanıcıdan onay ister. Ancak, -r parametresinin kullanılmasına gerek yoktur.
Bu komut, bir dosyanın isminin değiştirilmesi için de kullanılır. Örneğin ev dizinimizinaltında bulunan readme.txt isimli dosyanın ismini benioku.txt olarak değiştirelim
$ mv readme.txt benioku.txt
burada, readme.txt isimli dosya aynı klasör içine başka bir isimle taşındığı ve eski dosyasilindiği için ismi değişmiş gibi işlem gördü.
Dosyaların silinmesi için ise, “rm” (remove) komutu kullanılır. Parametreleri şu şekildedir :
-i işlemi onaylamanızı ister, hata olasılığını azaltmak için kullanılır.
-r Hedef bir dizin ise, o dizin altındaki tüm dizin ve dosyaları siler.
-f Dosyaları onay almadan tek adımda koşulsuz olarak siler.
Önemli not: Linux’ta dosyalar‘-‘ karakteri ile başlayabilir. Ancak böyle bir dosyanınsilinmesi için ‘-‘ yazıldığında sonra gelecek karakterler parametre olarak algılanır ve hata verir.Bunu engellemek için iki tane ‘-‘ yanyana getirilir, ve rm komutuna bu iki tireden sonraparametre gelmeyeceği, bundan sonra kullanılacak tire karakterlerinin isime ait olduğu bilgisiverilir. Böylece hata çıkması engellenir. Örnek olarak,‘-dosya.txt’ isimli bir dosyamızolduğunu ve bunu silmek istediğimizi varsayalım.
$ rm -i -- -dosya.txt
Bulunduğunuz dizin altında bulunan tüm dosyaları silmek için ise ‘*’ karakteri kullanılır. Bukarakter, her türlü karakterin yerine geçer. Örneğin:
$ rm -i a*
komutu, ‘a’ harfi ile başlayan tüm dosyaları silecektir.
$ rm -i *at*
komutu ise, içinde herhangi bir yerinde at geçen tüm dosyaları silecektir. Örneğin aynı dizin altında bulunan
at.txt
saat.txt
dosya.sat
isimli dosyaların hepsini silecektir.
Genel Bilgiler
Her linux sürümü, ihtiyacınız olan her türlü bilgiye ulaşmanızı sağlayan belgelerledonatılmıştır. Kullanıcı komutları, sistem çağrıları, subroutin’ler, donanım, oyunlar, sistemyönetimi ve benzer konularda, bu belgelerden yardım alabilirsiniz. Bu belgelerdeki bilgilerenasıl ulaşacağınız, aşağıda açıklanmıştır :
En çok kullanılan belge cinsi, ‘man’ sayfaları denen, programcının rehberi olarak geçenbelgelerdir. /usr/man dizini altında bulunurlar. Herhangi bir program veya komut için yardımalmanız için,
$ man <program veya komutun ismi>
$ man rm
Aşağıdaki tabloda man komutu ile elde edilebilecek yardım sayfaları içindeki konular ve bölümleri verilmiştir.
BÖLÜM KONU
1 Kullanıcı Araçları (user tools)
2 Sistem Çağrıları (system tools)
3 C Kitaplık Çağrıları (C library tools)
4 Cihaz Sürücü Bilgisi (device driver information)
5 Konfigürasyon Dosyaları (configuration tools)
6 Oyunlar (games)
7 Paketler (packages)
8 Sistem Araçları (system tools)/td>
Aranan konu ile ilgili bilgi birden fazla bölüm içinde var olabilir, bu durumda her bölüm kendialanı ile ilgili kısmını size aktarır. Örneğin C deki printf fonksiyonu ile ilgili olarak hem 3.hemde 1. bölümde bilgi bulunabilir. 1. bölümdeki açıklama komut satırı bakış açısından 3.bölümdeki açıklama ise fonksiyonun C dilindeki kullanımı açısından olacaktır. Bu bilgilereerişmek için:
$ man 1 printf
Veya
$ man 3 printf
yazılmalı. Belirli bir komutun tüm yardım sayfalarındaki tekrarını görmek ve bu konuda özetbilgi almak için, komutu aşağıdaki gibi, -k parametresi ile girmek gerekir.
$ man -k printf
man içinde herhangi bir kelimeyi de arattırabiliriz. Diyelim modeminizle ilgili bir sorununuzvar, ve çözmek için hangi programlara ihtiyacınız olduğunu bilmiyorsunuz. 'man modem'yazarsanız sonuç alamazsınız, çünkü bu isimli bir komut veya program mevcut değildir. Ancakiçinde 'modem' kelimesi geçen man sayfalarının bir dökümünü almak işe yarayabilir. Bu işlemiçin, 'apropos' komutu kullanılır.
$ apropos modem
info komutu ile de komutlar ve konuları hakkında bilgi almak mümkündür.
$ info emacs
Bash kabuk türü komut satırından girdiğiniz tüm komutları saklar. Bu listeye history list adıverilir. UP ARROW tuşu ile daha önce girdiğiniz tüm komutları sırası ile görebilirsiniz.DOWN ARROW tuşu sizi listenin sonuna doğru götürecektir. Bu konu ile ilgili detaylıbilgileri daha ilerdeki konularda detaylı olarak göreceğiz.
Diğer önemli bir konuda bir komutun birden fazla satırda '“backslash ( \ )” ayıracı ile yazılıpçalıştırılmasıdır. \ ayıracı o satırdaki komutu diğer satırdaki komuta bağlama görevi görür.Aşağıdaki örnekte cp komutu üç satırda girilmiştir. İlk iki satır \ ayıracı ile son satıra ilave edilmiştir.
$ cp -i \
mydata \
newdata
SINIF ÇALIŞMASI

Ev dizininiz altındaki tüm dosya ve dizinlerin isimlerini alfabe sırasına göre içeren bir dosyayaratınız. Sonra vi editörü yardımıyla bu dosyayı açarak tüm dizin isimlerini siliniz.

Dosya görüntülenmesinde kullanılan ikinci komut (cat komutuna ilave olarak) more dur.Görüntülenmesi istenen dosya ismi more komutundan sonra girilerek dosyanın içeriği ekranboyutu kadar görüntülenir.
$ more mydata
Bu komut sayesinde mydata isimli dosya her seferinde bir ekran görüntüsü kadar ilerler.Sonraki ekrana ulaşmak için ‘f’ tuşuna veya‘spacebar’ tuşuna basılmalıdır. Dosyagörüntüsünü geriye hareket ettirebilmek için ‘b’ tuşuna basmak yeterlidir. ‘q’ tuşuna basarakprogramdan çıkmak mümkündür. ‘+num’ ile num adet sayfa sonra göstermeye başlar. ‘numf’ise ileriye num adet ekran atlayarak, ‘numb’ ise benzer şekilde geriye doğru num adet ekrangider. ‘h’ tüm more komutlarını listeler.
Aşağıda bazı temel Linux/Unix komutlarının kısa tanımları verilmiştir:
  • Mevcut işletim sisteminin isminin görüntülenmesi
$ uname
  • O anki tarih ve zamanın görüntülenmesi
$ date
Fri Feb 25 12:55:29 MST 2003
$
  • Takvimin öğrenilmesi
$ cal
February 2000
S   M  Tu  W  Th F  S
1   2  3   4  5  6  7 
8   9  10  11 12 13 14
15  16 17  18 19 20 21 
22  23 24  25 26 27 28
29
$
Komut satırı yazım formatı daha önce belirtildiği gibi
$ command option(s) argument(s)
şeklinde tanımlanmıştır.
Aşağıdaki örnekler komut ile opsiyon ve argumanların nasıl kullanıldığını göstermektedir.
$ date               (komut)
$ date mmddhhmmyy    (Komut ve arguman)
$ cal 12 2003        (komut ve iki arguman)
$ uname -a           (komut ve opsiyon)
$ uname -rpns        (komut ve çoklu opsiyon)
$ uname -r -p -n -s  (komut ve çoklu opsiyon)
Kontrol Karakterleri kullanılarak ekran çıktısını durdurup başlatabilirsiniz, tüm komutsatırını silebilirsiniz, klavyeden bir komutun çalışmasını durdurabilirsiniz:
Kontrol Karakterleri Amacı  
Control-C Çalışan komutu sona erdirir
Control-U Komut satırındaki tüm karakterleri sile
Control-S Ekrana çıktıyı durdurur
Control-Q Ekrana çıktıyı yeniden başlatır
Control-D End-of-file veya çıkış sinyali üretir
Control-W Komut satırındaki son kelimeyi siler
Sistemi aktif olarak kullanan mevcut kullanıcıların listelenmesi
$ who
$ who am i
Komut satırından birden fazla komutun devreye sokulması
$ date;cal;who am i
1.4- Dosya Çıktılarının Alınması
Linux’ta kullanıcıların yazıcıya belge gönderme arzuları, yazıcı daemon’u lpd (line printerdaemon) tarafından yerine getirilir. (daemon, arka planda çalışan ve önemli istem görevleriniyerine getiren ve sistemin çalışmaya başlaması ile otomatik olarak devreye giren bir sistemprogramıdır. Bir çok daemonun isminin sonunda d harfi bulunur.) Bu bölümde sisteme yeni biryazıcının eklenmesi dahil yazıcı kullanımı ile ilişkili bilgiler sunulacaktır.
1.4.1- Lpd’nin Özellikleri 
Linux’un yazıcı işlerini organize eden daemon’u lpd, UNIX’teki öncülerine çok benzer ve onedenle de UNIX uyumludur ve aynı zamanda çok esnek bir kullanıma sahiptir.
Lpd’nin ilk yaptığı şey tüm kullanıcılardan gelen yazıcı kullanma isteklerini bir kuyrukdizininde toplamaktır. Bu dizin tipik olarak
/var/spool/lpd/YazıcıAdı
şeklindedir. Burada yazıcı adı, yazma işinin gideceği yazıcının adıdır. Daha sonra bukuyruktaki işler, gönderenden bağımsız olarak işleme tabi tutulur ve sıra ile yazıcıya gönderilir.
1.4.2- Lpd’nin Başlatılması 
Pek çok Linux dağıtımı, lpd’yi ön yükleme sırasında başlatır. Sisteminizde çalışan süreçlerinbir listesini
# ps -auxw
komutu ile alabilirsiniz. Bu listede lpd’yi görmüyorsanız, lpd’yi başlatmak için bir skript hazırlamalısınız. Lpd’nin başlatılması için
/usr/sbin/lpd
programı çalıştırılmalıdır.
Uzaktaki Kullanıcılar 
Ağ üzerindeki yazıcıların isteminizi bir print server olarak kullanmasını istiyorsanız budurumda /etc/hosts.lpd dosyasında yada /etc/hosts.equiv dosyasında bunları listelemelisiniz.
1.4.3- LPD Sunucusunu Kullanan İstemciler 
lpd yazım sunucusunu kullanan Linux istemcileri aşağıda verilmiştir.
lpr
Linux altında lpr, satırdan yazdırma işlemini gerçekleştiren komuttur. Bir çok uygulamada, XWindow ortamında lpr komutunu icra eden diyalog pencereleri mevcuttur. Komut satırındaki lpr’yi kullanma biçimi aşağıda verilmiştir.
# lpr Dosya_adı
Bu komut dosya içeriğini default(benimsenmiş) yazıcıya(yani/etc/printcap dosyasındaki ilk yazıcıya) gönderir. Şayet yazdırmak istediğimiz dosyayı ağ üzerindeki başkabir yazıcıya göndermek istiyorsanız lpr için aşağıdaki biçimi kullanınız.
# lpr -p Yazıcı_adı Dosya_adı
Burada yazıcı_adı parametresi yazma işleminin yapılacağı yazıcının adı, dosya_adı parametresiyazdırılmak istenen dosyanın dıdır.
Aşağıda lpr komutu ile birlikte kullanılabilecek olan parametreleri açıklayalım.
Opsiyon Amacı  
-p Yazma işlemini default yazıcı dışında adı belirtilen bir yazıcıya gönder.
-m İşin tamamlanması üzerine bir mail gönder.
-r Yazma amacı ile kuyruğa girmiş dosyayı sil.
-s Yazıcı kuyruğuna dosyanın orijinal bir kopyasını yerleştirmek yerine bir sembolik linkkullan.
-#n Listelenen her dosyadan kaçar kopya istendiğini belirler, n burada kopya sayısıdır.
-in Yazılacak bilgiyi i adet sütünü atlayarak yaz. Burada n parametresi atlanacak sütunsayısını belirtiyor.
lprm
lprm komutu yazma kuyruğuna girmiş fakat henüz yazma işlemi başlamamış işlerin yazmakuyruğundan silinmesini sağlar.
Aşağıda lprm komutu ile kullanılabilecek parametrelerin listesini verelim.

 

-P YazıcıAdı işin silineceği yazıcının adını belirtir. Bu parametre kullanılmazsa,default yazıcıdaki ( /etc/printcap dosyasındaki ilk yazıcı) belirtilen iş silinecektir.
-sayı Sayı parametresi ile belirtilen numaralı işi yazma kuyruğundan siler. Sileceğinizişin numarası konusunda tereddütünüz varsa bunu lpq komutu ile öğrenebilirsiniz.
lpq
lpq komutu ile yazıcı kuyruğundaki tüm işleri yazılacakları sırada ve sıra numarası ilegörebilirsiniz. İlk sıradaki iş en önce yazdırılır.lpq komutunun tek parametresi -P parametresidir. pP parametresi ile yazma kuyruğu listelenecek olan yazıcı belirtilir. Bu parametre kullanılmasa bu durumda default yazıcıdakiyazma listesi listelenir.
#lpq -P hp1
Burada hp1 adlı yazıcıdaki yazma kuyruğu listelenecektir.
#lpc
lpd sistemi kontrol komutu. lpc ile yazıcı kuyruğundaki işleri durdurabilir, başlatabilir ve yeniden sıralayabilirsiniz.
Peki tüm bunlar nasıl ayarlanıyor? Sistem açıldığında lpd koşmaya başlar ve hangi yazıcıların bekletmeyi yöneteceğini öğrenmek için, /etc/printcap dosyasını tarar. Her lpr komutu koşturulduğunda, lpr komutu lpdile /dev/printer isimli yuva üzerindenhaberleşir, ve lpd'ye hem yazdırılacak dosyayı, hem dosyanın kime ait olduğunu, hem de nasıl yazdırılacağını belirtir. lpd daha sonra uygun yazıcı üzerinden bu dosyayı bastırır.
1.4.4- Bir dosyayı formatlamak ve yazdırmak
Bir dosyanın farklı format opsiyonlarına göre içeriğini yazdırmak için pr komutu kullanılır.Komut benimsenmiş olarak her sayfa için beş boş satır içeren bir kuyruk ilavesi ile 66 satırlık text’e kadar bir başlık yazar. Her sayfa için başlık, dosyanın ismini, tarihini, son düzenlenme tarihini ve sayfa numarasını içerir.
$ pr [opsiyonlar] dosyaismi
Opsiyon Amacı  
+page belirtilen sayfa numarasından yazmaya başlar.
-column Çok sütunlu formatta yazar.
-d çift satırlı formatta yazar.
-h header Başlık sayfasındaki header başlığı altındaki dosya ismi ile yer değiştirir.
-l lines Sayfa boyunu lines’a sabitler.
-m Dosyaları kenar-kenara text sütunları olarak birleştirir.
-t Dosyaları başlık olmaksızın yazar.
-n Her satırı numaralar.
1.4.5 - Printtool Komutu ile Yazıcı Ayarları 
/etc/printcap dosyası lpr komutunun yazma işlerini nasıl gerçekleştireceğini tanımlamaktadır. Bu dosyanın görünümü aşağıdakine benzer biçimdedir.
##PRINTTOOL3## REMOTE POST SCRIPT 600x600 letter {1}
PostScript Default 1
Yazicimllp:\
     :sd=/var/spool/lpd/lp:\
     :mx#0:\
     :rm = yazicim.redhot.com:\
     :rp=lp:\
     :if=/var/spool/lpd/fitler.d/fitler:
Bu dosya ile ilgilenmek yeni başlayanlar için çok sevimli olamayabilir. Bunun yerine,printtool hizmet programı ile yazıcı eklemek ve gerekli ayarları yapmak ve dolayısıyla da /etc/printcap dosyasını da güncellemek daha kolay bir yoldur.
printtool hizmet programını kullanabilmek için root olmanız gerekir. Sistem konfigürasyonu, yeni donanım ekleme ya da çıkarma, yeni yazılım kurulumu yada silinmesi hep süper kullanıcı ya da root’un yapacağı işlemlerdir. Herhangi bir kullanıcı iken nasıl root haline gelinebileceğini hatırlayalım.
  1. Xterm penceresini açınız.
  2. su komutunu giriniz.
  3. root şifresini giriniz.
root haline gelince komut uyarısının ‘$’ sembolünden ‘#’ sembolüne dönüştüğünü biliyorsunuz.