linux:commands

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
linux:commands [2024/06/19 11:52] – [sed] add how to remove lines with only spaces phswlinux:commands [2025/11/07 22:21] (Version actuelle) – [sed] add how to print nth line after a matching line phsw
Ligne 1: Ligne 1:
 ====== Commandes Linux ====== ====== Commandes Linux ======
  
-Certaines commandes (''grep'', ''ls'', ...) acceptent en paramètre ''--color=always'' qui permet de garder les colorations lorsque les commandes sont pipées. Utile pour piper plusieurs ''grep'', par exemple. ([[https://superuser.com/questions/923275/how-can-i-make-grep-respects-colors-on-a-pipe|Source]])+Certaines commandes (''grep'', ''ls'', ...) acceptent en paramètre ''%%--%%color=always'' qui permet de garder les colorations lorsque les commandes sont pipées. Utile pour piper plusieurs ''grep'', par exemple. ([[https://superuser.com/questions/923275/how-can-i-make-grep-respects-colors-on-a-pipe|Source]])
  
 +
 +  * [[https://shafi.ddns.net/blog/customize-nano-text-editor|Customize Nano Text Editor]]
  
 ==== awk ==== ==== awk ====
Ligne 97: Ligne 99:
  
 ==== curl ==== ==== curl ====
 +
 +  * [[https://jpmens.net/2025/01/23/uploading-a-message-to-an-imap-server-using-curl/|Uploading a message to an IMAP server using curl]]
  
 Obtenir une page web avec les en-têtes: Obtenir une page web avec les en-têtes:
Ligne 114: Ligne 118:
   * ''%%--%%data "param1=value1&param2=value2"'' ou ''%%--%%data "param1=value1" %%--%%data "param2=value2"'': préciser le contenu de champs POST. La méthode HTTP sera POST par défaut. [[https://superuser.com/a/149335|Source]]   * ''%%--%%data "param1=value1&param2=value2"'' ou ''%%--%%data "param1=value1" %%--%%data "param2=value2"'': préciser le contenu de champs POST. La méthode HTTP sera POST par défaut. [[https://superuser.com/a/149335|Source]]
   * ''-X <method>'': précise la méthode HTTP   * ''-X <method>'': précise la méthode HTTP
 +  * ''-F "userid=32"'' : précise un couple clé/valeur d'une requête POST
 +  * ''-F "img=@/tmp/img.png"'' : précise le fichier à envoyer via un formulaire POST
  
 Pour afficher les en-têtes de la requête, il faut utiliser le mode verbeux avec l'option ''-v''. Pour afficher les en-têtes de la requête, il faut utiliser le mode verbeux avec l'option ''-v''.
Ligne 176: Ligne 182:
 </code> </code>
 Options: Options:
-  * ''-delete'': supprimer les fichiers trouvés +  * ''-delete'' : supprimer les fichiers trouvés 
-  * ''-exec du -ch {} +'': connaître la taille des fichiers trouvés. S'il y a trop de fichiers, ''find'' va faire des paquets de paramètres et plusieurs appels à ''du''. La solution est d'utiliser : ''find -type f -iname *.jpg -print0 | du -ch --files0-from=-'' ([[https://unix.stackexchange.com/questions/41550/find-the-total-size-of-certain-files-within-a-directory-branch|source]]). +  * ''-exec du -ch {} +'' : connaître la taille des fichiers trouvés. S'il y a trop de fichiers, ''find'' va faire des paquets de paramètres et plusieurs appels à ''du''. La solution est d'utiliser : ''find -type f -iname *.jpg -print0 | du -ch --files0-from=-'' ([[https://unix.stackexchange.com/questions/41550/find-the-total-size-of-certain-files-within-a-directory-branch|source]]). 
-  * ''-type d'': cherche uniquement des dossiers+  * ''-type d'' : cherche uniquement des dossiers 
 +  * ''-perm -g+r,g+x'' : cherche les fichiers avec le groupe qui peut lire et exécuter 
 +  * ''\! -perm -g+r'' : cherche les fichiers que l e groupe n'a pas le droit de lire
  
 Sources: Sources:
Ligne 226: Ligne 234:
 grep -P -o "\[\[https?:\/\/.+?\]\]" grep -P -o "\[\[https?:\/\/.+?\]\]"
 </code> </code>
 +
 +
 +==== htop ====
 +
 +  * [[https://peteris.rocks/blog/htop/|htop explained]]
  
  
Ligne 332: Ligne 345:
   * ''-i'': éditer directement les fichiers. Par défaut, ''sed'' affiche le résultat, et rediriger la commande vers le même fichier efface le contenu du fichier...   * ''-i'': éditer directement les fichiers. Par défaut, ''sed'' affiche le résultat, et rediriger la commande vers le même fichier efface le contenu du fichier...
  
 +
 +=== Enchaîner plusieurs commandes ===
 +
 +Les séparer par des points-virgules :
 +<code bash>
 +sed -E 's/foo/bar/;/^\s*$/d'
 +</code>
  
 === Remplacer du texte dans des fichiers === === Remplacer du texte dans des fichiers ===
Ligne 379: Ligne 399:
 <code bash> <code bash>
 sed -n 's/ \+/ /gp' sed -n 's/ \+/ /gp'
 +</code>
 +
 +
 +=== Supprimer tous les espaces au début d'une ligne ===
 +
 +[[https://stackoverflow.com/questions/34322188/removing-all-spaces-from-the-beginning-of-lines|Source]]
 +
 +<code bash>
 +sed 's/^[[:space:]]*//g'
 </code> </code>
  
Ligne 410: Ligne 439:
 # Supprime toutes les entrée de logs antérieures au 22 avril 2021 : # Supprime toutes les entrée de logs antérieures au 22 avril 2021 :
 sed '1,/22\/Apr\/2021/d' nginx-access.log sed '1,/22\/Apr\/2021/d' nginx-access.log
 +</code>
 +
 +
 +=== Afficher les lignes jusqu'à atteindre un motif (inclus) ===
 +
 +
 +[[https://unix.stackexchange.com/questions/11305/show-all-the-file-up-to-the-match|Source]]
 +<code bash>
 +sed '/pattern/q' $fichier
 </code> </code>
  
Ligne 429: Ligne 467:
 Le paramètre ''-n'' indique de n'afficher aucune ligne, c'est le flag ''p'' qui indique qu'il faut afficher la ligne. Le paramètre ''-n'' indique de n'afficher aucune ligne, c'est le flag ''p'' qui indique qu'il faut afficher la ligne.
  
 +
 +
 +=== Ne garder que des lignes délimitées ===
 +
 +Pour ne garder que les lignes qui sont entre des lignes qui contiennent ''BEGIN'' et ''END'' [[https://unix.stackexchange.com/questions/78472/print-lines-between-start-and-end-using-sed|source]] :
 +<code bash>
 +sed -n -e '/^BEGIN$/,/^END$/{/^BEGIN$/d;/^END$/d;p;}' input
 +</code>
 +
 +
 +=== N'affiche que les deuxièmes lignes après un motif ===
 +
 +  * [[https://www.baeldung.com/linux/show-nth-line-after-match|Source]]
 +
 +<code>
 +Truc
 +Foo:
 +Machin
 +Ligne à afficher
 +Truc
 +Foo:
 +sdfs
 +Ligne à afficher
 +sdfs
 +</code>
 +
 +
 +<code bash>
 +sed -n '/Foo:/{n;n;p}' $file
 +</code>
 ==== sort === ==== sort ===
  
  • linux/commands.1718790738.txt.gz
  • Dernière modification : 2024/06/19 11:52
  • de phsw