Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
people:cossou [2017/08/31 12:42] ccossou créée |
people:cossou [2017/09/01 17:47] (Version actuelle) ccossou |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{>toc}} | + | Pour toute question: |
+ | |||
+ | Bureau 331 du batiment 121 | ||
+ | |||
+ | mail: christophe.cossou@ias.u-psud.fr | ||
Tous mes tutoriels .pdf sont en français. Ils sont écrits et peaufinés au fur et à mesure de leur utilisation. Certains deviennent très denses (LaTeX, Linux, Fortran). Certains sont devenus des pavés sans jamais acquérir la clarté que j'aurais voulu leur donner (C, C++, Java). En espérant qu'ils vous soient utiles. | Tous mes tutoriels .pdf sont en français. Ils sont écrits et peaufinés au fur et à mesure de leur utilisation. Certains deviennent très denses (LaTeX, Linux, Fortran). Certains sont devenus des pavés sans jamais acquérir la clarté que j'aurais voulu leur donner (C, C++, Java). En espérant qu'ils vous soient utiles. | ||
- | h1. Commandes terminal en vrac | + | Si vous avez un soucis avec un lien vers un tutoriel .pdf (les liens ont l'air de casser quand la compilation LaTeX échoue une fois, car Dropbox considère que le fichier est supprimé, puis qu'un nouveau est créé). vous pourrez récupérer le fichier à la main à partir de ce lien, qui pointe vers la totalité de mes tutoriels LaTeX, les dossiers sont explicites: |
+ | |||
+ | [[https://www.dropbox.com/sh/hujvpsju7j96r7n/AACEYfRnFwiYgPwkjFSZ-YI3a?dl=0|Dossier Tutoriels]] | ||
+ | |||
+ | ====== Commandes terminal en vrac ====== | ||
- | h2. problème de terminal qui fait n'importe quoi | + | ===== problème de terminal qui fait n'importe quoi ===== |
Parfois, une application laisse le terminal dans un état bizarre. par exemple, un appui sur entrée de crée pas de nouvelle ligne. Parfois aussi, comme j'ai eu tout à l'heure, les caractères d'input ne sont plus affichés. Bref, pour tout ça, la commande magique qui remet le terminal dans un état bien comme il faut : | Parfois, une application laisse le terminal dans un état bizarre. par exemple, un appui sur entrée de crée pas de nouvelle ligne. Parfois aussi, comme j'ai eu tout à l'heure, les caractères d'input ne sont plus affichés. Bref, pour tout ça, la commande magique qui remet le terminal dans un état bien comme il faut : | ||
- | <code>reset | + | <code> |
+ | reset | ||
+ | </code> | ||
- | </code>h2. Create folder recursively | + | ===== Create folder recursively ===== |
To create several folder levels at once: | To create several folder levels at once: | ||
- | <code>mkdir -p toto/tata/titi/subfolder | + | <code> |
+ | mkdir -p toto/tata/titi/subfolder | ||
+ | </code> | ||
- | </code>h2. Attach stdout of a given process to terminal | + | ===== Attach stdout of a given process to terminal ===== |
+ | <code> | ||
strace -ewrite -p 12575 | strace -ewrite -p 12575 | ||
+ | </code> | ||
(get the process ID through: | (get the process ID through: | ||
+ | <code> | ||
ps aux | grep "python" | ps aux | grep "python" | ||
+ | </code> | ||
- | h2. find login from UID (or inversely) | + | ===== find login from UID (or inversely) ===== |
+ | <code> | ||
getent passwd|grep "537" | getent passwd|grep "537" | ||
+ | </code> | ||
inversely : | inversely : | ||
+ | <code> | ||
getent passwd|grep "ccossou" | getent passwd|grep "ccossou" | ||
+ | </code> | ||
or simpler : | or simpler : | ||
+ | <code> | ||
id ccossou | id ccossou | ||
+ | </code> | ||
- | h2. Chercher un mot récursivement dans tous les fichiers d'un dossier | + | ===== Chercher un mot récursivement dans tous les fichiers d'un dossier ===== |
- | <code>grep -rnw "ima_simulation.ini" . | + | <code> |
+ | grep -rnw "ima_simulation.ini" . | ||
+ | </code> | ||
- | </code>h2. Create a tree of subdirectories of the pwd : | + | ===== Create a tree of subdirectories of the pwd : ===== |
+ | <code> | ||
find . | sed 's/[^/]*\//| /g;s/| *\([^| ]\)/+--- \1/' | find . | sed 's/[^/]*\//| /g;s/| *\([^| ]\)/+--- \1/' | ||
+ | </code> | ||
+ | |||
Change permissions for folders and files (folder need x to be read, file don't) | Change permissions for folders and files (folder need x to be read, file don't) | ||
- | h2. Change directories to 755(-rwxr-xr-x) and files to 644 (-rw-r--r--) : | + | ===== Change directories to 755(rwxr-xr-x) and files to 644 (-rw-r–r-) : ===== |
+ | <code> | ||
chmod -R u+rwX,go+rX,go-w /path | chmod -R u+rwX,go+rX,go-w /path | ||
+ | </code> | ||
- | ("X" change x only to directories) | + | ("X" change x only to directories) Search for a word in all files of a directory : |
- | Search for a word in all files of a directory : | + | |
+ | <code> | ||
grep -rnw "/etc" -e "romeovisu1" | grep -rnw "/etc" -e "romeovisu1" | ||
+ | </code> | ||
+ | |||
Trouver les fichiers de log relatif à un programme : | Trouver les fichiers de log relatif à un programme : | ||
- | h2. Trouver le pid du programme en train de tourner : | + | ===== Trouver le pid du programme en train de tourner : ===== |
+ | <code> | ||
[root@aero8 ~]# ps -ef | grep slurm | [root@aero8 ~]# ps -ef | grep slurm | ||
- | root 2174 1 0 Feb05 ? 00:00:01 /usr/sbin/slurmd | + | |
- | root 2588 1 0 Feb05 ? 00:00:06 slurmstepd: [697] | + | root 2174 1 0 Feb05 ? 00:00:01 /usr/sbin/slurmd |
- | lionel 2591 2588 0 Feb05 ? 00:00:00 /bin/bash /var/log/slurm/log_slurmd//job00697/slurm_script | + | |
- | root 12033 12006 0 13:35 pts/1 00:00:00 grep slurm | + | root 2588 1 0 Feb05 ? 00:00:06 slurmstepd: [697] |
+ | |||
+ | lionel 2591 2588 0 Feb05 ? 00:00:00 /bin/bash /var/log/slurm/log_slurmd//job00697/slurm_script | ||
+ | |||
+ | root 12033 12006 0 13:35 pts/1 00:00:00 grep slurm | ||
+ | </code> | ||
regarder les fichiers ouverts par ce programme et qui contiennent "log" dans leur chemin : | regarder les fichiers ouverts par ce programme et qui contiennent "log" dans leur chemin : | ||
+ | <code> | ||
[root@aero8 ~]# lsof -p 2174 | grep -i log | [root@aero8 ~]# lsof -p 2174 | grep -i log | ||
- | slurmd 2174 root cwd DIR 8,1 4096 524342 /var/log/slurm | ||
- | slurmd 2174 root mem REG 8,1 10783 5509860 /usr/lib64/slurm/topology_none.so | ||
- | slurmd 2174 root 3w REG 8,1 9136 525731 /var/log/slurm/slurmd.log.aero8 | ||
- | h2. Trouver le PID parent | + | slurmd 2174 root cwd DIR 8,1 4096 524342 /var/log/slurm |
+ | |||
+ | slurmd 2174 root mem REG 8,1 10783 5509860 /usr/lib64/slurm/topology_none.so | ||
+ | |||
+ | slurmd 2174 root 3w REG 8,1 9136 525731 /var/log/slurm/slurmd.log.aero8 | ||
+ | </code> | ||
+ | |||
+ | ===== Trouver le PID parent ===== | ||
On peut créer l'alias suivant | On peut créer l'alias suivant | ||
- | <code># To retrieve the parent pid of a given process | + | <code> |
+ | # To retrieve the parent pid of a given process | ||
alias ppid='ps -o ppid= -p' | alias ppid='ps -o ppid= -p' | ||
+ | </code> | ||
- | </code>, et y faire appel de la façon suivante : | + | , et y faire appel de la façon suivante : |
- | <code>ppid 74015 | + | <code> |
+ | ppid 74015 | ||
+ | </code> | ||
- | </code>h2. Informations sur un PID | + | ===== Informations sur un PID ===== |
Commandes correspondant à un PID donné : | Commandes correspondant à un PID donné : | ||
- | <code>glx-herschel3.ccossou:~$ ps -p 48736 -o args | + | <code> |
+ | glx-herschel3.ccossou:~$ ps -p 48736 -o args | ||
COMMAND | COMMAND | ||
python launch_supremePhoto.py object_obsids.txt 10 /data/glx-herschel/data1/herschel/ | python launch_supremePhoto.py object_obsids.txt 10 /data/glx-herschel/data1/herschel/ | ||
+ | </code> | ||
- | </code>Informations générales | + | Informations générales |
- | <code>ps -p $PID | + | <code> |
+ | ps -p $PID | ||
+ | </code> | ||
- | </code>h2. Partager des fichiers (sticky bit, group) | + | ===== Partager des fichiers (sticky bit, group) ===== |
Le sticky bit permet que le groupe d'un dossier soit répercuté sur les fichiers créé à l'intérieur de celui ci | Le sticky bit permet que le groupe d'un dossier soit répercuté sur les fichiers créé à l'intérieur de celui ci | ||
Ligne 100: | Ligne 150: | ||
Pour changer le groupe du dossier : | Pour changer le groupe du dossier : | ||
- | <code>chgrp nom_du_groupe nom_du_dossier | + | <code> |
+ | chgrp nom_du_groupe nom_du_dossier | ||
+ | </code> | ||
- | </code>Pour définir le sticky bit sur ce dossier : | + | Pour définir le sticky bit sur ce dossier : |
- | <code>chmod g+s nom_du_groupe | + | <code> |
+ | chmod g+s nom_du_groupe | ||
+ | </code> | ||
- | </code>h1. Langages de programmation | + | ====== Langages de programmation ====== |
- | h2. C | + | En cas de lien mort d'un tutoriel en particulier, l'url pour le dossier Dropbox complet est disponible au début de cet article. |
- | https://www.dropbox.com/s/u1s3p72lrlszklf/aide-memoire-C.pdf?dl=0 | + | ===== C ===== |
- | h2. C++ | + | [[https://www.dropbox.com/s/u1s3p72lrlszklf/aide-memoire-C.pdf?dl=0|https://www.dropbox.com/s/u1s3p72lrlszklf/aide-memoire-C.pdf?dl=0]] |
- | https://www.dropbox.com/s/u1s3p72lrlszklf/aide-memoire-C.pdf?dl=0 | + | ===== C++ ===== |
- | h2. Fortran | + | [[https://www.dropbox.com/s/jhj76p4lg2e7324/aide-memoire-cpp.pdf?dl=0|https://www.dropbox.com/s/jhj76p4lg2e7324/aide-memoire-cpp.pdf?dl=0]] |
- | https://www.dropbox.com/s/d5k3qspx9s9e84t/aide-memoire-fortran.pdf?dl=0 | + | ===== Fortran ===== |
- | h2. IDL | + | [[https://www.dropbox.com/s/d5k3qspx9s9e84t/aide-memoire-fortran.pdf?dl=0|https://www.dropbox.com/s/d5k3qspx9s9e84t/aide-memoire-fortran.pdf?dl=0]] |
- | https://www.dropbox.com/s/65z26se87fhlz8r/aide-memoire-IDL.pdf?dl=0 | + | ===== IDL ===== |
- | h2. Java | + | [[https://www.dropbox.com/s/65z26se87fhlz8r/aide-memoire-IDL.pdf?dl=0|https://www.dropbox.com/s/65z26se87fhlz8r/aide-memoire-IDL.pdf?dl=0]] |
- | https://www.dropbox.com/s/u1s3p72lrlszklf/aide-memoire-C.pdf?dl=0 | + | ===== Java ===== |
- | h2. Python | + | [[https://www.dropbox.com/s/97vw4vekmepao3d/aide-memoire-java.pdf?dl=0|https://www.dropbox.com/s/97vw4vekmepao3d/aide-memoire-java.pdf?dl=0]] |
- | https://www.dropbox.com/s/uvinfeaqo5ovgl5/python.pdf?dl=0 | + | ===== Python ===== |
- | h2. Python/astro | + | [[https://www.dropbox.com/s/jehsosz56wqj4yr/python.pdf?dl=0|https://www.dropbox.com/s/jehsosz56wqj4yr/python.pdf?dl=0]] |
+ | |||
+ | ===== Python/astro ===== | ||
Le tutoriel Python étant devenu énorme, j'ai fait un autre tutoriel spécifique à l'astro, avec des commandes spécifiques (pour lire des fichiers .fits notamment). Beaucoup d'infos restent cependant disponible dans le tuto Python générique. | Le tutoriel Python étant devenu énorme, j'ai fait un autre tutoriel spécifique à l'astro, avec des commandes spécifiques (pour lire des fichiers .fits notamment). Beaucoup d'infos restent cependant disponible dans le tuto Python générique. | ||
- | https://www.dropbox.com/s/jtrs3sxh2lg9i9s/python_for_astrophysics.pdf?dl=0 | + | [[https://www.dropbox.com/s/jtrs3sxh2lg9i9s/python_for_astrophysics.pdf?dl=0|https://www.dropbox.com/s/jtrs3sxh2lg9i9s/python_for_astrophysics.pdf?dl=0]] |
- | h1. Logiciels | + | ====== Logiciels ====== |
- | h2. Inkscape | + | En cas de lien mort d'un tutoriel en particulier, l'url pour le dossier Dropbox complet est disponible au début de cet article. |
+ | |||
+ | ===== Inkscape ===== | ||
Logiciel de dessin vectoriel que je vous encourage vivement à essayer (libre et gratuit). | Logiciel de dessin vectoriel que je vous encourage vivement à essayer (libre et gratuit). | ||
- | https://www.dropbox.com/s/b0q0p6exunu805g/inkscape.pdf?dl=0 | + | [[https://www.dropbox.com/s/b0q0p6exunu805g/inkscape.pdf?dl=0|https://www.dropbox.com/s/b0q0p6exunu805g/inkscape.pdf?dl=0]] |
+ | |||
+ | ===== LaTeX ===== | ||
+ | |||
+ | [[https://www.dropbox.com/s/9uc3y47jua3sy8f/debuter avec TeX.pdf?dl=0|https://www.dropbox.com/s/9uc3y47jua3sy8f/debuter%20avec%20TeX.pdf?dl=0]] | ||
+ | |||
+ | ===== Emacs ===== | ||
- | h2. LaTeX | + | [[https://www.dropbox.com/s/yyuh4putftvomrk/aide-memoire-emacs.pdf?dl=0|https://www.dropbox.com/s/yyuh4putftvomrk/aide-memoire-emacs.pdf?dl=0]] |
- | https://www.dropbox.com/s/9uc3y47jua3sy8f/debuter%20avec%20TeX.pdf?dl=0 | + | ===== Vim ===== |
- | h2. Emacs | + | [[https://www.dropbox.com/s/naf3dff0dnqrgyz/aide-memoire-vim.pdf?dl=0|https://www.dropbox.com/s/naf3dff0dnqrgyz/aide-memoire-vim.pdf?dl=0]] |
- | https://www.dropbox.com/s/yyuh4putftvomrk/aide-memoire-emacs.pdf?dl=0 | + | ====== Gestionnaires de version ====== |
- | h2. Vim | + | En cas de lien mort d'un tutoriel en particulier, l'url pour le dossier Dropbox complet est disponible au début de cet article. |
- | https://www.dropbox.com/s/naf3dff0dnqrgyz/aide-memoire-vim.pdf?dl=0 | + | ===== Git ===== |
- | h1. Gestionnaires de version | + | [[https://www.dropbox.com/s/t5sqpc4po8mjzx7/aide-memoire-git.pdf?dl=0|https://www.dropbox.com/s/t5sqpc4po8mjzx7/aide-memoire-git.pdf?dl=0]] |
- | h2. Git | + | ===== Subversion ===== |
- | https://www.dropbox.com/s/t5sqpc4po8mjzx7/aide-memoire-git.pdf?dl=0 | + | [[https://www.dropbox.com/s/l2tr318w3b5ebkc/aide-memoire-subversion.pdf?dl=0|https://www.dropbox.com/s/l2tr318w3b5ebkc/aide-memoire-subversion.pdf?dl=0]] |
- | h2. Subversion | + | ====== Autres ====== |
- | https://www.dropbox.com/s/l2tr318w3b5ebkc/aide-memoire-subversion.pdf?dl=0 | + | En cas de lien mort d'un tutoriel en particulier, l'url pour le dossier Dropbox complet est disponible au début de cet article. |
- | h1. Autres | + | ===== Gnuplot ===== |
- | h2. Gnuplot | + | [[https://www.dropbox.com/s/zmcsducn2juc0yj/aide-memoire-gnuplot.pdf?dl=0|https://www.dropbox.com/s/zmcsducn2juc0yj/aide-memoire-gnuplot.pdf?dl=0]] |
- | https://www.dropbox.com/s/zmcsducn2juc0yj/aide-memoire-gnuplot.pdf?dl=0 | + | ===== Linux ===== |
- | h2. Linux | + | [[https://www.dropbox.com/s/80mb7jsmkauxap0/debuter avec Linux.pdf?dl=0|https://www.dropbox.com/s/80mb7jsmkauxap0/debuter%20avec%20Linux.pdf?dl=0]] |
- | https://www.dropbox.com/s/80mb7jsmkauxap0/debuter%20avec%20Linux.pdf?dl=0 | + | {{tag>bash C C++ fortran IDL Java Python Inkscape LaTeX Emacs Vim Git Subversion SVN Gnuplot Linux}} |