Geçtiğimiz hafta Windows kullanıcılarının hala zaman zaman ihtiyaç duyduğu CMD komutlarını listesini A’dan Z’ye Tüm Windows CMD Komutları içeriği altında paylaşmıştık. Linux için ise daha önce Her Webmasterın Bilmesi Gereken 29 Temel Linux Komutu içeriğini paylaşmıştık. Bu hafta ise sıra Apple’ın yere bakan yürek yakan işletim sistemi MacOS’de. Her Windows kullanıcısının yolu komut satırına düşmüyor olabilir ancak MacOS kullanıcıları günün birinde mutlaka Terminal ekranıyla tanışmak zorunda kalacak.
Neden mi? Örneğin açık kaynaklı bir yazılımı Github üzerinden indirdiğinde DMG içinde olmayan bu yazılımı kurulum paketi haline getirmek için komutu kullanmanız gerekiyor. App Store ve işletim sisteminin uç sınırlarına gitmenize hiç gerek yok. Daha bunun gibi birçok şey için Mac’in Terminal ekranına uğramak zorunda kalabilirsiniz. O halde hadi macOS’in içine ve grafik biriminin ardında bizi bekleyen saklanmış güç Terminal’ine bir göz atalım.
MacOS Terminali Nedir?
Terminal macOS işletim sistemi kullanıcılarının grafik arayüzü biriminden gerçekleştiremediği bazı işlevleri yerine getirmesine yardımcı olan komut satırı istemcisidir. Terminal ekranı üzerinden çeşitli komutları çalıştırarak tüm UNIX türevi işletim sistemlerinde olduğu gibi ekstra komutlar çalıştırabilirsiniz.
Artık GUI adını verdiğimiz kullanıcı grafik arabirimini kullandığımız için birçok kullanıcı Terminal komutlarını kullanmak zorunda kalmıyor. Yine de bu terminal komutlarının işlevsiz olduğu anlamına gelmemeli. İşletim sisteminde bazı spesifik işlemleri gerçekleştirmeniz, ekstra yazılım yüklemeleri, sorunları kısa yoldan çözme ve işletim sistemini özelleştirmek gibi birçok nedenden dolayı günün birinde Terminal ekranına muhtaç kalabilirsiniz.
Biraz Hızlı Olacak ama; Android’in Yeni Geliştirici Sürümü Android O Yayınlandı
Android cihaz kullanıcılarının kayda değer bir bölümü henüz Android 7.0’ı ısınamamış ve stabil olarak kullanmaya başlayamamışken, Google, Android’in 8.0 sürümü olması beklenen Android O isimli geliştirici ön izleme sürüm...
MacOS’de Terminal Nasıl Açılır?
İki basit adımdan herhangi birini takip ederek MacOS işletim sistemi sürümlerinde Terminal’i açabilirsiniz;
- Finder’ı açın, Uygulamalar sekmesi altından İzlenceler klasörüne gidin ve Terminal’i açın.
- CMD + Boşluk tuşunu kullanarak ya da arayüz üzerindeki spotlight kısayoluna tıkladıktan sonra “Terminal” yazıp Enter’a tıklayın.
MacOS Terminal Komutları Nasıl Kullanılır?
MacOS terminalinde kullanabileceğiniz 1500’ün üzerinde komut var ancak bu komutların tamamı günlük ihtiyaçlara uygun değil. Bazı komutlar çok güçlü ve sık kullanılan komutlarken, bazı komutları en son taş devrinde kullandık ve sonraki çağlarda kullanmayı bıraktık.
Biz aşağıdaki listede sadece en sık kullanılan ve hala geçerliliği olan Mac terminal komutlarına değineceğiz. Yine de tüm Terminal komutlarını görmek isterseniz, Terminal’i açtıktan sonra iki kere ESC tuşuna basın hemen ardından “y” tuşuna basarak komutların listelenmesini sağlayın. Enter’a tıkladıkça komut listesinin tamamını görüntüleyebilirsiniz.
Komut listesi kadar komutların kendisinin nasıl kullanılacağını öğrenmeye ihtiyaç duyacağınızı biliyorum. Bunu Terminal üzerinden öğrenmenin basit bir yolu var. Terminal’i açtıktan sonra man komutadı yazıp Enter’a tıkladığınızda komutun açıklaması, nasıl kullanılacağı ve sözdizimi (syntax) hakkında bilgi veren İngilizce bir “whatis” bilgi penceresi açılacaktır.
A’dan Z’ye Tüm MacOS Terminal Komutları
- Afconvert: Ses dosyası dönüştürme komutu.
- afinfo: Ses dosyası bilgisi verir.
- afplay: Ses dosyası çalar.
- alias: Takma ad (alias) oluşturur.
- alloc: Kullanılan ve boş bellek durumunu listeler.
- apropos: Dizeler içinde “whatis” veritabanı araması yapar.
- asr: Apple Software Restore’yi açar.
- awk: Dosya içinde metin bulma ve değiştirmeye yardımcı olur.
- basename: Tam yol adını yalnızca bir klasör yoluna dönüştürür.
- bash: Bourne-Again SHell (Linux)
- bg: İşlemi arkaplana göndermeye yardımcı olur.
- bless: Birim önyüklenebilirlik ve başlatma diski seçeneklerini ayarlamaya yardım eder.
- break: Bir döngüden (For, While, Until ya da Select loop) çıkarır.
- cal: Takvimi açar.
- builtin: Yerleşik bir Shell’i çalıştırır.
- bzip2: Dosyaları sıkıştırma veya ayıklama işlemi için kullanılır.
- caffeinate: Sistemin uyku halini geçmesini önler.
- calendar: Hatırlatma Hizmetini (Anımsatıcılar) açar.
- caller: Bir alt program çağrısının döndürür.
- cancel: Yazdırma ve yazıcı görevlerini iptal etmek için kullanılır.
- case: Şartlı olarak bir komutu çalıştırır.
- cat: Dosyaların içeriğini birleştirir (birden fazla metin dosyası gibi) ve ekrana yazdırabilir (görüntüler).
- cd: Klasör değiştirmek için kullanılır.
- chflags: Bir dosya veya klasörün bayrak işaretçisini değiştirmek için kullanılır.
- chgrp: Grup sahipliğini değiştir.
- chmod: Erişim izni ve yetkilerini değiştirir.
- chown: Dosya sahibini ve grubunu değiştir.
- chroot: Farklı bir kök dizini olan bir komutu çalıştırır.
- cksum: CRC sağlama toplamı ve bayt sayımlarını yazdırır.
- clear: Terminal ekranını temizler.
- cmp: İki dosyayı karşılaştır.
- comm: Sıralı iki dosyayı satır satır karşılaştırmaya yardımcı olur.
- Bir komutu çalıştır (bir işlevi yani fonksiyonu değil).
- continue: Bir döngünün sonraki yinelemesine devam etmek için kullanılır.
- cp: Bir veya daha fazla dosyayı başka bir konuma kopyalar.
- cron: Zamanlanmış komutları çalıştırmak için (Daemon) kullanılır.
- crontab: Daha sonraki bir tarih / saatte çalışacak bir komut zamanlamanızı sağlar.
- csrutil: Sistem Bütünlüğü Korumasını (SIP: Configure System Integrity Protection) yapılandırmayı sağlar.
- curl: Bir sunucudan veya sunucuya veri aktarmak için kullanılır.
- cut: Dosyayı birkaç parçaya bölmenizi sağlar.
- date: Tarih ve saati görüntülemek ya da değiştirmek için kullanılır.
- dc: Masaüstü hesap makinesini açar.
- dd: Bir dosyayı dönüştürerek klon diske kopyalamak için kullanılır.
- declare: Değişkenleri atma ve ve niteliklerini ayarlamaya yardımcı olur.
- defaults: Klasör seçeneklerini gizli dosya ve klasörleri görülebilecek şekilde değiştirir.
- df: Mac’inizin boş disk alanını görüntülemenizi sağlar.
- diff: İki dosya arasındaki farkları gösterir.
- diff3: Üç dosya arasındaki farkları gösterir.
- dig : DNS lookup komutu olarak kullanılır.
- dirname: Tam yol adını sadece bir klasöre (path’e) dönüştürür.
- dirs: Terminal’in hatırladığı tüm dizinlerin listesini gösterir.
- diskutil: Biçimlendirme, doğrulama ve onarma yapabileceğiniz disk yönetimi aracı.
- ditto: Klasör ve dosyaları kopyalamak için kullanılır.
- dot_clean: Dosya veya klasörlerdeki noktalamaları (._*) kaldırmak için kullanılır.
- drutil: CD / DVD yazıcılarıyla etkileşim kurmaya yardım eder.
- dscacheutil: Dizin Hizmeti / DNS önbelleğini sorgulamak veya temizlemek için kullanılır.
- dseditgroup: Grupları düzenlemek, oluşturmak veya silmek için kullanılır.
- dscl: Dizin Hizmeti komut satırı yardımcı programını çalıştırır.
- du: Dosya alanının ne kadarının kullanıldığını göstermeye yardımcı olur.
- echo: Yazdığınız bir metni ekrana yazdırmak için kullanılır.
- enable: Yerleşik kabuk (Shell) komutlarını etkinleştirme ve devre dışı bırakmaya yardımcı olur.
- exec: bir komutu çalıştırmaya yardımcı olur.
- exit: Kabuktan (Shell) çıkış yapmak için kullanılır.
- export: Bir ortam değişkeni ayarlamak için kullanılır.
- expr: İfadeleri değerlendirmek için kullanılır.
- fc: Komut geçmişinizden önceki komutları düzenleme ve tekrar yürütmeye yardımcı olur.
- fdisk: Darwin UFS / HFS / DOS için disk bölümü tablosu manipülasyon aracı.
- fdesetup: fileVault yapılandırmasına yardımcı olarak kullanılır veya FileVault kullanıcılarını listeler.
- fg: İşlevi (job) önplana gönderir.
- file: Dosya türünü belirler.
- find: Belirli bir kriteri karşılayan dosya araması yapmak için kullanılır.
- fmt: Paragraf metnini yeniden biçimlendirir.
- fold: Metni, belirtilen genişliğe sığdırmak için genişletir.
- for: Loop (Döngü) komutu.
- fsck: Dosya sistemi tutarlılık kontrolü ve onarımı yapmaya yardımcı olur.
- fsaclctl: Dosya sistemi için ACL desteğini etkinleştirme veya devre dışı bırakmak için kullanılır.
- fs_usage: Dosya sistemi kullanımı oranını ekrana yazdırır (işlem / yol adı şeklinde).
- ftp: İnternet dosya aktarım programı.
- function: Fonksiyon makrolarını tanımlamak için kullanılır.
- fuser: Bir veya daha fazla dosyayı içeren işlemleri listeleyin.
- GetFileInfo: HFS + dosyalarının niteliklerini almak için kullanılır.
- getopt: Konum parametrelerini ayrıştır.
- goto: Etikete atlamak ve yürütmeyi (çalıştırmayı) devam etmek için kullanılır.
- grep: Verilen bir kritere uyan satırlar içinde dosya (lar) arar.
- groups: Kullanıcıların içinde yer aldığı grup isimlerini ekrana yazdırır.
- gzip: arşiv dosyaları oluşturmak veya ayıklamak için kullanılır.
- halt: İşletim sistemini durdurur ve yeniden başlatılmasını sağlar.
- hash: Komutların belleklenmiş konumlarını tazelemek için kullanılır.
- head: Terminal ekranını dosyanın ilk satırlarını görüntüleyecek şekilde yukarı taşır.
- hdiutil: ISO formatındaki disk yansımaları için manipülasyon aracı.
- hostname: Sistem adını ayarlamak veya ekrana yazdırmak için kullanılır.
- iconv: Dosyanın karakter kümesini dönüştürmek için kullanılır.
- id: Kullanıcı ve grup adlarını / kimliklerini (ID) değerini ekrana yazdırır.
- if: Şartlı olarak bir komutun gerçekleştirilmesini sağlar.
- ifconfig: ağ arabirimi parametrelerini yapılandırır.
- iostat: CPU ve i / o istatistiklerini raporlar.
- ipconfig: IP yapılandırma durumunu görüntülemek ve denetlemek için kullanılır.
- info: Bir nevi yardım komutu.
- install: Dosyaları kopyalar ve niteliklerini ayarlar.
- jobs: Etkin işleri (jobs) listeler.
- kextfind: Çekirdek uzantılarını (Kernel Extensions) listeler.
- kextstat: Yüklenen çekirdek uzantılarının (kext) durumunu görüntüler.
- kextunload: Sürücü örneklerini sonlandırır ve çekirdek uzantılarını boşaltır (unload).
- kickstart: Apple Uzaktan Yardım’ı (Remote Desktop) yapılandırır.
- kill: Bir işlemin PID değerini öğrenerek işlemi sona erdirmeye yardımcı olur.
- killall: İsimden yola çıkarak bir işlemi sonlandırır.
- l: Dosyaları uzun formatta listeleme (ls -l).
- last: Kullanıcıların ve tty'lerin son girişlerini belirtir.
- launchctl: Daemon'ları / aracıları yüklemek veya boşaltmak için kullanılır.
- ll: Görünmeyen dosyaları uzun formattaki dosya listesi halinde listeleme (ls -la).
- less: Tek seferde bir ekran çıktısını görüntülemek için kullanılır.
- let: İfadeyi değerlendirmek için kullanılır.
- lipo: Evrensel bir Binary’i dönüştürmek için kullanılır.
- ln: Dosyalar arasında bağlantı oluştur (sabit bağlantılar, sembolik bağlantılar).
- local: Yerel (işlev) değişken ayarlamak için kullanılır.
- locate: Dosyaları bulmak için kullanılır.
- logname: Geçerli oturum açma adını yazdırır.
- login: Bilgisayara giriş yapmak için (oturum açmak için kullanılır).
- logout: Giriş kabuğundan (Shell) çıkmak için kullanılır (bye).
- look: Belli bir dizgeyle başlayan satırları gösterir.
- lp: Dosyaları yazdırmak için kullanılır.
- lprm: Yazdırma için sıraya alınan yazdırma işlerini iptal eder.
- lpstat: Yazıcı için durum bilgisi sunar.
- ls: Dosya veya dosyalar hakkında bilgi listelemek için kullanılır.
- lsregister: Launch Services’in veritabanını sıfırlar.
- lsof: Açık dosyaları listelemek için kullanılır.
- man: Yardım el kitabına ulaşmanıza yardımcı olur.
- mdfind: Spotlight araması yapmak için kullanılır.
- mdutil: Spotlight’ın meta veri deposunu yönetmek için kullanılır.
- mkdir: Yeni klasör/ler oluşturur.
- mkfifo: FIFO'lar(adlandırılmış borular) oluşturmak için kullanılır.
- more: Terminal ekranında tek seferde daha çok sonucu görüntülemek için kullanılır.
- mount: Dosya sistemini bağlamak (mount) için kullanılır.
- mv: Dosyaları veya dizinleri taşıma veya yeniden adlandırmak için kullanılır.
- nano: Basit metin editörü açar.
- nc/netcat: Ağlardaki verileri okuma ve yazma için kullanılır.
- net: Ağ kaynaklarını yönetmek için kullanılır.
- netstat: Ağ durumunu gösterir.
- networksetup: Ağ ve Sistem Tercihleri’ni açar.
- nice: Bir komutun önceliğini ayarlamak için kullanılır.
- ntfs.util: NTFS dosya sistemi yardımcı programı.
- onintr: Bir kabuğun (Shell) kesme işlemini (interrupt) kontrol etmeye yardımcı olur.
- open: Bir dosya / klasör / URL veya Uygulama açmak için kullanılır.
- osacompile: Applescript dosyalarını derlemek (compile) için kullanılır.
- osascript: AppleScript'i çalıştırmak için kullanılır.
- passwd: Kullanıcı şifresini değiştirir.
- paste: Dosyaların satırlarını birleştirir.
- pbcopy: Verileri kopyalama panosuna (clipboard) kopyalar.
- pbpaste: Verileri kopyalama panosundan (clipboard) yapıştırır.
- pgrep: İşlemleri (proscesses) tam veya kısmi bir adla listeler.
- ping: Ağ bağlantısı sınamak için kullanılır.
- pkill: İşlemleri tam veya kısmi adını kullandırarak sonlandırır.
- pkgbuild: Bir macOS Installer bileşen paketi oluşturur.
- pmset: Güç Yönetimi ayarlarına ulaşmak için kullanılır.
- popd: Geçerli dizini önceki değerini (value) geri yüklemek için kullanılır.
- pr: Metin dosyalarını yazdırabilir forma dönüştürmek için kullanılır.
- ps: İşlem durumu hakkında bilgi verir.
- pushd: Geçerli dizinin değerini kaydeder.
- pwd: Aktif dizini ekrana yazdırır.
- quota: Disk kullanımını ve sınır değerlerini gösterir.
- rcp: Dosyaları makineler arasında kopyalamak için kullanılır.
- readonly: Bir değişkeni veya fonksiyonu salt okunur olarak işaretlemek için kullanılır.
- reboot: Sistemi durdurur ve yeniden başlatır.
- ReportCrash: Hata raporlamayı etkinleştir / devre dışı bırak.
- return: Bir fonksiyondan çıkış yapmak için kullanılır.
- rev: Dosyanın satırlarını ters çevirir.
- rm: Dosyaları siler.
- rmdir: Klasör/leri siler.
- rpm: Remote Package Manager (Uzak Paket Yöneticisi).
- say: Bir metni Siri yardımıyla sese çevirir.
- screen: Multiplex terminal (ssh vasıtasıyla Remote Shell’i çalıştırır).
- screencapture: Dosya veya disk ekran görüntüsünü yakalama.
- scselect: Ağ konumları arasında geçiş yapmak için kullanılır.
- scutil: Sistem yapılandırma parametrelerini yönetmeyi sağlar.
- sdiff: İki dosyayı etkileşimli olarak birleştirir.
- security: Anahtarlıklar (Keychain), anahtarlar, sertifikalar ve Güvenlik çerçevesini yönetmenizi sağlar.
- sed: Stream Editörü.
- select: Bir öğe listesi oluştur.
- serverinfo: Sunucu bilgilerini verir.
- set: Bir kabuk (Shell) seçeneğinin değerini değiştirin ve konum parametrelerini ayarlamak için kullanılır.
- setfile: HFS + dosyalarının niteliklerini ayarlar.
- sharing: Afp, ftp ve smb hizmetleri için paylaşım noktaları oluşturmaya yardımcı olur.
- shasum: SHA Sağlama toplamını (Checksum) yazdırır veya kontrol eder.
- shift: Konum parametrelerini değiştirir.
- shopt: Kabuk seçeneklerini ayarlamak için kullanılır.
- shutdown: MacOS'u kapatmak veya yeniden başlatmak için kullanılır.
- sleep: Belirli bir süre için gecikme ayarlar.
- softwareupdate: Sistem yazılımı güncelleme aracı.
- sort: Metin dosyalarını sıralamak için kullanılır.
- source: Bir kaynak dosyadan komutları yürütmek / çalıştırmak için kullanılır.
- split: Dosyayı sabit boyutlu parçalara bölmek için kullanılır.
- srm: Dosyaları veya dizinleri güvenli bir şekilde kaldırmak için kullanılır.
- stat: Bir dosyanın durum bilgisini görüntüler.
- stop: Bir işi (Job) veya işlemi durdurur.
- su: Kullanıcı kimliğini değiştirir.
- sudo: Bir komutu başka bir kullanıcı olarak çalıştırmak için kullanılır.
- sum: Dosya için bir sağlama toplamı (checksum) yazdırır.
- sw_vers: MacOS işletim sistemi sürümünü öğrenmenize yardımcı olur.
- system _profiler: Sistem yapılandırmasını bildirir.
- systemsetup: Bilgisayar ve ekran sistemi ayarlarını açar.
- tail: Dosyaların son bölümünü çıkartır.
- tar: Tape ARchiver.
- tccutil: Gizlilik veritabanını yönetim aracı.
- tcpdump: Bir ağdaki trafiği boşaltmak için kullanılır.
- tee: Çıktıyı birden fazla dosyaya yönlendirir.
- test: Durum değerlendirmesi yapmak için kullanılır.
- textutil: Çeşitli biçimlerde metin dosyalarını değiştirmek (Doc, html, rtf) için kullanılan manipülasyon aracı.
- time: program kaynak kullanımını ölçmek için kullanılır.
- times: Kabuk (Shell) ve kabuk işlem sürelerini (Shell Process Time) yazdırmak için kullanılır.
- tmutil: Time Machine yardımcı programını açmak için kullanılır.
- top: İşlem bilgisini gösterir.
- touch: Dosya zaman damgalarını değiştirir.
- tput: Terminale bağlı yetenekleri, ayarları, rengi ve konumu ayarlamak için kullanılır.
- tr: Karakterleri çevirmej, sıkıştırmak ve / veya silmek için kullanılır.
- traceroute: Trace Route to Host işlemi için kullanılır.
- tty: Terminalin dosya ismi stdin üzerinde yazdırır.
- type: Bir komutun nasıl kullanılacağını ve söz dizimini tarif etmek için kullanılır.
- ufs.util: UFS dosya sistemini mount / unmount etmek için kullanılır.
- ulimit: Sistem çapında kaynakların kullanımını sınırlamak için kullanılır.
- umount: Bir cihazın bağlantısını kesmek (unmount) için kullanılır.
- unalias: Bir takma adı silmek için kullanılır.
- uname: Sistemi bilgilerini ekrana yazdırmak için kullanılır.
- unexpand: Boşlukları sekmelere dönüştürmek için kullanılır.
- uniq: Dosyaları benzersiz kılmak için kullanılır.
- units: Birimleri (ağırlık vb.) bir ölçekten diğerine dönüştürmek için kullanılır.
- unset: Değişken veya fonksiyonların adlarını silmek için kullanılır.
- until: Döngü (Loop) komutu.
- uptime: Sistemin ne kadar zamandır çalıştığını göstermek için kullanılır.
- users: Oturum açmış olan kullanıcıların giriş adlarını yazdırır.
- uuencode: Bir binary dosyasını Encode etmek için kullanılır.
- uudecode: Uuencode tarafından oluşturulan bir dosyanın kodunu çözmek (Decode) için kullanılır.
- uuidgen: Benzersiz Kimlik (UUID / GUID) oluşturmak için kullanılır.
- vi: Metin editörü.
- wait: İşlemin tamamlanmasının beklenmesini sağlamak için kullanılır.
- wall: Kullanıcılara bir mesaj yazmak için kullanılır.
- wc: Bayt, kelime ve satır sayımlarını yazdırmak için kullanılır.
- whatis: Kelimelerin tamamı için whatis veritabanında arama yapma amacıyla kullanılır.
- whereis: Bir programı bulmak için kullanılır.
- which: Kullanıcı dizini içindeki bir programı bulmak için kullanılır.
- while: Döngü komutu (Loop command).
- who: Şu anda oturum açmış tüm kullanıcı adlarını yazdırmak için kullanılır.
- whoami: Geçerli kullanıcının kimliğini ve adını yazdırmak (`id -un ') için kullanılır.
- write: Başka bir kullanıcıya mesaj göndermek için kullanılır.
- xattr: Genişletilmiş özellikleri görüntüleme ve kullanmaya yardım eder.
- youtube-dl: YouTube videolarını indirmek için kullanılır.
- zip: Dosyaları paketlemek ve sıkıştırmak (arşivlemek) için kullanılır.
- !!: Son çalıştırılan komutu tekrardan çalıştırmak için kullanılır.
Umarız, günün birinde bu komutlar başınızı büyük bir dertten kurtarmaya yardımcı olabilir ve biz de buna vesile olabiliriz.