Le petit lexique de secours pour linux

Partie une : Linux, petit tour d’horizon rapide

 

Bonjour, aujourd’hui, je vais me prendre en main et combler avec vous un manque, un fossé, un trou dans mes expériences de dev…

Lorsque l’on se lance dans le code, on est vite confronté aux serveurs de déploiement, qu’ils soient glassfish, apache, weblogic, ou autre, ceux-ci sont des serveurs sous linux/unix et il est intéressant de s’intéresser à cette environnement aussi et surtout aux moyens pour nous de manipuler nos applications directement sur ces serveurs, en cas d’erreur de déploiement automatique ou en cas de soucis de différences d’environnement.

Je vais donc simplement commencer par un rapide tour d’horizon de l’architecture linux, des commandes disponibles en console et des manipulations que nous pourrons faire, et de là nous ferons un aparté sur les batch ksh utiles dans nos applications, pour tous les processus journaliers, nous en analyserons un type.

 

  1. Architecture linux

De mon expérience, nous utilisions putty pour accéder aux serveurs et nous avions une interface graphique pour déployer nos applications, nous ne mettions que peu les mains sur la console linux, mais celle-ci est pratique pourtant pour vérifier des fichiers d’environnement, éditer, analyser et comprendre les soucis de déploiement, ou allez plus loin et modifier directement un batch afin de corriger un bug non lié à un déploiement mais à l’environnement serveur, ou analyser rapidement des logs, savoir y accéder et les lire. (Mais on ne fait pas n’importe quoi bien sûr !)

 

La racine de l’arborescence linux est signifié par le signe « / «, à partir de la racine nous pouvons voir plusieurs répertoires spécifiques :

  • bin: contient des exécutables susceptibles d’être utilisés par tous les utilisateurs de la machine, accessible par tous en sommes.
  • boot: fichiers permettant le démarrage de Linux.
  • dev: fichiers contenant les périphériques. Chaque périphérique est représenté par un fichier.
  • etc: fichiers de configuration.
  • home: répertoires personnels des utilisateurs.
  • lib: dossier contenant les bibliothèques partagées, les .so.
  • media: fichier des périphériques de stockage amovible.
  • opt: répertoire utilisé pour les add-ons des programmes.
  • proc: contient des informations système.
  • root: c’est le dossier personnel de l’utilisateur « root » ou superuser.
  • sbin: contient des programmes système importants.
  • tmp: dossier temporaire utilisé par les programmes pour stocker des fichiers.
  • usr: répertoire d’installation des programmes demandés par les utilisateurs (spécifique).
  • var: ce dossier contient des données « variables », souvent des logs

Voilà les principaux répertoires, nous aurons ensuite l’architecture de nos projets, mais sous linux/unix, car l’arborescence est la même, nous retrouvons la même base.

 

  1. La console, première partie

 

L’arrivée dans la console de linux est abrupte, car avant de nous laisser pianoter, elle nous demande de montrer patte blanche par l’entrée d’un user et d’un password, ce qui permet aussi de connaitre notre niveau d’autorisation, très différent entre un user, un superuser ou le superuser « root ».

Une fois entré, nous pouvons remarquer deux chose, par défaut nous somme sur le dossier personnel du user, le /home.

La première indique déjà pas mal de chose, elle commence par le nom du user @ son domaine, suivi de :

Nous avons ensuite le nom du répertoire actuel, ah ici c’est ~ et non home… pas de panique c’est normal, c’est juste un synonyme et signifie bien la même chose. Ensuite avant le curseur, nous avons un $ qui signifie, juste que nous sommes user et non superuser qui aurait alors été signifié par un #

Bien regardons de suite une série de commande classique :

pwd : indique le répertoire actuel et son chemin complet

ls : liste le contenu des répertoires ou le nom des fichiers passés en arguments (liste le répertoire courant si pas d’argument).

Arguments possible à ls :
-l : affichage détaillé (long)

-h : dans l’affichage détaille, indique la taille en ko, mo, go

-F : affiche le type de fichier ( / répertoire, @ raccourcis )

-a : affichage aussi des fichiers cachés dont le nom commence par un point (all)

-d : affichage du nom du répertoire et non de son contenu (directory)

-t : trie l’affichage suivant la date de modification des fichiers (time)

-r : inverse le tri d’affichage (reverse)

-R : affichage du contenu de tous les sous répertoires (recursive)

 

Petite aparté, lorsque j’affecte des attributs à une commande je peux écrire comme ceci avec ls par exemple :

Ls –l –a –t –r      ⇒ qui donne un tri par date de modification de tous les fichiers et répertoire du dossier courant , même les hidden

J’aurais très bien pu écrire la même commande ainsi :

Ls –lart                 ⇒ concaténation des paramètres ce qui est plus léger à écrire, mais parfois moins évident à comprendre.


cd : Ancêtre du dvd…. heu non permet de se déplacer dans les répertoires

cd ‘répertoire’    ⇒ va dans le répertoire indiqué

cd ..                       ⇒ recule d’un niveau

cd –                        ⇒ reviens au rép. précédent.

cd ‘chemin absolu’    ⇒ exemple : cd usr/appli/test

cd ~                       ⇒ retour au rép home sans passé par la case départ.


du : taille occupé sur le disque

du                         ⇒ taille occupé par les sous dossier et taille total du répertoire en octets.

du –h                   ⇒ taille exprimé en ko, mo, go, plus lisible donc !

du –a                   ⇒ taille des dossiers et des fichiers ( et taille totale)

du –k                   ⇒ affiche la taille en ko uniquement ( pour le tri ^^ )

du –s                   ⇒ résume en une ligne la taille des répertoires avec leurs sous-répertoires inclus. Sans cette option, tous les sous répertoires seraient aussi affichés. Il y aurait redondance, sauf si on utilise l’option S (voir ci-dessous).

du –S                    ⇒ permet d’afficher une ligne pour chaque répertoire et sous-répertoires, mais en se limitant aux seuls fichiers contenus dans les répertoires, sans récursivité. Cela permet d’observer toute l’arborescence désirée, répertoire par répertoire, sans redondance.

Voilà cette première partie se termine, je vous dit à demain pour la suite, faites comme moi si vous le pouvez n’hésitez pas à tester tout cela et si vous n’avez pas de machine sous linux à portée de main, vous pouvez très bien en créer une virtuelle sous windows avec vritualBox (lien ici).

Laissez un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

%d blogueurs aiment cette page :
Aller à la barre d’outils