Geliştiriciler için Bilinmesi Gereken 13 Bash Komutları
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/Applications
mevcut 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.txt
dizine kopyalayacak ve aynı dosya adını koruyacaktır ./privatereadme.txt
5. mv
mv
dosyaları bir dizinden diğerine taşır. cp
Kaynak 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 /private
dizini /private
ve 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.txt
için yazmamız gerekiyor cat readme.txt
ve 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 merhabagrep '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
, xargs
komuta girdi olarak aktarılır . Ardından komut mkdir new_dir
yürütülecek ve yeni bir dizin folder1
oluş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.txt
ve chmod -w readme.txt
onu 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/jdk
bir 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.com
google.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.