Cheatsheet shell / Linux
===
__Comment savoir la version d'un Linux?__
```shell=
cat /etc/os-release
cat /proc/version
```
__Comment lancer un fichier par CRON ?__
```shell
#pour exporter le fichier cron
crontab -l > mycrons.txt
#Ensuite, modifier, ajouter, supprimer les entrées
Ex:
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (mycrontab.txt installed on Tue Apr 29 16:09:16 2003)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
00 01 * * 0 /var/www/html/btc/maintenance/clean.sh>/dev/null 2>&1
avec le format suivant :
min heure tous-les-jours tous-les-mois jour-ds_semaine script
00 01 * * 0 /var/www/html/btc/maintenance/clean.sh>/dev/null 2>&1
Dimanche = 0
>/dev/null 2>&1 envoie les msg à la poubelle, et pas dans le mail Unix
Autre exemple :
* 1,2 * * 1-5 /home/username/www/cgi-bin/members.cgi
Script lancé à 1 et 2 heure, tous les jours, tous les mois et de Lundi à Jeudi
```
__Comment lancer une cde Unix persistante ?__
```shell
nohup echo "texas.bat -log" |at now &
```
NB: de cette façon, même si l'utilisateur qui a lancé cette commande se déconnecte, le processus
ne sera pas supprimé.
__Comment supprimer tous les fichiers plus vieux que 2 jours ?__
```shell=
find . -mtime +150 -exec rm -rf {} \;
```
__Comment ne pas avoir de timeout lors d'une connexion unix?__
```shell
TIMEOUT = 0
```
__Comment convertir un fichier Unix en Dos à la main ?__
```shell
# dos2unix
cat fichier_dos | sed 's/^M//g' >fichier_unix
# unix2dos :
cat fichier_unix | sed 's/$/^M/' >fichier_dos
```
NB : `^M` doit se taper CTRL-V CTRL-M
__Comment avoir des infos sur la mémoire, les processus, etc.. ?__
```shell
free # avec l'arg -m pour afficher en Mo et non en octects).
```
Rend la mémoire qui reste libre, celle utilisée par les processus et celle qui est mise en cache.
```shell
top -b
# ou
ps -aux
```
Pour trouver les processus qui consomment trop en mémoire et cpu.
```shell
df
```
Affiche la liste des file system avec leur % d'utilisation.
__Comment voir les services lancées au démarrage ?__
Voir dans `/etc/rc.d` (et désactiver ce qui ne sert pas).
__Comment changer la résolution de X ?__
```shell
/etc/X11/xorg.conf
```
__Comment connaitre quel process empêche le démontage d'un volume?--
```shell
lsof +d /chemin du montage
```