Où maîtriser les commandes Linux les plus utiles pour les programmeurs? [fermé]

14

Le pouvoir de combiner xargs, cut, tail, grep, seqm'étonne. Quelle ressource dois-je consulter pour un didacticiel sur les commandes Linux les plus utiles pour les programmeurs?

Je m'intéresse à ceux que les programmeurs utilisent le plus souvent, cela me facilitera la vie.

wonk wonk
la source
Bienvenue sur Stack Exchange. Nous avons constaté que demander une liste de ressources fonctionne rarement dans notre format de questions et réponses . Veuillez lire les vraies questions ont des réponses . Je suggère de naviguer sur le site (en particulier les questions dans les informations de balise pour shell , traitement de texte , sed et ainsi de suite.
Gilles 'SO- arrête d'être méchant'

Réponses:

12

La meilleure chose que vous puissiez faire pour apprendre cela est de trouver des problèmes et de les résoudre. Parcourez ce site, regardez tous les "Comment faire X dans awk / sed / grep / etc." et essayez-les vous-même avant de regarder les réponses. Regardez si vous êtes coincé ou pour voir comment les autres l'ont fait une fois que vous avez trouvé un moyen. Si vous vous retrouvez en train de faire quelque chose de répétitif dans le terminal, arrêtez-vous et réfléchissez à la façon dont vous pourriez utiliser un ou plusieurs utilitaires pour vous faciliter la tâche. Si vous ne trouvez pas de moyen de le faire, postez ici et nous vous guiderons.

Kevin
la source
Sidenote: seq, headet tail(au moins les parties les plus utilisées) sont triviales. Je vous suggère de commencer par chercher à grepvous familiariser avec la moitié de recherche d'expressions régulières et sed(en parallèle, mais un peu en retard grep) à obtenir la moitié de remplacement (enregistrer les sedcommandes plus avancées pour plus tard), puis awkparce que c'est un outil assez puissant. Alors find, alors xargs.
Kevin
9

L'environnement de programmation Unix par Kernighan et Pike est le classique sur le sujet. C'est ancien mais toujours imprimé, ce qui devrait vous dire quelque chose.

L'art de la programmation UNIX par esr est beaucoup plus récent. Je l'ai trouvé intéressant et utile, mais avec un peu plus de «plaidoyer» que je ne le pensais nécessaire. (Euphémisme pour "moussant partisanerie.") Soyez prêt à prendre ses comparaisons avec d'autres systèmes d'exploitation avec un grain de sel, car je me souviens avoir trouvé du matériel obsolète [1] même lorsque le livre était nouveau, et les * ix concurrents ont presque une décennie de progrès depuis ce temps.

[1] Surtout, je me souviens de coups sur les faiblesses des OS non * ix qui avaient été éliminés avant la publication du livre. Le même genre de chose que vous trouvez dans les arguments amateurs Windows vs Mac vs Linux partout sur le net.

Warren Young
la source
5

Suivez le plan d'un jour. Commencez par répertorier tout /sbin. Ensuite, prenez une commande par jour et tapez man commandet découvrez ce qu'elle fait. Les commandes essentielles sont toutes intégrées /sbin. Après cela, allez travailler /binet lorsque cela est terminé, allez travailler sur /usr/sbinet /usr/bin. Vous pouvez raccourcir votre liste de commandes en en ignorant plus de 5 lettres dans le nom de la commande, et vous ne manquerez pas beaucoup de choses importantes.

Mais l'important est que vous apprendrez quelque chose de nouveau chaque jour, et probablement avant la moitié du chemin, vous comprendrez tellement les bases, que vous pouvez facilement prendre une demi-douzaine de nouvelles commandes par jour.

Mais vous devez les utiliser, chacun d'entre eux, même si ce n'est que bricoler et faire des exercices avec eux.

Michael Dillon
la source
2
C'est une bonne idée. Apprenez les commandes une par une. Vérifiez ce qu'ils font et maîtrisez-les.
Kamil
Je ne peux pas accepter de commencer /sbin, étant donné le "pour les programmeurs" dans le titre de la question. Sur de nombreux systèmes, /sbinet /usr/sbinsont par défaut PATHuniquement pour root. Je pense que vous avez peut-être raison de les considérer comme des commandes "de base" dans le sens où ce sont des éléments clés du système d'exploitation, mais ce ne sont pas autant des outils que vous utilisez dans la programmation que l'administration système.
Warren Young
3

L'un des moyens consiste à commencer à lire certains blogs spécialisés dans Unix / Linux.

Ce blog thegeekstuff où j'écris de temps en temps est un bon endroit pour commencer ... Quelques articles importants qui pourraient vous intéresser sont:

Où il y a une série de tutoriels sur sedet awk j'espère que cela vous sera utile ...

user379997
la source
3
Les 50 commandes sont la réponse parfaite à cette question! Parcourez-le, étudiez des exemples de chaque commande et si c'est intéressant, suivez le lien (généralement fourni) pour d'autres exemples. Ce lien est un gardien!
Bill K
2

Pour Bash, je consulterais tldp.org/LDP/abs/html/

Iman
la source
2
Le fameux guide "Advanced Bash Scripting" vous apprendra à écrire des bugs, pas des scripts. Alors que les intentions écrites étaient nobles, les errata et la désinformation sont trop élevés pour le recommander. mywiki.wooledge.org/BashGuide est un guide bien supérieur.
Chris Down
Merci @Chris Je pensais que les trucs d'introduction étaient un bon début.
Iman
1

Les programmeurs ont une opportunité unique de maîtriser Linux. Chaque fois que vous en avez l'occasion, au lieu d'écrire un programme pour accomplir une tâche, écrivez un script shell pour le faire.

J'ai en fait un défi personnel permanent à tout écrire dans Bash avant d'écrire un programme - vous seriez étonné et dérangé.

En ce qui concerne une recommandation pour un livre, cela peut sembler idiot, mais le Linux Pocket Guide a une place d'honneur sur ma bibliothèque. Il est compact et contient de nombreux programmes Linux utiles. La parcourir est facile et c'est une excellente référence.

kwarrick
la source
0
info coreutils

vous donne une grande liste de commandes utiles, regroupées par contexte.

Vous pouvez prendre cela comme un guide et apprendre une commande par jour, et bien sûr comme un référentiel pour rechercher.

Utilisateur inconnu
la source
0

J'ajouterais Linux® Command Line et Shell Scripting Bible de Richard Blum . Il est facile à comprendre, pratique et plein de nombreux exemples utiles.

newnix
la source