Anasayfa Makale Windows Komut Satırında Temel Dosya ve Süreç İşlemleri

Windows Komut Satırında Temel Dosya ve Süreç İşlemleri

Windows sistemlerde komut istemini kullanarak dosya ve birtakım süreç işlemlerini çok daha etkin bir şekilde yapabileceğinizi biliyor muydunuz? Bu yazımızda temel seviyede birtakım işlerinizi komut satırının gücünden nasıl faydalanarak daha hızlı bir şekilde halledebileceğinizi anlatıyoruz.

Çalıştığımız Dizini Öğrenme ve Dizinler Arasında Gezme

Windows sistemlerde komut istemini çalıştırdığınızda normal kullanıcı yetkilerindeyseniz kullanıcı klasörünüz altında, Administrator haklarındaysanız da C:\Windows\System32 altında çalışmaya başlarsınız. Başka dizinlere geçtiğinizde çoğu zaman nerede olduğunuzu, hangi yola geldiğinizi bilmek isteyebilirsiniz. Bunun için cd veya chdir komutunu kullanırız. cd, “Current Directory” yani “mevcut dizin”, chdir ise “dizin değiştirme” anlamına gelen “change dir” kelimesinin kısaltılmış hali.

Bu noktada aklınızda birtakım sorular oluşmuş olabilir zira cd ve chdir komutu normalde bildiğiniz gibi başka dizinlere geçiş yapmak için kullanılır fakat Windows sistemlerde bu komutları bulunduğunuz dizini öğrenmek adına da kullanabilirsiniz. Merak etmeyin, dizinler arasında geçişin nasıl yapıldığına da değineceğiz.

Aşağıdaki ekran görüntüsünde gördüğünüz gibi cd komutu da, chdir komutu da halihazırda AkilGUNDOGAN kullanıcısının dizininde bulunduğumuzu gösteriyor. cd’nin bu kullanımının Unix-like sistemlerdeki karşılığı ise pwd.

Komut istemini kullanırken büyük ihtimalle başka dizinlere de geçip çalışmanız gerekebilir. Bunun için de yine aynı şekilde cd gecilecekDizinYolu veya chdir gecilecekDizinYolu şeklinde bir kullanım yapabilirsiniz. Örneğin aşağıdaki ekran görüntüsünde her iki komutun da işlevini göstermek için önce cd kullanarak Desktop dizinine geçiş yaptım, daha sonra da chdir kullanarak KomutSatırıRehberiResim isimli dizine atladım. Her seferinde de cd ve chdir komutlarını yanlarına herhangi bir dizin adı yazmadan girerek hangi dizinde olduğumu kontrol ettim.

Bazen de geldiğimiz bir üst dizine geri dönmemiz gerekebilir. Bunun için sürekli üst dizinin tam yolunu girmek oldukça yorucu olabilir. Örneğin Desktop dizininden bir üstü olan AkilGUNDOGAN dizinine geçiş yapmak için her seferinde cd C:\Users\AkilGUNDOGAN yazmak oldukça zahmetli. Bunun için cd komutunun bilmemiz gereken bir özelliği daha mevcut. Bir dizin içerisinde çalışıyorken, cd .. yazdığınız takdirde bir üst dizine geçiş yaparsınız.

Aşağıdaki ekran görüntüsünde cd .. komutunu girerek KomutSatırıRehberiResim dizininden bir üst dizin olan Desktop’a, daha sonra da tekrar cd .. yazarak asıl kullanıcı dizinime geçtim.

Diyelim ki bir dizin değil, 3-4 üst dizin birden atlayacaksınız. Bunun için cd .. komutumuza ek olarak araya bir / işareti getirip tekrar .. yazdığımızda iki dizini birden atlamış oluruz. Örneğin cd .. / .. şeklinde bir komut girdiğinizde iki dizin üste geçiş yaparsınız.

Ben 3 dizin birden atlamak istediğim için aşağıda cd ../../.. şeklinde bir komut girdim ve görüldüğü gibi AkilGUNDOGAN kullanıcısı altında yer alan Desktop’un bir alt dizini olan KomutSatırıRehberiResim klasöründen Users klasörüne atlamış oldum. Tekrar cd yazarak da bulunduğum dizini kontrol ettim.

Bir Dizinde Yer Alan Dosyaları Listelemek

Windows gibi NT çekirdeğini kullanan sistemlerde komut istemcisi yardımıyla belirli bir klasör içi veya çalıştığımız dizin içerisindeki dosyaları listelememiz gerektiğinde Türkçe karşılığı “dizin” olan “directory” kelimesinin kısaltması olan dir komutunu kullanırız. Bu komutun Unix-Like sistemlerdeki karşılığı ise ls’dir. Elde ettiğimiz çıktı bizlere dosyaların son düzenlendiği tarihleri, dosya veya dizin olduklarını, toplam boyut gibi bilgiler verir.

Komut İstemi Yardımıyla Dizin/Klasör Oluşturma

Komut istemi yardımıyla eğer bir dizin oluşturmak istersek aynı iş için kullanabileceğimiz iki adet komut bulunmakta. Bu komutlardan ilki ve en bilineni mkdir. Adından da anlaşılabileceği gibi, “make dir” yani “dizin oluştur” kelimesinin kısaltması. Diğer bir komut ise md. “mkdir” komutunun daha da kısaltılmış hali olan md’yi de klasörler oluşturmak için kullanabilirsiniz. Aşağıdaki ekran görüntüsünde her iki komuttan da yararlanarak klasörler oluşturduk ve dir komutuyla klasör içeriğini listelediğimizde dizinlerin oluştuğunu görmüş olduk.

Bir Metin Dosyası İçeriğini Görüntüleme

Herhangi bir metin belgesinin içeriğini görüntülemek istiyorsak, Windows sistemlerde bunun için dosya adıyla beraber type komutunu kullanırız. type dosyaadi şeklinde bir kullanım yaparak komut isteminde metin belgesinin içeriğini yazdırabilirsiniz. Bu komutun en olumsuz yanı ise eğer metin belgesinde Türkçe karakterler yer alıyorsa ilgili karakterler komut satırına bozulmuş şekilde yansıtılıyor. Bu nedenle, type komutunun daha çok çeşitli kodların bulunduğu metin belgelerini görüntülemek için kullanılması daha doğru olacaktır.

Bilgisayar ve Sistem Hakkında Çeşitli Bilgiler Edinme

Linux sistemlerin birçoğunda neofetch komutu yardımıyla bilgisayar hakkında temel bilgiler elde edildiği gibi, Windows’ta da sistem bilgilerini elde etmek için kullanabileceğiniz bir komut mevcut. systeminfo komutu yardımıyla işletim sistemi, bilgisayar, güncellemeler ve ağ yapılandırması hakkında bir çıktı özeti elde edebilirsiniz.

Bir Dizini Taşıma, Silme ve Yeniden İsimlendirme

Windows sistemlerde komut satırı yardımıyla bir dizini taşımak istiyorsak, taşıma kelimesinin İngilizce karşılığı olan move komutunu kullanabiliriz. Örneğin, diyelim ki ornekdizin isimli klasörün içerisinde yer alan belgeDizinim isimli klasörü masaüstünde yer alan yazılar klasörüne taşımak istiyorum. Bunun için move belgeDizinim C:\Users\AkilGUNDOGAN\Desktop\KomutSatırıRehberiResim şeklinde bir kullanım yapabilirim.

Aşağıdaki ekran görüntüsünde görüldüğü gibi öncelikle dir komutunu girerek ornekdizin klasörünün içerisini kontrol edip taşımak istediğim dizinin ismini aklımda tutuyorum. Daha sonra da az önce belirttiğim gibi ilgili dizini masaüstüne taşımak istediğimden, move belgeDizinim C:\Users\AkilGUNDOGAN\Desktop\yazılar şeklinde komutumu giriyorum. Gördüğünüz gibi hedef dizinimize giderek son durumu kontrol ettiğimde başarıyla taşındığını görüyorum.

Eğer dizini/klasörü yeniden isimlendirmek istiyorsak da move komutundan faydalanabiliriz. Windows’taki komutların bu açıdan oldukça tuhaf olduğunu söyleyebiliriz zira diğer işletim sistemlerinin birçoğunda bir komut sadece bir ana görevi uygularken, Windows sistemlerde komutun ismiyle alakası olmayan birçok görev yapabilirsiniz. İşte move komutu da sanıldığı gibi sadece dosya ve dizin taşımak için kullanılmıyor, aynı zamanda dosya ve dizinleri yeniden isimlendirmek için de kullanılabiliyor.

Bunun için move dizinadı dizininyeniadı şeklinde bir kullanım yapabilirsiniz. Herhangi bir yol belirtmediğinizden dizin yeniden isimlendirilecektir.

Aynı şekilde sadece dizinleri değil, dosyaları da yeniden isimlendirmek için move komutunu kullanabilirsiniz.

Eğer oluşturduğunuz dizini/klasörü silmek istiyorsanız “Remove Dir” yani “Dizini Sil” kelimelerinin kısaltılmışı olan rmdir komutunu kullanabilirsiniz. Tipik olarak bu komutun yaptığı, sağ tıklayıp silmekle aynı. Fakat unutmamanız gereken şey şu ki, bu komut yardımıyla sildiğiniz herhangi bir dizin “Geri Dönüşüm Kutusu”na gönderilmemekte. İlgili klasör kalıcı olarak silineceğinden bu komutu kullanmadan önce iki kez düşünün.

Eğer silmek istediğiniz dizinin içerisinde birtakım dosyalar varsa rmdir dizinadi şeklinde bir kullanım yaptığınızda dizin silinmez. Bunun için rmdir komutunu /S veya /Q takılarıyla kullanmanız gerekir. /S takısı dosyalar silinmeden önce onay alırken, /Q takısı kullanılması durumunda onay alınmadan sessizce silinirler.

Örneğin abcdizini isimli bir klasörü rmdir komutuyla /S takısı kullanmadan sildiğimizde aşağıdaki ekran görüntüsünde yer alan hatayı alırız. /S takısını kullanmamız durumunda ise onay verdikten sonra görüldüğü gibi dizin başarıyla silinir.

Bir Metin Belgesi Oluşturmak ve İçerisine Yazı Yazmak

Komut satırı yardımıyla metin belgesi oluşturup içerisine yazı yazmak istiyorsanız Windows için buna özgü bir komut bulunmamakta fakat farklı komutları uygun şekillerde kullanarak bunu yapabilirsiniz.

Hatırlarsanız echo komutunu konsola yazı yazdırmak için kullandığımızı söylemiştik. Metin belgesine yazı yazdırmak için de echo komutundan yararlanacağız. Yapmamız gereken şey aslında çok basit. Metin belgesini nereye oluşturacaksak ilgili dosya yolunu aklımızda tutuyoruz veya ilgili yola cd komutu yardımıyla gidiyoruz. Daha sonra echo yazilacakyazi > metinbelgesi.txt şeklinde bir kullanımla hem metin belgesi oluşturmuş oluyoruz, aynı zamanda içerisine de bir şeyler yazdırıyoruz.

echo komutu her ne kadar güzel olsa da tam anlamıyla bize bir editör deneyimini sunmuyor. Komut satırıyla metin belgesi oluşturmak istiyorsak bunun için klasik notepad komutundan da yararlanabiliriz. Belgeyi hangi dizine oluşturacaksak aynı şekilde ilgili dizine geldikten sonra notepad metinbelgesi.txt komutunu yazmamız yeterli. Komutu girdikten sonra not defteri bizi karşılayacak ve yeni metin belgesi oluşturmak isteyip istemediğimizi soracak. Kabul ettikten sonra içerisine yazınızı yazabilirsiniz. Kapatırken kaydetmeyi unutmayın.

Her şeye rağmen hantal GUI arayüzleriyle uğraşmak istemiyorsanız Windows bunun için mini bir konsol editörü de sunuyor. Bu editörün tek özelliği bir metin belgesinin içerisine yazı yazmak. Bu yöntem ile metin belgesi oluşturup içerisine yazı yazmak istiyorsanız copy con metinbelgesi2.txt şeklinde bir kullanım yapabilirsiniz.

Bu komutu girdikten hemen sonra metin belgesine yazı yazabilmeniz için mini editör başlamış olacak. İstediğinizi yazdıktan sonra CTRL+Z tuşlarına basıp çıkabilirsiniz.

İki Dosya Arasındaki Farkları Karşılaştırma

İki dosyayı, özellikle de metin belgesi türündeki iki dosyayı birbiriyle karşılaştırıp farkları bulmak istiyorsanız bu durumda comp komutunu kullanabilirsiniz. comp komutu birçok amaçla kullanılan bir komut. Kullanım amacını comp dosya1 dosya2 /argüman şeklinde belirtebilirsiniz. Argüman yazan kısma hangi amaçla kullanacaksanız onun argümanının/takısının gelmesi gerekiyor. Bu söylediklerimiz oldukça karışık gelebilir fakat biraz sonra söyleyeceklerimizle durumu daha iyi anlayacaksınız.

Örneğin ben aşağıda aralarında ufak farklar bulunan iki metin belgesini önce type komutu ile görüntülemek istedim. Farklar bariz ve gözle görülüyor. Ama düşünün ki binlerce satırlık benzer iki metin belgesi var ve bunları karşılaştırmanız gerekiyor. İşte bu amaçla comp komutunu kullanıyoruz. Ben metinbelgesi1.txt ve metinbelgesi2.txt’nin içerisinde yer alan farklılıkları harf bakımından karşılaştırmak istediğim için comp metinbelgesi1.txt metinbelgesi2.txt /A komutunu kullandım. Buradaki /A, ASCII karakterleri ifade ediyor. Bildiğiniz gibi her harf ve sayının bilgisayar dilinde sayısal karşılığı ASCII sayesinde belirtilmekte.

Gördüğünüz gibi komutu girdikten hemen sonra bize gördüğü farklılıkları çıktı olarak başarıyla sundu. Eğer comp komutunun farklı argümanlarla olan kullanımlarını merak ediyorsanız comp /? yazarak komutun yardım bilgisini görüntüleyebilirsiniz.

Bir Dosyayı Kalıcı Olarak Silme

Windows sistemlerde komut istemi yardımıyla bir dosyayı silmek için del komutunu kullanırız. del komutu bilinçli bir şekilde kullanılmadığında telafisi yoktur zira silinen dosyalar “Geri Dönüşüm Kutusu”na gönderilmeden kalıcı olarak silinecektir. Bu nedenle del komutunu kullanırken hatalar yapmamaya dikkat etmelisiniz.

Yanlışlıkla silmenin önüne geçmek için del komutunu /P takısıyla kullanabilirsiniz. Bu takıyla kullandığınızda silme işlemi gerçekleştirilmeden önce Y(Yes)/N(No) şeklinde sizden onay ister.

Not: del komutunun birebir işlevinin aynısını erase komutu da görmekte. Bu iki komuttan istediğinizi dosya silme amacıyla kullanabilirsiniz.

Bir Dosyayı Kopyalama, İki Dosyayı Birleştirme

Windows sistemlerde bir dosyayı uzak bir hedefe kopyalamak için copy veya xcopy komutunu kullanırız. copy ve xcopy komutları Windows sistemlerde dosya yapılarını düzenlemek adına oldukça önemli bir yere sahip.

copy komutunu copy dosyaadi hedefdizin şeklinde kullanabilirsiniz. Örneğin ben aşağıdaki ekran görüntüsünde öncelikle kopyalama yapacağım ornekdizin içindekileri dir komutu yardımıyla kontrol ettim. Daha sonra ilgili klasörün içindeki dosyayı copy komutu yardımıyla masaüstünde yer alan yazılar isimli klasöre kopyaladım.

Aynı şekilde xcopy komutunu da dosya kopyalamak amacıyla kullanabilirsiniz. Dosya kopyalama söz konusu olduğunda copy komutu ile arasında herhangi bir farklılık bulunmuyor. xcopy dosyaadi hedefdizin şeklinde bir kullanım yapabilirsiniz.

Her iki komutun da dosya kopyalama işlemi söz konusu olduğunda aynı işi yaptığını gördünüz fakat o halde neden iki ayrı komut halindeler? Aslında bu sorunuzun cevabı çok basit. Copy temelde “Command Prompt” yani “cmd.exe” altında çalışabilen bir araç/komutken, xcopy ise “xcopy.exe” adında bağımsız bir yazılımdır. Copy komutu ihtiyaçları tam olarak karşılamadığı için, xcopy Microsoft tarafından geliştirildi.

Artık günümüzde her iki komut da bir hayli eski olduğundan yerini modern Windows sürümlerinde bulunan “Robust File Copy” yani güçlü dosya kopyalama anlamındaki ROBOCOPY komutunun alması bekleniyor. ROBOCOPY, copy ve xcopy’nin eksikliklerini neredeyse tamamen kapatan gelişmiş bir komut satırı aracı. Yüksek hızda kopyalama, dizin kopyalama, isim değiştirme gibi özelliklerin daha nicesi ROBOCOPY’de bulunmakta. ROBOCOPY’e komut istemine robocopy yazarak erişebilirsiniz.

Robocopy komutunu robocopy ornekdizin ornekdizin1 şeklinde kullanabilirsiniz. Böylece “ornekdizin” adlı klasörün “ornekdizin1” adında bir kopyası oluşturulur. Robocopy, komutu kullandıktan sonra karşınıza kopyalamanın son durumu hakkında da bilgi verir. Bu çıktıdan yola çıkarak dosyaların başarılı bir şekilde kopyalanıp kopyalanmadığını ve kopyalama işleminin hızını görebilirsiniz.

Bütün bunların dışında copy komutuyla kullanabileceğiniz çok faydalı bir özellik daha mevcut. Birleştirme. Metin veya ikili kod türü dosyaları kolayca birleştirebilirsiniz. Eğer birleştireceğimiz şey bir metin belgesi ise copy komutu ile beraber /A (ASCII karakterleri ifade eden) takısını, binary (MP3, arşivler veya PE) dosyaları birleştirmek için de /B takısını kullanabilirsiniz. Örneğin copy /b birincimuzik.mp3 + ikincimuzik.mp3 birlesmismuzik.mp3 komutunu kullandığınızda birincimuzik adlı MP3 dosyası ile ikincimuzik birleşecek ve birlesmismuzik.mp3 adında yeni bir ses dosyası oluşacaktır. Müziği açtığınızda iki dosyanın birleştiğini görebilirsiniz.

Not: /b komutu ile birleştirdiğiniz her dosya düzgün bir şekilde çalışmayabilir, birleşme işlemi gerçekleşse bile dosya açılmayabilir. Test edilen dosya formatları arşivler ve MP3 dosyalarıdır.

Bir Dosyada Kelime Aramak

Genellikle yoğun çalıştığımız zamanlarda acilen not almamız gereken bir şey olduğunda ya öylesine hızlıca bir metin belgesi açıp içerisine yazarız veya satırlarca başka şeylerin yazıldığı dosyalara notumuzu düşüp kapatırız. Daha sonraları ilgili nota ihtiyaç duyulduğunda ise tek tek dosyada yer alan satırları kontrol etmek işkence gibi gelebilir. Oysa komut satırı kullanarak bunu kolayca halledebiliriz.

Windows sistemlerde komut satırı yardımıyla metin belgelerinden bir karakter dizisini aramak istiyorsak “bul” anlamına gelen find, eğer dosyalardan karakter dizisi arıyorsak “karakter bul” anlamındaki findstr komutunu kullanırız.

Ben aşağıdaki ekran görüntüsünde de görüldüğü gibi, yazilidosya.txt adında bir metin belgesinden aradığım şeyle alakalı birkaç kelimeyi kullanarak find “Akil” yazilidosya.txt şeklinde bir komut girdim. find komutu başarıyla görevini yerine getirerek aradığım şeyi bana gösterdi. Aranacak kelime her zaman tırnak içerisinde yazılır, aksi takdirde komut çalışmaz.

Kimi zaman bir dosyanın bazı karakter dizilerini içerip içermediğini kontrol etmemiz gerekebilir. Diyelim ki ben de Arsivim.zip isimli arşiv dosyamda aradığım karakterlerin olup olmadığını merak ediyorum. Bunun için findstr "Akil” Arsivim.zip şeklinde bir komut girmem yeterli olacaktır.

Sistem Tarihi ve Saatini Değiştirme

Windows sistemlerde komut istemi yardımıyla pratik bir şekilde sistem tarihini değiştirmek istiyorsak bunun için oldukça pratik bir komut olan ve İngilizce “tarih” anlamına gelen date’i kullanabiliriz.

Not: Bu başlık altındaki komutlar yönetici yetkilerine ihtiyaç duyar. Bu nedenle uygulamadan önce komut istemini yönetici olarak başlatmanız gerekiyor. Aksi takdirde erişim engellendi hatası alacaksınız.

Öncelikle date /T diyerek şu anki tarih ve saat ayarımızı kontrol edelim. Gördüğünüz gibi 21.02.2021 gözüküyor. Daha sonra sadece date komutunu girelim ve hangi tarih ve saate ayarlamak istiyorsak onu yazalım. Ben 22.05.2020 tarihine ayarlamak istedim. Tekrar date /T ile kontrol ettiğinizde sistem tarihinizin değişmiş olduğunu göreceksiniz.

date komutunu yazdıktan sonra eğer vazgeçtiyseniz, hiçbir şey yazmadan ENTER tuşuna basarsanız herhangi bir değişiklik yapılmayacaktır.

Eğer sistem saatini değiştirmek isterseniz bunun için başka bir komut kullanmak zorundayız. Bunun için “zaman” yani time komutunu kullanıyoruz. Benim ekran görüntüsünü aldığım zamanda saat 23.31 idi. Bunu değiştirmek için doğrudan time komutunu girmeniz ve saat:dakika formatında yazmanız gerekiyor. Daha sonra time komutunu /T takısı ile kullandığınızda saatin değiştiğini başarıyla görebilirsiniz.

time komutu

Çalışan İşlemleri Listelemek

Windows sistemlerde, çalışan işlemleri (process) komut istemi yardımıyla listelemek istiyorsak “görev listesi” anlamına gelen tasklist komutunu kullanırız.

Tasklist komutunu herhangi bir takı olmadan kullandığınızda çalışan tüm işlemleri gösterecektir.

tasklist

Fakat diyelim ki belirli bir DLL modülünün kullanıldığı işlemleri de görmek istiyoruz. Bunun için tasklist komutuyla beraber /M takısından yararlanabiliriz. /M modül anlamına gelir. Örneğin tasklist /M kernel32.dll şeklinde bir kullanım bizlere kernel32.dll’i kullanan işlemleri gösterecektir.

tasklist ile modülleri görüntüleme

Çalışan İşlemleri Kapatma ve Süreçleri Öldürme

Bizlerin bu yazıyı hazırlamasının asıl sebebi, konsol işlemlerinin grafik arayüzüyle yapılan işlemler kadar hatta çok daha kolay olduğunu göstermekti. Windows kullanıcılarının birçoğu, çalışan bir işlemi zorla kapatmak isterse görev yöneticisini kullanıyor. Bildiğiniz gibi görev yöneticisine ulaşmak yerine göre pek meşakkatli olabilmekte. CTRL+ALT+Delete kombinasyonuna basmak, listeden öldürülecek işlemi seçmek ve çıkan kutucukları onaylamak zaman kaybı.

Aslında bütün bunlara hiç gerek yok. Sadece ufak bir kod ile kullanıcı hesabı yetkileriniz dahilinde durdurmak istediğiniz herhangi bir işlemi öldürebilirsiniz. Bunun için “görevi öldür” anlamına gelen taskkill komutunu kullanabilirsiniz.

Normalde birçok komutu doğrudan herhangi bir takı kullanmadan girip kullanabilirsiniz fakat taskkill için böyle bir şey söz konusu değil. taskkill’i etkili bir şekilde kullanarak süreçleri sonlandırabilmek için bazı özel takıları bilmeniz gerekiyor. Bunun için öncelikle taskkill /? yazarak komutun kullanımı hakkında bilgi edinelim.

taskkill help

Bilgimizi elde ettik. Gözünüze /F ve /T takıları çarpmış olmalı. /T takısı işlemi ve alt süreçlerini durdururken, /F ise zorla kapatmayı ifade ediyor. “E, zaten zorla kapatmıyor muyuz?” diyebilirsiniz. Hayır, zorla kapatmıyoruz. Şöyle ki, bir process’i durdurmak isterseniz önünüzde iki seçenek vardır. Linux sistemlerde de olduğu gibi ya önce kapatma isteği gönderip kapanmasını beklersiniz ya da zorla kapatırsınız.

Eğer durduracağınız süreç pek önemli değilse ve programın ani bir şekilde kapanışı olumsuz etkilemiyorsa zorla kapatabilirsiniz. Bunun için /F ve /T takılarının aynı anda kullanılması gerekir. Örneğin firefox.exe işlemini durdurmak için taskkill /IM firefox.exe /F /T şeklinde bir kullanım yapabiliriz. /IM takısı burada modül ismini belirtir.

taskkill ile süreç öldürme

Gördüğünüz gibi kullanıcı yetkileri dahilinde ilgili süreçler zorla durduruldu, Firefox kapatıldı. Burada durdurulamayan bir adet işlem gözünüze çarpmış olabilir. Büyük ihtimalle bu güvenlik yazılımınızın tarayıcınızı korumak amacıyla enjekte ettiği parçalardan biri olabilir. Bunu güvenlik yazılımları genel itibariyle sistem haklarıyla çalıştığı için isteseniz de durduramazsınız. Ama firefox.exe süreçlerinin sonlanmasından sonra Firefox kapanacağı için haliyle enjekte edilen modül de o işlem altında kalmaya devam etmeyecektir.

Bilgisayara Kayıtlı Kablosuz Ağ Parolalarını Elde Etmek

Birçoğumuz evde, işte veya farklı ortamlarda kablosuz ağ parolamızı bir kere girdikten sonra genel itibariyle unutuyoruz. Her şey çok güzel giderken, başka cihazlardan da aynı ağa bağlanmak için parolaya ihtiyaç duyabiliyoruz. Kalkıp parolayı tekrar öğrenmeye çalışmanıza hatta modeminizi veya router’ınızı sıfırlayıp yeni parola belirlemenize gerek yok. İki adet basit netsh komutu kullanarak kablosuz ağ parolanızı düz metin halinde elde edebilirsiniz.

Öncelikle yapmanız gereken komut istemini çalıştırmak ve kayıtlı kablosuz ağları görüntülemek amacıyla netsh wlan show profiles şeklinde bir komut yazıp ENTER tuşuna basmak. Bu komut, halihazırda kayıtlı olan veya bağlı olan kablosuz ağları bizim için listeleyecektir. Bu bilgi daha sonra parolayı elde edebilmemiz için önem arz ediyor. Ben çeşitli gizlilik nedenlerinden ötürü kendi ağımın adının üstünü ekran görüntüsünde kapattım ve yerine başka bir isim yazdım.

netsh wlan

Sıra geldi kablosuz ağımızın parolasını öğrenmeye. Bunun için netsh wlan show profiles “kablosuzAğAdı” key=clear şeklinde bir kullanım yeterli olacaktır. Bu komutun sonunda yer alan key=clear ibaresi parolanın şifresiz düz metin olarak görüntülenmesini sağlar.

netsh wlan show profiles

Dosya Özniteliklerini Görüntüleme ve Değiştirme

Windows sistemlerde bildiğiniz gibi her bir dosyanın kendisine özel bir özniteliği bulunuyor. Dosya özniteliğinin ne olduğunu basitçe açıklayacak olursak, bir dosyanın kendisi hakkında bizlere bilgi veren şey diyebiliriz. İlgili dosya arşiv mi, gizli mi yoksa görünür mü, resim mi yoksa metin mi gibisinden bilgileri dosya özniteliğine bakarak elde edebilirsiniz.

Bunun için kullandığımız komut ise “öznitelik” anlamına gelen attrib. Basitçe dosyamızın bulunduğu dizine geldikten sonra attrib dosyaadi şeklinde bir kullanım yaparak dosyanın özniteliğine dair bilgi edinebilirsiniz.

attrib ile öznitelik kontrolü

attrib komutunun amacı sadece dosya özniteliklerini görüntülemekten ibaret değil. attrib’i takılarıyla beraber kullandığınızda oldukça faydalı ve etkili bir komut olduğunu unutmayın. Peki ya bahsettiğimiz bu takılar nelerdir? Öncelikle bunun için attrib /? yazarak bilgi ediniyoruz.

attrib help

Komutun gördüğünüz gibi sözdizimi yapısı attrib /herhangibirtakı dosyayolu şeklinde. Bu takıların her biri kendi içerisinde ayrı bir anlam ifade etmekte.

  • + : Özniteliği eklemek.
  • – : Özniteliği temizlemek.
  • R : Salt okunur dosyalara ait öznitelik.
  • A : Arşiv dosyalarına ait öznitelik.
  • S : Sistem dosyalarına ait öznitelik.
  • H : Gizli dosyalara ait öznitelik.
  • O : Çevrimdışı dosya özniteliği.
  • Drive : Özniteliği düzenlenecek olan sürücü
  • /S : Öznitelik ile ilgili yapılan oynamaları gösteren takı.
  • /D : İşlem yapılan dizini göstermek.

Diyelim ki C sürücüsü altında ornekdizin isimli bir klasörünüz var ve bu klasörü gizlemek istiyorsunuz. Bunun için attrib +H ornekdizin şeklinde bir kullanım yapabilirsiniz. Bu, sadece ornekdizin isimli klasörü gizler, içerisindeki dosyaların halen gizli dosya özelliğine sahip olmadığını unutmayın. Bunun için de ikinci ekran görüntüsünde görüldüğü gibi önce ornekdizin isimli klasöre geçiş yapıp daha sonra attrib +H “*” komutunu girmeniz yeterli olacaktır. * tüm dosyaları ifade eden bir joker karakterdir.

attrib

attrib

Zamanlanmış Görevleri Görüntüleme

Windows sistemlerde bulunan ve birçok yazılım tarafından kullanılan zamanlanmış görevleri grafik arayüze ihtiyaç duymadan görüntülemek istiyorsanız komut istemini kullanabilirsiniz. Bunun için schtasks komutunu girmeniz yeterli.

schedule task

Net User Kullanarak Kullanıcı Hesabı Oluşturma ve Silme

Yazımızın bu kısmına kadar komut istemiyle temel dosya işlemlerinden tutun, komutlarla işlerimizi rahatça yapabilecek kadar bilgi edindik. Kabuklar yazının başında da belirttiğimiz gibi bir işletim sisteminin olmazsa olmazlarından. Bu nedenle en temel sistem işlemlerinin birçoğunu komutlar kullanarak yaptırmanız mümkün.

İşte bizler de komut kullanarak yeni bir kullanıcı hesabı oluşturup, Administrator yetkisi vereceğiz. Bu sayede iki adet komut kullanarak yeni kullanıcı hesapları oluşturabilecek veya silebileceksiniz. Bunun için net user’i kullanıyoruz.

Not: Bu komutları kullanabilmek için komut istemini yönetici olarak çalıştırmalısınız. Aksi takdirde erişimin engellendiğine dair bir hata alacaksınız.

Ben öncelikle Akil_IS adında yeni bir kullanıcı hesabı oluşturmak istediğim için net user Akil_IS bubenimsifrem /add şeklinde bir komut girdim. Buradaki Akil_IS kullanıcı adınız, bubenimsifrem kısmı ise hesap parolanızı ifade ediyor.

Daha sonrasında ise net user komutunu herhangi bir ekleme yapmadan tekrar kullanalım. Gördüğünüz gibi hesap başarıyla oluşmuş. Biz işimizi garantiye alıp, bir de yönetici yetkilerini verdiğimiz komutu girelim. Bunun için net localgroup administrators Akil_IS /add yazıp ENTER tuşuna basmak yeterli olacaktır.

net user /add

Eğer oluşturduğunuz kullanıcı hesabını silmek istiyorsanız, bu da oldukça kolay. net user Akil_IS /delete şeklinde bir komut girerek ilgili kullanıcı hesabını silebilirsiniz. İşlemin başarılı olup olmadığını anlamak için net user yazıp var olan kullanıcı hesaplarını tekrar kontrol edelim. Ekran görüntüsünden de anlaşılabileceği gibi komutumuz başarıyla tamamlanmış.

net user

Sistemde Çalışan Servisleri Durdurma ve Geri Başlatma

Sistemde arkada çalışan bazı servisleri durdurmak veya başlatmak isterseniz net start ve net stop komutlarını kullanabilirsiniz.

Not: Bu komutlar yönetici yetkilerine ihtiyaç duyar.

Servisi durdurmak için net stop servisadı, servisi yeniden başlatmak için net start servisadı şeklinde komutumuzu girebiliriz. Örneğin ben aşağıda kablosuz ağ hizmetini durdurdum ve tekrar başlattım.

net stop

Yüklü Sürücüleri Ekrana Yazdırma

Sisteminizde kurulu aygıt sürücülerini görüntülemek veya tam listesini elde etmek istiyorsanız harici bir program kullanmanıza gerek yok. Bunun için driverquery komutunu kullanabilirsiniz. Solda sürücülerin adı yazarken, sağda ise ne işe yaradıklarını ve hangi tip sürücü olduklarını görebilirsiniz.

komut satırı driverquery

PowerShell Kılavuzuna Ulaşma ve Güncelleme

Bildiğiniz gibi Windows sistemlerdeki tek kabuk “Command Prompt” değil. Microsoft, yeni nesil PowerShell ile birlikte artık çok daha güçlü bir kabuk bizlere sunuyor. PowerShell, komut anlamında koca bir derya deniz olduğundan bu yazıda tüm PowerShell komutlarına değinmemiz mümkün değil fakat en işlevsel komutlar bizim ana odağımız olacak.

PowerShell bizler için zaten gayet iyi bir kılavuz/help çıktısı sunuyor. PowerShell’i çalıştıralım ve help yazalım. Gördüğünüz gibi PowerShell’in sıradan komut satırlarına göre ne gibi farklılıkları olduğuna detaylıca yer verilmiş.

powershell help

PowerShell halen geliştirilmeye devam edilen yeni nesil bir kabuk olduğu için help dosyalarının içeriğinde yazan bilgiler geçerliliğini yitirmiş olabilir. Bu durumla karşılaşmamak için update-help komutunu girebiliriz. Böylece help dosyaları indirilip güncellenecektir.

Not: Bu komutu uygulamadan önce PowerShell’i yönetici olarak çalıştırmalısınız. Aksi takdirde başarısızlıkla sonuçlanır.

powershell content

PowerShell ile Dosyaların Hash Değerini Elde Etme

Normalde indirdiğimiz veya başka yollarla edindiğimiz dosyaların bozulup bozulmadığını, orijinalliğini kaybedip kaybetmediğini öğrenmek amacıyla ek programlar kullanarak hash değerlerini karşılaştırırdık. PowerShell’in get-filehash komutuyla beraber artık buna gerek kalmıyor.

Bir dosyanın hash değerlerini elde etmek amacıyla get-filehash dosyaismi şeklinde bir komut girmeniz yeterli. Bu komutla beraber herhangi bir takı kullanmazsanız varsayılan olarak SHA256 çıktısını edinirsiniz. Eğer SHA256 yerine daha farklı hash algoritmaları kullanarak değerler elde etmek istiyorsanız -Algorithm algoritmaAdı takısını kullanabilirsiniz.

powershell md5

PowerShell ile Dosya İndirme

PowerShell, saymakla bitmeyecek kadar güzel özelliklere sahip. PowerShell kullanarak herhangi bir adresten kolayca dosya indirebilirsiniz.

Öncelikle New-Object System.Net.WebClient isimli objeyi bir sonraki komutla beraber daha kolay kullanabilmek için bir değişkene atayalım. Ben indirici adında bir değişkene atamak istedim. Daha sonra bu değişkenle beraber .DownloadFile adında bir yapı daha kullanarak indirmemizi gerçekleştireceğiz. Son durumda bir nevi basit bir PS scripti oluşturmuş olacağız.

$indirici = New-Object System.Net.WebClient

$indirici.DownloadFile(“indirilecekDosyaURL”, “indirilecekdosyaKonum\dosyaAdı”)

Ben Technopat’ın robots.txt dosyasını PowerShell ile indirmeyi denedim. Gördüğünüz gibi indirme işlemi başarıyla gerçekleşti.

powershell

PowerShell ISE/Integrated Scripting Environment

PowerShell şüphesiz ki işinizi birçok alanda kolaylaştırabileceğiniz hatta otomatiğe bağlayabileceğiniz yeteneklere sahip bir kabuk. Herhangi bir amaca yönelik yazacağınız PowerShell scripti ile mini otomasyonlar hazırlayabilirsiniz. Microsoft bunu da düşünüp, kullanıcılara PowerShell ISE adında oldukça güzel bir geliştirme ortamı hazırlamış. Halihazırda Windows 10 ile beraber yüklü geldiği için herhangi bir kurulum yapmanıza gerek kalmıyor.

powershell

Sonuç

Windows sistemler hakkında bilgi edinmek, sistemi tanımak ve işlerini kolaylaştırmak isteyenlerin işine oldukça yarayacağını düşündüğümüz kabuk yapılarına ilk yazımızda, temel komut satırı kullanımına ikinci yazımızda ve dosya işlemlerine ise bu son yazımızda değindik. Böylece “Windows Komut Satırını Tanıyalım” serisinin sonuna gelmiş bulunuyoruz.

Aynı zamanda birçok alanda faydası dokunacak birtakım geliştirme ortamları ve yapılar hakkında da yeterince açık ve bilgilendirici olmayı amaçladık. Umarız ki çalışmalarınızda faydası dokunur.

Sizlerin de eklemek istediği komutlar veya konu hakkında görüşleriniz varsa yorumlarda belirtebilir, Windows sistemler hakkındaki sorularınız için Technopat Sosyal’e konu açabilirsiniz. Esen kalın.