eniXma Nisan 2008 Sayısı

Diğer Yorum Yok »

eniXma Nisan 2008

  • Gri Alanlar
  • KBabel
  • TrueCrypt/RealCrypt
  • Marble
  • Linux’ta Astronomi Programları
  • GParted
  • Cryptsetup İle Disk Şifreleme
  • Entropy
  • Sabayon Proje Lideri İle Söyleşi
  • Kabuk Programlama - XVI
  • RS232 - Seri Port - IIGPL 3v
EkleBunu Sosyal Paylaşım Butonu

UNIX Komut Satırında (Shell/Kabuk) Temel Dosya ve Dizin İşlemleri

Linux Yorum Yok »

Dizinler

Unixte dosya ve dizin yollarını ayrıştırmak için sağa yatık bölü işareti (slash) “/” kullanılır.

Örnekler:

/		"root" dizini dosya sisteminde herşeyin bağlı olduğu kök dizindir.
./		O anda bulunulan  dizini belirtir.
../		Bir üst dizini belirtir.
/usr		usr dizini (/ "root" dizininin alt dizini)
/usr/STRIM100	STRIM100 /usr dizininin alt dizini

Dosya sisteminde gezinme

pwd			O anda aktif olarak çalışılan dizini gösterir
cd			Mevcut dizinini HOME dizinine değiştirir
cd /usr/STRIM100	Mevcut dizini /usr/STRIM100 dizinine değiştirir.
cd INIT			Mevcut dizini bulunulan dizinin içindeki INIT dizinine değiştirir.
cd ..			Mevcut dizini mevcut dizinin bir üst dizinine değiştirir.
cd $STRMWORK		Mevcut dizini 'STRMWORK' çevresel(environmental) değişkeni içinde tanımlanmış olan dizine değiştirir.
cd ~bob			Mevcut dizini bob'un ev dizini olarak değiştirir (eğer erişim izniniz varsa).

Dizin içeriklerinin listelenmesi

ls		Bir dizinin içeriğini listeler
ls -l		Bir dizinin içeriğini detayları ile listeler.

Örneğin:

ls -l
 
drwxr-xr-x    4 cliff    user        1024 Jun 18 09:40 WAITRON_EARNINGS
-rw-r--r--    1 cliff    user      767392 Jun  6 14:28 scanlib.tar.gz
^ ^  ^  ^     ^   ^       ^           ^      ^    ^      ^
| |  |  |     |   |       |           |      |    |      |
| |  |  |     | sahip   grup        boyut  tarih zaman   isim
| |  |  |     dosya ya da dizine olan bağlantı sayısı
| |  |  genel izinler
| |  grup kullanıcılarının izinleri
| dosya sahibinin izinleri: r = okuma, w = yazma, x = çalıştırma -=izin yok
dosyanın dürü: - = normal dosya, d=dizin, l = sembolik bağ, ve diğerleri...
ls -a		Mevcut dizinin içeriğini gizli dosyalarla birlikte listeler. Gizli dosyalar "." ile başlar.
ls -ld *	Mevcut dizindeki dosya ve dizinlerin isimlerini uzun biçimde listeler. "d" seçeneği olmadan mevcut dizindeki tüm alt dizinlerin içeriğini listeler. "d" seçeneği dizinleri de normal dosyalar gibi listeler.

Dosya izinleri ve özniteliklerinin değiştirilmesi

chmod 755 dosya
Dosya izinlerini sahip için rwx, grup ve diğerleri için rx olarak değiştirir. (7 = rwx = 111 ikilik sayı sisteminde, 5= r-x =101 ikilik sayı sisteminde)
 
chgrp kullanici dosya
Dosyanın grup sahipliğini kullanici grubuna değiştirir.
 
chown ali dosya
Dosyanın kullanıcı sahipliğini ali kullanıcısına değiştirir.
 
chown -R ali dizin
Dizin ve dizin altındaki herşeyin kullanıcı sahipliğini ali kullanıcısına değiştirir.

Bu değişikliklerin herhangi birini yapabilmek için dosya veya dizinin sahibi olmalısınız.

Dosyaların taşınması, yeniden adlandırılması ve kopyalanması

cp dosya1 dosya2		Bir dosya kopyala.
mv dosya1 yeniisim		Dosyayı taşır ya da yeniden adlandırır.
mv dosya1 ~/AAA/		dosya1'i ev dizininiz altındaki AAA dizinine taşır.
rm dosya1 [dosya2 ...]		Bir veya birden fazla dosyayı siler ya da kaldırır.
rm -r dir1 [dir2...]		Bir dizin ve onun tüm içeriğini rekürfis olarak kaldırır. (DİKKATLİ KULLANIN)
mkdir dizin1 [dizin2...]	Dizinler oluşturur.
mkdir -p dizinyolu      	Verilen yoldaki tüm dizinlerle birlikte dizinyolunda belirtilen dizini oluşturur.
rmdir dizin1 [dizin2...]	Boş dizinleri kaldırır.

Dosyaların görüntülenmesi ve değiştirilmesi

cat dosyaadi			Dosya içeriğini ascii olarak ekrana basar.
more dosyaadi			Bir dosyanın içeriğini ekrana ilerlenebilecek şekilde basar: ENTER = bir satır aşağı, BOŞLUK TUŞU= bir sayfa aşağı, q=çıkış
less dosyaadi			More gibi, fakat Page-Up tuşunu da kullanabilirsiniz. Her sistemde değil.
vi dosyaadi			Vi editörünü kullanarak bir dosyayı güncelle. Tüm UNIX sistemler bir şekilde vi editörünü barındırır.
emacs dosyaadi			Emacs editörünü kullanarak bir dosyayı güncelle. Tüm sistemlerde emacs olmayabilir.
head dosyaadi			Dosyanın ilk bir kaç satırını görüntüler. Genelde ilk 10 satır.
head -n				Dosyaadi Dosyanın ilk n satırını gösterir.
tail dosyaadi			Dosyanın son bir kaç satırını gösterir. Genelde son 10 satır.
tail -n dosyaadi		Dosyanın son n satırını gösterir.
tail -f dosyaadi/akış		Belirtilen dosya veya akış kaynağının sonuna eklenen satırları sürekli olarak gösterir. Durdurmak veya çıkış yapmak için Ctrl+C.

Kabuklar

Komut satırı arayüzünün davranışı kullanılan kabuk programına bağlı olarak değişiklik gösterir. Kullanılan kabuğa bağlı olarak, bazı fazladan özellikler çok hoş olabilir. Hangi kabuğu kullandığınızı görmek için aşağıdaki komutu kullanabilirsiniz:

echo $SHELL

Kabuk komutlarının belli bir sırayla bir dosya içerisine yazılması ile oluşturulan dosyalarla yapılması istenen bir görevi yerine getirebiliriz. Buna kabuk betiği(shell script) denir.

Bir çok kabuğun asıl amacı interaktif komut istemcisi değil betik dili yorumlayıcısı olmasıdır.

Çevresel değişkenler

Kabuğunuzu daha sonra kullanmak üzere çevresel değişkenlere hatırlayabileceği değerler atayarak eğitebilirsiniz.

Örneğin bash kabuğunun altında:

export CASROOT=/usr/local/CAS3.0	CASROOT değişkenine /usr/local/CAS3.0 değerini atar.
export LD_LIBRARY_PATH=$CASROOT/Linux/lib		LD_LIBRARY_PATH değişkenine CASROOT içindeki değeri sonuna /Linux/lib ekleyerek atar, veya /usr/local/CAS3.0/Linux/lib değerini atar diyebiliriz.

Değişke adının başına $ işaretini koyarak değişkeni istediğiniz komutun içinde kullanabilirsiniz:

cd $CASROOT         Mevcut çalışma dizininizi CASROOT'un değeri olarak değiştirir.
echo $CASROOT       CASROOT'un içindeki değeri basar.
printenv CASROOT    Bash ve diğer bazı kabuklarda aynı işi görür.
EkleBunu Sosyal Paylaşım Butonu

eniXma Mart 2008 Sayısı Çıktı

Linux, Open Source Yorum Yok »

GNU/Linux ve open source dünyasının dergisi eniXma’nın Mart 2008 sayısı yayınlandı.

eniXma Mart 2008

İçindekiler:

  • GPLv3
  • KDE Programcıkları
  • GCompris
  • Compiz-Fusion
  • Kontact
  • Portage Kullanımı ve Hatalar
  • Geany
  • Slax 6
  • PcBSD
  • Kabuk Programlama - XV
  • RS232 - Seri Port - I

İndirmek için tıklayın.

EkleBunu Sosyal Paylaşım Butonu

PHP ve Ajax ile Sürükle-Bırak Sıralı Listeler

Ajax, MySQL, PHP 4 Yorum »

drag_drop.gifWeb uygulamalarında çoğu zaman bir listenin sıralamasını kullanıcı seçimi doğrultusunda sunmak gerekir. Favori kataplar, müzikler v.s Bu listelerdeki sıralamayı kullanıcıya göre ayarlamak için de genellikle “Yukarı Taşı”,”Aşağı Taşı”,”En Üste”,”En Alta” gibi butonlar koyup kullanıcının her seferinde sadece bir adım atlayarak sıralamayı yapmasını isteriz. Bir başka yöntemde listedeki her satıra textbox koyup sıralamanın bu kutulardaki sayılara göre ayarlanmasıdır. Kullanıcı sıralamayı tek adımda oluşturacak olsa da hesaplama yapmak zorunda kalacağı için bu yöntem de kolay olmayacaktır.

Bu yazımızda gelişen javascript ve ajax yöntemleri sayesinde sürükle-bırak yöntemini kullanarak böyle bir sıralamayı daha kolay bir şekilde nasıl yapabileceğimizi göreceğiz. Listedeki bir elemanı sürükleyerek sırasının değiştirilmesini, bıraktığımızda ise veritabanına listedeki yeni sırasının kaydedilmesini sağlayacağız. Tüm işlemleri (sürükle-bırak, efektler, ajax ile veri kaydı) Prototype ve Scriptaculous js frameworklerinden faydalanarak yapacağız. Devamını Oku »

EkleBunu Sosyal Paylaşım Butonu

Her Konuda Kopya Kağıtları (Cheat Sheets)

Ajax, Apache, CSS, Javascript, Linux, MySQL, PHP Yorum Yok »

Scott Klarr isimli bir arkadaşımız hemen hemen her konuda cheat sheets diye tabir edilen kopya kağıtlarını bir araya toplamış. Programlama, bilgisayar sistemleri ve tasarım konularında çok sayıda kopya kağıdı mevcut. Elimin altında her konuda özet bir belge olsun diyenler için bire bir.

EkleBunu Sosyal Paylaşım Butonu

Bir Dizindeki Dosyaların İçinde Metin Arama

Linux 1 Yorum »

Programlama da veya günlük bilgisayar kullanımında bir fonksiyon adı, değişken adı veya herhangi bir metnin hangi dosyalarda geçtiğini öğrenmemiz gerekir. Bu gibi durumlarda linux kullanıcıları aşağıdaki komut dizisi ile bu dosyalara ulaşabilirler.

find /var/www/ -type f -name "*.php"|xargs grep -l 'dosya_ac'

find komutu belirttiğiniz yolda dosyaları arar. Parametre olarak /var/www/ verdiğimiz için www dizininde ve tüm alt dizinlerinde arama yapar.
-type opsiyonu aldığı parametrelerle aradığınız nesnenin tipini belirlememize yardımcı olur. Dosya için f, dizin için d, sembolik link için l gibi.
-name parametresi dosya adını ifade eder. Joker karakterler kullanabilirsiniz. “*.php” tüm php uzantılı dosyalar gibi.

find ile bulduğumuz bu dosyaların içinde kelime araması yapmak istiyorsak sonuç olarak bulunan dosya isimlerini dosya içinde arama yapabileceğimiz grep komutuna yönlendirmemiz gerekir. grep komutuna yönlendirme yapmak için pipe | işareti, grep komutuna dosya isimlerini parametre olarak göndermek içinde xargs komutu kullanılır.

grep komutuna parametre olarak -l verdiğimizde bize sadece aradığımız metnin geçtiği dosya isimlerini geri döndürür ve dosya içerisinde arama yaparken ilk bulduğu metinden sonra aramayı bırakarak daha hızlı ilerlemeyi sağlar. -l parametresi verilmediği taktirde metnin dosya içerisinde geçtiği tüm satırları geri döndürür.

Kısaca yukarıdaki komut, /var/www/ dizini ve tüm alt dizinlerinde ki php uzantılı tüm dosyalarda ‘dosya_ac’ metni geçenleri bulur.

EkleBunu Sosyal Paylaşım Butonu

PHP’de IN Fonksiyonu

PHP Yorum Yok »

Mysql’de uzun OR sorgularından bizi kurtaran IN fonksiyonundan daha önce bahsetmiştik. Php’de IN fonksiyonunun tam karşılığı olmasa da aynı şekilde işimize yarayacak olan bir kullanım şekli:

$degisken='php';
if(in_array($degisken, array('linux', 'apache', 'mysql', 'php')))
{
  echo 'www.lampforweb.com';
}
EkleBunu Sosyal Paylaşım Butonu

eniXma Open Source e-Dergi

Open Source Yorum Yok »

eniXma Şubat 2008eniXma açık kaynak ve linux dünyası için özel olarak hazırlanan aylık yayınlanan bir e-dergi. Ekim 2006 tarihinden itibaren her ay yayınlanıyor. Dergi içeriği oldukça tatmin edici.
“eniXma başta GNU/Linux olmak üzere açık kaynak kodlu işletim sistemleri ve programları için özgür bilgi paylaşım aracıdır.”

Şubat 2008 sayısını buradan indirebilirsiniz. Konu başlıkları :

  • Açık kaynak - Özgür Yazılım
  • Filmlere Altyazı
  • Cheese
  • Oregano
  • KDE4
  • Ağ Profilleri - Serbest Dolaşım
  • Gentoo
  • DesktopBSD
  • Mandriva Masaüstü Ortamları
  • Truva Linux
  • Hobi İşletim Sistemleri

İsterseniz eniXma dergisinde sizde yazar olabilirsiniz. Kesinlikle arşivi yapılması gereken bir kaynak.

EkleBunu Sosyal Paylaşım Butonu

Mysql’de Türkçe Tarih Formatı

MySQL, PHP Yorum Yok »

Mysql’de verileri Türkçe tarih formatı şeklinde çekerek ekrana basmayı bir çoğumuz istemişizdir. Mysql’de tarih formatı varsayılan olarak “Yıl-Ay-Gün” olarak gelmektedir.

Şimdi bunu avantajları ve dezavantajları ile beraber nasıl kullanabiliceğimizi anlatmaya çalışacağız. Faydalanacağımız mysql fonksiyonu date_format() fonksiyonudur.

Fonksiyonun kullanımı :

date_format(tarih,istenilen_format)

ör:

SELECT date_format(kayit_tarihi, '%d-%m-%Y')  AS yeni_tarih FROM kayitlar WHERE durum='4'

Yukarıdaki sorgu sonucunda gelen sonuç “2008-01-31″ şeklindeki bir değer için “31-01-2008″ olacaktır. Tahmin edeceğiniz üzere %d = gün, %m=ay, %Y=yılı temsil eder. Farklı kullanımlar için Mysql’in sitesinden faydalanabilirsiniz.

Bu şekildeki kullanımın avantajı Mysql’den gelen veriyi yeniden formatlama zahmetinden bizi kurtarmasıdır. Bu kullanımın dezavantajlı olduğu durumlar da olmaktadır. Bu Mysql fonksiyonun kullanılması genellikle sorguların performansını düşürmektedir. Ziyaretçi sayısı yüksek bir sitede bu fonksiyonu kullandığınız sorgularınız varsa o sorguları gözden geçirmenizi ve performansını takip etmenizi tavsiye ederiz. Eğer performansı düşürdüğünü gördüyseniz ve tarihi Php ile formatlamak isterseniz şu yazımızdan ( php tarih format ) faydalanabilirsiniz.

EkleBunu Sosyal Paylaşım Butonu

Linux’ta DNS Adresi Güncelleme

Linux Yorum Yok »

Çoğumuz internete erişme konusunda sıkıntılar yaşarız. Bu sıkıntılardan bazıları, sayfaların hiç açılmaması yada çok yavaş açılmasıdır. Telekom’un dnslerinin sık sık sorun çıkardığını çoğumuz tecrübe etmişizdir. :) Linux’ta dns adreslerini değiştirmek veya yeni dns adresleri girmek için

/etc/resolv.conf

dosyasını kullanırız.

ör:

nameserver 195.175.39.39
nameserver 195.175.39.40

resolv.conf dosyasına yukarıdaki satırları ekleyerek dns adresi girebilirsiniz. Çalışmadığını düşündüğünüz dns adresinin başına # koyarak kapatabilir veya silebilirsiniz. Çalışan dns adreslerini arama motorlarını kullanarak bulabilirsiniz.

EkleBunu Sosyal Paylaşım Butonu
Lampforweb 2007 Tüm hakları saklıdır. Tema N.Design Studio
İçerik RSS Yorum RSS Giriş