Conseils pour maîtriser la ligne de commande [fermé]

29

Lorsque j'ai migré de Windows vers Ubuntu pour la première fois, la chose la plus intimidante que j'ai eu à faire était de loin d'utiliser la ligne de commande.

La saisie de commandes est une expérience extraterrestre lorsque vous n'avez été habitué qu'à pointer et cliquer.

Lorsque je parle à de nouveaux utilisateurs d'Ubuntu, ils sont souvent mal à l'aise avec l'idée de parler directement à leur ordinateur.

Existe-t-il un guide simple et convivial pour aider les nouveaux utilisateurs à se familiariser avec la ligne de commande?

Avez-vous des conseils pour rendre l'expérience plus facile ou plus amusante?

Hélix
la source
4
Pour ce que ça vaut, Ubuntu s'efforce (au moins, plus fort que toute autre distribution Linux) de ne pas vous faire utiliser la ligne de commande si vous ne le souhaitez pas. Mais il y aura toujours des choses beaucoup plus faciles / rapides à faire sur la ligne de commande que dans une interface graphique. C'est donc une bonne idée d'en savoir plus (et une bonne question).
David Z

Réponses:

17

Si vous cherchez un bon guide pour apprendre la ligne de commande, mon préféré est LinuxCommand.org

Le guide vous montrera les bases de la ligne de commande et vous guidera même dans l'écriture de scripts shell utiles.

Cela dit, la plupart des utilisateurs n'auront pas besoin d'utiliser la ligne de commande pour la plupart des opérations quotidiennes. Je ne pense pas que la ligne de commande devrait décourager les utilisateurs de migrer vers Ubuntu. Mais une fois que vous aurez appris la puissance de la ligne de commande, vous ne pourrez plus vous en passer!

Dariel Dato-on
la source
15

Voici quelques commandes courantes pour manipuler le système de fichiers:

  • cp [src] [dest] - copie src dans dest
  • mv [src] [dest] - déplace src vers dest (également utilisé pour renommer)
  • cd [dir] - change le répertoire courant en dir
  • pwd - imprime le répertoire courant
  • cat [file] - imprime le contenu du fichier à l'écran
  • rm [file]- supprime un fichier 1
  • rmdir [dir] - supprime un répertoire vide

Le préfixe de l'une des commandes sudoentraîne l'exécution de la commande en tant qu'utilisateur root.

1 - ne tapez pas sudo rm -rf /car cela effacera le système de fichiers

Nathan Osman
la source
5
Heh, +1 pour l'avertissement sudo rm :)
Nicholas Knight
2
N'oubliez pas une note sur le fameux forkbomb ": () {: |: &} ;:" qui bifurque essentiellement un nombre infini de nouveaux processus et ralentit progressivement le système jusqu'à ce qu'il soit à court de ressources nécessitant un redémarrage du système. Pour plus d'informations, voir en.wikipedia.org/wiki/Fork_bomb .
Evan Plaice
12

1) Compléter l'onglet:

Un gain de temps géant. Si vous tapez une commande, il vous suffit de taper suffisamment de la commande pour fournir un segment initial qui ne peut être étendu que d'une seule manière, puis d'appuyer une fois sur TAB pour étendre votre segment initial à la commande entière. Ainsi, par exemple, sur mon système umo TABs'étend à umount. (Sur mon système, les segments initiaux extensibles d'une seule manière dépendent de ce que vous avez installé, etc.). liste des achèvements possibles. Donc, sur mon système, um TAB TABdonne:

umask       umax_pp     umount      umount.hal

La complétion des onglets fonctionne également sur les chemins: cd /home/me/docs/reallylo TABsi elle est unique, elle se développera cd /home/me/docs/reallylongdirnameet, si elle n'est pas unique, offrira une liste de continuations candidates comme umci-dessus.

2) man some-commandou some-command --helpou some-command -h:

Si vous ne vous souvenez pas du fonctionnement d'une commande, vous pouvez obtenir de la documentation directement dans le shell. manfournit généralement le plus de détails. Habituellement, un ou les deux arguments --helpet -hd'une commande fournissent un bref résumé.

3) head:

man some-commandprend le contrôle du terminal et vous empêche de saisir des commandes lorsque le texte de l'homme est affiché. man some-command | headaffichera les 10 premières lignes. man some-command | head -naffichera les n premières lignes. Dans les deux cas, vous obtenez votre invite, de sorte que vous pouvez avoir le texte de l'homme à l'écran lorsque vous entrez votre commande.

vanden
la source
Lorsque j'utilise man some-command, l'homme me permet de faire défiler la page de haut en bas. N'est-ce pas habituel?
Michael Crenshaw
@ mac9416: En effet. Je n'avais jamais essayé ça avant: - [Modifié la réponse pour en tenir compte. Merci!
vanden
Oui, manutilise un téléavertisseur (généralement less). Si vous souhaitez examiner un fichier de la même manière, tapez less somefile. Si vous vous y habituez vim, vous pouvez utiliser les jktouches pour faire défiler.
Umang
En toute justice, la complétion des onglets n'est pas disponible dans tous les shells.
Nathan Osman
@George Edison: C'est vrai. Mais, s'il s'agit d'un nouvel utilisateur en cause (comme c'est le cas dans la question), il est peu probable qu'il ait changé le shell par défaut et aura donc la tabulation terminée.
vanden
7

Passez à zsh!

Bien que cela ressemble beaucoup à bash, il possède de nombreuses fonctionnalités supplémentaires prêtes à l'emploi (comme par exemple la correction de faute de frappe, même dans un composant de chemin précédent ou un widget utile pour appeler l'aide de la commande actuelle (via run-help; J'appuie sur ESC-h après avoir tapé mplayer, par exemple , et cela ouvre la page de manuel. Après l'avoir refermée, je reviens à l'ancienne ligne)).

Je recommande le livre suivant, qui couvre zsh, bash et quelques autres shells:
From Bash to Z Shell: Conquering the Command Line . Bien qu'il ait déjà quelques années, je suis heureux que cela ne m'ait pas empêché de l'acheter. Cette recommandation est également valable si vous ne souhaitez pas passer à zsh.

J'utilise beaucoup la ligne de commande depuis quelques années (localement et via SSH), je n'ai fait que récemment le passage à zsh moi-même (principalement à cause de mon invite bash personnalisée, qui n'est pas compatible). Voici ma configuration zsh (intégrée dans mon dépôt dotfiles ).

Vous pouvez utiliser chsh -s /bin/zshpour changer votre shell (via / etc / passwd), ou simplement l'appeler à partir de votre shell actuel, c'est-à-dire taper zshvotre invite bash (vous devrez probablement l'installer d'abord cependant ( sudo apt-get install zsh).

bleuté
la source
5

"apropos" (ou son équivalent: "man -k") pour trouver une commande pour faire quelque chose.

$ apropos [my query]

Par exemple, pour trouver la commande pour copier des fichiers:

$ apropos copy

listera un tas de commandes, dont

cp (1) - copy files and directories

est une.

"cp" est la commande et "1" est la section des manuels où elle apparaît. La section 1 est des commandes utilisateur générales (d'autres sections incluent des choses comme les appels de bibliothèque, qui ne vous intéresseront pas). Pour restreindre la recherche à la seule section 1, utilisez:

$ apropos -s1 [my query]

Pour en savoir plus sur la commande, utilisez "man". par exemple

$ man cp
Dave Jennings
la source
+1 pour avoir été le premier à mentionner man. Bravo!
jathanism
4

Essayez d'utiliser du poisson

fish est un shell de ligne de commande convivial pour les systèmes d'exploitation de type UNIX tels que Linux.

Entre autres choses, il propose une complétion d'onglet plus avancée que bash, ce qui peut être très utile lors de l'apprentissage.

texte alternatif

https://www.pablumfication.co.uk/2010/02/26/fish/

http://fishshell.org/index.php

Mark Davidson
la source
1
J'adore la fonction de recherche d'historique. Tapez n'importe quoi, appuyez sur la touche flèche vers le haut et vous recherchez dans votre historique ces mêmes mots. Grand gain de temps.
Javier Rivera
le lien vers fishshell.org n'est pas à jour. fishshell.com est le nouveau.
NES
2

history | grep SOMETHING - trouve la commande que vous avez utilisée avant et qui contient QUELQUE CHOSE.

fortune - :-)

Dmitry
la source
2
Pour cela, j'utilise Ctrl+R SOMETHING(avec la différence que cela donne la dernière occurrence). Répétez l'opération Ctrl+Rpour rechercher d'autres occurrences de SOMETHINGdans l'historique des commandes.
Bert Van Vreckem
2

Pour savoir comment utiliser une commande, ajoutez un espace, puis "--help" à la fin de celui-ci - cela vous indique comment l'utiliser et donne une liste d'options.

par exemple

cp --help
Nico Burns
la source
Attention, cela ne fonctionne pas avec toutes les commandes!
SilverWolf
2

Le Guide et référence de poche d'Ubuntu contient un chapitre sur l'utilisation de la ligne de commande. Il vous permettra de démarrer rapidement avec la ligne de commande.

Il est également gratuit à télécharger ou à lire en ligne.

jumpnett
la source
2

Je recommande d'utiliser CLI Companion :

CLI Companion est un outil pour stocker et exécuter des commandes de terminal à partir d'une interface graphique. Les personnes qui ne connaissent pas le terminal trouveront dans CLI Companion un moyen utile de se familiariser avec le terminal et de libérer son potentiel. Les utilisateurs expérimentés peuvent utiliser CLI Companion pour stocker leur liste complète de commandes dans une liste consultable.

entrez la description de l'image ici

Vous l'obtenez en exécutant:

sudo add-apt-repository ppa:clicompanion-devs/clicompanion-nightlies
sudo apt-get update
sudo apt-get install clicompanion

Si vous ne souhaitez pas ajouter le PPA, essayez ce fichier pour 12.04 (dernière version 1.1-6, publiée le 14/04/2012 - consultez cette page pour les versions plus récentes.) - ou supprimez le PPA après l'installation avec sudo add-apt-repository -r ppa:clicompanion-devs/clicompanion-nightlies.

Jakob
la source
1

Trouvez un livre Ubuntu avec un bon index de ligne de commande, zeroxez-le et placez-le près de l'ordinateur. Forcez-vous à l'utiliser. Une bonne ressource est le livre "Ubuntu Linux Toolbox 1000+ commandes", couvre tout ce que vous devez savoir (http://www.amazon.com/Ubuntu-Linux-Toolbox-Commands-Debian/dp/0470082933)

Cependant, si vous ne lancez pas de serveur, sur le bureau Ubuntu, presque tout est disponible avec l'interface graphique.

Aviah Laor
la source
0

J'ai appris énormément à utiliser la ligne de commande et à m'y familiariser avec la lecture de The Bash Cookbook d'O'Reilly and Associates. C'est un livre sur les scripts Bash, mais les petits morceaux du format du livre de cuisine le rendent très accessible. Comme avantage secondaire, si vous pensez "Gee, je voudrais bien faire X, mais je ne sais pas comment", vous pouvez utiliser la table des matières pour rechercher X (et Y et Z d'ailleurs) et avoir une bonne idée sur la façon de le faire (et une explication décente de la façon dont cela fonctionne avec des pointeurs vers d'autres recettes et ressources qui peuvent approfondir votre compréhension).

Jim
la source
0

J'ai lu le livre officiel du serveur Ubuntu, The (2nd Edition) pour apprendre l'administration du système, et non seulement je suis devenu plus habile à utiliser la ligne de commande, mais j'ai également commencé à apprendre le fonctionnement interne du système d'exploitation lui-même.

L'utilisation d'Ubuntu Server Edition m'aide à apprendre la ligne de commande plus facilement, car je n'ai pas l'interface graphique sur laquelle se replier.

jumpnett
la source