• Accueil
  • Blog Photo
  • Blog d'Emma
  • Blog de Croucrou
  • Galeries photos
Croucrou.com

Informatique

  • Mémo Linux
  • Mémo SQL

Chateaux

  • Châteaux de la Haute-Vienne
    • Chalucet
    • Nexon

Photo

  • Photographe à limoges
  • Photographe de mariage à limoges
  • Blog Photo
  • Photos de mariages
  • Naissance / Enfants
  • Livre Photo
  • Animaux de companie
  • Tarifs

Voyages

  • Ecosse 2009

Blogs

  • Blog de Croucrou
  • Blog d'Emma

A Propos

  • Liens
  • Qui suis-je
  • Agenda
  • Contact

Informatique

blabla

Détails
Catégorie parente: Informatique
blalba

Mémo SQL

Détails
Catégorie parente: Informatique

Voici un mémo SQL que j'ai réalisé grâce à mon expérience. Vous pourvez l'imprimer grâce à l'icône prévu pour cette effet. SI parmi les nombreuses lignes de ce mémo vous décelez des erreurs merci de m'en informer pour que je corrige mes bévues.

Mémo SQL (version 1.0 28/03/2001)

 

 

Sélection : SELECT
SELECT nom_colonne
FROM nomtable;
Affiche tous le enregistrements de la table nomtable
 
SELECT *
FROM nomtable;
Affiche tous le enregistrements de la table nomtable
 
SELECT nom_colonne1, nom_colonne2
FROM nomtable;
Affiche tous le enregistrements de la table nomtable mais seulement pour les colonnes nom_colonne1, nom_colonne2
 
Opérateurs
+ - * /
SELECT nom_col+50
FROM nomtable;
Les opérateurs on des priorités normale. on peut modifier ces priorités à l'aide de parenthèses
 
Alias
SELECT nom_col1 AS "nom_affiche colonne",
nom_col2 "nom_affiche colonne2"
FROM nomtable;
AS est un alias qui permet de renommer une colonne a l'affichage
on remarque sur la deuxième ligne que la présence de AS n'est pas obligatoire
les " " sont optionnelle mais elles permettent de conserver la casse et les espaces
 
Concaténation (SQL*PLUS ORACLE)
SELECT nom_col1||nom_col2
FROM nomtable;
Concaténe les deux colonnes.
 
SELECT nom_col1||'est un '||nom_col2
FROM nomtable;
Concaténe les deux colonnes en rajoutant la chaîne de caractère au milieux.
on notera que l'on peut utiliser un alias pour donner un titre plus cohérent a la colonne.
 
Les Doublons : DISTINCT
SELECT DISTINCT nom_col
FROM nomtable;
Empêche de se retrouver avec deux fois la même ligne dans le résultat.
 
SELECT DISTINCT nom_col1, nom_col2
FROM nomtable;
Empêche de se retrouver avec deux fois la même ligne dans le résultat.
On peut ce retrouver avec la même valeur plusieurs fois dans une colonne mais on ne peut jamais avoir la même ligne.
 
Structure d'une table
avec Sql*plus (Oracle)
DESCRIBE nomtable; Affiche la structure d'une table. La commande peut être abrégé en DESC
 
avec isql (OpenIngres)
HELP TABLE nomtable;
Affiche la structure complète de la table passé en paramètres
HELP nomtable; Affiche une partie de la structure de la table passé en paramètres
 
sélection de ligne : WHERE
SELECT *
FROM personne
WHERE nom = 'moi';

N'affiche que les lignes(enregistrements) ou la condition est vrai.
la casse a de l'importance et les chaînes de caractères et les dates doivent être entouré de simple cotes ( ' )(les valeurs numérique ne sont pas à mettre entre cotes).

 




Opérateurs de comparaison
= Egale à
> Supérieur à
>= Supérieur ou égale à
< Inférieur à
<= Inférieur ou égale à
<> Différent de
BETWEEN ... AND ... Compris entre ... et ...
IN (liste_de_champ) Compris dans la liste
LIKE Ressemble en partie à la chaîne passé en paramètres
IS NULL Teste si la valeur est NULL

Utilisation des Opérateurs de comparaison.
SELECT nom, salaire
FROM nomtable;
WHERE salaire < 12500;
Affiche toutes les personnes dont le salaire est inférieur à 12500
SELECT nom, salaire
FROM nomtable;
WHERE salaire BETWEEN 8000 AND 12500;
Affiche toutes les personnes qui on un salaire entre 8000 et 12500
SELECT nom, departement
FROM nomtable;
WHERE departement IN(87,16,23);
Affiche le nom de toutes les personnes de la table dont le département de travaille se trouve dans le limousin
SELECT nom, prenom
FROM nomtable;
WHERE prenom LIKE '_y%';
Affiche le nom de toutes les personnes de la table dont la deuxième lettre du prénom est 'y'
% représente 0 ou n caractères (comme * sous unix ou dos) _ représente 1 caractére (comme ? sous unix)
SELECT nom
FROM nomtable;
WHERE salaire IS NULL;
Affiche le nom de toutes les personnes de la table dont le salaire n'est pas renseigné
(si le salaire est égale à NULL
Opérateurs Logiques
AND Retourne TRUE si les deux conditions sont VRAIES
OR Retourne TRUE si au moins une des conditions est VRAIE
NOT Retourne TRUE si la condition qui suit est FAUSSE et inversement
SELECT nom
FROM nomtable;
WHERE salaire < 7000
AND prénom = 'sylvain';
Affiche le nom de toutes les personnes de la table dont le salaire est inférieur à 7000 est dont le prénom est sylvain
 
Règles de Priorité
Ordre de priorité Opérateurs
1 Tous les opérateurs de comparaison
2 NOT
3 AND
4 OR
Les parenthèses permettent de changer les priorités
 
Tri : ORDER BY
ORDER BY ASC : par ordre croissant
DESC : Par ordre décroissant
SELECT nom
FROM nomtable;
ORDER salaire DESC;
Affiche le nom de toutes les personnes de la table en les triant du plus fort salaire au plus faible
SELECT nom
FROM nomtable;
ORDER Departement, salaire DESC;
Affiche le nom de toutes les personnes de la table en les triant par ordre croissant de Departement si dans un Departement il y a plusieurs enregistrement ces dernier sont trier par ordre décroissant de salaire
PS : les tris peuvent s'effectuer sur des colonnes ou des alias de colonnes.
 
Jointure
SELECT nomtable_1.nomcol_1, nomtable_2.nomcol_2, nomtable_1.nom_perso
FROM nomtable_1, nomtable_2
WHERE nomtable_1.nomcol_1 = nomtable_2.nomcol_2;

Cette commande fait une jointure entre la table nomtable_1 et la table nomtable_2 toutes les lignes qui réponde à la condition WHERE on relier ensemble.
SELECT nomtable_1.nomcol_1, nomtable_2.nomcol_2, nomtable_1.nom_perso
FROM nomtable_1, nomtable_2
WHERE nomtable_1.nomcol_1 = nomtable_2.nomcol_2
AND nomtable_1.salaire > 12000 ;
Grâce à AND on peut affiner la recherche
Jointure avec des alias
SELECT a.nomcol_1, b.nomcol_2
FROM nomtable_1 a , nomtable_2 b
WHERE a.nomcol_1 = b.nomcol_2;

Grâce aux alias on peut grandement simplifier l'écriture d'un select
Jointure de plus de 2 tables
SELECT a.nomcol_1, b.nomcol_2, c.nomcol_3, a.nomcol_4
FROM nomtable_1 a, nomtable_2 b,nomtable_3 c
WHERE a.nomcol_1 = b.nomcol_2
AND a.nomcol_4 = c.nomcol_3;

On fait une jointure des tables nomtable_1, nomtable_2, nomtable_3.
 
Fonctions de groupe : COUNT, AVG, ...
SELECT AVG(nomcol)
FROM nomtable;

Fait la moyenne de toutes les valeurs de la colonne nomcol
SELECT SUM(nomcol)
FROM nomtable;

Fait le totale de toutes les valeurs de la colonne nomcol
SELECT MIN(nomcol)
FROM nomtable;

Recherche dans la colonne nomcol la plus petite valeur
SELECT MAX(nomcol)
FROM nomtable;

Recherche dans la colonne nomcol la plus grande valeur
SELECT Count(expression)
FROM nomtable;

Compte le nombre de ligne de l'expression expression en sautant les valeurs NULL
expression peut être le nom d'une colonne.
SELECT Count(*)
FROM nomtable;

Compte le nombre d'enregistrement de la table nomtable.
 
Regroupement de Données : GROUP BY
SELECT ville, AVG(age)
FROM nomtable
GROUP BY ville;

Cette commande fait des regroupement par ville et fait la moyenne d'âge pour chaque ville.

note: tous les noms de colonne présent dans la clause SELECT doivent obligatoirement se retrouver dans la clause GROUP BY (les fonctions ne réponde pas à cette règle ex:AVG(non_col). par contre les noms de colonne qui se trouve dans le GROUP BY ne doivent pas obligatoirement se trouver dans le SELECT.
SELECT ville, AVG(age)
FROM nomtable
GROUP BY ville
HAVING AVG(age > 25);

Cette commande fait des regroupement par ville et fait la moyenne d'âge pour chaque ville. la clause having rajoute permet de restreindre les groupes ici seul les villes ayant une moyenne d'âge supérieur à 25.
PS : la clause WHERE est l'équivalent de la clause HAVING pour le GROUPE BY
 
Operation sur les ensembles
Union
SELECT ville
FROM nomtable
UNION
SELECT ville
FROM nomtable_2;

Combine le résultat de deux SELECT
Union All
SELECT ville
FROM nomtable
UNION ALL
SELECT ville
FROM nomtable_2;

Combine le résultat de deux SELECT mais contrairement a UNION, UNION ALL ne supprime pas les doublons et ne tri pas le résultat.
Intersect
SELECT ville
FROM nomtable
INTERSECT
SELECT ville
FROM nomtable_2;

Retourne comme résultat tous les enregistrement commun au deux SELECT.
Minus
SELECT ville
FROM nomtable
MINUS
SELECT ville
FROM nomtable_2;

Retourne le résultat de la premiére requete moins le enregistrements qui se trouve dans la deuxième requête.



Sous intérrogation
SELECT ville
FROM nomtable
WHERE age > (
           SELECT AVG(age)
           FROM france);

Fait une sélection de toutes les ville de la table nomtable qui on une moyenne d'âge plus grande que la moyenne d'âge de la table france.
P.S. La sous interrogation peut également être utilisé dans la clause HAVING d'un GROUPE BY
 
Insertion d'enregistrement : INSERT
INSERT INTO table_personne
VALUES ('mon_nom', 'Sylvain', 23);
Insert un nouvel enregistrement dans le table table_personne
avec cette méthode tous les champs de la base doivent être remplit.
INSERT INTO table_personne(nom_champ1, nom_champ2)
VALUES ('mon_nom', 'Sylvain');
Insert un nouvel enregistrement dans le table table_personne
avec cette méthode on peut laisser le champs âge vide.
INSERT INTO table_personne
VALUES ('mon_nom', 'Sylvain', NULL);
Insert un nouvel enregistrement dans le table table_personneavec cette méthode on peut laisser le champs âge vide. cette méthode on peut également laisser le champs âge vide.
 
Modification d'enregistrement : UPDATE
UPDATE table_personne
SET nom_champ2 = 'Sylvain', nom_champ3 = 23
WHERE nom_champ1 = 'mon_nom';

Remplace la valeur de nom_champ2 pas Sylvain et la valeur de nom_champ3 pas 23 pour tous les enregistrements selectionné dans le WHERE
P.S. Si il n'y a pas de clause WHERE pour limiter la commande les modifications se feront pour tous les enregistrements de la table.
 
Suppression d'un enregistrement : DELETE
DELETE table_personne
WHERE nom_champ = 'nom_a_supprimer';

Supprime tous les enregistrements de la table ou la condition du where est vérifié
 
Transactions
Enregistrement de transactions
COMMIT;
Enregistre dans la base toutes les modifications qui on été effectuées depuis le dernier COMMIT
Annulation de transactions
ROLLBACK;
Efface toutes les modifications qui on été effectuées depuis le dernier COMMIT
 
Création de table : CREATE TABLE
CREATE TABLE nom_table
(
nom_champ1 type_champ_entier(nb_octet),
nom_champ2 type_champ_caractere(nb_octet)
);

Créer une table nommée nom_table qui a deux champs :
nom_champ1 de type type_champ_entier
nom_champ2 de type type_champ_caractere
nb_octet est la taille en octet du champ
P.S. les types de champ étant spécifique a la base de données, ne sont pas traité ici
un type peut comporte également la longueur du champ
Création de table avec une clef primaire sous Oracle
CREATE TABLE nom_table
(
id type_champ_entier(nb_octet) NOT NULL,
nom type_champ_caractere(nb_octet)
CONSTRAINTE Clef_id PRIMARY KEY(id)
);

Créer une table nommée nom_table qui a deux champs :
id de type type_champ_entier
nom de typetype_champ_caractere
nb_octet est la taille en octet du champ
le dernière ligne indique que la clef primaire est le champs id
 
Modification de la structure d'une table : ALTER TABLE
Ajout d'une colonne
ALTER TABLE nom_table
ADD (nom_champ type_champ)

Cette commande permet d'ajouter une colonne nom_champ de type type_champ
dans la table nom_table
Modification d'une colonne
ALTER TABLE nom_table
MODIFY (nom_champ type_champ)

Cette commande permet de modifier la colonne nom_champ de la table nom_table
en lui donnant le type type_champ
dans
 
Suppression de table : DROP
DROP TABLE nom_table

Cette commande efface la table et son contenu ainsi que les index
Note : il est impossible d'annuler cette commande
 
Renommer une table, une vue ... (Oracle) : RENAME
RENAME nom_table TO nouveau_nom_table

Cette commande renomme la table nom_table en nouveau_nom_table
Note : pour effectuer cette commande il faut être le propriétaire de la table
 
Vider une table

Vider une table

DELETE FROM nom_table
Cette efface tous les enregistrement de la table
 
Vider une table sous oracle : TRUNCATE ou DELETE

TRUNCATE TABLE nom_table

Cette commande vide la table nom_table de tous ces enregistrements
et liber l'espace mémoire qu'il occupait. Note : il est impossible d'annuler cette commande
DELETE nom_table
Cette efface tous les enregistrement de la table




 
Commande ORACLE
 
Information sur les tables

SELECT table_name FROM user_tables;

Affiche le nom de toutes les tables de l'utilisateur.
SELECT * FROM user_tab_columns;

Affiche le nom de toutes les tables de l'utilisteur, en indiquant le mon et le type de toutes les colonnes.
SELECT table_name FROM all_tables;

Affiche le nom de toutes les tables de la base de données
 
Erreurs
oerr nom_de_l'erreur
Affiche de l'aide sur l'erreur


SAVEPOINT

GRANT
REVOKE


contraintes vue
...

Commande INGRES


lancement de l'utilitaire isql (ingres):
isql nombase

F1 et g : pour exécuter une requête
F3 : pour revenir en arrière ou quitter selon la position courante

stddev numérique
variance numérique

Mémo Linux / Unix

Détails
Catégorie parente: Informatique

Ceci n'est qu'un petit mémo sans prétention qui référence quelques commandes Unix. Il peut y avoir des erreurs !!! (merci de me les signaler) de plus ces commandes ne fonctionnent pas forcément sur tous les systèmes.

Commandes divers

su : (select user) pour changer d'utilisateur
passwd : Changer le mot de passe.
Ctrl D : Se déloguer.
pwd : Visualisation du chemin actuel (home/philippe).
cd [répertoire] : (change directory)changer de répertoire.
cd .. : Revenir en arrière.
cd / : Retour à la racine.
ls -l : Visualiser le contenu du répertoire.
man [commande] : Aide, manuel. q : Pour quitter.
who : propriétaire de toutes les machines. (qui est connecté)
who am i : propriétaire de cette machine. (qui est logué sur la machine)
finger : voir qui est connecté sur la machine
mail : courrier.
XX : pour visualiser le message XX
vi [XX] : pour éditer le message XX avec VI
h [XXX] : pour aller au mail XXX
z : pour avancer dans la liste des messages
ctrl D : pour sortir
mail [destinataire] : Pour envoyer un mail ctrl D pour arrêter. (. : envoyer le mail).
date : date.
cal : calendrier du mois en cours.
logname : obtenir le nom de la connexion
env : affiche la liste des variables d'environnement du système

Les processus

Voir les processsus :
ps -al
ps -faux
ps -faux |grep [Nom du processus] : voir le numéro de ce processus.
ps -ef : voir les processus actifs de la session
ps -fu [XXX] : Voir les processus lancés par XXX
kill -9 [numéro du processus] : tuer un processus

Travail sur les fichiers

cat [nom du fichier] : visualisation d'un fichier texte.
cp /[nom du fichier]/[destination] : copie du fichier source dans fichier destination
rm [nom du fichier] : effacer le fichier.
rm * : effacer tous les fichiers du répertoire.
rm -f : suppression même si on a pas le droit d'écrire
rm -i : demande confirmation
rm -r ou -R : efface tout (fichiers, répertoires, sous répertoires : A utiliser avec beaucoup de précautions !!)
Jokers : ? : équivalent à une lettre quelconque.
* : équivalent à un groupe de lettres.
mv a.out [nouveau nom] : renommer un fichier.
mv a.out ../exec/ : déplacer un fichier.
mkdir [nom du répertoire] : création d'un répertoire.
rmdir [nom du répertoire] : effacer le répertoire (vide).
clear : effacer l'écran.
fdformat /dev/fd0 h1440 : formatage d'une disquette
mkdosfs /dev/fd0 : met la disquette formatée au format DOS
mke2fs /dev/fd0 : met la disquette formatée au format LINUX
ou mkfs -t [type] (type : msdos ou ext2)
tee [fichier] : équivalent à ls et ls > fichier
grep titi toto : recherche titi dans le fichier toto
ruser : montrer qui est connecté
df -k : Taux d'occupation des systèmes de fichiers
du -h : place prise par un repertoire
mc -c : Gestionnaire de fichiers

Les droits

chmod : changer les droits.
chmod [ugoa][+-=][rwxlstugo] file : u : user, g : groupe, o : others, a : all. (+ ajouter, - enlever)
chown : changement de propriétaire. (il faut être propriétaire du fichier ou root)
chown [nom du nouveau propriétaire] [nom du répertoire ou fichier]
chgrp [nom du nouveau groupe] [nom du répertoire ou fichier] : changer de groupe
chown -R philippe:philippe * : Premier paramètre pour le propriétaire, deuxième paramètre pour le groupe. Cette commande remplace le propriétaire et le groupe de tout un répertoire.

Impression

lpr [fichier] : permet d'imprimer un fichier
lpq ou lpstat : affiche le nom des fichiers en attente d'impression
lprm ou cancel : pour annuler l'impression
lpr -P [nom de l'imprimante (rp0)] [nom du fichier à imprimer]
lpstat -d : affiche l'imprimante par défaux
qadm -U'lp0:LaserJet' : Réactiver la file d'impression

Reseaux

netstat -rn

Divers (ces commandes ont été testées sur AIX)

errpt : inventaire des erreurs survenues
-a pour afficher les détails (utiliser |more pour afficher en plusieurs pages)
errclear 7 : supprime les erreurs survenues au delà de 7 jours
oslevel : voir la version de l'OS
smit : utilitaire de configuration des AIX
export TERM=ibm3151 : permet d'utiliser correctement une console ibm3151
set -o vi : rappel de commandes (Esc K pour suivant. Esc j pour précédent)
lspv : liste tous les disques dur de la machine
crontab -e : visualiser le fichier de cron (crontab -v : Heure de soumission du crontab)

Les disques et disquettes

fd0 ou fd1 : disquettes
hda1, hda2, hda3 : Disque dur A, partition 1, 2, 3 Nape1 maitre IDE
hdb1, hdb2, hdb3 : Disque dur B, partition 1, 2, 3 Nape1 esclave IDE
hdc1, hdc2, hdc3 : Disque dur C, partition 1, 2, 3 Nape2 maitre IDE
hdd1, hdd2, hdd3 : Disque dur D, partition 1, 2, 3 Nape2 esclave IDE
rmt0 : lecteur de bande (rmt : remote tape)
sda1, sda2, sda3 : Disque dur SCSI ayant l'ID0, partition 1, 2, 3
sdb1, sdb2, sdb3 : Disque dur SCSI ayant l'ID1, partition 1, 2, 3
scd0 : CDROM SCSI
mount /dev/fd0 /mnt/floppy : monter le lecteur de disquettes
fsck /dev/hda1 : (File System Check) scandisk puis toujours dire Y

Sauvegarde de fichiers : (commande tar)

tar -cvf /dev/fd0 [fichier] : enregistrer
tar -tvf /dev/fd0 [fichier] : visualiser
tar -uvf /dev/fd0 [fichier] : mettre à jour
tar -xvf /dev/fd0 [fichier] : extraire
tar -rvf /dev/fd0 [fichier] : ajouter

Copie sur disquette DOS

Pour LINUX

mcopy [fichier] a: : copie un fichier sur disquette
mcopy a:[fichier |*.*] [.] : copie le fichier de la disquette sur le disque dur
mdir a: : visualise le contenu de la disquette disquette
mdel a:[fichier|*.*] : effacer le contenu de la disquette

Pour AIX

dosdir
dosread
dosdel

Guide FTP (fonctionne pour UNIX, LINUX, Windows ...)

open : permet de se connecter à un serveur ftp : open ftpperso.free.fr
user : pour se connecter vous pouvez taper la commande : user [login] puis entrer votre mot de passe ; ou directement user [login] [motdepasse]
get : pour récupérer un fichier : get source [destination]
put : pour envoyer un fichier : put source [destination]
ls : pour lister tous les fichiers du répertoire courant sur le serveur
cd : pour se déplacer dans l'arborescence du serveur
lcd : pour changer de répertoire en local sur votre machine
bin : pour passer en mode binaire, indispensable avant d'envoyer (put) ou de récupérer (get) des images par exemple, vous devez avoir la réponse : 200 Type set to I.
ascii : pour passer en mode ascii, vous devez avoir la réponse : 200 Type set to A.
prompt : Pour passer du mode manuel au mode automatique et inversement (utile pour mget et mput)
mget : permet de récupérer plusieurs fichiers à la fois.
mput : permet de d'envoyer plusieurs fichiers à la fois.
close : fermer la connection (ou bye)
!commande : pour exécuter une commande sur votre machine en local

Divers (linux):

gftp : FTP graphique
ncftp : FTP non graphique
wget : Pour aspirer des pages WEB (utiliser l'option -c pour télécharger en plusueurs fois)

Compilateur C

cc [nom du fichier.c] : compiler un fichier en C.(UNIX)
gcc [nom du fichier.c] : compiler un fichier en C. (LINUX)
gcc -a -o toto toto.c(-a : norme ANSI, -o donne un autre nom que a.out)
./toto : exécution du fichier

VI (éditeur de textes)

Lancement
vi [nom du fichier] : éditer un texte ou un programme.
vi * : ouvre tous les fichiers d'un répertoire
n : fichier suivant
rew : revient au premier fichier
Les commandes de VI :
  • Sauvegarder / Quitter :

  • Echap : : pour passer les commandes
    w : Sauvegarder
    wq : quitter en enregistrant.
    ZZ : Quitter et sauvegarder si quelque chose a été modifié.
    w [nom de fichier] : enregistre sous un autre nom, w! [fichier] : Remplace fichier
    e! : Ignore les changements et recharge le fichier
    q : quitter sans sauvegarder, q! Force vi à se terminer
  • Se déplacer :

  • se nu : numérote les lignes
    xxx : Positionne à la ligne xxx
    $ : amène à la dernière ligne du fichier
  • Insetion / remplacement / suppression de texte :

  • a : Insertion après le curseur
    i : insertion avant le curseur
    A : Insertion en fin de ligne
    I : insertion en déde ligne
    esc : Termine le mode insertion
    x : effacer le caractère pointé
    dw : Supprime un mot
    dXw : Supprime X mots
    dd : Supprime la ligne
    dXd : supprime X lignes
    r* : Remplace le caractère à la position du curseur par *
    R : Remplace tous les caractères jusqu'à la fin de la ligne ([ESC] pour terminer)
    cw :Remplace uniquement le mot à la position du curseur ([ESC] pour terminer)
    cXw : Remplace X mots ([ESC] pour terminer)
    %s /mot/mot1 /gc : remplacer mot par mot1 dans tout le fichier
    1,$s;mot;mot1;gc : idem
  • Copier/Coller:

  • Y : Copier une ligne
    nY : Copier n lignes
    P : Coller les lignes avant le curseur
    p : Coller les lignes après le curseur
  • Annuler/Répeter les modifications :

  • u : Annuler la dernière modification
    U : Annuler toutes les modifications effectuées sur la ligne courante
    . : Répèter les dernières modifications
  • Divers :

  • ![commande] : commande de UNIX sous VI.

    Je tiend à remercier philippe Leboutet www.labidouille.org, qui m'a gracieusement permi d'utiliser son mémo Linux

    Sous-catégories

    Linux Nombre d'articles :  3