Prochaine révision | Révision précédente |
info:bash:tests_fichiers [2022/10/24 14:47] – créée franck | info:bash:tests_fichiers [2022/11/11 15:36] (Version actuelle) – [Tests sur le type du fichier] franck |
---|
======Test sur les fichiers====== | ======Test sur les fichiers====== |
| exemple d'utilisation: |
| <code bash> |
| [ ! -f fichier.lock ] && echo "le fichier lock est absent" |
| </code> |
| |
| =====Tests sur présence du fichier et fichier non vide===== |
| |
{| border="2" style="padding: 50px; width: 65%;" | {| border="2" style="padding: 50px; width: 65%;" |
! Expression !! Code de retour | ! Expression !! Code de retour |
|- | |- |
|Tests sur l’existence et la taille du fichier | | -e fichier || Vrai si le fichier existe |
|- | |- |
| -e nomfic || Vrai si le fichier existe | | -s fichier || Vrai si le fichier n’est pas vide |
| |} |
| |
| =====Tests sur le type du fichier===== |
| |
| {| border="2" style="padding: 50px; width: 65%;" |
| ! Expression !! Code de retour |
|- | |- |
| -s nomfic || Vrai si le fichier n’est pas vide | | -f fichier || Vrai si le fichier est du type ordinaire ((ni un répertoire ni un fichier périphérique) ) |
|- | |- |
|Tests sur le type du fichier | | -d fichier || Vrai si c'est un répertoire |
|- | |- |
| -f nomfic || Vrai si le fichier est de type ordinaire | | -h fichier || Vrai si le fichier est du type lien symbolique |
|- | |- |
| -d nomfic || Vrai si le fichier est de type répertoire | | -L fichier || Vrai si le fichier est du type lien symbolique |
|- | |- |
| -h nomfic || Vrai si le fichier est de type lien symbolique | | -b fichier || Vrai si le fichier est du type spécial bloc |
|- | |- |
| -L nomfic || Vrai si le fichier est de type lien symbolique | | -c fichier || Vrai si le fichier est du type spécial caractère |
|- | |- |
| -b nomfic || Vrai si le fichier est de type spécial bloc | | -p fichier || Vrai si le fichier est du type tube nommé |
|- | |- |
| -c nomfic || Vrai si le fichier est de type spécial caractère | | -S fichier || Vrai si le fichier est du type socket |
|- | |- |
| -p nomfic || Vrai si le fichier est de type tube nommé | |} |
|- | |
| -S nomfic || Vrai si le fichier est de type socket | =====Tests sur les permissions du fichier===== |
|- | {| border="2" style="padding: 50px; width: 65%;" |
|Tests sur les permissions du fichier | ! Expression !! Code de retour |
|- | |- |
| -r nomfic || Vrai si le fichier est accessible en lecture | | -r fichier || Vrai si fichier est accessible en lecture |
|- | |- |
| -w nomfic || Vrai si le fichier est accessible en écriture | | -w fichier || Vrai si fichier est accessible en écriture |
|- | |- |
| -x nomfic || Vrai si le fichier possède le droit d’exécution | | -x fichier || Vrai si fichier possède le droit d’exécution |
|- | |- |
| -u nomfic || Vrai si le fichier possède le setuid-bit | | -u fichier || Vrai si fichier possède le setuid-bit |
|- | |- |
| -g nomfic || Vrai si le fichier possède le setgid-bit | | -g fichier || Vrai si fichier possède le setgid-bit |
|- | |- |
| -k nomfic || Vrai si le fichier possède le sticky-bit | | -k fichier || Vrai si fichier possède le sticky-bit |
|- | |- |
| nomfic1 -nt nomfic2 || Vrai si le fichier nomfic1 est plus récent que le fichier nomfic2 | | fichier1 -nt fichier2 || Vrai si fichier1 est plus récent que fichier2 |
|- | |- |
| nomfic1 -ot nomfic2 || Vrai si le fichier nomfic1 est plus ancien que le fichier nomfic2 | | fichier1 -ot fichier2 || Vrai si fichier1 est plus ancien que fichier2 |
|- | |- |
| nomfic1 -ef nomfic2 || Vrai si les fichiers nomfic1 et nomfic2 référencent la même inode (liens physiques) | | fichier1 -ef fichier2 || Vrai si fichiers 1 et 2 sont des liens physiques vers le même fichier |
|- | |- |
| -O nomfic || Vrai si l’utilisateur est propriétaire du fichier | | -O fichier || Vrai si l’utilisateur est propriétaire du fichier |
|- | |- |
| -G nomfic || Vrai si l’utilisateur appartient au groupe propriétaire du fichier | | -G fichier || Vrai si l’utilisateur appartient au groupe propriétaire du fichier |
|} | |} |