fbpx
  1. Doğanın 5. gücü X17 parçacığı
  2. Xcode Uygulama Yapmak
  3. USB Kullanım Şekilleri
  4. Şarj edilebilir karbondioksit batarya geliştirildi
  5. Minecraft Dünyasına Yolculuk
  6. İnternet Tarayıcısı Virüsü Silme
  7. Nesnelerin İnterneti
  8. Laravel Nedir ?
  9. Huawei ve Apple kapışması
  10. Apple, Siri ses kayıtları için özür diliyor
  11. Chocolatey GUI Nedir ?
  12. Hindistan’ın Ay görevi
  13. Windows Tor Browser Kullanımı
  14. Yazılım sektöründe işsizliğe neden olacak
  15. Sürü Drone Teknolojisi
  16. Anime karakterine dönüştüren Uygulama
  17. Winrar Parolası Nasıl Kırılır ?
  18. Türkiye Uzay Ajansı (TUA)
  19. Deepsound Nedir ?
  20. En Popüler Yapay Zeka Programlama Dilleri
  21. Wireshark 3.0.3 Nedir ?
  22. Netlimiter Nedir ?
  23. SoftBank, Apple ve Microsoft’un da dahil olduğu 108 milyar dolarlık Vision Fund 2 ile geliyor
  24. Google Cloud’ın yıllık geliri 8 milyar dolar seviyelerine kadar çıktı
  25. YouTube Premium, YouTube’daki reklam verenleri nasıl etkileyecek?
  26. Bankacılıkta Yeni Dünya Düzeni: Açık Bankacılık
  27. iOS 13: Kaçırmış olabileceğiniz yeni güvenlik ve gizlilik özellikleri
  28. Huawei’nin yeni işletim sistemi, Android yerine değil endüstriyel kullanım içindir
  29. TikTok Instagram tarzı bir ızgarayı ve diğer değişiklikleri test ediyor
  30. Authentictator Nedir ?
  31. Google, 15 Ekim’den başlayarak gölgelenmiş veri çalma Chrome uzantılarını kaldıracak
  32. Snapchat, küresel genişleme konusunda ciddileştiği için günlük 13 milyon aktif kullanıcı ekliyor
  33. Apple, Intel’in 5G modem birimini 1 milyar dolara satın almaya hazırlanıyor
  34. Userrecon Sosyal Ağlarda  Kullanıcı Adları Tanıma
  35. Shotcut Video editörü Nedir ?
  36. Facebook verilerimizin kontrolünü kaybetti. Şimdi 5 milyar dolar para cezası ödüyor!
  37. Amp nedir ?
  38. Netflix sadece 3$/ay mobil aboneliğini başlattı
  39. Facebook dünyayı haritalandırmak için AI destekli araçlar yayınladı
  40. RoboForm Şifre Yöneticisi Nedir ?
  41. Passpie Komut Satırı Şifre Yöneticisi Nedir ?
  42. EMP Silah Teknolojisi
  43. Windows Rainmeter Kullanımı
  44. Dedektif Pikachu, Warcraft’ı tüm zamanların en yüksek hasılatlı video oyun filmi olarak geçiyor
  45. Boston Dynamics Robotları Laboratuvar’dan Ayrılmaya Hazırlanıyor – Dünya Hazır Mı?
  46. Spotify, daha fazla hayran çekmek için bir uygulama içi Disney Hub’ı başlattı
  47. İnternet de ki Kişisel Verilerinizi Görün ve Silme Talimatı Oluşturun!
  48. Instagram, WhatsApp ve Facebook çöktü!
  49. Gri, yeşil ve pembe renkler varken, neden mavi beyaz bir Twitter’a sahipsin?
  50. Bedava Bitcoin Kazanma Yolları
  51. FaceApp #AgeChallenge, Twitter’ı yaşlı insanların fotoğraflarıyla dolduruyor
  52. Sabırla Beklenen YouTube Music, Türkiye’de Kullanıma Açıldı
  53. Google Haritalar şimdi 24 şehirde bisiklet paylaşma konumlarını gösteriyor
  54. Apple’ın özel podcast’ler için ödeme yapmayı planladığı bildiriliyor
  55. Hacker’lar Samsung’un web sitesi üzerinden Sprint hesaplarına girdiler
  56. Mercari’nin yeni Anında Ödeme özelliği, doğrulanan satıcıların bakiyelerini banka kartlarına dakikalar içinde aktarıyor
  57. Facebook’un Terazi Senatosu duruşmasından öne çıkanlar
  58. Mavi Balina oyunundan kurtulanlar anlatıyor: ‘Sanal ölüm tuzağı’
  59. Trump, Amerikan şirketlerinin Huawei’ye donanım satmasına izin verdi
  60. Dropbox Transfer, 100 GB’a kadar dosyaların doğrudan paylaşılmasını test ediyor.
  61. Alman devleti Office 365’i okullarda yasakladı, Microsoft tarafından yanıt çok gecikmedi.
  62. Google çalışanları “OK Google” sorgularınızı dinliyor; bunlardan sızdıran kayıtlar. (Dinlemeyi Kapatmak Mümkün)
  63. 5G Sağlık Tehlikesi
  64. Bilgisayar şifresi mucidi 93 yaşında hayata gözlerini yumdu!
  65. Tek tıkla IP adresinizi bulan platform: Eyep
  66. Merkez Bankası, kendi dijital parasını çıkarmayı planlıyor
  67. YouTube içerik üreticilerinin daha fazla gelir elde etmesini sağlayacak
  68. Sinemia Kapandı (SON DAKİKA)
  69. ABD Ordusu, 2020’de robot savaş araçlarını test edecek
  70. Microsoft, Mayıs 2019’da Yüzey Defteri 2’deki Windows güncelleştirmesini engelledi
  71. Facebook, Yeni Ürün Deneme Ekibi için eski Vine başkanını işe aldı
  72.  Blockchain Çalışma Yapısı
  73. Facebook Mark Zuckerberg’i kovuyor mu?
  74. Başbakan Günü’nde alışveriş yaparken, Amazon depo işçileri grevde olacak
  75. Hacker’lar Japon takası Bitpoint’ten 32 milyon $ değerinde kripto çaldı
  76. Snapchat, Netflix benzeri giriş sayfasını test ediyor
  77. QR Kod ile Wİfi Ağına Bağlanma
  78. Galaxy Note 10 USB-C kulaklık Aktif Gürültü Önleme özelliğine sahip olabilir
  79. YouTube Premium artık son videoları otomatik olarak indirebilir
  80. İşte Google’ın Gelen Kutusunun öleceği gün
  81. Google, kimlik avı saldırılarını engellemek için uygulama içi oturum açma işlemlerini yasakladı
  82. Google’ın doğal afet uyarıları yakında daha fazla görsel ayrıntıyla gelecek
  83. Snowden: Hükümetler Günümüzde Gücü Artırmaya Çalışıyor, İnsan Haklarına Daha Az Dikkat Ediyor
  84. TikTok, İngiltere’de çocukların verilerini ve güvenliğini nasıl ele aldığına dair soruşturuluyor
  85. Android için Spotify Lite 36 ülkede resmi olarak lanse edildi
  86. Mozilla, casus firması DarkMatter’ı Firefox’tan bloke etti ve kullanıcılara ‘önemli risk’ verdi
  87. Twitter cevapları gizlemenize izin verecek
  88. Facebook FTC’nin bileğine 5 milyar dolar tokat attığı bildirildi
  89. Archinaut, NASA’da 73 milyon $’lık fon sağlayarak 3D baskı yapan dev uzay aracı parçalarına yörüngede
  90. Facebook Terazi vergileri ve dolandırıcılık karşıtı işlerin nasıl olacağını…
  91. Windows Disk Bölümlendirme ve Biçimlendirme
  92. WhatsApp’a QR Kod ile Kişi Ekleme Özelliği Geliyor
  93. Ocenaudio 3.7.0 Nedir ?
  94. mIRC Nedir ?
  95. Proton Mail Nedir?
  96. Nedir Bu Bitcoin ?
  97. Windows 10 Depolama Alanı Kazanma
  98. CEH Nedir Nasıl Alınır ?
  99. DNA’da Veri Depolama Mümkünmü ?
  100. Android Emulator Nedir ?
  101. Android Studio Bluetooth İşlemleri #1: Etkinleştirme ve İzinler
  102. LoRa ve LoRaWAN Nedir?
  103. Her Şey 1 ve 0 Olabilir mi?
  104. Google Fuchsia OS gelişmeleri
  105. Synergy, Samsung’un One UI’sını Substratum temalarını kullanmanızı sağlar
  106. Krita Nedir? Nasıl Kurulur?
  107. Camtasia Studio Nedir ?
  108. Wondershare Filmora nedir ?
  109. GIMP Build nedir ?
  110. Kodi 18.3 nedir ?
  111. Atom 1.38.2 nedir ?
  112. Notepad++ nedir ?
  113. Apple TV + Video akış hizmeti kalite üzerinde odaklanmış
  114. Intel, akıllı telefonlar için 5G modemler yapmaktan vazgeçiyor
  115. İOS için Opera Touch tarayıcısı Kripto cüzdan entegrasyonu
  116. Windows 10 Kişiselleştirme
  117. Asus ROG Strix Scar II Süper Performansı
  118. Firefox ile Güçlü Parola Oluşturma
  119. Twitter’ın underrated listeleri özelliği sonunda biraz dikkat çekiyor
  120. Facebook’un aranabilir siyasi reklamlar arşivi artık küresel
  121. Facebook nihayet bu can sıkıcı bildirim noktalarını kapatmanıza izin verebilir!
  122. Daily Crunch: yeni Apple işletim sistemlerini önizliyoruz
  123. Microsoft, Onedrive depolama hizmetine ek bir güvenlik katmanı ekliyor
  124. Süperbilgisayarlarda ABD atağı
  125. Raspberry Pi 4 gives ile daha fazla bellek
  126. Laptoplarda 3 ekran teknolojisi
  127. Android Cihaz Sıfırlama Nasıl Yapılır ?
  128. Güneş Panelleri Nasıl Çalışır
  129. Connectify ile Kablosuz Ağ Paylaşma
  130. C Dili Hakkında
  131. Google Builder
  132. Kali Linux Işletim Sistemi Nedir ?
  133. Maltego Nedir Ve Nasıl Kullanılır?
  134. Python Nedir ?
  135. SOSYAL MÜHENDİSLİK NEDİR – NASIL KORUNUR ?
  136. Siber Güvenlik Meselesi
  137. C# – Nedir? Neler Yapılabilir?
  138. Algoritma Nedir?
  139. Yapay Zeka Nedir? nasıl işler
  140. Basit ve Ucuz Bilgisayar Soğutma Yöntemleri
  141. Windows Boot Hızlandırma Yöntemleri Nedir?
  142. USB ile Veri Kurtarma Yöntemi
  143. Cloud Sistemleri nelerdir ?
  144. Wi-Fi Jammer Nedir? Nasıl Kullanılır? ( Kali-Linux )
  145. Root Nedir ?
  146. İnternet Ağları Nasıl Çalışır?
  147. Ağ Atak önleme yazılımları nelerdir ?
  148. Bilgisayar Neden Kasıyor?
  149. Nasıl Format Atılır?
  150. NetCut Nedir? Ne İşe Yarar?
  151. Solus 3 Budgie
  152. Cinnamon 3.0
  153. Fedora 28 29 30 Workstation
  154. Solus 4.0 Fortitude – Budgie Desktop Edition
  155. Chakra Linux 2017
  156. VMware Workstation
  157. Windows Oyun Yürütme Hataları ve Genel Çözümler
  158. Windows Haftalık Bakım Programı
  159. VYSOR Nedir?
  160. I/O Extended 2019 & Cloud Study Jam
  161. Project İKY
  162. AnkaAktif Söyleşimiz
  163. Cankurtaran USB
  164. Windows Format Sonrası…
  165. Windows USB-DVD Kolay Format
  166. Windows Takılma Sorunlarının Nedeni
  167. Wifi Yerini Alacak Lifi Teknolojisi
  168. BörüOS Nedir?
  169. MacOS
  170. Hackuna
  171. LibreOffice
  172. Çevrimiçi Hayatınızda Güvende misiniz?
  173. Q4OS 2.4 Scorpion
  174. Peppermint OS 8 Respin
  175. ERP Nasıl Çalışır?
  176. Zorin OS 12.2
  177. Mageia 6
  178. Manjaro 18.0 KDE
  179. Linux Mint 19.1 Xfce Edition
  180. Lubuntu 18.10
  181. KdenLive
  182. BlankOn 11 Uluwatu
  183. Ubuntu 18.10 Cosmic Cuttlefish
  184. ArcoLinux 19.2
  185. Netrunner 19.01 Blackbird
  186. Deepin 15.8
  187. Linux Lite 3.8
  188. Fedora 29 Workstation
  189. MakuluLinux Core
  190. print() fonksiyonu ve yorum satırı
  191. Ruby’de Değişken Türleri
  192. Ruby’de Koşullar ve Döngüler
  193. Ruby’ de Veri Tipleri
  194. Ruby’de Operatörler
  195. Ruby De Veri Tipleri 2
  196. Ruby De Veri Tipleri 3
  197. Python IDE’leri ve Anaconda kurulumu
  198. Python Nedir ?
  199. kullanıcıdan veri alma nedir?
  200. Python koşul ifadeleri
  201. Google Stadia
  202. RUBY’E GİRİŞ
  203. LS Komutu bilenler için linux 101-5
  204. SEO programları
  205. Gelecekte ki Dünya
  206. Geleceğin Ulaşım Araçları
  207. Grafen Teknolojisi
  208. Yapay Zeka Komplo Teorisi Mi?
  209. Kendimizi Hackerlardan Nasıl Koruruz?
  210. Mikroçip İmplant Edilen İnsanlar Çok da Uzakta Değiller!..
  211. SEO Nedir?
  212. Sanayi 5.0
  213. QR kodu Nedir?
  214. SOSYAL MUHENDİSLİKTE PSİKOGRAFİ VE DEMOGRAFİ 1
  215. LS Komutu bilenler için linux 101-4
  216. Akademisyen Yapay Zeka: BİNA48
  217. Siber Güvenlik Kavramları
  218. Kripto para cüzdanları
  219. Robotlaşan Dünya
  220. Siber Güvenlik uzmanı
  221. WhatsApp Görüntülü Konuşmadaki Zafiyet
  222. Yapay Zeka, Makine Öğrenimi ve Derin Öğrenme Arasındaki Farklar
  223. Otonom Teknolojisi
  224. En popüler WordPress eklentileri
  225. SİBER SALDIRI NEDİR ?
  226. Temel Linux Terminal Komutları – 1
  227. Yapay Zeka ve Robotlar İnsanlar İçin Tehlike mi?
  228. Kripto para madenciliği & Kripto para Virüsü
  229. Python Dili neden önemli
  230. Whatsapp ve Bip Karşılaştırması
  231. YAPAY ZEKA
  232. Android ve iOS Farkları
  233. WordPress Güvenlik Önlemleri
  234. Sunucu Portları
  235. Proxy nedir?
  236. Parola Kırma Saldırıları
  237. VPN Nedir?
  238. Softaculous kurulum İşlemleri
  239. Bulut Bilişim’de Güvenlik
  240. XSStrike v2.0 Gelişmiş XSS Dedektörü ve Exploit Aracı
  241. Kodlama Bilmeyenler İçin Web Tasarımı 2. Bölüm
  242. Wifislax işletim sistemi
  243. Kodlama Bilmeyenler İçin Web Tasarımı
  244. Meltdown ve Spectre Güvenlik Açığı Nedir?
  245. İşlemciler Nedir?
  246. Bulut Bilişim (Cloud Computing)
  247. (Ransomware)Fidye Yazılımı Nedir,Nasıl Korunulur?
  248. Bluray disk Nedir
  249. Drone Nedir ve Hangi alanda Kullanılır?
  250. HDD ve SSD Nedir ve Arasındaki Farklar Nelerdir?
  251. LS komutu bilenler için linux 101 – 3
  252. Chroot Nedir ?
  253. WiPi Hunter Zararlı Kablosuz Ağ Saldırılarının Tespit Edilmesi
  254. Windows’da CMD Komutunu Kullanarak Herhangi bir Sürücüde Gizlenmiş Virüs Tespiti?
  255. Arduıno ve Raspberry nedir. Arasındaki farklar nelerdir?
  256. FTP Portundan İstismar 21/TCP/OPEN
  257. Keylogger Nedir?
  258. Purple (Mor Takım) Teaming Nedir?
  259. Programlanabilir USB Cihazlar (BadUSB) Nedir ?
  260. Non-Interactive Shell den Interactive Shell e Geçiş
  261. Wireshark
  262. Kuantum Bilgisayar Geleceğin teknolojisi
  263. LS komutu bilenler için linux 101-2
  264. Hackerların Kullandığı Mail Servisleri
  265. BitHumb Hırsızlığı
  266. KeePassXC Nedir ?
  267. Yapay Zeka Dünyasının İlk Psikopatı: NORMAN
  268. EZsploit Kullanımı
  269. Domain (Alan Adı) ve Hosting Nasıl Alınır?
  270. UFONet Kullanımı
  271. KRİPTOLOJİ’YE GİRİŞ (2)
  272. DoS / DDoS Saldırı ve Tespit Araçları
  273. Microsoft’dan Yazılım Dünyasına Bir Yenilik Daha
  274. IOT NEDİR?
  275. BASH NEDİR ?
  276. DZGEN-Penetrasyon Test Tool
  277. Fsociety Hacking Tools Pack
  278. GitHub Satıldı. Peki Ya Sonra?
  279. STEGANOGRAFİ NEDİR ?
  280. VPN (Virtual Private Network) Sanal Özel Ağ Hakkında Her Şey
  281. KRİPTOLOJİ’YE GİRİŞ (1)
  282. SNİFFER NEDİR? SNİFFER ARAÇLARI NELERDİR?
  283. DHCP IP HAVUZU TÜKETME
  284. KİSMET PAKET İÇERİĞİ
  285. WPHUNTER NEDİR?
  286. NMAP Nedir ? Nasıl Kullanılır ?
  287. Sn1per ile information gathering
  288. ls komutunu bilenler için linux 101
  289. SHODAN
  290. Dork
  291. KALI LINUX TOR BAGLANTISI
  292. Linux Dosya Sistemi Yapısı
  293. Mac adresi nasıl değişir ?
  294. HONEYPOT NEDİR ?
  295. Yazılımda Algoritma Mantığı Nedir?
  296. Gelişmiş MITM Framework : Xerosploit
  297. Sosyal Mühendislik Nedir?
  298. DHCP Servisi Üzerinden Saldırı Çeşitleri
  299. PROGRAMLAMAYA GİRİŞ
  300. İKE-SCAN Nedir?
  301. TheFatRat Kullanımı
  302. WAScan
  303. Diggy Nedir?
  304. Metasploitable Nedir?
  305. REDHAWK
  306. Python Programlama 1- Kurulum
  307. VoIP Nedir?
  308. (PENETRASYON) SIZMA TESTİ NEDİR?
  309. Şifre saldırıları (Password Attack)
  310. BranchScope Zafiyeti
  311. XSS (Cross Site Scripting)
  312. Bilgisayar Bileşenlerini Tanıyalım
  313. Bankaya gitmeden, bankayı soyuyorlar
  314. Hackerler, petrokimya şirketini havaya uçurmaya çalışmış!
  315. Casusluğa karşı en güvenli 5 mesajlaşma uygulaması
  316. Rusya olimpiyatları hackledi; Kuzey Kore’nin üstüne attı
  317. Rus hackerler, Almanların bilgi ağına sızmış!
  318. Vega Nedir ?
  319. Sniffing Nedir ? Korunma yöntemi
  320. Dork nedir? Nerelerde kullanılır? Nasıl yönetiriz ?
  321. Bilgisayar (PC) Nedir? Nerden Gelmiştir?
  322. ReconDog
  323. Kali Linux-Sqlmap Kullanımı
  324. TOP 7 WEB PENETRASYON TEST ARAÇLARI
  325. Cobalt Strike Nedir?
  326. Cobalt Strike Kullanımı
  327. SocialFish
  328. KALİ LİNUX KURULUMU
  329. Bilgi Güvenliğinin En Zayıf Halkası İnsan Faktörü
  330. Medyanın Siber Güvenlik Konusundaki Eksiklikleri
  331. Linux sistem iyileştirici ve izleme uygulaması Stacer!!!
  332. Kismet
  333. MUCYB3R CTF (ÇÖZÜMLERİ)
  334. Linux üzerinde “testdisk” uygulamasını kullanarak veri kurtarma veya görüntüleme!
  335. SQL Injection(SQLI) Nedir? -1
  336. TCP/IP
  337. Nmap nedir? Nasıl Kullanılır?
  338. Linux Temel Komutlar
  339. chmod 2
  340. Siber Genel Notlar
  341. Kali ve Parrot ekran parlaklığı sorunu çözümü…
  342. Google Chrome Kali Linux’e Kurulum
  343. Chmod 1
  344. Bireysel Siber Güvenlik
  345. Linux PDF Cenneti
  346. Kali Linux Komutlar
  347. Temel Linux Komutları
  348. However a small line
  349. Made open likeness
  350. Had grass morning
  351. Kismet
  352. Wordlist
  353. Said could convince her and
  354. Medusa ile Brute Force saldırıları
  355. Slowloris HTTP Dos Attack
  356. DMİTRY
  357. Simple and regular than
  358. Pronunciation more common
  359. To achieve this it would be necessary
  360. Evening be whose seasons
  361. Their pronunciation and their most
  362. Heaven and earth seem
  363. When darkness overspreads
  364. Then she continued her way
  365. The breath of that universal love

Kaldıgımız yerden devam edelim bir önceki yazımızda ” JOKER KARAKTERLER VE DÜZENLİ İFADELER ” devam ediceğimizi belitmiştik

 

Joker karakterler (wildcards), Giriş

Günlük Linux kullanımında çok defa bir operasyonu tek seferde birden fazla nesne için çalıştırmak iste-
yebileceğiniz (rm gibi) durumlarla karşılaşabilirsiniz. Böyle durumlarda, aşağıdaki gibi bütün dosyaları
komut satırına yazmak çok gereksizdir:

Bu problemi çözmek için, Linux’un kendi içinde yer alan joker karakter desteğinin getirdiği avantajdan
yararlanabilirsiniz. Aynı zamanda (tarihsel nedenlerden dolayı) ”globbing” olarak da adlandırılan bu
destek, joker karakter modelini kullanarak tek seferde birden fazla dosyayı belirlemenize olanak sağlar.
Bash ve diğer Linux komutları joker karakter modeline bakarak ve dosya sistemi üzerinde bu modele uyan
dosyaları bularak komutu yorumlar. Bu durumda diyelim ki bulunduğumuz dizinde dosya1, dosya2, … ,
dosya8 isimli dosyalar varsa bu dosyaları aşağıdaki şekilde yok edebilirsiniz:

Ya da daha basitçe ismi dosya ile başlayan bütün dosyaları yok etmek istediğinizde aşağıdaki gibi
yazabilirsiniz:

Uyuşmazlıkları (non-matches) Anlamak

Veya /etc içinde yer alan ve ismi g ile başlayan tüm nesneleri listelemek istediğinizde aşağıdaki gibi yazabilirsiniz:

 

Peki ya acaba herhangi dosya sistemi nesnesi ile uyuşmayan bir yol belirlendiğinde ne olacaktır?
Aşağıdaki örnekte, /usr/bin altında yer alan, asdf ile başlayan ve jkl ile biten bütün dosyaları listelemek
istiyoruz:

Bu durumu şöyle açıklayabiliriz. Normalde mevcut dosya sisteminde yer alan bir ya da daha fazla nesne ile
uyuşan bir model belirlediğimizde kabuk, yazdığımız modeli her uyuşan nesne boşlukla ayrılacak şekilde
listeler. Fakat model herhangi bir nesne ya da nesnelerle uyuşmuyorsa, kabuk ifadeyi olduğu gibi bırakır.
Ve sonuçta ls, /usr/bin/asdf*jkl dosyasını bulamaz ve hata verir. Buradaki kural şudur: Kullanılan model,
sadece modelin belirlediği nesne ya da nesneler sistemdeki nesnelerle uyuşuyorsa açılmaktadır.

Joker karakter sözdizimi: *

Artık joker karakterlerin nasıl çalıştığını anladığımıza göre, biraz da joker karakterlerin sözdizimine göz
atalım. joker karakterler arasında birkaç özel karakter kullanabilirsiniz; işte bunlardan bir tanesi: *

Yıldız (asterix) * işareti sıfır veya daha fazla karakterle eşleşecektir. Bunun anlamı * olan yere herhangi
bir şey gelebileceğidir. Örnekler:
• /etc/g* belirtimi /etc’nin altında g ile başlayan tüm nesnelerle eşleşir.
• /tmp/my*1 beliritim /tmp’nin altında my ile başlayan ve 1 ile biten tüm nesnelerle eşleşir.

Joker karakter sözdizimi: ?

?
Soru işareti ’ ?’ herhangi bir tek karakterle eşleşir. Örnekler:
• dosyam? belirtimi dosyam ile başlayıp bir tane daha karakter içeren nesnelerle eşleşir.
• /tmp/notlar?txt belirtimi hem /tmp/notlar.txt, hem /tmp/notlar txt dosyasıyla eşleşir, eğer mevcutlarsa.

Joker karakter sözdizimi: [ ]

[ ] Bu joker karakterler ’ ?’ ile benzerdir, ancak daha fazla kesinlikte ayrım yapma şansını verir. Bu joker
karakterleri kullanmak için, [ ] arasında eşlemek istediğiniz tüm karakterleri koymalısınız. Sonuçta elde
edilen eşleşme bu karakterlerin herhangi birinin tek eşleşmesini verecektir. – (eksi) işaretini bir aralık
vermek için kullanabilirsiniz, hatta birden fazla aralığı birlikte kullanabilirsiniz. Örnekler:
• dosyam[12] belirtimi dosyam1 ve dosyam2 ile eşleşecektir. Wildcard, çalışılan dizindeki en bu dos-
yalardan en az bir tanesi mevcut olacak şekilde genişletilecektir.
• [Cc]hange[Ll]og belirtimi Changelog, ChangeLog, changeLog, ve changelog ile eşleşecektir. Gördü-
ğünüz gibi, köşeli parantez joker karakterlerini kullanmak küçük / büyük harf eşleşmelerindeki
kombinasyonları yakalamak için faydalı olacaktır.
• ls /etc/[0-9]* komutu /etc ’nin altında rakamla başlayan tüm dosyaları listeler.
• ls /tmp/[A-Za-z]* komutu /tmp ’nin altında küçük ya da büyük harfle başlayan tüm dosyaları
listeler.

Joker karakter sözdizimi: [!]

[!] [!] yapısı [] yapısına benzemektedir. Ancak bu sefer [] parantezde yer alan karakterle eşleştirme yerine,
parantezler içerisinde bulunmayan karakterler ile eşleştirme yapılmaktadır.
Örnekler:
bu komut ismi dosyam9 olan dosya dışındaki tüm dosyaları yok eder.

Joker karakter ile ilgili uyarılar

Burada joker karakter kullanırken dikkat edilmesi gereken bazı noktalara değineceğiz. Bash wildcard ile
ilgili karakterler (?, [, ], ) yazıldığı zaman buna göre özel bir işlem yapacağından, bir komuta para-
metre geçirirken bu karakterler kullanılacaksa dikkat edilmelidir. Örneğin, [fo]
ifadesini içeren bir dosya
yaratmak istediğimizde aşağıdaki yazılı olan komut yapmak istediğimiz şeyi gerçekleştirmeyecektir:

 

Eğer [fo]* modeli, dizin içerisinde herhangi bir dosya ile eşleşiyorsa, bu durumda /tmp/yenidosyam.txt
dosyası içerisinde görmeyi beklediğiniz [fo]* ifadesi yerine bu eşleşen dosyaları göreceksiniz. O halde
çözüm nedir? Bunun için gerekli çözümlerden birisi karakterlerinizi tek tırnak içerisinde yazmanızdır. Bu
yaklaşım, kabuğa bu karakterler üzerinde hiç bir joker karakter işlemi yapmaması gerektiğini anlatır.

 

Bu yaklaşımı kullandığınızda yeni dosyanız beklediğiniz gibi [fo]* karakter dizimini içerecektir. Alternatif
olarak, ters bölü (backslash) kullanarak karakterlerinizin bash için, joker karakter yerine normal karakter
anlamına gelmesini sağlayabilirsiniz. (escape characters)

Yukarıda anlatılan her iki yaklaşımda aynı şekilde çalışacaktır. Ters bölü (backslash) karakterinin bu
şekilde kullanımından da bahsettiğimize göre, eğer karakter olarak backslash () kullanmak istiyorsanız
bunu tek tırnak içinde ya da \şeklinde yazabileceğinizi söyleyebiliriz.

Düzenli İfadeler

Düzenli ifade nedir?

Düzenli ifadeler (”regex” veya ”regexp” de denir) yazı kalıplarını ifade etmek için kullanılan özel bir
biçimdir. Linux sistemlerinde, arama ve değiştirme işlerinde olduğu kadar yazı kalıplarının bulunmasında
da düzenli ifadeler kullanılır.

Glob kıyaslaması

Düzenli ifadelere bakarken düzenli ifade sözdiziminin (sentaksının) önceki eğitimdeki (bu bölümün so-
nundaki Kaynaklar başlığının altındaki Bölüm 1’e bakın) dosya ismi açılımı (globbing) kurallarına ben-
zediğini düşünebilirsiniz. Ancak sakın bunu sizi aldatmasına izin vermeyin; bu iki kavram ancak ve ancak
çok yüzeysel olarak birbirlerini andırırlar. Düzenli ifadeler de dosya ismi açılım kuralları da her ne kadar
başlangıçta benzer gibi görünseler de aslında çok farklı kurallara sahip ve farklı durumlarda kullanılan
iki sistemdir.

Basit bir dizi parçası

Uyarımızı yaptıktan sonra düzenli ifadelerin en basit türüne bakalım, basit dizi parçası. Bunun için
grep komutunu kullanacağız. Bu komut bir dosyanın içeriğini tarayıp belli bir düzenli ifade kalıbına uyan
kısımları bulur. grep, düzenli ifade kalıbına uyan her satırı basar ve buna uymayan satırları da görmezden
gelir:

Yukarıda, grep programına ilk parametre olarak bir düzenli ifade geçildiğini ve ikinci parametre olarak
bir dosya ismi verildiğini görebilirsiniz. Grep /etc/passwd dosyasındaki her satırı okur bash olarak verilmiş
basit karakter dizi parçasının o satırda mevcut olup olmadığına, başka bir deyişle o satırın kendisine verilen
düzenli ifade kalıbı ile eşleşip eşleşmediğine bakar. Eğer bir eşleşme söz konusu olursa ilgili satırı basar,
olmazsa bir sonraki satıra geçer

Basit karakter dizisi parçasını anlamak

Genellikle eğer belli bir karakter dizisini arıyorsanız bunu herhangi bir ”özel” karakter kullanmadan
olduğu gibi yazabilirsiniz. Ancak ve ancak aradığınız karakter dizisinin içinde +, ., *, [, ], ve karakterle-
rinden biri ya da birkaçı var ise o zaman bunları tırnak içine almanız ve bunlardan önce tersbölü karakteri
basmanız gerekir. Birkaç basit örneğe daha bakalım:

• /tmp (/tmp karakter dizisini arar)
• ”[kutu]” ([kutu] karakter dizisini arar)
• ”komik” (komik karakter dizisini arar)
• ”ld.so” (ld.so karakter dizisini arar)

Metakarakterler

Düzenli ifadeler ile çalışırken yukarıdaki örneklerde incelediğimiz aramalardan çok daha karmaşık arama-
ları metakarakterleri kullanarak gerçekleştirebilirsiniz. Bu metakarakterlerden biri . (nokta) karakteridir
ve bu ”herhangi bir karakter” anlamına gelir:

Bu örnekte gördüğünüz gibi programın /etc/fstab dosyasına bakarak ürettiği çıktıda dev.hda gibi bir
karakter dizisi mevcut değildir. Ancak grep programının aradığı dev.hda karakter dizisi değil dev.hda
kalıbı idi. Hatırlarsanız . herhangi bir karakter anlamına geliyordu. Gördüğünüz gibi . metakarakteri
işlevsel olarak komut satırındaki dosya ismi açılımı mekanizmasındaki ? metakarakterine benzemektedir.

[ ] Kullanımı

Eğer . sembolünü kullanarak yaptığımızdan daha özel bir eşleşme isteseydik [ ve ] sembollerini (köşeli
parantez karakterleri) kullanarak belli bir karakter kümesini gösterebilirdik:

Gördüğünüz gibi bu sözdizim kuralı da tıpkı dosya ismi açılımlarındaki [] özelliğine benzemektedir.
İşte düzenli ifadelerle ilgili dikkat etmeniz gereken noktalardan biri daha: Sözdizimi olarak benzer görünen
ama birebir aynı olmayan bazı kurallar düzenli ifadeleri öğrenmeyi güçleştirebilir.

[ ˆ ] Kullanımı

Köşeli parantezlerin anlamını [ karakterinden hemen sonra bir k̂arakteri koyarak tersine çevirebilirsiniz.
Bu durumda köşeli parantezlerin içindeki karakterler değil de onların dışında geriye kalan diğer karakter-
lerden herhangi biri yakalanır. Bu arada lütfen dikkat edin: düzenli ifadelerde [ˆ] kullanırken dosya açılım
kurallarında [!] kullanıyorduk:

Farklılaşan söz dizimi

Köşeli parantezler içindeki sözdiziminin farklı olduğuna dikkatleri çekmekte fayda var. Mesela köşeli pa-
rantez içinde bir . karakteri yazarsanız bu gerçekten de nokta karakterini yakalamak istediğinizi gösterir
tıpkı yukarıdaki örneklerde 1 ve 2 karakterlerinin eşleşmesinde olduğu gibi. Köşeli parantezlerin dışında
ise . nokta karakteri herhangi bir karakterin yerine geçer ve başına
karakteri gelmediği sürece özel olarak nokta karakterinin yakalanmasını zorunlu kılmaz. Bundan fayda-
lanarak /etc/fstab dosyasında dev.hda içeren tüm satırları şu komut ile bulabiliriz:

Alternatif olarak şöyle de yazabilirdik:

Her iki düzenli ifade de /etc/fstab dosyasındaki herhangi bir satır ile eşleşmeyecektir.

”*” metakarakteri

Bazı metakarakterler kendi başlarına herhangi bir şey ile eşleşmezler ancak bunun yerine kendilerinden
önce gelen karakterin anlamını değiştirirler. Bunlardan biri de * (yıldız) karakteridir ve kendinden önce
gelen karakterin sıfır ya da daha çok tekrar eden şeklini yakalar. Birkaç örneğe bakacak olursak:
• abc (abbbbc’yi yakalar ama abqc’yi yakalamaz)
• ab
c (abc’yi yakalar ama abbqbbc’yi yakalamaz)
• abc (ac’yi yakalar ama cba’yi yakalamaz)
• b[cq]
e (bqe’yi yakalar ama eb’yi yakalamaz)
• b[cq]e (bccqqe’yi yakalar ama bccc’yi yakalamaz)
• b[cq]
e (bqqcce’yi yakalar ama cqe’yi yakalamaz)
• b[cq]e (bbbeee’yi yakalar)
• .
(herhangi bir karakter dizisini yakalar)
• foo.* (foo ile başlayan herhangi bir karakter dizisini yakalar)

ac satırı ab*c regex ile eşleşir çünkü * metakarakteri kendisinden önce gelen ifadenin sıfır defa tekrar
etmesine (yani hiç bulunmamasına) izin verir. Şunu da eklemek gerekir ki * metakarakteri temel olarak
* glob karakterinden daha farklı bir şekilde yorumlanmaktadır.

Satır Başı ve Satır Sonu

Burada ayrıntılı olarak inceleyeceğimiz ve sırasıyla satır başı ve satır sonunu ifade eden son metakarakter-
ler v̂e $ metakarakterleridir. Düzenli ifadenizin en başında m̂etakarakterini kullanarak modelinizin satır
başında bulunmasını zorlayabilirsiniz. Aşağıdaki örnekte # karakteri ile başlayan herhangi bir satırla
eşleştirme yapmak için #̂ düzenli ifadesini kullanıyoruz:

Tam Satır Düzenli İfadeler

ve $ metakarakterleri tüm satır ile eşleştirme yapmak için birlikte kullanılabilir. Örneğin, aşağıdaki
örnekte yer alan düzenli ifade içerisinde herhangi bir sayıda diğer karakterlerin yer aldığı, # ile başlayan
ve . karakteri ile sonlanan bir satırla eşleştirmeyi sağlayacaktır:

Yukarıdaki örnekte, $ karakterinin kabuk tarafından yorumlanmasını engellemek için tüm ifadeyi tek
tırnak karakterleri arasında yazdık. Tek tırnak olmasaydı, daha grep yorumlamadan $ karakteri düzenli
ifade içerisinden yok olacaktı.

Bu yazımızında sonunda geldik bir donraki seride Dosya Standartlarına geçicez.

 

0 Comments

Leave a Comment

Blog'a e-posta ile abone ol

Bu bloga abone olmak ve e-posta ile bildirimler almak için e-posta adresinizi girin.

Diğer 261 aboneye katılın