linux:exemple_alias
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| linux:exemple_alias [2017/08/18 21:55] – pascal | linux:exemple_alias [2017/08/19 13:21] (Version actuelle) – [Partie 3 : snapshot switch (NetApp)] pascal | ||
|---|---|---|---|
| Ligne 51: | Ligne 51: | ||
| ==== Partie 2 : arch. switch ==== | ==== Partie 2 : arch. switch ==== | ||
| + | |||
| + | Petite explications sur la signification des codes : | ||
| + | | win | A | 061 | | ||
| + | | OS | architecture | version | | ||
| + | |||
| + | | code | signification | | ||
| + | | winX051 | Windows XP 32bit | | ||
| + | | winA052 | Windows XP 64bit | | ||
| + | | winA061 | Windows 7 64bit | | ||
| + | | rheA060 | Red Hat Enterprise Linux 6.0 64bit | | ||
| Ces alias facilitent la navigation entre des répertoires qui ont la même structure.\\ | Ces alias facilitent la navigation entre des répertoires qui ont la même structure.\\ | ||
| Ligne 90: | Ligne 100: | ||
| Agissent comme une bascule : //prod// permet de passer de //test// vers //prod// et inversement pour //test//.\\ | Agissent comme une bascule : //prod// permet de passer de //test// vers //prod// et inversement pour //test//.\\ | ||
| - | Pour naviguer de ''/ | + | Pour naviguer de ''/ |
| <code bash> | <code bash> | ||
| Ligne 101: | Ligne 111: | ||
| </ | </ | ||
| - | //sed// remplace | + | * //sed// remplace |
| + | * **si** ce répertoire existe | ||
| === ALIAS winX051, winA052, winA061, rheA060 === | === ALIAS winX051, winA052, winA061, rheA060 === | ||
| - | Petite explications sur la signification de ces codes:\\ | + | Si on veut passer de ''/ |
| - | * win -> Windows | + | |
| - | * rhe -> Red Hat Enterprise Linux | + | |
| - | * X -> architecture x86 (32bit) | + | |
| - | * A -> architecture AMD64 (64bit) | + | |
| - | * 051 -> version de l'OS | + | |
| - | winX051 correspond donc à Windows XP 32bit, winA052 Windows XP 64bit, winA061 Windows 7 64bit, rheA060 Red Hat Enterprise Linux v6.x | + | |
| - | + | ||
| - | Si on veut passer de ''/ | + | |
| <code bash> | <code bash> | ||
| Ligne 129: | Ligne 132: | ||
| fi' | fi' | ||
| </ | </ | ||
| - | on recherche | + | |
| - | si on trouve | + | * // |
| - | si le répertoire existe on s'y rend\\ | + | * **si** //grep// a trouvé |
| - | si on a rien trouvé au premier test on se rend directement dans ''/ | + | * **si** le répertoire existe on s'y rend avec //cd//\\ |
| + | | ||
| + | |||
| + | ==== Partie 3 : snapshot switch (NetApp) ==== | ||
| + | |||
| + | Ces alias permettent de naviguer entre les snapshots.\\ | ||
| + | Les snapshots étant à la racine des volumes et les volumes tous montés dans le même répertoire alors le dossier .snapshot sera donc toujours en troisième position ''/ | ||
| + | |||
| + | === ALIAS snapin, snapout === | ||
| + | |||
| + | Permet d' | ||
| + | |||
| + | == Illustration d' | ||
| + | |||
| + | <code bash> | ||
| + | $ pwd | ||
| + | / | ||
| + | $ snapin | ||
| + | $ pwd | ||
| + | / | ||
| + | </ | ||
| + | |||
| + | === ALIAS hourly, nightly, weekly === | ||
| + | |||
| + | Même principe, on navigue entre les snapshots hourly, nightly et weekly. | ||
| + | |||
| + | == Illustration d' | ||
| + | |||
| + | <code bash> | ||
| + | $ pwd | ||
| + | / | ||
| + | $ nightly | ||
| + | $ pwd | ||
| + | / | ||
| + | </ | ||
| + | |||
| + | === ALIAS snap+, snap- === | ||
| + | |||
| + | Toujours la même chose, on navigue en incrémentant ou décrémentant le snapshot dans lequel on est. | ||
| + | |||
| + | == Illustration d' | ||
| + | |||
| + | <code bash> | ||
| + | $ pwd | ||
| + | / | ||
| + | $ snap+ | ||
| + | $ pwd | ||
| + | / | ||
| + | </ | ||
| + | |||
| + | === Mise en situation === | ||
| + | |||
| + | Le but est de retrouver dans les snapshots un fichier qui a été effacé et qui se nomme " | ||
| + | |||
| + | == Les commandes sans l' | ||
| + | |||
| + | <code bash> | ||
| + | $ pwd | ||
| + | / | ||
| + | $ cd ../ | ||
| + | $ ls | ||
| + | hourly.0 hourly.1 hourly.2 hourly.3 hourly.4 nightly.0 nightly.1 nightly.2 | ||
| + | $ cd nightly.0/ | ||
| + | $ ls | ||
| + | fichier.txt | ||
| + | $ cd ../ | ||
| + | $ ls | ||
| + | fichier.txt fichier_effacé.txt | ||
| + | $ cp fichier_effacé.txt / | ||
| + | $ cd / | ||
| + | </ | ||
| + | |||
| + | == La commande avec l' | ||
| + | |||
| + | <code bash> | ||
| + | $ pwd | ||
| + | / | ||
| + | $ snapin | ||
| + | $ pwd | ||
| + | / | ||
| + | $ nightly | ||
| + | $ pwd | ||
| + | / | ||
| + | $ ls | ||
| + | fichier.txt | ||
| + | $ snap+ | ||
| + | $ pwd | ||
| + | / | ||
| + | $ ls | ||
| + | fichier.txt fichier_effacé.txt | ||
| + | $ cp fichier_effacé.txt / | ||
| + | $ snapout | ||
| + | $ pwd | ||
| + | / | ||
| + | </ | ||
| + | |||
| + | == Explications des alias == | ||
| + | |||
| + | <code bash> | ||
| + | alias snapin=' | ||
| + | pwd | grep -qe "/ | ||
| + | if [ $? -ne 0 ]; | ||
| + | then | ||
| + | s1=`pwd | cut -d/ -f-3`; | ||
| + | s3=`pwd | cut -d/ -f4-`; | ||
| + | dir=" | ||
| + | if [ -d " | ||
| + | then | ||
| + | cd " | ||
| + | fi; | ||
| + | fi' | ||
| + | </ | ||
| + | |||
| + | * //grep// recherche par expressions régulières '/ | ||
| + | * **si** //grep// n'a rien trouvé **alors**\\ | ||
| + | * //cut// découpe le répertoire courant en prenant le caractère '/' | ||
| + | * //cut// découpe le répertoire courant en prenant le caractère '/' | ||
| + | * on crée une chaîne de caractère ' | ||
| + | * **si** ce dossier existe **alors** on s'y rend avec //cd//. | ||
| + | |||
| + | <code bash> | ||
| + | alias nightly=' | ||
| + | pwd | grep -qe "/ | ||
| + | if [ $? -eq 0 ]; | ||
| + | then | ||
| + | dir=`pwd | sed " | ||
| + | if [ -d " | ||
| + | then | ||
| + | cd " | ||
| + | fi; | ||
| + | fi' | ||
| + | </ | ||
| + | |||
| + | * //grep// recherche avec une expression régulière "/ | ||
| + | * **si** quelque chose est trouvé **alors** //sed// remplace " | ||
| + | * **si** ce répertoire existe **alors** on s'y rend avec un //cd//. | ||
| + | |||
| + | <code bash> | ||
| + | alias snap+=' | ||
| + | [[ `pwd` =~ (.*\.snapshot/ | ||
| + | dir=" | ||
| + | if [ -d " | ||
| + | then | ||
| + | cd " | ||
| + | fi' | ||
| + | </ | ||
| + | |||
| + | * **si** //bash// trouve dans le répertoire courant (//pwd//) " | ||
| + | * //bash// numérote ses variables en suivant les parenthèses ouvrantes dans l' | ||
| + | * **et** on crée une chaîne avec ce que //bash// a trouvé | ||
| + | * '< | ||
| + | * ''< | ||
| + | * '' | ||
| + | * ''< | ||
| + | * ''< | ||
| + | * **si** le répertoire créé avec la chaîne " | ||
linux/exemple_alias.1503086129.txt.gz · Dernière modification : 2017/08/18 21:55 de pascal
