Linux üzerine bazı temel bilgiler.
İSTANBUL ÜNİVERSİTESİ
MÜHENDİSLİK FAKÜLTESİ
ELEKTRONİK ve BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
Ozgur Karatas 15/02/2003
Electronics and Computer Engineer okaratas@students.istanbul.edu.tr
Engineering Faculty - Istanbul University http://www.istanbul.edu.tr
Bazı Linux Komutları ve Kullanımı:
Linux işletim sisteminin yapısı dizinler ve dosyalardan oluşmaktadır. Birçok dosya türü vardır. Bunlara ext2 ve ext3'ü örnek verebiliriz. Aşağıdaki komutları kullanmak için dizin ve dosyaları bilmeniz gerekir.
Dizinler:
Dosyaları diğer dosyalardan ayırarak bir arada tutan klasörlerdir. Linux dosya sistemi hiyerarşisi 1'de gösterilmiştir:
Şekil 1: Linux Dizin Hiyerarşisi
Dizinleri Tanıyalım:
o /boot Çekirdek ve açılış dosyaları dizinidir. Sistem açılışını sağlayan grub veya lilo programının dosyaları burada bulunur.
o /etc Genel sistem ayar dosyalarını (kullanıcılar, gruplar, ağ ayarları) tutan dizindir. Bu dizine denetim masası da diyebiliriz.
o /home Kullanıcıların kişisel dosyalarının ve ayarlarının bulunduğu dosyalar bu dizin altında bulunur. Bir diğer adı da kullanıcı ev dizinidir.
o /dev Aygıt dosyaları dizinidir. Linux'te tüm aygıtlar birer dosya olarak tutulmaktadır. Örneğin /dev/modem dosyası adından da anlaşılacağı üzere modemi ifade etmektedir.
o /tmp Sistemin ve kullanıcıların geçici dosyalarının tutulduğu dizindir.
o /var Sistemde bulunan kuyruk dosyalar (yazıcı ve sistem kayıt dosyaları gibi) ve boyutları dinamik olarak değişen dosyaların tutulduğu dizindir.
o /mnt Sisteme bağlanmış olan (mount) aygıtların dizinidir. Disket sürücü, CD-ROM, USB Disk gibi aygıtlara bu dizin altından ulaşılabilir.
o /lib, /usr/lib Kitaplık (library) dosyaları dizinidir. Paylaşılan nesneler (Shared objects) bu dizinde tutulur. Salt koddan derlenerek sisteme yüklenecek yeni programlar burada mevcut dosyalar kullanılarak derlenir.
o /usr/include Programlama aracı olan C için başlık (header) dosyalarının tutulduğu dizindir.
o /usr/local İşletim sistemi kurulduktan sonra eklenen yerel (local) uygulamalar ve bileşenlerin dizinidir.
o /proc Çekirdek ayar dizinidir.
o /bin, /usr/bin Uygulamalarının çalıştırılabilir betiklerinin bulunduğu dizindir.
o /sbin, /usr/sbin Sistem yöneticisi tarafından kullanılan sistem programları dizinidir. Sistemin bakımı ve genel ayarlamalar bu dizindeki programlar ile yapılır.
Komutlar:
Linux işletim sisteminin kullanılması sırasında en çok ihtiyaç duyulan bazı komutlar ve kullanımları aşağıda açıklanmıştır.
# ls
Dizin içeriğini görüntülemek için kullanılır.
# ls -l
Dizin içeriğini ayrıntılı olarak gösterir.(Şekil 2)
Şekil 2: ls, ls -la komut çıktıları
Şekil 2'deki ekran görüntüsünde 7 ayrı alan görünmektedir. Bunlar;
1. Alan: Bize dosya izinleri hakkında bilgi verir. Bu baştaki tek bir harf ve 3 tane 3'lü grup harften oluşur. Birinci harf dosyanın tipini belirtir; 'd' klasör (directory), l bağlantı (link) olduğunu gösterir. Kalan harfler bir dosyaya kimin ve nasıl erişebileceğini söyler. 3'er harften oluşan 3 gruba bölünmüştür. İlk üçü sahibinin ikinci üçlü bulunduğunuz grubun ve üçüncü üçlü sistem kullanıcıların dosya üzerinde neler yapabileceğini gösterir Herbir üçlü grupda yer alanlarda yer alan semboller şunları ifade eder;.
a. Birinci karakter dosyanın okunma iznidir. - ise okunamaz r ise okunur/görülür.
b. İkinci karakter dosyanın yazma isnizdir. - ise yazılamaz w ise dosyaya yazılabilir ya da dizinin altında dosya açılabilir, silinebilir.
c. Üçüncü karakter dosyanın çalıştırma iznidir. - ise dosya çalıştırılamaz ya da dizine erişilemez. x ise çalıştırılabilir. s (sadce çalıştırılabilir dosyalar için anlamlıdır) programın çalıştıran kullanıcının değil dosya sahibinin hakları ile çalışacağını belirler.
Bu izinler chmod komutuyla değiştirilebilir. Ancak emin olmadığınız durumlarda bu komutu kullanmamanız yararınıza olacaktır. Kendi haklarınızı bilinçsiz değiştirmeniz durumunda o dosya ya da klasöre bir daha erişemeyebilirsiniz.
2. Alan: dosyayı işaret eden bağlantıların sayısını gösterir.
3. Alan dosyanın sahibi olan kullanıcıyı belirler
4. Alan ilişkili olduğu grubu gösterir
5. Alan dosya büyüklüğünü byte cinsinden gösterir
6. Alan dosyanın son düzeltim tarihini ve saatini gösterir
7. Alan dosya adıdır. Eğer bu bir bağlantı ise yol gösterilen dosya ile birlikte gösterilir -> [kaynak].
# ls -la
Bu komut ile gizlenmiş ve arta kalan dosyaların tümünü görüntüleyebilirsiniz.
# cp
Bu komut dosyayı başka bir dizine kopyalamaya yarar. (Şekil 3)
Şekil 3: cp komut çıktısı
# mv
Bu komut ile dosyaları yeniden adlandırabilir veya diğer bir dizine taşıyabilirsiniz.
(Şekil 4)
Şekil 4: mv komut çıktısı
# pwd
Terminal üzerinde hangi dizinin içinde olduğunuzu görmek için kullanabilirsiniz.
(Şekil 5)
Şekil 5: pwd komut çıktısı
# cd
Argümansız cd komutu ilk dizine geçişi sağlar. cd komutu ismi girilen dizine girişi sağlar. cd .. ise üst dizine geri dönmenizi sağlar. (Şekil 6)
Şekil 6: cd komut çıktısı
# mkdir
Bu komut ile bulunduğunuz dizin içinde yeni bir dizin oluşturabilirsiniz. (Şekil 7)
Şekil 7: mkdir komut çıktısı
# touch
Bu komutu dosya oluşturmak için kullanabilirsiniz. (Şekil 8)
Şekil 8: touch komut çıktısı
# rmdir
İçinde dosya bulunmayan bir dizini silmek için kullanabilirsiniz. (Şekil 9)
Şekil 9: rmdir komut çıktısı
# rm
Dosyaları silmek için kullanılır. -rf eklemesiyle bir dizini ve onun tüm içeriğini silebirsiniz. (Şekil 10)
Şekil 10: rm komut çıktısı
NOT: root hakları ile sistemde iken bu komutu kullanacaksanız dikkat ediniz. Aksine rm -rf / gibi bir komut girdiğiniz anda tüm sistemi silebilme gibi bir hata yapabilirsiniz.
# chmod
Bu komut ile dosyaların ya da dizinlerin yetkilendirmelerinde değişiklik yapabilirsiniz. (Şekil 11)
- u dosyayı kullanan kullanıcı
- g kullanıcının bağlı olduğu grup
- o diğer gruplar
- a yukarıdakilerin hepsi anlamındanır.
Şekil 11: chmod komut çıktısı
# chown
chown da bir sahiplendirme komutudur. Size ait bir dosya ya da dizini başka bir kullanıcıya vermenizi sağlar.( Şekil 12)
Şekil 12: chown komut çıktısı
# man
Kullanmak istediğiniz komut hakkında detaylı bilgi almak için bu komutu kullanabilirsiniz. Açılan ekranda Page Up - Page Down tuşlarıyla sayfaları değiştirip, q tuşuna basarak çıkabilirsiniz. Aşağıda #man cd ile ulaşılan sayfa görülmektedir. (Şekil 13)
Şekil 13: man komut çıktısı
# --help
Bu da yine komutlar hakkında bilgi edinmek için kullanılabilir. (Şekil 14)
Şekil 14: yardım komutu çıktısı
Bilgi : man komutu ile de yardım alabilirsiniz.
Terminal üzerinde Pascal ve C Compiler Uygulamaları
Linux işletim sisteminde Pascal ve C dillerinde uygulamalar yazabilmek ve çalıştırabilmek için bazı programları kullanmanız gereklidir. Öncelikli olarak programınızı yazabilmek için herhangi bir metin düzenleyici (editor) programı kullanmalısınız (vi, vim, pico gibi). Programlarınızı kullanıdğınız programın yazım kurallarına uygun olarak yazıp disk üzerinde uygun bir yere (tekrar bulabileceğiniz bir dizin altına) kayıt etmelisiniz. Programınızı derleyebilmek için programın kaynak kodunun yazılıp saklandığı dizin altına cd komutu ile geçmelisiniz. Aksi takdirde derleyici kaynak dosyayı bulamadığı için bir hata mesajı verecektir. Dosyanın tam yerini metin düzenleyici programın üst başlığından da görebilirsiniz.
Burada Pascal dilinde yazılmış örnek bir program (Şekil 15) ve derlenme aşamalarını inceleyelim;
program ilkProgram(input,output);begin writeln('Pascalda kod yazdım!');end.
Şekil 15: Örnek Pascal Programı
Şekil 15'teki kod parçasını istediğiniz bir metin düzenleyici programla yazarak .pas uzantılı olarak kaydedin. Daha sonra terminali kullanarak Şekil 16'daki gibi derleme yapabilirsiniz.
# fpc testPascal.pas
Şekil 16: Pascalda kod derleme
Derlenen programı çalıştırmak için ise ./ komutu kullanılır. Bizim örneğimiz için dosya adı testPascal'dır. O zaman çalıştırmak için aşağıdaki komut satırının yazılması gerekecektir. Program çalıştığında sonuç ekranda belirecektir. (Şekil 17)
# ./testPascal
Şekil 17: Pascal Programı çalıştırma
Eğer yazdığımız kodda bir ya da daha fazla hata varsa bunu Terminal üzerinden takip edebiliriz. Örneğin kodumuzda bir değişiklik yaparak (Şekil 18) hata vermesini sağlayalım ve bunu terminalde gözleyelim. (Şekil 19)
program ilkProgram(input,output);begin writeln('Pascalda kod yazdım!'; //parantezi kaldırdıkend.
Şekil 18: Hatalı Pascal programı
Şekil 19: Hata Çıktısı
Derleme işlemini takiben ekranda
testPascal.pas(3,35) Fatal: Syntax error, ) expected but ; found
hata mesajı görünecektir. Bu satırda testPascal.pas dosyasının 3. satırının 35. karakterinin hatalı olduğu görülmektedir. Tabiki hata bulmak her zaman bu kadar kolay olmayabilir. Bu yüzden kodunuzu yazarken yazım (syntax) hataları yapmamaya dikkat etmelisiniz.
C Programlama:
C programlama dilinde de kod yazmak için yine herhangi bir metin düzenleyici programı kullanabilirsiniz. C kodlarınızı kaydederken .c uzantılı kaydetmeye dikkat ediniz. Şekil 20'deki basit kod parçasını bir metin düzenleyici program ile yazarak ve terminalde aşağıdaki komutu kullanarak derleyelim. (Şekil 21)
#include<stdio.h>int main(){ printf("Cde kod yazdım!\n");}
Şekil 20: Örnek C programı
# gcc -o testC testC.c
(gcc komutunda kullanılan -o çıkışın (output) ile belirlediğimiz isimli dosyaya yerleştirilmesini sağlar. )
GCC Nedir ?
GCC harfleri GNU Compiler Collection kelimlerinin baş harflerinden oluşur. Gerçek
ismini GNU C Compiler kelimelerinden almaktadır. Bu değişikliğin sebebi GCC eskiden sadece C derleyicisinden oluşmakta olduğudur. Diğer diller daha sonradan GCC ailesine eklenmiştir.
Şekil 21: C 'de kod derleme
Derlenen kodun çalıştırılması için derleme aşamasında -o ile belirlenen dosya adı kullanılır. (Şekil 22)
# ./testC
Şekil 22: Programı çalıştırma
Yine eğer kodda bir hata varsa derleme sonucu bunu takip edebiliriz. Kodda yine bir yazım hatası oluşturalım. (Şekil 23)
#include<stdio.h>int main(){ printf("Cde kod yazdım!\n"; //parantezi kaldırdık.}
Şekil 23: Hatalı C programı
Derleme işlemini takiben ekranda;
testC.c:4: error: syntax error before ';' token
mesajı belirecek ve kodun 4. satırında yazım hatası olduğunu gösterecektir. (Şekil 24).
Şekil 24: C 'de kod hatası
BELGE HAKKINDA:
Bu belge İstanbul Üniversitesi, Mühendislik Fakültesi, Elektronik Mühendisliği bölümü öğrencisi Özgür Karataş tarafından hazırlanmıştır. Dönem ödevi olduğu için kopyalanıp kullanılmasında bir sakınca yoktur. Ancak tez, sına çözümü olarak kullanılamaz.
DEĞİŞİM:
Bu belge Esra Çelik tarafından 2005 yılında tekrar düzenlenmiştir.
DEĞİŞİM 2:
Bu belge 20/02/2006 tarihinde yayın edilmek üzere Özgür Karataş tarafından tekrar düzenlenmiştir.
__________________________
Ozgur Karatas
Net Admin
Son yorumlar
1 gün 2 saat önce
3 gün 8 saat önce
4 gün 3 saat önce
4 gün 4 saat önce
4 gün 13 saat önce
6 gün 19 saat önce
1 hafta 15 saat önce
2 hafta 2 gün önce
2 hafta 4 gün önce
3 hafta 18 saat önce