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.

10voto

Nadav Ben Dov Points 155

Comment utiliser subversion sous Linux sans l'aide d'interfaces graphiques fantaisistes qui ne sont pas toujours disponibles.

svn co <repo-url> . # Checks out project into current folder

svn update # Get latest changes from server

svn status # Shows what files have changed locally

svn add <path/filename> # Add some file to the repo

svn commit # Commit your changes to the repo

Cela empêche beaucoup de développeurs d'utiliser Linux, bizarrement.

10voto

Norman Ramsey Points 625

La commande la plus négligée de la vieille école : find

Hier, j'ai réparé un gros bug de permissions :

for u in nr dias simonpj; do
   sudo -u $u find . -type d -exec chmod g+s '{}' ';'
done

8voto

Mark Glorie Points 2300

Pour les coquillages comme bash y ksh vous pouvez faire en sorte que la ligne de commande réponde aux commandes de navigation comme votre éditeur de texte :

set -o emacs

o

set -o vi

vous permettra d'effectuer des recherches dans votre historique et de vous déplacer sur la ligne de commande comme vous avez l'habitude de le faire dans les fichiers texte (par exemple, en mode vi, en appuyant sur ESC puis en tapant /string cherchera dans vos commandes précédentes le mot "string" - vous pouvez utiliser n y N pour se déplacer entre les matches)

8voto

Grep est mon ami. Sérieusement.

Liste .rb qui contiennent le texte class foo :

grep -l "class foo" .rb

Liste .rb les fichiers qui Ne le fais pas. contiennent le texte class foo :

grep -L "class foo" *.rb

Liste .rb les fichiers qui Ne le fais pas. contient foo ou bar (vous pouvez utiliser n'importe quelle regexp avec -e, mais vous devez échapper les opérateurs) :

grep -L -e "foo\|bar" *.rb

8voto

Eugene Morozov Points 101

La substitution de Shell est effectuée avec ^ :

/home/eugene $ ls foo.txt
foo.txt
/home/eugene $ ^ls^rm
rm foo.txt
/home/eugene $ ls foo.txt
ls: cannot access foo.txt: No such file or directory

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