Dosya ve Dizin Ýzinleri
Unix bir Að Ýþletim Sistemidir. Eðer bir kullanýcý izin verirse bilgisayarýnda bulunan herhangi bir dosyayý herkes paylaþabilir. Unix iþletim sisteminde tüm dosyalar ve dizinler üç tür eriþim hakkýna sahiptir. Bunlar;
read (okuma), write (yazma), execute (çalýþtýrma) izinleri.
Genel olarak bir dosyanýn eriþim haklarýnýn yapýsý
rwx|rwx|rwx
Sahip Grup Topluluk
kullanýcý
(user) (group) (other)
þeklindedir. Örneðin
r--r--r--
Bu özellikleri taþýyan bir dosya salt okunurdur. Çünkü birinci üçlü grup için sadece r (read) okuma izni verilmiþtir. Ýkinci üçlü grupta kullanýcýnýn dahil olduðu çalýþma gurubu için izin yine okuma izni, son üçlü grupta topluluk için de okuma izni vardýr.
rwxr----
Bu dosya için
sahip kullanýcý : okuma, yazma, çalýþtýrma iznine sahiptir.
Grup : sadece okuma iznine sahiptir.
Topluluk : hiçbir hakka sahip deðildir.
Bu izinler kullanýcý tarafýndan belirlenir. Kullanýcý kendi bilgisayarýnda bulunan istediði dosyanýn eriþim hakkýný istediði gibi belirleyebilir.
Eriþim Ýzinin Deðiþtirilmesi
chmod (change mode) komutu dosya veya dizinlerin izin biçimini belirlemek için kullanýlýr. Bu komut iki þekilde kullanýlýr.
a) 2lik sisteme göre
Bir dosya için r,w,x harflerinin olduðu konuma 1 veya 0 yazýlarak yapýlan hesaba göre eriþim hakký belirlenebilir.
Örneðin xyz.txt dosyasý salt okunur bir dosya olsun.
r-- r-- r-- Dosyanýn eski hali (salt okunur)
rw- r-- r-- Yeni hali (Kullanýcýya yazma izni verilmek isteniyor)
110 100 100
Yeni dosyanýn eriþim haklarý
Kullanýcý : okuma, yazma
Grup : sadece okuma
Topluluk : sadece okuma
iznine verilmek isteniyor. Ýzinleri deðiþtirmek için
1. r,w,x gördüðümüz yere 1, - gördüðümüz yere 0 yazýlýr.
2. Elde edilen 1 ve 0 lar bir araya getirilir.
3. 110100100 sayýsýnýn 10 luk tabandaki karþýlýðý bulunur. (110100100)2 = 644
4. $chmod 644 xyz.txt iþlemi yapýlýr.
Bu adýmlardan sonra dosya istenen özelliði kazanmýþ olur.
rw------- dosyasý için gruba okuma ve çalýþtýrma ve topluluða sadece çalýþtýrma izni vermek için
?
rw------- rw-r-xr-- } $chmod 654 xyz.txt
b) Simgesel Yöntem
Bu yöntemde simgesel biçim belirtilir. Bunun aþaðýdaki kýsaltmalar kullanýlýr.
u sahip kullanýcý izni(user)
g grup izni (group)
o topluluk izni(other)
a kullanýcý, Grup ve Topluluk izni
= izni tümüyle yerleþtirir
+ izni ekler
- izni kaldýrýr
Örneðin abc.gif dosyasýný özellikleri þöyle olsun
r-------
Bu dosyaya
rw-r--r-
özelliði kazandýrmak için
$chmod a=r,u+w abc.gif
iþlemini yapmak yeterlidir.
a=r : tüm kullanýcýlara okuma izni
u+w : sahip kullanýcýya özel yazma izni
Dizin Ýþlemleri
cd
DOS da olduðu gibi bir dizin yukarý/aþaðý geçmek için kullanýlýr.
$ ls -l
total 44
drwxr-xr-x 2 btturk users 4096 Dec 30 1999 C++/
-rw-r--r-- 1 btturk users 1981 Apr 4 20:46 ddddddddd
-rw------- 1 btturk users 316 Dec 30 1999 dead.letter
drwxr-xr-x 2 btturk users 4096 May 24 03:06 fortran/
drwxr-xr-x 2 btturk users 4096 May 20 21:53 ftp/
drwxr-xr-x 2 btturk users 4096 Oct 8 1999 gubim/
drwx------ 2 btturk users 4096 Jun 2 18:50 mail/
drwx------ 2 btturk users 4096 Jul 12 1999 nsmail/
-rw-r----- 1 btturk users 729 Jul 12 1999 welcome.txt
drwxr-xr-x 2 btturk users 4096 May 24 20:42 www/
-rw-r--r-- 1 btturk users 1981 Apr 4 20:46 xit.gif
$
$cd fortran
$
iþleminin sonucunda fortran dizinine geçilir. Bir dizin yukarý çýkmak için cd .. kullanýlýr.
pwd
O an için hangi dizinde olduðumuzu gösterir.
$cd gubim
$pwd
/home/btturk/gubim
$
mkdir dizin_adý
Yeni bir dizin oluþturmak için kullanýlýr.
$mkdir loft loft adlý bir dizin oluþturma
$mkdir per ogr std per,ogr ve std adlý üç dizin birden oluþturma
rmdir dizin_adý
Ýçi boþ bir dizini silmek için kullanýlýr.
$rmdir loft
Bir dizini içindeki dosyalarla birlikte silmek için
$rm -r gubim
Dosya Ýþlemleri
cp [hedef][kaynak]
Kaynaktaki bir dosyayý hedefe kopyalar.
$cp dead.letter fortran/
rm dosya_adý
mevcut bir dosyayý silmek için kullanýlýr.
$rm dead.letter
mv [kaynak][hedef]
Kaynaktaki bir dosyayý hedefe taþýr.
welcome.txt dosyasýný C++ dizinine taþýmak için
$mv welcome.txt C++/
xit.gif dosyasýnýn ismini gen.gif olarak deðiþtirmek için
$mv xit.gif gen.gif
gen.gif dosyasýný gubim dizinine taz.gif olarak taþýmak için
$mv gen.gif gubim/taz.gif
Giriþ ve Çýkýþý Yönlendirme (> ve >>
Bir UNIX komutu çalýþtýrýldýðýnda, komutun oluþturduðu sonuçlar ekranda görüntülenir. Yani standart giriþ-çýkýþ birimi olarak ekran kabul edilir. Kullanýcý isterse giriþ veya çýkýþýn yönünü deðiþtirebilir. Eðer bir komutun oluþturduðu sonuçlarý ekran yerine dosya içine yazdýrýlmak istenirse,
komut &g
t; dosya_adý (dosyanýn içeriðini silerek)
komut >> dosya_adý (dosyanýn sonuna ekleyerek)
$ls > sakla.txt sakla dosyasýnýn içeriði silindi ve ls nin etkisi dosyanýn içine yazýldý.
$ls >> sakla.txt sakla dosyasýnýn içerine dokunmadan dosyanýn sonuna ls nin etkisini
eklendi.
Dosya Oluþturma ve Görüntüleme
$ls
fortran/ mail/ project/ www/ welcome.txt
$
edit dosya_adý
Yeni bir dosya oluþturmak veya eðer dosya mevcutsa dosyada düzenle yapmak için kullanýlýr.
new.txt adlý bir dosya açmak için
$edit new.txt
[ UW PICO(tm) 3.6 File:new.txt Modified ]
Merhaba!
Bu ilk denemedir.
^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text^T To Spell
cat
Dosyanýn içeriðini görüntüler. DOS daki type komutu gibi
abc.f dosyasýnýn içeriðini görüntülemek için
$cat abc.f
abc.f dosyasýnýn içeriðini sayfa sayfa görüntülemek için
$pg abc.f
yeni.txt dosyasýný oluþturmak için
$cat > yeni.txt
Ekrana Mesaj Yazma
echo mesaj
$echo Merhaba Dünya...
Eðer mesaj ekranýn bir satýrýna sýðmýyorsa > iþareti kullanýlarak alt satýrdan devam edilebilir.
$echo UNIX Ýþletim Sistemi'nin en belirgin özelliklerinden birisi, C
>programlama dili ile yazýlmýþ olmasýdýr.
* ve ?
DOS da olduðu gibi * tüm dosyalar ? tek bir karakter için kullanýlýr.
$ls
dosya1 per1 perpg01 perdosya dosya2 per2 per3
$
Durumuna göre aþaðýdaki iþlemleri inceleyiniz.
$ls per?
per1 per2 per3
$ls per*
per1 per2 per3 perpg01 perdosya
Geri Planda Komut Çalýþtýrma
Bir komutu geri planda çalýþtýrmak olasýdýr. Bu sayede komut yorumlayýcýsý komutun tamamlanmasýný beklemez. Ýstenen bir komutu geri planda çalýþtýrmak için komutun sonuna & iþareti eklenmelidir. Komut derleyicisi iþlemin gerçekleþtiðine dair bir rakamý ekrana getirecektir.
$ls C++/bin &
221
$
ong>Tarih
date
Sistemin tarihini öðrenmek için kullanýlýr.
$date
Grupta Bulunan Kullanýcýlarý Görüntüleme
$who
Arka arkaya birden fazla komut ayný satýrdan çalýþtýrmak için ; iþareti kullanýlýr.
$ls;date
Komut Yorumlayýcýsýnýn Bekletilmesi
sleep saniye_olarak_zaman
Komut derleyicisini verilen süre kadar iþlem dýþý býrakýr.
Komut derleyicisinin 20 saniye bekletilmesi için
$sleep 20
5 saniye sonra tarihin görüntülenmesi için
$sleep 5;date
Bellirli Bir Zamanda Komut Çalýþtýrma
at zaman
Klavyeden girilen bir UNIX komutunun hemen deðilde belli bir süre sonra çalýþmasý için kullanýlýr.
Bu gün saat 10:00 da rm fert.doc iþleminin gerçekleþtirilmesi için (iþlem bitinde ^x yada ^d yapýn)
$at 10:00
rm fert.doc
job 2564.a at Fri May 12 10:00:00 2000
^x yada ^d
$
Yapýlacak olan tüm iþleri listelemek için
$at -l
job 1254.a Sat Feb 15 11:30:00 2002
job 5465.a Wed Dec 4 22:00:00 2001
job 6548.a Mon Dec 5 21:00:00 2001
$
1. iþlemi iptal etmek için
$at -r 1254.a
Saat 13:40 da randevu olduðuna dair bir mesaj
$at 13:40
echo saat 13:40 Toplantýya geç kalma !
^x yada ^d
Bir Dosyayý Birkaç Parçaya Bölme
split
UNIX iþletim sistemi altýnda çalýþan bir dosya birkaç kýsma parçaya ayýrmak için kullanýlýr.
$cat abc.txt
1111
2222
3333
4444
5555
$
Bu dosyayý üçe bölmek için
$split -3 abc.txt
Üçe bölünen bu dosyanýn bölünmüþ haldeki dosyalarý
xaa.txt içeriði 1111,2222
abc.txt xab.txt içeriði 3333,4444
xac.txt içeriði 5555
Dosyalarýn karakter/Kelime/Satýr Sayýsýnýn Belirleme
wc dosya_adý
Bir dosyanýn içeriðinde bulunan karakter,kelime,satýr sayýsýný verir.
$wc acb.f
22 79 209 abc.f
Parametreler
-l dosyadaki satýr sayýsýný verir
-w dosyadaki kelime sayýsýný verir
-c dosyadaki karakter sayýsýný verir
Saygýlar.