Komut satırı araçları varsayılan olarak kullanılabilir


5

Unix tabanlı bir sistemde, varsayılan olarak bir dizi komut kullanılabilir. /bin veya /usr/bin ). Bir zamanlar git, svn… gibi daha fazla araç yüklediğimi varsayalım.

OS X'te XCode'u ve ardından komut satırı araçları paketini yüklersem, sisteme bir geliştirme araçları paketi yüklenir. Peki, işletim sistemi kurulurken hangi komutların mevcut olduğunu nasıl bilebilirim?

netcat, nc Mac OSX'te varsayılan olarak mevcut mu yoksa komut satırı araçlarıyla birlikte mi yüklendi?

Yanıtlar:


8

Kurulum sırasında hangi komutların kullanılabileceğini nasıl bilebilirim?

Yeni bir Mavericks kurulumundan sonra kullanılabilen komutlar (OS X 10.9) bu dört pakettir

  • com.apple.pkg.BSD
  • com.apple.pkg.BaseSystemBinaries
  • com.apple.pkg.BaseSystemResources
  • com.apple.pkg.Essentials

(Yüksek Sierra'dan (macOS 10.13) itibaren komutların bu pakete taşındığını unutmayın. com.apple.pkg.Core.)

Her pakette bulunan komutları bu komutla listeleyebilirsiniz:

pkgutil --files <package name> | egrep '^usr/s*bin|^s*bin/'

Are netcat, nc Mac OS X'te varsayılan olarak mevcut mu yoksa komut satırı araçlarıyla birlikte mi yüklendi?

buldum nc ile:

pkgutil --files com.apple.pkg.BaseSystemBinaries | egrep '^usr/bin/nc'

(Yüksek Sierra’da koşun) pkgutil --files com.apple.pkg.Core | egrep '^usr/bin/nc' yerine.)

Yani evet, nc temel işletim sistemi kurulumuna aittir.

Bulamadım netcat, sisteminizde varsa, daha sonra kuruldu.


Tüm paketler tarafından sağlanan tüm komutları listelemek için Terminal'de çalıştırın:

for p in $(pkgutil --packages); do 
  list_of_cmds=$(pkgutil --files $p | egrep '^usr/s*bin|^s*bin/')
  if [ ! -z "$list_of_cmds" ]; then
    echo ">>>> $p <<<<"
    echo "$list_of_cmds"
  fi
done

Komutu Masaüstünüzdeki bir dosyaya daha sonra başvurmak üzere yönlendirebilirsiniz:

for p in $(pkgutil --packages); do 
  list_of_cmds=$(pkgutil --files $p | egrep '^usr/s*bin|^s*bin/')
  if [ ! -z "$list_of_cmds" ]; then
    echo ">>>> $p <<<<"
    echo "$list_of_cmds"
  fi
done > ~/Desktop/cmds_from_pkgs.txt

nc IS netcat.
Matthieu Riegler

Aslında birkaç Netcat programı var, yönettiğim SUSE Linux sunucularında netcat, OS X'te buna denir nc, Ubuntu 12.04 tarihinde netcat bir bağlantıdır nc. Ve sonra tabii ki ncat, nmap.org adresinde mevcuttur. nc GNU ve bazı dağıtımları kullanırken, tercih edilen BSD ismi gibi görünüyor netcat. SUSE'nin netcat OS X'in, hobbit@avian.org tarafından özgün uygulama gibi görünüyor nc Erick Jackson (man sayfasındaki YAZAR bölümü) tarafından yeniden yazıldı, bu yüzden davranıyorum nc ve netcat farklı programlar olarak.
jaume

Başka bir seçenek kullanmaktır pkgutil --file-info /usr/bin/nc kurulu olan paketleri elde etmek için. Komut ayrıca, kurulumdan bu yana dosyayı güncelleyen işletim sistemi güncellemelerini de listeler. 10.11'de paket içeren nc olduğu com.apple.pkg.Essentials, yani evet, varsayılan olarak dahil edilmiştir.
vjt

1
Yüksek Sierra'da (muhtemelen daha erken) yukarıda belirtilen paketlerin yerini almış gibi görünüyor. com.apple.pkg.Core.
Leo Nikkilä

1
@ LeoNikkilä Heads-up için teşekkürler, değişikliği yansıtmak için cevabımı güncelledim.
jaume

1

netcat gördüğünüz gibi Baz Sistem İkili Dosyalarının bir parçasıdır

pkgutil --files com.apple.pkg.BaseSystemBinaries | grep "usr/bin/nc"

-4

Hangi çalıştırılabilir dosyaların orijinal işletim sisteminin parçası olduğunu ve hangilerinin daha sonra kurulduğunu söyleyemezsiniz.

Ancak, man sayfasına bakmak size genellikle iyi bir fikir verecektir. Man sayfa "BSD Genel Komutlar El Kitabı" gibi bir şey başlatırsa, neredeyse kesinlikle orijinal işletim sisteminin bir parçasıdır. Bunların, her iki uçta da 'BSD' veya 'Mac OS X' içeren bir satırla biteceğini fark edeceksiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.