112 votes

Meilleures pratiques et astuces pour la ligne de commande Linux ?

J'aimerais ouvrir une discussion qui permettrait d'accumuler vos meilleures pratiques et astuces en matière de ligne de commande Linux (CLI).

J'ai cherché une telle discussion pour partager le commentaire ci-dessous mais je n'en ai pas trouvé, d'où ce post.

J'espère que nous pourrons tous en tirer des leçons.

Vous êtes invités à partager vos astuces Bash, grep, sed, AWK, /proc et toutes les autres pratiques d'administration système Linux/Unix, Shell et de programmation pour le bénéfice de tous.

1voto

kyku Points 97

Vous pouvez faire un peu de réseautage simple avec bash (crédit à cette page et man bash) :

cat < /dev/tcp/time.nist.gov/13

Oui, l'écriture vers et la lecture-écriture simultanée sont également possibles.

1voto

Avant tout, comprenez tout ce que vous voyez sur Internet avant de l'essayer dans votre boîte de développement.

1voto

DanH Points 247

De temps en temps, aucun des deux :

find . -exec ...
find . -print0 | xargs ...
for i in *.png; do ... done

fonctionne pour traiter une liste de fichiers, puisqu'on a besoin de la puissance combinée de find, des noms de fichiers séparés par NULL ainsi que des boucles Shell. La solution est ce petit bout de code bash :

find . -print0 | while read -r -d $'\0' filename; do echo $filename; done

Cela permet de traiter des fichiers séparés NULL dans une boucle normale.

1voto

Jean-Marc Liotier Points 310

Shell-fu est un lieu de stockage, de modération et de diffusion de trucs et astuces en ligne de commande. Un peu comme StackOverflow, mais uniquement pour Shell. Vous y trouverez de nombreuses réponses à cette question.

1voto

RamyenHead Points 311

Une autre astuce :

Quand je veux faire un alias bash, je fais juste un bash script sur mon dossier bin utilisateur.

Par exemple, au lieu d'ajouter la ligne suivante à mon .bashrc,

alias make-symlink='ln -s -iv'

Je ferais le script suivant et le sauvegarderais sous ~/bin/make-symlink

#!/bin/bash                                                                     
ln -s -iv "$@"

une fois que le script est rendu exécutable (chmod +x), c'est comme si j'avais un nouvel alias.

Maintenant, make-symlink peut être utilisé dans xargs. Aussi lorsque vous utilisez un Shell différent (ZSH, FISH, IPYTHON, ...), make-symlink est là aussi.

Si vous utilisez emacs, vous pouvez ajouter ce qui suit à votre fichier init emacs.

;; Make scripts executable on save                                              
(add-hook 'after-save-hook 'executable-make-buffer-file-executable-if-script-p)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X