[Off` ] je vais pisser
[Off` ] :p
[illovae ] ok je prépare mes affaires Off` je te laisse une minute :p
[illovae ] donc, bienvenue sur u-classroom pour le premier cours d'une longue série
[illovae ] on va aujourd'hui faire une simple INITIATION AU TERMINAL
[illovae ] donc rien de compliqué, juste la base
[illovae ] comment se repérer, se déplacer, créer un fichier, le copier, le déplacer, etc
[illovae ] à la fin on verra quelques commandes pratiques aussi
[illovae ] le contenu du cours en lui-même vous sera présenté par britney
[illovae ] c'est un bot donc ça sert à rien de lui parler
[illovae ] je ferai les commentaires, et je répondrai aux questions s'il y en a
[illovae ] n'hésitez pas à me couper d'ailleurs si vous en éprouvez le besoin :)
[illovae ] +++ SURVIRE DANS SON TTY #1 - INITIATION AU TERMINAL +++
[Off` ] elle peut nous faire un streap tease a la fin du cour ? britney ?
[illovae ] seulement si tu es gentil :p
[Off` ] :p
[britney ] Nous allons présenter dans ce cours comment on peut se débrouiller dans un terminal. Il s'adresse principalement aux personnes qui ne se sont jamais servi d'un terminal. Nous verrons comment nous repérer, nous déplacer et agir sur les fichiers ; ainsi que quelques petites commandes de bases qui pourront vous être utile. Vous ne serez pas un warrior du terminal à la fin du cours, mais si on vous met un terminal sous le nez, vous saurez quoi fa
[Ptigrouick ] t'as vraiment envie de voir un bot à poil toi ???
[Off` ] say seaiksy
[britney ] Pour suivre ce cours, vous aurez donc bien sûr besoin d'un émulateur de terminal, n'importe lequel fera l'affaire. Nous ne verrons pas comment 'customiser' votre émulateur de terminal (la police ou les couleurs par exemple). Tout d'abord parce que les façons de faire dépendent de votre terminal et aussi parce que généralement il suffit d'aller faire un tour dans les Préférences du terminal, disponible graphiquement.
[Off` ] how
[Off` ] doucement :p
[britney ] Cependant ceci n'est pas valable pour des clients comme xterm, aterm ou encore urxvt. Comme la configuration n'est pas graphique mais passe par un fichier, nous pourrons, si cela vous intéresse et si certains utilisent ces clients, faire un tour des principales options en fin de cours.
[illovae ] Off`: oui je balance et je laisse du temps, ne t'en fais pas :)
[illovae ] quelqu'un utilise un xterm, aterm, urxvt etc ?
[Off` ] urxvt pour moi
[illovae ] ou vous êtes tous sous gnome/kde/xfce-terminal ?
[Off` ] ^^
[illovae ] Off`: ok
[pestak ] xterm parfois
[chuger ] j'utilise gnome
[Ptigrouick ] gnome
[barakat ] xterm c mieux
[hugub ] Guake sous Gnome
[lannic ] gnome
[_mut_ ] gnome
[missaw ] tjs sur gnome ...
[illovae ] si ça vous chante on pourra customiser les term type xterm alors
[chpo ] tty via ssh
[illovae ] skateinmars: :>
[illovae ] chpo: ouai mais le terminal en lui-meme ?
[chpo ] illovae: un tty ( sans X ) avec bash dessus
[illovae ] ah ok
[illovae ] bon
[illovae ] -- DÉFINITION
[pestak ] customiser xterm : yes
[britney ] Vous êtes présentement dans un shell. Ce shell sert à exécuter des instructions en mode texte que vous fournissez par l'intermédiaire de votre terminal. Comme shell par défaut vous utilisez Bash, mais sachez qu'il en existe d'autre dont un très populaire qui est Zsh, dont legreffier nous fera un cours sur le sujet prochainement. Vous n'avez pas à vous soucier des différences entre tous les shells pour le moment, tout ce que vous verrez ici
[illovae ] sera valable pour tous les autres shells.
[illovae ] (désolé j'ai eu un ratage)
[Off` ] ^^
[illovae ] on va commencer par parler un peu du prompt par défaut
[illovae ] --- PROMPT
[britney ] Le prompt bash s'il n'a pas été modifié ressemble à quelque chose comme ça : login@host:PATH$
[Off` ] on peut utiliser zsh pour ce cours ?
[Off` ] ou je passe sous bash ?
[britney ] Pour login j'imagine qu'il n'y a pas besoin d'explication. 'host' est le nom de votre machine. PATH c'est le chemin, là où vous êtes sur votre système de fichier. Enfin le $ signifie que vous êtes un utilisateur 'normal'. Il est à différencier de # qui est pour l'utilisateur 'root'. Généralement si vous êtes sous ubuntu, vous ne verrez jamais le signe # dans votre prompt.
[illovae ] Off`: tu epux rester sous zsh
[Off` ] ok
[chpo ] illovae: et avec busybox, ca marche aussi?
[britney ] À noter que par convention, il existe un signe ~ qui représente votre dossier personnel, à savoir /home/. Donc quand vous voyez ce signe vous savez qu'il fait référence à votre dossier à vous. Enfin le signe / comme vous pouvez le deviner représente la racine de votre système de fichier (le signe ~ sur un clavier PC est accessible via AltGr+2)
[illovae ] chpo: ouai ouai c'est des trucs très basiques qui vont être présentés
[illovae ] chpo: c'est le cours de base pour noob
[chpo ] illovae: ok, je t embetes plus
[Off` ] ah
[illovae ] c'est bon pour tout le monde l'histoire du ~ ?
[Off` ] moi j'attend la fin :p
[hugub ] oui
[sergio77 ] Heureusement que c'est un cours pour débutant ! =-O
[illovae ] sergio77: pourquoi des questions ?
[Newb`s ] LEs
[Newb`s ] oops
[sergio77 ] Non, je suis vraiment débutant... dans le monde linux
[Newb`s ] Les conditions en bash c'est if ↔ fi ?
[illovae ] Newb`s: on va pas faire de scripting aujourd'hui :>
[Newb`s ] ah oki
[Off` ] =D
[illovae ] sergio77: ok n'hésites pas à m'arrêter d'accord ?
[Newb`s ] Ça va jusqu'où? :D
[illovae ] sergio77: et pose toutes les questions que tu veux
[chpo ] Newb`s: euh, ls, cd, et j espere man
[illovae ] non man ça sera puor le prochain cours ;)
[illovae ] je le répète, aujourd'hui on va faire _que_ la base
[chpo ] illovae: erreur, ca devrait etre le chapitre 1 de tout cours pour debutant
[chpo ] illovae: pour compenser ce que tu aura forcement pas traité
[illovae ] chpo: oui je sais mais on va faire ça dans le cours #2 histoire de pas y rester 4 heures aujourd'hui
[sergio77 ] Merci. Mais pour l'instant j'enregistre. Je n'ai pas le temps de lire et de poser des questions en même temps !
[illovae ] sergio77: ok, stop moi au cas où :)
[Newb`s ] Et le cours 2 est quand?
[illovae ] dans deux semaines voir moins Newb`s
[illovae ] maintenant stop le hors-topic svp :p
[illovae ] donc on va rentrer dans le vif du sujet
[illovae ] je vous laisse ouvrir votre terminal, celui que vous voulez
[illovae ] (si c'est pas déjà fait)
[illovae ] --- LES COMMANDES DE BASE
[illovae ] je ne le dirai pas, mais évidemment, chaque commande attend implicitement qu'on tape 'entrée' après ;)
[Off` ] Oo
[britney ] On va commencer par la base, où on est : tapez pwd dans votre terminal. Il va vous répondre normalement /home/ (pour ceux que ça intéresse pwd veut dire Print Working Directory) (cette commande n'est pas très utile car votre prompt vous l'indique, mais c'est bon de le savoir).
[Newb`s ] pwd
[Newb`s ] oops
[britney ] Ensuite on va lister ce que notre dossier ~ contient en faisant simplement ls (LS en minuscule et non 1S).
[Off` ] ;D
[illovae ] là donc vous avez un aperçu du contenu de votre ~
[britney ] Repérez n'importe lequel de vos dossiers (par exemple Musique) et faites un cd Musi pour entrer dedans (remarquez le changement dans votre prompt).
[Off` ] y'a du pr0n
[Off` ] :o
[skateinmars ] illovae: petit pinaillage, ~ c'est $HOME mais pas forcement /home/$USER
[illovae ] alors l'histoire du
[Newb`s ] Off`: toi aussi?
[Off` ] ouais :p
[jeromeg ] Off`: chenapan, arrête de faire du bruit pendant le cours :)
[illovae ] pour éviter de devoir tout taper, il vous suffit de taper juste le début du nom puis de faier la touche TAB
[illovae ] c'est bon pour tout le monde l'histoire du tab ?
[Off` ] oui
[hugub ] Oui
[illovae ] sergio77 aussi ?
[sergio77 ] oui
[britney ] On va revenir dans le dossier précédent en faisant un : cd ..
[britney ] On va maintenant créer un dossier : mkdir u-classroom et puis on va rentrer dedans : cd u-classroom (utilisez la touche pour vous aider).
[Off` ] heu
[illovae ] oui ?
[Ptigrouick ] le dossier parent pas précédent
[Off` ] ça va le créer dans le home :/
[illovae ] non vous étiez dans ~/Musique
[Off` ] ah
[illovae ] Ptigrouick: tout à fait
[Off` ] j'ai pas vu :s
[illovae ] skateinmars: (avec du retard) oui c'est vrai :p
[Off` ] ah oui
[Off` ] oups
[illovae ] Off`: au lieu de parler :>
[illovae ] pou le mkdir sachez que vous pouvez créer des arborescences entières
[illovae ] avec une option qui est -p
[illovae ] on aurait pu faire par exemple mkdir -p u-classroom/travail/dossier
[illovae ] et on aurai créer d'un seul coup ces trois dossiers
[illovae ] --- ASTUCES POUR CD
[britney ] Juste un petit truc pratique de cd. Depuis le dossier ~/u-classroom allez dans le dossier musique : cd ~/Musique Si vous voulez revenir dans le dossier ~/u-classroom vous pouvez bien sûr taper : cd ~/u-classroom mais on peut faire plus rapide en tapant simplement : cd -
[britney ] Autre petit truc de cd : en tapant simplement cd dans votre terminal, vous vous retrouverez toujours dans votre dossier personnel.
[illovae ] dans votre $HOME donc
[Ptigrouick ] ouaip ça c'est le dossier précédent :-D
[illovae ] héhé :)
[illovae ] ça va pour tout le monde j'imagine ?
[hugub ] Oui
[chpo ] euh, c est pas cd - le dossier precedent??
[sergio77 ] oui
[chpo ] et cd pour aller dans $HOME?
[illovae ] chpo: non cd - c'est le dossier d'où tu viens
[Ptigrouick ] ben oui c'est ce que je disais
[illovae ] et cd poru aller dans $HOME
[illovae ] s/poru/pour/
[illovae ] --- LA COMMANDE LS
[chpo ] illovae: oui, precedant ( ou tu etait avant, comme le comportement d un konqueror, nautilus, firefox etc )
[britney ] On va maintenant se pencher un peu plus sur la commande ls qui sert à lister le contenu d'un dossier je le rappelle. Et on va notamment lui passer des options.
[britney ] ls est capable de faire la différence entre les dossiers et les fichiers. Si vous faîtes un ls -F vous verrez à la fin des noms de dossiers/fichiers un indicateur : / pour un dossier * pour un executable ou encore @ pour un lien (il en existe d'autres).
[Ptigrouick ] chpo : ouaip voilà ;-)
[britney ] Pour lister tout de votre dossier y compris les fichiers cachés : ls -a (Sachez que les fichiers cachés sous gnu/linux sont précédés d'un . ).
[britney ] On peut avoir un affichage qui nous donne plus d'informations : ls -l
[britney ] On peut avoir un affichage qui nous donne plus d'informations : ls -l
[britney ] Et bien sûr, on peut combiner les deux : ls -al
[sergio77 ] C'est quoi les autres indicateurs ?
[Newb`s ] (ils oublient h ? :<)
[illovae ] sergio77: il y en a beaucoup
[Ptigrouick ] ben moi y'a ls -1 que j'utilise de temps en temps
[sergio77 ] par exemple
[illovae ] sergio77: tu as par exemple -R pour lister récursivement
[chpo ] illovae: une question, est il possible avec ls d afficher des chemins absolus a la place des chemin relatifs ? ( j ai pas trouvé comment faire )
[Ptigrouick ] pour afficher une entrée par ligne
[illovae ] ou encore -1 pour afficher un résultat par ligne sergio77
[Ptigrouick ] arf :-D
[Newb`s ] J'utilise tout le temps h avec l perso (-lh)
[illovae ] chpo: comment ça ?
[Off` ] ls -Fla
[Off` ] oops
[chpo ] illovae: d avoir les fichiers avec leur path complet ( depuis / ) plutot que depuis le rep courant
[Ptigrouick ] ouaip h ça affiche les tailles des fichiers en Ko, Mo, et Go c'est ça ?
[sergio77 ] Non je parlais de indicateurs de fichier : / pour un dossier * pour un executable ou encore @ pour un lien, et autre possibilité ?
[chpo ] illovae: plus specifiquement avec un -R en fait
[illovae ] chpo: ah ouai je sais pas, j'y avais jamais pensé, j'imagine que oui
[chpo ] illovae: j ai pas trouvé dasn le man
[illovae ] faudrai chercher
[illovae ] j'irai voir après el cours
[chpo ] et j en aurais eu besoin pour un tit script l autre jour
[illovae ] sergio77: ah oui pardon
[illovae ] sergio77: il y a * / = > @ |
[illovae ] généralement = > et | tu les verra très rarement
[illovae ] une dernière chose, vous pouvez avoir l'affichage de vos dossier/fichier en couleurs
[illovae ] en ajoutant l'option --color=auto
[illovae ] soit par exemple ls --color=auto ~/Musique
[illovae ] poru avoir votre dossier de Musique en couleur
[Off` ] je les ai en couleur par défaut moi
[kinouchou ] cd Burls --color=auto
[Off` ] :q
[illovae ] Off`: ah ? :p
[Off` ] oui
[hugub ] A quoi correspond chaque couleur ?
[jeromeg ] Off`: pas mal de distro ajoutent des alias par défaut
[illovae ] hugub: par défaut, tu as bleu pour un dossier * pour un exécutable
[jeromeg ] donc c'est possible que tu l'aies déjà sans le "voir"
[Ptigrouick ] ben fait un ls -F pour voir les correspondances
[illovae ] hugub: les autres je ne les connais pas par coeur
[skateinmars ] Off`: on verra plus tard mais avec which ls tu peut voir que ton ls est un alias
[illovae ] sachez qu'on peut customiser ces couleurs, (avoir du vert pour les dossiers au lieu du bleu)
[illovae ] on verra ça plus vers la fin
[illovae ] si vous le voulez bien
[Newb`s ] ah tiens
[Newb`s ] J'vais utiliser le /exec d'irssi
[Newb`s ] ça sera plus simple que d'avoir à switch d'onglet de guake :D
[Off` ] skateinmars, off@dyani:~$ wish ls
[Off` ] Error in startup script: couldn't read file "ls": no such file or directory
[Newb`s ] Off`: which ls
[jeromeg ] Off`: which
[illovae ] bon on va continuer
[Off` ] ah oui
[Off` ] /bin/ls
[illovae ] --- OPÉRATION SUR UN FICHIER
[britney ] Sachez que l'on peut faire exécuter à notre terminal deux commandes à la suite en utilisant ce signe : && ce qui peut éviter des pertes de temps. On va revenir dans notre dossier ~/u-classroom et créer le dossier travail/ à l'intérieur de celui-ci : cd ~/u-classroom && mkdir travail
[britney ] Pour faire cet exercice on va créer un fichier totalement vide en utilisant la commande touch : touch monfichier.txt
[britney ] Vous pouvez avoir des informations sur ce fichier en faisant un : file monfichier.txt
[britney ] Ici c'est pas très intéressant car le fichier est vide. Mais vous pouvez vous amusez à le faire sur un fichier.mp3 par exemple (file ~/Musique/fichier.mp3 ; est votre ami;)).
[britney ] On va commencer par déplacer ce fichier dans notre dossier travail/ avec la commande mv (pour move) : mv monfichier.txt travail
[britney ] On rentre maintenant dans notre dossier travail/ : cd travail
[britney ] La commande mv ne sert pas qu'à déplacer des fichiers d'un endroit à un autre, elle sert aussi à les renommer : mv monfichier.txt fichier.txt
[illovae ] c'est bon pour tout le modne ça ?
[Off` ] ça marche sur n'importe quel fichier, file ?
[chpo ] precision : le && n execute la seconde commande que si la premiere a reussi
[illovae ] Off`: ouaip
[Off` ] ok
[illovae ] chpo: tout à fait, c'est vrai merci de le préciser
[chpo ] sinon on peut separer les commandes avec ;
[illovae ] notez aussi que tout à l'heure on aurait pu faire un mv monfichier.txt travail/fichier.txt
[sergio77 ] Le && est différent de | ?
[illovae ] sergio77: oui tout à fait
[Off` ] y'a d'autres commandes pour renommer ?
[chpo ] ou avec || ou la seconde commande n est executée que si la premiere rates ( inverse de && )
[sergio77 ] Laquelle ?
[illovae ] sergio77: le && dit d'attednre la fin de la commande avant d'éxécuter la seconde
[illovae ] sergio77: tandis que | redirige la sortie de ta commande vers l'autre commande
[illovae ] sergio77: par exemple si tu veux echo "ceci est une ligne" | awk blabla
[illovae ] sergio77: tu envoies la sortie de echo soit "ceci est une ligne" à awk poru qu'il le traite ensuite
[illovae ] s/poru/pour/
[Ptigrouick ] ouah la vache il nous fait du awk dans un cours débutant ... :-D
[illovae ] Ptigrouick: ce'st pour l'exemple :>
[Ptigrouick ] quel killer
[illovae ] sergio77: c'est bon pour toi ?
[Ptigrouick ] ouaip je sais ;-)
[Off` ] :D
[sergio77 ] Tu dis bien ensuite : donc il faut qu'il ait aussi fini, non ? avec | ?
[illovae ] sergio77: non avec && il _faut_ que la commande termine, meme si c'est pas une erreur
[illovae ] sergio77: alors que | les commadnes travaillent ensemble, mais l'une après l'autre
[sergio77 ] ok
[pestak ] illovae: c'est quoi la différence entre "commande1; commande2" et " commande1 & comande2"
[illovae ] s/pas/par/
[illovae ] pestak: alors ce n'est pas & mais && ;)
[chpo ] sergio77: | et && n ont rien n a voir, avec && les commandes sont independantes, le shell lance la seconde si la premiere c est bien terminée
[pestak ] tu peux faire un & aussi, non ?
[illovae ] pestak: et ensuite y'a pas vraiment de différence, juste ; ne sera pas forcément compris par tous les shells je crois
[Ptigrouick ] non & ça n'a rien à voir
[Ptigrouick ] dans ce cadre tu peux l'oublier
[sergio77 ] chpo: ok, ça marche.
[chpo ] le && lance la seconde commande si la premiere reussi, le ; lance la seconde a tout les coups
[illovae ] pestak: oui comme Ptigrouick le dit
[illovae ] chpo: ah ? ça marche avec tous les shells ?
[chpo ] illovae: attend, je test sous busybox dasn 2 minutes
[illovae ] chpo: merci
[chpo ] mais je pense que oui
[Off` ] ça marche sous zsh
[illovae ] oui c'est bien possible, j'en suis pas sûr sur ce coup là je veux dire
[Off` ] en tout cas
[illovae ] Off`: oui ça c'set sûr :p
[pestak ] $ ls & cd fonctionne chez moi
[illovae ] pestak: oui et c'est normal, mais là les deux commandes sont effectués en meme temps on peut dire
[chpo ] pestak: le & tout seul est sensé lancer la commande en arriere plan ( equivalent a ctrl z puis bg il me semble )
[illovae ] remarque que le terminal t'indique que ls a été effectué en background
[pestak ] un peu comme ; alors
[illovae ] non car ; attend la fin de la commande
[illovae ] tout comme &&
[pestak ] oui, il est en background
[Off` ] le &, c'est pas comme nohup ?
[Ptigrouick ] l'avantage de & c'est surtout si tu lances un script ou une commande longue à l'exécution
[illovae ] si tu fais un & seule, il sera balancé en background, ça peut être source de tracas selon les cas
[Ptigrouick ] ça la détache du shell
[illovae ] allez on va continuer
[illovae ] on va faire de la copie
[britney ] Pour copier un fichier on va utiliser cp : cp -v fichier.txt autrefichier.txt
[britney ] On a rajouter ici l'option -v comme vous pouvez le voir. Cette option est utile car elle vous donne un feedback de ce qui s'est passé : monfichier.txt -> autrefichier.txt
[britney ] Enfin pour finir, on va utiliser rm pour effacer/remove un fichier : rm autrefichier.txt On vous demande si vous voulez l'effacer, taper simplement y puis entrée pour confirmer. On peut éviter qu'il nous demande une confirmation en faisant rm -f autrefichier.txt (le -f pour Force).
[illovae ] --- AUTRE PETITE CHOSE À PROPOS DE RM
[britney ] Pour voir cela revenez dans votre dossier ~/u-classroom et déplacer votre fichier.txt dans celui-ci en faisant un : mv -v travail/fichier.txt . REMARQUEZ LE '.' : il signifie 'ici' (voyez aussi l'option -v comme pour cp pour avoir un retour de ce qu'il se passe).
[britney ] Vérifiez bien que votre fichier fichier.txt est dans votre dossier ~/u-classroom avec la commande ls.
[britney ] Nous allons effacer notre dossier travail/ : rm -f travail/ Vous devez avoir une erreur normalement.
[britney ] rm vous précise que vous ne pouvez pas effacer travail/ car c'est un dossier. Quand on travail sur un dossier, les commandes cp et rm ont besoin d'une option supplémentaire qui est -r (Récursif). Pour effacer votre dossier travail vous devez donc faire : rm -rf travail/
[britney ] Notez que ceci n'est pas valable avec mv.
[illovae ] ok pour tout le monde ?
[chpo ] Off`: donc avec &, si tu ferme le teerm, le fils meurt, avec nohup, il reste
[Ptigrouick ] attention au rm -rf !
[Newb`s ] (Pour les débutants, sachez qu'il existe une commande de la mort avec rm, faites donc très attention)
[Ptigrouick ] c'est la commande qui tue
[Off` ] ah
[Newb`s ] Ptigrouick: :)
[Off` ] merci chpo :)
[illovae ] skateinmars me souffle à l'oreille que j'aurai mieux fait de choisir un autre exemple que travail/ au cas où il y a des fautes :>
[skateinmars ] ;)
[illovae ] oui comme Ptigrouick dis, ATTENTION au rm -rf
[skateinmars ] pas de corbeille avec rm, mieux vaut verifier a 2 fois
[illovae ] il faut faire très attention à cette commande quand on débute
[Newb`s ] Si vous vous plantez dans les arguments votre système est mort
[Off` ] et pour la corbeille ?
[Off` ] c'est quel commande ?
[Off` ] ^^
[illovae ] Off`: il y en a pas :)
[Off` ] +le
[gpocentek ] (même quand on débute pas faut faire gaffe)
[Newb`s ] mais tu peux en faire une
[illovae ] mais tu peux toujours faire un dossier de corbeille si tu veux
[skateinmars ] comme dit le proverbe il y a 2 types d'admin, celui qui a fait une connerie, et celui qui va la faire
[Ptigrouick ] mouhahaha
[illovae ] on pourra faire un alias pour avoir une corbeille si vous voulez
[illovae ] après
[Ptigrouick ] ça sent le vécu ;-)
[chpo ] et rm -fr, c est pas la version francaise de rm
[illovae ] skateinmars: hahaha pas mal
[chpo ] pour ceux qui doutent
[illovae ] chpo: héhéhé :p
[Off` ] ^^
[illovae ] juste avant de parler des alias
[skateinmars ] (illovae: ouais tu peut preciser que l'ordre des options n'est pas important la plupart du temps)
[illovae ] tout à fait skateinmars
[chpo ] illovae: j ai vu des trucs comme ca sur des forums, genre rm -fr pour mettre tels prog en fr
[Newb`s ] Si on fait un alis "trash"
[Newb`s ] faut faire un alias "trash_empty" aussi
[Ptigrouick ] ouah les enfoirés
[illovae ] Newb`s: on va voir ça juste après
[Ptigrouick ] tu fréquente des forums mal famés toi ;_)
[illovae ] vous l'avez vu aucun de mes dossiers/fichiers ne comportent d'espace
[illovae ] les espaces par définition c'est mal
[illovae ] en effet ils servent à différencier la commande, des options du fichier
[illovae ] comme mv fichier.txt autrefichier.txt
[illovae ] mais il peut arriver qu'on ai des fichiers avec des espaces*
[illovae ] il y a deux façons de s'en sortir
[illovae ] soit on "échappe" l'espace, soit on entoure le fichier par des guillemets
[illovae ] le plus simple est de mettre des guillements, par exemple : mv "autre fichier.txt" fichier.txt
[illovae ] la version avec les espaces échappés ressemblent à ça : mv autre\ fichier.txt fichier.txt
[illovae ] remarquez le \ avant l'espace
[illovae ] il y a d'autres choses qu'il faut éviter dans les noms de fichiers
[illovae ] et donc qu'il faudra échapper
[illovae ] par exemple $ ou encore !
[illovae ] qui deviendront donc \! ou encore \$
[illovae ] -m
[illovae ] c'est okay les histoires d'espaces ?
[Off` ] c'est bien le $ !
[illovae ] <:
[illovae ] et aussi le shell est sensible à la casse, c'set à dire au caractère en MAJUSCULE
[hugub ] On peut échapper plusieurs caractères à la fois ?
[Off` ] les gangstas l'utilise souvent dans ses fichier je crois
[illovae ] ainsi et contrairement à windows Fichier.txt n'est pas équivalent à fichier.txt
[Off` ] ><
[illovae ] hugub: bien sûr
[Off` ] +ent s/ses/leurs
[illovae ] bon
[hugub ] Avec un \ pour chaque caractère ?
[illovae ] hugub: oui
[illovae ] et si tu veux échapper \ tu fais \\
[hugub ] ok
[Ptigrouick ] quand tu fais de l'autocomplétion avec tab il met les \ tout seul
[illovae ] Ptigrouick: bah ça dépend du shell :)
[Ptigrouick ] ouaip exact
[Newb`s ] illovae: ils voient vim quand?
[Ptigrouick ] m'enfin là on parle de bash
[illovae ] Newb`s: bien plus tard
[illovae ] Ptigrouick: oui parce que c'est le shell par défaut, mais j'essaye de ne pas rester cantonner à bash, au cas où
[Ptigrouick ] tiens d'ailleurs en passant pour voi quel shell est utilisé y'a echo $SHELL
[illovae ] ah tiens oui j'ai oublié d'en parler
[illovae ] bon on va continuer
[illovae ] on a vu des tas de commandes, avec différentes options
[illovae ] on est pas obligé de tout retenir, surtout pour ls qui peut prendre une quinzaine d'options
[illovae ] --- LES ALIAS
[britney ] Comme vous l'avez vu il y a quelques options utiles et que vous utiliserez souvent. Mais sachez que vous n'êtes pas obligés de les taper tout le temps. Pour arriver à cela on va utiliser les alias. Les alias sont des espèces de raccourci que votre shell interprétera tout seul.
[britney ] On va ouvrir un fichier de configuration qui se nomme bashrc. C'est un fichier caché qui se trouve à la racine de votre dossier personnel. Donc : gedit ~/.bashrc (gedit, kate ou autre selon votre goût).
[illovae ] par défaut c'est ~/.bashrc mais ça varie en fonction du shell
[illovae ] si vous êtes sous zsh ça sera ~/.zshrc
[Ptigrouick ] sous bash y'a aussi bash_profile
[britney ] Vous pouvez rentrer des alias en faisant quelque chose de ce genre (un alias par ligne) :
[britney ] alias raccourci='commande -options'
[britney ] Pour ls par exemple : alias ls='ls --classify --tabsize=0 --literal --color=auto --show-control-chars --human-readable'
[Ptigrouick ] mais je me rappelle plus trop la différence avec bashrc
[britney ] alias la='ls -a'
[britney ] Ici 'la' reprendra toutes les options de 'ls' PLUS l'option -a qui sert à voir les fichiers cachés.
[britney ] Si ça vous intéresse voici ma liste d'alias : http://druuna.dud-t.org/c/survivre_dans_son_tty_1/alias.html
[illovae ] comme dit Ptigrouick il y a aussi bash_profile
[Ptigrouick ] cool meurci
[illovae ] bon ce sont juste des exemples
[illovae ] on peut s'amuser à faire un alias pour avoir une corbeille si on veut
[Ptigrouick ] tu peux rappeler la différence bashrc et bash_ptofile ?
[Ptigrouick ] profile
[thracybulle ] Question stupide : avec les alias, on peut franciser le terminal (pour les petits vieux)
[Ptigrouick ] tiens un fan de vi :-)
[thracybulle ] prend-il les accents ou les espaces ?
[illovae ] en fait, à la base il y a un fichier de configuration qui se nomme ~/.profile qui sert à configurer le shell
[illovae ] quand on est en mode LOGIN
[Off` ] on peut entrer alias ="commande -option" directement dans le terminal ?
[gpocentek ] thracybulle: les accents oui, les espaces non
[illovae ] bash_profile n'est qu'un héritage de ce fichier ~/.profile, et il est simplement appelé par ~/.bashrc histoire de ne pas surchargé ce dernier
[thracybulle ] ok, merci
[illovae ] thracybulle: franciser le terminal ?
[illovae ] non thracybulle il faut reconfigurer les locales de ton système pour ça
[Ptigrouick ] me semble que y'a une différence si tu lances une console depuis une autre console
[illovae ] sous ubuntu/debian tu peux y arriver par sudo dpkg-reconfigure locales
[illovae ] Ptigrouick: c'est à dire ?
[illovae ] lancer un xterm depuis un xterm ?
[gpocentek ] thracybulle: je suis pas sûr d'avoir compris la question en fait, désolé
[Ptigrouick ] ben les commandes de bash_profile ne sont pas exécutées dans ce cas
[thracybulle ] C'est pas grave, je vais voir par moi-même
[Ptigrouick ] mais je ne suis plus très sûr duquel...
[illovae ] Ptigrouick: normalement non, la seule grosse différence serait de savoir si ton xterm est en mode login ou pas
[illovae ] ça ça pourrait faire une différence
[Ptigrouick ] mouais bon oublies j'ai rien dit... ;-)
[illovae ] mais à priori, bash qu'importe d'où il est lancé lira son ~/.bashrc et s'il y ai fait mention son ~/.bash_profile et ~/.bash_history par exemple
[illovae ] qui est-ce qui voulais faire un alias pour avoir une corbeille tout à l'heure ?
[skateinmars ] (illovae: je conteste ntfs est sensible a la casse ;))
[illovae ] skateinmars: ah ouai ? je dois faire erreur avec fat32 alors :p
[illovae ] allez excercice va, qui me fait des alias pour gérer une corbeille dans le terminal ?
[illovae ] ACTION feignasse
[Ptigrouick ] y'a quoi comme cadeau pour celui qui trouve ?
[illovae ] bah le striptease de britney, mais bon... c'est un bot irc, ça va pas être rigolo :p
[skateinmars ] thracybulle: par exemple alias lister='ls'
[Ptigrouick ] murf
[illovae ] sergio77: toujours présent ?
[thracybulle ] skateinmars :c'est exactement ça
[illovae ] alors personne pour me faire un alias poru une corbeille virtuel ?
[illovae ] s/ virtuel// d'ailleurs
[Ptigrouick ] mdr terrible ton alias skate
[thracybulle ] Remplacer rm par mv dans un fichier temporaire ?
[fx_ ] alias rm='mv $* /home/fgsell/.trash/'
[Ptigrouick ] généralement je fais des alias plus courts que la commande pour ma part...
[skateinmars ] thracybulle: thracybulle ca parait une bonne idee mais au final ca risque de poser des problemes si un jour on doit agir sur un ordi qui n'est pas le sien si on s'y habitue
[illovae ] fx_: yeah correct, tu nous fait celui pour la vider ?
[thracybulle ] ok
[Newb`s ] alias trash_empty='rm -Rf ~/.trash/
[fx_ ] rm_trash='rm -R /home/fgsell/.trash/*'
[Newb`s ] :>
[illovae ] par contre avec cet alias rm ne prendra plus l'option -r car mv n'a pas d'option -r je vous le rappelle
[fx_ ] t'as oublié l'étoile a la fin :p
[Newb`s ] fx_: utilise ~ pour que tout les users puissent l'utiliser
[illovae ] Newb`s: non pas -Rf, là tu supprimes aussi le dossier ~/.trash
[Newb`s ] illovae: et merde :D
[illovae ] Newb`s: regarde la commande de fx_
[fx_ ] :)
[Newb`s ] alias trash_empty='rm -Rf ~/.trash/*'
[Newb`s ] ?
[illovae ] on peut d'ailleurs rajouter une option -f à la commande fx_ pour éviter de devoir dire 'y' à chaque fois
[Newb`s ] hehe
[illovae ] Newb`s: yes correct :)
[illovae ] comme tu viens de le faire :p
[illovae ] des questions sur les alias ?
[hugub ] C'est quoi $*
[Ptigrouick ] au fait tu n'as pas parlé du bashrc commun à tout le monde
[Ptigrouick ] il est dans quel dossier déjà ?
[illovae ] hugub: ça veut dire "tout" ce qui suit après la commande rm
[illovae ] Ptigrouick: dans /etc/
[hugub ] ok
[illovae ] Ptigrouick: et non je vais pas en parler meme
[illovae ] juste pour info, c'set le fichier de configuration de référence de bash
[illovae ] chaque user préférera avoir son propre fichier dans son $HOME
[illovae ] bon on va passer aux quelques commandes utiles
[illovae ] --- QUELQUES COMMANDES UTILES
[illovae ] -- locate
[britney ] Pour rechercher des fichiers, on va utiliser la commande locate (cette commande fait partie du paquet locate disponible par défaut sur toutes les grandes distributions). locate utilise une base de donnée. Pour l'utiliser il faut donc créer/mettre à jour cette base de donnée : sudo updatedb
[britney ] ATTENTION vous voyez nous avons utilisé ici sudo qui vous donne temporairement, le temps de la commande, tous les droits. Elle est nécessaire ici pour effectuer le listing de _tous_ les fichiers présents sur vos disques durs. Votre mot de passe utilisateur vous sera demandé.
[britney ] Cette opération peut prendre pas mal de temps selon la taille de vos disques. La base de donnée étant à jour, vous pouvez rechercher : locate fichier.txt
[illovae ] rien de compliqué
[illovae ] -- less
[britney ] Vous pouvez voir le contenu d'un fichier dans votre terminal grâce à la commande less : less ~/.bashrc Utilisez les flêches haut/bas, les touches j/k pour faire défiler le texte. La barre espace ou PageDown/PageUP servent à faire défiler le texte d'un longueur égale à la hauteur de votre terminal.
[illovae ] noté que ça marche avec les fichiers type texte
[illovae ] n'essayez pas avec une binaire, ça donnera rien de bon :>
[illovae ] -- which
[Ptigrouick ] ouaip pas content le terminal
[britney ] which permet de connaître le path exact d'un exécutable : which ls par exemple tout simplement.
[illovae ] une autre commande très utile :
[illovae ] -- grep
[britney ] less est intéressant si vous voulez voir _tout_ le contenu d'un fichier, mais il peut arriver que vous ne cherchiez que quelque chose de précis. Au lieu d'ouvrir le fichier et de faire une recherche dedans, on peut utiliser la commande grep. Par exemple pour connaître tous les alias de votre ~/.bashrc : grep alias ~/.bashrc (pour avoir de la couleur rajouter l'option --color=auto ; cf mes alias : http://druuna.dud-t.org/c/survivre_dans_son_tty_1
[illovae ] cette option s'avère très pratique
[illovae ] -- tail
[britney ] Un autre truc utile si vous voulez transformer votre terminal en afficheur de log système, la commande tail avec l'option -f : sudo tail -f /var/log/syslog /var/log/dmesg
[britney ] À nouveau, la commande sudo, en effet, pour des raisons de sécurités, il faut avoir des droits pour lire ces fichiers.
[illovae ] -- top
[britney ] Enfin, la commande top qui vous permet de voir quelles sont les tâches en cours sur votre système (pour quitter taper 'q').
[illovae ] vous avez des questions ? ou envie de savoir faire quelque chose que j'ai pas indiqué ?
[Ptigrouick ] en complément de locate il y a aussi find que j'utilise beaucoup
[Ptigrouick ] en fait j'utilise jamais locate...
[illovae ] ah un autre petit truc que j'ai oublié de préciser dans la précipitation
[illovae ] quand on a modifié son ~/.bashrc pour rajouter ses alias
[illovae ] on peut pour que cela soit pris en compte, fermer son terminal et le rouvrir
[illovae ] ou plus simplement utilisé 'source'
[illovae ] notez que source vient avec bash, ça ne marchera pas avec des shells comme dash par exemple
[illovae ] on fait donc source ~/.bashrc
[illovae ] c'est intéressant si on veut tester un bashrc sans modifier le sien aussi : source ~/autrebashrc
[illovae ] on peut faire un alias comme vous l'avez vu dans mes alias reload='source ~/.bashrc'
[illovae ] sinon pour répondre à ton affirmation Ptigrouick, j'utilise find que pour faire des recherches spécifiques
[fx_ ] source c'est quoi comme commande ?
[Ptigrouick ] euh non c'est reload='source .profile' ton alias
[illovae ] fx_: comment ça ?
[illovae ] Ptigrouick: oui mais moi j'utilise un ~/.profile et non un ~/.bashrc ;)
[fx_ ] on peu l'utiliser avec d'autres fichier que .bashrc
[illovae ] fx_: oui oui, n'importe quel fichier, le nom ne compte pas en fait
[fx_ ] ok
[illovae ] pourvu qu'il y ai quelques choses que bash comprend quoi
[illovae ] pour faire une parenthèse sur find
[fx_ ] c(est comme fair /bin/bash ?
[illovae ] fx_: non, parce que /bin/bash va t'exécuter un autre bash dans ton bash déjà ouvert
[fx_ ] ok
[illovae ] donc à propos de find
[fx_ ] merci
[Off` ] et c'est bash
[Off` ] :p
[Off` ] (vache \o/)
[illovae ] il est utile quand on cherche quelque chose de particulier
[Ptigrouick ] qu'est ce que tu entends par "particulier" ?
[illovae ] par exemple je cherche un fichier qui se nomme K90sysklogd dans mon /etc/
[Ptigrouick ] tu peux chercher récursivement aussi
[illovae ] il suffit de faire find -iname 'K90sysklogd' /etc/
[Ptigrouick ] d'ailleurs par défaut c'est récursif
[illovae ] Ptigrouick: oui mais c'est plus sale
[illovae ] là avec une commande tu as ce que tu veux
[illovae ] en plus find peut faire des choses pour toi en plus de trouevr un fichier, il peut te l'ouvrir par exemple
[Ptigrouick ] y'a aussi plein d'autres critères que le nom
[Ptigrouick ] ouaip avec -exec
[illovae ] find -iname 'K90sysklogd' -exec vim {} \;
[Ptigrouick ] par exemple chercher tous les fichiers plus vieux que ...
[illovae ] aussi ouai
[illovae ] des questions ?
[Ptigrouick ] c'était quand même bien de parler du find je pense ;-)
[illovae ] Ptigrouick: oui tout à fait, mais il mériterai un cours à lui tout seul
[illovae ] bon on va terminer par une présention des redirections
[illovae ] --- TOPO RAPIDES SUR LES REDIRECTIONS
[britney ] Les redirections servent à envoyer le résultat d'une commande vers un fichier. On aura donc quelque chose qui ressemble à ceci : echo "ceci est une ligne" > ~/u-classroom/fichier.txt
[britney ] Notez que > écrasera le fichier.txt. Si vous voulez rajouter "ceci est une ligne à la fin du fichier fichier.txt il faut alors doubler le >> soit : echo "ceci est une autre ligne" >> ~/u-classroom/fichier.txt
[britney ] Sous bash, les redirections sont celles-ci :
[britney ] commande > fichier ; redirige la sortie standard générée par la commande vers fichier (on peut aussi faire commande 1> fichier). La sortie standard EST la sortie que vous voyez dans votre terminal.
[britney ] commande 2> fichier ; idem que la précédente mais _que_ pour les erreurs.
[britney ] commande 2>&1 ; redirige la sortie d'erreur vers la sortie standard.
[britney ] commande &> fichier ; redirige la sortie d'erreur et la sortie standard vers fichier.
[illovae ] je dis sous bash parce que par exemple, certaines peuvent changer sous zsh
[illovae ] et il peut y en avoir d'autres aussi
[Off` ] tu veux dire quoi par sortie stantard ?
[barakat ] l'ecran
[illovae ] alors la sortie standard c'est la sortie dans ton terminal
[Ptigrouick ] le terminal
[skateinmars ] Off`: c'est ce que tu vois sur ton terminal en gros
[Off` ] ok :)
[barakat ] ouais
[illovae ] Off`: par exemple si tu fais echo "ceci est une ligne"
[illovae ] tu verras ceci est une ligne dans la sortie standard
[skateinmars ] (note qu'on voie aussi au meme endroit la sortie d'erreurs :))
[illovae ] tout à fait
[illovae ] on différentie les deux : STDOUT pour la sortie standard et STDERR pour les erreurs
[illovae ] ceci sera surement vu plus en détails lors du cours sur le scripting shell
[illovae ] des questions ?
[Ptigrouick ] ouais vivement le cours sur le scripting !!
[illovae ] oui bientôt bientôt ;)
[barakat ] c'est pour quand le cours de scripting??
[illovae ] allez pour finir
[Ptigrouick ] mouarf !
[britney ] Un petit wallpaper bien utile que vous connaissez peut-être si on débute pour avoir les principales commandes constamment sous le nez : http://druuna.dud-t.org/c/survivre_dans_son_tty_1/linux_wallpaper_for_begginners.jpg
[Off` ] ^^
[illovae ] sergio77: ça peut t'être utile ça : http://druuna.dud-t.org/c/survivre_dans_son_tty_1/linux_wallpaper_for_begginners.jpg
[Ptigrouick ] ouais cool je connaissais les cheat sheet mais en wallpaper je connaissais pas
[fx_ ] Il y aura des cours sur find, sed, awk ?
[illovae ] bah le cours sur le scripting, on a pas encore de date fixe, on a un planning de cours avant
[hugub ] Sympa !
[gpocentek ] fx_: probablement
[illovae ] fx_: oui oui
[Off` ] j'avais vu une fois un qui lui ressemblais
[Off` ] mais avec moi commandes :x
[Off` ] moins*
[illovae ] voilà, c'set la fin du cours, si vous avez envie de revenir sur certaines choses, on peut :)
[illovae ] merci à tous pour votre écoute et votre aide :p
[thracybulle ] ok merci.
[Ptigrouick ] bah au bureau j'ai un dual screen je mettrai ça sur un des écrans ;-)
[kinouchou ] merci , c'était sympa
[Ptigrouick ] merci illovae
[milk` ] merci
[Ptigrouick ] c'était super
[Off` ] merci
[illovae ] si vous voulez on peut s'amuser à modifier le prompt ou voir comment configurer un xterm
[barakat ] Merci encore
[gpocentek ] merci illovae \o/
[Ptigrouick ] vivement le scripting
[illovae ] merci à tous *^^*
[hugub ] Merci illovae !
[Off` ] maintenant, strip-tease :p
[illovae ] Off`: :D
[Ptigrouick ] ah ben non un pti peu de prompt avant
[barakat ] putain on le perd off
[illovae ] Ptigrouick: ouai ?