background preloader

Scripting Bash / Sh

Facebook Twitter

Les commandes Linux qui vous feront gagner du temps. (modifié le 30 mai 2015 à 2:45) Certaines commandes Linux sont très pratiques, voir indispensables. Parce qu'il est impossible de retenir toutes les commandes, je vous propose à travers ce billet celles que j'utilise le plus souvent, ou qui sont tout simplement intéressantes et peu courantes. Voici mon mémo ou memento personnel, en libre accès. Ce billet est régulièrement mis à jour, n'hésitez pas à revenir, les dernières commandes ajoutées sont en haut. Recherche récursive d'une occurrence dans un répertoire Supprimer les lignes en double Répéter une commande A l'aide de la commande watch. Installer Sudo sur Debian Les meilleurs pratiques pour OpenSSL Server Lister les cron (crontab) pour tous les utilisateurs Adresse IP Toutes distributions : configuration minimaliste.

QoS Quelques mods connus pour servir HTTP : mod_bw, mod_cband, moq_qos Sous Debian avec traffic control (tc) inclut dans le paquet iproute (qdisc, etc) Rsnapshot Guide Bien utiliser la commande cd +d'infos Gestion des ACL (accesslist) Comment lire un fichier ligne par ligne. Préambule Une des erreurs les plus communes dans l'apprentissage des scripts "bash" sous GNU/LInux pour lire un fichier ligne par ligne, est d'utiliser une boucle "for" (for line in $(cat file.txt); do ...), ce qui dans cet exemple conduit à une évaluation, non pas de chaque ligne du fichier, mais de chaque mot !

Ce qui n'est pas du tout le but recherché... Exemple de sortie avec une boucle "for" : for line in $(cat file.txt); do echo "$line" ; done Ceci est la ligne n° 1 Ceci est la ligne n° 2 Ceci [...] La solution consiste à utiliser une boucle "while" couplée à la commande interne "read". Mais il est cependant possible d'obtenir le même résultat avec une boucle "for" à condition de changer la valeur de la variable "$IFS" (Internal Field Separator, séparateur de champ interne) avant de lancer la boucle. Boucle while La boucle "while" reste la méthode la plus appropriée et la plus simple pour lire un fichier ligne par ligne.

Syntaxe while read ligne do commande done < fichier Exemple #! #! Exécuter le script bash. Nous avons écrit un petit script sans prétention de deux-trois lignes. Notre mission maintenant est de parvenir à l'exécuter. Commencez par enregistrer votre fichier et fermez votre éditeur. Sous Vim, il suffit de taper :wq ou encore :x. Vous retrouvez alors l'invite de commandes. Donner les droits d'exécution au script Si vous faites un ls -l pour voir votre fichier qui vient d'être créé, vous obtenez ceci : $ ls -l total 4 -rw-r--r-- 1 mateo21 mateo21 17 2009-03-13 14:33 essai.sh Ce qui nous intéresse ici, ce sont les droits sur le fichier : -rw-r--r--. Or, pour exécuter un script, il faut que le fichier ait le droit « exécutable » . $ chmod +x essai.sh Vous pouvez vérifier que le droit a bien été donné : $ ls -l total 4 -rwxr-xr-x 1 mateo21 mateo21 17 2009-03-13 14:33 essai.sh Tout le monde a maintenant le droit d'exécuter le script.

Exécution du script Le script s'exécute maintenant comme n'importe quel programme, en tapant « ./ » devant le nom du script : $ . Que fait le script ? #! $ . Use grep Command In Linux / UNIX [ Examples ] How do I use grep command on Linux, Apple OS X, and Unix-like operating systems? Can you give me a simple examples of the grep command? The grep command is used to search text or searches the given file for lines containing a match to the given strings or words. By default, grep displays the matching lines. Use grep to search for lines of text that match one or many regular expressions, and outputs only the matching lines. grep is considered as one of the most useful commands on Linux and Unix-like operating systems.

Did you know? The name, "grep", derives from the command used to perform a similar operation, using the Unix/Linux text editor ed: g/re/p The grep command syntax The syntax is as follows: grep 'word' filename grep 'word' file1 file2 file3 grep 'string1 string2' filename cat otherfile | grep 'something'command | grep 'something'command option1 | grep 'data'grep --color 'data' fileName How do I use grep command to search a file? Foo:x:1000:1000:foo,,,:/home/foo:/bin/ksh. [linux]Connaitre la taille d'un dossier - X-Space.