Outils pour utilisateurs

Outils du site


bash_cheat_sheet

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édentesRévision précédente
Prochaine révision
Révision précédente
bash_cheat_sheet [2025/06/03 06:56] pillowbash_cheat_sheet [2025/06/03 08:12] (Version actuelle) – [Effacer fichiers selon conditions (find)] pillow
Ligne 74: Ligne 74:
  
 ===== Fichiers ou répertoires dans un tableau ===== ===== Fichiers ou répertoires dans un tableau =====
 +
 + #!/bin/bash
 +
 + repertoire="/home/pillow/"
 +
 + cmd="ls $repertoire"
 +
 + files_folders=$($cmd)
 + folders=() #déclaration tableau vide
 +
 + echo $files_folders #sortie de ls
 +
 + for file in $files_folders
 + do
 + if [[ -d $repertoire$file ]] && [[ -e $repertoire$file ]] && [[ "$file" != "." ]] && [[ "$file" != ".." ]]
 + then
 + folders+=("$repertoire$file") #ajout à la fin du tableau
 + fi
 + done
 + echo "Nombre de répertoires : ${#folders[@]}"
 + files_array=(${files_folders// /}) # transforme la string en tableu avec ' ' comme séparateur
 + echo $files_array
 + echo "Nombre de fichiers et répertoires : ${#files_array[@]}"
 + echo $repertoire${files_array[0]}
 +
 +===== Effacer fichiers selon conditions (find) =====
 +
 +Motif de base : 
 +
 +''find /repertoire -type f -name "*.log" -exec rm {} \;''
 +
 +Conditions possibles : 
 +== -type ==
 +  *   * f : fichier
 +  *   * d : repertoire
 +  *   * l : lien symbolique
 +  *   * c : périphérique caractère
 +  *   * s : socket
 +  *   * b : périphérique bloc
 +  *   * p : tube nommé (FIFO)
 +
 +== -name "regexp" ==
 +  *   * peut être combiné avec \( -name "*.log" -o -name "*.py"\)
 +  *   * exlcusion : ! -name "*.bak"
 +
 +== -size [valeur] ==
 +(c => octets, k => ko, M => Mo, G => Go)
 +  *   * exactement : -size 1M
 +  *   * plus de : -size +10M
 +  *   * moins de : -size - 10k
 +  *   * plage : -size 1M -a -size -10M
 +
 +== Dates [valeur en jours] ==
 +  *   * -mtime : modification
 +  *   * -atime accès
 +  *   * -ctime changement méta donénes (chmod par exemple)
 +  *   * exactement : -date 7
 +  *   * plus de : -date +30
 +  *   * moins de : -date -1
 +
 +== -perm [mode] (permissions) ==
 +  *   * Octale : -perm 644
 +  *   * Symbolique -perm /u+s ou /g=w
 +  *   * Au moins : -644
 +  *   * Exactement : 644
 +
 +== -user nomuser ==
 +  * ! -user nomuser
 +  * -group nomgroup
 +  * ! - group nomgroup
 +  * -user nomuser -group nomgroup
 +
 +== Exécution ==
 +  * -exec [command] {} \; <- Sans demander de confirmation
 +  * -ok [command] {} \; <- avec confirmation
 +
  
  
  
bash_cheat_sheet.1748933779.txt.gz · Dernière modification : de pillow