#449   2020-03-11 20:57 GMT        




Selamun Aleyküm Cyber-Warrior Ailesi, 
Komut satırı, hayatımızı çok daha kolay hale getiriyor çünkü birkaç sıradan işi otomatikleştirebiliyoruz ve 
işlerin daha sorunsuz çalışmasını sağlayabiliyoruz. Grafiksel Kullanıcı Arayüzünde (GUI) tıklamak yerine, birkaç 
emir göndererek yapmak istediğimize ulaşabiliriz.

Unix kabuğu, Unix benzeri işletim sistemleri için komut satırı kullanıcı arabirimi sağlayan bir komut satırı 
yorumlayıcısı veya kabuktur. Kabuk hem etkileşimli bir komut dili hem de bir betik dilidir ve işletim sistemi 
tarafından sistemin kabuk komut dosyalarını kullanarak yürütülmesini kontrol etmek için kullanılır.

Her Linux veya Mac tabanlı işletim sistemi, varsayılan olarak, genellikle Terminal adı altında yüklenmiş bir 
komut satırına sahiptir. Komut satırı (CLI), dosyaları kolayca taşımamıza ve yeniden adlandırmamıza, verileri 
sıralamamıza ve bilgisayarda gezinmemize olanak tanır.

Daha fazla uzatmadan, işte geliştiricilerin hayatını kolaylaştıran 13 komut…

GREP

$ grep «some string» file

Grep komutu her dosyadaki kalıpları arar. Ayrıca, yeni satır karakterleriyle ayrılmış kalıpları arar ve bir 
kalıpla eşleşen her satırı yazdırır.



-i seçeneği, verilen dosyada büyük / küçük harfe duyarsız bir dize aramamızı sağlar. REACT, REact 
gibi kelimelerle eşleşir.

$ grep -i «REact» file

Verilen dizge / kalıpla eşleşen satır sayısını -c (sayım) bayrağıyla bulabiliriz.

$ grep -c «react» index.js



Buyrun internette bulduğum grep komutu hakkında eğlenceli ve eğitici bir çizgi roman;



Ek olarak, egrep ve fgrep değişken programları aynıdır.
grep -E ve grep –F sırasıyla, bu değişkenler kullanımdan kaldırılmış olsalar da ancak geriye dönük uyumluluk 
için sağlanmıştır.

LS

$ ls

ls geçerli aktif yoldaki dosyaları ve dizinleri listeler. Yol adı bir dosyaysa, istenen seçeneklere göre dosya 
hakkındaki bilgileri görüntüler. Yol adı bir dizinse, ls içindeki dosya ve alt dizinlerle ilgili bilgileri görüntüler.



Klasörler mavimsi iken, dosyaların gri renkte gösterildiğini fark etmiş olabilirsiniz. Bu, klasörler ve dosyalar 
arasında bir ayrım yapmamıza yardımcı olmak içindir.

PWD

$ pwd



Pwd komutu, geçerli çalışma dizinini yazdırmak için kullanılan bir komut satırı yardımcı programıdır. Çıktı, geçerli 
çalışma dizininin tam sistem yolunu standart çıktıya yazdırır. Varsayılan olarak, pwd komutu, mevcut dizinin tüm fiziksel 
yolunun bir seçenekle gösterilebilmesine rağmen, sembolik bağlantıları yok sayar.

CAT

$ cat somefile.js



Cat komutunun bir metin dosyasına göre üç ilişkili işlevi vardır:

*Onları görüntüleme
*Kopyaları birleştirmek
*Yenilerini oluşturma

Cat komutunun en yaygın kullanımı, dosyaların içeriğini okumaktır.

Aşağıdaki örnekte cat komutunun standart çıktısı, çıktı yeniden yönlendirme operatörü (sağa dönük bir açısal ayraç ile 
temsil edilir) dosya2`ye yönlendirilir:

$ cat somefile gt; somefile2



ECHO

$ echo «some text»



Linux`taki echo komutu, argüman olarak geçen bir metin / string satırı görüntülemek için kullanılır. Echo, durum metnini 
ekrana veya bir dosyaya vermek için çoğunlukla kabuk komut dosyalarında ve toplu iş dosyalarında kullanılan yerleşik bir 
komuttur.

TOUCH

$ touch somefile

Touch komutu, içeriği olmayan bir dosya oluşturmak için kullanılır. Ayrıca kullanıcı dosya oluşturma sırasında depolanacak 
veriye sahip olmadığında kullanılabilir.



Dosyayı oluşturmak için «touch» kullandığımızı ve dosyanın içine bakmak için «cat» komutunu nasıl kullandığımızı fark edin. 
Yeni oluşturulan index2.js dosyası boş olduğundan, cat komutu hiçbir şey döndürmez.

İşte cat komutu ile touch komutu arasındaki temel farklar:

*cat — İçeriği içeren dosyayı oluşturmak için kullanılır.
*touch— Herhangi bir içerik veya boş dosya içermeyen bir dosya oluşturur. Bu komut, kullanıcı dosya oluşturma sırasında 
depolanacak veriye sahip olmadığında yararlıdır.

MKDIR

$ mkdir some-directory

Tahmin ettiğiniz gibi, mkdir geçerli aktif yolda yeni bir boş dizin oluşturur. Metin düzenleyicinizde veya GUI’nizde tıklamak 
yerine, yeni klasörler oluşturmak için bu komutu kullanın.



Not: Daha önce bahsettiğimiz ls komutu ile dizinin içine nasıl bakabileceğimize dikkat edin.

RM

$ rm someFile

Rm, tam olarak ne diyorsa onu yapar ve kaldırmayı ifade eder. Kaldırır veya başka bir deyişle, bir dosyayı siler.



Varsayılan olarak, rm komutu dizinleri kaldırmaz. Dizinleri kaldırmak için -rf bayrağını geçmeniz gerekir.

$ rm -rf some-directory



Not: Dizinde içeriğe sahip olsun veya olmasın, dizini koşulsuz olarak kaldırır.

RMDIR

$ rmdir some-directory

Dizin içinde içerik yoksa, rmdir komutu dizini kaldırır.



TAIL

$ tail somefile 

Tail komutu bir dosyayı okur ve bunun son kısmını (“tail”) çıkarır.



Tail komutu, çarpışma raporlarından veya önceki geçmiş günlüklerinden geçerken kullanışlıdır. Dosya günlükleriyle 
çalışırken işe yararlığına bir örnek;



WGET

$ wget someurl

GNU Wget, en yaygın kullanılan internet protokolleri olan HTTP, HTTPS, FTP ve FTPS kullanarak dosyaları almak için 
ücretsiz bir yazılım paketidir. Etkileşimli olmayan bir komut satırı aracı olduğundan, komut dosyalarından, CRON 
işlerinden, X-Windows desteği olmayan terminallerden vb. kolayca çağrılabilir.



GNU Wget, büyük dosyaları almayı veya web veya FTP sitelerinin tamamını yansıtmayı kolaylaştırmak için birçok özelliğe 
sahiptir:

*REST ve RANGE tuşlarını kullanarak iptal edilen indirmeleri devam ettirebilir
*Dosya adı joker karakterlerini kullanabilir ve yinelemeli olarak dizinleri aynalayabilir
*NLS tabanlı birçok farklı dil için mesaj dosyaları
*İsteğe bağlı olarak indirilen belgelerdeki mutlak bağlantıları göreli olarak dönüştürür, böylece indirilen belgeler 
yerel olarak birbirine bağlanabilir
*Çoğu UNIX benzeri işletim sisteminde ve Microsoft Windows`ta çalışır
*HTTP proxy`lerini destekler
*HTTP çerezlerini destekler
*Kalıcı HTTP bağlantılarını destekler
*Katılımsız / arka plan işlemi
*Yansıtırken belgelerin yeniden indirilmesi gerekip gerekmediğini belirlemek için yerel dosya zaman damgalarını 
kullanır
GNU Wget, GNU Genel Kamu Lisansı altında dağıtılmaktadır.

FIND

$ find path -name filename

Find komutu, bir dosya veya dizini hızlıca aramanızı sağlar. Yüzlerce dosya ve çoklu dizin içeren büyük bir proje 
üzerinde çalışırken faydalıdır.



Find komutu aynı zamanda bir dizinde (ve alt dizinlerinde) aynı tipte dosyaları aramanıza izin verir. Örneğin, 
aşağıdaki komut geçerli çalışma dizininizdeki tüm .js dosyalarını arayacaktır.

$ find. -name "*.js"



MV

$ mv somefile /to/some/other/path

Mv komutu dosyaları veya dizinleri bir yerden diğerine taşır. Mv komutu tekli dosyaları, çoklu dosyaları ve dizinleri 
taşımayı destekler.



Elbette ki işimize yararlı komutlar sadece bu yazıda saydıklarımız değil. Bu listeye ekleyebileceğimiz daha birçok 
komut mevcut. Fakat bir geliştirici için en fazla ihtiyaç duyduğu komutları örneklendirdik.

Faydalı olması temennisiyle, Allah (cc)`a emanet olun.