Sommaire
Se déplacer dans le système de fichiers
La gestion du répertoire courant
Un shell est toujours associé à un répertoire courant, pour le connaître, il suffit de taper la commande suivante :
pwd
/dev/fs/Z
Pour changer de répertoire courant, on utilise la commande suivante
cd nouveau_repertoire
On peut utiliser des chemins relatifs par rapport au répertoire courant. Pour cela, le répertoire courant peut être désigné par « . » par exemple : ./script.ksh permet d'appeler un script se trouvant dans le répertoire courant sans avoir à taper la totalité du chemin vers ce script.
Pour remonter d'un répertoire par rapport au répertoire courant, on utilise la commande suivante :
cd ..
On peut remonter de deux répertoires de la manière suivante :
cd ../..
Manipuler le système de fichiers
Lister les fichiers d'un répertoire
Pour lister les fichiers présents dans un répertoire, on utilise la commande ls :
ls /repertoire
fichier1.txt fichier2.txt fichier3.txt fichier4.txt rep
La commande ls sans argument liste les fichiers du répertoire courant.
Créer un fichier
Pour créer un fichier, on utilise :
> /chemin/fichier.txt
Il existe également une commande touch qui permet de créer un fichier mais son utilisation est déconseillée.
Déplacer un fichier
Pour déplacer un fichier, on utilise la commande mv :
mv fichier destination
Par exemple :
mv fichier1.txt ../fic1.txt
fichier1.txt est déplacé dans le répertoire supérieur et est renommé fic1.txt.
Si on ne souhaite pas renommer le fichier, on peut utiliser la commande sous cette forme :
mv fichier1.txt ../
Supprimer un fichier
Pour supprimer un fichier, on utilise la commande
rm fichier
Pour supprimer un dossier, on utilise l'option -d qui signifie qu'on supprime le dossier et -r qui permet de supprimer le contenu du dossier également :
rm -d -r dossier
Pour ne pas demander de confirmation et ne pas afficher de message lorsque le fichier n'existe pas, on utilise l'option -f :
rm -f fichier
Opérations sur le contenu des fichiers
Afficher un fichier
Pour afficher un fichier, on utilise la commande suivante cat :
cat fichier.txt
ligne 1 du fichier
ligne 2
On peut n'afficher que les premières lignes d'un fichier à l'aide de la commande head. Par exemple, la commande suivante n'affiche que les 20 premières lignes du fichier :
head -2 < fichier.txt
ligne 1 du fichier
ligne 2
Pour n'afficher que les dernières lignes d'un fichier, on utilise la commande
tail -1 < fichier.txt
ligne 2
Pour afficher les lignes de 10 à 20 d'un fichier :
head -20 < fichier.txt | tail -10
Copier un fichier
Pour copier des fichiers, on utilise la commande cp :
cp fichier1 fichier2
Gestion des droits
Les droits d'accès à un fichier sont appliqués à trois entités :
- le user (u)
- le groupe (g)
- les autres utilisateurs (o)
Il existe trois droits sur un fichier :
- Lecture (r)
- Écriture (w)
- Exécution (x)
Pour connaître les droits associés à un fichier, on utilise la commande ls -l :
ls -l
total 0
-rwx------+ 1 +Admin Utilis. domaine 0 Sep 26 10:27 fic1
-rwx------+ 1 +Admin Utilis. domaine 0 Sep 26 10:27 fic2
-rwx------+ 1 +Admin Utilis. domaine 0 Sep 26 10:27 fic3
-rwx------+ 1 +Admin Utilis. domaine 0 Sep 26 10:27 fic4
drwx------+ 1 +Admin Utilis. domaine 0 Sep 26 10:27 rep

Pour modifier les droits sur un fichier, on utilise la commande chmod :
chmod rwx /fichier.txt
On peut également utiliser chmod de la façon suivante pour ajouter le droit d'exécution du fichier pour l'utilisateur :
chmod u+x /fichier.txt
Révoque le droit de modification pour l'utilisateur :
chmod u-w /fichier.txt
La commande chown permet de changer le propriétaire du fichier, la commande chgrp permet de changer le groupe.
Quelques outils
Manipuler les noms de fichiers
La commande basename extraite le nom du fichier dans une arborescence :
basename /tmp/dossier/fichier.txt
fichier.txt
La commande dirname récupère le dossier uniquement :
dirname /tmp/dossier/fichier.txt
/tmp/dossier
Rechercher des fichiers
La commande find permet de rechercher des fichiers. Plusieurs critères de recherche sont possibles : Une recherche sur le nom du fichier. Les caractères génériques peuvent être utilisés : * signifie plusieurs caractères quelconques, ? signifie un caractère quelconque.
find /repertoire -name 'fichier*.*'
/repertoire/fichier1.txt
/repertoire/fichier2.txt
/repertoire/sousRepertoire/fichier3.txt
On peut ignorer la casse avec l'option iname :
find /repertoire -iname 'fichier*.*'
On peut également rechercher des fichiers en fonction de leur taille, de leur date de modification, etc. Pour plus d'informations sur cette commande, consulter le manuel.