La manipulation de fichiers signifie ici copier, déplacer et effacer des fichiers. Le changement de leurs attributs (propriétaire, permissions associées) sera examiné par la suite.
mkdir (MaKe DIRectory) est utilisé pour créer des répertoires. Sa syntaxe est simple :
mkdir [options] <répertoire> [répertoire ...]
En fait, une seule option est vraiment intéressante :
l'option -p
. Si cette option est passée en argument,
elle implique deux comportements :
mkdir créera les répertoires parents s'il n'existaient pas avant. Sans cette option, mkdir échouerait, et signalerait que les répertoires parents n'existent pas ;
mkdir terminera silencieusement
si le répertoire que vous désirez créer existe déjà. De même, si
vous ne spécifiez pas l'option -p
, mkdir
renverra un message d'erreur, signalant cette fois-ci que le
répertoire à créer existe déjà.
Initialement, la commande touch n'a pas pour but de créer des fichiers mais de mettre à jour les dates d'accès et de modification[15]. Toutefois, l'un des effets de bord de touch est de créer les fichiers mentionnés comme des fichiers de taille 0 s'ils n'existaient pas déjà. La syntaxe est :
touch [options] fichier [fichier...]
Il faut donc lancer la commande :
touch fichier1 images/fichier2
ce qui créera un fichier
vide appelé fichier1
dans le répertoire
courant et un fichier vide appelé fichier2
dans le répertoire images
, si ces fichiers
n'existaient pas déjà.
rm (ReMove) remplace les commandes del et deltree de DOS, et rajoute des options supplémentaires. Sa syntaxe est :
rm [options] <fichier|répertoire> [fichier|répertoire...]
Parmi les options, on trouve :
-r
ou
-R
: supprime récursivement.
Cette option est obligatoire pour supprimer
un répertoire, même vide. Toutefois, pour effacer des
répertoires vides, vous pouvez également utiliser la commande
rmdir.
-i
: demande
une confirmation avant chaque effacement. Notez que, par
défaut et pour des raisons de sécurité, la commande
rm dans Mandriva Linux est un
alias de
rm -i (comme le sont également les commandes
cp et mv). Si vous désirez
les effacer, vous pouvez éditer le fichier
~/.bashrc
et ajouter la ligne
suivante : unalias rm cp mv
.
-f
: contrairement à-i
, cette option force la
suppression des fichiers ou répertoires, même si l'utilisateur
n'a pas l'autorisation d'écriture sur les fichiers[16].
rm -i images/*.jpg
fichier1 : suppression de tous les fichiers dont
le nom se termine par .jpg
dans le
répertoire images
, ainsi que le fichier
fichier1
dans le répertoire courant. Une
confirmation est demandée pour chacun des fichiers. Répondez
o ou y pour confirmer,
n pour annuler.
rm -Rf images/divers/
file* : suppression sans demande de confirmation
de tout le répertoire divers/
dans le
répertoire images/
. De plus, tous les
fichiers du répertoire courant dont le nom commence par
file
seront également effacés.
La syntaxe de la commande mv (MoVe) est la suivante :
mv [options] <fichier|répertoire> [fichier|répertoire ...] <destination>
Notez que lorsque vous déplacez plusieurs fichiers à la fois, la destination doit être un répertoire. Pour renommer un fichier, il suffit de le déplacer vers le nouveau nom.
-f
: force
l'opération. Aucun avertissement en cas d'écrasement d'un
fichier au cours de l'opération.
-i
: demande une confirmation à l'utilisateur avant
d'écraser un fichier existant.
-v
: mode
verbeux
(verbose) qui
rapporte tous les changements.
mv -i /tmp/pics/*.png
. : déplace tous les fichiers du répertoire
/tmp/pics/
dont le nom se termine par
.png
vers le répertoire courant
(.
). Une confirmation est demandée avant
d'écraser un fichier existant.
mv toto
titi : renomme le fichier (ou le répertoire)
toto
en titi
. Si un
répertoire titi
existait déjà, l'effet de
cette commande serait de bouger tout le répertoire
toto
(le répertoire lui-même avec tous ses
fichiers et sous-répertoires) dans le répertoire
titi
.
mv -vf fichier* images/
trash/ : déplace, sans demander de
confirmation, tous les fichiers dans le répertoire courant
dont le nom commence par fichier
, ainsi
que tout le répertoire images/
vers le
répertoire trash/
. Tous les changements
effectués sont mentionnés.
cp (CoPy) remplace les commandes copy et xcopy de DOS mais contient d'autres options. Sa syntaxe est la suivante :
cp [options] <fichier|répertoire> [fichier|répertoire ...] <destination>
Voici ses options les plus communes
cp -i /tmp/images/*
images/ : copie tous les fichiers du répertoire
/tmp/images
dans le répertoire
images/
du répertoire courant, en
demandant une confirmation avant d'écraser un fichier.
cp -vR docs/ /shared/mp3s/*
mestrucs/ : copie tout le répertoire
docs
du répertoire courant, en plus de tous
les fichiers du répertoire /shared/mp3s
dans le répertoire mestrucs
, lequel est
situé dans le répertoire courant.
cp toto
titi : copie le fichier toto
sous le nom de titi
dans le répertoire
courant.
[15] Il y a trois mesures de temps distinctes pour
chaque fichier sous UNIX : la date du dernier accès
au fichier (atime
), c'est-à-dire la date de
la dernière ouverture du fichier en lecture ou en
écriture ; la date de la dernière modification des
attributs de l'inœud (ctime
) ; et
enfin la date de la dernière modification du contenu du fichier
(mtime
).
[16] Pour un utilisateur, il est suffisant de pouvoir écrire dans un répertoire pour en effacer des fichiers, même s'il n'en est pas le propriétaire.