Script'i hangi shell'in çalıştıracağının belirtilmesi
Script dosyasının başındaki #! ifadesi ile bu scriptin hangi shell tarafından çalıştırılacağı belirtilir. Örneğin script dosyasının ilk satırında #!/bin/sh yazmışsak bu script'in /bin'de yer alan sh yorumcusu tarafından çalıştırılıcağını belirtmiş oluyoruz. Kullanılabilecek diğer bazı yorumcular:
#!/bin/csh
#!/bin/bash
#!/usr/bin/perl
Dosya içeriğinde kelime arama
grep ntp messages
Messages dosyasında ntp geçen satırları listelemektedir.
ls -l | grep mysqld
ls -l ile listelenen dosyalardan mysqld ifadesine göre bir filtreleme yapılmaktadır.
Dosya arama
find . -name "*.log" -print
Bu komutla bulunduğumuz dizin ve tüm alt dizinlerdeki log uzantılı dosyalar listelenmektedir.
find /var/log -name "messages*" -exec grep samba {} \; -print
/var/log dizinindeki messages ile başlayan dosyalarda ntp ifadesinin geçtiği satırları bulmaktadır.
Sıkıştırılmış dosyalarla çalışma
zip backup.zip backup
Backup dizini backup.zip adıyla zip formatında sıkıştırılmıştır.
unzip backup.zip
Zip formatıyla sıkıştırılmış backup.zip isimli dosyayı açar.
gzip message.log
message.log dosyasını Lempel-Zip formatında sıkıştırır ve message.gz isimli dosya üretir
gunzip message.gz
Lempel-Zip formatında sıkıştırılmış message.gz isimli doyayı açar.
For döngüsü ile dizin içeriğinin listelenmesi
for i in {1..5}; do echo $i; ls; sleep 5; done
Aritmetik işlemler
set i = $(( $i + 1 ))
23 Aralık 2009 Çarşamba
18 Aralık 2009 Cuma
Eclipse
Bu yazıda anlatılanlar Eclipse'in 3.5 versiyonunda tespit edilmiştir. Teorik olarak farklı versiyonlarda farklı yapılar olabilmekle beraber pratikte yaklaşık tüm versiyonlar için geçerli olduğu düşünülmektedir.
Workspace dizin ve dosyaları
Proje listesi ve dizinleri
org.eclipse.core.resources dizininde proje listesi ve bu projeler ile ilgili bazı ayarlar yer almakta. .projects/proje_adı/.location dosyasında projenin konum bilgisi yer almakta. .root ve .safetable dizinleri de yine projeler ile ilgili gerekli bazı referansları tutmak ve bu dizinler silinmemeli. Silinirse Eclipse tekrar açıldığında proje listesi boş gelmektedir.
Workspace'in encodingi
org.eclipse.core.runtime\.settings\org.eclipse.core.resources.prefs dosyasına encoding=UTF-8 kaydı eklenerek workspace'in varsayılan encoding'i UTF-8 yapılabilir.
Kullanıcı tanımlı kütüphaneler
Kullanıcı tarafından tanımlanan kütüphane tanımları org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs dosyasında tutulmaktadır.
Açılışta tanıtım ekranının görünmesi
org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs dosyasındaki showIntro değişteninin değeri false yapılarak tanıtım Eclipse açıldığında tanıtım ekranının açılması engellenebilir.
Perspective ve View'ler
Workspace'te hangi perspective ve view'lerin yer aldığı bilgisi org.eclipse.ui.workbench/workbench.xml dosyasında tutulmaktadır.
org.eclipse.core.resources/.span
Bu dosya workspace oluşturulurken geçici olarak üretilmekte ve workspace oluşturulduktan sonra silinmektedir.
Workspace dizin ve dosyaları
Proje listesi ve dizinleri
org.eclipse.core.resources dizininde proje listesi ve bu projeler ile ilgili bazı ayarlar yer almakta. .projects/proje_adı/.location dosyasında projenin konum bilgisi yer almakta. .root ve .safetable dizinleri de yine projeler ile ilgili gerekli bazı referansları tutmak ve bu dizinler silinmemeli. Silinirse Eclipse tekrar açıldığında proje listesi boş gelmektedir.
Workspace'in encodingi
org.eclipse.core.runtime\.settings\org.eclipse.core.resources.prefs dosyasına encoding=UTF-8 kaydı eklenerek workspace'in varsayılan encoding'i UTF-8 yapılabilir.
Kullanıcı tanımlı kütüphaneler
Kullanıcı tarafından tanımlanan kütüphane tanımları org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs dosyasında tutulmaktadır.
Açılışta tanıtım ekranının görünmesi
org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs dosyasındaki showIntro değişteninin değeri false yapılarak tanıtım Eclipse açıldığında tanıtım ekranının açılması engellenebilir.
Perspective ve View'ler
Workspace'te hangi perspective ve view'lerin yer aldığı bilgisi org.eclipse.ui.workbench/workbench.xml dosyasında tutulmaktadır.
org.eclipse.core.resources/.span
Bu dosya workspace oluşturulurken geçici olarak üretilmekte ve workspace oluşturulduktan sonra silinmektedir.
17 Aralık 2009 Perşembe
MySQL
Bu kısımda mysql ile ilgili çeşitli bilgiler verilecektir.
Komut satırından veritabanına bağlantı
Veritabanı yeni oluşturulmuşsa ve/veya kullanıcının bir şifresi yoksa:
# mysql -ukullanici_adi
# mysql -uroot
Kullanıcının şifresi varsa:
# mysql -ukullanıcı_adı -pşifre
# mysql -uroot -proot
Kullanıcının şifresini değiştirme
Veritabanı yeni oluşturulmuşsa ve/veya kullanıcının bir şifresi yoksa:
# mysqladmin -u kullanıcı_adı password şifre
# mysqladmin -u root password root
Kullanıcının şifresi varsa:
# mysqladmin -u kullanıcı_adı -p eski_şifre password yeni şifre
# mysqladmin -u root -p root password 123456
SQL ile şifre değiştirme:
mysql# use mysql;
mysql# update user set password=PASSWORD("yeni_şifre") where User='root';
mysql# flush privileges;
Root şifresini sıfırlama
1. MySQL servisi kapatılır.
2. MySQL servisi --skip-grant-tables seçeneği ile başlatılır.
Eğer bu şekilde başlatılmasında problem oluyorsa my.cnf/my.ini dosyasının mysqld kısmına skip-grant-tables yazan bir satır eklenip, servis yeniden başlatılır.
3. MySQL sunucusuna root olarak bağlanılır.
4. Yeni şifre SQL yöntemi ile belirlenir.
5. Komut satırından çıkılıp MySQL servisi yeniden başlatılır.
LINUX'te kullanım örneği
1. # /etc/init.d/mysql stop
2. # mysqld_safe --skip-grant-tables
3. # mysql -u root
4. mysql# use mysql;
mysql# update user set password=PASSWORD("yeni_şifre") where User='root';
mysql# flush privileges;
mysql# quit
5. # /etc/init.d/mysql restart
Shell script'ten sql kullanmak
--execute parametresi ile istenilen sql komutu çalıştırılabilir.
mysql --user=root --password=degistir --execute="show databases"
mysql --user=root --password=degistir --execute="CREATE DATABASE DENEMEVT CHARACTER SET utf8 COLLATE utf8_turkish_ci"
Sunucuya başka bilgisayarlardan erişim
MySQL artık ağ erişimi açık olarak gelmektedir. Varsayılan olarak sadece yerel bilgisayardan erişime izin vermektedir. my.cnf/my.ini dosyasında bind-address değişkeninin değerini 0.0.0.0 ya da sunucunun IP adresi olarak değiştirirseniz MySQL servisine başka bilgisayarlardan da erişebilirsiniz. Gerektiği durumlarda aşağıdaki 2 maddeyi de uygulamalısınız.
Kullanıcı yetkisi vermek
Aşağıdaki komut root kullanıcısına tüm bilgisayarlardan DENEMEVT şeması üzerinde her tür işlem yapma yetkisi verir.
Linux sunucularda uzaktan erişim
Linux sunucularda uzaktan erişim için yukarıdaki başlıkta yapılan işlem yeterli olmayabilir.
Bu durumda /etc/hosts.allowed dosyasına "mysqld: ALL" yazan bir satır eklemeniz gerekecektir.
Komut satırından veritabanına bağlantı
Veritabanı yeni oluşturulmuşsa ve/veya kullanıcının bir şifresi yoksa:
# mysql -ukullanici_adi
# mysql -uroot
Kullanıcının şifresi varsa:
# mysql -ukullanıcı_adı -pşifre
# mysql -uroot -proot
Kullanıcının şifresini değiştirme
Veritabanı yeni oluşturulmuşsa ve/veya kullanıcının bir şifresi yoksa:
# mysqladmin -u kullanıcı_adı password şifre
# mysqladmin -u root password root
Kullanıcının şifresi varsa:
# mysqladmin -u kullanıcı_adı -p eski_şifre password yeni şifre
# mysqladmin -u root -p root password 123456
SQL ile şifre değiştirme:
mysql# use mysql;
mysql# update user set password=PASSWORD("yeni_şifre") where User='root';
mysql# flush privileges;
Root şifresini sıfırlama
1. MySQL servisi kapatılır.
2. MySQL servisi --skip-grant-tables seçeneği ile başlatılır.
Eğer bu şekilde başlatılmasında problem oluyorsa my.cnf/my.ini dosyasının mysqld kısmına skip-grant-tables yazan bir satır eklenip, servis yeniden başlatılır.
3. MySQL sunucusuna root olarak bağlanılır.
4. Yeni şifre SQL yöntemi ile belirlenir.
5. Komut satırından çıkılıp MySQL servisi yeniden başlatılır.
LINUX'te kullanım örneği
1. # /etc/init.d/mysql stop
2. # mysqld_safe --skip-grant-tables
3. # mysql -u root
4. mysql# use mysql;
mysql# update user set password=PASSWORD("yeni_şifre") where User='root';
mysql# flush privileges;
mysql# quit
5. # /etc/init.d/mysql restart
Shell script'ten sql kullanmak
--execute parametresi ile istenilen sql komutu çalıştırılabilir.
mysql --user=root --password=degistir --execute="show databases"
mysql --user=root --password=degistir --execute="CREATE DATABASE DENEMEVT CHARACTER SET utf8 COLLATE utf8_turkish_ci"
Sunucuya başka bilgisayarlardan erişim
MySQL artık ağ erişimi açık olarak gelmektedir. Varsayılan olarak sadece yerel bilgisayardan erişime izin vermektedir. my.cnf/my.ini dosyasında bind-address değişkeninin değerini 0.0.0.0 ya da sunucunun IP adresi olarak değiştirirseniz MySQL servisine başka bilgisayarlardan da erişebilirsiniz. Gerektiği durumlarda aşağıdaki 2 maddeyi de uygulamalısınız.
Kullanıcı yetkisi vermek
Aşağıdaki komut root kullanıcısına tüm bilgisayarlardan DENEMEVT şeması üzerinde her tür işlem yapma yetkisi verir.
GRANT ALL ON DENEMEVT.* TO 'root'@'%'
Linux sunucularda uzaktan erişim
Linux sunucularda uzaktan erişim için yukarıdaki başlıkta yapılan işlem yeterli olmayabilir.
Bu durumda /etc/hosts.allowed dosyasına "mysqld: ALL" yazan bir satır eklemeniz gerekecektir.
Kaydol:
Kayıtlar (Atom)