Le pouvoir de combiner xargs, cut, tail, grep, seq
m'é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.
command-line
wonk wonk
la source
la source
Réponses:
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.
la source
seq
,head
ettail
(au moins les parties les plus utilisées) sont triviales. Je vous suggère de commencer par chercher àgrep
vous familiariser avec la moitié de recherche d'expressions régulières etsed
(en parallèle, mais un peu en retardgrep
) à obtenir la moitié de remplacement (enregistrer lessed
commandes plus avancées pour plus tard), puisawk
parce que c'est un outil assez puissant. Alorsfind
, alorsxargs
.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.
la source
Suivez le plan d'un jour. Commencez par répertorier tout
/sbin
. Ensuite, prenez une commande par jour et tapezman command
et découvrez ce qu'elle fait. Les commandes essentielles sont toutes intégrées/sbin
. Après cela, allez travailler/bin
et lorsque cela est terminé, allez travailler sur/usr/sbin
et/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.
la source
/sbin
, étant donné le "pour les programmeurs" dans le titre de la question. Sur de nombreux systèmes,/sbin
et/usr/sbin
sont par défautPATH
uniquement 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.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
sed
etawk
j'espère que cela vous sera utile ...la source
Pour Bash, je consulterais tldp.org/LDP/abs/html/
la source
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.
la source
Unix Power Tools est très intéressant pour apprendre quelques astuces.
la source
Je vous suggère de vous familiariser avec ceux-ci: awk1line.txt et sed1line.txt .
la source
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.
la source
J'ajouterais Linux® Command Line et Shell Scripting Bible de Richard Blum . Il est facile à comprendre, pratique et plein de nombreux exemples utiles.
la source