bash_cheat_sheet
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| bash_cheat_sheet [2025/06/03 06:16] – [Gestion des options] 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 42: | Ligne 71: | ||
| echo "pas de paramètre" | echo "pas de paramètre" | ||
| fi | fi | ||
| + | |||
| + | |||
| + | ===== Fichiers ou répertoires dans un tableau ===== | ||
| + | |||
| + | # | ||
| + | |||
| + | repertoire="/ | ||
| + | |||
| + | 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+=(" | ||
| + | fi | ||
| + | done | ||
| + | echo " | ||
| + | files_array=(${files_folders// | ||
| + | echo $files_array | ||
| + | echo " | ||
| + | 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.1748931372.txt.gz · Dernière modification : de pillow
