Les commandes pour « jouer » avec les fichiers et les dossiers
- Lister le contenu d'un répertoire
- Se déplacer dans l'arborescence de répertoires
- Créer un répertoire
- Copier un fichier ou un répertoire
- Trouver un fichier
- Déplacer ou renommer un fichier
- Supprimer un fichier
- Modifier les permissions d'accès à un fichier ou à un répertoire
- Changer le propriétaire et le groupe propriétaire d'un fichier
- Modifier le mot de passe d'un utilisateur
- Ajouter un utilisateur ou un groupe, au système
- Supprimer un utilisateur du système
Voici quelques commandes utiles pour organiser ses dossiers et ses fichiers
Lister le contenu d'un répertoire⚓
ls⚓
La commande ls permet d'obtenir beaucoup d'informations sur les fichiers et répertoires.
ExempleLister tous les répertoires et fichiers présents à l'endroit où l'on se trouve⚓
$ ls
Remarque
A la racine du système, on obtient la liste des dossiers système (exemple) :
bin boot cdrom dev devfs etc floppy home initrd lib lost+found mnt opt proc root sbin sys tmp usr var
ExempleLister tous les répertoires et fichiers présents dans un répertoire spécifique⚓
$ ls /dossier/dossier
Se déplacer dans l'arborescence de répertoires⚓
cd⚓
Tout fichier (ou répertoire...) se trouve à un endroit précis, appelé son chemin d'accès, constitué :
du nom du répertoire racine qui est présent sur tous les systèmes, donc commun à tous les chemins et par convention appelé « / » (« barre oblique », plus communément appelé slash) ou Le tout premier répertoire, , est appelé « / ». Tous les autres répertoires y prennent plus ou moins directement racine)
suivi de la série des noms des répertoires qui y mènent, deux noms consécutifs étant séparés au moyen de la barre oblique
suivie de son nom
Si un répertoire nommé « répertoire1 » contient un répertoire appelé « répertoire2 » recelant lui-même un fichier « monfichier » le chemin complet de ce dernier est : /répertoire1/répertoire2/monfichier
ExemplePour se placer dans la « racine » du système⚓
$ cd /
ExempleRevenir dans votre répertoire personnel⚓
$ cd ~
est la commande orthodoxe, toutefois cd suffit.
Truc & astuceLa commande ls⚓
La commande ls va faire la liste des répertoires et des fichiers présent dans le dossier où se situe l'utilisateur.
Créer un répertoire⚓
mkdir⚓
Pour créer un répertoire, il suffit de taper la commande suivante (ici je crée dans « /home/delcros » un répertoire nommé « personnel »):
$ mkdir personnel
ComplémentUne option de mkdir est souvent utile: mkdir -p permet de créer une suite de répertoires.⚓
Supposons que je veuille créer dans mon répertoire /home/moi
la suite de répertoires suivante : doc/mygale/mail
.
Je peux faire soit :
$ mkdir doc
$ cd doc
$ mkdir mygale
$ cd mygale
$ mkdir mail
Ou bien utiliser l'option -p qui me permet de créer la suite de répertoires « parents » le plus simplement du monde :
$ mkdir -p doc/mygale/mail
Copier un fichier ou un répertoire⚓
cp⚓
La syntaxe est:
$ cp [option] nom-fichier(s)-origine nom-fichier-ou-répertoire-destination
ExempleFaire une copie d'un fichier du répertoire où l'on se trouve nommé « linux-test » en un fichier « linux-test2 »⚓
$ cp linux-test linux-test2'''
Attention
ATTENTION: si vous effectuez une copie d'un fichier sur un autre qui existe déjà, le contenu de ce dernier sera remplacé par celui de l'autre!
ExempleCopier le fichier linux-test dans un répertoire (par exemple « /tmp »)⚓
$ cp linux-test /tmp'''
ExempleDonner un autre nom :⚓
$ cp linux-test /tmp/linux-test2'''
Trouver un fichier⚓
La commande est « find »⚓
Permet de chercher des fichiers et éventuellement d'exécuter des commandes sur ceux-ci ; la recherche est récursive c'est-à-dire qu'elle concerne le répertoire de départ et toute sa descendance (sous-répertoires ainsi que toute leur descendance ...)
RemarqueOptions les plus fréquentes :⚓
-name : Recherche d'un fichier par son nom
-iname : Même chose que -name mais insensible à la casse
-type : Recherche de fichier d'un certain type
-atime : Recherche par date de dernier accès
-mtime : Recherche par date de dernière modification
-link : Recherche du nombre de liens au fichier
-user : Recherche de fichiers appartenant à l'utilisateur donné
-group : Recherche de fichiers appartenant au groupe donné
RemarqueOpérateurs les plus fréquents :⚓
-a : Opérateur ET
-o : Opérateur OU
! ou -not : Opérateur NOT
ExempleRechercher un fichier commençant par monfichier⚓
$ find monfichier*
ExempleRechercher un fichier contenant monfichier et ayant pour extention .ogg⚓
$ find -name *monfichier*.ogg
ExempleRechercher les fichiers .odt dans un dossier et les déplacer dans un autre dossier⚓
A compléter
Déplacer ou renommer un fichier⚓
mv⚓
Pour comprendre la commande mv (penser à move), voyons une suite de commandes qui effectuent des opérations différentes:
mv perso perso écrase le fichier existant avec le fichier copié (dit « source »).
mv personnel mon-répertoire: renomme le répertoire « personnel » en « mon-répertoire ».
mv perso /home/delcros/mon-répertoire: déplace le fichier « perso » dans le répertoire /home/delcros/mon-répertoire
Exemplerenomme le fichier « linux-test » en « perso »⚓
$ mv linux-test perso
Supprimer un fichier⚓
rm⚓
Pour supprimer le fichier "linux-test2":
$ rm linux-test2
RemarqueOptions⚓
-i
comme pour cp, l'option -i permet à rm de demander à l'utilisateur s'il souhaite vraiment supprimer le ou les fichiers en question.
-r
supprime un répertoire et ses sous-répertoires (attention, c'est TRÈS dangereux)
-f
supprime les fichiers dans lesquels il est interdit d'écrire ainsi que les répertoires, sans demander une confirmation (à utiliser avec précaution...)
Modifier les permissions d'accès à un fichier ou à un répertoire⚓
chmod (Signification : change mode)⚓
Type d'autorisations (une autorisation d'exécution sur un répertoire autorise son ouverture) :
+ : Ajoute une permission
- : Enlève une permission
= : Autorise uniquement l'autorisation indiquée
r : Lecture ; Valeur octale 4
w : Ecriture ; Valeur octale 2
x : Execution ; Valeur octale 1
s : Utilise les droits du propriétaire ou du groupe lors de l'exécution
u : Propriétaire du fichier
g : Groupe propriétaire du fichier
o : Tous les autres utilisateurs
Options les plus fréquentes :
-R : Récursif, modifie les autorisations d'un répertoire et tout ce qu'il contient
-c : Ne montrer que les fichiers ayant été réellement modifiés
-f : Ne pas afficher les messages d'erreur
ExempleAjouter l'exécution (ouverture) du répertoire monRep à tous (propriétaire, groupe, autres)⚓
$ chmod ugo+x monRep
ExempleSupprimer l'autorisation d'écriture et l'exécution de monRep au groupe et aux autres⚓
$ chmod go-wx monRep
ExempleFixe l'autorisation de lecture et d'écriture au propriétaire de MonFichier et une autorisation de lecture au groupe et aux autres.⚓
$ chmod u=rw,go=r MonFichier
ExempleExactement la même chose que ci-dessus mais en utilisant les valeurs octales (Nota : 6 = 4+2 = lecture + écriture)⚓
$ chmod 644 MonFichier
ExempleFixer l'autorisation d'ouverture et de lecture de MonFichier au propriétaire, uniquement la lecture au groupe et interdit tout accès aux autres.⚓
$ chmod u=rw,g=r,o= MonFichier
ExempleExactement la même chose que ci-dessus mais en utilisant les valeurs octales⚓
$ chmod 640 MonFichier
Changer le propriétaire et le groupe propriétaire d'un fichier⚓
chown⚓
Signification : change owner
Options les plus fréquentes :
-R : Modifie récursivement un répertoire et tout ce qu'il contient
ExempleChanger le propriétaire de MonFichier en autreUtilisateur⚓
$ chown autreUtilisateur MonFichier
ExempleChanger le propriétaire en lui et le groupe propriétaire en nous du répertoire monRep ainsi que tout ce qu'il contient⚓
$ chown -R lui:nous monRep
Modifier le mot de passe d'un utilisateur⚓
passwd⚓
Signification : password
Options les plus fréquentes :
-S : Affiche l'état d'un compte (nom du compte, bloqué (L), si l'utilisateur n'a pas de mot de passe (NP) ou a un mot de passe utilisable (P), date de dernière modification du mot de passe, durée minimum avant modification, durée maximum de validité, durée d'avertissement, durée d'inactivité autorisée)
A moins d'être administrateur système ou réseau (auquel cas pourquoi lisez-vous ces lignes ;-) ?) cette commande s'utilise généralement sans option.
Exemplechanger le mot de passe⚓
$ passwd
Ajouter un utilisateur ou un groupe, au système⚓
adduser⚓
Signification : "ajouter un utilisateur" (en anglais : add user)
Options les plus fréquentes :
--disabled-login : Crée un nouvel utilisateur qui ne pourra se connecter jusqu'à ce qu'un mot de passe lui soit attribué.
--disabled-password : Comme --disabled-login sauf que le nouvel utilisateur pourra se connecter en SSH avec des clefs RSA : pratique pour créer un utilisateur qui ne se connectera que via SSH.
--system : Crée un utilisateur système.
--group tel-nom : Un groupe portant le nom fourni en paramètre est créé.
--group --system : Un groupe ayant le même nom et le même identifiant numérique que l'utilisateur système est créé.
--home tel-répertoire : Utilise "tel-répertoire" comme répertoire personnel de l'utilisateur, plutôt que la valeur par défaut. Si le répertoire n'existe pas, il est créé, et les fichiers du squelette y sont copiés.
--no-create-home : Ne crée pas de répertoire HOME.
ExempleCréer l'utilisateur toto⚓
$ adduser toto