Comment puis-je savoir quelles commandes sont disponibles au moment de l'installation ?
Les commandes disponibles après une nouvelle installation de Mavericks (OS X 10.9) appartiennent à l'un de ces quatre paquets :
com.apple.pkg.BSD
com.apple.pkg.BaseSystemBinaries
com.apple.pkg.BaseSystemResources
com.apple.pkg.Essentials
(Notez qu'à partir de High Sierra (MacOS 10.13), les commandes ont été déplacées vers ce paquet. com.apple.pkg.Core
.)
Cette commande permet d'obtenir la liste des commandes incluses dans chaque paquet :
pkgutil --files <package name> | egrep '^usr/s*bin|^s*bin/'
Sont netcat
, nc
disponible par défaut sur Mac OS X ou est-il installé avec les outils de ligne de commande ?
J'ai trouvé nc
avec :
pkgutil --files com.apple.pkg.BaseSystemBinaries | egrep '^usr/bin/nc'
(Sur High Sierra, exécutez pkgutil --files com.apple.pkg.Core | egrep '^usr/bin/nc'
à la place.)
donc oui, nc
appartient à l'installation de base du système d'exploitation.
Je n'ai pas trouvé netcat
Si vous l'avez sur votre système, c'est qu'il a été installé plus tard.
Pour obtenir la liste de toutes les commandes fournies par tous les paquets, exécutez la commande dans le terminal :
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
Vous pouvez également enregistrer la commande dans un fichier sur votre bureau pour vous y référer ultérieurement :
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