Le Shell est la liaison la plus élémentaire entre vous (utilisateur) et le système d'exploitation.
Vous tapez des commandes qui seront interprétées par le shell et transmises au système d'exploitation.
Sous Linux, lorsque vous allez sur une console/terminal, vous avez au prompt soit le symbole $ soit le symbole #.
Le symbole $ signifie que vous êtes sous Linux en tant qu'utilisateur, donc, vous avez le droit à certains privilèges.
Le symbole # signifie que vous êtes administrateur, dans ce cas, vous avez tous les droits, même de détruire vos fichiers propres à Linux.
Nota: pour passer du mode utilisateur à super utilisateur (administrateur), il suffit de taper la commande su - puis tapez sur la touche [ Entrée ].
Ensuite un mot de passe vous sera demandé, bien évidemment c'est celui de l'administrateur.
su: Se loguer en administrateur ou en utilisateur, cette commande permet de se loguer en administrateur en étant utilisateur, grâce à la commande su.
Nota: si vous utilisez la commande su, il est bien évident que vous devez connaître le mot de passe de l'administrateur.
exit: Quitter un utilisateur ou un mode super utilisateur, si vous êtes sur le prompt # (mode administrateur) et que voulez revenir au prompt utilisateur $, il vous suffit de taper la commande suivante exit puis la touche entrée.
whoami : Identifie l'utilisateur, cette commande whoami permet d'identifier l'utilisateur actuellement connecté.
Remarque: toutes les commandes précédemment vues ont un manuel d'utilisation
La commande man (Manuel d'utilisation d'une commande), lorsque vous tapez man + le nom de la commande désirée, vous accédez à une pléthore d'informations et très souvent des exemples de commandes
Pour spécifier un nom de fichier, il est possible de donner soit son chemin relatif, soit son chemin absolu.
Le chemin absolu: commence par la racine, notée / et indique le chemin à parcourir depuis celle-ci jusqu'au répertoire ou fichier désiré.
Exemple: cd /home/integ/public
Le chemin relatif: commence par un nom de fichier ou de répertoire, ou éventuellement par un des 3 caractères spéciaux du shell : [ . .. ~ ]
Reprenons le cas de cd /home/integ, et maintenant je veux aller dans le répertoire public, en chemin relatif il suffit de taper cd public.
Passons maintenant aux 3 caractères spéciaux:
Exemple: je suis dans le répertoire suivant $cd /home/integ/public, si je tape la commande cd .., je me retrouve maintenant dans le répertoire /home/integ.
Exemple: Imaginons que vous êtres dans le répertoire /etc, lorsque vous tapez les commande cd ~ ou cd, vous retournerez automatiquement sur le répertoire /home/integ (dans le cas ou l'utilisateur s'appelle integ).
La commande cd permet de se déplacer dans les répertoires.
Exemple: integ@ubuntu:$~ cd /dev(Se dépljusqu'au répertoire /dev)
Lorsque l'on se déplace dans les répertoires, si votre chemin n'est pas indiqué au bout d'un moment, on ne sait plus dans quel endroit de l'arborescence on est, pour cela il suffit de taper la commande pwd puis sur Entrée, vous verrez votre chemin apparaître.
La commande ls et ses très nombreuses options vous permettront d'obtenir beaucoup d'informations sur vos fichiers présents dans les répertoires
Voici quelques options:
Commande | Option |
---|---|
ls -a | Liste tous les fichiers du répertoire y compris les fichiers cachés. |
ls -a | Liste tous les fichiers du répertoire y compris les fichiers cachés. |
ls -l | Permet de lister les attributs des fichiers (les droits de lecture, d'écriture et d'exécution. |
ls -m | Affiche les fichiers en les séparant d'une virgule au lieu de les présenter en colonnes. |
ls -t | Affiche les fichiers par date, c'est à dire en les classant du plus récent au plus ancien. |
ls -lu | Affiche les fichiers par date de dernier accès et indique cette date. |
ls -f | Affiche les fichiers par type. Ainsi 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 -s | Affiche les fichiers triés par taille décroissante. |
ls -x | Affiche les fichiers par type d'extension. |
ls -r | Affiche les fichiers par ordre alphabétique inverse. Cette option a la particularité d'inverser l'effet de tous les tris requis. |
Nota: en tapant la commande suivante integ@ubuntu:$~ ls –lisa, vous trouverez toutes les informations nécessaires à votre fichier.
cat: La commande cat permet de lire des fichiers (Tous les fichiers texte), une option utile est cat -n, elle permet de numéroter les lignes
Nota: La commande cat permet seulement de lire un fichier.
more: La commande more a les mêmes fonctions que la commande cat, la seule chose qui diffère c'est le mode page à page.
Pour passer d'une page à une autre, tapez sur la touche espace, pour passer d'une ligne à une autre taper sur la touche Entrée ].
La syntaxe de la commande cp est: cp[option] fichier répertoire(source / Destination)
Exemple: integ@ubuntu:$~ cp /home/integ/fic.txt /tmp (Copie le fichier /home/integ/fic.txt dans le répertoire /tmp)
Voici les options:
Commande | Option |
---|---|
cp -i | Avertit l'utilisateur de l'existence d'un fichier du même nom et lui demande s'il peut ou non remplacer son contenu, cp vous pose une question si vous voulez écrasez le fichier.Liste tous les fichiers du répertoire y compris les fichiers cachés. |
cp -b | Permet comme l'option -i de s'assurer que la copie n'écrase pas un fichier existant :le fichier écrasé est sauvegardé, seul le nom du fichier d'origine est modifié et cp ajoute un tilde(~) à la fin du nom du fichier. |
cp -l | Permet de faire un lien dur entre le fichier source et sa copie. Cela signifie que le fichier copié et sa copie partageront physiquement le même espace. Cela permet des gains de place non négligeables. Plus exactement, sur le disque dur le fichier et sa copie seront le même fichier alors qu'avec une copie classique, le disque dur contiendra deux exemplaires du fichier. |
cp -s | Permet de faire un lien symbolique entre le fichier source et sa copie. Le lien symbolique est un pointeur. |
cp -p | Permet lors de la copie de préserver toutes les informations concernant le fichier comme le propriétaire, le groupe, la date de création. |
cp -r | Permet de copier de manière récursive l'ensemble d'un répertoire et de ses sous-répertoires. Remarque: Il n'existe pas de commande pour copier un répertoire seul la commande cp -r permet de copier un répertoire vers un autre emplacement. Exemple: integ@ubuntu:$~ cp -r /home/integ/fic /tmp/fic |
cp -v | Permet d'afficher le nom des fichiers copiés (verbose). |
Attention: Pour la suppression des fichiers, je vous conseille de vous loguer en utilisateur si cela n'est pas déjà fait.
La commande rm permet de supprimer un fichier par exemple integ@ubuntu:$~ rm /tmp/fic.txt, cette suppression est définitive, soyez sûr de votre suppression de fichier.
Voici les options:
Comme pour l'option cp, l'option rm -i permet à rm de demander à l'utilisateur s'il souhaite vraiment supprimer le ou les fichiers.(Il suffit de répondre oui ou non).
Commande | Option |
---|---|
rm -d | Permet de supprimer un répertoire qu'il soit plein ou non. |
rm -r | Permet de supprimer un répertoire et ses sous-répertoires.
|
rm -rf | Permet de supprimer un répertoire et ses sous-répertoires.
|
Pour créer un répertoire, il suffit de taper la commande
integ@ubuntu:$~ mkdir /home/integ/file(vous venez de créer un répertoire dont le nom est file).Une option intéressante, imaginons dans le répertoire file vous voulez créer un répertoire option et pour finir dans le répertoire option vous voulez créer un répertoire temp.
Eh bien l'option -p permet de tout faire en une ligne, en voici l'exemple:
integ@ubuntu:$~ mkdir -p /home/integ/file/option/temp.
Pour comprendre la commande mv, voyons une suite de commande.
Exemple:
integ@ubuntu:$~ mv fic fichier (Renomme le fichier fic en fichier).
integ@ubuntu:$~ mv fichier fichier (Ecrase le fichier existant avec la source).
integ@ubuntu:$~ mv fichier fic(Renomme le répertoire fichier en fic).
integ@ubuntu:$~ mv fic /home/integ/tmp (Va déplacer le fichier fic dans le répertoire /home/integ/tmp).
Voici les options:
Commande | Option |
---|---|
mv -b | (b comme backup) va effectuer une sauvegarde des fichiers avant de les déplacer. |
mv -i | (i comme interactive) demande pour chaque fichier et chaque répertoire s'il peut ou non déplacer les fichiers et les répertoires... |
mv -u | (u comme update) demande à mv de ne pas supprimer le fichier si sa date de modification est la même ou est plus récente que son remplaçant. |