- 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
- 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
- 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
- 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
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
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 {} \;
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 ]