Outils pour utilisateurs

Outils du site


linux:fichiers_dossiers

Gestion des répertoires :

- Afficher le répertoire courant (celui dans lequel on se trouve):

 pwd

- La commande mkdir permet de créer un répertoire :

 mkdir repertoire

- l'option -m permet de spécifier des droits comme avec chmod à la création du répertoire : 

 mkdir -m 700 repertoire

- Se déplacer dans un dossier :

 cd repertoire1

- Se déplacer dans le dossier précédent :

 cd ..

- Aller dans le dossier de l'utilisateur (exemple : utilisateur nicolo ⇒ /home/nicolo)

 cd
 ou
 cd ~

- La commande rmdir permet de supprimer un répertoire :

 rmdir repertoire

Copier le dossier site dans le dossier /var/www

 cp -a site /var/www

Gestion des fichiers :

- La commande ll regroupe les option -alF elle est à créé

 alias 'll=ls -alF'

- La commande ls permet de lister le contenu d'un répertoire. Sans options ls liste le contenu du répertoire dans lequel on se trouve:

 ls

- Afficher uniquement les fichiers commençant par la lettre s :

 ls s*

- Voyons les options de ls :
- 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. et les détails sur les fichiers comme les permissions et la date de dernière modification:

 ls -al

- Afficher les fichiers ordonnés par date du dernier accès et afficher 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
Un fichier suivi d'un “@” est un lien:

 ls -F

- Copier le fichier  test.txt dans le dossier /var/www

 cp test.txt /var/www
 ls /var/www

test.txt
- Déplacer le fichier test.txt dans le dossier ./var/www

 mv test.txt /var/www

- Renommer le fichier test.txt en test2.txt

 mv test.txt test2.txt

- Supprimer un fichier avec rm :

 rm test.txt

- Supprimer tous les fichier txt :

 rm *.txt

Supprimer un dossier et tout son contenu : 

 rm -rf dossier/

l'option -r permet d'effacer le contenu du dossier (recursive) et l'option -f permet de 'forcer' la suppression
- Afficher le contenu d'un fichier : 

 cat /var/log/messages

- Afficher les 20 premières lignes d'un fichier : 

 head -n 20 /var/log/messages

- Afficher les 20 dernières lignes d'un fichier : 

 tail -n 20 /var/log/messages

- Afficher les lignes d'un fichier contenant “toto” : 

 grep toto /var/log/messages

une variante : 

 cat /var/log/messages | grep toto

- Afficher les 20 premières lignes d'un fichier contenant “toto” : 

 grep toto /var/log/messages | head -n 20

- Afficher un fichier log en live (suivre le déroulement en direct)

 tail -f /var/log/syslog

Droit sur fichiers et dossiers

chown

- Changement de proprietaire (chown nomdugroupe:nomduuser) Pour exécuter cette commande vous devez être le propriétaire du fichier ou être logué en root.

  chown group:user fichier.txt ou dossier 

chmod

- La commande chmod permet de changer les droits d'un fichier ou d'un répertoire. Pour exécuter cette commande vous devez être le propriétaire du fichier ou être logué en root.
- Rendre un fichier executable

 chmod +x fichier

- Ajouter les droits d'écriture au propriétaire (user, write)

 chmod u+w fichier ou dossier

- Ajouter les droits de lecture au groupe du fichier (group, read)

 chmod g+w fichier ou dossier

- Supprimer les droits d'exécution aux autres utilisateurs (other, execution)

 chmod o-x fichier ou dossier

- Dossier Ajouter les droits de lecture / écriture à tous (all)

 chmod a+rw 

- Ajouter les droits de lecture et d'exécution à tout ce que contient le repertoire dossier.

 chmod -R a+rx 

- Tous les droits pour le propriétaire (7xx), lecture et ecriture pour le groupe (x6x) et lecture uniquement pour les autres (xx4).

 chmod 764 dossier 
 - Donner au propriétaire tous les droits (7xx), alors que seuls les droits de lecture et d'accès seront donnés aux autres (x55). Grace à l'option -R ces droits seront appliqués à tous les fichiers et dossiers contenus dans ce répertoire.
 chmod -R 755 dossier 

Recherche avec GREP

La commande grep permet de rechercher une chaîne de caractères ou un motif dans un fichier. Quelques options :
-v: affiche les lignes ne contenant pas la chaîne.
-c: compte le nombre de lignes contenant la chaîne.
-n: retourne les lignes préfixées par leur numéro.
-x: ligne correspondant exactement à la chaîne.
-l: affiche le nom des fichiers qui contiennent la chaîne.
- Recherche l’occurrence 'text' dans le fichier foo.txt.

 grep 'text' foo.txt

- Recherche toutes les occurrences de 'foobar' dans le repertoire /project.

 grep -nri 'foobar' /project 

- Recherche toutes les occurrences à 'foo', 'bar' et 'baz' dans le repertoire /project.

 grep -nri '\(foo\|bar\|baz\)' /project 

Recherche et modifs avec FIND

La commande find permet de chercher des fichiers et éventuellement d'exécuter des commandes dessus. Quelques options : -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
-user: Recherche de fichiers appartenant à l'utilisateur donné
-group: Recherche de fichiers appartenant au groupe donné
-size: Recherche par rapport à une taille de fichier.
-exec: Exécute la commande donnée aux fichiers trouvés.
-a: Opérateur ET
-o: Opérateur OU
! ou -not: Opérateur NOT
- Rechercher un fichier commençant par “myfile”

 find myfile* -print 

- Rechercher un fichier contenant “myfile” et ayant pour extention “.txt”

 find -name *myfile*.txt -print 

- Afficher tous les répertoires de /usr

 find /usr -type d -print 

- Afficher tous les fichiers .txt ou .pdf dans le répertoire home de l'utilisateur.

 find $HOME \( -name '*.txt' -o -name '*.pdf' \)

- Supprimer tous les fichiers .txt qui n'ont pas été consultés depuis plus de 7 jours dans le répertoire home de l'utilisateur.

 find $HOME -name *.txt -atime +7 -exec rm {} \; 

- Afficher la taille de tous les fichiers de plus de 4 kilos

 find $HOME -name '*.txt' -size +4k -exec ls -l {} \; 

- Suppression de fichiers 0 octets

 find /chemin/dossier -type f -size 0 -delete

- Suppression de fichiers par type (ex: .gz) de plus de 1 mois

 find /chemin/dossie -type f -name "*.gz" -mtime +60 -exec rm -f {} \;

Vérification avec TEST

La commande test permet comparer des chaines de caractères, des nombres et vérifier certaines propriétés de fichiers. Il est possible de simplifier son écriture en la remplaçant par des crochets [ ].
- Tester si le fichier foo.txt existe.

 test -e foo.txt 

- Tester que foo soit un répertoire.

 test -d foo 

- Tester si le fichier est accessible en écriture.

 test -w foo.txt

- Tester si le fichier est exécutable.

 test -x foo.txt 

- Vérifier que la chaine string1 n'est pas égale à string2.

 [ "string1" != "string2" ] 

- Vérifier que le nombre int1 est inférieur à int2.

 [ int1 != int2 ] 
linux/fichiers_dossiers.txt · Dernière modification : 2022/06/24 10:15 de michel