TR | Temel Linux Komutları – 2
İlk yazıyı okumadıysanız ilk yazıya gitmek için: Temel Linux Komutları – 1
Dosya ve Dizinlerde Yekiler
- -rwxrwxrwx – dosya oldugunu göstermektedir.
- drwxrwxrwx d dizin oldugunu göstermektedir.
- r okuma yetkisi
- w yazma yetkisi
- x çalıştırma yetkisi
- Dosya/Dizin değişkeninden sonraki ilk 3 lü blok Kullanıcı yetkileri, sonraki 3 lü blok Grup yetkileri ve son 3 lü blok diğer kullanıcı yetkilerini göstermektedir.
Yetki Değiştirme
chmod [ugoa] [+-=] [rwxst] [dosya/dizin_adı]
- u dosya/dizin sahibi
- g dosya/dizin sahibiyle aynı gruptaki kullanıcılar
- o diğer kullanıcılar
- a herkes
- + yetki ekleme
- – yetki çıkarma
- r okuma yetkisi
- w yazma yetkisi
- x çalıştırma yetkisi
- s suid biti
- t sticky biti
r = 4
w = 2
x = 1
rwx = 7
chmod 777 = chmod rwxrwxrwx
- Alt dizinler/dosyalarında yetkilerini değiştirebiliriz.
chmod -R [yetki] [dosya/dizin adı]
Bazen Sistemde Yapılan Değişikliklerde sistemde yaptığımız düzenlemelerde değişiklik olduğunu görebilirsiniz. Bunların önüne geçmek için chattr komutundan faydalanabiliriz.
Dosyayı Değiştirilemez Yapmak
chattr +i [dosya/dizin adı]
Dosyaları Kontrol Etmek
lsattr
Dizin Altındaki Tüm Dosyaları Kontrol Etmek
chattr -R [dizin adı]
Suid Biti
Suid biti sistemdeki normal kullanıcının root yetkisiyle erişilen dosyalara erişebilmesi için dosyalara verilen yetkiye verilen addır.
- Suid Bitine Sahip Dosyaları Arama
find /[hedef dizin] -perm -4000
Program Kurma/Kaldırma – Sistem Güncelleme
Linux ta farklı dosya kurulum şekilleri vardır bunlardan bazıları kaynak koddan derleyip kurma, paket yönetim sistemi yardımıyla kurma yada repositorylerden çekerek kurabiliriz.
Günümüzde linux dağıtımlar genelde iki türlü paket türü kullanmaktadırlar.
- RedHat/Fedora/CentOS rpm
- Debian/Ubuntu dpkg
bunlar manuel kurulum için kullanılan paket türleridir. Repositorylerden kurulum yapmak için rpm kullanan sistemler için yum , deb kullanan paket yöneticileri apt kullanır.
- Debian Tabanlı Dağıtımlarda Manuel Paket Kurmak
dpkg -i [paket_adı.deb]
- Çoklu paket içeren programları kurmak için;
dpkg - i *.deb
- Kurulu paketle ilgili bilgi almak için;
dpkg --status [paket_Adı]
dpkg -s [paket_ Adı]
- Paket Kaldırma
dpkg --purge remove [paket_Adı]
- Paketi Tamamen Silmek İçin
dpkg remove [paket_adı]
- rpm kullanan sistemlerde paket kurmak için;
rpm -ivh [paket_Adı.rpm]
i Paketi kur
v İşlemleri göster
h kurulum düzeyini göster
- rpm kullanan sistemler paket kaldırmak için
rpm -ev [paket_Adı]
Repolardan Program Kurulumu
- Sistemimizde hangi repolardan program çekildiğini listelemek için alttaki dosyalara bakabilirsiniz(dağıtımınıza göre) ;
etc/apt/sourcest.list
etc/yum.repos.d
- Repodan program kurulumu için;
apt-get install [program_Adı]
yum install [program_Adı]
- Repolarda program olup olmadığını sorugulamak için;
apt-cache search [program_Adı]
- Kuracağımız program ve paket hakkında bilgi almak için;
apt-cache show [program_Adı]
- Paket kaldırmak için;
apt-get remove [program_Adı]
- Programı konfigğrasyonları ile birlikte kaldırmak için;
apt-get purge remove [program_Adı]
- Sitemde eski kurulumdan kalan paketleri temizlemek için;
apt-get autoremove
apt-get autoclean
Sistem Güncelleme
apt-get update
apt-get upgrade
- Sistem sürümü yükseltmek için;
apt-get dist-upgrade
Dizin Oluşturma Silme
mkdir [dizin_Adı]
- Birden fazla dizin için;
mkdir [dizin_Adı1] [dizi_Adı2]
- Alt alta dizin oluşturmak için;
mkdir -p [dizin_Adı1]/[dizin_Adı2]/[dizin_Adı3]
- Dizini içindeki dosyalarla beraber silmek için;
rm -r [dizin_Adı]
- Silerken sorgu almak için;
rm -ir [dizin_Adı]
- Direk silmek için;
rm rf [dizin_Adı]
- Birden fazla dizin silmek için;
rm -ir [dizin_Adı1] [dizin_Adı2]
Dosya İşlemleri
cat
- Text okuma;
cat /etc/passwd
- Text dosyası oluşturalım ve içine birşeyler yazalım(ctrl+d) dosyayı kapatalım;
cat > [dosya_Adı] [metin]
toch
- Text dosyası oluşturmak için;
touch [dosya_Adı]
more
- Dosya içeriğini daha düzgün şekilde okumak için;
more [dosya adı]
echo
- Dosya oluşturup içine birşeyler not almak için;
echo "deneme" > [dosya_Adı]
- Dosya mevcut ve içi dolu ise var olan metnin altına bişeyler eklemek için;
echo "deneme" >> [dosya_Adı]
tail
- Dosyanın son 10 satırını okumak için;
tail [dosya_Adı]
- Son n satırı görüntülemek için;
tail -n [dosya_Adı]
less
- Dosya okumak için;
less [dosya_Adı]
sort
- Dosya çıktısını alfabetik olarak sıralatmak için;
sort [dosya_Adı]
- Komut çıktılarını daha düzgün şekilde almak;
[komut] | sort
wc
- Dosyadaki satır satısı için;
wc -l [dosya_Adı]
- Dosyadaki karakter satısı için;
wc -c [dosya_Adı]
- Dosyadaki kelime sayısı için;
wc -w [dosya_Adı]
head
- Dosyanın ilk 10 satırını görüntülemek için;
head [dosya_Adı]
- Dosyanın ilk n satırını görüntülemek için;
head -n [dosya_Adı]
nl
- Satır başlarına numara eklemek için;
nl [dosya_Adı]
pr
- Dosya içeriğini sayfalara bölmek için;
pr [dosya_Adı]
od
- Dosya içeriğini 16 lık sistemde görüntülemek içinİ
od -x [dosya_Adı]
- Dosya içeriğini 8 lik sitstemde görüntülemek içinİ
od [dosya_Adı]
tee
- Dosya oluşturup içine yazmak için;
tee [dosya_Adı]
paste
- İki yada daha fazla dosyayı okuyup satırları yan yana görüntülemek için;
paste [dosya_Adı1] [dosya_Adı2]
| operatörü
- Pipe işlemlerinde kullanılır. Örneğin bir komutun çıktısını diğer komutla birleştirmek için;
[komut1] | [komut2]
** echo komutunda ‘ (ters tırnak) arasındaki girdi string değilde komut olarak algılanır.
grep
- Dosya da belli bir kelime aratcağımız zaman;
grep [kelime]
- Büyük/Küçük harf ayrımı yapmaması için;
grep -i [kelime]
- Aranan kelimenin bulunduğu satır numaralarını görüntülemek için;
grep -ni [kelime]
- Bulunduğumuz dizinde tüm dosyalarda belli bir stringi aratmak için;
grep [kelime] * | more
cut
- -d ayrılacak alanları
- -f hangi alanları görüntülemek istiyorsak
- -c gösterilecek karakter sayısı
tr
- İçerikteki harfleri değiştirmek için kullanılır, örneğin harfleri büyütmek için;
cat [dosya] | tr a-z A-Z
- < operatörü önceki dosyayı girdi olarak almasını sağlamak için kullanılır. Örneğin dosya içindeki karakterleri büyütüp yeni bir dosyaya kaydetmek için;
tr a-z A-Z <[dosya]> [yeni_dosya]
- -d karakteri yok saymak için;
cat [dosya] | tr -d [karakter]
file
- Dosyanın ne tür dosya olduğunu sorgulamak için kullanılır.
file [dosya]
- Bir dizin altındaki dosyaların hangi türlerinde olduğunu görüntülemek için;
ls -F
- * işareti olanlar çalıştırılabilir dosyalar.
- @ olan dosyalar linkli dosyalar.
find
- Arama yapmak için kullanılır;
find [dizin] [parametre] [aranılan dosya/dizin]
- Home diznindeki yetkisi 644 olan dosyaları bulmak için;
find /home -perm 644 | more
locate
- Tüm dosya ve dizinlerde arama yapmak için;
locate [dosya_Adı]
whereis
- Programın çalıştırılabilir dosyasını arama için;
whereis [dosya_Adı]
which
- Programın çalıştırılabilir dosyasının hangi dizinde olduğunu bulmak için;
which [dosya_Adı]
Regex
- [] içerisindeki karakterlerin istenilen şablonda kullanılabilceğini gösterir.
- . ile gösterilen yere istenilen karakterin gelebileceğini gösterir.
- * her hangi bir karaktere denk gelir.
- ^ satır başına denk gelir.
- $ satır sonuna denk gelir.
- [^..] küme içindeki karakterler harici değerleri işaret eder.
- \{n\} kendisinden önceki karakterin n kez tekrar edildiğini gösterir.
- \{n,m\} kendisinden önceki karakterin en az n kez en fazla m kez tekrar edildiğini gösterir.
- \{n,\} kendisinden önceki karakterin en az n kez olduğunu gösterir.
- \+ kendisinden önceki karakterin bir fazla yada bir az olduğunu gösterir.
- \? kendisinden önceki karakterin sıfır yada bir kez bulunduğunu gösterir.
- \| kendisinden bir önceki veya bir sonraki karaktere karşılık gelir.
- \(..\) grup olarak düzenli deyimleri atar.
- \ özel karakterlerin normal karakter olarak algılar.
SED
Text dosyaları üzerinde değişiklik yapmamıza yardımcı olur.
- -n Belirtilen satırlara işlem yap.
- -e Bir sonraki komutu düzenleme komutu.
- -f Bir sonraki dosya adı.
- p Yazdır.
- d Silme.
- s/değişecek ifade/yerine gelecek ifade/g Text içinde kelime değiştirme.
- nd n. satırı sil.
- /^$/d tüm boş satırları sil.
- s/*$// her satır sonundaki boşlukları sil.
- /xam/d “xam” olan tüm satırları siler.
- s/00*/0/g ardışık 0 ların yerine 0 yaz.
- sed -e “s/apple/elma/g” -e “s/prg/program/g” aynı anda birçok değişiklik yapmak için.
- s/\./&\/g noktadan sonra gelen karakterleri yeni satıra kaydır.
- 10,20d 10. satırla 20. satır arasını sil. (10. ve 20. satır dahil)
- /\*\**\*$/d satırın tamamı ***** olan satırları sil.
- sed -e “s/[^|]*$//” <dosya> belirtilen dosyadaki tab ve boşluk karakterlerini kaldır.
Dosya Kopyalama, Taşıma ve Silme İşlemleri
Dosya kopyalamak için cp komutu kulanılır.
- cp kopyalanacak_dosya kopya_adı
Dosya taşımak için mv komutu kullanılır.
- mv dosya /hedef_dizin
Dosya silme işlemi için rm komutu kullanılır.
- rm dosya_adı
Dizin silmek için rm -r komutu kullanılır.
- rm -r /silinecek_dizin