Je vais apprendre à utiliser la ligne de commande. Plus précisément, j'utiliserai le livre: "La ligne de commande Linux: une introduction complète" . Maintenant, dois-je utiliser une distribution Linux pour parcourir le livre, ou OS X serait-il suffisant?
Si j'ai besoin d'une distribution Linux, est-ce que son utilisation via une machine virtuelle serait suffisante ou dois-je l'installer en mode natif?
linux
command-line
osx
Utku
la source
la source
/proc
système de fichiers, les lecteurs USB ont tendance à n'apparaître/Volumes
pas/media/username
comme sur Ubuntu. CentOS a undhclient.conf
fichier différent . Et ainsi de suite et ainsi de suiteRéponses:
Je recommande fortement d'exécuter Linux sur une machine virtuelle. Tous les logiciels sont disponibles en téléchargement gratuit et il n'y a aucune différence pratique entre l'exécution dans une machine virtuelle et l'exécution en mode natif à des fins d'apprentissage de la ligne de commande.
De plus, la ligne de commande Linux se compose principalement de coreutils bash + GNU , ce qui est très différent de BSD Unix (et OS X est un successeur de BSD Unix). Il y a une très grande différence de préférences dans l'écriture d'arguments dans BSD Unix et GNU Linux. Vous pouvez vous mordre même en tant que non-débutant avec différentes options aux utilitaires standard comme
ps
ettar
si vous travaillez sur les deux systèmes.L'utilisation d'OS X lorsque votre livre est spécifique à Linux génère régulièrement des incohérences et des différences qui apparaîtront superficielles lorsque vous serez plus expérimenté, mais seront tout simplement déroutantes lorsque vous apprendrez. Gardez les choses faciles pour vous.
Cela vous permettra également d'expérimenter sans craindre de casser votre machine en supprimant ou en modifiant des fichiers importants.
Et enfin, mais certainement pas des moindres, cela vous permettra de configurer une connexion SSH à votre machine virtuelle à partir de votre terminal OS X, afin que vous puissiez vous habituer à utiliser des clés SSH, et à l'idée que cela ne fait aucune différence que votre serveur Linux est une machine native, une VM locale, ou en cours d'exécution sur AWS ou Digital Ocean: tout fonctionne de la même façon!
la source
OS X est suffisant pour apprendre la ligne de commande car c'est un UNIX certifié et conforme à POSIX. Si vous regardez un livre de ligne de commande spécifique à Linux, vous devez garder à l'esprit que les outils de l'espace utilisateur dans OS X sont dérivés de BSD tandis que les outils sur Linux sont GNU et qu'il existe des différences subtiles (et pas si subtiles) entre eux.
Si vous voulez apprendre avec les outils GNU, vous pouvez installer un espace utilisateur GNU via macports ou homebrew, ou faire une installation Linux complète dans une machine virtuelle.
la source
bash
), il conviendra à peu près à n'importe quel système qui l'exécute. Cela varie lorsque vous commencez à utiliser les fonctionnalités du système d'exploitation ou des outils spécifiques en dehors du shell.ls
doivent provenir de GNU ou BSD (veuillez corriger si je me trompe). Donc, je pense que cela signifie que je dois choisir une chaîne d'outils (ou un environnement) et commencer à y apprendre la ligne de commande. Est-ce correct?Quelques bonnes réponses jusqu'à présent, mais une raison de plus de rester à l'écart des outils par défaut de la ligne de commande OS X est qu'il s'agit de versions très anciennes. Par exemple, OS X date
grep
de 2004 et datebash
de 2007! La raison en est qu'Apple refuse d'expédier des outils sous licence GPL3.Si vous ne souhaitez pas installer Linux proprement dit, vous pouvez installer manuellement les dernières versions (peut-être via un système de port comme MacPorts, Fink ou Homebrew).
la source
Première différence:
Fonctionne sur linux, échoue sur mac (les paramètres doivent venir en premier). Utilisez une machine virtuelle ou obtenez un livre pour mac os. Vous devriez apprendre celui que vous utiliserez plus tard, puis les différences.
la source
ls * -lah
fonctionne sous Linux comme il fonctionne sous Linux et il fonctionne sous OS X comme il fonctionne sous OS X. La façon dont il fonctionne sous OS X est correcte selon POSIX (12. Conventions utilitaires / 12.2 Consignes de syntaxe utilitaire / Directive 9) : "Toutes les options doivent précéder les opérandes sur la ligne de commande." Comme décrit dans getopt (3) : «Si… la variable d'environnement POSIXLY_CORRECT est définie, le traitement des options s'arrête dès qu'un argument de non-option est rencontré.»La meilleure façon d'apprendre unix est d'avoir un vrai travail à faire avec. Je dirais qu'il vaut la peine de rencontrer les différences entre les exemples spécifiques à Linux dans votre livre et les versions Mac des outils standard, juste pour pouvoir travailler avec vos propres fichiers et données dans votre environnement de travail normal (OS X).
La rencontre des différences sera également une expérience d'apprentissage précieuse, même si elle est parfois frustrante.
Il est également utile d'avoir une machine virtuelle Linux pour s'exercer (en particulier pour les commandes potentiellement dangereuses), mais rien ne vaut l'utilisation du monde réel pour l'apprentissage.
la source