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.

3voto

popcnt Points 101

Mon préféré, de tous les temps : Méta CLI et alias persistants .

avec ces alias, une simple commande ( val ) pour définir de nouveaux alias Shell, et les avoir à l'avenir. Le concept peut être étendu à des "modes"/domaines plus petits par des fichiers alias ou des alias supplémentaires.

dans ~/.alias.sh (assurez-vous qu'il soit sourcé dans vos fichiers de démarrage Shell)

# bash format example
alias sal='. ~/.alias.sh; echo ~/.alias.sh was sourced'
alias val='vi ~/.alias.sh; sal'

ou ~/.alias.csh ( csh format - assurez-vous qu'il est inclus dans vos fichiers de démarrage Shell)

# csh format 
alias sal 'source ~/.alias.csh; echo ~/.alias.csh was sourced'
alias val 'vi ~/.alias.csh ; sal'

3voto

Les plus courantes ls Les commandes sont

ls -lSr
ls -ltr

pour trier les fichiers par ordre croissant de taille et de temps respectivement (pour trouver les fichiers les plus gros ou les plus récents). De plus, si vous n'avez pas de terminal couleur pour une raison quelconque, ou si vous n'aimez pas les couleurs (comme moi) alors ls -F vous donne le même type de métadonnées que les couleurs : '/' indique un dir, '*' un exécutable, etc.

Apprenez également à utiliser find y xargs La puissance de la ligne de commande consiste à rassembler des commandes plus petites pour en faire quelque chose de plus puissant. Ces 2 commandes sont indispensables pour cela !

3voto

Erick Robertson Points 576

Les docs d'ici sont plutôt amusants :

cat << EOF > /tmp/file.txt

The ${speed} ${color} ${animal} jumped over the ${structure}

EOF

Ou, si vous utilisez BASH amusez-vous avec les here-docs en boucle :

cat << EOF > /tmp/file.txt

The ${speed[i]} ${color[i]} ${animal[i]} jumped over the ${structure[i]}

EOF

Pratique pour générer du HTML, du PHP, des fichiers de configuration, ou n'importe quoi d'autre à l'intérieur d'un Shell Shell même d'autres Shell Shell :)

3voto

krujos Points 147

Raccourcis clavier d'édition de la ligne de commande que j'utilise dans bash :

CTRL-U - Supprime le texte depuis la position du curseur jusqu'au point d'origine. Idéal lorsque vous faites une faute de frappe sur un mot de passe et que vous ne vous souvenez pas si votre terminal prend en charge la fonction SUPPRESSION ou la touche BACKSPACE.

CTRL-A - Tout comme la touche HOME, même si votre terminal n'envoie pas HOME correctement.

CTRL-E - Tout comme END

ALT-F - Avance le curseur d'un mot.

ALT-B - Déplacer le curseur vers l'arrière d'un mot.

3voto

RamyenHead Points 311

Ajoutez ceci à ~/.bashrc

# expand things like !310:1 after spaces.
bind Space:magic-space

C'est un peu effrayant à utiliser

  • !:0 (0ème argument de la dernière commande, c'est-à-dire le nom du programme)
  • !:2 (2ième argument de la dernière commande)
  • ! ! (l'intégralité de la dernière commande) (sudo ! !)
  • !$ (dernier argument de la dernière commande)
  • !* (tous les arguments de la dernière commande)
  • !ssh (dernière commande commençant par ssh)
  • ^chunky^bacon (dernière commande sauf que le premier chunky est remplacé par du bacon)
  • !:gs \chunky\bacon (... tout le chunky est remplacé par du bacon)

sans vérifier ce qui est substitué avant d'exécuter la commande.

Lorsque vous utilisez des jokers comme *.txt ou des globs comme hello.{txt,org}, vous pouvez vérifier au préalable ce qui est fait avec la commande echo.

echo rm *.bak
rm *.bak

Mais pour des choses comme !:0, vous n'utilisez pas echo, parce qu'une fois que echo est fait, la dernière commande est la commande echo. Vous avez peut-être entendu parler de ce phénomène comme du principe "l'observation foire les choses" en mécanique quantique.

Au lieu de cela, vous ajoutez simplement "bind Space:magic-space" dans votre ~/.bashrc et ensuite, chaque fois que vous appuyez sur espace, les trucs comme !:0 sont étendus juste là.

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