bash_cheat_sheet
Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
bash_cheat_sheet [2025/06/03 06:11] – créée pillow | bash_cheat_sheet [2025/06/03 08:12] (Version actuelle) – [Effacer fichiers selon conditions (find)] pillow | ||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
---- | ---- | ||
+ | |||
+ | ===== Opérateurs ===== | ||
+ | |||
+ | ---- | ||
+ | ==== String ==== | ||
+ | |||
+ | * Identiques : [ " | ||
+ | * Différente : [ "str1 != " | ||
+ | * Non vide : [ -n " | ||
+ | * Vide : [ -z " | ||
+ | |||
+ | ==== Numbers ==== | ||
+ | * Egaux : [ nb1 -eq nb2 ] | ||
+ | * Différents : [ nb1 -ne nb2 ] | ||
+ | * Sup à > : [ nb1 -gt nb2 ] | ||
+ | * Sup ou égal >= : [ nb1 -ge nb2 ] | ||
+ | * Inf à < : [ nb1 -lt nb2 ] | ||
+ | * Inf ou égal <= : [nb1 -le nb2 ] | ||
+ | |||
+ | ==== Fichiers et répertoires ==== | ||
+ | * Exécutable (par le user courant) : [ -x filename ] #Uniquement fichiers | ||
+ | * Writable (user courant) : [ -w filename ] | ||
+ | * Readable (user courant) : [ -r filename ] | ||
+ | * Est un fichier : -f | ||
+ | * Est un répertoire : -d | ||
+ | * Existe : -e | ||
+ | * Taille > 0 : -s | ||
+ | |||
+ | |||
===== Gestion des options ===== | ===== Gestion des options ===== | ||
Les options doivent être avant les paramètres ' | Les options doivent être avant les paramètres ' | ||
Ligne 7: | Ligne 36: | ||
# | # | ||
| | ||
- | #Gestion des options | + | #On met les options |
optA=false; | optA=false; | ||
optB=false; | optB=false; | ||
+ | | ||
+ | #Définion de la commande | ||
cmd=" | cmd=" | ||
- | | + | |
+ | #Check des options | ||
while true | while true | ||
do | do | ||
Ligne 18: | Ligne 50: | ||
echo " | echo " | ||
opta=true | opta=true | ||
- | cmd+=" | + | cmd+=" |
shift | shift | ||
;; | ;; | ||
Ligne 31: | Ligne 63: | ||
done | done | ||
| | ||
- | if [[ $opta ]] | + | echo " |
+ | |||
+ | if [[ ! -z "$1" | ||
then | then | ||
- | echo "gagné A"; | + | echo "$1"; |
+ | else | ||
+ | echo "pas de paramètre" | ||
fi | fi | ||
- | if [[ optb ]] | + | |
- | then | + | |
- | echo "gagné B" | + | ===== Fichiers ou répertoires dans un tableau ===== |
- | fi; | + | |
- | | + | # |
- | echo "$cmd" | + | |
- | + | repertoire="/ | |
- | echo "$1"; | + | |
+ | cmd=" | ||
+ | |||
+ | files_folders=$($cmd) | ||
+ | folders=() # | ||
+ | |||
+ | echo $files_folders #sortie de ls | ||
+ | |||
+ | for file in $files_folders | ||
+ | do | ||
+ | if [[ -d $repertoire$file ]] && [[ -e $repertoire$file ]] && [[ " | ||
+ | then | ||
+ | folders+=("$repertoire$file") #ajout à la fin du tableau | ||
+ | fi | ||
+ | done | ||
+ | echo "Nombre de répertoires : ${# | ||
+ | files_array=(${files_folders// | ||
+ | echo $files_array | ||
+ | echo "Nombre de fichiers et répertoires : ${# | ||
+ | echo $repertoire${files_array[0]} | ||
+ | |||
+ | ===== Effacer fichiers selon conditions (find) ===== | ||
+ | |||
+ | Motif de base : | ||
+ | |||
+ | '' | ||
+ | |||
+ | 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 " | ||
+ | * * peut être combiné avec \( -name " | ||
+ | * * exlcusion : ! -name " | ||
+ | |||
+ | == -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.1748931087.txt.gz · Dernière modification : de pillow