Linux'ta Konsol
Komut Satırı

Linux Komut Satırı - 11 Kasım 2003
Tanju Taşçılar - tanju@elektronist.com
Registered Linux User #283274

Linux'ta Komut Satırı

Linux'u kullanmaya yeni başlayanlar için 'Konsol' veya 'Komut Satırı' ürkütücü görünse de, biraz ilgi gösterilip öğrenildiğinde hiç de korkulacak bir şey olmadığı, tam tersine ne kadar güçlü bir araç olduğu anlaşılır. Komut Satırı Linux işletim sisteminin temel ögelerinden biri olan 'Shell' (Kabuk) ortamına açılan penceresidir diyebiliriz. Buradan Linux içindeki binlerce aracı, programı kullanabileceğimiz gibi 'script'lerini kullanarak 'program'lar da yazabiliriz.

Hiç komut satırı kullanmadan Linux kullanabilir miyiz? Evet - Özellikle Mandrake Linux, modern bir işletim sistemi olarak, tamamiyle grafik arabirimler ile bilgisayarınızı kullanmanıza olanak sağlar. Ama bu durum sistem yapılandırması ile ilgili durumlarda biraz evet-hayır demeden konuşmaya benzer.

Hiç komut satırı kullanmadan Linux bilgisayarımızı yönetebilir miyiz? Evet - Bilgisayarımızın kullanımında standart kurulumda ve kullanımdan elde ettiklerimizle yetiniyorsak. Hayır - bilgisayarımızın limitlerini zorlamak istiyorsak, Linux gibi bir işletim sisteminin inceliklerini öğrenmek istiyorsak. Kurulumda ve kullanımda komut satırını gerektirecek bir sorunla karşılaşmadık ise.

Komut satırına ulaşmak:

Mandrake Linux'ta komut satırına grafik ortamdan veya text ortamda ulaşabiliriz. Text ortamda 6 adet 'Virtual Terminal' bulunmaktadır. Bunlara Ctrl+Alt+F1'den (Kontrol ve Alt tuşlarına basarken F1 tuşuna basılarak) Ctrl+Alt+F6'ya kadar tuşlarla ulaşabiliriz. Bu şekilde bir konsola ilk defa girildiğinde bir kullanıcı olarak sisteme 'login-giriş' yapmanız gerekir. İlk karşılaşacağınız

Mandrake Linux release 9.1 (Bamboo) for i586
Kernel 2.4.21-0.13mdk on i686 /tty1
localhost login:

yazan bir ekrandır. Burada kullanıcı adını yazarsınız size 'password-parola'nızı sorar. Parolayı girerken ekranda girdiğiniz karakterleri göremezsiniz. Bitince 'enter'e basarsınız. Kullanıcı adı ve parola doğru ise sizden komut bekleyen bir satır görüntüler.

Mandrake Linux release 9.1 (Bamboo) for i586
Kernel 2.4.21-0.13mdk on i686 /tty1
localhost login: user
Last login:: Mon Nov 10 15:10:00 on :0
[user@localhost user]$

Eğer 'root' olarak girerseniz

Mandrake Linux release 9.1 (Bamboo) for i586
Kernel 2.4.21-0.13mdk on i686 /tty1
localhost login: root
Last login:: Mon Nov 10 15:10:00 on :0
[root@localhost root]#

şeklinde bir sonuç elde edersiniz. Burada '$' sıradan kullanıcı için komut bekleme imleci, '#' ise 'root' için komut bekleme imlecidir. Giriş yaptığınız kullanıcı hesabından çıkmak için

[user@localhost user]$ exit

yazmak gerekir. Text modundaki bu 6 konsolda ayrı ayrı kullanıcılar olarak veya bir kullanıcı için birden fazla giriş yapabilir ve bilgisayarınızı ayrı ayrı 7 kişi gibi kullanabilirsiniz. Ctrl+Alt+F7 ile seçilen konsol grafik ortam için kullanılan konsoldur. Herhangi bir zamanda bu konsollardan birinden diğerine gerekli tuşları kullanarak geçebilirsiniz. Aynı anda herhangi bir konsolda herhangi bir kullanıcı için giriş yapıp çalıştırdığınız programlar birlikte çalışmaya devam edeceklerdir. Güzel değil mi?

Grafik ortamda ise konsol emulatör programları, terminal programları kullanılır. Mandrake Linux'ta KMenü -> Terminaller bölümünde değişik terminal girişleri bulunur. Bunları kullanarak veya Araç Çubuğu üzerindeki Konsol ikonuna tıklayarak bir terminal açabilirsiniz. Bu yolla açacağınız konsollarda X ortamını (Linux'un grafik ortamı) kullanmakta olan kullanıcı olarak girişiniz yapılmış olacaktır. Ancak KMenü -> Terminaller -> Uçbirim (Üst Kullanıcı Kipi) (Terminal Program) seçeneği özel olarak terminali 'root' hakları ile açmanız için düşünülmüş bir kolaylıktır. İlk açılışta sizden 'root' parolasını soracaktır. Yine text modunda olduğu gibi parola girilirken girdiğiniz tuşlar görüntülenmeyecektir. Bu konsolda özellikle dikkatli olmanız gereklidir. Grafik ortama kendi kullanıcı hesabınız olarak girdiğiniz halde bu terminalde 'root' haklarına sahip olduğunuzu aklınızdan çıkarmamalısınız. Aksi halde sisteme zarar verebilirsiniz. Özellikle 'root' hakları gerekmediği bütün durumlarda bir normal kullanıcı terminalini kullanmalısınız.

Ulaştığımız komut satırından, 'komutları' girmek, araçları(utility) kullanmak veya programları çalıştırmak için ve 'shell script'lerini (kabuk betikleri - Türkçesi de İngilizcesi kadar anlaşılmaz gelebilir) doğrudan yazarak yararlanabiliriz.

'Shell-Kabuk' konsoldan girilenleri değerlendiren ve işletim sistemi ile doğrudan bağlantı kurarak gerekeni yapan bir arabirimdir. Mandrake Linux'ta 'bash' denilen türü kullanılmaktadır. Shell programının içinde hazır bulundurduğu internal-dahili ve ek programlarla kullandığı external-harici komutları vardır.

Komut Satırı İşleme:

Bir Linux konsolunda girişleri bazı istisnalar hariç, herhangi bir editörde yaptığımız gibi yapabiliriz. 'Del-Silme', 'Backspace-Geri Silme', sağ ve sol ok tuşları 'İnsert-Araya Girme' ve 'Overwrite-Üzerine Yazma' işlemleri standart işlemlerdir. Kullanıcılara kolaylık sağlamak amacıyla 'Tab', yukarı ok ve aşağı ok tuşları özel işlemler yapar.

Bir Linux konsolunda 'enter-giriş' tuşunun kullanımı herhangi bir editörden çok farklıdır ve satır başı işlevi yerine yalnızca 'giriş' işlevini yerine getirir. Bu nedenle de imleç giriş satırının yalnızca en sonunda iken değil herhangi bir yerinde iken de kullanılabilir. Bu durumda imlecin bulunduğu yere kadar olan girdiler değil tüm girdiler değerlendirilir. Giriş sırasında bazı komut satırları konsol genişliğini aşar. Böyle bir durumda girişi 'enter' ile bölmeden sanki satır devam ediyormuş gibi sürdürmemiz gerekir. Giriş alt satırlara otomatik olarak geçerek devam edecektir. Bazı durumlarda, mesela script'lerde okunur ve anlaşılırlığı artırmak için satırı bölmek gerekebilir. Bu gibi durumlarda satırbaşı yapmak yerine, '\' (Geriyatık) kullanılabilir. Ancak bunun kullanımında dikkatli olmak gerekir. Bölmek istediğimiz yerde yeni bir satıra geçmeden önce son karakter geriyatık olmalı, daha sonra sadece 'enter'e basılmalıdır.

[user@localhost user]$ cp /etc/modules.conf \
/home/user/save
[user@localhost Data]$ cp /etc/modules.conf /home/user/save

Yukarı ve aşağı ok tuşları sizi eğer varsa önceden girdiğiniz komut satırlarına ulaştırır. Eğer girmek istediğiniz komut satırını daha önce kullanmışsanız istediğiniz satırı bulup 'enter'e basmanız yeterli olacaktır. Ayrıca bulduğunuz satırı üzerinde değişiklik yaparak da kullanabilirsiniz.

'Tab' tuşu ise size girmekte olduğunuz komutu tamamlamak için yardım eder. Komutun bir kısmını girdikten sonra 'Tab' tuşuna basarsanız eğer devamında tek bir olasılık varsa giriş satırını tamamlar ve size 'enter'e basmak kalır. Başka olasılıklar varsa bunları size bildirir. Mevcut olasılıklardan birini başlatacak bir harf girdiğinizde tekrar 'tab'a basarak işleme devam edebilirsinz.

[user@localhost user]$ cd Data
[user@localhost Data]$ ls
Adobe/     Contrib/      Genesys/   NVidia/  PicPrg/     XFree86/
Ati/       Dri/          Guarddog/  PCB/     Synaptics/
Conexant/  flash_linux/  Lucent/    PicLab/  Turkce/
[user@localhost Data]$ cd Con
Conexant  Contrib
[user@localhost Data]$ cd Con

Önce bulunduğumuz dizini Data olarcak şekilde 'cd Data' komutu ile değiştiriyoruz. Ardından 'ls' komutu ile Data dizininde bulunanları listeliyoruz. Buradan Conexant dizinine geçmek istiyoruz. 'cd Con' yazdıktan sonra 'tab' tuşuna basıyoruz. Bize Conexant ve Contrib olarak iki olasılık listeleniyor ve girişe devamımız bekleniyor. Son olarak 'Con' un ardından 'e' tuşunu girip tekrar 'tab'a bastığımızda giriş satırı 'cd Conexant' olarak tamamlanıyor. Enter ile Conexant dizinine geçiyoruz.

[user@localhost user]$ cd Data
[user@localhost Data]$ ls
Adobe/     Contrib/      Genesys/   NVidia/  PicPrg/     XFree86/
Ati/       Dri/          Guarddog/  PCB/     Synaptics/
Conexant/  flash_linux/  Lucent/    PicLab/  Turkce/
[user@localhost Data]$ cd Con
Conexant  Contrib
[user@localhost Data]$ cd Conexant/
[user@localhost Conexant]$

Linux'ta komutların sayıları binlerle ifade edilebilir. Bunların en çok kullanılan bazılarını burada göreceğiz. Açıklanan komutların da en çok kullanılan özelliklerini göreceğiz. Herhangi bir komut hakkında daha fazla bilgi elde etmek için bir konsolda 'man komut_adı' girilerek komutun anlamı, kullanımı ve parametreleri hakkında geniş bilgi edinebilirsiniz. (İngilizce - Belki de şimdilik)

[user@localhost user]$ man supermount
SUPERMOUNT(8)                    MandrakeSoft                    SUPERMOUNT(8)

NAME
       supermount - Enable or disable supermount feature

SYNOPSIS
       supermount [OPTION]... <disable | enable>

DESCRIPTION
       supermount  allows system administrator to enable or disable the super-
       mount feature offered in recent mandrake kernels.  This  feature  auto-
       matically manages mounting and unmounting removable medias when needed.
       The script simply adds or remove the supermount option from within  the
       entries of the /etc/fstab file.  Without option -i the modified file is
       printed to stdout.

       supermount has to be launched with one of the following arguments:

       enable in order to enable supermount feature on relevant drives
              (cdrom and floppy drives),

       disable in order to disable the supermount feature on all
              drives.

Bu 'man' (manual) sayfası içinde yön tuşları, ara çubuğu ve yukarı-aşağı sayfa tuşları aracılığı ile dolaşabilirsiniz. Çıkmak için 'q' tuşuna basmanız gerekir.

Listeleme Komutları:

Dosya sisteminde gezinmek ve dosyaları görmek için ls, pwd ve cd komutlarını kullanırız. Belki de en çok kullanılan komutlar bunlardır.

Linux'ta dizin isimlerinin arasında '/' işareti kullanılır. Ayrıca dizinlerin belirtilmesinde üç özel işaret bulunur. '.' (tek nokta) bulunulan dizini belirtir. '..' (iki nokta) göreceli olarak bulunulan veya belirtilen dizini içinde bulunduran dizini belirtir. Tek başına '/' ise Linux dosya sisteminin en tepe noktasını yani 'root' dizinini belirtir.

ls - list - Listele Komutu:

Bu komut içinde bulunulan veya belirtilen dizindeki dosya ve dizinleri liste halinde göstermek için kullanılır. İçinde bulunulan dizindeki dosyaları görebilmek için tek başına 'ls' komutu kullanılır.

[user@localhost user]$ ls
bc++@                      Documents/  KylixProjects/  Saved/
bc++.msg@                  evolution/  Mail/           startbcb@
bcpp.msg@                  GNUstep/    mp3/            startdelphi@
borland_kylix_install_log  Grafik/     PicProjects/    startkylix@
Data/                      hyperhelp@  QtProjects/     tmp/
dcc@                       ilink.msg@  reg92.txt*      Webs/
Desktop/                   kylix3/     registerkylix@
[user@localhost user]$

Linux'ta bir dosyanın isminin başında '.' (nokta) varsa o dasya 'gizli' dosya olarak değerlendirilir. Gizli dosyalar normal 'ls' komutu ile görülemezler. Bu tür dosya veya dizinleri görebilmek için '-A' parametresini girmemiz gerekir.

[user@localhost user]$ ls -A
.acrobat/                           .gkrellm2/           .mime.types
.adobe/                             .gnome/              .mozilla/
.bash_history                       .gnome2/             mp3/
.bash_logout                        .gnome2_private/     .mplayer/
.bash_profile                       .gnome-desktop/      .nautilus/
.bashrc                             .gnome_private/      .netscape/
bc++@                               GNUstep/             .netscape6/
bc++.msg@                           .gphoto/             .openoffice/
bcpp.msg@                           .gqview/             PicProjects/
  (Liste Devam Ediyor)

Bulunduğumuz dizinden başka bir dizini görmek için 'ls dizin_adı' biçimini kullanırız.

[user@localhost user]$ ls Data
Adobe/     Contrib/      Genesys/   NVidia/  PicPrg/     XFree86/
Ati/       Dri/          Guarddog/  PCB/     Synaptics/
Conexant/  flash_linux/  Lucent/    PicLab/  Turkce/
[user@localhost user]$

Sonuçta en geniş bilgi elde edebilmek için 'ls' komutunu '-l'(Küçük L) parametresi ile kullanırız.

[user@localhost Yeni1]$ ls -l
toplam 8
-rw-r--r--    1 user    user         116 Kas 13 11:32 Deneme
drwxr-xr-x    3 user    user        4096 Kas 13 11:15 Yeni3/

pwd - Print Working Directory - Bulunduğumuz Dizini Göster:

Bu komut ile o an seçili olan dizinin tam adını elde ederiz.

[user@localhost user]$ pwd
/home/user

cd - Change Directory - Dizin Değiştir Komutu:

'cd' komutu bulunulan-varsayılan dizini değiştirmek için kullanılır.

[user@localhost user]$ cd Data
[user@localhost Data]$

Bulunulan dizinin içinde bulunduğu dizine değişim için '..' kullanılır.

[user@localhost Data]$ cd ..
[user@localhost user]$

Değiştirilmek istenen dizin göreceli olarak veya doğrudan belirtilebilir.

[user@localhost user]$
[user@localhost user]$ cd Data/Conexant    ;Bulunduğumuz dizindeki Data/Conexant dizinine git
[user@localhost Conexant]$ cd /             ;'/'-root dizinine git
[user@localhost /]$ cd /home/user/         ;/home/user dizinine git
[user@localhost user]$ cd Data             ;Bulunduğumuz dizindeki Data dizinine git
[user@localhost Data]$ cd ../..             ;Bulunduğumuz dizinin altındaki dizinin altındaki dizine git
[user@localhost home]$

'cd' komutu tek başına girildiğinde kullanıcının 'home' dizinine gider.

[user@localhost Contrib]$ cd
[user@localhost user]$

Dosya - Dizin İşleme Komutları:

Boş dosya veya dizin oluşturmak için mkdir ve touch komutları, kopyalamak için cp komutu, yeniden adlandırmak veya taşımak için mv komutu, silmek için rm komutu, dizin silmek için rmdir komutu kullanılır.

Bu komutların kullanımı sırasında joker karakterler kullanılabilir. Joker karakterler özel anlam taşıyan karakterlerdir ve komutta kullanılan dosya veya dizin isimlerinde belli karakterlerin yerine geçerler. Bunların en çok kullanılanları ? ve * karakterleridir.

'?' (Soru işareti) bulunduğu yerde tek bir karakter olarak herhangi bir karakterin bulunabileceğini gösterir.

'*' (Yıldız) karakteri bulunduğu yerden itibaren bütün karakterleri temsil eder.

mkdir - Make Directory - Dizin Oluştur Komutu:

Yeni bir dizin oluşturmak için mkdir komutunu kullanırız. Bulunduğumuz dizinde bir dizin oluşturmak için yeni dizinin adı ile mkdir komutunu gireriz.

[user@localhost Data]$ mkdir YeniDizin

Bulunduğumuz dizinin altında yeni dizinler oluşturmak için -p paremetresini kullanmak gerekir.

[user@localhost Data]$ mkdir Yeni1/Yeni2/Yeni
mkdir: `Yeni1/Yeni2/Yeni' dizini oluşturulamıyor: No such file or directory
[user@localhost Data]$ mkdir Yeni1/Yeni2/Yeni -p
[user@localhost Data]$

İlk girişte oluşturmak istediğimiz Yeni adlı dizinin içinde bulunduğu Yeni1 ve Yeni2 dizinleri mevcut olmadığı için -p parametresi kullanılmadığından mkdir hata vermekte.

touch - Boş Dosya Oluştur Komutu:

Boş bir dosya oluşturmak için touch komutunu dosya ismi ile kullanırız.

[user@localhost Yeni1]$ touch YeniDosya

Ayrıca bu komut, var olan dosyalar üzerinde kullanıldığında dosyanın zaman bilgilerini mevcut zaman bilgileri ile yeniler.

cp - copy - Kopyala Komutu:

Bir veya daha fazla dosyayı veya dizini kopyalamak için cp komutunu kullanırız. Yeni1 dizininde oluşturduğumuz YeniDosya adlı dosyayı Yeni2 Dizinine kopyalamak için

[user@localhost Yeni1]$ cp YeniDosya Yeni2

komutunu kullanırız.

mv - move - Taşıma ve Yeniden İsimlendirme Komutu:

Bir veya birden fazla dosyayı veya dizini taşımak veya yeniden isimlendirmek için 'rm' komutunu kullanırız.

[user@localhost Yeni1]$ ls
Yeni2/  YeniDosya
[user@localhost Yeni1]$ mv YeniDosya YeniDosya1
[user@localhost Yeni1]$ ls
Yeni2/  YeniDosya1

Yukarda Yeni1 dizinindeki YeniDosya adlı dosyanın adını YeniDosya1 olarak değiştirdik.

[user@localhost Yeni1]$ mv YeniDosya1 Yeni2
[user@localhost Yeni1]$ ls
Yeni2/
[user@localhost Yeni1]$ ls Yeni2
Yeni/  YeniDosya  YeniDosya1

Burada da Yeni1 dizinindeki YeniDosya1 adlı dosyayı yine Yeni1 dizinindeki Yeni2 dizinine taşıdık.

[user@localhost Yeni1]$ ls
Yeni2/
[user@localhost Yeni1]$ mv Yeni2 Yeni3
[user@localhost Yeni1]$ ls
Yeni3/

Şimdi de Yeni2 dizininin adını Yeni3 olarak değiştirdik.

Dosya Görüntüleme Komutları:

Dosyaların içeriklerini görüntülemek için en çok cat veya less komutları kullanılır.

cat - Görüntüle Komutu:

Bir dosyanın içeriğini görüntülemek için 'cat' komutunu kullanırız.

[user@localhost user]$ cat /etc/ppp/ip-up.local
#!/bin/bash

[ -x /etc/rc.firewall ] && /etc/rc.firewall

[user@localhost user]$

'cat' komutu ile sıklıkla > veya >> yönlendirme operatörlerini kullanırız. Eğer > kullanılırsa yönlendirilen dosya yeniden oluşturulur. Eğer >> kullanılırsa yönlendirilen dosyanın sonuna ek yapılır.

[user@localhost Yeni1]$ cat /etc/ppp/ip-up.local > Deneme
[user@localhost Yeni1]$ cat Deneme
#!/bin/bash

[ -x /etc/rc.firewall ] && /etc/rc.firewall

[user@localhost Yeni1]$ cat /etc/ppp/ip-up.local >> Deneme
[user@localhost Yeni1]$ cat Deneme
#!/bin/bash

[ -x /etc/rc.firewall ] && /etc/rc.firewall

#!/bin/bash

[ -x /etc/rc.firewall ] && /etc/rc.firewall

Burada önce /etc/ppp/ip-up.local dosyasının içeriğini Deneme adlı dosyaya kaydettik. Deneme adlı dosya daha önce olmadığı halde oluşturuldu. Daha sonra yine aynı dosyanın içeriğini Deneme adlı dosyaya ekledik. Eğer ilk komutta da >> operatörünü kullansaydık Deneme dosyası mevcut olmadığı halde oluşturulacaktı.

less - Sayfa Sayfa Görüntülemek:

Görüntülemek istediğimiz dosyanın içeriği bir sayfadan fazla ise 'cat' komutunu kullandığımızda görüntüleme işlemi sonuna kadar devam edeceği için bir dosyanın yalnızca ekrana sığan son bölümünü görebiliriz. Sayfa sayfa görüntülemek için 'less' komutunu kullanırız.

[user@localhost Yeni1]$ less /etc/ppp/ip-up

komutu ile /etc/ppp/ip-up dosyasını görüntülemeye başlarız.

#!/bin/bash
# This file should not be modified -- make local changes to
# /etc/ppp/ip-up.local instead

PATH=/sbin:/usr/sbin:/bin:/usr/bin
export PATH

LOGDEVICE=$6
REALDEVICE=$1

export PATH=/sbin:/usr/sbin:/bin:/usr/bin

if [ -x /usr/sbin/sendmail ];then
    /usr/sbin/sendmail -q 2>/dev/null >/dev/null &
fi

# for dynamic DNS support with gnome-ppp and kppp and draknet
if grep -i '#.*ppp temp entry' /etc/resolv.conf >& /dev/null ; then
    PPP_TEMP_ENTRY=`grep '#.*ppp temp entry' /etc/resolv.conf | \
       tail -1 | sed 's/.*ppp temp entry/# ppp temp entry/' `
else
    unset PPP_TEMP_ENTRY
fi
if [ -n "$PPP_TEMP_ENTRY" ]; then
/etc/ppp/ip-up lines 1-24/35 63%

Yukardaki gibi görüntüleme ilk sayfa dolunca durur. Bundan sonra yukarı-aşağı ok tuşları veya ara tuşu (sayfa sayfa ilerletir) ile dosya içinde dolaşabiliriz. Normale dönmek için 'q' tuşunu kullanmamız gerekir.

Dosya - Dizin Özellikleri Komutları:

Linux'ta dosya ve dizinlerin isimleri dışında özellikleri(attributes) vardır. Bunlar üzerinde işlem yapmak için özel komutlar kullanılır. Dosya veya dizinin sahibini değiştirmek için chown komutu, grubunu değiştirmek için chgrp komutu, izinlerini değiştirmek için chmod komutu kullanılır.

chown - Change Owner - Sahibini Değiştir Komutu:

Linux'ta her dosya veya dizinin sahibi olduğu bir kullanıcı vardır. Bunu değiştirmek için 'chown' komutu kullanılır. Bu komutu kullanmak için 'root' olmak gerekmektedir.

[root@localhost Yeni1]# ls -l
toplam 8
-rw-r--r--    1 user    user         116 Kas 13 11:32 Deneme
drwxr-xr-x    3 user    user        4096 Kas 13 11:15 Yeni3/
[root@localhost Yeni1]# chown nobody Deneme
[root@localhost Yeni1]# ls -l
toplam 8
-rw-r--r--    1 nobody   user         116 Kas 13 11:32 Deneme
drwxr-xr-x    3 user    user        4096 Kas 13 11:15 Yeni3/
[root@localhost Yeni1]#

Burada sahibi 'user' olan Deneme dosyasının sahibini 'nobody' olarak değiştirdik.

chgrp - Change Group - Grup Değiştir Komutu:

Linux'ta her dosya veya dizinin ait olduğu grup özelliği vardır. Bunu 'chgrp' komutu ile değiştiririz.

[user@localhost Yeni1]$ chgrp usb Deneme
[user@localhost Yeni1]$ ls -l
toplam 8
-rw-r--r--    1 user    usb           116 Kas 13 11:32 Deneme
drwxr-xr-x    3 user    user        4096 Kas 13 11:15 Yeni3/

Burada grubu 'user' olan Deneme adlı dosyanın grubunu 'usb' olarak değiştirdik.

chmod - Change Mode - İzinleri Değiştir Komutu:

Linux'ta her dosya veya dizinin sahibi, grubu ve diğerleri için okuma, yazma ve çalıştırma izinleri bulunur. Bunları değiştirmek için 'chmod' komutunu kullanırız. Bu komutun parametreleri çok miktardadır. Burada kısaca bir örnek vereceğiz. Detaylı için 'man chmod' kullanılabilir.

[user@localhost Yeni1]$ ls -l
toplam 8
-rw-r--r--    1 user    user         116 Kas 13 11:32 Deneme
drwxr-xr-x    3 user    user        4096 Kas 13 11:15 Yeni3/
[user@localhost Yeni1]$ chmod 755 Deneme
[user@localhost Yeni1]$ ls -l
toplam 8
-rwxr-xr-x    1 user    user         116 Kas 13 11:32 Deneme*
drwxr-xr-x    3 user    user        4096 Kas 13 11:15 Yeni3/

Burada Deneme dosyasının başında yer alan -rw-r--r-- harfleri bu dosyanın sahibi için okuma ve yazma, grubu ve diğerleri için de yalnızca okuma için izinli olduğunu gösterir. Kullandığımız 755 parametresi ile bu izinler -rwxr-xr-x şeklinde kullanıcı için okunabilir, yazılabilir ve çalıştırılabilir, grubu ve diğerleri için ise okunabilir ve çalıştırılabilir şeklini almaktadır.

Burada kısaca açıklaması yapılan chmod komutunun parametreleri çok çeşitlidir. Daha fazla bilgi için man chmod kullanılmalıdır.


Bu yazıda kullanımı ve örnekleri verilen komutlar sıradan bir kullanıcının gereksinimi olabilecek komutlar ve bunların en sık kıllanılabilecek parametreleridir. Komutlar ve parametreleri hakkında daha detaylı bilgi için ilgili komutun man ve info sayfaları ya da --help parametresi kullanılabilir.

Bu yazının hazırlanmasında Mandrake Linux 9.1 Reference Guide (pdf 1.6 MByte) ve Sams's Teach Yourself Shell Programming in 24 Hours (pdf 5.2 MByte) adlı dökümanlardan yararlanılmıştır.


Elektronist - Linux
Linux'ta Konsol - Komut Satırı

Bu ve ilişkilendirilmiş yazılar GPL lisansına göre yayınlanmaktadır. Bütün hakları yazarına aittir. Yazarının ismi belirtilerek serbestçe dağıtılabilir ve kullanılabilir. info@elektronist.com