Türkiye'nin en eski ve aktif online oyun platformu, Ultima Online, Counter-Strike ve diğer online oyunlar hakkında Türkçe haber, bilgi ve forum sunuyor. Türkiye'nin en eski ve aktif online oyun platformu, Ultima Online, Counter-Strike ve diğer online oyunlar hakkında Türkçe haber, bilgi ve forum sunuyor.
  • ANASAYFA
  • ULTIMA ONLINE
    • Ultima Online Oyuncu Rehberi

      Ultima Online Oyuncu Rehberi

      Oyunu hakkında tanıcı bilgiler ve ipuçları

    • Ultima Online Server List

      Ultima Online Server List

      Önemli özellikleri ve online oyuncu sayıları

    • Ultima Online Script

      Ultima Online Script

      Sphere, RunUO, Razor scriptleri

    • Ultima Online Forum

      Ultima Online Forum

      UO hakkında görüş alışverişi

  • FORUM
  • DOKÜMAN
  • İNDİR
  • DISCORD 42
   Üye ol    Giriş
129
  1. Doküman
  2. İşletim Sistemleri
  3. Linux'de aradiginiz dosyayi bulma yollari

Linux'de aradiginiz dosyayi bulma yollari

  • Noname
  • Noname
  • 2006-05-06 21:23
  • 0 Yorumlar
  • 3369 Görüntüleme
Hepimizin basina mutlaka gelmistir.
Sabit diskimizde bir dosya oldugunu biliriz fakat nerede oldugunu bir turlu hatirlayamayiz.

En basit olarak yapabilecegimiz sey tek tek dizinleri dolasip 'ls' komutuyla dosya ve dizinleri
listeleyerek aradigimiz dosyanin diskte var olup olmadigini arastirmaktir. Eger dosyanin nerede
olduguna dair cok iyi bir tahmin yapabileceksek bu yontem ise yarayabilir. Ancak bu makalemizin
asil konusu diskin kiyisinda kosesinde her yerinde olabilecek bir dosyanin bulunmasidir.

which komutu:

'which' komutu bir "program" (executable) dosyasinin PATH degiskeni ile belirtilen dizinlerden
birinde olup olmadigini ve var ise hangi dizinde oldugunu bulmaya yarar.
Oncelikle PATH degiskeninden biraz bahsedelim. Bu degisken genellikle /etc/profile veya benzeri bir
konfigurasyon dosyasinda belirlenir. Genellikle yeni kurulmus bir Linux sisteminde /usr/bin/ ,
/usr/sbin, /usr/local/bin gibi program dosyalarinin cokca bulundugu dizinlere isaret eden bu cevre
degiskeni bu programlarin butun dizin adlari verilmeden sadece adlarini yazarak calistirabilmeyi
saglar.

root@danzka:~# echo $PATH
/usr/local/sbin:/usr/sbin:/sbin: /usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games
root@danzka:~#

Yukaridaki ciktida benim makinemdeki PATH degiskeninin icerigini goruyoruz. Gordugunuz gibi
eklenecek her dizin birbirinden ' : ' (iki nokta ust uste) ile ayriliyor. Bu sekilde istediginiz
kadar dizini PATH'e eklemeniz mumkun. (/etc/profile veya benzer dosya icinde)
Mesela yukaridaki ornekte /usr/local/sbin dizini PATH dahilindeki dizinlerden biri olarak
gorunuyor. Bu sayede o dizin altindaki butun programlar sadece adi yazilarak calistirilabilir.
PATH'in bir baska kullanisli yani da BASH shell'inde (ve bazi baska shell'lerde) bulunan
<TAB> tusu ile program adi tamamlama ozelliginde kullanilacak dizinleri belirlemesidir.
Simdi benim /usr/local/sbin dizinime bir goz atalim.

root@danzka:/usr/local/sbin# cd /usr/local/sbin/
root@danzka:/usr/local/sbin# ls
dnssec-keygen* dnssec-signkey* lwresd* named-checkconf* parted*
dnssec-makekeyset* dnssec-signzone* named* named-checkzone* rndc*
root@danzka:/usr/local/sbin#

Bu dizindeki programlardan 'parted' (GNU'nun disk partisyon programi) i calistirmak icin.

root@danzka:~# /usr/local/sbin/parted

diyebilecegimiz gibi bu dizin PATH'de yer aldigi icin yanlizca

root@danzka:~# parted

diyerek de kullanabilirsiniz.

PATH kavramini uzun uzun acikladiktan sonra asil konumuz olan 'which' komutuna geri donelim.

root@danzka:~# which parted
/usr/local/sbin/parted
root@danzka:~#

Yukaridaki ornekte gordugumuz gibi eger yanlizca 'parted' yazarak bu programi calistirabiliyorsak,
her hangi bir sekilde bu programin nerede yer aldigini bulmak istedigimizde which komutunu
kullanabiliriz.
Eger aradigimiz program PATH icinde degilse asagidaki ornekteki gibi bir hata mesajiyla
karsilasacagiz.

root@danzka:~# which boyle_program_olmaz
which: no boyle_program_olmaz in (/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin: /usr/bin:/bin)
root@danzka:~#

'which' komutu kisaca bize butun PATH'e baktigi halde boyle bir program bulamadigini soyluyor.

Bu komutun baska can alici bir kullanisi daha var. Diyelim ki sisteminizde calisan 'bind' adli
programin yeni bir versiyonunu yuklediniz. Fakat eski versiyonu ortadan kaldirmayi unuttunuz. Bu
tarz bir sistemde

root@danzka:~# bind

yazdiginizda bu programin hangi versiyonun calistigini bulmak zor olacaktir.
'which' komutuyla bu sekilde hangi dizindeki 'bind' in calistirildigini bulup, yanlis olmasi
halinde yeni versiyon ile yer degistirebilirsiniz.
Gordugunuz gibi kisitli bir komut olan 'which' in bile ise yaradigi bir cok durum var.

locate komutu:
Simdi daha genis kapsamli olan 'locate' komutundan bahsedelim. Turkce tam karsiligi
'konuslandirmak' olan bu komut aynen bunu gerceklestirir.
Kullanim sekli

root@danzka:~# locate aranan_kelime

olan bu komut dizin veya dosya adinda 'aranan_kelime' gecen her dizin ve dosyayi ekrana basar. Bu
yuzden ekran ciktisi buyuk ihtimalle cok uzun olacak olan bu komut 'more' komutuyla birlikte
kullanildiginda dikkatli bir inceleme ile bize aradigimiz bir dosyayi bulmakta cok yardimci
olabilecek bir komuttur.

root@danzka:~# locate aranan_kelime | more

Bu sekilde ekran ciktisi bir ekrani doldurup size <enter> (satir satir ilerleme) veya
<bosluk> (sayfa sayfa ilerleme) tuslarina basana kadar ekranda kalacaktir.

Tabi ki 'diskde_sadece_bir_tane_var.doc' gibi az rastlanacak bir dosya ararken sayfanin hizla akip
gitmesi gibi bir sey soz konusu degildir.

Bu komut ile * (asteriks) ve ? (soru isareti) gibi meta karakterleri kullanarak da dosya aramak
mumkundur.

Locate komutunun aradiginiz dosyayi hizla buldugunu farkedeceksiniz. Bu sabit diskinizin birden
bire daha hizli calismaya baslamasindan kaynaklanmiyor. Bu hizin arkasinda cok basit bir veritabani
prensibi yatar. 'locate' komutu ilk calistirildiginda sizden dosya isimlerini saklamak icin
kullanacagi veritabanini olusturmanizi isteyecektir. Veritabani olusturulma islemi sirasinda
sisteminizde o anda bulunan butun dosyalar indexlenip veritabani formatinda bir dosyaya
yazilacaktir. Bundan sonra yapacaginiz 'locate' sorgularinin hepsi diskten gercek zamanli bir arama
yaparak degil, bu indexlenmis veritabanindan yapilacaktir. Boylece olaganustu hizli bir sekilde
aradiginiz dosyaya ulasabileceksiniz.

Yanliz bu calisma prensibinde sizin de tahmin edebileceginiz bir acik bulunmaktadir. 'locate'
komutunun veritabaninda , bu veritabani ilk olusturulduktan sonra yaratilan dosyalar indexlenmemis
olacaktir. Ayni sekilde veritabani yaratildiktan sonra sistem'den silinen veya yeri degisen
dosyalar da halen sistemdeymis gibi gorunecektir.
Bu yuzden yanlis sonuclar almamak icin 'locate' veritabani periyodik olarak 'updatedb' komutu ile
guncellenmelidir. Bu cok zaman alan ve diski yavaslatan bir islem oldugundan 'cron' yardimi ile
sistemin az kullanildigi bir zamanda otomatik olarak yapilmalidir.

'find' komutu:
Bu komut 'locate' komutuna benzer olarak calisir. Fakat bir veritabanindan yararlanmak yerine
genelde gercek zamanli olarak diskin belirtilen kismini tarayarak sonuca ulasir. Bu ozelligi
acisindan verdigi sonuclar her zaman guvenilirdir. Bunun yaninda ayni sebepten son derece yavas
calisan ve sistem kaynaklarini uzun sure mesgul eden bir programdir. Ozellikle ard arda birden
fazla sorgu yapacaginiz hallerde 'find' komutunu kullanmak yerine once 'updatedb' ile 'locate'
veritabanini guncelleyip sonra 'locate' komutu ile sonuca hizla ulasmak daha verimli olabilir.

Bu komutun kullanisi ise asagidaki gibidir.

root@danzka:~# find /etc | grep fastboot
/etc/fastboot
root@danzka:~#

Yukaridaki kullanista 'find' a /etc dizini altindaki butun dosya ve dizinleri arayip , grep
sayesinde icinde 'fastboot' kelimesi gecen butun dosya ve dizin adlarini ekrana goruntulemesini
soyluyoruz. Bu ornegimizde (kasitli olarak) sadece bir sonuc geri dondu. Komutun ciktisi gordugunuz
gibi icinde aradigimiz kelime gecen dosya veya dizinin mutlak dizin yolu.
'find' komutu direk olarak kullanildiginda 'ls' ye benzer olarak aradigimiz kelime gecen butun
dosya ve dizinleri listeleyecegi icin pratikte 'grep' komutunu kullanarak sadece ilgilendigimiz
kelimenin gosterilmesini saglamak daha kullanislidir.

Butun sabit diskiniz icinde gercek zamanli olarak icinde 'turk-php' kelimesi gecen dosya ve
dizinlerin mutlak dizin yollarini ekrana goruntulemek icin kullanacagimiz komutu sizlere sunarak bu
makalemize son veriyoruz.

Değerlendirmeler

0 (0)

0 Kullanıcı

Üye Ol veya Giriş Yap

Bu içeriğe yorum atmak istiyorsanız hemen üye olun veya giriş yapın.

Discord ile Bağlan
Twitch ile Bağlan
Steam ile Bağlan
Google ile Bağlan
Yorumlar (0)
Henüz yorum yapılmamış
Sadece kayıtlı kullanıcılar yeni yorum yapabilir.


Ultima-Strike Discord
Benzer Sayfalar
  • Gemi Bulma

    2008-06-29 14:38

  • sXe Linux Server 6.0.2.9

    2009-06-24 09:57

  • sXe Linux Server 6.0.2.1

    2008-12-04 20:26

  • PsychoStats[linux]

    2005-05-06 17:20

  • sXe Linux Server 5.2.5.1

    2008-01-19 01:08



  • Son Forumlar
  • Sayfalar
  • Gökhan Çelikörs
    NightUO

    Sunucular 2 hafta önce

  • Kanfelaketi
    Üyeliği 15 yıl ve üzerinde olanlar.

    Ultima Online 2 hafta önce

  • HızlıTetık
    Yapay zekayla UO kodlamaya çalışan var mı? Cursor...

    Sphere Scripting 2 hafta önce

  • Vanq
    Discord'a alternatif olarak basit sesli sohbet...

    Off Topic 3 hafta önce

  • Furkan Yurtseven
    CS2 Topluluk Sunucumuza Ücretli Yetkili Aranıyor!

    Counter-Strike 2 1 ay önce

  • Nefrelius
    Alcor UO Reborn

    Sunucular 1 ay önce

  • System_Error
    Client Patlaması

    Ultima Online 1 ay önce

  • georgm15
    CS2 turnuvaları tartışmalı başladı.

    Counter-Strike 2 1 ay önce

  • georgm15
    Counter-Strike 1.6 İndir - Tek Link Hızlı-

    Counter-Strike 1 ay önce

  • Cihangir algın
    Razor Kullanımı

    RunUo Scripting 2 ay önce

  • Lucretius
    Rampage Pvp

    Sunucular 2 ay önce

  • Lucretius
    Nephilim Pvp

    Sunucular 2 ay önce

  • Cengiz MERDİT
    Sphere 56T Nightly Sürümü

    Ultima Online 2 ay önce

  • aygun
    Esgaroth UO

    Sunucular 2 ay önce

  • deonist
    Alysa Pvp ( Aktif ! )

    Sunucular 3 ay önce

  • Skill seçimlerinizi planlamak artık çok daha kolay

    Ultima Online Karakter Yapılandırma Aracı Bölümü Açıldı!

    2024-10-31 22:47

  • Ultima Online topluluğu, ClassicUO'nun sadece web client olarak kullanılabileceğinin açıklanmasının ardından tepkili.

    Resmi UO, Oyuncuları İkiye Böldü: Web Client Yeterli mi?

    2024-10-14 17:45

  • Ultima Online, ClassicUO ile resmi işbirliği yapıyor! Performans iyileştirmeleri, geniş oyun penceresi ve daha fazlası geliyor.

    Ultima Online, ClassicUO ile Resmi İşbirliğine Gidiyor

    2024-09-26 14:21

  • Centred#

    2024-07-08 22:50

  • CentrED+ 7.9

    2024-07-08 22:34

  • Distance(uzaklık) Sorgusu Hakkında

    2024-06-19 22:05

  • UoFiddler

    2024-06-01 02:19

  • UoFiddler ile Map Kopyalama

    2024-05-31 21:17

Menü
  • ANASAYFA
  • FORUM
  • DOKÜMAN
  • İNDİR
  • İLETİŞİM
  • Bağlantılar
  • CS 1.6 indir
  • CS 1.6 Türkçe
  • CS 1.6 Bot
  • CS 1.6 CFG
  • CS 1.6 Rate Ayarları
  • UO Server
  • Ghost Mouse indir
  • FPS Nedir?
  • Ultima Online PVP Server
  • Makroman
  • UO Karakter Yapılandırma
    © 2004 - 2025 Ultima-Strike. Her hakkı saklıdır.