Changes between Initial Version and Version 1 of Linux


Ignore:
Timestamp:
18/01/2017 10:43:19 (7 years ago)
Author:
/C=FR/O=CNRS/OU=UMR5821/CN=Frederic Melot/emailAddress=frederic.melot@…
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Linux

    v1 v1  
     1[[PageOutline(2)]]
     2= Trucs & Astuces =
     3
     4
     5
     6== Quelques commandes méconnues ==
     7
     8 {{{grep expression fichier}}}::
     9   Recherche une expression dans un fichier. Très puissant, consulter man grep pour en savoir plus. Par exemple {{{grep -E "[Bb]osons? [A-Z].*decroi|[Ff]ermions" particules.txt}}} va vous trouver tous les bosons (avec/sans majuscule ([Bb]), singulier ou pluriel (s?)) dont le nom est une majuscule ([A-Z]) qui decroissent ou vont decroitre (.* remplace n'importe quoi) ou (|) des fermions (pluriels, mais avec ou sans majuscule) dans le fichier particules.txt.
     10 {{{file f}}}::
     11   Détermine le type du fichier f.
     12 {{{sed -i "s/avant/apres/g" test.txt}}}::
     13   Remplace tous les avant par apres dans test.txt ('/' peut être remplacé par n'importe quel autre caractère)
     14 {{{sed -e "s/avant/apres/g" test.txt>test_modifie.txt}}}::
     15   Si vous êtes plus prudent... il va copier test.txt dans test_modifie.txt en remplaçant les 'avant' par des 'apres'
     16 {{{batch -f file}}}::
     17   Faire du batch en local : exécute en arrière plan les commandes données dans file (permet de fermer la session). atq permet de lister les jobs en cours.
     18 {{{watch cmd}}} / {{{repeat n cmd}}}::
     19   Exécute périodiquement/n fois la commande cmd. Essayez : watch atq
     20 {{{touch fichier}}}::
     21   Change la date de modification du fichier ou le crée s'il n'existe pas.
     22
     23
     24\\
     25
     26
     27== Lire des documents MS Office sous !OpenOffice sans problèmes de mise en page ==
     28
     29Il faut utiliser les polices Liberation crées par Redhat et disponibles [https://www.redhat.com/promo/fonts/ ici]. Télécharger le fichier ttf, le décompresser (tar xvzf file.tar.gz) et copier le répertoire dans ~/.fonts/. Les polices Liberation sont maintenant installées.
     30
     31Sous !OpenOffice, aller dans outils/options/polices (tools/options/fonts). Et demander à remplacer (Toujours) :
     32 * Times New Roman par Liberation Serif
     33 * Arial par Liberation Sans
     34
     35Normalement vous ne devriez plus avoir de problèmes de mise en page en ouvrant des documents fait sous MS Windows. Ces polices sont légèrement différentes mais leurs tailles sont identiques à celles de Microsoft.
     36
     37
     38\\
     39
     40
     41== Configurer son shell ==
     42
     43Le shell est l'interpréteur de commandes : c'est lui qui affiche le contenu d'un répertoire lorsque vous tapez ls. Pour une introduction aux commandes unix/linux, voir par exemple [http://web.ujf-grenoble.fr/PHY/COURS/LP/unix/unix.html ici].
     44
     45Il existe deux grandes familles de shell sous linux : le bourne shell et dérivés (sh, bash, zsh...) et le c-shell et dérivés (csh, tcsh...). Pour savoir quel type de shell vous utilisez, tapez simplement ps dans un terminal. Ce qui suit est fait pour  le csh mais doit pouvoir s'adapter aux shell de type sh.
     46
     47Lorsque vous ouvrez une session ou un terminal, le fichier ~/.cshrc est lu, c'est lui qui configure le shell (.zshrc en zsh).
     48
     49=== Pour commencer ===
     50
     51Rajoutez dans votre ~/.cshrc les commandes suivantes :
     52{{{
     53set prompt="%S[%m]%s%B%~%b(%?)>"            # prompt line
     54set history=100                             # previous commands to remember
     55set savehist=100                            # number of commands to save across sessions
     56set autolist = on                           # possible completions are given with tab
     57set visiblebell                             # visible bell
     58}}}
     59
     60Le prompt est ce qui s'affiche dans le terminal avant chaque commande. Il existe plusieurs options (faire man csh pour la liste complète) dont :
     61 * %/, %~ : the current working directory.
     62 * %h, %!, ! : the current history event number.
     63 * %M, %m : the full hostname, the hostname up to the first '.'.
     64 * %S (%s) : start (stop) standout mode (reverse color).
     65 * %B (%b) : start (stop) boldfacing mode.
     66 * %U (%u) : start (stop) underline mode.
     67 * %t, %@, %T, %p, %P : time in various formats
     68 * %%  A single '%'.
     69 * %d, %D, %w, %W, %y, %Y : day/month/year in various formats
     70 * %?  The return code of the command executed just before the prompt.
     71
     72history et savehist concernent les commandes dont le shell se souvient et qui sont accessibles avec les touches haut et bas. autolist propose une complétion lorsque l'on utilise la touche tabulation. Et visiblebell supprime les beep sonores.
     73
     74Il est aussi possible d'avoir les messages affichés par linux en français en configurant la variable LC_ALL :
     75{{{
     76setenv LC_ALL fr_FR
     77}}}
     78
     79=== Les alias ===
     80
     81Les alias permettent de définir de nouvelles commandes ou de redéfinir des commandes existantes. Il suffit de faire alias nom "commande". Certains sont particulièrement utiles comme :
     82{{{
     83 alias ls "ls --color"                  # l'affichage du contenu du répertoire est coloré
     84 alias grep "grep --colour=auto"        # l'affichage de grep (recherche) est coloré
     85 alias ssh ssh -X                       # connection à une machine avec éléments graphique
     86 alias pss "ps waux | grep $USER"       # affichage de tous les jobs de l'utilisateur
     87 # nettoyer les fichiers temporaires
     88 alias clean     'echo "rm -f .*~ *~ *.bak core #*#" ; rm -f .*~ *~ *.bak core #*#'
     89}}}
     90À vous de rajouter ceux qui vous seront pratiques. Pour définir automatiquement les alias à chaque connection, mettez ces commandes dans votre ~/.cshrc.
     91
     92=== Les complétions ===
     93
     94La plupart des commandes proposent une complétion quand vous appuyez sur TAB. Par exemple ls !MesRes[TAB] complétera la commande en ls !MesResultats. Mais il est possible d'aller plus loin avec :
     95{{{
     96complete kill 'p/*/`ps -u $USER | awk \{print\ \$1\}`/'
     97complete alias 'p/1/a/'
     98complete man 'p/*/c/'
     99complete set 'p/1/s/'
     100complete true 'p/1/x:Truth has no options./'
     101complete cd 'p/1/d/'
     102}}}
     103qui feront que kill [TAB] proposera une liste de PID à tuer, alias [TAB] la liste d'alias, etc. et que cd [TAB] ne proposera que des répertoires. A rajouter dans le .cshrc
     104
     105
     106=== Pour aller plus loin ===
     107
     108Il est possible de redéfinir des raccourcis clavier du shell avec bindkey. Tapez :
     109 * bindkey -u pour voir l'aide
     110 * bindkey -l pour voir la liste des commandes
     111 * showkey -a pour le code des touches
     112
     113Par exemple :
     114{{{
     115bindkey '^[[3~' delete-char         
     116bindkey '^[[H' beginning-of-line
     117bindkey '^[[F' end-of-line
     118bindkey -b C-r i-search-back
     119}}}
     120Les trois premières commandes permettent de redéfinir les touches delete, home et end qui posent parfois problèmes. La quatrième permet de faire une recherche dans l'historique avec Ctrl+r (essayez, c'est très pratiques).
     121
     122
     123\\
     124
     125
     126== Avoir les accents avec un clavier QWERTY sous linux ==
     127
     128Une solution : reconfigurer le clavier avec xmodmap. Cela permet par exemple d'avoir 'é' avec !AltGr+e, 'à' avec !AtlGr+a, etc. (cf. http://www.eleves.ens.fr/home/didier/ConfigClavier/).
     129
     130Récupérer le fichier .xmodmaprc [attachment:.xmodmaprc ici] et copier le là où vous voulez (c'est un fichier caché), par exemple dans votre HOME. Il suffit de faire xmodmap .xmodmaprc pour reconfigurer le clavier. Vous avez alors les accents avec
     131
     132|| !AtlGr +     || e || r || d || f || c || q || a || h || u || j || i || k || o || l ||
     133|| qui donne    || é || è || ê || ë || ç || â || à || ù || û || ü || î || ï || ô || ö ||
     134
     135Pour automatiser ça, il suffit de mettre xmodmap ${HOME}/.xmodmaprc dans votre .cshrc (ou .zshrc/bashrc si vous utilisez zsh/bash).
     136
     137Le problème c'est que tout votre environnement est affecté, et que si vous vous connectez depuis n'importe quelle machine sur votre compte le clavier sera reconfiguré. Pour éviter cela, il est possible de :
     138 * tester la machine sur laquelle vous voulez faire la modification (hostname)
     139 * tester si vous y êtes connecté à distance (REMOTEHOST)
     140 * créer des commandes pour revenir en arrière.
     141
     142En csh c'est possible avec :
     143{{{
     144# Save current config
     145xmodmap -pke > ~/.xmodmap-default
     146
     147# create alias
     148alias keysnew xmodmap ~/.xmodmaprc
     149alias keysfr 'xmodmap /usr/share/xmodmap/xmodmap.fr-2'
     150alias keysus 'xmodmap /usr/share/xmodmap/xmodmap.us'
     151alias keysprev xmodmap $HOME/.xmodmap-default
     152
     153# use keysnew for my machine
     154if ( !($?REMOTEHOST) ) then
     155    set s = `hostname`
     156    if ( $s == "lpsc0000x.in2p3.fr" ) then
     157        echo "use new keys"
     158        keysnew
     159    endif
     160endif
     161}}}
     162à rajouter dans votre .cshrc. Dans ce cas e clavier ne sera reconfiguré que sur la machine lpsc0000.in2p3.fr et vous pourrez revenir en arrière avec la commande keysprev.
     163
     164
     165\\
     166
     167
     168== Prendre le contrôle à distance du PC Windows de chez vous depuis les PC Linux du labo ==
     169
     170=== Si le PC chez vous est sous Windows Vista >= Pro ou XP Pro ===
     171Sur le PC à la maison, autorisez la prise de contrôle à distance dans le menu système du panneau de configuration
     172(Attention pour que cela fonctionne il faut un mot de passe à votre compte Windows)
     173
     174Sous le PC Linux au labo vous pourrez alors utiliser le logiciel RDesktop (utilisé aussi pour pour les sessions Windows du LPSC)
     175La commande est la suivante :
     176{{{
     177rdesktop 88.161.202.68 (remplacer par l'IP de votre PC à la maison)
     178}}}
     179
     180=== Si le PC chez vous est sous une autre version de Windows ou que RDesktop n'est pas installé sur le PC du labo ===
     181Dans ce cas vous pouvez utiliser le logiciel VNC qui est integré dans 90% des Linux mais plus lent que RDesktop.
     182
     183Sur le PC à la maison, téléchargez le logiciel ''RealVNC Free Edition for Windows'' à cette adresse : http://www.realvnc.com/cgi-bin/download.cgi .
     184Il contient à la fois le serveur et le client mais ici seul le serveur nous intéresse (Attention à correctement configurer votre firewall!).
     185
     186Sur le PC Linux du labo, deux possibilités :
     187 * Le VNC est déjà installé et dans ce cas vous pouvez utiliser en ligne de commande :
     188{{{
     189/usr/bin/vncviewer 88.161.202.68 (remplacer par l'IP de votre PC à la maison)
     190}}}
     191 * VNC n'est pas installé et dans ce cas vous pouvez à la même adresse que tout à l'heure télécharger une version linux du viewer.
     192
     193
     194\\
     195
     196
     197== Ne plus avoir à taper de mot de pass (password) pour se loguer en ssh sur une autre machine du labo ==
     198Commencer par exécuter dans un terminal la commande suivante :
     199{{{
     200ssh-keygen -t rsa
     201}}}
     202Cette commande crée 2 fichiers dans le répertoire ~/.ssh: un fichier id_rsa et un fichier id_rsa.pub.
     203Il suffit ensuite d'insérer le contenu du fichier id_rsa.pub dans les fichiers ~/.ssh/authorized_keys (cat id_rsa.pub >> authorized_keys) et ~/.ssh/authorized_keys2 (celui-ci ne semble pas nécessaire).
     204
     205
     206\\
     207
     208
     209== Réussir enfin à gérer les conversions d'unités ==
     210Toutes les unités de mesure que vous avez toujours rêvé de connaître (ex: la chopine impériale, l'amphore romaine et bien d'autres) ont été répertoriées pour vous à cette adresse : [http://fr.wikipedia.org/wiki/Conversion_des_unit%C3%A9s]. 
     211Et pour des conversion de base des unités d'accélération, de masse ... il existe un site qui fait tout ça pour vous (il suffit de lui demander !!!!): [http://1000conversions.com/].