LINUX YAPISI VE KOMUTLARI Bazı Özellikleri: Unix, komutların ve dosya isimlerinin küçük/büyük harf olmalarına dikkat eder. mozilla ve Mozilla tamamen farklı komutlar olabilir. Sisteme giriş yaptığınız isim ve büyük ihtimalle sizden veri isteyen her alandaki girişiniz bu yapıdadır. Dosya isimleri 256 karakter uzunluğuna kadar olabilir ve kullanılabilecek karakterlerle ilgili bir kısıtlama yoktur.. (nokta) ile başlayan dosya/dizin isimleri gizlidir, ls komutu ile doğrudan gözükmez. Dosya Yapısı: Linux işletim sistemi hiyararşik dosya sistemine sahiptir. Yani klasörler, alt klasörler ve dosyalar, ağaç yapısına benzer olarak organizedirler. Linux altında bütün dizinler ve dosya sistemleri (sisteme bağlanmış disk bölümleri) / (kök) dizini altında bir tek ağaç oluşturur (DOS disk bölümleri için kullanılan C:\, D:\ gibi isimlendirme yoktur) drwxr-xr-x 2 root root 4096 Mar 17 2008 bin drwxr-xr-x 4 root root 1024 Mar 8 2005 boot drwxr-xr-x 23 root root 163840 Feb 23 10:08 dev drwxr-xr-x 76 root root 12288 Mar 7 04:03 etc drwxr-xr-x 10 root root 4096 Mar 6 14:20 home drwxr-xr-x 2 root root 4096 Mar 12 2004 initrd drwxr-xr-x 9 root root 4096 Mar 8 2005 lib drwx------ 2 root root 16384 Mar 8 2005 lost+found drwxr-xr-x 2 root root 4096 Apr 14 2004 misc drwxr-xr-x 4 root root 4096 Mar 8 2005 mnt drwxr-xr-x 2 root root 4096 Mar 12 2004 opt dr-xr-xr-x 60 root root 0 Feb 23 12:07 proc drwxr-x--- 29 root root 69632 Mar 6 14:23 root drwxr-xr-x 2 root root 12288 Jun 26 2006 sbin drwxr-xr-x 2 root root 4096 Mar 12 2004 selinux drwxr-xr-x 8 root root 0 Feb 23 12:07 sys drwxrwxrwt 120 root root 4096 Mar 8 00:10 tmp drwxr-xr-x 24 root root 4096 Mar 17 2008 usr drwxr-xr-x 23 root root 4096 Mar 8 2005 var
Genel Amaçlı Komutlar: pwd (print workink directory): Bulunduğunuz dizinin ismini verir. pwd /home/kullanıcı Help: Kabuk komutlarının listesini gösterir. Bu komutların herbiri için help komut_ismi komutu ile yardım alabilirsiniz. komut_ismi help: Söz konusu komut ile ilgili yardım iletisi basar (varsa). man: Bir komut (veya program) hakkında sistemde bulunan klavuz dosyasını görüntüler. man cp NAME cp - copy files and directories SYNOPSIS cp [OPTION]... [-T] SOURCE DEST cp [OPTION]... SOURCE... DIRECTORY cp [OPTION]... -t DIRECTORY SOURCE... DESCRIPTION Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY. Mandatory arguments to long options are mandatory for short options too. -a, --archive same as -dpr --backup[=control] make a backup of each existing destination file -b like --backup but does not accept an argument --copy-contents copy contents of special files when recursive -d same as --no-dereference --preserve=link -f, --force if an existing destination file cannot be opened, remove it and try again -i, --interactive prompt before overwrite -H follow command-line symbolic links -l, --link link files instead of copying -L, --dereference always follow symbolic links -P, --no-dereference never follow symbolic links
ls (list): Bulunulan dizindeki dosya ve klasörleri listeler. ls -al more: O an bulunulan dizindeki bütün dosyaları gösterir (. ile başlayan gizli dosyaları da) Komut burada more komutuna yönlendirilmiştir, bu sayede çıktının bir ekrandan fazla olması durumunda bir ekranlık çıktıdan sonra devamını göstermek için bir tuşa basmanız gerekir. ls la more -rw------- 1 kullanici kullanici 576 Apr 17 1998 deneme.txt -rw------- 1 bshotts bshotts 5743 Dec 16 1998 xmas_file.txt drwxr-xr-x 6 bshotts bshotts 1024 Oct 9 1999 Desktop ---------- ------- ------- -------- ------------ ------------- Dosya adı +--- Değiştirilme zamanı +--------- Büyüklüğü ( byte cisinden) +----------------------- Gurubu +-------------------------------- Sahibi +---------------------------------------------- Dosya hakları cp kaynak hedef (copy): Bir yerdeki dosya ya da dizinleri başka bir yere kopyalamak içindir. Unix'lerde genelde bu tür komutlarda her zaman kaynak önce hedef sonra yazılır. cp deneme.txt Desktop/ornek/ rm (remove):verilen dosya ları siler. Sileceğiniz dosyanın sahibi olmanız gerekir. rm -r dosya: Dosya ve dizinleri ve dizinlerin içindeki dizinleri ardarda siler. Root olarak kullanırken dikkat edin, çünkü herşeyi silebilirsiniz!. rm deneme.txt ls -la
mkdir (make directory) dizin: bulunulan dizinde dizin oluşturur. mkdir dizin1 ls -la drwxr-xr-x 6 kullanici kullanici 1024 Feb 11 22:46 dizin1 cd (change directory): bulunulan dizinden verilen dizine geçer. pwd /home/kullanici cd dizin1 [kullanici@localhost dizin1]$ pwd /home/kullanici/dizin1/ cd /home/kullanici touch dosya: dosya isimli dosyanın tarih bilgilerini deşiştirir. Eğer bu dosya yoksa sıfır bayt uzunluğunda oluşturur. find /home/kullanci -name "deneme.txt": deneme.txt adlı dosyayı en üst dizinden itibaren aramaya başlar. Dosya ismi, * ve? gibi arama karakterleri de içerebilir. Örneğin benim sistemimde "dene*" dizgesi ile deneme.txt deneme1.txt ve deneme2.dat dosyaları bulunur. Hostname: Makinanın konak ismini verir. whoami:sisteme giriş yaparken yazdığınız kullanıcı isminizi verir. whoami kullanici
Date: Sistem tarihi göstermek ya da değiştirmek için kullanılır. Tarihin yerele özgü gösterimle basılmasını isterseniz date +%c yazın. Örneğin "tr_tr" yereli için sadece date komutu Prş Eki 23 21:31:06 EEST 2003 basarken date +%c komutu Prş 23 Eki 2003 21:31:19 EEST basar. date 102321322003 komutu sistem tarihini Prş Eki 23 21:32:00 EEST 2003 yapar. Donanım saatini değiştirmek için setclock komutunu kullanmanız gerekir. date Sun Mar 8 00:20:36 EET 2009 ps (process status): Kullanıcının kullandığı uçbirimde çalıştırmakta olduğu komutların ve süreçlerin listesi. ps -ax more Sistemin açılışından beri çalışmakta olan bütün süreçlerin listesi. ps -ax Warning: bad syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html PID TTY STAT TIME COMMAND 1? S 0:09 init [5] 2? SWN 0:00 [ksoftirqd/0] 3? SW< 0:00 [events/0] 4? SW< 0:00 [kblockd/0] 7? SW< 0:00 [khelper] 5? SW 0:00 [khubd] 6? SW 0:00 [kapmd] 8? SW 0:00 [pdflush] 9? SW 0:07 [pdflush] 11? SW< 0:00 [aio/0] 10? SW 0:02 [kswapd0] 116? SW 0:00 [kseriod] 155? SW 0:04 [kjournald] 955? SW 0:00 [kjournald] 1538? S 0:00 /sbin/dhclient -1 -q -lf /var/lib/dhcp/dhclient-eth0. 1645? S 0:29 syslogd -m 0 1649? S 0:00 klogd -x 1677? S 0:00 portmap 1697? S 0:00 rpc.statd 1725? S 0:00 rpc.idmapd 1787? S 0:00 /usr/sbin/apmd -p 10 -w 5 -W -P /etc/sysconfig/apm-sc /var/gdm/:0.xauth 2433? S 30:47 /usr/bin/gdmgreeter 7729? S 0:00 cupsd 13782? S 0:00 sshd: root@pts/45 13789 pts/45 S 0:00 -bash 13822? S 0:00 /usr/sbin/sshd 13823? S 0:00 sshd: [net] 13824 pts/45 R 0:00 ps -ax
top: Temel sistem durumu, çalışmakta olan süüreçler ne kadar bellek/işlemci kullandıkları vs. uname a :Sistem hakkında çekirdek sürümünü, işlemci türü gibi bilgiler. uname -a Linux kullanici@localhost 2.6.5-1.358 #1 Sat May 8 09:04:50 EDT 2004 i686 i686 i386 GNU/Linux free:bellek kullanımını gösterir. df h :Bağlı sabit disk bölümlerinin doluluk oranlarını gösterir. df -ha Filesystem Size Used Avail Use% Mounted on /dev/hda2 8.9G 7.7G 688M 92% / none 0 0 0 - /proc none 0 0 0 - /sys none 0 0 0 - /dev/pts usbdevfs 0 0 0 - /proc/bus/usb /dev/hda1 99M 5.9M 88M 7% /boot none 126M 0 126M 0% /dev/shm sunrpc 0 0 0 - /var/lib/nfs/rpc_pipefs
Dosya Sıkıştırma ve Açma Komutları: gzip -9 dosya:belirtilen dosya yı en iyi şekilde sıkıştırır ve dosya.gz haline getirir. bzip2 dosya:belirtilen dosya yı en iyi şekilde sıkıştırır ve dosya.bz2 haline getirir. Çoğunlukla gzip'den daha iyi sıkıştırır. gunzip dosya.gz:gzip ile sıkıştırılmış dosya.gz dosyasını dosya olarak açar. bunzip2 dosya.bz2:bzip2 ile sıkıştırılmış dosya.bz2 dosyasını dosya olarak açar. tar -xvf arsiv.tar: İsmi arsiv.tar gibi belirtilen (sıkıştırılmamış) arşiv dosyasını bulunulan dizine açar. tar -zxvf arsiv.tar.gz:ismi arsiv.tar.gz gibi belirtilen sıkıştırılmış arşiv dosyasını bulunulan dizine açar. Dosya uzantısı.tar.gz olan dosyalardan başka.tgz olan dosyaları da açar. ls -la tar drwxr-xr-x -zxvf arsiv.tar.gz 6 kullanici kullanici -C dizin:sıkıştırılmış 1024 Oct 9 1999 arşiv web_page dosyasını belirtilen drwxr-xr-x dizine 6 kullanici açar. kullanici 1024 Oct 9 1999 Desktop tar -rw------- -jxvf arsiv.tar.bz2 1 kullanici kullanici -C dizin: 5743 Bzip2 Dec 16 1998 ile sıkıştırılmış xmas.txt arşiv drwxr-xr-x dosyasını 6 kullanici belirtilen kullanici dizin 1024 e açar. Feb 11 (Eski 22:46 sürümlerde dizin1 - Ixvf [kullanici@localhost kullanılırdı.) kullanıcı]$ tar zcvf deneme1.tgz dizin1/ ls -la tar -zcvf arsiv.tar.gz dizin1 dizin2... dosya1 dosya2... Belirtilen drwxr-xr-x dizin 6 kullanici ve/veya kullanici dosya ları 1024 arsiv.tar Oct 9 1999 dosyası web_page haline getirir drwxr-xr-x ve 6 ardından kullanici gzip kullanici ile sıkıştırıp 1024 Oct 9 arsiv.tar.gz 1999 Desktop haline getirir. drwxr-xr-x 6 kullanici kullanici 1024 Feb 11 22:46 dizin1 -rwxrwx--- 1 kullanici kullanici 5743 Dec 16 1998 deneme1.tgz ls -la -rwxrwx--- 1 kullanici kullanici 5743 Dec 16 1998 deneme1.tgz tar zxvf deneme1.tgz ls -la drwxr-xr-x 6 kullanici kullanici 1024 Feb 11 22:46 dizin1 -rwxrwx--- 1 kullanici kullanici 5743 Dec 16 1998 deneme1.tgz
unzip arsiv.zip -d dizin:arsiv.zip zip arşivini belirtilen dizin e açar. unarj e arsiv.arj:arsiv.arj arj arşivini açar. uudecode -o hedef kaynak: uuencode ile kodlanmış (genelde eposta ekleri) dosyayı açar. Disk bölümlerinin ve CDROM'ların sisteme bağlanması: Yeni auto-mount sistemler dışında Linux'da ana dosya sisteminin parçası olmayan sabit disk bölümleri ile çıkarılıp takılabilir ortamlara (CD, disket gibi) dosya sisteminde bir boş dizin oluşturulup bu dizin altına bağlanarak erişilebilir. Örneğin DOS C:\ bölümünü kök dosya sisteminin altına bağlamaya çalışalım. Önce /mnt dizini altında bir dizin oluşturalım: # mkdir /mnt/c: Unutmayın, dosya/dizin isimlerinde her karakteri kullanabiliyoruz. Sonra /dev/hda1 bölümünü bu dizine bağlayalım: # mount -t auto /dev/hda1 /mnt/c: artık C:\ sürücünüze ulaşmak istediğinizde yapmanız gereken /mnt/c: dizinini kullanmak olacaktır. Aynı şekilde CD ve disketleri de sisteme bağlayabiliriz. CDROM sürücünüzdeki diski sisteme bağlamak için: # mount -t auto /dev/cdrom /mnt/cdrom komutunu kullanıyoruz. Özellikle bağlı CD'ler CDROM'dan çıkarılamazlar, çıkarmak için sistemden ayrılmaları gerekir: # umount /dev/cdrom Eğer o anda kullandığınız herhangibir program CDROM'a erişiyorsa ya da /mnt/cdrom dizininden bu işlemi yapmaya çalışıyorsanız yapamazsınız. Önce dizindeyseniz dizinden çıkın (en kolayı cd ile ev dizininize geçin). Başka bir yazılımın kullanıp kullanmadığını ps -ef ile alacağınız listede bir sürecin /mnt/cdrom/dosya.txt gibi bir dosyayı açmış olup olmadığına bakın. Böyle bir süreç varsa dosyayı bırakmasını sağlayın ya da süreci öldürün (hemen aşağıda nasıl öldüreceğiniz anlatılıyor). Bunu da yapıp umount komutu ile diski sistemden ayırdıktan sonra diski artık yuvasından çıkarabilirsiniz.
Dosya hakları: Linux İS de, UNIX İS de ki dosya hakları yaklaşımını kullanır. Her dosya ve klasör sahibi, sahibinin bağlı bulunduğu gurubu ve herkes için hak hiyerarşisine sahiptir. ls la more -rw------- 1 kullanici kullanici 576 Apr 17 1998 deneme.txt -rw------- 1 bshotts bshotts 5743 Dec 16 1998 xmas_file.txt drwxr-xr-x 6 bshotts bshotts 1024 Oct 9 1999 Desktop ---------- ------- ------- -------- ------------ ------------- Dosya adı +--- Değiştirilme zamanı +--------- Büyüklüğü ( byte cisinden) +----------------------- Gurubu +-------------------------------- Sahibi +---------------------------------------------- Dosya hakları Haklar, okuma (r), yazma (w) ve çalıştırma (x) haklarıdır. d r w x r x r x ------- Herkesin Hakları ------------- Gurubun hakları ------------------- Sahibinin Hakları chmod (change mod): Dosya haklarını değiştirmek için kullanılır. rwx rwx rwx = 111 111 111 rw- rw- rw- = 110 110 110 rwx --- --- = 111 000 000 veya rwx = 111 in binary = 7 rw- = 110 in binary = 6 r-x = 101 in binary = 5 r-- = 100 in binary = 4
ls la more -rw------- 1 kullanici kullanici 576 Apr 17 1998 deneme.txt chmod 755 deneme.txt ls la -rwxr-xr-x 1 kullanici kullanici 576 Apr 17 1998 deneme.txt Kaynaklar: 1. http://www.belgeler.org/ 2.http://linuxcommand.org/lts0070.php#file_permissions