Je suis en train d'apprendre linux bash sur mon mac. Existe-t-il un équivalent de cette commande sous OSX ?
locate --regex 'bin/(bz|gz|zip)'
Je suis en train d'apprendre linux bash sur mon mac. Existe-t-il un équivalent de cette commande sous OSX ?
locate --regex 'bin/(bz|gz|zip)'
La version MacOS de locate
n'a pas de regex
option. Vous pouvez utiliser l'option *
y ?
dans le modèle de recherche, mais c'est tout.
Avant de pouvoir utiliser locate
vous devrez l'activer (c'est-à-dire avoir l'option locate
(base de données construite) à l'aide de la commande suivante : par défaut, elle est désactivée :
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist
La version par défaut de locate
sur OS X/MacOS ne supporte pas cela, comme l'a indiqué Tom E..
Apple fournit la version BSD de la plupart des outils de ligne de commande (anciennement appelés "sous-système BSD").
Il y a donc deux réponses à votre question :
Vous pouvez construire n'importe quel nombre de équivalent les onlines de commande qui accomplir la même que celle que vous avez citée. Pour les apprenants, les mots-clés ne sont pas seulement des regex, mais aussi des pipes, des backticks et d'autres encore.
Mais si l'on considère votre première ligne de contexte ("apprentissage linux bash"), la réponse suivante peut être plus appropriée :
Votre exemple pourrait être tiré d'un livre comme "La ligne de commande Linux" : Une introduction complète". Il est difficile de l'appliquer mot à mot ou commande par commande sur OS X/MacOS. Apple fournit principalement des outils BSD et (presque ?) tous en très des versions obsolètes et non sécurisées (allergie fanatique à la GPL3 de la part d'Apple). Linux fournit principalement des outils GNU qui peuvent/auront souvent les mêmes noms mais des fonctionnalités/options différentes par rapport à leurs équivalents BSD.
MacOS peut Il n'y a donc pas seulement un équivalent, mais exactement la même commande et la même syntaxe que celles que vous avez données en exemple. Mais pour cela, vous devez installer les outils GNU correspondants. Dans votre cas ci-dessus findutils
. Il contient le locate
dans la saveur utilisée dans votre exemple.
Cette méthode est généralement recommandée si vous souhaitez apprendre "linux bash". Installez tous les outils GNU dont vous pourriez avoir besoin pour suivre les exemples. Cela inclut également un bash actuel. Apple fournit la version médiévale de
/bin/bash --version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin16)
Copyright (C) 2007 Free Software Foundation, Inc.
Alors que GNU bash est beaucoup plus récent :
/usr/local/bin/bash --version
GNU bash, version 4.4.12(1)-release (x86_64-apple-darwin16.7.0)
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Si vous voulez apprendre MacOS/BSD bash/command line, vous devriez vous procurer d'autres guides ou livres.
Si vous voulez vous en tenir à vos guides actuels ou vraiment apprendre la méthode GNU/Linux, vous devriez installer les outils GNU.
Vous pouvez utiliser les gestionnaires de paquets pour ce faire sur MacOS, tout comme sur les autres BSD ou Linux.
Les gestionnaires de paquets disponibles pour vous simplifier la vie sont fourchette , macports y maison . D'autres liens et une discussion sur leurs mérites et inconvénients respectifs sont disponibles. ici .
LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.