Komut Satırı Arayüzü
CLI
- İngilizcesi
- Command Line Interface
- Türkçe karşılığı
- komut satırı
- Okunuşu
- si el ay
Günlük kullanımda iki ad da yaygın.
Kısaca
Komut satırı arayüzü (CLI), bilgisayarı metinle kullanmanın yoludur: seçenekleri ve argümanlarıyla bir komut yazar, Enter'a basar ve çıktısını okursunuz.
Komut satırı arayüzü (CLI) nedir?
Menülerde tıklamak yerine ne istediğinizi yazarsınız: git commit -m "Fix login" ya da docker run -p 8080:80 nginx. Bir komutun bir adı, dosya adları gibi argümanları ve davranışını değiştiren, -v ya da --verbose gibi yazılan seçenekleri (flag) vardır. Neredeyse her araç kullanımını --help ile yazdırır.
Geliştiriciler CLI'lara güvenir, çünkü hızlı, kesin ve betiklenebilirdirler. Yazılan her şey bir betiğe kaydedilebilir, bir CI hattında tekrarlanabilir ya da pipe'larla başka komutlarla birleştirilebilir. git, npm, docker, kubectl ve bulut CLI'ları gibi araçlar çoğu zaman grafik karşılıklarından daha yeteneklidir; uzak sunucular da genellikle tamamen SSH üzerinden komut satırıyla yönetilir.
İyi davranan CLI programları ortak kuralları izler: girdiyi standart girdiden (stdin) okur, sonuçları standart çıktıya (stdout), hataları standart hataya (stderr) yazar ve 0'ın başarı, diğer her değerin başarısızlık anlamına geldiği bir çıkış kodu döndürür. Küçük araçların güvenilir şekilde birbirine zincirlenebilmesini sağlayan, bu kurallara uyulmasıdır.
Sık yapılan bir yanlış, komut satırının, terminalin ve kabuğun aynı şey olduğunu düşünmektir. Terminal metni gösteren penceredir; Bash ya da PowerShell gibi kabuk, yazdıklarınızı yorumlar; CLI ise git'inki gibi belirli bir programın metin arayüzüdür.
Önemli noktalar
- CLI bir metin arayüzüdür: bir komut yazar, çıktıyı okursunuz.
- Komutlar argümanlar ve --verbose gibi seçenekler alır.
- CLI'lar hızlı, kesin ve betiklemesi, otomatikleştirmesi kolaydır.
- Çıkış kodu 0 başarı demektir; stdout ve stderr çıktıyı ve hataları taşır.
- Terminal, kabuk ve CLI farklı katmanlardır.
Örnek
# program subcommand options argument
git commit --amend --no-edit # (no argument)
grep -rin --include="*.ts" "TODO" src/
# Most tools explain themselves
docker run --help
# Exit codes make commands scriptable
npm test && echo "Tests passed" || echo "Tests failed: exit code $?"Sık sorulan sorular
CLI ile GUI arasındaki fark nedir?
CLI metin komutları yazarak, GUI (grafik kullanıcı arayüzü) ise pencerelere, düğmelere ve menülere tıklayarak kullanılır. CLI'ları otomatikleştirmek ve betiklemek daha kolaydır; GUI'leri ise yeni kullanıcıların keşfetmesi daha kolaydır.
Geliştiriciler neden komut satırını kullanır?
Birçok iş için daha hızlıdır, uzak sunucularda da aynı şekilde çalışır, betiklenebilir ve otomatikleştirilebilir; birçok geliştirici aracı da bütün işlevselliğini yalnızca bir CLI üzerinden sunar.
Çıkış kodu (exit code) nedir?
Bir programın bittiğinde döndürdüğü sayıdır. Sıfır başarı demektir, diğer her değer bir hataya işaret eder; betikler ve CI hatları da bundan sonra ne yapacaklarına karar vermek için bunu kontrol eder.
İlgili sayfalar
- Terminalİşletim Sistemleri, s. 33Terminal, bir metin arayüzü gösteren, tuş vuruşlarınızı bir kabuğa ya da komut satırı programına iletip onun geri gönderdiği metni görüntüleyen programdır.
- Shellİşletim Sistemleri, s. 28Shell, kullanıcının yazdığı ya da bir betikte yazılı komutları okuyup işletim sisteminden çalıştırmasını isteyen, genellikle metin arayüzlü bir programdır.
- BashProgramlama Dilleri, s. 2Bash, çoğu Linux sisteminde varsayılan Unix kabuğu ve betik dilidir; komutları etkileşimli yazmak ve görevleri betiklerle otomatikleştirmek için kullanılır.
- PowerShellProgramlama Dilleri, s. 24PowerShell, Microsoft'un yönetimi otomatikleştirmeye yönelik komut satırı kabuğu ve betik dilidir; komutlar arasında düz metin yerine nesneler aktarır.
- SSHAğlar, s. 27SSH, uzak bilgisayarlarda güvenle oturum açıp komut çalıştırmaya yarayan, iki makine arasındaki tüm trafiği şifreleyen kriptografik bir ağ protokolüdür.
- LinuxDevOps ve Bulut, s. 31Linux, çoğu sunucuyu, bulutu, konteyneri ve Android telefonu çalıştıran, genellikle dağıtım olarak paketlenen açık kaynaklı bir işletim sistemi çekirdeğidir.
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin