Je viens d'installer Ubuntu il y a quelques jours. Autant que je sache, le terminal est une partie importante de toute distribution Linux. Ma question à ce stade est pourquoi? Lorsque je cherche quelque chose à ce sujet, les commandes placées dans le terminal sont facilement exécutées via l'interface graphique. Alors, quels sont les avantages d'utiliser le terminal?
Edit: Merci pour les réponses tout le monde. Après avoir un peu fouillé, et avec l’aide de vos réponses, je peux maintenant comprendre son utilisation. Je peux dire avec fierté que depuis 3 jours, je l'utilise depuis à peu près tout et j'espère avoir bientôt une meilleure compréhension du script.
command-line
LurkDog
la source
la source
Réponses:
Le terminal sous Unix est un outil formidable et puissant. Lors de la transition du monde Windows, il est difficile d’apprécier cela, car le shell Windows (cmd.exe) est plutôt manquant. La plupart * coquilles par défaut nix (
bash
,zsh
, etc.) ont plusieurs avantages:Il est normalisé par POSIX et par la spécification Single Unix, de sorte qu'un script que vous écrivez pour un ordinateur fonctionnera probablement sur tous les ordinateurs compatibles POSIX (en supposant que vous vous limitiez aux commandes standard, qui sont nombreuses ). Microsoft a l'habitude d'inclure des outils dans certaines versions et pas dans d'autres, ce qui rend la programmation par lots très aléatoire.
Comme Unix a été construit à partir du terminal, tout est configurable à partir de la ligne de commande. Windows était comme cela jusqu'à un certain point, mais ils ont choisi de supprimer le sous-système 16 bits et le DOS avec. Maintenant, l’interface graphique est le seul moyen de changer certaines choses dans Windows.
Parce que c'est tellement flexible. Les commandes peuvent être regroupées (
ls | grep filename
), elles peuvent être capturées (gcc program.c > ./standard_out 2> ./standard_error
) et peuvent être substituées (ls /home/`whoami`
ouls /home/$(whoami)
)Parce que les utilitaires UNIX sont conçus pour faire une chose, et le font bien. Il suffit de regarder dans
awk
,grep
,sed
,wget
ou une foule d'autres. Par eux-mêmes, ils accomplissent une tâche unique, mais étant donné les n ° 3 et n ° 2, ils peuvent être intégrés dans des expressions puissantes.En raison de la possibilité d'automatiser les tâches.
cron
et les scripts bash permettent de simplifier ou d’automatiser complètement des tâches longues, compliquées et / ou répétitives.Parce que les humains sont enclins à l'erreur. Des scripts shell relativement courts peuvent être utilisés pour modifier les paramètres de manière cohérente. Des contrôles de sécurité peuvent être intégrés aux scripts plutôt que de s’appuyer sur les utilisateurs pour savoir quelles commandes peuvent être exécutées en toute sécurité dans des circonstances différentes.
la source
ls /home/$(whoami)
nos jours :-)cron
, elle te rejoindra à la porte avec elle quand tu reviendras du travail ...L'utilisation du terminal présente une multitude d'avantages. Les arguments vont de la commodité à la nostalgie en passant par la productivité. Voilà quelque :
Il y a certaines choses que vous (plutôt moi) ne pouvez tout simplement pas accomplir en utilisant une interface graphique. Ce n'est pas parce que ce n'est pas faisable, c'est simplement parce que personne n'a pris la peine d'écrire une interface graphique pour ces commandes. Par exemple, si je voulais utiliser une commande, disons
mdf2iso
convertir un tas de fichiers dans un dossier. Je peux canaliser la sortie en utilisant l'|
opérateur et le faire en un seul coup.Pour beaucoup d'entre nous, c'est comme ça que les choses devraient être. Gardez à l'esprit que cela a peu à voir avec l'expertise. Je ne suis pas un expert Linux, je ne suis qu'un utilisateur régulier, mais je préfère utiliser la ligne de commande dans la mesure du possible. Ce n’est pas tant un argument sur la raison de son utilisation, mais plutôt sur son utilisation.
Les scripts sont une chose puissante. Vous pouvez utiliser des conditions
if
et des boucles,for
etc. et faire toutes sortes de choses en combinant le pouvoir ci-dessus. Il n'y a pas de limite au pouvoir du script. Vous pouvez automatiser des tâches complexes adaptées à vos besoins. Pour de telles choses, il est souvent difficile de trouver une application graphique répondant à vos besoins.Vous pouvez effectuer des tâches par connexion à distance, même avec des paramètres de bande passante très faible.
Aider, rédiger des tutoriels, etc. sont beaucoup plus faciles si vous pouvez spécifier les commandes à l’autre personne. De cette façon, vous n'avez pas à prendre de captures d'écran. Cela présente également un autre avantage pour la personne à aider, ce qui nous amène au point suivant.
L'utilisation de la ligne de commande vous permet généralement de mieux comprendre ce que vous faites et ce qui se passe.
Et enfin, c'est tout simplement plus rapide. Il est beaucoup plus rapide de taper quelques lettres et d'appuyer TABque de cliquer sur des options de menu sans fin. Vous pouvez utiliser
!mo
pour appeler la dernière commande que vous avez exécutée et qui a commencémo
(par exemple, mount), etc.Je suis sûr qu'il y a mille autres raisons pour lesquelles j'ai omis de mentionner.
la source
Finalement? Parce que vous commencez à écrire des scripts, et la chose merveilleuse à propos des scripts est la suivante:
Au lieu de changer votre façon de faire les choses, vous pouvez changer le script qui les fait.
Vous pouvez écrire des scripts pour le terminal, mais généralement pas pour les programmes graphiques, c’est pourquoi les utilisateurs utilisent le terminal.
Mais je sens un soupçon de "Pourquoi devrais-je utiliser le terminal?" dans votre question. Je ne peux pas vous répondre, vous et moi n'étant pas vous, mais cette question connexe peut vous donner un aperçu:
Comment / pourquoi les gens finissent-ils par utiliser des utilisateurs en ligne de commande?
Je pense que vous pourriez identifier trois étapes: (1) l’utilisation réticente; (2) connaître le minimum nécessaire pour le confort; (3) trouver quelqu'un aime écrire des scripts. On peut utiliser le terminal à ces trois niveaux; Découvrez par vous-même où s'arrête votre curiosité. En outre, on peut passer très rapidement par ces étapes si on décide simplement que l’on veut apprendre les scripts shell.
"J'ai besoin de ce programme, alors j'imagine que je vais utiliser la ligne de commande."
Cela commence, généralement, parce que les gens trouvent qu'ils ont besoin de quelque chose de spécialiste ou de compliqué, et que le programme recommandé par Google / un forum / un ami pour les tournois s'avère être un programme en ligne de commande. Alors, ils ouvrent un terminal et tapent ce que les instructions leur disent de dactylographier, et voici comment ils en viennent à utiliser le terminal. Des exemples de tels programmes qui vous font utiliser la ligne de commande:
rename
est un charmant petit programme qui vous permet de renommer des tonnes de fichiers selon un modèle. Un exemple simple:rename s/myfile([0-9]+).txt/$1-myfile.txt/
transforme tous les fichiers nommés comme "bond007.txt" en "007-bond.txt", quel que soit leur nombre. Vous voulez peut-être renommer certains fichiers d'albums de musique, voyez-vous.Notez qu’il existe des interfaces graphiques pour bon nombre de ces systèmes, mais c’est un point fondamental: l’appel en ligne de commande est commun et traditionnel, de nombreux HOWTO le supposent, et c’est comme cela qu’il commence. Parce que:
"D'accord, je suis un peu plus à l'aise maintenant."
Une fois dans la ligne de commande, les gens commencent à se demander : ne serait-ce pas facile si je pouvais simplement ..
cd mydir
, pour 'changer de répertoire')ls *.txt
, pour 'liste')mv myfile newname
,cp myfile mycopy
etrm myfile
, pour 'move', 'copy' et 'remove')gedit myfile
, ouleafpad
, ounano
, ouvim
, ou autre chose.)Une fois que les personnes ont appris ces cinq commandes, elles sont à l'aise dans la ligne de commande: elles peuvent se déplacer, regarder et interagir. C'est même un peu puissant: vous pouvez utiliser simultanément des groupes de fichiers complets avec des commandes du même genre
mv iceland-*.jpg My_Iceland_Pics/
, et n'est-ce pas cool?Maintenant, beaucoup de gens s'arrêtent avec bonheur. Ils savent comment utiliser le terminal, ils l'utiliseront quand ils en auront besoin, et c'est tout. C'est le niveau "le terminal est utile". Cependant, les personnes qui préfèrent le terminal le font généralement parce qu'elles ont besoin / envie / sentent qu'elles ne peuvent pas se passer du pouvoir spectaculaire offert par les scripts. Et ça commence généralement comme ça:
"Hé, un script n'est que quelques commandes dans un fichier!"
Cette réalisation peut conduire à plusieurs autres changements, en fonction de la personne. Beaucoup vont juste 'meh', bien sûr; il ne sert à rien d'apprendre ce dont vous n'avez pas besoin. Quoi qu'il en soit, des choses comme celle-ci peuvent arriver:
if something_is_true; then step1a; step2; else step1b; fi
, etfor file in list_of_files; do process1 $file; process2 $file; step3; done
Vous ne pouvez pas expérimenter tout, ni même aucune de ces choses. Cependant, plus vous vous appliquez, plus le terminal sera pour vous . Vous découvrirez par vous-même combien vous finissez par l'utiliser. S'amuser!
Post Scriptum. Dans la programmation, les flux de travail
script -> run -> result
etinput -> process -> output
sont très communs, et le terminal est spectaculairement adapté à ces flux de travail. Ajoutez à cela le fait que le shell n'est en réalité qu'un autre langage de programmation, et vous verrez pourquoi il y a un tel chevauchement entre les utilisateurs en ligne de commande et les programmeurs.la source
Un autre point à ajouter: c'est amusant d'utiliser la ligne de commande! ;)
( http://vladdolezal.com/blog/2008/the-real-reason-we-use-linux/ )
la source
Je répondais juste à une question semblable comme celle-ci l'autre jour. Il s’est avéré que cette personne n’utilisait jamais de raccourcis clavier pour faire quoi que ce soit, c’est donc une longue discussion. J'espère que vous avez une certaine connaissance de ces ... cela rendrait mes arguments plus compréhensibles.
Pensez à utiliser un traitement de texte. Si vous enregistrez un fichier, vous pouvez utiliser un raccourci clavier tel que ctrl-s. Quelqu'un pourrait dire: «Je préfère utiliser le menu. Cela ne me fait pas gagner beaucoup de temps pour utiliser le raccourci. Et si vous devez enregistrer un nouveau fichier, vous devez naviguer dans le système de fichiers jusqu'au répertoire, puis taper le nom de toute façon. " Cet objecteur a donc raison de dire que chaque raccourci clavier ne permet pas de gagner beaucoup de temps. Les véritables économies consistent à enchaîner les raccourcis, par exemple sélectionner tout, couper, coller. Même les fabricants de traitement de texte l'ont compris et ont rendu plus pratique l'accès à la structure de fichiers à l'aide du clavier, par exemple en pouvant accéder aux dossiers / emplacements récents à l'aide des touches de tabulation et des touches fléchées.
Bien sûr, la sélection de morceaux de texte nécessite souvent l'utilisation de la souris ... c'est pourquoi les programmeurs et les personnes qui effectuent beaucoup de travaux d'édition préfèrent utiliser un éditeur de texte prenant en charge l'utilisation du clavier complet pour ne jamais avoir à utiliser de souris. Non seulement la souris est lente , mais elle est sujette aux erreurs - il est particulièrement facile de sélectionner ou de supprimer le texte erroné.
Maintenant, qu'est-ce que cela a à voir avec la ligne de commande? Un avantage de la ligne de commande est qu’elle évite d’utiliser la souris lente et sujette aux erreurs. Au lieu de cela, vous tapez et vous le faites depuis un seul endroit; vous n'avez pas besoin de chercher un autre menu ou de cliquer ici et ensuite. C'est la même raison pour laquelle les gens aiment utiliser les raccourcis clavier du navigateur Web (pour ouvrir de nouveaux onglets / fenêtres, utiliser Gmail, etc.); de toute façon ils devront taper l'URL (ou l'email ou autre) ... pourquoi éloigner la main des touches?
Mais plus important encore, tout comme les raccourcis clavier sont les plus puissants lorsque vous commencez à les utiliser tous ensemble (plutôt qu’un ou deux), vous pouvez chaîner des commandes pour réaliser des tâches plus puissantes qui prendraient une éternité à l’interface graphique ou vous ne pourriez pas. t même imaginer faire du tout. Par exemple, à partir de la ligne de commande, vous pouvez indiquer à votre navigateur Web que je souhaite actualiser régulièrement cette page Web, rechercher un certain texte et, le cas échéant, m'envoyer à un groupe de contacts un message l'informant sur la page web. Comme autre exemple, vous pouvez indiquer à votre ordinateur que je veux parcourir TOUS les courriels que j'ai écrits, chercher une référence à ce livre en particulier, produire une liste des dates que j'ai mentionnées et à qui, commander la liste en fonction de fréquence, et le mettre dans cet email que je tape maintenant.
la source
screen
une console, j’utilise rarement une souris à moins de naviguer sur un site Web. (Personne ne ferait mieux de mentionner Lynx ...)La CLI est rapide à utiliser lorsque vous savez exactement ce que vous voulez faire et comment le faire. Cela peut être beaucoup plus efficace que d'utiliser une interface graphique. De plus, si vous souhaitez vous connecter à distance à votre machine, la CLI est beaucoup plus facile sur une liaison lente. Si vous êtes à l'aise avec l'interface de ligne de commande, vous pouvez également tirer parti des scripts.
Si vous google cli vs gui, vous obtiendrez des tonnes de résultats, par exemple:
http://www.computerhope.com/issues/ch000619.htm
Votre question ne concerne pas vraiment Ubuntu, Linux ou même les ordinateurs; vous obtenez un débat à ce sujet à partir de tout système prenant en charge l'interface graphique et gui, par exemple, la configuration de routeurs Cisco.
la source
Les réponses sont nombreuses, mais j’ai encore une remarque à faire. Parfois, après une installation ou une mise à jour, une application graphique ne démarre pas et vous laisse sans message d'erreur. Dans ces cas, il peut être très utile d'ouvrir une fenêtre de terminal et de lancer l'ap à partir de la ligne de commande. Il y a presque toujours plus d'informations fournies sur le terminal que celles présentées lors du démarrage à partir de l'interface graphique.
la source
Mon préféré est moins de dactylographie . Comment cela se peut-il que je vous entende demander. Eh bien je me connecte, recherche inversée ou flèche haut) pour une commande que j'ai tapée la semaine dernière et appuyez sur retour chariot. L'alternative est beaucoup plus de clics de souris (et d'essayer de se souvenir).
Mon deuxième favori est qu'il est plus facile de répondre aux questions sur le débordement de pile. Aucune capture d'écran nécessaire, juste du texte.
la source
Qu'en est-il lorsque vous devez faire quelque chose en tant que "racine"? Se connecter via l’interface graphique en tant que root est une mauvaise idée (et je ne pense même pas que Ubuntu vous permettra de le faire, par défaut).
En outre, considérez que l'interface graphique Linux (X11) est simplement un programme en cours d'exécution, comme tout le reste. Si X11 devait planter, vous serez heureux de connaître votre ligne de commande.
la source
Je veux juste contribuer avec un exemple, que je trouve très utile, à partir des instructions pour l'ajout du PPA pour VirtualBox. Lorsque vous ajoutez un PPA, vous devez également enregistrer la clé publique afin que la méthode de l'interface graphique:
Expliquer cela dans un guide d'utilisation peut coûter cher! Au lieu de cela, cela peut être fait avec une seule et simple ligne de commande:
la source
La ligne de commande fonctionne assez bien comme dans Windows - vous souvenez-vous de cette boîte de saisie de texte msdos avec le fond noir?
Il donne à l'utilisateur un moyen d'émettre des commandes directement à l'ordinateur sans épuiser les ressources de l'ordinateur qu'une interface graphique apporte. C'est aussi un moyen d'émettre de puissantes commandes afin de faire des choses qui ne peuvent pas être faites via une interface graphique.
Je ne mets pas en doute l’utilité de la méthode de travail de l’interface graphique, mais dans les mains d’un opérateur expérimenté, la méthode de ligne de commande peut être extrêmement rapide et efficace. Dans les mains d'un vrai assistant, la ligne de commande fait des miracles. J'ai à peine effleuré la surface des possibilités, j'apprends quelque chose de nouveau chaque jour. Je ne serai jamais un sorcier - trop vieux - mais j'aimerais être un op habituel un jour ...
Bienvenue sur Ubuntu et Ask Ubuntu. C'est un endroit splendide!!
la source
Pour un débutant, le terminal est une corvée à utiliser, mais si vous commencez à apprendre à l'utiliser, cela devient plus facile. Une fois que vous vous sentez à l'aise avec cela, vous vous sentez confiant de pouvoir gérer les choses qui ne vont pas.
Par exemple, lorsqu'un programme graphique refuse de se lancer et que vous ne savez pas ce qui ne va pas, vous pouvez exécuter la commande dans un terminal et voir souvent la raison du problème dans la sortie du terminal. Ensuite, vous pouvez en copier une partie dans une recherche et trouver la réponse, si nécessaire.
Vous pouvez entrer une commande avec "--help" et obtenir une liste d'options de ligne de commande pouvant être utiles dans certains cas particuliers.
Si quelque chose ne va pas et que l'interface graphique ne s'exécute même pas, vous pouvez souvent ouvrir un terminal virtuel ou éventuellement une ligne de commande à partir du démarrage et résoudre le problème en modifiant un fichier de configuration ou en exécutant un programme en ligne de commande.
la source
En termes simples, vous avez plus de cent touches pouvant contrôler / parler / commander l’ordinateur au lieu d’une seule souris à deux ou trois boutons. Plus vous avez de contrôles, plus vous pouvez être rapide.
Pour ceux qui ne savent pas taper, un clavier à l'écran peut sembler génial. Aussi rapide que vous puissiez utiliser la souris, vous ne pouvez pas taper plus vite que vous ne pouvez utiliser le clavier.
Si vous utilisez la souris / Windows, c’est comme si l’ordinateur vous contrôlait et dictait ce que vous pouviez faire. Lorsque vous vous habituerez au monde de la ligne de commande, vous sentirez tout le système sous votre contrôle en attente de votre commande. Vous devez faire l'expérience pour comprendre la différence.
la source
Je ne vois même pas l'intérêt de cocher une réponse lol. De toute façon. Terminal est comme votre CMD sous Windows. À l'époque, avant que l'interface graphique n'apparaisse, les gens programment et travaillent sous le mode DOS, à peu près tout simplement Terminal. L’interface graphique est conçue pour simplifier et simplifier les tâches, mais l’utilisation de l’interface nécessite parfois plus de travail.
Par exemple, en tant que développeur, si je veux juste compiler un programme C ++, je n'ai pas besoin d'utiliser un environnement de développement intégré sophistiqué. IDE est une interface graphique dotée de nombreuses fonctionnalités avancées qu’un éditeur de texte simple ne propose pas. Ainsi, au lieu de télécharger un IDE vraiment énorme pour une tâche simple, je peux simplement écrire ce qui suit et il exécutera mon programme C ++, dont le fichier exécutable est appelé
main
.Si vous utilisez un langage interprète comme Python, vous pouvez entrer dans le shell interactif Python. Oui. Il y a des shells interactifs qui sont emballés dans une belle interface graphique, mais c'est plus lent et buggy (oh pense à IDLE ...)
Parfois, lorsque l'interface graphique est endommagée, vous pouvez essayer d'utiliser Terminal pour l'ouvrir. Parfois, certains logiciels sous Linux n'offrent pas une bonne interface graphique ou il est très difficile de savoir où se trouve le programme de lancement de l'interface graphique. Vous devez simplement aller dans Terminal et taper, par exemple:
Cela ouvrira les devoirs.pdf pour vous.
Dans d'autres situations, l'interface graphique n'offre pas assez de puissance et de magie pour accomplir votre tâche. Certaines fonctions de recherche sont très basiques et vous ne pouvez pas appliquer de recherche de profondeur ni de modèle de recherche compliqué. Mais via terminal, une commande peut être émise avec un schéma vraiment très compliqué et long.
L'interface graphique est agréable, mais parfois, grâce aux commandes, vous pouvez également simplifier les choses. Parfois, vous n'avez tout simplement pas le choix: vous devez utiliser des commandes via des terminaux.
la source
J'ajouterais un point secondaire qui semble ne pas être mentionné, même si ce n'est pas un avantage réel.
Pensez au fait que l'interface graphique est comme un "panneau" qui donne accès aux fonctions du programme réel . De nombreux logiciels, surtout dans les premières versions, n’ont pas d’interface graphique et ne peuvent être exécutés qu’à partir du terminal. Et, comme d'autres l'ont souligné, même les applications dotées d'une interface graphique n'ont parfois pas d'interfaces pour toutes les fonctions; pour ces fonctions, vous devez utiliser le terminal.
la source
Tout le monde a bien décrit les avantages, je voudrais juste ajouter que, mis à part la transparence, vous pouvez voir toutes les dépendances énumérées, sa vitesse. Après la disparition de Synaptic d’Ubuntu, le centre logiciel est trop lent, en particulier sur les machines les plus lentes. Ici, l’installation à partir d’un terminal est beaucoup plus rapide.
la source