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.
Ç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.
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.
Ç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.
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.
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.
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.
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
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.
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.
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.
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.
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ış.
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.
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.
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 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 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 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 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.
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.