Documentation
Gestion de fichiers depuis un shell
- cd - Naviguer dans les répertoires.
- cp - Copier des fichiers.
- mkdir - Créer des répertoires.
- mv - Déplacer ou renommer.
- rm - Supprimer fichiers et répertoires.
- ls - Lister le contenu des répertoires.
- cat - Afficher le contenu d'un fichier.
- more - Lire un fichier.
- stat - Afficher des statistiques détaillées.
- pwd - Connaître le chemin du répertoire actuel.
- du - Mesurer la taille des fichiers et répertoires.
- chown - Changer le propriétaire.
- chgrp - Changer le groupe propriétaire.
- chmod - Changer les permissions.
Sur un système GNU/Linux, tous les travaux de manipulations courantes sur les fichiers peuvent, s'effectuer en ligne de commandes via un terminal graphique ou un terminal Linux.
cd - Naviguer dans les répertoires
Cette commande permet de naviguer dans le système de fichier en changant de
répertoire courant. L'exemple ci-dessous permet d'aller au répertoire
qui se nomme debian:
$ cd debian
Pour remonter vers le répertoire parent:
$ cd ..
Pour se replacer dans son répertoire maison (home/utilisateur):
$ cd ou: $ cd ~
cp - Copier des fichiers
Commande de copier de fichiers ou de répertoire. L'exemple copie le fichier
commandes-2007.txt se trouvant dans le répertoire courant, vers
le répertoire Debian/Archives/
$ cp commandes-2007.txt Debian/Archives/
Copier un répertoire entier, ici la commande copie le répertoire
debian dans /home/libordux:
$ cp -a debian /home/libordux
mkdir - Créer des répertoires
mkdir de l'Anglais make a directory. Cette commande
permet de créer des nouveaux répertoires. La commande ci-dessous crée un
répertoire qui se nomme slitaz, il se créera dans le répértoite
/home de l'utilisateur courant ou dans le répertoire dans
lequel on se trouve:
$ mkdir slitaz
Création d'un répértoire qui se nomme stable dans le dossier
debian, l'utilisation de l'option -p sert à
créer des répertoires parents si nécessaire:
$ mkdir -p debian/stable
mv - Déplacer ou renommer
La commande mv est utilisée pour déplacer ou renommer des
fichiers ou des répertoires. Pour simplement déplacer un fichier vers
un répertoire, vous pouvez utiliser:
$ mv fichier.txt dir/
Pour renommer un fichier il suffit de spécifier le nouveau nom:
$ mv fichier.txt notes.txt
rm - Supprimer fichiers et répertoires
La commande rm permet de supprimer des fichiers et des
répertoires. Imaginons que nous allons supprimer le fichier
fichier.txt et qui se trouve dans le répertoire courant.
$ rm fichier.txt
On peut aussi utiliser un filtre pour supprimer uniquement les fichiers
portant la même extension. Exemple de commande supprimant tous les fichiers
.html:
$ rm *.html
Pour supprimer un répertoire complet il faut utiliser les options
-rf qui force récusivement la suppression:
$ rm -rf dossier/
La commande rmdir permet de supprimer un répertoire vide:
$ rmdir directory
ls - Lister le contenu des répertoires
La commande ls permet d'afficher le contenu d'un répertoire. Sans
options ls liste le répertoire courant, c'est le répertoire dans
lequel on se trouve:
$ ls
Afficher uniquement les noms des fichiers commençant par la lettre d:
$ ls d*
Afficher le contenu du répertoire courant en incluant les fichiers cachés:
$ ls -a
Afficher le contenu du répertoire courant en incluant les fichiers cachés. La liste obtenue contient des détails sur les fichiers tels que les permissions et la date de modification:
$ ls -al
Afficher les fichiers par date du dernier accès et affiche cette la date:
$ ls -lu
Affiche les fichiers par type. Un fichier suivi d'un slash (/) est un répertoire, un fichier suivi d'une étoile est un fichier exécutable et un fichier suivi d'un "@" est un lien:
$ ls -F
cat - Afficher le contenu d'un fichier
La commande cat permet d'afficher le contenu d'un fichier texte.
Cette commande est souvent utilisée dans les scripts SHell, elle permet aussi
d'éditer un fichier en ligne de commande. L'exemple affiche le contenu du
fichier resolv.conf qui se trouve dans le répertoire
/etc:
$ cat /etc/resolv.conf
more - Lire un fichier
La commande more permet d'afficher et lire un fichier, si
le texte à afficher est trop long pour l'écran vous pouvez utiliser la barre
d'espacement pour faire défiler le texte:
$ more /etc/passwd
stat - Afficher des statistiques détaillées
La commande stat commande permet d'obtenir des statistiques
très détaillées sur un fichier:
$ stat /etc/resolv.conf
pwd - Connaître le chemin du répertoire actuel
La commande pwd permet de connaître le chemin du répertoire
dans lequel on se trouve. Cette fonction est souvent utilisée dans les scripts
shell pour savoir depuis quel répertoire la commande est lancée. Le chemin
actuel de votre shell est aussi contenu dans la variable d'environnemnt
$PWD:
$ pwd ou: $ echo $PWD
du - Mesurer la taille des fichiers et répertoires
La commande du permet de mesurer et d'afficher la taille
d'un répertoire. Par défaut du mesure le répertoire depuis
lequel il est exécuté:
$ du -sh
Sans options du mesure l'espace occupé par le répertoire courant
et ses sous-répertoires:
$ du
chown - Changer le propriétaire
Commande réservée à root et au propriétaire actuel des fichiers ou des répertoires. L'option -R (récursif) permet d'agir sur l'ensemble des sous-répertoires:
$ chown -R libordux /mnt/data/chemin ou: $ chown libordux *.sh
chgrp - Changer le groupe propriétaire
Cette opération doit être effectué par root ou le propriétaire, à condition
que celui-ci soit membre du nouveau groupe. L'administrateur root n'est soumis
à aucune restrictions, il a le pouvoir absolu sur le système de fichiers.
Pour connaître les groupes d'un utilisateur, on peut utiliser la commande
groups ou id -Gn. Utilisation de chgrp:
$ chgrp [option] groupe fichier exemple: $ chgrp music /home/user/musique ou récusivement: $ chgrp -R music /home/user/musique
chmod - Changer les permissions
Sous GNU/Linux tous les fichiers et les répertoires ont un propriétaire, un groupe, et des droits d'accès. L'utilisateur qui crée un fichier en devient le propriétaire et le groupe auquel appartient cet utilisateur devient le groupe du fichier. L'administrateur root a tous les droits sur tous les fichiers.
Lister les permissions
Pour connaître les droits des fichiers d'un répertoire vous pouvez
utiliser la commande cd pour vous déplacer et la commande
ls -l pour lister le contenu du répertoire:
$ cd ~ $ ls -l
drwxr-xr-x 4 leks leks 4096 2006-02-08 14:27 debian-l10n-french drwx------ 14 leks leks 4096 2006-02-10 21:54 Documents -rwxr--r-- 1 leks leks 488 2006-02-11 18:55 greybar.jpg drwxr-xr-x 5 leks leks 4096 2006-02-14 19:54 Libordux -rw-rw-r-- 1 leks leks 39 2006-02-06 09:29 notes.txt drwxr-xr-x 3 leks leks 4096 2006-02-06 16:35 Public
Le premier caractère d signifie qu'il s'agit d'un répertoire,
le - signifie qu'il s'agit d'un fichier, et le l
un lien. Ensuite il y a 3 groupements de 3 caractères tel que
drwxr-xr-x soit neuf caractères au total pour les permissions.
Le r signifie lecture, le w écriture et le
x éxécutable. Pour les répertoires, x correspond à
l'accès au répertoire.
Utiliser chmod
Les droits d'accès peuvent être modifiés par root (uid 0) qui a toutes les
permissions, ou par le propriétaire des fichiers. La commande
chmod change le "mode" des fichiers. Chaque fichier est désigné
par u, g et o pour les 3 catégories
d'utilisateurs (user, group, other). Le a (all) signifie tous
les utilisateurs. L'action d'ajouter, de retirer ou de fixer un droit se fait
avec , -, et =. Les 3 attributs
r, w, x sont utilisé pour spécifier
les permissions de lecture, écriture et éxécution d'un fichier.
Pour ajouter le droit d'exécution au propriétaire du fichier:
$ chmod u x script.sh
On peut regrouper les catégories d'utilisateus, si on veut exercer la même action sur le fichier. Pour ajouter le droit d'exécution au propriétaire et au groupe:
$ chmod ug x script.sh
L'option -R (récursif) de chmod permet de modifier les
permissions de tous les sous-répertoires. Il est aussi possible d'utiliser
des chiffres pour changer les droits. Exemple pour rendre un script éxécutable
par tous:
$ chmod 777 script.sh


