Mühendislik verimliliğini artırmak isteyen her yazılım geliştiricisinin Bash komutlarını nasıl kullanacağını bilmesi gerekir. Bazı durumlarda, güzel bir kullanıcı arayüzü mevcut olmayabilir, bu nedenle geriye kalan tek şey bir komut satırıdır. Komut satırı üzerinden komut çalıştırmak, bazı grafik arayüzlerden daha hızlı olabilir.
Bash, Unix sistemlerinde güçlü bir araçtır. Terminal komutları aracılığıyla, bazı durumlarda bir kök kullanıcı ile aynı güce sahip birçok eylemin gerçekleştirilmesine izin verir. Bash’i bu kadar çekici ve popüler kılan başka bir şey, komut dosyaları yazma ve bazı akışları düzenleme becerisidir. Komutları sıralı ve tekrarlı olarak çalıştırmak, hatayı önemli ölçüde azaltır ve çok fazla mühendislik süresi kazandırır.
Peki Bash nedir? Kısaca bahstmek gerekirse; Bash “Bourne-again shell terminal”, komut yorumlayıcısı olarak adlandırılan alana yazılan komutları yorumlayan komut yorumlayıcısıdır.
Daha detaylı bilgi için bu linke bakabilirsiniz:
Aşağıda, bir mühendis olarak hayatınızı kolaylaştırabilecek en tanınmış günlük Bash komutlarının bir listesini bulabilirsiniz.
13 Bash Komutları
1. ls
ls geçerli dizindeki içeriği listeler veya dizini incelemek için bir parametre olarak aktarır.
2. cd
cd değişim dizini anlamına gelir . Dizini bağımsız değişken olarak aktarırsanız, geçerli dizin sağladığınız dizinle değiştirilecektir. Örneğin, komut
cd /private/Applicationsmevcut dizini olarak değiştirecektir
/private/Applications.
3. mkdir
mkdir yeni bir dizin (klasör) oluşturmak içindir. Dizinin adı bu komuttan sonra verilmelidir.
4. cp
cp bir dosyayı bir dizinden diğerine kopyalar. İlk parametre bir kaynak dosyası, ikinci parametre bir hedef dosyadır. Kullanım örneği aşağıdaki gibi görünecektir:
cp readme.txt private/readme.txt. Bu, dosyayı
readme.txtdizine kopyalayacak ve aynı dosya adını koruyacaktır .
/privatereadme.txt
5. mv
mv dosyaları bir dizinden diğerine taşır.
cpKaynak ve hedef dosyaları sağlamamız gereken komuta benzer bir sözdizimi vardır .
6. rm
rm belirtilen dosyayı kaldırır. Bu komut dizini kaldırmak için de kullanılabilir, ancak ek bir parametre ile
-r. Örneğin, komut
rm -r /privatedizini
/privateve içindeki tüm dosyaları silecektir .
7. cat
cat bitiştirmenin kısaltmasıdır . Bu, dosyaları okumak ve yazmak için Unix’te standart bir araçtır. Dosyayı okumak
readme.txtiçin yazmamız gerekiyor
cat readme.txtve ardından dosyanın içeriği gösterilecek. Dosyaya yazmak için komutu kullanın
cat > readme.txt. Dosyanın üzerine yazılacak veya yoksa yeni bir dosya oluşturulacaktır. Dosyaya metin eklemek için komutu kullanın
cat >> readme.txt. Buradaki fark yalnızca
>ve
>>operatörlerinde.
>İken, yeni dosyaya çıkış yönlendirir veya mevcut üzerine yazılır
>>yönlendirmeleri yeni dosyaya çıktı veya mevcut biri için ekler.
8. grep
grep Unix sistemlerindeki başka bir araçtır. Dosyalarda veya giriş akışlarında basit metin araması için tasarlanmıştır. Normal ifadelerle birden çok dosyada arama yapılmasını sağlayan birçok parametreye sahiptir. Bunun en basit kullanımı , dosyada merhaba
grep 'hello' readme.txt kelimesini arayan olacaktır .
readme.txt
9. xargs
xargs diğer komutlarla birlikte en iyi şekilde çalışır. Girdiyi alır ve girdiden parametre ile besleyerek komutu yürütür. En basit örnek olacaktır
echo "new_dir" | xargs mkdir. Metin
new_dir,
xargskomuta girdi olarak aktarılır . Ardından komut
mkdir new_diryürütülecek ve yeni bir dizin
folder1oluşturulacaktır. Bağlantı, boru operatörü aracılığıyla yapılır
|. Bu operatör bir komutun çıktısını aşağıdaki komuta girdi olarak iletir.
10. chmod
chmod verilen dosyanın iznini değiştirir. Unix sistemlerinde, dosya okuma, yazma ve yürütme izinlerine sahip olabilir. Bu komut ile bir dosya için gerekli izni ayarlamak mümkündür. Örneğin
chmod +w readme.txt, dosyaya yazma izni verir
readme.txtve
chmod -w readme.txtonu kaldırır.
11. export
export tüm ortam değişkenlerini listeler ve yeni bir değişken oluşturur. Hiçbir parametre sağlanmadıysa, tüm ortam değişkenlerini gösterecektir. Örneğin , mevcut Bash oturumu için
export JAVA_HOME=/Applications/jre/jdkbir ortam değişkeni ayarlayacaktır
JAVA_HOME. Değişkene tüm oturumlar için kalıcı olarak sahip olmamız gerekirse, bu komutu başlatma dosyasına koymamız gerekir. (Bash için öyle
~/.bashrc.)
12. ping
ping uzak kaynağın erişilebilir olup olmadığını kontrol etmek için basit bir komuttur. Örneğin,
ping google.comgoogle.com web sitesinin istekleri kabul edip edemeyeceğini ve bunlara yanıt verip veremeyeceğini görmek için çalıştırın.
13. curl
curl başka bir harika araçtır. Bir sunucuya çeşitli protokoller aracılığıyla istekte bulunmak için kullanılmaktadır. REST API’ye HTTP (-S) protokolü üzerinden istekte bulunmasıyla bilinir. En basit örnek
curl https://www.google.com olacaktır . Web sitesinin HTML yanıtını döndürecektir. Bu yardımcı program veri aktarmak için tasarlanmıştır ve bu nedenle bunun için tüm yeteneklere sahiptir. Özel başlıklar ayarlama, form verilerini gönderme, akış verileri bunlardan yalnızca birkaçıdır.
Sonuç
Bu, tüm Unix komutlarının nihai listesi değildir. Her geliştirici hangi Bash komutlarının önemli ve hangilerinin daha az önemli olduğuna kendileri karar verir. Her şey görevlere bağlıdır ve bir alışkanlık ve kullanılabilirlik meselesidir. Ek olarak, komutların her birinin davranışı önemli ölçüde etkileyebilecek birden çok parametresi vardır. Her komutu derinlemesine keşfetmenin en iyi yolu, onu parametre ile çalıştırmaktır
--help. Bu, tüm olası parametrelerle birlikte komutun bir açıklamasını döndürür.
Bash komutlarını öğrenmek ve bunları günlük olarak uygulamak, mühendislik üretkenliğini artırabilir. Çalışmaları ve basit bir şekilde kullanılması amaçlanmıştır. Ancak büyük haklar ve fırsatlarla birlikte her zaman sorumluluk gelir. Yararlı olduğu kadar zararlı da olabileceği için bunları uygularken dikkatli olun.
Yazının orijinali için tıklayınız.