linux komutları shell

linux shell komutları

Dosya ve Dizin Sistemi

/ Her linux makinesi için genel olarak yerel diskte tutulur. Buna rağmen bazı durumlarda ramdisk yada bir network sürücüsünde tutulabilir. Sistemin açılması için gerekli dosyalarını, sistem açıldığında diğer dosya sistemleri / (root) dosya sistemine bağlanır. / dosya sistemi sistemin açılmaması, dosya sistemlerindeki hataların oluşması durumunda sistemin açılması için grekli olabilecek bir takım programları içierisinde bulundurur. / dosya sistemi linux dosya sisteminin temeli ve başlangıcıdır. Bu dosya sisteminde oluşabilecek bir hata diğer dosya sistemlerinin düzgün olmasına rağmen ulaşılmamasına neden olacaktır.

/usr
Dosya sistemi, bütün kütüphaneleri, komutları, normal işlemler sırasında değişmeyen dosyaları ve kılavuz sayfalarını içerir. /usr dosya sistemindeki hiçbir dosya her hangi bir makine için özelleştirilmez. Hepsi normal kullanım amacına yönelik hazırlanmış dosyalardır. Bu sayede buradaki dosyalar ağ üzerinden paylaşılabilir. Bu sayede sabit disklerden önemli ölçüde yer kazanmak mümkün olur. Bu da çok büyük bir tasarruf sağlar. Bir uygulamanın güncellenmesinde sadece ana /usr değiştirilir. Bu da /usr’yi ağ sistemine bağlamayı oldukça kolaylaştırır. Dosya sistemi yerel bir disk üzerinde olsa bile sadece okunabilir şekilde ayarlanması daha uygun olur. Bu sayede herhangi bir çökme durumunda dosyaların hasar görme ihtimalini azaltmış oluruz.

/var
Dosya sistemi sürekli değişen dosyaları barındırır. Epostalar, mesajlar, spool dizinleri (news, printer, vb..), düzenlenmiş kılavuz sayfaları ve temp dosyaları bu dosya sisteminin içindedir. Geleneksel olarak /var dizininin altındaki her şey /usr dizini altında bir yerlerde mutlaka vardır. Bu da /usr dosya sisteminin salt okunur yapılmasına olanak verir.

/home
Dosya sistemi kullanıcıların ev dizinlerini yani sistemde bulunan bütün gerçek verileri (database vb.) içeren dosya sistemidir. Ev dizinlerini çeşitli parçalara ayırmak yedekleme açısından son derece faydalı olabilir. Nede olsa bütün dizinler aynı hızla değişmiyor. Büyük /home dizinlerinin; /home/staff, /home/student gibi parçalara ayrılması daha akıllıca olacaktır.

/bin
Açılış sonrası root ve normal kullanıcılar tarafından kullanılacak komutları içerir. cp, mv gibi. Bu nedenle bu dosya sisteminde bulunan komutlar her şekilde “/” ana dizine bin dizini mount edilerek kullanılabilmelidir. Genellikle /bin dizini içinde, bu nedenle dizin ve başka bir dizine yada dosya sistemine oluşturulmuş link bulunmaz.

/sbin
/bin dizinine benzer ama buradaki komutlar, normal kullanıcıların kullanabilmesi için ayrıca tanımlanmadıkça sadece root kullanıcı içindir.

/etc
Makineye özel yapılandırma dosyaları bulunur.

/root
root kullanıcısı için ev dizinidir. Diğer kullanıcıların bu dizine ulaşması istenen bir durum değildir.

/lib
Kök dosya sistemindeki programlar tarafından ihtiyaç duyulan paylaşımlı kütüphanelerin bulunduğu dosya sistemidir.

/lib/modules
Genellikle sistemin açılışı sırasında sorunların önlenilmesi için ihtiyaç duyulan yüklenebilir çekirdek modüllerini içerir.

/dev
Aygıt ve sürücü dosyalrının bulunduğu dizindir. Bu dizin içdeki herşey dosya ve dizindir. Bu diznin içinde hda1, hda2, cdrom, cciss, gibi. Cdrom için /dev/cdrom, floppy için /dev/floppy mount edilie ve Cdrom, floppy kullanılabilir. Yazıcıya çıktı /dev/lp0 dosyası kullanılarak gönderilir. Aşağıdaki örneklerde /dev dizini içindeki dosyaların hangi sürücüyü işaret ettikleri görülebilir.

/dev/ttyS0 (First communications port, COM1) /dev/psaux (PS/2)
/dev/lp0 (First printer port, LPT1) /dev/dsp (First audio device)
/dev/usb (USB Devices) /dev/sda (C:\, SCSI device)
/dev/scd (D:\, SCSI CD-ROM device) /dev/js0 (Standard gameport joystick)
/dev/fd0 (disket sürücüsü) /dev/hda (IDE primary master harddisk)
/dev/ht0 (ilk tape backup sürcüsü) /dev/js0 (ilk analog joistik)

Sürücü dosyaları block veya character olarak ayrılır. Block dosyalar data tutan sürücüleri tanımlamak için kullanılır. Örneğin Cdrom, Floppy gibi. character sürücüler ise datanın iletilmesini üstlenir. Örneğin com1, lpt1, psaux gibi.

Major ve Minor numaraları.

Aşağıda /dev dizini içinde disket sürücüsü için oluşturulmuş aygıt dosyasının özellikleirine bakalım.
brw——- 1 root disk 2, 0 Apr 6 16:27 /dev/fd0

Alıştımız gibi dosyanın tipi, izinleri, sahibi, grubu ve tarih bilgilerini görebiliyoruz. Ancak ilgli dosyanın kapasitesinin belirtildiği yerde 2 ve 0 rakamları yer alıyor. 2 Major, 0 Minor numarası. Linux donanımları kullanırken aslında bu donanımları işerte eden dosyalrı kullanır. Örneği yazıcıya çıktı gönderildiğinde /dev/lp0 dosyası karakter aygıt olması özelliği ile gelen veriyi işaret edilen donanıma gönderir yani yazıcıya.
Major numarası aygıtın sürücüsünü belirtmek için kullanılır. Donanımlar ile ilgili sürücüler sisteme yüklendiğinde, aygıtın major numarası kullanır ve ilgli işlemlerin kendi sürücü dosyaları üzerinden yapılacağını bildirir. Minor numarası ise ilgili aygıtın sürücüsü tarafından aygıtı ayırt etmek amacı ile kullanılır. Minor numarası aynı tipte olan aygıtların birbirinden ayrılması için kullanılır. Örneğin sistemde takılı olan IDE harddiskin hda olarak bir major numarasının olması, bu diskteki bölümlerin HDA1, HDA2 olarak adlandırılması ve farklı minor numaralarının olmasıdır.

Kernel tarafından kullanılan sabit Major numaralarına aşağıda yolu verilen dosyadan bakılabilir. Ancak yerel kullanımlar için 60-63, 120-127, 240-254 arası boşbırakılmıştır.

/usr/src/linux/Documentation/devices.txt
Bu konu için mknod komutuna bakabilirsiniz.

/tmp
Geçici dosyalar bulunur. Açılış sonrası çalışan programlar genelde daha fazla yer olmasından dolayı /var/tmp dizinini kullanırlar. Sıklıkla /tmp dizininden /var/tmp dizinine sembolik bir bağ verilmiştir.

/boot
Bu dizin açılış işlemi sırasında konfigürasyon dosyaları hariç tüm programları içerir. Konfigürasyon dosyaları /etc dizininde bulunur. LILO ve benzeri programların dosyaları burada bulunur. Genellikle önyükleme kaydının dosyası kök dizin yerine burada saklanır. Eğer birden çok çekirdek imajı sistemde mevcut ise bu dizin çok fazla büyür. Bu nedenle, böyle durumlarda ayrı bir dosya sistemi açmak daha iyi olur. Veya /boot dizini IDE disk üzerinde ilk 1024 silindir içinde olduğundan emin olmak için ayrı bir dosya sistemi açılabilir.

/mnt
Sistem yöneticileri tarafından geçici dosya sistemi bağlama işlemlerinin yapıldığı yerdir. Dosya sistemi bağlama işlemleri bu dizine yönlendirilir. Bazı durumlarda bu dizin de alt dizinlere ayrılabilir. Msdos ve ext2 dosya sistemlerine ait aygıtları ayrı ayrı bağlamak için ayrım yapılabilir. Bazı dağıtımlarda /mnt/cdrom ve /mnt/floppy dizinleri ön tanımlı olarak gelir.

/proc dosya sistemi
Sanal dosya sistemidir. Disk üzerinde yer kaplamaz. Çekirdek /proc dizinini bellekte yaratır. Sistem hakkında bilgiler burada saklanır (süreçler ve isimleri ,vb..). /proc dosya sistemi ayrıntılı olarak kılavuz sayfasında açıklanmıştır. Bazı çok önemli dosya ve dizinler:

/proc/1
1 numaralı süreç hakkında bilgi içerir. Her sürecin kendi numarası ile anılan bir dizini vardır.

/proc/cpuinfo
İşlemci hakkında türü, üreticisi, modeli gibi bilgileri içerir.

/proc/devices
Çekirdekte o an için çalışan aygıt sürücülerinin listesini verir.

/proc/dma
O anda kullanılan DMA kanallarını gösterir.

/proc/filesystems
Çekirdekte tanımlanmış olan dosya sistemlerini gösterir.

/proc/interrupts
Hangi kesmelerin kullanıldığını ve hangilerinin halihazırda beklediğini gösterir.

/proc/ioports
Hangi giriş/çıkış portlarının kullanıldığını gösterir.

/proc/kcore
Sistemdeki fiziksel belleğin bir görüntüsü. Fiziksel bellek ile aynı boyuttadır. Çalışan programlar için yaratılmıştır ama gerçek bir bellek değildir. Siz herhangi bir yere kopyalamadıkça /proc altındaki bilgiler diske yazılmaz.

/proc/kmsg
Çekirdek mesajları. Ayrıca syslog’a yollanır.

/proc/ksyms
Çekirdek sembol tablosu.

/proc/loadavg
Sistemin ortalama yükü. Üç adet anlamsız gösterge sistemin o an ne kadar çalıştığını gösterir.

/proc/meminfo
Hem fiziksel bellek hem de takas hakkında bilgi verir.

/proc/modules
O an yüklü çekirdek modüllerini gösterir.

/proc/net
Ağ protokolleri hakkında durum bilgisi verir.

/proc/self
O an /proc’a göz atan programın süreç dizinine sembolik bağ. Eğer iki süreç söz konusu ise ikisi de ayrı bağ alır. Böylece programların süreç dizinlerine ulaşmaları daha uygun hale getirilmiş olur.

/proc/stat
Sistem hakkında çeşitli istatistikler bulunur. Örneğin sistem açılışından beri meydana gelen hataların sayfa sayısı gibi.

/proc/uptime
Sistemin açık kaldığı süreyi verir.

/proc/version
Çekirdek sürüm bilgilerini içerir.

Yukarıda adı geçen dosyaların pek çoğu kolayca okunabilecek şekilde metin dosyaları halindedir. Fakat bazılarının düzenlenmesi gerekebilir. Bunları okumaktansa içeriklerini gösteren komutları kullanmak daha kolaydır. Örneğin free programı /proc/meminfo’yu okur ve byte olan değerleri Kb’a çevirerek gösterir.

Unix dosya sitemi dosyalrı gruplar. Tüm komutlar, data dosyaları, dökümanlar gibi. Bu dosyaları gruplayarak tek yerde tutar. Bazı program dosyaları yüklendikleri dizinlerin içinde tutulabilir. Mesela Adobe Acrobat, Emacs.

Dosya ve Dizin hakları / izinleri:

[root@charlie root]# ls –la komutuyla bulunulan yerdeki tüm dosyalar ekranda aşağıda görüldüğü gibi listelenebilir.

total 132
drwx—r– 6 root root 4096 May 23 10:01 .
drwxr-xr-x 20 root root 4096 May 23 07:47 ..
-rw-r–r– 1 root root 1456 Jan 23 22:29 anaconda-ks.cfg
-rw——- 1 root root 19225 May 23 10:33 .bash_history
-rw-r–r– 1 root root 24 Jun 11 2000 .bash_logout
-rw-r–r– 1 root root 252 Feb 2 15:53 .bash_profile
-rw-r–r– 1 root root 176 Aug 23 1995 .bashrc
-rw-r–r– 1 root root 210 Jun 11 2000 .cshrc
-rw-r–r– 1 root root 7 Mar 5 18:49 deneme
drwxr-xr-xt 2 root root 4096 May 14 18:18 hardy
-rwxr-xr-x 1 root root 8489 May 23 08:07 hastane
-rwx—— 1 root root 670 Feb 18 18:40 ibbackup
-rwx—— 1 root root 28 Jan 28 18:06 ibstart
-rw-r–r– 1 root root 47 Mar 1 14:20 ibstat
-rwx—— 1 root root 29 Jan 28 18:08 ibstatus
-rwx—— 1 root root 28 Jan 28 18:07 ibstop
-rwx—— 1 root root 54 Jan 28 17:54 ibvalidate
-rwxr-xr-x 1 root root 550 May 21 18:03 kapa
drwxr-xr-x 3 root root 4096 May 14 18:14 laurel
-rwxr-xr-x 1 root root 948 May 21 18:02 sistem
drwxr-xr-x 2 root root 4096 Feb 2 15:31 src
drwx—— 2 root root 4096 Apr 1 19:15 .ssh
-rw-r–r–T 1 backup root 9 May 6 17:30 yasemin
drwxrwxrwx 1 root root 2715 May 23 10:01 yazilim
lrwxrwxrwx 1 root root 13 Jan 23 21:26 rc.local -> rc.d/rc.local
lrwxrwxrwx 1 root root 15 Jan 23 21:26 rc.sysinit -> rc.d/rc.sysinit
lrwxrwxrwx 1 root root 10 Jan 23 21:26 rc3.d -> rc.d/rc3.d
-rwxr–r– 1 root root 2674590 Apr 7 17:38 FirebirdSS-1.0.2.908-1.64IO.i386.rpm
-rw-r–r– 1 root root 4837 Mar 4 18:37 interbase_20030304_1837.tar.gz

1. Sütün : Dosyanın, Dizinin izinleri,
2. Sütün : Dosyanın, Dizinin bağlantı sayısını,
3. Sütun : Dosyanın, Dizinin sahibi olan kullanıcı,
4. Sütün : Dosyanın, Dizinin Grubu,
5. Sütun : Dosyanın, Dizinin kapasitesi,
6. Sütun : Dosyanın, Dizinin son değiştirilme tarihini ve saatini,
7. Sütün : Dosyanın, Dizinin adını gösterir.

l,d,r,w,x harfleri de
d (directory) = dizin, eğer d harfinin yerinde – işareti varsa ilgili ismin bir dosya ismi olduğu anlaşılır.
l (link) = görünen ismin başka dizindeki, bir dosyayı yada dizinini gösterdiği, yönlendirdiği anlaşılır.
b = block device. /dev dizini içinde bulunan dosyalarda görülür. Cdrom veya disket sürücüleri gibi data
taşıyan sürücüleri temsil eden dosyaları belirtmek için kullanılır.
c = character device. Yine /dev dizini içinde bulunan dosyalarda görülür. Lpt1, seri portları temsil eden ve
kullanılmasını sağlayan dosyaları işaret eder.
r (read) = okuma
w (write) = yazma
x (execute) = çalıştırma izinlerini / haklarını ifade eder.
– = izin yok
T = Takas özelliği olan dosyalar için geçerli bir özelliktir. Bu dosyaların son değiştirilme tarihinin
güncellenmediği anlamına gelir.
t = Yapışkan bit olarak adlandırılır. Genel olarak dizinler için kullanılan bir özelliktir. Dizin içinde kullanıcılar
dosya oluşturabilir, diğer kullanıcıların dosyalarını görebilir fakat kullanıcılar kendi oluşturdukları
dosyalar üzerinde işlem yapabilir, diğer kullanıcıların dosyalarını silemezler.
s =
p =

“yazilim” dosyasının izinleri aşağıda görülmektedir.
-rwxrwxrwx yazilim

Toplam on karakterlik bu ifadenin soldan sağa doğru ilk karakter l veya d olmasına göre adı geçen ifadenin bir link veya dizin olduğu anlamına gelir.

2.,3.,4., karakter dosyanın sahibinin haklarını
5.,6.,7., karakter kullanıcının üye olduğu grubun haklarını
8.,9.,10. karakterler ise diğer kullanıcıların dosya üzerindeki haklarını ifade eder

Ayrıca ekranda görünen metinlerin, isimlerin renklerine bakarak ilgili ifadenin bir dosya mı, dizin mi olduğu anlaşılabilir.

Beyaz = Normal dosyaları ifade eder.
Yeşil = Çalışabilen (x) dosyaları ifade eder.
Mavi = Dizinleri ifade eder.
Turkuaz = Link tanımlarını dosyalarını ifade eder. İlgili linkin işaret ettiği dosya link isminin hemen yanında
görülebilir.
Kırmızı = rpm yada bzip2 gibi programlarla sıkıştırılmış soyaları ifade eder.
Sarı : Blok veya karakter dosyalar, aygıtlar.
Bordo : Socet dosyası

Komutlar ile ilgili açıklamalar.

Dosya ve Dizin İşlemleri ile İlgili Komutlar:

İlgili komutlara geçmeden önce dosya ve dizin adlarında kullanılan bazı özel karakterleri tanımak yararlı olacaktır.

* : Dosya ve dizin adında veya uzantısında 0 ile temsil edebileceği sayı kadar karakter yerine geçer.
abc, abcd, abcde adında üç tane dosyamız olsun.
abc* ifadesi bu üç dosyayı temsil etmek için kullanılabilir.
ab*d ifadesi ab ile başlayan adının son karakteri d olan dosyaları temsil eder.
a*c*d.txt ifadesi adı aile başlayan adında c harfini içeren ve adının son karakteri d olan dosyalar anlamına gelir.

? : Dosya ve dizin adında bir karakter yerine geçer. Yazıldığı sayı kadar karakter yerine geçer ve dosya veya dizin
adı yazıldığı sayıdan az da olsa ekranda listelenmez.
Yine abc, abcd, abcde adında üç tane dosyamız olsun,
??? ifadesi abc adındaki dosyayı,
???? abcd adındaki dosyayı temsil eder.

[ ] : (Köşeli Parantez) dosya ve dizin adında parantez içinde verilen karakterlerin arasından denk gelen karakteri
seçer. *[ae] yazarak sonu a yada e harfi ile biten dosyaları, abc[sx] yazarak adı abc harfleri ile başlayıp bu
harflerden sonra dosya adında s ve x harfleri geçen dosyaları ifade etmiş oluyoruz.

– : İşareti ile de mesela a-z ifadesi ile a ’dan z ’ye kadar olan karakterleri temsil edecektir. Mesela [a-f]* yazarak
adı a ile f harfleri arasında olan harfler ile başlayan dosyaları ifade etmiş oluyoruz.

Komutlarla İlgili Yardım Almak:

Komutlar ile ilgili yardım almak için komutun sonuna –help ifadesi yazılır. Ekran çıktısı ekrana sığmazsa, klavyeden Shift tuşu ile beraber Page Up ile yukarı, Shift tuşu ile beraber Page Down tuşları ile aşağı hareket edilerek ekrana sığmayan bilgiler görülebilir. Ayrıca komutlar ile ilgili ayrıntı bilgi edinmek için man ve info komutları da kullanılabilir.
Örnekler:
[root@charlie tmp]# man ls
[root@charlie tmp]# info ls
[root@charlie tmp]# ls –help
[root@charlie tmp]# ls –help ¦ more (Komut çıktısının ekranda sayfa sayfa görüntülenmesi için kullanılır. Enter tuşu ile satır satır, boşluk tuşu ile de sayfa sayfa ekran kaydırılır. Ayrıca Shift tuşu ile beraber Page Up ve Page Down tuşları ile de ekran çıktısında yukarı ve aşağı hareket edilebilir.)

1) Komutlar :

clear

clear

Ekranı temizlemeyi sağlar.
[backup@charlie backup]$ clear

ls

Dosya ve dizinleri ekranda listelemek için kullanılan komuttur. Komut aksi belirtilmediği sürece ekranda dosya ve dizinleri A-Z ‘ye doğru sıralayarak listeler.

ls [-la1f] [dosya veya dizin adı]

Dosya ve dizinleri ekranda listeler.Tek başına ls komutu verilirse bulunulan dizinin içindeki dosya ve dizinler ekranda listelenir.

ls komutuyla bir dizininin içeriğini görmek için dizinin yolu ve adı yazılabilir.

ls /home : komutuyla ana dizindeki home dizininin içeriği ekranda listelenir.

ls –r .. : Komutuyla bir üst dizin listelenir.
Diyelim ki /home/sina dizini içindeyken bu komutu verirseniz bir üst dizin olan /home dizini listelenir.

ls ../.. : Komutuyla bulunulan dizine göre iki üst dizin ekranda listelenir.
/home/sina dizininin içindeyken ls ../.. komutu / ana dizinin ekranda listeleyecektir.

Ayrıca komutla beraber dosya adı verilerek sadece istenen dosyaların listesi ekrana getirilebilir.

ls root.txt :Eğer bulunulan dizinde root.txt adında bir dosya varsa ekranda listelenir.

ls r* : Adı r ile başlayan dosya ve dizinler ekranda listelenir.

ls *.a* : Uzantısı a ile başlayan dosyalar ekranda listelenir.

Seçenekler :

-a / -all : Tüm dosya ve dizinlerin ekranda listeler.

-l : Her dosyanın ve dizinin izinlerini, sahibini, boyutunu (byte olarak), son değiştirilme tarihini ve saatini ekranda
listeler.

-R : Dizin ve alt dizinlerin içindeki dosyalarla beraber ekranda listelenmesini sağlar.
Örnek: ls –R /etc

-d : Belirtilen dizinin içeriğinin yerine sadece dizinin adını ekranda görüntüler.
[root@charlie root]# ls -d /etc/
Komutunu –d parametresi olamdan kullnsaydık ana dizindeki etc dizinini içeriği
ekranda listelenecekti. –d parametresi ile sadece dizinin adı ekranda
listeliyoruz. Komutun çıktısı aşağıda görülebilir.
drwxr-xr-x 41 root root 4096 Jul 11 08:32 /etc/

-X : Dosya ve dizinlerin uzantılarına göre A ’dan Z ‘ye doğru sıralar.
Örnek: ls –X dosyaları ve dizinleri uzantılarına göre A ’dan Z ‘ye doğru sıralar.
ls – Xr dosyaları ve dizinleri uzantılarına göre tersten Z ’den A ‘ya doğru sıralar.

-t : Dosyaları değiştirilme tarihlerine göre yeniden eskiye doğru sıralayarak listeler.

-u : Dosyaları en son erişim zamanlarına göre listele.

-r : Dosya ve dizin isimlerini tersten Z ’den A ’ya doğru sıralar.
Örnek ls –r /home

-S : Dosyaları ve dizinleri kapasitelerine göre büyükten küçüğe doğru sıralar.
Örnek: ls –lS

-U : Dosya ve dizinleri sıralamadan listeler.

-1 : Ekrana gelen listenin tek bir kolon olarak görüntülenmesini sağlar.

-x : Dosya ve dizinleri ekranda sütunlara bölerek listeler.

-F : Dosya isimlerinin sonuna (*), dizin isimleri sonuna (/) karakterini koyar.

-m : Dosya ve dizin isimlerini virgülle ayırarak listeler.

-s : Dosyaların boyutunu kilobyte olarak listeler.

-h : Dosyaların kapasitelerini Kb, Mb, Gb olarak gösterilmesini sağlar.
Örnek: ls –lh /home /home dizini içindeki dosyaları

-n : Dosya ve dizinlerin sahiplerinin kullanıcı ve grup numaralarını (UID ve GID) ekranda listeler.

-i : inode sayısının ekranda gösterilmesini sağlar.

–author : Dosya veya dizinlerin kimin tarafından oluşturulduğunu gösterir.

ls komutunun sonuna ¦ more yazılarak komutun ekran çıktısı sayfa sayfa alınabilir.

Bazı komut parametrelerinin kullanılması ile ekran çıktılarının daha iyi anlaşılması için –l parametresini kullanmak yararlı olacaktır.

Örnekler :
ls
Dosya ve dizinlerin sadece isimlerini ekranda listeler.

ls -l
Dosya ve dizinleri kapasite, tarih ve erişim hakları ile ekranda listeler.

ls –la
Tüm dosya ve dizinleri ekranda kapasite, tarih ve erişim hakları ile ekranda listeler.

ls –la ¦ more
Tüm dosya ve dizinleri ekranda kapasite, tarih ve erişim hakları ile ekranda sayfa sayfa listeler.

ls –lar
Tüm dosya ve dizinleri kapasite, tarih ve erişim hakları ile ekranda adlarına göre Z ‘den A ‘ya doğru
tersten sıralayarak listeler.

ls –lha
Tüm dosya ve dizinleri kapasite, tarih ve erişim hakları ile ekranda listeler, dosyaların kapasitelerinin KB,
MB, GB cinsinden gösterilmesini sağlar.

ls –la /home ¦ more
home dizini içindeki tüm dosya ve dizinleri ekranda sayfa sayfa listeler.

cd

cd [dizin adı/dizin adı/…]

cd

cd .., cd ../.., cd ../dizin adı

Dizinlere geçmek için kullanılan komuttur.

cd / komutu ana dizine geçmeyi sağlar.
Örnek:
[root@charlie root]# cd /
[root@charlie /]#

cd komutu tek başına uygulandığında kullanıcının kendi dizinine geçmeyi sağlar. Her kullanıcının dizinini
/home dizini içerisinde kendi kullanıcı adıyla oluşturulmuş dizindir. Örneğin sistemde backup diye bir kullanıcı varsa, bu kullanıcının dizini /home/backup dizinindir. cd komutuyla backup kullanıcısı hangi dizin içinde olursa olsun yol belirtmeden /home/Backup dizini içerisine geçer.

Örnek:
[root@charlie network-scripts]# cd
[root@charlie root]#

cd /etc/sysconfig
Ana dizindeki etc dizini içindeki sysconfig dizininin içine geçmeyi sağlar.

Örnek:
[root@charlie root]# cd /etc/sysconfig/
[root@charlie sysconfig]#

cd ..
Bir üst dizine geçmeyi sağlar. Her .. bir üst dizini ifade eder.
../.. bulunulan yere göre iki üst dizini ifade eder. .. sayısı kadar üst dizinin ifade eder ve aralara / işareti koyulur.

Örnek:
[root@charlie sysconfig]# pwd
/etc/sysconfig
[root@charlie sysconfig]# cd ..
[root@charlie etc]# pwd
/etc
[root@charlie etc]#

cd /home
Komutu ile ana dizindeki home dizini içine geçilir ve komut satırında geçilen dizin [root@charlie home]#
şeklinde görülebilir.

[root@charlie laurel]# pwd
pwd komutuyla içinde bulunulan dizinin yolu aşağıdaki gibi komutun çıktısında görülebilir. Bu şekilde
bulunulan yer tam olarak görülebilir.
/root/laurel

mkdir

mkdir [yeni dizin adı], [dizin adı/yeni dizin adı], [yeni dizin adı yeni dizin adı]

Dizin oluşturmayı sağlar.

[root@charlie tmp]# mkdir belge
Komutu bulunulan yerde belge adında bir dizin açmayı sağlar.

[root@charlie tmp]# ls –la
Komutuyla açılan dizin görülebilir.

total 48
drwxrwxrwt 9 root root 4096 May 29 13:32 .
drwxr-xr-x 20 root root 4096 May 29 08:54 ..
drwxr-xr-x 2 root root 4096 May 22 17:59 22052003
drwxr-xr-x 2 root root 4096 May 23 18:09 23052003
drwxr-xr-x 2 root root 4096 May 26 18:08 26052003
drwxr-xr-x 2 root root 4096 May 27 17:55 27052003
drwxr-xr-x 2 root root 4096 May 28 18:00 28052003
drwxr-xr-x 2 root root 4096 May 29 13:32 belge
drw—-r– 2 root root 16384 Jan 23 21:24 lost+found

[root@charlie tmp]# mkdir ocak subat /mart –v
Komutu ile birden fazla dizin aynı anda oluşturulabilir. Bulunulan yerde ocak subat
ana dizinde ise mart adında dizinler oluşturulur.
-v parametresiyle oluşturulan dizinler ekranda belirtilir.

mkdir: created directory `ocak’
mkdir: created directory `subat’
mkdir: created directory `/mart’
[root@charlie tmp]# ls -la
total 56
drwxrwxrwt 11 root root 4096 May 29 13:37 .
drwxr-xr-x 21 root root 4096 May 29 13:37 ..
drwxr-xr-x 2 root root 4096 May 22 17:59 22052003
drwxr-xr-x 2 root root 4096 May 23 18:09 23052003
drwxr-xr-x 2 root root 4096 May 26 18:08 26052003
drwxr-xr-x 2 root root 4096 May 27 17:55 27052003
drwxr-xr-x 2 root root 4096 May 28 18:00 28052003
drwxr-xr-x 2 root root 4096 May 29 13:32 belge
drw—-r– 2 root root 16384 Jan 23 21:24 lost+found
drwxr-xr-x 2 root root 4096 May 29 13:37 ocak
drwxr-xr-x 2 root root 4096 May 29 13:37 subat

[root@charlie tmp]# ls /
bin dev hbs initrd lost+found misc opt root tmp var
boot etc home lib mart mnt proc sbin usr

-p parametresi ile oluşturulacak dizinlerin yolu yanlış da verilse dizinler açılır.
Örnek:
[root@charlie tmp]# ls -a
Komutu ile bulunulan dizin /tmp ‘nin içeriği ekranda aşağıdaki gibi görülmektedir.

. .. 22052003 23052003 26052003 27052003 28052003 belge lost+found
rapor

[root@charlie tmp]# mkdir -p yedek/rapor/satis/2003
Komutu ile normalde yedek dizini içinde rapor, rapor dizini içinde satis, satis dizini içinde 2003 adlı bir dizin
oluşturur. Ancak yukarıda görüldüğü gibi yedek dizini bulunan dizinde yoktur. Dolayısıyla olamayan bir dizinin içinde bir dizin açılamaz. –p parametresi ile olmayan bu dizinleri açmaya zorluyoruz ve açıyoruz.

[root@charlie tmp]# ls
komutu ile dizinin açıldığını kontrol ediyoruz.

22052003 26052003 28052003 lost+found yedek
23052003 27052003 belge rapor

[root@charlie tmp]# ls yedek -R
Komutu ile yedek dizinin ve alt dizinlerini ekranda listeliyoruz ve dizinlerin açılmış olduğunu aşağıda görebiliyoruz.

yedek:
rapor

yedek/rapor:
satis

yedek/rapor/satis:
2003

yedek/rapor/satis/2003:

rmdir

rmdir [silinecek dizin], [/dizin adı/silinecek dizin]

İçi boş dizinleri silmeyi sağlar. Silinecek dizinin içinde dosya yada dizin olması durumunda dizin silinmez. Güvenli silme işlemleri için kullanılabilecek bir komuttur.

[root@charlie tmp]# rmdir subat
Bulunulan yerdeki subat dizinini içi boş ise siler.

[root@charlie tmp]# rmdir /root/deneme
Anadizindeki root dizini içindeki deneme dizinini siler.

cat

cat dosya adı [> , >>] [hedef dosya adı]

Dosyaların içeriklerininin ekranda görüntülenmesini sağlar. Ayrıca bu komutla dosya içerikleri birleştirmek içinde kullanılır.

[root@charlie root]# cat a.txt
Bulunulan yerdeki a.txt dosyasının içeriğini ekranda görüntüler.

[root@charlie root]# cat /home/ali/not
Anadizindeki home dizinin içindeki ali dizini içindeki not dosyasının içeriğini ekranda listeler.

-n parametresi ile dosya içindeki satırlar numaralandırılır.

[root@charlie root]# cat -n a.txt
1 ali
2 ahmet
3 adnan
4 abidin
5
6 alpay

-b parametresi ile boş satırlar atlanarak satırlar numaralandırılır.

[root@charlie root]# cat -b a.txt
1 ali
2 ahmet
3 adnan
4 abidin

5 alpay
-T parametresi ile içeriği ekranda görüntülenen dosyalarda tab tuşuna basılan “^I” karakterleri ile belirtir.

[root@charlie root]# cat -T a.txt
ali
ahmet
adnan
^Iabidin

alpay

ayse

-E parametresi ile her satırın sonu “$” karakteri ile belirtilir.

[root@charlie root]# cat -E b.txt
belma$
behiye$
bilal$
$

Ekranda içeriği görüntülenen dosyanın ekran çıktısı bir ekrana sığmıyorsa ¦ more komutu ile ekran çıktısı sayfa sayfa alınabilir. Aşağıda isimlet.txt adlı dosyanın içeriği ekranda sayfa sayfa ve sadece dolu satırlar saydırılarak gösterilecektir. Enter tuşu ile satır satır, boşluk tuşu ile de sayfa sayfa ekran kaydırılır. Ayrıca Shift tuşu ile beraber Page Up ve Page Down tuşları ile de ekran çıktısında yukarı ve aşağı hareket edilebilir.)

cat isimler.txt –b ¦ more

Birden fazla dosyanın içeriği ekranda görüntülenebilir.
Örnek:
[root@charlie dnm]# cat a.txt b.txt c.txt
ali
ahmet
adnan
belma
basri
cem
cemile

Dosyaların içerikleri yeni bir dosya adı altında birleştirilebilir. Mesela a.txt, b.txt, c.txt adlarında üç tane dosyamız olsun. Bu dosyaların içeriklerini abc.txt dosyası içerisinde toplayalım.

[root@charlie dnm]# cat a.txt
ali
ahmet
adnan

[root@charlie dnm]# cat b.txt
belma
basri

[root@charlie dnm]# cat c.txt
cem
cemile

Bu işlem için aşağıdaki komutu uygulayabiliriz.
[root@charlie dnm]# cat a.txt b.txt c.txt > abc.txt

Yeni oluşan dosyanın içeriğini ekranda görüntüleyelim.

[root@charlie dnm]# cat abc.txt
ali
ahmet
adnan
belma
basri
cem
cemile

Diyelim ki d.txt dosyasının içeriğini abc.txt dosyasına eklemek istiyoruz. d.txt dosyasının içeriğini ekranda görüntüleyelim.

[root@charlie dnm]# cat d.txt
derya
deniz
demir

d.txt dosyasının içeriğini abc.txt dosyasına ekleyelim.

[root@charlie dnm]# cat d.txt >> abc.txt

abc.txt dosyasının içeriğini ekranda görüntüleyelim.

[root@charlie dnm]# cat abc.txt
ali
ahmet
adnan
belma
basri
cem
cemile
derya
deniz
demir

cp

cp [-lr] /kaynak dizin/dosya adı /hedef/dizin adı/yeni dosya adı

cp [parametre] kaynak hedef

Dosyaları kopyalamayı sağlar.

[root@charlie dnm]# cp /root/yazilim /home
Ana dizindeki root dizinindeki yazilim adındaki dosyayı ana dizindeki home dizini içine kopyalar.

[root@charlie dnm]# cp /root/* /tmp/dnm
[root@charlie dnm]# cp /root/yazilim/* .
cp komutunu uygularken dosyaların kopyalanacağı dizin, hedef belirtilir. Bulunulan dizine kopyalama işlemi yaparken yine içinde bulunulan dizinin yolu belirtilir yada “.” nokta konur. Yukarıdaki verilen komutlar, ana dizindeki tüm dosyaları bulunulan yere yani /tmp/dnm dizinine kopyalar.

[root@charlie dnm]# cp /root/yazilim/*.* ..
Ana dizindeki root dizini içindeki adı ve uzantısı olan dosyaları bir üst dizine kopyalar. Bu komutla a.txt, c.conf dosyaları kopyalanır. Uzantısı olmayan yazilim, hastane dosyaları kopyalanmaz. Bir dizin içindeki dosyaları belli bir isim sınırlaması olmadan tümü için uygulanacaksa tüm dosyalar “*” ile belirtilir.

[root@charlie dnm]# cp abc.txt /tmp/abcd.txt
Kaynakta belirtilen dosya hedefe adı değiştirilerek kopyalanabilir. Bulunulan yerdeki abc.txt dosyası ana dizindeki tmp dizini içine adı abcd.txt olacak şekilde kopyalanır.

[root@charlie dnm]# cp abc.txt abcd.txt
Bir dosyanın içerisinde değişiklik yapmadan önce dosyanın ilk halinin bir kopyasını oluşturmak istenebilir yada önceden hazırlanan bir dosyanın birkaç değişiklikle benzeri hazırlanacaksa ilgili dosyanın bir kopyası farklı bir isimle aynı dizine yaratılabilir. Yukarıda verilen komutta abc.txt dosyası bulunulan yere abcd.txt adı ile kopyalanıyor. Yani aynı içerikli ama farlı isimli ikinci bir dosya oluşturmuş oluyoruz.

[root@charlie dnm]# ls
Bulunduğumuz dnm dizinini listeliyoruz.
a.txt deneme ibbackup ibstatus kapa tmp
abc.txt b.txt d.txt ibstart ibstop kopyala yasemin
anaconda-ks.cfg c.txt hastane ibstat ibvalidate sistem yazilim

[root@charlie dnm]# cp [abcsd]* tmp
Adının baş harfi a,b,c,d,s harfleri ile başlayan dosyaları bulunduğumuz yerdeki tmp dizini içine kopyalıyoruz.

[root@charlie dnm]# ls tmp
Verdiğimiz komut sonucu hangi dosyaların kopyalandığını görmek için tmp dizinini listeliyoruz.

abc.txt anaconda-ks.cfg a.txt b.txt c.txt deneme d.txt sistem

Seçenekler:

-r : Kaynakta verilen dizin ve dosyaların alt dizinlerle beraber kopyalanmasını sağlar.

Örnek:
[root@charlie /]# cp -r /root/ /tmp/notlar/
Ana dizindeki root dizinini ana dizindeki tmp dizini içindeki notlar dizini içine alt dizinleri ile kopyalamayı sağlar. Bu komutla, notlar dizinin içinde root adlı bir dizin oluşturulup ana dizindeki root dizinini içeriği bu dizine kopyalanıyor.

[root@charlie /]# ls -la /tmp/notlar/
tmp dizinini listeliyoruz. root adlı dizinin tmp dizini içinde oluştuğunu görebiliriz.

total 12
drwxr-xr-x 3 root root 4096 Jun 3 11:06 .
drwxrwxrwt 10 root root 4096 Jun 3 10:11 ..
drwx—r– 9 root root 4096 Jun 3 11:06 root

[root@charlie /]# ls -la /tmp/notlar/root/
tmp dizinindeki root dizinini listeliyoruz ve tüm dosya ve dizinlerin kopyalandığını görüyoruz.
total 136
drwx—r– 9 root root 4096 Jun 3 11:06 .
drwxr-xr-x 3 root root 4096 Jun 3 11:06 ..
-rw——- 1 root root 11841 Jun 3 11:06 .bash_history
-rw-r–r– 1 root root 252 Jun 3 11:06 .bash_profile
-rw-r–r– 1 root root 176 Jun 3 11:06 .bashrc
drwxr-xr-x 2 root root 4096 Jun 3 11:06 calisma
-rw-r–r– 1 root root 210 Jun 3 11:06 .cshrc
drwxr-xr-x 2 root root 4096 Jun 3 11:06 hardy
-rwxr-xr-x 1 root root 8489 Jun 3 11:06 hastane
-rwx—— 1 root root 28 Jun 3 11:06 ibstart

-s : Kaynakta belirtilen dosyanın veya dosyaların sembolik linklerinin hedefte oluşturulmasını sağlar.

[root@charlie notlar]# cp -s root/yazilim .
Komutu ile root dizini içindeki yazılım dosyasının sembolik linkini bulunduğuz dizinde oluşturmuş oluyoruz.
[root@charlie notlar]# ls –la
Komutu ile oluşan link dosyasının görüyoruz.
total 24
drwxr-xr-x 3 root root 4096 Jun 3 13:05 .
drwxrwxrwt 10 root root 4096 Jun 3 12:59 ..
drwx—r– 9 root root 4096 Jun 3 12:48 root
lrwxrwxrwx 1 root root 12 Jun 3 13:05 yazilim -> root/yazilim
[root@charlie notlar]# cp -s /belge/* .
Komutu ile ana dizindeki belge dizini içindeki tüm dosyaların linklerinin olarak bulunduğumuz dizinde oluşmasını sağlıyoruz. Birden fazla sayıda dosya için cp komutu ile, sadece bulunulan dizine oluşturulabilir.
Yani [root@charlie notlar]# cp -s /belge/* /tmp komutu belge dizini içindeki dosyaların linklerini /tmp dizini içinde oluşturmayacaktır.

Linkler, bir dosyaya birden fazla isim vermek, ilgili dosyaya farklı dizinlerden erişmek için farklı dosya isimleri kullanmayı sağlar. Hard Link ve Soft Link olarak linkler iki şekilde oluşturulur. Bulunulan dizinde bir link oluşturularak o dosyanın bulunduğu dizine geçmeden içinde değişiklik yapılabilir, çalıştırılabilir.
Hard linkler başka bir dosya sisteminde oluşturulamazlar. Yani, eğer home dizinin içindeki bir dosyaya bir link oluşturacaksanız, oluşturulacak link home dizini için ayrılan disk bölümü içindeki bir dizin içinde oluşturulabilir.

[root@charlie notlar]# df -h

Komutu ile disk bölümlerini ve bu disk bölümlerinin hangi dizin için ayrıldığını görüyoruz. home dizinin içindeki diyelim ki rapor dosyası için tmp dizinine bir Hard (katı, sabit) link oluşturulamaz.

Filesystem Size Used Avail Use% Mounted on
/dev/cciss/c0d0p3 984M 441M 494M 48% /
/dev/cciss/c0d0p2 42M 15M 25M 37% /boot
/dev/cciss/c0d0p6 14G 9.0G 4.7G 66% /home
none 1008M 0 1008M 0% /dev/shm
/dev/cciss/c0d0p7 49G 36G 10G 77% /tmp

Ayrıca dizinlere Hard link oluşturulamaz.

Diyelim ki /tmp dizinindeki ocak_rapor adlı dosyaya yine tmp dizinin içindeki belge dizinin içinde rapor adıyla bir hard link oluşturduk. Bu durumda /tmp dizinindeki ocak_rapor adlı dosyayı yada /tmp/belge dizinindeki rapor adında oluşturduğumuz dosyalardan herhangi birinin silinmesi durumunda diğer dosya kullanılmaya devam edilir.

Hard linklerin kullanımındaki kısıtlamaları aşmak için sembolik linkler oluşturulur. Sembolik linkleri Windows da herhangi programa için oluşturduğumuz kısa yol dosyaları olarak da tanımlayabiliriz. Soft linkler başka bir dosya sisteminde oluşturulabilirler. Dizinlere Soft link oluşturulabilir. Eğer link oluşturulan dosya eğer silinirse, bu dosyaya oluşturulan link dosyaları artık bir işe yaramaz. Soft link olarak oluşturulan dosyalar turkuaz rengi ile ekranda gösterilir.

-u : Kaynaktaki dosya isimleri ile hedefteki dosyaları karşılaştırır ve kaynakta olup hedefte olmayan
dosyaların hedefe kopyalanmasını sağlar.

-v : Hedefe kopyalanan her dosya için ekranda bilgi mesajı görüntüler.

–reply yes : Kaynakta belirtilen dosyalarla hedefte isim olarak aynısıyla karşılaşılırsa ekrana uyarı mesajı
çıkarmadan kaynaktaki isim olarak aynı olan dosyaları hedefteki dosyaların üzerine yazar. Ekrana
overwrite mesajını çıkarmaz.

-f : Kaynakta verilen dosyaları hedefe yazarken / kopyalarken bir sorun ile karşılaşılırsa hedef dosyayı silip
kopyalama işlemine etmeyi dener.

mv

mv [-lr] /kaynak dizin/dosya adı /hedef/dizin adı/yeni dosya adı

mv [parametre] kaynak hedef

mv /dizin/eski dosya /dizin adı /dizin/yeni dosya/dizin adı

Dosyaları ve dizinleri taşımayı, dosya ve dizinlerin isimlerini değiştirmeyi sağlar.

[root@charlie notlar]# mv /isim.txt /tmp
Ana dizindeki isim.txt dosyası an dizindeki /tmp dizini içine taşır.

[root@charlie notlar]# mv b/* belge/
Bulunulan yerdeki b dizinin içindeki dosyaları ve dizinleri içindeki dosyalarla beraber bulunulan yerdeki belge dizini içine taşır.

[root@charlie notlar]# mv /isim.txt /eski_isimler.txt
Ana dizindeki isim.txt dosyasının adını eski_isimler.txt olarak değiştirir. Dosya ve dizinlerin ismini değiştirirken ismi değiştirilecek dizin veya dosyanı bulunulan yerden faklı bir dizindeyse, dosya veya dizin için verilecek isimin yazıldığı yerde o dosya ve dizinin bulunduğu yer tarif edilir.
Örnek olarak aşağıdaki iki komutu inceleyelim.
1. [root@charlie notlar]# mv /isim.txt /eski_isimler.txt

2. [root@charlie notlar]# mv /isim.txt eski_isimler.txt
1. komuttun yapacağı işlem yukarıda belirtilmiştir. Ama 2. komutun yapacağı işlem; yeni dosya ismini belirlediğimiz yerde ismini değiştireceğimiz dosyanın adresini belirtmediğimiz için ana dizindeki isim.txt dosyasını bulunduğumuz yere adı eski_isimler.txt olarak değiştirerek taşır. Yani dosyanın ismini değiştirmek isterken hem ismini hem de yerini değiştirmiş olduk.

Bulunulan yerdeki bir dosya veya dizinin ismini değiştirilecekse eski dosya adı ve yeni dosya adı belirilen yerde dosya ve dizinin adresini belirtmeye gerek yoktur. Örnek olarak aşağıdaki komut bulunulan yerdeki isim.txt dosyasını adını eski_isimler.txt olarak değiştirir.

[root@charlie notlar]# mv isim.txt eski_isimler.txt

Seçenekler:

-f : Kaynakta verilen dosyalarla hedefte de karşılaşılırsa ekrana overwrite uyarı mesajı çıkarmadan
kaynaktaki dosyaların hedefte isim olarak aynı olan dosyaların üzerine yazılmasını sağlar.

–backup : Kaynakta verilen dosyalarla hedefte de karşılaşılırsa hedefte isim olarak aynı olan dosyaların isimlerinin sonuna ~ karakterini koyarak dosyaların yedeğini alır. Bu şekilde yanlışlıkla kaynakta verilen dosyalar hedefte verilen dosyaların üzerine yazılırsa, istenen dosya geri alınabilir.

Örnek:
[root@charlie notlar]# mv a/* b –backup –f
Bulunduğumuz yerdeki a dizinindeki dosyaları yine bulunduğumuz yerdeki b dizini içine taşıyoruz. –f parametresi ile taşıdığımız dosyaların aynısı taşımak istediğimiz yerde varsa, ekrana uyarı mesajı çıkarmadan taşıdığımız dosyaların taşıyacağımız yerdeki dosyaların üzerine yazılmasını sağlıyoruz. –backup parametresi ile de isim olarak aynı olan dosyaların sonuna ~ karakterinin konularak yedeğinin alınmasını sağlıyoruz.

[root@charlie notlar]# ls b
b dizinini listeliyoruz.
anaconda-ks.cfg hastane ibstart~ ibstop kapa~ yasemin
anaconda-ks.cfg~ hastane~ ibstat ibstop~ kopyala yasemin~
b ibbackup ibstat~ ibvalidate kopyala~ yazilim
deneme ibbackup~ ibstatus ibvalidate~ sistem yazilim~
deneme~ ibstart ibstatus~ kapa sistem~

-u : Bu parametre genelde kaynakta ve hedefte aynı isimde olan dosyaların bulunduğu durumlarda kullanılır.
–update Amaç kaynakta belirtilen dosyalardan, değişiklik tarihi hedefteki aynı isimli dosyalardan yeni ise bu
dosyalar hedefte isim olarak aynı tarih olarak eski dosyaların üzerine yazılır. Ayrıca eğer kaynakta olup
da hedefte olmayan dosyalar varsa bu eksik dosyalar hedefe taşınır.

–version : mv komutunun versiyonuyla ilgili bilgi verir.

-v : Taşınan her dosya ve dizin için ekranda taşıma işlemi bittiğinde bilgi mesajı görüntüler.
Örnek
[root@charlie notlar]# mv a/* b -v
Komutu ile bulunulan yerdeki a dizinin içindeki tüm dosyaları b dizini içine taşıyoruz. Kullandığımız –v parametresi ile taşıma işlemi biten dosyaların isimlerini ekranda görebiliyoruz.
`a/ibbackup’ -> `b/ibbackup’
`a/ibstart’ -> `b/ibstart’

vi

mv [-R +,+ sayı] /dizin/dosya adı

Dosyaların içeriğini ekranda görüntüler, değişiklik yapmayı yada yeni bir dosya açmayı sağlar.

[root@charlie root]# vi gunluk
Bulunulan yerde gunluk adında bir dosya varsa bu dosyanın içeriğini ekranda görüntüler, değişiklik yapılmasını sağlar. Bulunulan yerde gunluk adında bir dosya yoksa verilen isimde yeni bir dosya oluşturmayı sağlar.

[root@charlie root]# vi /var/log/securty
Ana dizindeki var dizini içindeki log dizinin içindeki securty dosyasının içeriğini ekranda görüntüler.

Seçenekler:

+ : Ekranda içeriği görüntülenecek dosyanın sonuna konumlanır.
[root@charlie notlar]# vi + isimler

+ [satır sayısı] : Verilen satır sayısına konumlanır.
[root@charlie notlar]# vi +20 isimler

-R : Dosyanın Read Only – Sadece okunabilir olarak açılmasını sağlar. Eğere komut satırında w! yazılıp
enter tuşuna basılırsa değişiklikler kayıt edilir.
[root@charlie notlar]# vi -R isimler

-m : Dosyanın içinde değişiklik yapılmasına izin verir ancak değişikliklerin kayıt edilmesine izin vermez.

-n : Açılan dosyaların sadece hafızaya yüklenmesini sağlar.

-b : Dosyaların binary modda açılmasını sağlar. Genellikle çalışabilen dosyalar için kullanılan bir seçenektir.

vi editörü ile dosya içeriğine girildiğinde klavye üzerindeki tuşlar farklı kiplerde farklı işlemleri yerine getirirler. Dosya içeriğine girildiğinde ilk anda komut kipi devrededir. Yani klavye üzerinde karakter olarak görünen tuşlara basıldığında bir komut, bir işlem yerine getirilir. Örneğin u harfine basılırsa son yapılan işlem geri alınır.
Komut kipinden dosya içeriğinde değişiklik yapmak karakter eklemek gibi işlemler için düzenleme kipine geçilir. Komut kipinden düzenleme kipine geçmek için klavyeden “i” harfine basılır. Tekrar komut moduna dönmek için Esc tuşu kullanılır. Komut modunda dosya ile ilgili komutları uygulamak için “:” karakterini yazmak için kullanılan tuşlara sanki bir yazıya ekleniyormuş basılır. Bu şekilde vi editöründen çıkmak, yardım almak, değişikliklerin kaydedilmesi gibi işlemlerin uygulanması sağlanır.

Aşağıda göreceğiniz gibi bazı işlemlerin yapılabilmesi için “$ ()” gibi karakterlerin basılması gerekir. Bu şekilde bir karakterin işlevi uygulanacaksa, klavye üzerinde, bu karakterlein sanki normal yazıda yazılıyormuş gibi, o karakterin yazılmasını sağlayan tuşların örneğin Shift + 4 tuş bileşenini İngilizce klavye düzenindeyse kullanılması gerekir.

Komut kipinde kullanılan klavye tuşları ve görevleri:

Metin üzerinde hareket etmek:

Yön tuşları : Metin üzerinde hareket için kullanılabilir.
h : İmlecin bir karakter sola kaymasını sağlar.
l : İmlecin bir karakter sağa kaymasını sağlar.
j : İmlecin bir satır aşağı kaymasını sağlar.
k : İmlecin bir karakter yukarı sola kaymasını sağlar.
Ctrl + u : Ekranı yukarı kaydırır.
Ctrl + b : Ekranı aşağı kaydırır.
w : İmleci sağındaki ilk kelimenin baş harfine konumlandırır.
W : İmleci boşlukla ayrılmış sağındaki ilk kelimenin baş harfine konumlandırır. w komutu ile diyelim ki
“merhaba -12 günaydın” ifadesinde merhaba kelimesindeyiz. w komutu ile “-“ karakterine konumlanılır
ve tekrar w basılarak komut tekrarlandığında “1” karakteri tekrar komut tekrarlandığında “günaydın”
kelimesinin başına konumlanılır. Eğer W komutu ile hareket edilirse merhaba kelimesinden -12 ifadesine
tekrar W komutuyla günaydın kelimesinin ilk harfine konumlanırız.
b : İmleci solundaki ilk kelimenin baş harfine konumlandırır.
B : İmleci boşlukla ayrılmış sağındaki ilk kelimenin baş harfine konumlandırır. W komutunun açıklamsı bu
komut içinde geçerlidir.
e : İmleci sağındaki ilk kelimenin son harfine konumlandırır.
0 : İmleci bulunulan satırın başına konumlandırır.
$ : İmleci bulunulan satırın sonuna konumlandırır. $ karakterini basmak için ingilizce klavyede Shift + 4 tuş
bileşeni kullanılır.
– : İmleci önceki satırın başına konumlandırır.
Enter : İmleci sonraki satırın başına konumlandırır.
{ : İmleci paragraf başına konumlandırır.
} : İmleci paragraf sonuna konumlandırır.
G : İmleci dosyanın en son satıra konumlandırır.
[satır sayısı]G : Verilen satır sayısına imleci konumlandır.
m işaret : İ

Metin düzenleme kipine geçmek:

Komut kipinden çıkmak için “i” harfine basılabilir. İmlecin bulunduğu yerden itibaren artık klavyedeki tuşlar bir işlevi değil, karakter basma işlevlerini yapacaktır.

a : İmleci bir karakter sağa kaydırır ve metni düzenleme kipine geçiş yapar.
A : İmleç, bulunduğu satırın sonuna konumlanır ve metin düzenleme kipine geçiş yapar.
i : İmlecin bulunduğu yerden metin düzenleme kipine geçiş yapar.
I : İmleç, bulunduğu satırın başına konumlanır ve metin düzenleme kipine geçiş yapar.
o : İmlecin bulunduğu satırın altında boş bir satır açılır, imleç boş satırın başına konumlanır ve metin
düzenleme kipine geçiş yapar.
O : İmlecin bulunduğu satırın üstünde boş bir satır açılır, imleç boş satırın başına konumlanır ve metin
düzenleme kipine geçiş yapar.
s : İmlecin üzerinde bulunduğu karakteri siler ve metin düzenleme kipine geçiş yapar.
C : İmlecin üzerinde bulunduğu satırın geri kalanını sile ve metin düzenleme kipine geçiş yapar.
c0 : İmlecin üzerinde bulunduğu yerden satır başına kadar olan metni siler ve metin düzenleme kipine geçiş
yapar.
cw : İmlecin üzerinde bulunduğu kelimeyi siler metin düzenleme kipine geçiş yapar.

Silme işlemleri:
x : İmlecin üzerinde bulunduğu karakteri siler.
X : İmlecin üzerinde bulunduğu karakterin solundaki karakteri siler.
dw : İmlecin üzerinde bulunduğu kelimeyi siler.
dd : İmlecin bulunduğu satırı siler.
D : İmlecin bulunduğu satırda, imlecin bulunduğu yerden satır sonuna kadar olan metni siler.
d0 : İmlecin bulunduğu satırda, imlecin bulunduğu yerden satır başına kadar olan metni siler.
J : İmlecin bulunduğu satırın sonuna, alttaki satırı birleştirir.

Metin üzerinde değişiklik işlemleri:
r : İmlecin üstünde bulunduğu karakteri verilen karakter ile değiştirir. r komutu uygulanır ve imlecin üzerinde
olduğu karakterin yerine yazılacak karaktere klavyeden basılır.
R : Metin üzerinde değişiklik yapılması sağlar. Değişiklik yaparken klavyeden basılan karakterler metinin
üzerine yazılır. Esc tuşu ile “R” komutu bitirilebilir.

Metin üzerinde arama işlemi:

Dosya içeriğinde bulunulan yerden ileri doğru istenen bir ifadenin aramak için ilk önce “/” karakteri basılır ve aranacak ifade yazılır. Geriye doğru arama işlemi yapılacaksa “?” karakteri basılır ve yine aranacak ifade yazılır. “n” karakteri ile arama işlemini ileri ise ileriye doğru ilk ifade, geri ise geriye doğru ilk ifade bulunur. Sonraki şarta uyan ifadeler bulunurken arama işleminin ileri veya geriye doğru başlatılmış olmasına göre yapılacaktır. “N” harfi ile de, eğer ileriye doğru arama işlemi başlatılmışsa geri, geriye doğru başlatılmışsa ileri doğru şarta uyan ilk ifade bulunur.

Metin üzerinde kes, kopyala işlemleri:

yy veya Y : İmlecin üzerinde bulunduğu satırı hafızaya alır
p : yy veya Y komutu ile hafızaya alınmış metni imlecin üzerinde bulunduğu karakterin sağına ekler.
P : yy veya Y komutu ile hafızaya alınmış metni imlecin üzerinde bulunduğu karakterin soluna ekler.

Silinen her karakter, cümle, paragraf “p veya P” komutu ile istenilen yere eklenebilir yapıştırılabilir.

Dosya işlemleri:
Dosya işlemlerine, komut kipindeyken “:” karakteri basılarak, metin düzenleme kipindeyken de önce Esc tuşuna basıp sonra “:” karakteri basılarak geçilebilir.

w : Yapılan değişiklikleri kayıt eder.

q : vi editörünü kapatır.

q! : Yapılan değişiklikleri kayıt etmeden çıkar.

h : Yardım ekranına geçişi sağlar.

Aynı anda birden fazla dosya vi editörü ile açılabilir. Aşağı komutla bulunduğumuz yerdeki dosyaların içerikleri ekranda görüntülenebilir.

[root@charlie notlar]# vi a.txt b.txt c.txt

……..

rm

rm [-rf] /dizin/dosya adı

Dosya ve dizinleri silmeyi sağlar.

[root@charlie notlar]# rm a.txt
Bulunulan yerdeki a.txt dosyasını siler.

[root@charlie notlar]# rm /root/deneme.txt
Ana dizindeki root dizini içindeki deneme.txt dosyasını siler.

[root@charlie notlar]# rm a.txt b.txt
Komutu ile birden fazla dosya tek komutla, dosya isimlerinin arasına boşluk koyarak
Silinebilir.

rm: remove regular file `a.txt’? y
rm: remove regular file `b.txt’? y

Seçenekler:

-f : Onay sormadan dosyaların silinmesini sağlar.

[root@charlie notlar]# rm –f /tmp/a*
Ana dizindeki tmp dizinindeki adı a ile başlayan dosyaları ekrana onay mesajı çıkarmadan siler. –f tek seçeneği başına sadece dosya silerken kullanılır.

-r : Dizin içeriğinde her dosya ve dizini silerken, önce dizin içindeki dosyalar, sonra dizinler için onay sorarak
silme işlemi yapar. Dizin alt dizinleri ile beraber silinecekse –r –f parametreleri bir arada
kullanılır.

[root@charlie notlar]# rm –rf /yedek/01012003 /belge/01022003
Ana dizindeki yedek dizini içindeki 01012003 ve ana dizindeki belge dizinindeki 01022203 dizini onay sorulmadan direkt silinir.

find

find /dizin [–name –type] ölçüt

Dosya ve dizinleri aramayı sağlar.

Basit olarak diyelim ki a.txt dosyasının olup olmadığını, bu isimde bir dosya varsa bulunduğu dizini öğrenmek istiyoruz. Bunun için de aşağıdaki komutu uygulayabiliriz.

[root@charlie notlar]# find / -name a.txt –type -f
Ana dizinden itibaren adı a.txt olan dosyayı arar. “/” ifadesi ile arama işleminin ana dizinden itibaren başlatılacağını “-name” ifadesi ile aradığımız dosya yada bir dizinin adını, “-type” ifadesi ile de arama ölçütü olarak belirlediğimiz ifadenin “-f = dosya” dosya veya dizin olduğunu belirtiyoruz. “-type ” ifadesini kullanmadan komut uygulanırsa ekrana verilen isme uyan dosya ve dizinler karışık olarak listelenecektir.

[root@charlie notlar]# find / -name a* –type -d
Ana dizinden itibaren adı aile başlayan dizinleri bulmayı sağlar.

Seçenekler:

-name : Aranacak dizin veya dosya adını belirtmek için kullanılır.

-iname : Dosya ve dizin adında koşul olarak büyük – küçük harf ayırt etmez.

-type : Arama işleminde aranan ifadenin, öğenin tipini belirlemek için kullanılır.
-f : Verilen ifadenin dosya ismi olduğunu belirtir.
-d : Verilen ifadenin dizin ismi olduğunu belirtir.
-l : Verilen ifadenin link ismi olduğunu belirtir.

-daystart : Son 24 saat içinde erişilen, değiştirilen dosyaları, dizinleri bulur, ekranda listeler.

[root@charlie root]# find /root -daystart
Ana dizindeki root dizini içinde bulunulan andan itibaren 24 saat içinde oluşturulan, değiştirilen ve erişilen dosyaları, dizinleri bulur, ekranda listeler.

[root@charlie root]# find -daystart -name “h*”
Ana dizindeki root dizini içinde bulunulan andan itibaren 24 saat içinde adı “h” harfi ile başlayan, oluşturulan, değiştirilen ve erişilen dosyaları, dizinleri bulur, ekranda listeler.

-size [sayı] : Aranacak dosyalar için kapasite vermeyi sağlar. Geçerli olarak verilen sayı 512 byte olarak
kabul edilir. c byte, k kilobyte harfi kullanılabilir. Kapasite olarak verilen sayının başına “-“
konursa verilen sayıdan küçük, “+” konursa verilen sayıdan büyük kapasiteli dosyalar şart olarak
belirlenmiş olur.

[root@charlie root]# find /home -amin -1 -size 1k
Ana dizindeki home dizini içinde son 1 dakika içinde erişilen ve kapasitesi 1 kilobyte olan dosyaları bulur, ekranda listeler.

[root@charlie root]# find / -name “[htm]*” -size +100000k
Ana dizinden itibaren adı “h,t,m” harflerinden herhangi biriyle başlayan ve kapasitesi 100000 kilobyte ‘dan büyük olan dosyaları bulur, ekranda listeler.

[root@charlie root]# find /usr/src -size +500k
Ana dizindeki /usr dizini içinde /src dizininde bulunan ve büyüklüğü 500Kb ‘tan büyük olan dosyaları bulur, listeler.

Arama işlemi için zaman koşul olarak verilecekse, zaman olarak verilen başına;
“-“ yazılırsa verilen süreden küçük olanlar,
“+” yazılırsa verilen süreden fazla olanlar,
“+” yada “-“ yazılmazsa verilen süre için şartı sağlayan dosyaları ifade eder.

-amin [sayı] : İstenen dakika önce, içinde veya verilen dakika için erişilen dosyaları ve dizinleri bulur.

[root@charlie root]# find / -amin 3
Ana dizinden itibaren erişim süresi bulunduğumuz zamana göre 3 dakika önce olan dosyaları ve dizinleri bulunur.

[root@charlie root]# find / -amin -3
Ana dizinden itibaren son 3 dakika içinde erişilen dosyaları ve dizinleri bulur.

[root@charlie root]# find / -amin +3
Ana dizinden itibaren erişim süresi 3 dakikadan fazla süre geçmiş dosyaları ve dizinleri bulur.

[root@charlie root]# find / -amin -3 –name “hastane” –type d
Ana dizinden itibaren son 3 dakika içinde erişilen ve adı hastane olan dosyayı bulur.

-atime [sayı] : Verilen sayı * 24 = saat içerisinde erişilen dosyaları bulmayı sağlar. Verilen sayı ile 24 çarpılır.
Yine verilen sayısının başına “+”, “-“ işareti koyularak istenen sürede erişilen dosyalar
bulunabilir.

-anewer [dosya adı] : Verilen dosyadan daha yakın zamanda, erişilen dosyaları bulur, ekranda listeler. Bu seçeneği
kullanırken bulunulan dizin için işlem yapılır ve o dizinde verilen dosyanın tarihine göre en yeni
dosyalar bulunur, listelenir.
[root@charlie root]# find -anewer /root
Ana dizindeki root dizini içindeki erişim süresi en yakın olan, en son erişilen dosyaları ve dizinleri bulur, ekranda listeler.

[root@charlie root]# find -anewer /root -name “h*”
Ana dizindeki root dizini içindeki erişim süresi en yakın olan, en son erişilen adı “h” ile başlayan dosyaları ve dizinleri bulur, ekranda listeler.

-cmin [sayı] : İstenen dakika önce, içinde veya verilen dakika içinde içeriği değişen dosyaları ve dizinleri bulur.

[root@charlie root]# find /tmp -cmin -1

/tmp dizinindeki son bir dakika içerisinde içeriği değişen dosya ve dizinleri bulur.

-ctime [sayı] : Verilen sayı * 24 = saat içerisinde değişen dosya ve dizinleri bulmayı sağlar. Verilen sayı ile 24
çarpılır.Yine verilen sayısının başına “+”, “-“ işareti koyularak istenen sürede erişilen dosyalar
bulunabilir.

[root@charlie root]# find /tmp -ctime -1

/tmp dizinindeki son 24 saat içerisinde içeriği değişen dosya ve dizinleri bulur.

-cnewer [dosya adı] : Verilen dosyadan daha yakın zamanda, içerisinde değişiklik yapılan dosya ve dizinleri bulur,
ekranda listeler. Verilen dosyadan daha yakın zamanda, erişilen dosyaları bulur, ekranda
listeler. Bu seçeneği kullanırken bulunulan dizin için işlem yapılır ve o dizinde verilen dosyanın
tarihine göre en yeni dosya ve dizinler bulunur, listelenir.

-mmin [sayı] : İstenen dakika önce, içinde veya verilen dakika içinde içeriği değişen dosyaları ve dizinleri bulur.

-mtime [sayı] : Verilen sayı * 24 = saat içerisinde değişen dosya ve dizinleri bulmayı sağlar. Verilen sayı ile 24
çarpılır.Yine verilen sayısının başına “+”, “-“ işareti koyularak istenen sürede erişilen dosyalar
bulunabilir.

-empty : İçeriği boş dosya ve dizinleri bulur.

-false :

-user [kullanıcı adı] : Verilen kullanıcı adına ait dosyaları bulmak için kullanılır.
[root@charlie tmp]# find / -user backup

backup kullanıcına ait dosyaları silmek için aşağıdaki komut kullanılabilir. –user parametresi ile backup kullanıcısına ait dosyalar bulunur. Bulunan dosyalar üzerinde –exec parametresi ile verilen komut uygulanır.

[root@charlie tmp]# find / -user backup –exec rm ‘{}’ \;

-uid [sayı] : Verilen kullanıcı ID ‘sine ait dosyaları bulmak için kullanılır. Kullanıcıların listesi /etc dizini altında
passwd dosyasında görülebilir ve bu dosyanın içeriğinde kullanıcıların UID numaraları elde
edilebilir.

[root@charlie tmp]# find / -uid 502
-nouser : Hiçbir kullanıcıya ait olmayan dosya ve dizinleri bulmak için kullanılır.

-nogroup : Hiçbir gruba ait olmayan dosya ve dizinleri bulmak için kullanılır.

Sahibi olmayan dosya ve dizin olmaz. Bu parametreler genelde sisteme izinsiz bir girişten şüphelenildiği zaman kullanılır. Sisteme yetkisiz girmiş bir kullanıcının oluşturmuş olduğu dosyaları bulmak için kullanılır.

[root@charlie root]# find / -nouser -o -nogroup

Komutla beraber, istenilen dosya ve dizinleri bulmak için kullanılan –name, -atime gibi seçenekleri daha esnek uygulamak için aşağıdaki belirtilen operatörlerle kullanılabilir.

! : İfadesi verilen şartı sağlamayanlar anlamına gelecektir. Yani arama işleminde bulunacak dosyalar için belirtilen kriterin terzisi sağlayan dosyalar bulunacaktır.
! operatörü, ters işlem yapması istenen seçenekten önce yazılır.

[root@charlie tmp]# find /tmp/23072003/ ! -name *.gdb -exec ls ‘{}’ \;
Ana dizindeki tmp dizinindeki 23072003 dizini içinde uzantısı gdb olan dosyaların dışında kalanlar ekran da listelenir.

[root@charlie root]# find /home/ayfer ! –user ayfer
Ana dizindeki home dizini içindeki Ayfer dizini içindeki Ayfer kullanıcısına ait olmayan dosyaları bulur.

-and : İfadesi ile verilen şartlar mutlaka bulunacak dosyalarda aranır. Verilen şartın
bir tanesi dahi sağlamayan dosyalar ekranda listelenmez.

[root@charlie tmp]# find /tmp/23072003/ -name *.gdb -and -size +200000k
Yukarıdaki komutla 23072003 dizini içinde uzantısı .gdb olan ve kapasitesi 200000 kb ‘dan büyük olan dosyalar listelenir. Uzantısı .gdb olup ta kapasitesi verilen kapasiteden düşük olan dosyalar ekranda görüntülenmez. Yada kapasitesi 200000 Kb 2dan büyük ama uzantısı .gdb olmayan dosyalar da ekranda listelenmez.

-o : İfadesi ile verilen şartlardan herhangi birine uyan dosyalar ve dizinler ekranda listelenir.
[root@charlie tmp]# find /tmp/23072003/ -name *.gdb -o -name *.gbk
Yukarıdaki komutla 23072003 dizini içindeki uzantısı .gdb veya uzantısı .gbk olan dosyalar ekranda listelenir.

-exec : Bu seçenek ile arama sonucu bulunan dosyalar üzerinde yapılmak istenen işlem için uygulanacak komut
verilir. Sadece bulunan dosyalar üzerinde verilen komut işletilir.

[root@charlie root]# find / -name “a*” -exec ls -l ‘{}’ \; ¦ more
Ana dizinden itibaren adı (–name ) “a” ile başlayan dosya ve dizinleri bulur, bulunan dosya ve dizinleri ekranda ayrıntılı bilgileri ile beraber sayfa sayfa (¦ more) listeler (–exec ls –l).

[root@charlie root]# find / -name “core” -exec rm ‘{}’ \;
Adı “core” olan dosya ve dizinleri siler.

-perm : Dosya ve dizin izinlerine göre arama yapmak için kullanılır.
1 x yani çalıştırma
2 w yani yazma
3 okuma

[root@charlie root]# find / -perm 111
Sadece dosyanın sahibi, grubu ve diğerleri için çalıştırma izni olan tüm dosyaları bulur.

[root@charlie root]# find / -perm 100
root kullanıcısına ait ve sadece sahibi tarafından çalıştırılabilen dosyaları bulur.

[root@charlie root]# find / -perm 500
Sadece sahibi tarafından okunabilen ve çalıştırılabilen dosyaları bulur.

[root@charlie root]# find / -user backup -perm 500
backup kullanıcısına ait ve dosya izinleri sadece sahibi için okuma ve çalıştırma yetkilerine sahip dosyaları bulur.

grep

grep –AB dosya adı

Aranan ifadelerin dosyaların yada komut çıktılarında aranmasını sağlar.

[root@sharlo calisma]# grep merhaba a.txt
merhaba
Bulunulan yerdeki a.txt dosyası içinde “merhaba” ifadesini arar ve listeler.

[root@sharlo calisma]# grep merhaba *
a.txt:merhaba
b.txt:merhaba
Bulunulan yerdeki tüm dosyaların içinde “merhaba” ifadesini arar ve ifadenin bulunduğu dosyaların isimlerini listeler.

-A [sayı] : Verilen sayı kadar satır bulunan ifadeden sonra ekranda görüntülenir.

[root@sharlo calisma]# grep merhaba * -A 1
a.txt:merhaba
a.txt-kkkkk

b.txt:merhaba
b.txt-
Bulunulan yerdeki tüm dosyaların içinde “merhaba” ifadesi aranır, aranan ifadeden sonra verilen sayı kadar satır ekranda listelenir.

————–
du

du [-ch] /dizin/dosya

Dosyaların ve dizinlerin disk kapasitelerinin ekranda görüntülenmesini sağlar.

[root@charlie 11062003]# ls
Komutu ile içinde bulunduğumuz dizini listeliyoruz.
fis.gbk hrk2.gbk hrk.gbk ihale.gbk lab.gbk Login.gdb mdc.gdb tnm.gdb
fis.gdb hrk2.gdb hrk.gdb ihale.gdb lab.gdb mdc.gbk tnm.gbk yedek

[root@charlie 11062003]# du
Komutu ile de içinde bulunduğumuz dizindeki dosya ve dizinlerin disk üzerinde kapladığı alan görülebilir. Ekranda listelenen kapasiteler KB cinsinden gösterilir. Ekranda, içinde bulunulan dizindeki alt dizinlerin toplam kapasitesi ve dosyaların isimleri belirtilmeden kapasitelerinin toplamı gösterilir.
35708 ./yedek
9550252 .

[root@charlie root]# du /home
Komutu ile ana dizindeki home dizininin ve içindeki dizinlerin toplam disk üzerinde kapladığı alan görülebilir. Home dizininin toplam kapasitesi de ekranda görülebilir. Komutun çıktısı aşağıdaki olacaktır.

16 /home/lost+found
16 /home/boyaci
16 /home/user
4 /home/backup/a
4 /home/backup/d
24 /home/backup
3177928 /home/gbk
11935204 /home

[root@charlie root]# du /home/*
du komutunda dizin içindeki dosyaları belirtebiliriz. Yukarıdaki komutla ana dizindeki home dizini içindeki dosyaların kapasiteleri KB cinsinden görülebilir.

4 /home/28052003_yedekleri
119840 /home/Login.gdb
4 /home/backup/a
4 /home/backup/d
24 /home/backup
16 /home/boyaci
23484 /home/fis.gdb
3177928 /home/gbk
1601576 /home/hrk.gdb
1456852 /home/hrk2.gdb
2468696 /home/hrk2x.gdb
1601576 /home/hrkx.gdb
88060 /home/ihale.gdb
846752 /home/lab.gdb
16 /home/lost+found
91440 /home/mdc.gdb
458916 /home/tnm.gdb
16 /home/user
4 /home/vzh.txt

[root@charlie root]# du /home/*.gbk
Komutu ile ana dizindeki home dizini içindeki .gbk uzantılı dosyaların kapasiteleri KB cinsinden ekranda görülebilir. Dosya isminde yine özel karakterler kullanılarak örneği “[ ] * ?? vb. gibi” ekrana gelecek liste özelleştirilebilir.

Seçenekler:
-a : Tüm dosya ve dizinlerin kapasitelerinin alt dizinlerle ve içindeki dosyalarla beraber ekran da
görüntülenmesini sağlar.

[root@charlie home]# du –a
Komutu ile içinde bulunulan dizinin içindeki tüm dosyaların, alt dizinlerin ve alt dizinlerin içinde bulunan dosyaların kapasiteleri ekranda görüntülenir.

-b : Dosya ve dizinlerin kapasiteleri ekranda Byte cinsinden gösterilir.

-c : Ekranda görüntülenen dosya ve dizin kapasitelerinin toplamını listenin altında verir. Diyelim ki ana
dizindeki etc dizininin disk üzerinde kapladığı alanı görmek istiyoruz. [root@charlie home]# du
/etc komutunu uyguluyoruz. Komutun çıktısında etc dizinin içindeki dosya ve alt dizinlerin kapasiteleri
ekranda görüntülenir. Listenin son satırında etc dizinini toplam disk üzerinde kapladığı alan gösterilir.
Yani –c parametresini kullanmanın gereği yoktur. Ancak bir dizin içinde belli bir şarta uyan dosyaların
kapasitelerinin toplamını görmek için –c parametresi kullanılabilir. Örnek olarak [root@charlie
home]# du –c /etc/*.conf komutu ile etc dizinindeki .conf uzantılı dosyaların kapasiteleri görülür.
Listenin altında bu dosyaların toplam disk üzerinde kapladığı alan gösterilir.

-h : du komutu ile ekrandaki kapasiteler aksi belirtilmedikçe KB olarak gösterilir. Bu parametre ile ekranda
dosya ve dizin kapasiteleri hakkında bilgi gösterilirken KB, MB, GB olarak dosya ve dizinlerin
kapasiteleri anlaşılır bir şekilde gösterilir.

-x : Farklı dosya sistemleriyle ilgili bilgi göstermez.
Örnek: [root@charlie root]# du / -xh komutu ile sadece ana dizindeki dosya ve dizinlerin
kapasiteleri ekranda gösterilir. Ana dizine bağlı dosya sistemleri herhangi bir dizin için bilgi gösterilmez.

-H : Dosya ve dizin kapasiteleri yine KB, MB,GB olarak gösterilir. Dosya ve dizin kapasiteleri 1024 ve katları
yerine 1000 ve katları olarak gösterilir. Yani 2048 Byte olan bir dosya –h parametresi ile 2 KB, -H
parametresi ile 2,5 KB olarak gösterilir.

-S : Alt dizinlerin kapasiteleri ekranda gösterilir. Genel toplamda dikkate alınmaz.

–exclude : Belirtilen dosyaların veya dizinlerin kapasitelerini göz önüne almaz. Ekranda bu dosyalar veya dizin için
bilgi vermez.

[root@charlie gbk]# du -ah
Komutu ile bulunduğumuz dizindeki tüm dosyaların kapasiteleri ekranda KB, MB, GB olarak görüntülenir.

12M ./fis.gbk
2.0G ./hrk.gbk
4.0K ./hrk2.gbk
58M ./ihale.gbk
576M ./lab.gbk
77M ./mdc.gbk
277M ./tnm.gbk
118M ./Login.gdb
3.1G .
[root@charlie gbk]# du -ah –exclude=l*.*
Komutu ile bulunduğumuz yerdeki adı l ile başlayan dosyalar hariç tüm dosyaların kapasitelerinin ekranda KB, MB ,GB olarak görüntülenir.

12M ./fis.gbk
2.0G ./hrk.gbk
4.0K ./hrk2.gbk
58M ./ihale.gbk
77M ./mdc.gbk
277M ./tnm.gbk
118M ./Login.gdb
2.5G .

df

df [-h] /dizin/dosya

Dosya sistemleri hakkında bilgi verir. Bir dosyanın bulunduğu dosya sistemi hakkında bilgi almak amacı ile de kullanılır.

[root@charlie gbk]# df
Komutu ile disk bölümleri ve dolu / boş alanların miktarını ekranda görebiliriz.

Filesystem 1K-blocks Used Available Use% Mounted on
/dev/cciss/c0d0p3 1007944 451152 505588 48% /
/dev/cciss/c0d0p2 43455 15060 26151 37% /boot
/dev/cciss/c0d0p6 15119912 11968012 2383844 84% /home
none 1032348 0 1032348 0% /dev/shm
/dev/cciss/c0d0p7 51729748 31140540 17961488 64% /tmp

Filesystems : Dosya sistemlerinin bağlı olduğu fiziksel disk bölümlerini,
NK-blocks : Belirlenen değere göre blok sayısını gösteriri. Standart olarak bu değer 1024 ‘tür. Yukarıda “1K-blocks”
başlığı altındaki değerler 1024 sayısı ile çarpılırsa disk bölümünün – dosya sisteminin kapasitesi
bulunur.
Used : Dosya sistemindeki kullanılan alan miktarını gösterir.
Available : Kullanılabilir boş alanın miktarı gösterir.
Use% : Dosya sistemin yüzde olarak kullanım oranını gösterir.
Mounted On : Dosya sisteminin hangi dizine bağlı olduğunu gösterir.

Seçenekler:

-a : Tüm dosya sistemlerinin ekranda görüntülenmesini sağlar. Bazı dosya sistemlerinin kapasitesi olabilir.
Bazı dosya sistemleri özel bir amaçla sanal olarak yaratılmış da olabilir. Bu parametre ile tüm dosya
sistemleri ekranda listelenir.

[root@charlie root]# df -a
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/cciss/c0d0p3 1007944 451180 505560 48% /
none 0 0 0 – /proc
/dev/cciss/c0d0p2 43455 15060 26151 37% /boot
none 0 0 0 – /dev/pts
/dev/cciss/c0d0p6 15119912 11968012 2383844 84% /home
none 1032348 0 1032348 0% /dev/shm
/dev/cciss/c0d0p7 51729748 38155724 10946304 78% /tmp

-h : Dosya sistemlerinin kapasite, dolu ve boş alanlarının KB, MB, GB olarak gösterilmesini sağlar.

[root@charlie gbk]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/cciss/c0d0p3 984M 441M 493M 48% /
/dev/cciss/c0d0p2 42M 15M 25M 37% /boot
/dev/cciss/c0d0p6 14G 12G 2.2G 84% /home
none 1008M 0 1008M 0% /dev/shm
/dev/cciss/c0d0p7 49G 34G 13G 73% /tmp

-B (M,G,T) : Dosya sistemlerinin kapasitelerinin istenen kapasite birimiyle gösterilmesini sağlar.
-B kapasite

[root@charlie root]# df -BM
Filesystem 1M-blocks Used Available Use% Mounted on
/dev/cciss/c0d0p3 984 441 493 48% /
/dev/cciss/c0d0p2 42 15 25 37% /boot
/dev/cciss/c0d0p6 14765 11688 2327 84% /home
none 1008 0 1008 0% /dev/shm
/dev/cciss/c0d0p7 50517 37262 10689 78% /tmp

[root@charlie root]# df -BG
Filesystem 1G-blocks Used Available Use% Mounted on
/dev/cciss/c0d0p3 1 1 0 48% /
/dev/cciss/c0d0p2 0 1 0 37% /boot
/dev/cciss/c0d0p6 14 12 2 84% /home
none 1 0 0 0% /dev/shm
/dev/cciss/c0d0p7 49 37 10 78% /tmp

[root@charlie root]# df -B 2048
Komutu, dosya sitemlerinin kapasitelerinin, her block için 2048 Kb olarak hesaplanıp gösterilmesini sağlar.

-k : Her block kapasitesinin 1024 KB olarak gösterilmesini sağlar.

-T : Dosya sistemlerinin kapasiteleri ile beraber dosya sisteminin türünün de ekranda görüntülenmesini
sağlar.

[root@charlie root]# df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/cciss/c0d0p3 ext3 1007944 451180 505560 48% /
/dev/cciss/c0d0p2 ext3 43455 15060 26151 37% /boot
/dev/cciss/c0d0p6 ext3 15119912 11968012 2383844 84% /home
none tmpfs 1032348 0 1032348 0% /dev/shm
/dev/cciss/c0d0p7 ext3 51729748 38155724 10946304 78% /tmp

head

stat

tail

tail –nrf dizin/dosya adı

Dosyaların içeriğinin kadar dosya sonundan dosyanın başına doğru verilen satır sayısı ekranda görüntülenmesini sağlar. Ayrıca dosyaların izlenmesi içinde kullanılır.

[root@charlie root]# tail liste
Bulunulan yerdeki liste dosyasının, dosyanın sonundan başına doğru standart olarak 10 satırı ekranda görüntüler.

[root@charlie root]# tail /opt/interbase/interbase.log
Dosyanın bulunduğu konum tarif edilerek, ilgili dosyanın içeriği sonundan başına doğru 10 satır ekranda görülebilir.

Seçenekler:
-n sayı : Belirtilen sayı kadar dosyanın içeriğinin ekranda, dosyanın sonundan başına doğru ekranda
görüntülenmesini sağlar.

[root@charlie root]# tail –n 50 /opt/interbase/interbase.log
Ana dizindeki opt dizinindeki interbase dizinindeki interbase.log dosyasının son 50 satırını ekranda görüntüler. 50 satır ekrana sığmayacağından bu komutun sonuna ¦ more yazılarak dosyanın ekranda sayfa sayfa görüntülenmesi sağlanabilir.

-c Byte : Dosyanın sonundan başına doğru verilen byte kadar karakterin ekranda görüntülenmesini sağlar.

[root@charlie root]# tail -c 100 /opt/interbase/interbase.log
interbase.log dosyasının sonundan 100 byte karakterlik kısmının ekranda görüntülenmesini sağlar.

-f : Bu parametre ile anlık dosya içeriklerinin izlenmesi için kullanılır. Bu parametre ile dosya sonuna
-F herhangi bir bilgi eklenirse ekrandan takip edilebilir. Genellikle içeriği sürekli değişen yada boyut olarak
artan dosyaların izlenmesi için kullanılır.

[root@charlie root]# tail –f /opt/interbase/interbase.log
Ana dizindeki opt dizinindeki interbase dizinindeki interbase.log dosyasının son 10 satırı ekranda görüntülenir ve
dosyanın içeriğine ekleme olursa ekranda görülebilir. Ctrl + C tuş bileşeni kullanılarak tail komutundan çıkılabilir.

–retry : Komutta belirtilen dosyanın bulunamaması durumunda, dosya oluşturulana kadar komut bekler. Bu
şekilde dosya adı verilen dosya belirtilen yerde oluştuğunda içeriği ekranda görüntülenir. –f parametresi
ile birlikte kullanılır. BU şekilde komutun dosyayı bulaması durumunda sürekli olarak dosyanın varlığı
denetlenir ve dosya oluştuğunda içeriği ekranda görüntülenir.

Örnek:
[root@charlie root]# tail -f –retry liste
Bulunulan yerde liste adındaki dosyanın olmadığını biliyoruz ve yukarıdaki komutu uyguluyoruz. Komutun çıktısı aşağıdaki gibi olacaktır.

tail: warning: –retry is useful only when following by name
tail: liste: No such file or directory

liste adında bir dosya bululan yerde oluştuğu zaman aşağıda görülen mesaj ekranda görüntülenir. Dosyanın içeriğinin artışı ekranda görülebilir.

tail: `liste’ has appeared; following end of new file
liste dosyası oluşturuldu.

-v : Ekranda içeriği görüntülenen dosyanın adının ekranda belirtilmesini sağlar.

[root@charlie root]# tail -v liste
==> liste <== ali Birden fazla dosya üzerinde aynı anda işlem yapılabilir. Mesela aşağıdaki komutla hem interbase.log dosyasını hem de liste adındaki dosyanın içeriğindeki değişmeleri gözlemleyebiliriz. İçeriği değişen dosyanın adı belirtilir ve hemen altına dosyaya yeni eklenen bilgi ekranda gösterilir. [root@charlie root]# tail -f -v /opt/interbase/interbase.log liste Komutun çıktısı aşağıdaki gibi olacaktır. ==> /opt/interbase/interbase.log <== INET/inet_error: connect errno = 111 charlie (Client) Fri Jul 4 17:29:28 2003 /opt/interbase/bin/ibguard: guardian starting bin/ibserver charlie (Client) Fri Jul 4 17:29:49 2003 /opt/interbase/bin/ibguard: bin/ibserver normal shutdown. ==> liste <== ggg aaa a":wq Diyelim ki interbase.log dosyasının içeriğine “merhaba” ifadesi eklendi. Bu durumda içeriğinde değişme olan dosyanın adı belirtilir ve eklenen bilgi ekranda görüntülenir. Hangi dosyanın içerinde bir ekleme olursa o dosya ekranda adı belirtilerek eklenen bilgi görülebilir. --pid=[pid] : Yine bu seçenek –f parametresi ile kullanılması iyi olacaktır. PID numarası verilen işlem eğer sonlanırsa, belirtilen dosyanın içeriğinin izlenmesi de sonlanır. [root@charlie root]# tail -f -n 4 --pid=1804 /opt/interbase/interbase.log Yukarıdaki komutla interbase.log dosyasının son 4 satırını ve dosya içeriğine bilgi eklenmesini anlık gözlemleyebilmek için de –f parametresini kullanarak uyguluyoruz. Uyguladığımız komutun çıktısı aşağıda görülebilir. charlie (Client) Fri Jul 4 17:46:03 2003 /opt/interbase/bin/ibguard: guardian starting bin/ibserver Eğer PID numarası 1804 olan işlem sonlanırsa tail komutu da interbase.log dosyasının içeriğini izleme işlemini sonlandıracaktır. -s saniye : Verilen saniye aralıklarında belirtilen dosyanın kontrol edilmesini sağlar. Bu parametrenin –f parametresi ile kullanılması iyi olacaktır. [root@charlie root]# tail -f -s 10 /opt/interbase/interbase.log interbase.log dosyasının içeriğini her 10 saniyede bir kontrol eder. w w - [husfV] [user] Sisteme bağlanmış kullanıcıları ve bu kullanıcıların çalıştırdıkları son komut yada program hakkında bilgi verir. who who (-ah) Sisteme başlanmış logon olmuş, çalışmakta olan kullanıcıları ekranda görmek için kullanılır. Komut uygulandığında sisteme bağlanmış kullanıcıların adı, terminal adı, bağlanılan tarih,saat ve konum ekranda aşağıdaki gibi görülebilir. [root@charlie root]# who root tty1 Jul 7 08:58 root pts/1 Jul 7 10:07 (192.168.1.203) backup pts/2 Jul 7 10:50 (192.168.1.203) Seçenekler: -H : Ekrandaki bilgilerin başlıklarının görüntülenmesini sağlar. Komutun ekran çıktısındaki bilgilerin daha rahat anlaşılabilmesi için –H parametresinin kullanılması iyi olacaktır. [root@charlie root]# who -H NAME LINE TIME COMMENT root tty1 Jul 7 08:58 root pts/0 Jul 7 10:06 (192.168.1.203) backup pts/2 Jul 7 10:50 (192.168.1.203) -a : -b, -d, --login, -p, -r, -t, -T, -u parametrelerinde görülen bilgilerin aynı anda tümünün ekranda görüntülenmesini sağlar. Komutun çıktısı aşağıda görülebilir. [root@charlie root]# who -aH NAME LINE TIME IDLE PID COMMENT EXIT Jul 8 08:28 20 id=si term=0 exit=0 system boot Jul 8 08:28 run-level 3 Jul 8 08:28 last=S Jul 8 08:28 195 id=l3 term=0 exit=0 Jul 8 08:28 554 id=ud term=0 exit=0 root + tty1 Jul 8 08:28 01:25 555 LOGIN tty2 Jul 8 08:28 556 id=2 root + tty3 Jul 8 13:12 02:24 557 root + pts/0 Jul 8 15:17 00:09 9317 (192.168.1.203) root + pts/1 Jul 8 15:18 00:02 9448 (192.168.1.203) root + pts/2 Jul 8 15:20 . 9664 (192.168.1.203) backup + pts/3 Jul 8 15:21 00:15 9706 (192.168.1.203) -b : Bağlanılan sistemin en son açılış (boot) zamanını ekranda görüntüler. [root@charlie root]# who -b system boot Jul 7 08:44 -d : Sonlanmış, ölmüş işlemleri arkamda listeler. [root@charlie root]# who -d Jul 7 08:44 20 id=si term=0 exit=0 Jul 7 08:44 195 id=l3 term=0 exit=0 Jul 7 08:44 554 id=ud term=0 exit=0 -q : Kullanıcı isimlerini ve bağlı olan toplam kullanıcı sayısını ekranda görüntüler. --count [root@charlie root]# who -q root root root backup root # users=5 -u : Bağlı kullanıcıları, kullanıcıların işlem yapmadan geçirdikleri süreyi ve kullanıcıların işlem numarası --idle ekranda görüntüler. IDLE başlığı altında “.” Görülürse son bir dakika içinde ilgili kullanıcın işlem yaptığı, “old” ifadesi ise kullanıcının son 24 saat içinde işlem yapmadığı anlamına gelir. [root@charlie root]# who -uH NAME LINE TIME IDLE PID COMMENT root tty1 Jul 7 08:58 01:53 555 root pts/1 Jul 7 10:07 . 1226 (192.168.1.203) backup pts/2 Jul 7 10:50 old 1309 (192.168.1.203) -m : Bağlanılan kullanıcıyla ilgili bilgi verir. [root@charlie root]# who -mH NAME LINE TIME COMMENT root pts/1 Jul 7 10:07 (192.168.1.203) --lookup : Bilgisayar isimlerini dns üzerinden sorgular. last last –nxf [kullanıcı adı] [terminal] is4:~ # last root pts/0 192.168.1.7 Mon Aug 9 14:53 still logged in root pts/0 192.168.1.6 Mon Aug 9 14:44 - 14:44 (00:00) root pts/0 is7 Mon Aug 9 08:37 - 08:39 (00:01) root pts/1 192.168.1.203 Tue Aug 3 14:22 - 18:22 (03:59) root pts/1 192.168.1.32 Tue Aug 3 14:13 - 14:20 (00:07) root pts/0 192.168.1.7 Tue Aug 3 14:11 - 14:21 (00:09) root tty3 Tue Aug 3 12:21 still logged in root tty2 Mon Aug 2 18:04 still logged in root tty1 Mon Aug 2 18:03 still logged in reboot system boot 2.6.5-7.95-defau Mon Aug 2 18:03 (6+20:50) root tty3 Sat Jul 31 20:02 - down (1+21:56) wtmp begins Sat Jul 31 15:24:24 2004 İstenilen konsolun adı verilerek sadece o konsoldan sisteme bağlanmış, log on olmuş kullanıcılarla ilgili bilgiler görülebilir. Aşağıdaki komutla sadece tty1 konsolundan sisteme log in olmuş kullanıcıları listeliyoruz. Örnek: [root@alpay root]# last tty1 root tty1 Tue Sep 28 14:15 still logged in root tty1 Mon Sep 27 16:23 - crash (21:50) root tty1 Mon Sep 13 11:11 - crash (14+05:07) root tty1 Fri Sep 10 08:45 - down (00:54) root tty1 Thu Sep 2 09:04 - 10:43 (01:39) Eğer istenirse sanal terminallerden yani uzak bilgisayarlardan sisteme log on olan kullanıcılarla ilglil bilgiler de görülebilir. pts/1... ifadesi sisteme bağlanan uzak bilgisayarları ifade eder. Örnek: charlie:~ # last pts/9 kubilay pts/9 192.168.1.32 Wed Sep 29 09:23 still logged in root pts/9 192.168.3.203 Thu Sep 16 11:17 - 12:03 (00:45) wtmp begins Wed Sep 15 08:38:11 2004 Sadece istenen kullanıcının log in işlemleri kullanıcının adı belirtilerek görülebilir. Aşağıdaki komut ile backup kullanıcısının log in işlemlerini ekranda listeliyoruz. charlie:~ # last backup backup pts/7 192.168.1.203 Wed Sep 29 09:22 - 09:22 (00:00) backup pts/7 192.168.1.32 Wed Sep 29 09:22 - 09:22 (00:00) backup pts/7 192.168.1.32 Wed Sep 29 09:22 - 09:22 (00:00) backup pts/7 192.168.1.32 Wed Sep 29 09:21 - 09:21 (00:00) backup pts/5 localhost Mon Sep 27 17:49 - 17:49 (00:00) backup pts/5 localhost Mon Sep 27 17:48 - 17:48 (00:00) wtmp begins Wed Sep 15 08:38:11 2004 -n [sayı] : Ekranda gösterilecek satır sayısı. -R : Kullanıcıların bağlandıkları makine adlarını yada IP adreslerini göstermez. -o : Eski wtmp dosyasının okunması için kullanılır (linux-libc5). -x : Sistemin kapatıldığı ve init çalışma seviyelerinde yapılan değişiklikleri listeler (run level). -d : Uzaktan bağlanan istemcilerin IP adreslerinden bilgisayar isimlerine çevirmeye çalışır. -i : Sisteme log in olmuş tüm kullanıların bağlandıkları makinelerin bilgisayar adları yerine IP adreslerinin görüntülenmesini sağlar. -f : bu parametre ile daha önce yedeği alınmış wtmp dosyalarının içerikleri düzenli şekilde ekranda görülebilir. Örnek: Aşağıdaki komutla /tmp dizini içine 29.09.2004_wtmp adıyla kaydedilen wtmp dosyasını –f parametresi ile belirterek bu dosyanın içeriğini ekranda düzenli olarak görüntüleyebiliyoruz. [root@alpay root]# last -f /tmp/29.09.2004_wtmp kubilay pts/4 192.168.50.3 Thu Sep 2 04:45 - 04:45 (00:00) root pts/3 192.168.50.3 Thu Sep 2 04:44 - 04:44 (00:00) kubilay pts/2 192.168.50.3 Thu Sep 2 04:44 - 04:44 (00:00) root pts/1 192.168.50.3 Thu Sep 2 04:10 - down (03:29) root pts/0 192.168.50.3 Thu Sep 2 04:04 - 06:10 (02:06) wtmp begins Thu Sep 2 04:04:02 2004 chmod chmod [-Rhf] izin kodu {dosya...|dizin...} Dosya ve dizinlere erişim haklarını belirlemek için kullanılır. Dosya ve dizinler erişim izinlerini belirlemek için, bu izinleri tanımlayan rakamlar yada sembolik tanımlamalar kullanılır. Sayılar: Sembolik Tanımlar: Çalıştırma x execute : 1 r : okuma yetkisi (read) Yazma w write : 2 w : yazma yetkisi (write) Okuma r read : 4 x : çalıştırma yetkisi (execute) s : programı çalıştıran kullanıcıların, program çalıştığı sürece ve sadece bu programla ilgili komutlar açısından, program dosyasının sahibinin yetkilerine sahip olmalarını sağlar. - : İzin yok anlamına gelir. -rwxr-xr-x 1 root root 8489 May 23 08:07 hastane Yukarıda hastane adındaki doyanın izinlerini görebiliyoruz. Kısaca bilgilerimizi yeniden tazeleyecek olursak: 2.,3.,4., karakter dosyanın sahibinin haklarını 5.,6.,7., karakter kullanıcının üye olduğu grubun haklarını 8.,9.,10. karakterler ise diğer kullanıcıların dosya üzerindeki haklarını ifade eder Bir dosyaya izin tanımlamak için, verilecek izini temsil eden sayı yada sembolik tanım belirtilir. Örneğin dosyaya yazma izini verilecekse 2 sayısının yada w tanımının kullanılması gibi. Birden fazla izin tanımlanacaksa, izinleri temsil eden sayılar toplanır. Örneği okuma ve çalıştırma yetkisi dosyaya verilecekse okuma 4 + yazma 1 = 5,sembolik yada +rw ifadesi kullanılır. İzinlerin anlamı, dosya ve dizinler için farklı yorumlanır. Okuma: Yazma: Çalıştırma: İzin Dosya Dizin Okuma Dosyanın içeriğini görebilme Dizinde hangi dosyaların bulunduğunu görebilme Yazma Bir dosya üzerinde değişiklik veya ekleme yapabilme Bir dizindeki dosyaları silebilme veya taşıyabilme Çalıştırma İkili yapıdaki bir programı veya kabuk betiğini çalıştırma Bir dizinde arama yapabilme, okuma izinleri ile birlikte Her kullanıcı kendi dosyaları üzerinde tüm haklara sahiptir. Diğer kullanıcıların dosya ve dizinleri üzerinde o kullanıcının belirlediği yetkiler ile çalışabilir. Eğer bir kullanıcı olarak sisteme bağlanıldıysa kullanıcı bu yetkileri kendi dosyaları için değiştirebilir. Yani dosyanın sahibi kendisidir. -r-------- 1 root root 8489 May 23 08:07 calisma Yukarıdaki calisma adlı dosyamızın izinleri görüyoruz. Bu dosyanın izinlerini tanımlayalım. root olarak sisteme bağlandığımızı düşünelim. calisma adlı dosyaya, sahibi için tüm izinleri (root), grubu için okuma ve çalıştırma, diğer kullanıcılar içinde sadece okuma yetkisini tanımlayalım. [root@charlie root]# chmod 754 calisma Komutta görülen rakamlar, 7 dosyanın sahibi için, 4 dosyanın sahibinin üye olduğu grup kullanıcıları için, 5 diğer kullanıcıların haklarını ifade eder. Bu sayıların anlamlarına bakacak olursak; Dosyanın sahibi için 1 + 2 + 4 = 7 çalıştırma (x) yazma (w) okuma (r) =xwr Kullanıcının grubu için 1 + 4 = 5 çalıştırma (x) okuma (r) = xr Diğer kullanıcılar için 4 = 4 okuma (r) = r Sembolik tanımlamalar ise anlamları aşağıda görülebilir. u : dosya/dizinin sahibi (user) g : dosya/dizinin sahibiyle aynı grupta olanlar (group) o : diğer kullanıcılar (others) a : herkes (all) Yukarıdaki açıklamalara bakarak calisma adlı dosyanın izinlerini sembolik tanımlarla belirleyelim [root@charlie root]# chmod u+wxr,g+xr,o+r calisma u user yani root kullanıcısına yazma w, çalıştırma x ve okuma r izinlerini; g kullanıcının grubuna çalıştırma x, okuma r; o diğer kullanıcılara okuma r yetkisini verir. Her iki komutun uygulanmasından sonra ls –l komutu ile dosyayı ekranda listelediğimizde izinlerin aşağıdaki gibi düzenlenmiş olduğunu görebiliriz. -rwxr-xr-- 1 root root 8489 6 Jul 30 17:37 calisma “+” işareti ile ilgili izinler dosyaya verilir. Erişim izni alınacaksa “-“ işareti kullanılır. deneme adlı dosyada sahibinin tüm yetkileri, grubun okuma yetkisi, diğer kullanıcılarında okuma ve çalıştırma yetkisi olsun. Deneme dosyasından diğer kullanıcıların okuma ve çalıştırma yetkisini almak için, -rwxr--r-x 1 root root 8489 6 Jul 30 17:37 deneme [root@charlie root]# chmod 740 deneme yada [root@charlie root]# chmod o-rx deneme komutları verilebilir. Sayı ile izinler üzerinde ayarlama yaparken dosyanın sahibinin ve grubunun yetkisi eskisi gibi bıraktık. Diğer kullanıcıların yetkilerini tamamen kaldırmak için “0” sayısını kullandık. ls –l deneme komutu ile dosyanın izinlerini kontrol edebiliriz. -rwxr----- 1 root root 8489 6 Jul 30 17:37 deneme Sembolik tanımlar ile dosya izinleri aynı anda verilebilir veya alınabilir. Aşağıdaki komutla bulunulan yerdeki a adlı dosyaya, sahibi için yazma yetkisi alınıp, çalıştırma yetkisi dosyaya verilir. [root@charlie tmp]# chmod u-w+x a Seçenekler: -c : Dosyanın izinleri üzerinde değişiklik olursa ekranda izinler sayısal olarak gösterir. Eğer dosyaların izinlerinde değişiklik olmazsa ekranda bilgi mesajı görüntülenmez. Aşağıdaki komutla bulunulan yerdeki a dosyasına sahibi için yazma ve okuma, diğer kullanıcılar için okuma iznini dosyaya verir. Ekranda dosya izinleri sayısal ve sembolik tanımları ile ekranda gösterilir. [root@charlie tmp]# chmod 604 a -c mode of `a' changed to 0604 (rw----r--) -v : Yapılan her işlem için ekranda bilgi mesajı görüntüler. [root@charlie tmp]# chmod 604 a -v mode of `a' changed to 0604 (rw----r--) -R : Dizin ve alt dizinlerdeki dosyalar üzeride işlem yapılmasını sağlar. [root@charlie tmp]# chmod 700 dnm/* -R Yukarıdaki komutla dnm dizini ve alt dizinlerindeki tüm dosyaların izinleri sahibi için yazma, çalıştırma ve okuma olarak belirlenir, grubu ve diğer kullanıcılar içinde dosyanın tüm izinleri alınır. -f : Geçersiz izinler ve kullanım cümleleri dışında kalan hata mesajlarını ekranda görüntülemez. Bir dosya yada dizinin ilgili linki ile ilgili izinler düzenlenirse, linkin bağlı olduğu dosya ve dizinin izinleri değiştirilmiş olur. Temel olarak dosya ve dizinlere çalışma (x=1), yazma (w=2) ve okuma (r=4) izinleri nasıl verilir açıklamış olduk. Ancak bu izinlerle beraber dosya ve dizinlere bir takım özellikler katan izinler tanımlanabilir. Yapışkan bit t: Yapışkan bit (t) olarak da anılan izin genel olarak dizinler için kullanılır. Aşağıda görüleceği üzere dosya ve dizin izinlerin en sonunda görülebilir. Eğer dizine bu izin verilmişse, o dizin içinde kullanıcılar dosya oluşturabilir. Ama hiçbir kullanıcı diğer kullanıcının dosyalarını silemez değiştiremez. Sadece dosyanın sahibi ve dizinin sahibi kullanıcıların oluşturmuş olduğu dosyaları silebilir. Genel olarak FTP sunucular için bu özellik çok kullanışlıdır. drwxrwxrwxt 9 root root 4096 Aug 4 18:01 tmp Diyelim ki chmod 777 txt komutu aslında chmod 0777 txt komutudur. Buradaki ilk bit dizinin yukarıda bahsettiğimiz özelliğini temsil eder. Eğer bir dizine bu özelliği kazandırmak, bu izni vermek istiyorsanız [root@charlie root]# chmod 1777 /tmp [root@charlie root]# chmod u+t /tmp Komutları verilebilir ve dizininin izinlerinin aşağıdaki gibi düzenlenmiş olduğu görülebilir. drwxrwxrwxt 9 root root 4096 Aug 4 18:01 tmp Dizinden artık bu izin alınmak isteniyorsa aşağıdaki komut kullanılabilir. [root@charlie root]# chmod 0777 /tmp s Biti SUID (set user id): Linux altında her kullanıcı kendi dosyalarıyla çalışır. Her kullanıcı kendisini tanımlayan bir numaraya ID ‘ye sahiptir. “s” bitine sahip bir dosyayı kullanan kullanıcı kendi kullanıcı kimliği ile değil, dosyanın sahibinin yetkilerine sahip olarak dosyayı kullanır. Büyük bir güvenlik açığı olabilecek özelliği kullanırken hangi dosyalara bu yetkinin verileceği iyi düşünülmelidir. [root@charlie root]# chmod u+s /etc/passwd [root@charlie root]# chmod 4755 /etc/passwd GUID (set group id): Eğer bir dosyanın bu bitini1 yaparsanız diğer kullanıcılar bu dosyayı grup ID ‘si ile çalıştırırlar. Eğer bir dizinin bu bitini 1 yaparsanız (chmod g+s dizin ile), bu dizinde yaratılan dosyaların grupları, bu dizinin grubu ile aynı olacaktır. Bu şekilde oluşturulan her dosya grubun kullanımına açık hale gelecektir. [root@charlie root]# chmod g+s /etc/2003_uretim_raporlari [root@charlie root]# chmod 2755 /etc/listele chown chown [-cR] kullanıcı:grup dosya adı Dosya ve dizinlerin sahibini, grubunu değiştirmeyi sağlar. Dosyaların sahiplerini sadece root değiştirir ve belirler. Dosyanın yada dizinin sahibi dosyanın izinlerini belirler. [root@charlie notlar]# ls -l -rw-r----- 1 ahmet uretim 10 Jul 7 10:52 kullanici Yukarıda kullanici dosyasının sahibi ahmet, bu dosyanın grubu uretim olarak görülmektedir. Sahibi için okuma ve yazma, grubu için sadece okuma yetkilerine sahiptir. Bu dosyanın izinleri root ve sahibi ahmet tarafından belirlenebilir. Bu dosyanın sahibi de sadece root tarafından değiştirilebilir veya belirlenir. kullanici dosyasının sahibini dilek olarak değiştirelim. Bu işlem için aşağıdaki komutu vermek yeterli olacaktır. [root@charlie notlar]# chown dilek kullanici Yaptığımız işlemi ls komutu ile görelim. İlgili dosyanın sahibinin dilek olarak değiştiği ama grubunun aynı kaldığı görülebilir. [root@charlie notlar]# ls -l -rw-r----- 1 dilek uretim 10 Jul 7 10:52 kullanici kullanici dosyasının sahibi dilek olarak değiştirdik. Dosyanın grubunu değiştirmedik. uretim grubuna uye kullanıcılar, dilek kullanıcısı uretim grubuna uye olmasa dahi, bu dosya üzerinde okuma yetkisine sahip hala sahipler. Eğer dosyanın hem sahibini hem de grubunu değiştirmek istiyorsak aşağıdaki komutu uygulayabiliriz. [root@charlie notlar]# chown dilek:backup kullanici [root@charlie notlar]# ls -l -rw-r--r-- 1 dilek backup 10 Jul 7 10:52 kullanici chown komutundan sonra dosyanın sahibi olacak kullanıcı adını “:” yada “.” işaretinden sonra grup adını yazarak komutu tamamlıyoruz. Yaptığımız işlemi ls komutu ile kontrol ediyoruz. Dosyanın sahibini değiştirmeden grubunu değiştirmek için “:” yada “.” işaretinden sonra grup adını belirtiyoruz. [root@charlie notlar]# chown :user kullanici -R : Dizin ve alt dizinlerdeki dosya ve dizinler içinde işlem yapılmasını sağlar. [root@charlie notlar]# chown backup /gecici -R Ana dizindeki gecici dizininin içindeki dosya ve dizinlerin sahibini backup kullanıcısı olarak değiştirir. -v : Sahibi yada grubu değişen dosya ve dizinleri ekranda görüntüler. [root@charlie notlar]# chown root a/* --dereference -v changed ownership of `a/abc' to root changed ownership of `a/anaconda-ks.cfg' to root changed ownership of `a/b' to root -c : Ekranda sadece sahibi yada grubu değişen dosyaları –v parametresinde olduğu gibi görüntüler. --dereference : Eğer bir linkin sahibi yada grubu değiştirilirse, bu parametre ile linkin işaret ettiği dosya yada dizininde sahibi yada grubu değişir. Bu seçenek kullanılmazsa, sadece ilgili link dosyasının sahibi veya grubu değişir. -f : Hata mesajlarını gizler. Bulunduğumuz dizindeki ibstart adlı dosyayı listeliyoruz. Görüleceği üzere ibstart dosyası ana dizindeki root dizini içindeki ibstart dosyası için oluşturulmuş bir link dosyasıdır. [root@charlie notlar]# ls -l ibstart lrwxrwxrwx 1 root root 13 Jul 29 13:08 ibstart -> /root/ibstart

Ana dizindeki root dizinindeki ibstart dosyasını listeleyerek, bu dosyayla ilgili bilgileri ekrana getirelim. Dosyanın sahibi root, grubu da root olarak görünüyor.
[root@charlie notlar]# ls -l /root/ibstart
—x–x–x 1 root root 28 Jan 28 2003 /root/ibstart

Bulunduğumuz yerdeki, ana dizindeki root dizinindeki ibstart dosyasına işaret eden linkin, sahibini kubilay kullanıcısı olarak belirlemek istiyoruz ve yukarıdaki komutu uyguluyoruz. –dereference seçeneği ile link dosyasının yerine işaret ettiği dosyanın üzerinde işlem yapmayı, -v parametresi ile de ekranda yapılan işlemle ilgili bilgi mesajını görüntülemeyi sağlıyoruz.
[root@charlie notlar]# chown kubilay ibstart –dereference -v
changed ownership of `ibstart’ to kubilay

Yaptığımız işlemi kontrol etmek için önce bulunduğumuz yerdeki link dosyasını, sonra da root dizinindeki asıl dosyayı listeliyoruz.
[root@charlie notlar]# ls -l ibstart
lrwxrwxrwx 1 root root 13 Jul 29 13:08 ibstart -> /root/ibstart

[root@charlie notlar]# ls -l /root/ibstart
—x–x–x 1 kubilay root 28 Jan 28 2003 /root/ibstart

Dosyaların ve dizinler için geçerli kurallar sahibi, dosyanın sahibinin grubu ve diğer kullanıcılar içindir. Dosyanın sahipliğini, grubunu sadece root belirler. Dosya izinlerini de root ve dosyanın sahibi belirleyebilir. Tüm kullanıcılar için çalışma dizinleri belirlenebilir. Bu dizinlerin izinlerini yapışkan bit, herkes için okuma, yazma ve çalıştırma olarak belirlenebilir. Aşağıdaki komutlara ve çıktılarını incelersek konuyu daha iyi anlayabiliriz.

[root@charlie root]# mkdir /ortak
Ana dizinde ortak adında bir dizin oluşturuyoruz.

[root@charlie root]# chmod 1777 /ortak
Ana dizindeki ortak dizini için herkese okuma yazma ve çalıştırma yetkilerini veriyoruz. Ayrıca bu dizine yapışkan bit denilen izinle; yani her kullanıcının kendi dosyalarından başka dosyaları silememesini, ismini değiştirememesini sağlıyoruz. Çalıştırma, okuma ve yazma izinleri kullanıcılar kendi isteklerine göre düzenleyerek gerekli izinleri verebilirler.

[root@charlie root]# ls –l /
Komutu ile ekrana gelen listede ortak dizininin izinlerini ekranda görüyoruz.

drwxrwxrwt 12 root root 4096 Aug 13 14:40 ortak

ortak dizinin içinde aşağıdaki dosyaların bulunduğunu varsayalım.
[backup@charlie ortak]$ ls -l
total 20
drwxrwxrwt 2 root root 4096 Aug 13 14:51 .
drwxr-xr-x 20 root root 4096 Aug 13 14:47 ..
-rw-r–r– 1 root root 6 Aug 13 14:51 genel_rapor
-rw-r—– 1 ali backup 5 Aug 13 14:49 ocak_rapor
-rw-rw-r– 1 backup backup 6 Aug 13 14:48 subat_rapor
-rw-rw-r– 1 user user 6 Aug 13 14:50 mart_rapor

Yukarıdaki dosya listesinde görüleceği üzere root, user, backup ve ali kullanıcısına ait birer dosya dizin içinde mevcut.Bu dört kullanıcıda birbirlerinin oluşturmuş oldukları dosyaları dosyanın sahibinin verdiği izinler ölçüsünde görebilir, okuyabilir, kopyalayabilir, içerisinde değişiklik yapabilir ama silemez, ismini değiştiremez, taşıyamaz.

– ali kullanıcısı

ali kullanıcısının dosyası kendisi için okuma ve yazma, grubu ve diğer kullanıcılar için sadece okuma izinlerine sahiptir.

backup kullanıcısı ile aynı gruptadır. Bu yüzden grup izinlerine bakarsak ali kullanıcısı backup kullanıcısının dosyasını görebilir, içinde değişiklik yapabilir, kopyalayabilir ama çalıştıramaz, silemez ve adını değiştiremez, taşıyamaz, izin tanımlayamaz.
root ve user kullanıcılarının dosyalarını sadece görebilir, kopyalayabilir ve okuyabilir.

– backup kullanıcısı
backup kullanıcısının dosyası kedisi ve grubu için okuma ve yazma, diğer kullanıcılar için sadece okuma izinlerine sahiptir.

ali kullanıcısı ile aynı gruptadır. ali kullanıcısının dosyasını görebilir ve okuyabilir, kopyalayabilir ama içinde değişiklik yapamaz, çalıştıramaz, ismini değiştiremez, taşıyamaz, izin tanımlayamaz.

– user kullanıcısı
user kullanıcısının dosyası kendisi ve grubu için yazma ve okuma, diğer kullanıcılar için sadece okuma izinlerine sahiptir.

ali, backup ve root kullanıcısının dosyalarını sadece görebilir, okuyabilir, kopyalayabilir. ali kullanıcısının da dosyasını, sadece görebilir ama okuyamaz ve kopyalayamaz.

– root
ise bu dosyaları okuyabilir, içinde değişiklik yapabilir, ismini değiştirebilir, taşıyabilir ve silebilir. root için dosya ve dizin izinlerinin bir anlamı yoktur.Tüm dosya ve dizinlere root erişebilir.

s bitinin farkı

Yukarıdaki örnek olarak verilen ortak dizininde kullanıcıların birbirlerinin dosyalarını silememelerinin nedeni yapışkan bit olarak tanımladığımız “t” özelliktir. Eğer ortak dizini için bu özelliği root vermemiş olsaydı, ali kullanıcısı backup kullanıcısının dosyasının üzerinde grup yetkilerini kullanarak dosyanın içerisinde değişiklik yapabilecek, silebilecek, ismini değiştirebilecek veya taşıyabilecektir. root ve user kullanıcılarının dosyalarını diğer kullanıcı yetkilerine göre sadece okuyabilecek ve kopyalayabilecektir.

backup kullanıcısı grup yetkilerine göre ali kullanıcısının dosyasını sadece görebilecek, kopyalayabilecek ve okuyabilecek ama silemeyecek, içerisinde değişiklik yapamayacak, ismini değiştiremeyecek, çalıştıramayacak ve taşıyamayacaktı. root ve user kullanıcılarının dosyalarını diğer kullanıcı yetkilerine göre sadece okuyabilecek ve kopyalayabilecektir.

user kullanıcısı diğer kullanıcı yetkilerine göre backup, ali ve root kullanıcılarının dosyalarını sadece okuyabilecek ve kopyalayabilecektir.

chgrp

chgrp [-Rc] grup dosya adı

Dosya ve dizinlerin grubunu değiştirmeyi sağlar.

Bu işlem için chown komutu da kullanılabilir.

Bulunduğumuz yerdeki clear adlı dosya ait bilgileri ekranda listeliyoruz. Dosyanın sahibi backup adlı kullanıcı ve bu kullanıcı backup grubunun üyesi.
[root@charlie tmp]# ls -l clear
-rw-r–r– 1 backup backup 6 Aug 13 16:28 clear

Bu dosyanın grubunu yazilim grubu olarak değiştirmek istiyoruz. Komuttan sonra dosyanın yeni grubunu ve dosyanın adını yazıyoruz.
[root@charlie tmp]# chgrp yazilim clear

Dosyanın bilgilerini ekran tekrar listeliyoruz. Dosyanın sahibinin aynı kaldığını ama grubunun yazilim olarak değiştiğini görebiliriz.
[root@charlie tmp]# ls -l clear
-rw-r–r– 1 kubilay yazilim 6 Aug 13 16:28 clear

-c : Ekranda sadece sahibi yada grubu değişen dosyaları –v parametresinde olduğu gibi görüntüler.

-R : Dizin ve alt dizinlerdeki dosya ve dizinler içinde işlem yapılmasını sağlar.

-v : Sahibi yada grubu değişen dosya ve dizinleri ekranda görüntüler.

-f : Hata mesajlarını gizler.

–dereference : Eğer bir linkin sahibi yada grubu değiştirilirse, bu parametre ile linkin işaret ettiği dosya yada dizininde
sahibi yada grubu değişir. Bu seçenek kullanılmazsa, sadece ilgili link dosyasının sahibi veya grubu
değişir.

whereis

whereis –bms [komut]

Verilen komut için işletilecek binary dosyasının yerini ve yardim dosyalarını ekranda gösterir.

[root@charlie root]# whereis iptables
iptables: /sbin/iptables /lib/iptables /usr/share/man/man8/iptables.8.gz
Yukarıdaki komutla iptables komutunun bulunduğu dizini ve binary dosyasının yerini görebiliriz.

Seçenekler:

-b : Sadece verilen komuta ait binary dosyaları ekranda gösterir, bulur.

[root@charlie root]# whereis -b iptables
iptables: /sbin/iptables /lib/iptables

-m : Sadece komutla ilgili yardım dosyalarının (manual) yerine ekranda listeler.

[root@charlie root]# whereis -m iptables
iptables: /usr/share/man/man8/iptables.8.gz

-s : Sadece verilen komuta ait kaynak kodu (source) içeren dosyanın yerini ekranda görüntüler.

uptime

uptime

Sistemin ne kadar süredir açık olduğunu, geçerli tarihi, işlem yükü (1, 5 ve 15 dakika ortalamaları)ve bağlı kullanıcı sayısı hakkında bilgi verir.
/var/run/utmp, /var/log/wtmp dosyalarına bakarak kullanıcı sayısı ve sistemin ayakta olduğu süre hesaplanır. Komutun en yaygın kullanımı ve ekran çıktı aşağıda görülebilir.

is6:~ # uptime
2:43pm up 17 days 1:52, 6 users, load average: 0.09, 0.06, 0.07
Geçerli Sistemin açık olduğu gün sisteme bağlı son 1,5 ve 15 sistemin ortalam yükü
Saat ve dakika kullanıcı sayısı

ps

ps [-efx]

Çalışan işlemler hakkında bilgi verir. Bu komutla çalışan servisler, çalışan program ve komutlar görülebilir.

UID PID PPID C STIME TTY TIME CMD
root 1 0 0 08:42 ? 00:00:04 init

Komut uygulandığında ekranda çalışan işlemlerle ilgili bilgiler gelecektir. Burada hangi bilginin neyi ifade ettiğini kısaca açıklayalım.

UID : İşlemi başlatmış olan kullanıcı.
PID : İşlemin tanımlanmış numarası. Başlatılan her işlem için bir numara (Process ID) atanır. Bu numara o
işlemim bitişine
yada sonlandırılmasına kadar kullanılır. Sonlanan işlemin numarası yeni başlatılan bir işleme verilmez.
PPID : İşlemin bağlı olduğu işlem numarası (PID).
%CPU : İşlemin CPU ‘daki yük durumu.
%MEM : İşlemin hafızada kapladığı alan.
SIZE : Programın toplam kullandığı bellek alanı (kilobyte)
RSS : Programın bellekte kapladığı gerçek alan. Bu değer paylaşılan sistem kütüphaneleri (shared library)
nedeniyle genellikle SIZE değerinden küçüktür.
TTY : Sürecin çalıştırıldığı (sanal) terminal
C :
STIME : İşlemin başlatıldığı zaman.
STAT : İşlemin durumu.
R = İşlem çalışabilir durumda.
T = İşlem durmuş. Genel olarak bu durum Ctrl + Z tuşu ile durudurulan işlemlerde görülür.
P = İşlem diskten bir sayfa yüklemesi bekliyor.
D = İşlem diskten bilgi yüklemesi bekliyor.
S = İşlem 20 saniyeden az bir süredir bekliyor.
I = İşlem 20 saniyeden uzun bir süredir bekliyor, uyuyor.
Z = İşlem sonlanmış ama hafızadan silinmemiş durumda (Zombi). Makineyi meşgul etmezler.
Sistem kaynağı harcamazlar. Bu tür süreçler öldürülemezler.
W = İşlem diske aktarıldı.
> = İşlem kendisi için geçerli olan bellek limitini aştı.
N = İşlem düşük öncelikle işliyor.
< = İşlem yüksek öncelikle işliyor. TIME : İşlemin çalıştırılması için harcanan süre. CMD : İşlemin adı, yada çalışan komut. Seçenekler: -e : Tüm işlemlerin ekranda görüntülenmesini sağlar. -A Örnek: [root@charlie root]# ps -e [root@charlie root]# ps -A Bu parametre ile PID, TTY, TIME, CMD bilgileri ekranda görülebilir. Listenin daha anlaşılır olması için –f parametresinin kullanılması yararlı olacaktır. -x : Terminal işlemleri dışında kalan işlemlerin ekranda listelenmesini sağlar. Yani sadece bağlanılmış yada üzerinde oturum açılmış sistemin üzerindeki işlemler ekranda listelenir. Örnek: [root@charlie root]# ps –x -a : Grup liderleri ve terminallerle ilişkisi olanlar dışında kalan tüm işlemler hakkında bilgi verir. Kısacası açılan oturumlarla beraber çalıştırılan işlemler ekranda görüntülenir. -r : Sadece çalışan işlemleri ekranda listeler. -T : Eğer bir kullanıcı olarak sisteme bağlanıldıysa, sadece kullanıcının işlemleri ekranda listelenir. -p PID : PID ‘i (process id) verilen işlemi ekranda görüntüler. Örnek: [root@charlie root]# ps -p 679 -U kullanıcı : Sadece verilen kullanıcının işlemleri ekranda listelenir. Örnek : [root@charlie root]# ps -U backup Backup kullanıcısına ait işlemler ekranda listelenir. -C : Sadece adı verilen komutla ilgili bilgi verir. [root@charlie root]# ps -C ibserver PID TTY TIME CMD 533 ? 00:00:00 ibserver -N : İstenen işlemin dışında kalan diğer işlemleri ekranda listeler. Örnekler: [root@charlie root]# ps -C ibserver –N -C parametresi ile sadece adı ibserver olan işlem veya işlemlerle ilgili bilgileri verir. –N parametresi kullanılırsa adı ibserver olmayan işlemler ekranda listelenir. -G : Sadece belirlenen grubun kullanıcılarının işlemleri ekranda görüntülenir. -f : İşlemlerle ilgili ayrıntılı bilgilerin ekranda gösterilmesini sağlar. -u : Ekranda kullanıcıya ait işlemlerin daha rahat anlaşılabilecek başlıklarla listeler. ps komutunun en yaygın kullanımları aşağıda görülebilir. [root@charlie root]# ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 08:27 ? 00:00:04 init Tüm işlemlerin ekranda gösterilmesini sağlar. Ekrana gelen listede UID kullanıcı, PID işlemin numarası, PPID işlemin bağlı olduğu işlem numarası, C cpu kullanımı, STIME işlemin ilk olarak çalıştığı zaman, TIME bu işlemin çalıştırılması için harcanan zaman, CMD işlemi çalıştıran başlatan komut görülebilir. [root@charlie root]# ps -aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.0 1336 480 ? S 08:27 0:04 init Tüm işlemlerin ekranda görüntülenmesini sağlar. USER kullanıcı, PID işlemin numarası, %CPU işlemin cpu kullanımı, %MEM işlemin hafıza kullanımı, RSS Programın bellekte kapladığı gerçek alan, STAT işlemin durumu, START işlemin ilk çalıştığı zaman, TIME işlemin çalıştırılması için harcanan zaman, COMMAND işlemin başlatan, çalıştıran komuttur. kill kill [-9..] PID,PID,... Çalışan işlemleri durdurmak için sinyal gönderir. Bu komut çalışan bir işlemi durdurmak amacı ile kullanılır. ps komutu ile çalışan işlemler görülebilir. Bu komutun çıktısında görülen işlemlerin PID nosu kill komutuyla kullanılır. Komutun en yaygın kullanımları: [root@charlie root]# kill -9 1431 1431 numaralı işlem sonlandırılır. Bu işleme bağlı olarak çalışan diğer işlemler (PPID) de sonlanacaktır. Bu yüzden kill komutu dikkatli kullanılması gereken bir komuttur. Bu komutta kullanılan -9 SIGKILL mesajını temsil eder ve belirtilen işleme bu mesaj uygulanır. Birden fazla işlem numarası kill komutu ile verilebilir. Bu şekilde her işlem için bir komut vermek yerine, işlemler tek komutla sonlandırılabilir. Örnek: [root@charlie root]# kill -9 1431 1432 1556 kill komutu uygulandıktan sonra ps -ef komutuyla PID numarası verilen işlemin durumu, yada çalışıp çalışmadığı görülebilir. [backup@charlie root]# kill -9 0 Yukarıdaki komut backup kullanıcısının tüm işlemlerini sonlandırır. Komutun kullanılırken bağlı olduğunuz kullanıcının yetkilerine dikkat etmeniz yararınıza olacaktır. [backup@charlie root]# kill -9 -1 Kullanıcının sahip olduğu tüm işlemler sonlandırılır. Kullanıcı yazıcıdan çıktı alıyorsa bu işlemi de sonlandırılacaktır. Ayrıca kill komutu ile [backup@charlie root]# kill -term 532 PID numarası belirtilen işlemin toparlanıp sonlandırılmasını sağlar. [backup@charlie root]# kill -kill 532 PID numarası belirtilen işlemin hemen sonlandırılmasını sağlar. [backup@charlie root]# kill -hup 532 PID numarası belirtilen işlemin kendine ait yapılandırma dosyalarının yeniden okunması ve çalışma düzeninin buna ayarlanması için kullanılır. Bir root kullanıcı herhangi bir süreci kill komutuyla sonlandırabilir. Eğer root kullanıcı değilseniz sonlandırmak istenen işlemin kullanıcı tarafından başlatılmış olması gerekir. Yani sadece kullanıcıya, kendinize ait işlemleri sonlandırabilirsiniz. kill komutu ile işlemler için gönderilecek mesajların listesi aşağıda görülebilir. [root@charlie root]# kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR 31) SIGSYS 32) SIGRTMIN 33) SIGRTMIN+1 34) SIGRTMIN+2 35) SIGRTMIN+3 36) SIGRTMIN+4 37) SIGRTMIN+5 38) SIGRTMIN+6 39) SIGRTMIN+7 40) SIGRTMIN+8 41) SIGRTMIN+9 42) SIGRTMIN+10 43) SIGRTMIN+11 44) SIGRTMIN+12 45) SIGRTMIN+13 46) SIGRTMIN+14 47) SIGRTMIN+15 48) SIGRTMAX-15 49) SIGRTMAX-14 50) SIGRTMAX-13 51) SIGRTMAX-12 52) SIGRTMAX-11 53) SIGRTMAX-10 54) SIGRTMAX-9 55) SIGRTMAX-8 56) SIGRTMAX-7 57) SIGRTMAX-6 58) SIGRTMAX-5 59) SIGRTMAX-4 60) SIGRTMAX-3 61) SIGRTMAX-2 62) SIGRTMAX-1 63) SIGRTMAX top top (-dp) Çalışan işlemlerin durumunu gerçek zamanlı olarak gösterir. İşlemlerin yönetilmesi, CPU, bellek kullanımlarına göre işlemlerin sıralanmasını sağlar. top komutu seçenekleri ile uygulanabilir. Komut uygulandıktan sonra çalışan işlemlerin gözlemlenmesi sırasında da çalışan işlemler verilen komutlarla yönlendirilebilir, sıralanabilir. Top komutu ile yalnızca yürütülen işlemler değil aynı zamanda hafıza, cpu durumları ile de ilgili bilgiler görülebilir. Komut tek başına parametre kullanılmaksızın uygulanabilir. Komutun çıktısı aşağıda görülebilir. [root@charlie root]# top 4:08pm up 7:40, 6 users, load average: 0.00, 0.00, 0.00 42 processes: 40 sleeping, 1 running, 1 zombie, 0 stopped CPU0 states: 0.0% user, 0.1% system, 0.0% nice, 99.4% idle CPU1 states: 0.0% user, 0.0% system, 0.0% nice, 100.0% idle Mem: 2064700K av, 1934744K used, 129956K free, 0K shrd, 40412K buff Swap: 2101176K av, 0K used, 2101176K free 1844952K cached PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND 12800 root 15 0 1036 1036 840 R 0.3 0.0 0:00 top 1 root 15 0 480 480 428 S 0.0 0.0 0:04 init 2 root 0K 0 0 0 0 SW 0.0 0.0 0:00 migration_CPU0 3 root 0K 0 0 0 0 SW 0.0 0.0 0:00 migration_CPU1 4 root 15 0 0 0 0 SW 0.0 0.0 0:00 keventd 5 root 34 19 0 0 0 SWN 0.0 0.0 0:00 ksoftirqd_CPU0 6 root 34 19 0 0 0 SWN 0.0 0.0 0:00 ksoftirqd_CPU1 7 root 15 0 0 0 0 SW 0.0 0.0 0:00 kswapd 8 root 25 0 0 0 0 SW 0.0 0.0 0:00 bdflush 9 root 15 0 0 0 0 SW 0.0 0.0 0:02 kupdated 4:08pm : Sistemin saati 7 days up : Sistemin kapanmadan çalıştığı süre 6 users : Bağlı kullanıcı sayısı load average: 0.00, 0.00, 0.00 sistemin yükü. İlk değer o anki yük, ikinci değer son iki dakikadaki ortalama yük, üçüncü değer son beş dakika için ortalama yükü ifade eder. (yükün 1.00 ile 1.80 arası normal değer olarak kabul edilir) 42 processes : İşlem sayısı 40 sleeping, 1 running, 1 zombie, 0 stopped: Çalışan, durmuş işlerin sayısı CPU0 states: 0.0% user, 0.1% system, 0.0% nice, 99.4% idle CPU1 states: 0.0% user, 0.0% system, 0.0% nice, 100.0% idle cpu yükünün durumu, kullanıcıların, sistemin cpu ‘nun ne kadar kaynağını kullandıkları, cpu ‘nun kullanılmayan kaynaklarının oranı Mem: 2064700K av, 1934744K used, 129956K free, 0K shrd, 40412K buff Swap: 2101176K av, 0K used, 2101176K free 1844952K cached Toplam bellek miktarı, kullanılan bellek alanı, bellekteki boş alan miktarı, tampon belleğin kapasitesi, takas olarak disk üzerinde ayrılan alanın kapasitesi, bu alanın kullanılan ve boş olan alanı görülebilir. Bu bilgilerin altında yürütülen işlemler hakkında bilgiler görülür. PID :İşlemin numarası. USER :İşlemin sahibi kullanıcı. PRI :İşlemin öncelik durumunu. NI :İşlem öncelik değerini belirtir. Negatif sayıya sahip işlemlerin diğer işlemlere göre öncelik sırası yüksektir. nice komutu ile işlemlerin öncelik ayarları yapılabilir. SIZE :İşlemin hafızada kullandığı/kullanacağı ayrılan ek alandır. DSIZE : RSS :İşlem tarafından fiziksel hafızada yani RAM bellekte kullanılan alanı gösterir. SHARE :İşlem paylaşılmış hafızada kullanılan alanı gösterir. STAT :İşlemin durumu gösterir. S : Uyuyan işlemler. D : Sürekli uyuyan işlemler. R : Çalışan işlemler. Z : Zombie işlemler. İşlem sonlanmış ama hafızadan silinmemiş durumda. T : Durmuş işlemler. SWAP : İşlemin takas alanında kapladığı / kullandığı alanı gösterir. WCHAN : /boot/psdatabase ve /boot/System.map dosyalarından varolan birinden uyuyan işlemlerin kernel İsimlerini veya fonksiyonunu / durumunu gösterir. %CPU :İşlemin cpu kullanımı gösterir. %MEM :İşlemin hafızada kapladığı alan. TIME :İşlemin çalışmaya başladığı andan itibaren CPU ‘yu kullandığı toplam zamanı gösterir. COMMAND :İşlemi başlatan, çalıştıran komut. Seçenekler: -d [sayı] : top komutu ile yürütülen işlemler standart olarak 4 saniyede bir tekrar okunur ve yinelenir. Bu parametre ile bekleme süresi uzatılabilir veya kısaltılabilir. [root@charlie root]# top –d 1 Komutu ile yürütülen işlemlerin ve diğer bilgilerin her 1 saniyede bir yenilenmesi sağlanır. -p [PID] : Sadece işlem numarası verilen numaraya eş olan işlem ekranda gösterilir. [root@charlie root]# top –p 532 -q : ps komutunda olduğu gibi anlık olarak işlemleri ekranda göstermeyi sağlar. Ekranı tazelemez ve komut moduna geçer. -s : Kullanılması muhtemel işlemler üzerinde doğrudan etki yapılabilecek komutların kullanılmasını engeller. (K,r,N,A,P,M,T,s) -i : Zombie ve boşta olan (idle) işlemleri görüntülemez. Ekranda çalışan işlemler görüntülenir. -c : COMMAND sütununda komut isminin yerine komut satırını yani işlemi başlatan komutu görüntüler. -C : Bu seçenek genel olarak birden fazla CPU kullanan (SMP symmetric multi processor) sunucularda kullanılır. Sunucu 2 CPU ‘ya sahipse, CPU ‘ların toplam yükünü, kullanılmayan kaynaklarını görüntüler. Diyelim ki sistemimizde iki CPU var. [root@charlie root]# top –C komutunu uyguladığımızda CPU durumları aşağıdaki gibi görülecektir. CPU states: 0.2% user, 6.8% system, 0.0% nice, 192.6% idle CPU0 states: 0.1% user, 1.3% system, 0.0% nice, 98.0% idle CPU1 states: 0.1% user, 5.0% system, 0.0% nice, 94.3% idle -n (sayı) : Verilen sayıda ekranı tazeler ve çıkar. [root@charlie root]# top –n 8 8 defa işlemlerin durumunu ekranda yeniler ve çıkar. Komut uygulandıktan sonra ekrana gelen ilk görüntü verilen sayıya dahildir. Komut uygulandıktan sonra işlemlerin durumunun gözlemlendiği ekranda komut kullanılarak bir takım işlemler yapılabilir. İşlemler gözlemlenirken klavyeden küçük “h” harfine basılarak verilebilecek komutlar ve açıklamaları görülebilir. Klavyeden herhangi tuşa basılarak tekrar işlemlerin gözlemlendiği ekrana geçilebilir. “q” tuşuna basılarak programdan çıkılabilir. Verilebilecek komutlar : Space : Ekranı tazelemek için kullanılır. Boşluk tuşu F : Ekranda görüntülenen bilgilere ekleme yada çıkarma yapmak için kullanılır. F yada f tuşuna F basıldığında aşağıda görünen ekrana geçilir. Current Field Order: AbcDgHIjklMnoTP|qrsuzyV{EFWX Toggle fields with a-x, any other key to return: * A: PID = Process Id B: PPID = Parent Process Id C: UID = User Id * D: USER = User Name * E: %CPU = CPU Usage * F: %MEM = Memory Usage G: TTY = Controlling tty * H: PRI = Priority * I: NI = Nice Value J: PAGEIN = Page Fault Count K: TSIZE = Code Size (kb) L: DSIZE = Data+Stack Size (kb) * M: SIZE = Virtual Image Size (kb) N: TRS = Resident Text Size (kb) O: SWAP = Swapped kb * P: SHARE = Shared Pages (kb) Q: A = Accessed Page count R: WP = Write Protected Pages S: D = Dirty Pages * T: RSS = Resident Set Size (kb) U: WCHAN = Sleeping in Function * V: STAT = Process Status * W: TIME = CPU Time * X: COMMAND = Command Y: LC = Last used CPU (expect this to change regularly) Z: FLAGS = Task Flags (see linux/sched.h) Yıldız işareti bulunan ifadeler ekranda görüntülenen bilgiler, sütun başlıklarıdır. Ekran işlemler ile ilgili ek bir bilgi görüntülenmek istenirse, klavyeden ilgili açıklamaya, bilgiye karşılık gelen harfe basılır. Mesela UID bilgisinin de ekranda görüntülenmesi istenirse klavyeden C harfine basılır ve yıldız karakteri ile işaretlenir. Diyelim ki SHARE sütununu kaldırmak istenirse P harfine basılır ve yıldız işareti kaldırılır. Küçük yada büyük harf kullanılabilir. Klavyeden A-Z harfleri dışındaki herhangi bir tuşa basılarak işlemlerin görüntülendiği ekrana geçilebilir. ^L Redraw the screen oO : Ekranda görüntülenen PID, STAT gibi bilgilerin ekrandaki yerini değiştirmek için kullanılır. Yukarıda “f” yada ”F” tuşuna bastığımızda karşımıza gelen ekran “o” yada “O” tuşuna bastığımızda da gelir. Ekranda görünen her sütuna karşılık gelen bir harf olduğunu biliyoruz. İşte bu harfleri kullanarak, mesela STAT sütununu sola kaydırmak istersek klavyeden büyük harf olarak “U”, sağa kaydırmak için küçük harf “u” ‘ya basılır. Ekranın üstünde yapılan işleme göre değişen sıralama Current Field Order: AbcDgHIjklMnoTP|qruszyV{EFWX ifadesinden gözlemlenebilir. Büyük harfler görünen, küçük harfler ise görüntülenmeyen sütunları, bilgileri ifade eder. h : Ekrandaki listenin yazıcıdan çıkmasını sağlar. ? H : Toggle dispplay of threads S : Toggle cumulative mode i : Sadece çalışan işlemleri gösterir, tekrar basılırsa yine diğer işlemleri ekranda geri döner. I : Toggle between Irix and Solaris views (SMP-only) c : COMMAND sütununda işlemi çalıştıran komutun adını gösterir, tekrar basılırsa komut satırında işlem için verilen komutu gösterir. l : Sistemi işlem yükünün gösterilip gösterilmemsi için kullanılır. m : Bellek bilgilerinin ekranda görüntülenmesini veya görüntülenmemesini sağlar. T : Özet bilgilerin ekranda görüntülenmesini veya görüntülenmemesini sağlar. k : İşlemleri sonlandırmak için kullanılır. “k” tuşuna basıldığında sonlandırılacak işlemin PID numarası istenir. Örneğin sonlandıracağımız PID numarası 16884 olsun. $<5>$<3>$<2>$<2>PID to kill: $<2> 16884
PID numarası yazıldıktan sonra Enter tuşuna basılır. İlgili işleme gönderilecek sinyal numarası sorulur.
kill komutundan hatırlanacağı üzere istenen sinyal numarası yazılabilir. İşlemi sonlandırmak için 9
sayısını yazıp Enter tuşuna basıyoruz ve PID numarasını verdiğimiz işlemi sonlandırıyoruz. Yaptığımız
işlemin sonucunu ekrandan hemen gözlemleyebiliriz.
$<5>$<3>$<2>$<2>Kill PID 16884 with signal [15]: $<2> 9

r : Renice a task
N : İşlemleri PID numaralarına göre ekranda sıralar.
A : İşlemleri çalışmaya başladıkları zamanın uzunluğuna göre, eskiden yeniye doğru sıralar.
P : İşlemleri CPU kullanımlarına göre en çok CPU 2yu kullanan işlemden en az olana doğru sıralar.
M : İşlemleri hafızayı kullanma oranlarına göre büyükten küçüğe doğru sıralar.
T : Sort by time / cumulative time
u : Sadece belirtilen kullanıcının işlemlerini ekranda görüntüler.
n or # : Ekranda görüntülenecek işlem sayısını vermeyi sağlar. “n” tuşuna basıldığı zaman ekranda gösterilecek
işlem sayısı yazılır. Tekrar tüm işlemlerin gösterilmesi için “n” tuşuna basılır ve 0 sayısı girilir.
s : Ekrandaki işlemlerin durumunun tazelenme süresini saniye olarak belirlemeyi sağlar.
W : Yapılan ayarlamalarının komutun her çalıştığında geçerli olması için kullanıcının kendi dizininde .toprc
adlı dosyaya yazılır. Eğer top komutunun standart ayarlarına dönmek için dosya silinebilir.
q : Çıkış için kullanılır.

alias

alias kisaltma=”komut dizisi”

Komutlar için bir kısa bir takma isim belirlenmesini sağlar. Bu şekilde sık verilen komutlar bu yolla kısa komutlarla çalıştırılabilir. Kullanıcıların oluşturduğu bu tanımlamalar sadece kendi oturumlarında geçerlidir.

[root@charlie root]# alias ls=”ls -la”
ls komutunun –l ve –a seçeneklerini yazmadan komutun bu seçeneklerle çalışmasını sağlar.

Komut tek başına kullanılırsa tanımlı takma isimleri ekranda listeler.
[root@charlie root]# alias
alias cp=’cp -i’
alias l.=’ls -d .* –color=tty’
alias ll=’ls -l –color=tty’
alias ls=’ls -la’
alias mv=’mv -i’
alias rm=’rm -i’
alias which=’alias | /usr/bin/which –tty-only –read-alias –show-dot –show-tilde’
Kullanıcı oturumunu kapatırsa oluşturulan bu takma isimler de silinir. Kullanıcının oturum açtığında bu tanımları aktif olması için kullanıcının kendi dizinindeki .bash_profile dosyasına yada yine kendi dizinindeki .bashrc dosyasına bu tanımlar eklenebilir.
alias komutu ile tanımlanan takma isimler unalias komutu ile silinebilir.
Örnek:
[root@charlie root]# unalias ls

chkconfig

Sistem servislerini açar veya kapatır.

Kullanılan Linux dağıtımına göre bu komutun yardımına bakmak iyi olacaktır.
Redhat Linux:
Sistem açılış süreçleri /etc/rc.d dizini altında bulunan rc0.d, rc1.d, rc2.d, rc3.d rc4.d, rc5.d dizinleri içinde bulunan linkler yada script dosyaları idare edilir. Her çalışma seviyesi için bir dizin bulunur. Bu dizinleri kullanarak sistem süreçleri çalışma düzeylerinde kontrol edilebilir. Bu dizinlerin için sembolik linklet bulunur. Bu şekilde ilgili servisi yada program çalıştırılır.

Bu dizinlerin içinde adı S ile başlayan linkler çalıştırılacak, K ile başlayan linkler ise kapatılan servisleri programları gösterir. S ve K harflerinden sonra gelen sayı ilgili servisin, programın hangi sırada işlem göreceğini ifade eder. Linklerin gösterdiği dosyalara bakarak hangi programın yada dosyanın çalıştırıldığı görülebilir. Yeni bir seviyeye geçildiğinde önce K, sonra da S programları çalıştırılır. Önce çalıştırılmak istenen progralamalara o seviye içinde daha küçük rakam atanır. Bu şekilde servislerin yada programların çalışma sıraları ayarlanmış olur. Sistem yöneticisi isterse bu dizinlerin içine uygun formatta bir komut dosyası ekleyerek açılışta çalışmasını sağlayabilir. /etc/rc.d dizini altında bulunan rc.local (redhat), (boot.local) suse dosyasına sistem açılışından sonra uygulanacak komutlar yada komut dosyaları eklenebilir.

Bu dizinlerin içinde uygun formatla çalıştırılacak servisler ele düzenlenebilir. Ancak bu şekilde açılış süreçlerini kontrol etmek zahmetli olabilir. Sistem süreçleri ntsysv programı ile Redhat, yast programı ile de Suse linux da kontrol edilebilir. Ortak olarak Linux sürümlerinde chkconfig programı sistem servislerini kontol etmek için kullanılabilir.
init.d seviyeleri:
0- halt : Sistemin kapanma durumu.
1- single : Sistemin tek kullanıcı durumda açılması.
2- multiuser without NFS : Network ortamı olmayan durumlarda yada NFS servisinin çalışmasının istenmediği
durumda kullanılan çalışma seviyesidir.
3- full multiuser mode : Sistemin çok kullanıcılı olarak metin tabanlı açılması.
4- unused : Kullanılmıyor.
5- X11 : Sistemin çok kullanıcılı olarak grafik tabanlı açılması.
6- reboot : Sistemin reboot yada shutdown komutu ile kapanıp tekrar açılması drumunda kullanılan init.d
seviyesi.
Sistemin açılış ayarları /etc/inittab dosyasından yapılabilir. İnittab dosyası açılışta kernel tarafından çalıştırılır (/sbin/init).
Ayarlar /etc/inittab:

Sistemin init seviyesi buraki id numarasının değiştirilmesi ile ayarlanabilir. Eğer init seviyesi belirlenmezse sistem açılışta init seviyesini sorar.
# The default runlevel is defined here
id:5:initdefault:
Açılışta devreye giren ilk program.
si:

Klavyeden Ctrl+Alt+Del tuşlarının kullanımı ile ilgili ayar. Bu ayarı geçersiz kılmak için satırın başına “#” işareti konulur.
# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now

Redhat Linux:
–list parametresi ile servislerin init düzetlerindeki durumu görüleblir.
[root@alpay root]# chkconfig –list
cups 0:off 1:off 2:on 3:off 4:on 5:on 6:off
nfslock 0:off 1:off 2:off 3:off 4:on 5:on 6:off
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
xinetd based services:
cups-lpd: off
tftp: on

Yukarıdaki ekran çıktısında bulunduğunuz init seviyesine göre hangi servisin durumunu görebilirsiniz.
Herhangi bir init seviyesinde çalışmak üzere ayarlanmış servisleri görmak için aşağıdaki komut uygulanabilir.
[root@alpay root]# chkconfig –list | grep :on

3. seviyede çalışması için ayarlanan servislerin listesi aşağıdaki komutla alınabilir.
[root@alpay root]# chkconfig –list | grep 3:on

Aşağıdaki komut smb servisinin 3. ve 5. init seviyesinde çalışması için ayarlanmasını sağlar.
[root@alpay root]# chkconfig –level 35 smb on

smb servisinin init düzeylerindeki durumunu görmek için aşağıdaki komut kullanılabilir.
[root@alpay root]# chkconfig –list | grep smb

Suse Linux:
is8:~ # chkconfig
isdn on
joystick on
kbd on
xinetd based services:
chargen: off
chargen-udp: off
cups-lpd: off
cvs: on

Servislerin tüm init seviyelerindeki durumunu görmel için –l parametresi kulanılır.
is8:~ # chkconfig -l
isdn 0:off 1:off 2:off 3:off 4:off 5:off 6:off
joystick 0:off 1:off 2:off 3:off 4:off 5:off 6:off
kbd 0:off 1:on 2:on 3:on 4:off 5:on 6:off
xinetd based services:
chargen: off
chargen-udp: off
cups-lpd: off
cvs: on

Aşağıdaki komut kullanılarak sadece açık olan servislerin listesi alınabilir.
is8:~ # chkconfig | grep on

İstenilen servisin açılışta çalışmasını engellemek için servisin adı yazılır ve off ifadesi kullanılır.
is8:~ # chkconfig vnc off

Tek bir komutla birden fazla servis adı yazılıp bu servisler üzerinde işlem yapılabilir.
is8:~ # chkconfig syslog smb on
is8:~ # chkconfig apache on xntpd off

Bir servisin bulunulan init seviyesindeki durumunu görmek için komuttan sonra servis adının yazılması yeterlidir. Ancak servisin on yada off olarak gösterimesi o an servisin çalışma durmunu gösteren bir bilgi değildir. Sadece normal açılış işleminde içinde bulunulan init seviyesinde bu servisin açık olmasının istendiği anlamına gelir.
is8:~ # chkconfig smb
smb on

is8:~ # chkconfig –t smb apache2
smb on
apache2 off
İstenrise servisin çalışma seviyeleri verilebilir. Aşağıdaki ilk komutta apache sadece 5. seviyede, ikinci komutta 3. ve 5. seviyede ilgili servis çalıştırılması sağlanır. Servis 3 çalışacak şekilde ayarlanmışken, servisin 5. seviyede de çalışması isteniyorsa 3. ve 5. seviye mutlaka belirtilmelidir.
is8:~ # chkconfig apache 5
is8:~ # chkconfig apache 35

Sistem servislerinin durumları kayıtedilebir. Aşağıdaki komutla servislerin durumu 23042004_servisler.save dosyasına kayıt edilir.
is8:~ # chkconfig > 23082004_servisler.save

Daha önceden servislerin durumlarının kayıt edildiği dosya kullanılarak sistem servisleri eski haline getirilebilir.
is8:~ # chkconfig -s < 23082004_servisler.save Ortak açıklamalar: Bulunılan init seviyesini öğrenmek için runlevel komutu uygulanır. Komut çıktısında N harfi önceki init seviyesi gösterir. Bunun anlamı gerekli durumlarda sistem açıldıktan sonra init seviyesi sistem yöneticisi tarafından init komutu ile değiştirilebilir. Bu tür durumlarda N harfi yerinde önceki init seviyesi gösterilir. Eğer N harfi görülürse init seviyesinde değşiklik yapılmadığı anlaşılır. is8:~ # runlevel N 5 Diyelim ki N harfi yerinde 2,3,5 rakamları görülürse init seviyesinin değiştirildiği ve önceki init seviyesinin hangisi olduğu görülebilir. is8:~ # runlevel 3 5 Sistem yöneticisi init seviyesini değiştirmek için init komutuyla geçmek istediği init seviyesini belirtir. runlevel komutuyla yapılan işlem kontrol edilebilir. is8:~ # init 5 3. seviyeden 5. seviyeye geçildiğinde 3. seviyede çalışıp 5. seviyede çalışmayan servisler kapanır. 3. seviyede çalışmayıp 5. seviyede çalışan servisleri çalıştırmak için u yada U parametresi kullanılır. is8:~ # init U /etc/inittab dosyası içinde yapılan ayarların sistemi kapatıp açmadan etkin olması için init komutuyla Q parametresi kullanılır. is8:~ # init Q Tek kullanıcı moduna geçmek için init komutuyla beraber S parametresi kulanılır. is8:~ # init S crontab Görevlerin belirlenen tarihlerde herbir kullanıcı için devamlı olarak yapılması için kullanıcıların ilglil dosyalarını oluşturmalarını ve düzenlemelerininı sağlar. Görevlerin belirli zamanlarda yapılabilmesi için cron servisinin çalışması gereklidir. chkconfig komutu, yast (suse), setup yada ntsysvs (redhat) komutları, araçları kullanılabilir. Kullanıcılara ve root ‘a ait görev tanımlamaları genel olarak (redhat 9, suse 9) /var/spool/cron/tabs dizinleri altında, dosyanın ait olduğu kullanıcı adıyla bulunabilir. Eğer sistemde bir yedek alma işlemi uygulanacaksa yada sistemin taşınması gibi durumlarda bu dizindeki kullanıcı adıyla bulunan dosyaların yedeklenmesi iyi olacaktır. Her kullanıcı zamanladığı görevleri görebilir ve değiştirebilir. Zamanlanmış görevleri görmek için crontab –l komutu uygulanır. Örnek: is6:~ # crontab -l # DO NOT EDIT THIS FILE - edit the master and reinstall. # (/tmp/crontab.7139 installed on Mon Aug 16 11:24:31 2004) # (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $) #40 7 * * * cp /home/*.gdb /backup/740 0 * * * * /usr/sbin/netdate 80.251.40.15 40 7 * * * /root/backup -d /backup/740 >/backup/backup.log 2>&1

Zamanlanmış görevlerin tümünü silmek için –r parametresi kullanılır.
is6:~ # crontab -r

Bazı kulanıcıların zamanlanmış görevleri ataması istenmeyebilir. Bu durumda /etc/cron.deny dosyası içine ilgili kullanıcıların adı yazılabilir. Burada eğer /etc dizini içinde cron.allow dosyası yaratılmazsa sadece cron.deny dosyası içindeki kullanıcılara izin verilmez. Eğer /etc dizini içinde cron.allow dosyası yaratılırsa ve bu dosyanın içine ilgili kullanıcı adları yazılmazsa, ne cron.allow dosyası içine ne de cron.deny dosyası içine yazılmayan kullanıcılar zamanlanmış görev atayamazlar. Kulanıcı zamanlanmış görev atamak istediğinde bu durumu belirten mesaj ekranda görüntülenir.
Örnek:
[kubilay@alpay kubilay]$ crontab -e
You (kubilay) are not allowed to use this program (crontab)
See crontab(1) for more information
[kubilay@alpay kubilay]$

Zamanlanmış bir görev eklemek için crontab –e komutu uygulanır.
is6:~ # crontab -e

“#” işareti açıklama satırlarının yada çalışması istenmeyen ama silinmesi de istenmeyen satırların başına komur. Bu şekilde bu satırlar işleme alınmaz.
Dosya içeriğinde her satır zamanlanmış bir görevi ifade eder. Her satır 6 bölümden oluşur. İlk 5 bölüm komutun uygulanacağı zamanı, 6. bölümde komut ve ilgili parametlerin yazıldığı bölümdür.

* * * * * [ Komut ]
Dakika Saat Ayın günü Ay Haftanın günü

Komutun düzenli olarak uygulanacağı zamanın verildiği ilk bölüm dakikayı, ikinci bölüm saati, üçüncü bölüm ayın gününü, dördüncü bölüm ayı ve beşinci bölüm haftanın gününü belirler.

Dakika : 0-59
Saat : 0-23
Ayın günü : 1-31
Ay : 1-12 Aylar için, ayın ilk üç harfi kullanılabilir. Büyük küçük harf ayrımına dikkat edilmez.
Haftanın günü : 0-7 günlerin sayısıdır. 0 ve 7 Sunday yani Pazar gününü ifade eder. Günlerin ilk üç harfi de kullanılabilir.
Büyük küçük harf ayrımına dikkat edilmez.
Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday.

Sayılar direk yazılır. Eğer arada “-“ kullanılırsa belirtilen sayılar dahil 2 sayı arasında kalan sayılar ifade edilmiş olur. Örneğin 8-11 ifadesi 8,9,10,11 sayılarını ifade eder.

Sayılar arasına “,”koyularak belirli sayılara verilebilir. Örneğin 5,9,13 gibi.

Virgül kullanılarak daha esnek zamanlar belirlenebilr. Örneğin 5-9,15-20 gibi. Bu ifade 5,6,7,8,9,15,16,17,18,19,20 sayılarını ifade eder.
Bölü işareti ile belirli zaman aralıkları da belirlenebilir. Örneğin 23/2 ifadesi 2,4,6,8,10,12,14,16,18,20,22 sayılarını işaret eder. 7-17/3 ifadesi 10,13,16 sayılarını ifade eder. Ayrıca */2 ifadesi kullanıldığı yere göre her 2 dakika,saat, ayın günü, ay ve haftanın günü anlamına gelecektir.

Örnekler:

Her gece yarısından 5 dakika sonra /root/ dizini içindeki backup komutu çalıştırılacaktır. Komutun çalışması sonucu ekrana çıkacak olan standart çıktılar ve hata mesajları /home/tmp dizinindeki out dosyasına yazılacaktır.
5 0 * * * /home/bin/daily.job >> /home/tmp/out 2>&1
40 7 * * * /root/backup -d /backup/740 >/backup/740/backup.log 2>&1

Her ayın birinci günü saat 14:15 ‘te ilgili komut çalıştırılacaktır.
15 14 1 * * $HOME/bin/monthly

Hafta içi hergün saat 22:00 Joe kullanıcısına ilgili başlığa ve mesaja sahip mesaj gönderilecektir.
0 22 * * 1-5 mail -s “It’s 10pm” joe%Joe,%%Where are your kids?%

Hergün çift saatlerin 23. dakikasında ilgili mesaj ekranda görüntülenecektir.
23 0-23/2 * * * echo “run 23 minutes after midn, 2am, 4am …, everyday”

Her Pazar sabahı saat 04.05 /home dizinin içinde uzantısı .txt olan dosyalar /yedek dizinine kopyalanacaktır.
5 4 * * sun cp /home/data/*.txt /yedek

Her saat başı sistem saati belirtilen Time Server ‘a bağlanıp sistem saatinini düzenleyecektir.
0 * * * * /usr/sbin/netdate 80.251.40.15

Her Mayıs ayının 19. günü saat 18:45 ‘te verilen Komut çalıştırılır. Komutun satandart çıktıları ve hata mesajları backup.log dosyasına yazılır.
45 18 19 5 * /root/backup > /root/backup.log 2>&1

at – atq – atrm – batch

Sadece, belirtlen zamanda istenen işlemlerin bir defa yapılması için at komutu kullanılır. İlgili servisi
is8:~ # /etc/init.d/atd start komutu ile çalıştırılabilir. Eğer bir görev için verilen zaman içinde bulunulan zamandan eski ise, sonraki gün için ilgili komut uygulanır.

at : Belirtilen zamanda bir komutun uygulanmasını sağlar.
atq : Uygulanmak üzere sırada bekleyen görevleri listeler.
atrm : Uygulanmak üzere belirlenmiş görevleri silmek için kullanılır.

Aşağıdaki komutla içinde bulunduğumuz gün için saat 23:00 ‘da /root dizinindeki backup komutunun çalıştırılmasını sağlaayabiliriz. at komutundan sonra görevin çalıştırılacağı zaman verilir ve Enter tuşuna basılır. Komut satırında “at>“ ifadesi görülünce uygulanması istenen komutlar her satıra teker teker yazılır. Aşağıdaki satıra geçmek için enter tuşuna basılır. Ctrl +D tuşuna basılır ve işlem bitirilir. Ctrl + D tuşuna basıldığında ekranda ifadesi çikar. Bu şekilde işlemlemin bitirilmiş olduğu anlaşılır.

[root@alpay root]# at 23:00
at> /root/backup
at>
job 12 at 2004-09-06 23:00
[root@alpay root]#

Örnekler:
[root@alpay root]# at 4pm + 3 days
Üç gün sonra öğleden sonra saat 4 ‘te belirtilen işlemleri yapılmasını sağlar.

[root@alpay root]# at 10am Jul 31
31 Haziran sabah saat 10’da belirtilen işlemleri yapılmasını sağlar.

[root@alpay root]# at 1am tomorrow
Bir sonraki gün (yarın) gece saat 1’de belirtilen işlemleri yapılmasını sağlar.

is8:~ # at now + 20 minute
Yirmi dakika sonra belirtilen işlemleri yapılmasını sağlar.

is8:~ # at now + 24 hours
Yirmi dört saat sonra belirtilen işlemleri yapılmasını sağlar.

at komutyla verilebilecek zamanlar kısa ifadelerle belirtilebilir.
is8:~ # at teatime : saat 16:00 anlamına gelir.
is8:~ # at midnight : 00:00 gece yarısı anlamına gelir.
is8:~ # at noon : Öğleyin saat 12:00 anlamına gelir.
is8:~ # at 09102005 :Dokuzuncu ayın onunda 2005 yılında geçerli sitem saatinde belirtilen işlemleri yapılmasını
sağlar.
is8:~ # at 10/10/2005 : Onuncu ayın onunda 2005 yılında geçerli sitem saatinde belirtilen işlemleri yapılmasını
sağlar.
is8:~ # at 12.01.2005 : Onikinci ayın birinde 2005 yılında geçerli sistem saatinde belirtilen işlemleri yapılmasını
sağlar.
is8:~ # at 10:00 Sunday : Bulunulan günden itibaren bir hafta içinde verilen günde belirtilen işlemleri yapılmasını
sağlar.
is8:~ # at 23:00 01/08/2005 : Birinci ayın sekizinde 2005 yılında saat 23:00 ‘te belirtilen işlemleri yapılmasını
sağlar.

-V : at programının versiyon bilgilerini ekranda görüntüler.
Aşağıdaki komutla 1 Ocak 2005 saat 00:01 ‘e sistem saatinin belirtilen zaman sunucudan doğrulanması için gerekli komutu yazıyoruz.
[root@alpay root]# at -V 00:01 01 Jan 2005
at version 3.1.8
Bug reports to: ig25@rz.uni-karlsruhe.de (Thomas Koenig)
at> netdate 80.251.40.15
at>
job 14 at 2005-01-01 00:01
[root@alpay root]#

at komutu ile belirlenen görevler kullanılan linux sürümüne göre /var/spool dizini altında tutulur (redhat fedora /var/spool/at/, suse 9 /var/spool/atjobs). Bu dosyaların içeriklerine cat komutu kullanılarak bakılabilir. Bu şekilde uygulanacak komutların neler olduğu anlaşılabilir.

-m : Görev tamamlandığında kullanıcıya mail atmak için kullanılır.

-f : Komutlların bir dosya içinden okunarak çalıştırılmasını sağlar.
is8:~ # at -f komut 15:08

-l : Uygulanmak üzere sırada bekleyen görevleri ekranda listeler. atq komutuyla aynı işlemi yapar. Ekrana gelen listede görevin numarası, uygulanacağı tarih, saat, göre eğer at komutuyla tayin edildiyse a, batch komutu ile tayin edildiyse b, = ise şu an bu görevin işleme alındığı ve işlemin sürdüğü anlamına gelir.
is8:/var/spool/atjobs # at -l
25 2004-09-06 20:00 a root
18 2004-09-06 23:00 a root
22 2004-09-07 13:32 a root
19 2004-09-06 23:00 a root
20 2004-09-06 23:00 b root
18 2004-09-06 15:42 = root

-d : Uygulanmak üzere sırada bekleyen görevleri silmek için kullanılır. atrm komutuyla aynı işlemi yapar.
-r : Uygulanmak üzere sırada bekleyen görevleri silmek için kullanılır. atrm komutuyla aynı işlemi yapar.

atq yada at –l komutlarıyla uygulanmak üzere tanımlanmış görevler ve numaraları görülebilir. Bu görev numaraları belirtilerek istenen görev silinebilir. Numaralar arasında boşluk kullanılarak birden fazla görevin silinmesi sağlanabilir.
Örnek:
is8:~ # at -r 25
is8:~ # at -r 20 18
is8:~ # atrm 25
is8:~ # atrm 20 18

at –l komutuyla yada atq komutuyla tanımlanmış görevlerin listesi alınabilir.
Örnek:
is8:~ # atq
14 2004-09-04 15:08 a root

/etc/at.allow dosyası eğer oluşturulmuşsa bu dosyanın içindeki her bir satıra yazılmış kullanıcılar at ile görev zamanlayabilir. Eğer at.allow dosyası yoksa at.deny dosyası kontrol edilir. Bu yüzden sadece at.allow yada at.deny dosyalarından birini kullanmak mantıklı olabilir.

batch : Sistemin yük durmuna göre belirlenen görevin verilen zamanda çalıştırılmasını sağlar. Geçerli olarak sistem yükünün değeri 0.8 olarak belirlenmiştir. İstenirse bu değer “atrun –l (değer)” komutu kullanılarak değiştirilebilir.
Aşağıda komutun örnek kullanımı görülebilir. –t parametresinden sonra yıl, ay, gun ve saat ayırıcı bir işaret kullanmadan yazılır.
is8:~ # batch -t 0410201643
warning: commands will be executed using /bin/sh
at> /root/yedekle
at>
job 74 at 2004-10-20 16:43
Aşağıdaki komutla bir defa çalışması için batch komutu ile ayarlanan görevlerin sistemin bir dakika içindeki ortalama yükünün 0.50 ‘nin altında olması durumunda belirlenen görevlerin çalıştırılmasını sağlar.
is8:~ # atrun -l 0.50

sleep

sleep sayı(smhd)

Belirtilen süre kadar bekler. Bu komut genel olarak linux veya unix sistemlerinde yazılan scriptlerin ekran çıktılarının belli bir süre ekranda kalması yada belli bir süre işlemlerin beklemesini sağlamak için kullanılır. Ayrıca komut satıruında bu komut uygulanarak kolayca bir görev 10 saniye, 5 dakika, 1 saat, 2 gün gibi bir süre geçtikten sonra kendiliğinden çalıştırılabilir.
Komutun scriptler içinde kullanımı aşağıda görülebilir. Aşağıdaki komutla işlemler 20 saniye için bekler ve bu süre geçtüğinde bir alttaki satırdan komutlar uygulanmaya devam edilir.

while true; do
clear
echo “Sistem yuku :”
echo “ “ `uptime`
sleep 20
done

Komutun komut satırında kullanımında önce sleep komutu ve istenilen süre verilir sonra “;” ayracı ile diğer komut yazılır ve Enter tuşuna basılır. Bu şekilde sleep komutu verilen süre sonunda işlemini bitirir ve “;” işaretinden sonraki komut uygulanmaya başlanır. Eğer verilen sayı için dakika, saat gibi bir süre belirtilmezse geçerli olarak verilen sayı saniye olarak kabul edilir ve verilen sayı kadar saniye beklenir.
Örnek:
charlie:~ # sleep 10m ; /root/backup –d /backup/930

s (seconds) : saniye
m (minutes) : dakika
h (hours) : saat
d (days) : gün

ln

ln –s [dosya dizin adı] [lik adı]

Dosya ve dizinlere link yada kısayol oluştumayı sağlar. Örnek olarak sürekli çalışılan dizin içerisinde başka dizinlerdeki dosya yada klasörlere ihtiyaç duyulduğunda, bu dosya ve dizinlerin bulundukları yerlere gitmeden, onlara linklerin yardımıyla ulaşılabilir.

Link dosyaları iki çeşit oluşturulur. Katı (hard) ve Simgesel (soft) link olarak oluşturulur.

Katı linkler kaynak dosyanın birebir kopyasını çıkarır. Kaynak yada hedef dosyaların herhangi birisinde yapılan değişiklik diğer dosyaya yansır. Kaynak dosya silinse bile oluşturulan link dosyası kullanılabilir. Ayrıca katı linkler farklı dosya sistemleri arasında oluşturulamaz. Bunu anlamı eğer bir dizine, üzerinde belli bir kapasiye sahip bir alan ayrılmışsa bu dizin içindeki dosyalara diğer dizinlerden katı linkler oluşturulamaz. Eğer bir dizinin kendine ait bir disk alanı yoksa, kendisi ile aynı disk alanı içinde olan dosya sistemlerinden katı linkler oluşturulabilir.
Sembolik linklerde oluşturulan link dosyası kaynak dosyaya işaret eder. Kaynak dosya silinirse link dosyasının bir işlevi kalmaz. Sembolik linkler farklı dosya sistemleri yada dizinler arasında oluşturulabilir. Sembolik link oluşturmak için “-s” parametresi kullanılır.
Bu açıklamaları daha anlaşılır yapmak için aşağıdaki df komutunun çıktısına bakalım. Aşağıdaki bilgilerden /, /alpay ve /boot dosya sistemlerinin, dizinlerinin disk üzerinde kendilerine ayrılmış alanın olduğu görülüyor. Bu durumda bu üç dizin arasında katı link oluşturulamaz. Ancak sembolik link oluşturulabilir. Bu üç dosya sistemi içindeki dizinler arasında katı linkler oluşturulabilir.

[root@alpay root]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda5 5.5G 3.3G 2.0G 63% /
/dev/mapper/vg0-LogVol00 1.0G 33M 940M 4% /alpay
/dev/sda1 190M 5.9M 175M 4% /boot
none 63M 0 63M 0% /dev/shm

Örnek: Aşağıdaki komutla /home/kubilay dizini içindeki sistem_durumu dosyasına bulunulan yerde sistem adında sembolik bir link, kısayol oluşturur. Bulunulan dizinde bu dosyanın üzerinde olduğu yere gitmeden işlem yapılabilir.
is8:~ # ln -s /home/kubilay/sistem_durumu sistem

Aynı şekilde dizinler için de senbolik link dosyaları oluşturulabilir. Aşağıdaki komutla /tmp dizinine bulunulan yerde tmp adında bir link oluşturulur.
is8:~ # ln -s /tmp tmp

Oluşturulan dosyaların özelliklerine baktığımızda, izinlerin olduğu bölümde “l” harfiyle dosyanın bir link dosyası olduğu belirtilir. İlgili dosyaların işaret ettikleri dosya yada dizinler, link dosyasının adından sonra “->” işareti ile gösterilir.
/tmp diziniyle ilgili komutlar uygulandığında, /tmp dizinine bulunulan dizinin alt diziniymiş gibi davranılır.

lrwxrwxrwx 1 root root 15 Oct 18 15:10 a -> /home/kubilay/a
lrwxrwxrwx 1 root root 4 Oct 18 15:15 tmp -> /tmp

Link dosyaları turkuaz renkle gösterilir. Link dosyalarının işaret ettiği asıl dosyanın silinmesi yada adının değiştirilmesi gibi durumlarda link dosyalarının adı kırmızı renkle gösterilir.

netstat

ifconfig

route

smbstatus

date

date [seçenekler] [+fromat]
Sistem tarihini gösterir ve ayarlamayı sağlar.

Tek başına komutu uyguladığımızda sistemin tarih ve saat bilgisini ekranda görebiliriz.

[root@sharlo root]# date
Thu Feb 26 14:53:23 EET 2004
-s : Tarihi ve saati ayarlamak için kullanılır.
Aşağıdaki örnekte önce sistem saatini date komuru ile öğreniyorua. Sistem tarihini düzeltmek için –s
parametresi ve çift tırnak içinde date komutu ile ekranda görünen düzende tarihi yazıyoruz.

is8:~ # date
Sun Aug 1 10:13:16 EEST 2004
is8:~ # date -s “Mon Aug 02 10:13:00 2004”
Mon Aug 2 10:13:00 EEST 2004

%a : Kısa olarak günü gösterir. Sun..Sat gibi.
%A : Gün uzun olarak ekranda gösterilir. Sunday..Saturday gibi.
%b : Ay kısa olarak yazılır. Jan..Dec gibi.
%B : Ay uzun olarak ekranda gösterilir. January..December.
%c localeâs date and time (Sat Nov 04 12:02:33 EST 1989)
%C century (year divided by 100 and truncated to an integer)
[00-99]
%d day of month (01..31)
%D date (mm/dd/yy)
%e day of month, blank padded ( 1..31)
%F same as %Y-%m-%d
%g the 2-digit year corresponding to the %V week number
%G the 4-digit year corresponding to the %V week number
%h same as %b
%H hour (00..23)
%I hour (01..12)
%j day of year (001..366)
%k hour ( 0..23)
%l hour ( 1..12)
%m month (01..12)
%M minute (00..59)
%n a newline
%N nanoseconds (000000000..999999999)
%p localeâs upper case AM or PM indicator (blank in many locales)
%P localeâs lower case am or pm indicator (blank in many locales)
%r time, 12-hour (hh:mm:ss [AP]M)
%R time, 24-hour (hh:mm)
%s seconds since â00:00:00 1970-01-01 UTCâ (a GNU extension)
%S second (00..60); the 60 is necessary to accommodate a leap sec-
ond
%t a horizontal tab
%T time, 24-hour (hh:mm:ss)
%u day of week (1..7); 1 represents Monday
%U week number of year with Sunday as first day of week (00..53)
%V week number of year with Monday as first day of week (01..53)
%w day of week (0..6); 0 represents Sunday
%W week number of year with Monday as first day of week (00..53)
%x localeâs date representation (mm/dd/yy)
%X localeâs time representation (%H:%M:%S)
%y last two digits of year (00..99)
%Y year (1970…)
%z RFC-822 style numeric timezone (-0500) (a nonstandard extension)
%Z time zone (e.g., EDT), or nothing if no time zone is deter-
minable
By default, date pads numeric fields with zeroes. GNU date recognizes
%r time, 12-hour (hh:mm:ss [AP]M)
%R time, 24-hour (hh:mm)
%s seconds since â00:00:00 1970-01-01 UTCâ (a GNU extension)
%S second (00..60); the 60 is necessary to accommodate a leap sec-
ond
%t a horizontal tab
%T time, 24-hour (hh:mm:ss)
%u day of week (1..7); 1 represents Monday
%U week number of year with Sunday as first day of week (00..53)
%V week number of year with Monday as first day of week (01..53)
%w day of week (0..6); 0 represents Sunday
%W week number of year with Monday as first day of week (00..53)
%x localeâs date representation (mm/dd/yy)
%X localeâs time representation (%H:%M:%S)
%y last two digits of year (00..99)
%Y year (1970…)
hwclock

Donanım satini gösterir ve ayarlar. Komut tek başına kullanıldığında donaım saatini gösterir. Linux ta donanım saati RTC – Real Time Clock ve sitem saati ayrı iki tarik bilgisidir. Linux açılışta donanım saatine bakarak sistem saatini ayarlar. Donanım saatinin yanlış olma durumunda sistem saati de buna uyacaktır. Bu tür problemlerin üstesinden gelmek için genellikle tarihi doğru tutan ve dünya üzerindeki diğer bilgisayarların tarih bilgileri kontrol edip düzeltmelerini sağlayan sunuculara bağlanarak belirli aralıklarla tarih bilgisi kontrol edilebilir.
ntpdate, netdate, xntp, crontab, konularına gözatmanız yararlı olacaktır.
Aşağıdaki komutla donanım saatini görebiliyoruz. date komutunu kullanarak sistem saati kontrol edilebilir.
is8:~ # hwclock
Mon Aug 2 14:36:48 2004 -0.033434 seconds

Sistem saati ve donanım saati arasında fark olursa aşağıdaki komutlar uygulanabilir.
Eğer internet bağlantısı varsa ve zaman dilimi ayarlarının doğru ise linux sürümlerine göre netdate yada ntpdate komutuyla Internet üzerindeki bir zaman sunucusundan sistemin tarih ve saat bilgisi ayarlanabilir.
is8:~ # netdate 80.251.40.15
Trying 80.251.40.15…
80.251.40.15 +0.299 Mon Oct 25 17:51:55.000

Daha sonra donanım saati, sistem saatine göre aşağıdaki komutla ayarlanabilir.

is8:~ # hwclock
Mon Oct 25 17:56:29 2004 -0.318437 seconds
Yukarıdaki komutla donanım saatini görüntülüyoruz.

is8:~ # date
Mon Oct 25 17:54:59 EEST 2004
Yakarıdaki komutla sistem saatini görüntülüyoruz. Donanım saatinin sistem saatinden yaklaşık 2 dakika kadar ileri olduğunu görebiliriz.

is8:~ # hwclock –-systohc
Yukarıdahi komutla sistem saatine göre donanım saatinin ayarlanmasını sağlıyoruz. –systohc ifadesi yerine –w parametresi de kullanılabilir.

is8:~ # hwclock
Mon Oct 25 17:56:16 2004 -0.436072 seconds
is8:~ # date
Mon Oct 25 17:56:17 EEST 2004
Yukarıdaki komutları peş peşe uygulayarak her iki saat bilgisinin tutarlılığını kontrol ediyoruz.

is8:~ # hwclock –-hctosys
Yukarıdaki komutla sistem saatinin donanım saatine göre ayarlanmasını sağlayabiliriz. –hctosys ifadesi yerine –s parametresi kullanılabilir.

Etiketler: , , , , , ,