Je suis Astuce Unix sur Twitter et il est intéressant de noter que la plupart des astuces publiées ne sont pas disponibles sur OS X.
Par exemple:
cp - u ne copiera que les fichiers qui n'existent pas ou qui sont plus récents que leurs homologues existants, dans le répertoire de destination.
Essayer ceci sur ma machine se traduit par:
cp: illegal option -- u
usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file target_file
cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file ... target_directory
Pourquoi ces options ne sont-elles pas disponibles et est-il possible d'y accéder sous OS X?
macos
terminal
command-line
DQdlM
la source
la source
brew install coreutils findutils gnu-sed gawk
. Voir apple.stackexchange.com/questions/69223/… .gcp
pour éviter toute confusion) ne sait pas comment copier les métadonnées complexes que les fichiers OS X peuvent avoir (attrs étendus, etc.); donc si vous utilisezgcp
un fichier d'alias, la copie manquera d'informations critiques et ne fonctionnera pas.gcp -R
le copiera avec tout le reste). Si vous voulez dire._somefilename
, c'est un fichier AppleDouble utilisé pour stocker des métadonnées (les informations dont je parle) sur certains types de volumes étrangers, ce qui est ... compliqué ...Réponses:
Obtenez homebrew et demandez-lui d'installer les utilitaires de base. Vous pouvez alors voir si la version GNU de cp prend en charge les drapeaux que vous désirez. Voici une bonne réponse sur un site partenaire et je vais extraire les étapes exactes dont vous aurez besoin pour que cp soit remplacé par la version GNU si vous le souhaitez:
Voici homebrew - http://mxcl.github.com/homebrew/
Voici la longue histoire - /superuser/476575/replace-os-xs-shell-commands-with-the-linux-versions/ 476594 # 476594
Un exemple d'un tel environnement est [Homebrew] ( http://mxcl.github.com/homebrew/ ) qui a par exemple GNU
sed
entre autres. Une fois que vous avez installé Homebrew, vous pouvez taperet installez GNU Coreutils . Ceux - ci vous fournira
sed
,date
,printf
,wc
et bien d' autres outils livrés avec GNU / Linux, mais pas OS X. Cependant, pour ne pas par défaut « outrepasser » OS X binaires, ils seront préfixées avecg
par défaut. Donc, après avoir installé Coreutils, si vous voulez utiliser GNU sed, tapezSi c'est trop compliqué à taper à chaque fois, vous pouvez ajouter un répertoire "gnubin" à votre PATH et appeler simplement GNU sed avec
sed
. Vous devrez ajouter les éléments suivants à votre~/.bash_profile
:la source
port
?La raison en est qu'OSX utilise des outils de ligne de commande BSD et que les utilisateurs d'astuces Unix utilisent probablement Linux qui utilise des outils de ligne de commande GNU.
Vous pouvez installer les outils GNU sur OSX (et BSD sur Linux).
La façon la plus simple est d'utiliser un gestionnaire de paquets comme Macports, Homebrew ou Fink
la source