Cours utilisation de linux connaître l’espace disque restant (df, du), tutoriel & guide de travaux pratiques Linux en pdf.
Retrouver un fichier (find et which)
Comme l’on s’en doute bien il arrive que l’on ait à retrouver un fichier dont on ne connaît plus l’emplacement ou même le nom ; Linux comprend quelques outils pour ces recherches.
La commande which permet de scruter les répertoires les plus communément utilisés (dont le chemin est indiqué dans la variable d’environnement PATH) pour retrouver le nom de fichier indiqué en argument.
Exemple : which apachectl recherchera dans tous les répertoires (du PATH) le fichier apachectl
Cette commande est surtout utile pour vérifier que l’on utilise bien la version souhaitée d’un binaire (exécutable). La commande whereis est semblable à la commande which.
La commande find :
Syntaxe : find <répertoire> <conditions> Arguments : le répertoire du début de recherche et les conditions sur des attributs du fichier.
Exemple : find /home/philippe −name \*.txt −size +100k recherchera dans le sous le répertoire de l’utilisateur Philippe tous les fichiers qui finissent par « .txt » et qui pèsent de plus de 100 kilo−octets.
Le signe | appelé pipe (ou tube) permet de relier avantageusement les commandes. L’introduction du pipe (tube) permet de combiner plusieurs commandes parmi lesquelles la commande grep.
(c) Africa Computing 2 sur 17 http://www.africacomputing.org
On peut ainsi combiner la commande find avec la commande grep afin de retrouver une chaîne de caractère dans un fichier.
Exemple : find . −name LISEZMOI | xargs grep −n LINUX recherchera à partir du répertoire courant (noté .) les fichiers de noms LISEZMOI et affichera les lignes numérotées (option −n) contenant la chaîne de caractères Linux.
Trouver du texte dans un fichier (grep)
Syntaxe : grep [options] <chaîne de caractères> <nom de fichier>
Exemple : grep −i −n pacifique *.txt affichera toutes les lignes numérotées (option −n) contenant le mot pacifique sans prendre en compte les majuscules (option −i) dans les fichiers finissant par .txt
Les liens (ln)
La création de liens symboliques (opposition aux liens physiques) évite la copie de fichiers identiques dans différents répertoires. Par exemple, si une application a besoin d’un fichier volumineux contenant des données relatives à un groupe d’utilisateurs, il est possible de l’avoir virtuellement dans les répertoires courant en créant un lien symbolique : ln −s <source> <destination>
Il n’est pas nécessaire que la source existe pour cette création au même titre que sa destruction n’altérera pas le lien mais son appel génèrera un erreur de type fichier introuvable.
Connaître l’espace disque restant (df, du)
Pour contrôler l’espace occupé et l’espace d’un disque dur (en fait d’une partition), il existe deux commandes très utiles.
La commande df renseigne sur l’espace disque total, disponible (disk free). Elle s’utilise sur tous répertoires « montés ».
Cette commande s’utilise généralement avec en argument le nom d’un fichier pour vérifier le point de montage de son répertoire.
Exemple : df ~/essai nous indiquera la partition sur laquelle est sauvegardé le répertoire essai (le ~ représente /home/).
La commande du calcule l’espace occupé (disk usage) pour un répertoire (sous entendu le répertoire et ses sous−repértoires).
L’option −k permet un affichage en kilo−octets.
Exemple : du −k −s essai affichera la liste des sous−répertoires du répertoire essai récursivement sans indiquer tous les fichiers et leur taille (option −s).
Se déplacer dans les répertoires (cd)
Lorsque vous ouvrez une session Unix avec votre login et votre mot de passe, vous vous retrouvez devant le « prompt » du shell. En fonction du shell employé, le prompt peut avoir la forme suivante :
[philippe@sirius essai] $
Le mot philippe signifie que vous vous êtes « logué » sur le compte de l’utilisateur philippe, @sirius signifie que vous êtes sur la machine qui porte le nom sirius et essai signifie que vous êtes dans le répertoire essai.
La commande cd permet de se déplacer dans les répertoires. La command ls permet d’afficher la liste des fichiers d’un répertoire.
Attention, sous les systèmes Unix, un répertoire est désigné par le symbole / ou slash et non pas par un \ ou anti−slash comme c’est le cas sous DOS.
Exemples d’utilisation de la commande cd :
$ cd / déplacement à la racine du système
$ cd /essai déplacement dans le répertoire essai de la racine
$ cd essai déplacement dans le répertoire courant essai
$ cd essai/ déplacement dans le répertoire courant essai
$ cd /usr/local déplacement dans le répertoire apache du répertoire /usr
$ cd .. recule d’une branche vers la racine
$ cd ~ déplacement dans son répertoire personnel
$ cd ~philippe déplacement dans le répertoire personnel de l’utilisateur de philipppe
Etant donné que le système mémorise le répertoire courant (répertoire dans lequel on est), on peut utiliser des noms de chemins relatifs :
$ cd /home/philippe/essai chemin absolu
$ cd essai chemin relatif
Redirections
On notera pour l’occasion, la possibilité de redirection très utile sous linux. Cette technique permet de rediriger la sortie d’une commande ou d’un programme ailleurs que vers l’écran, c’est à dire dans un fichier ou vers un autre programme. Ainsi, nous pouvons envoyer un fichier dans l’entrée d’une commande, mettre l’affichage d’une commande dans un fichier et même envoyer l’affichage d’une commande dans l’entrée d’une autre. Enfin, dans notre cas, nous pouvons envoyer un fichier dans un autre.
Avec le symbole > (signe supérieur), nous pouvons rediriger la sortie d’un programme vers un fichier.
Exemple : cal > fevrier Ici, nous envoyons l’affichage de la commande cal − le calendrier pour le mois en cours − dans le fichier nommé fevrier.
Exemple : cat > essai1.txt permet de passer dans ‘l’editeur’ cat que (l’on quitte avec ctrl+d )
Avec le symbole < (signe inférieur), nous redirigerons le contenu d’un fichier vers l’entrée d’une commande.
Exemple : mail marc < courrier envoie par courrier électronique à marc le fichier nommé courrier.
>> (supérieur supérieur) : ajoute à la fin Ce symbole permet d’ajouter l’affichage d’une commande à la fin d’un fichier, sans pour autant écraser ce qu’il y avait déjà dans le fichier. Avec un seul supérieur, le contenu du fichier
(c) Africa Computing 4 sur 17 http://www.africacomputing.org
serait remplacé par la sortie de la commande et donc ce contenu aurait été perdu.
Exemple : cat fichier1 fichier2 fichier3 >> fichier_complet
Nous ajoutons à la fin (concaténons) du fichier fichier_complet le contenu des fichiers fichier1, fichier2 et fichier3.
Rappel : | (symbole barre), réalise un tube entre deux commandes.
Ce symbole permet de faire en sorte que l’affichage d’une commande soit dirigé dans l’entrée d’une autre commande.
Modification des droits d’accès
La commande chmod permet de changer les droits d’accès d’un fichier.
Vous ne pouvez modifier les droits d’un fichier que si vous en êtes le propriétaire. Il existe une exception :
l’administrateur système root peut modifier les droits d’accès de tous les fichiers.
Syntaxe : chmod <modification des droits d’accès> <nom du fichier>
La partie est elle−même composée de 3 parties :
• les droits d’accès à modifier : u (user) pour le propriétaire, g (group) pour le groupe, o (others) pour les autres et a (all) pour tout le monde ;
• les types de modification à effectuer : − pour rajouter de nouveaux droits et + pour supprimer des droits d’accès déjà mis en place ;
• la modification individuelle des droits : r,w ou x