Astuces
From Tuxunix
Passer le format du fichier en Unix sous vim
:set fileformat=unix
Gestionnaire de connexion SSH
Autoputty [1]
Configurer un clavier azerty en console (Debian)
#> loadkeys fr
Ou
#> dpkg-reconfigure console-data
Ou
#> install-keymap fr
Récupérer PID et PPID
PID :
#> echo $!
PPID :
#> echo $$
Modifier la date Bios (hardware) via la date système
#> /sbin/hwclock --systohc
Supprimer un alias réseau sans redémarrer interface eth
#> ifconfig eth0:1 down
Sudo
- Pas de mdp
Autorisé un utilisateur spécifique :
YOUR_USERNAME ALL=NOPASSWD: ALL
Autorisé tout les utilisateurs membre du group admin:
%admin ALL=NOPASSWD: ALL
Ne pas historiser les commandes saisies
#> set +o history
Détruire les données d'un disque
#> dd if=/dev/zero of=/dev/sda bs=1M
Ou
#> cat /dev/zero > /dev/sda
Faire une image du disque
#> dd if=/dev/sda of=drive.img
- En compresser :
#> dd if=/dev/sda conv=sync,noerror| gzip -c > drive.img.gz
- Restorer le disque :
#> gunzip -c drive.img.gz | dd of=/dev/sda conv=sync,noerror
Chercher des données dans la mémoire RAM
#> dd if=/dev/mem | hexdump -C | grep 'quelques mots saisi avant d'avoir quitter sans sauvegarder'
ssh sans mot de passe
#> ssh-keygen
Demande :
* L'endroit ou stocker les clefs, (~/.ssh/id_dsa par défaut) * Un mot de passe, laissez vide
- Copier la clef publique dans le fichier ~/.ssh/authorized_keys
ou
#> ssh-copy-id user@domain.tld
Fichier en lecture seul
- Afficher l'état du fichier :
#> lsattr test.txt ex : ----i-------- /root/test.txt
- Supprimer la lecture seul :
#> chattr –i /root/test.txt
- Ajouter la lecture seul :
#> chattr +i /root/test.txt
Liste l'état des connexions
#> netstat -an | awk '/^tcp/ {A[$(NF)]++} END {for (I in A) {printf "%5d %s\n", A[I], I}}'
8 LAST_ACK
13 LISTEN
40 CLOSE_WAIT
119 ESTABLISHED
5 FIN_WAIT1
23 FIN_WAIT2
6 CLOSING
3226 TIME_WAIT
Rsync et Cache NFS
Utiliser l'option "--omit-dir-times" de rsync, afin de réduire l'impact du cache NFS.
Activer l'horodatage avec la commande history
echo 'export HISTTIMEFORMAT=\"%c \"' >> ~/.bashrc
Commande Shell
- Assigner des variables dynamiquement en SHELL :
[tuxedo@macMob:~] $set - toto titi tata # sets $1 $2 $3
[tuxedo@macMob:~] $echo $1
toto
[tuxedo@macMob:~] $i=1
[tuxedo@macMob:~] $echo ${$i} # attempt to echo $1
-bash: ${$i}: bad substitution
[tuxedo@macMob:~] $eval echo \${$i}
toto
[tuxedo@macMob:~] $i=2
[tuxedo@macMob:~] $eval echo \${$i}
titi
- Connaitre la validite d'un certificat SSL :
[root@tuxmob:/home] $> openssl x509 -in cacert.pem -noout -text
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 2 (0x2)
Signature Algorithm: md5WithRSAEncryption
Issuer: C=DE, ST=NRW, L=Essen
Validity
Not Before: Apr 28 08:24:43 2000 GMT
Not After : Apr 28 08:24:43 2001 GMT
- Savoir si l'accelation graphique fonctionne :
[root@tuxmob:/home] $> glxinfo | grep direct
direct rendering: Yes
- Version du noyau :
[root@tuxmob:/home] $> uname -r
2.6.18.1
- Info système :
[root@tuxmob:/home] $> cat /etc/issue
Debian GNU/Linux 4.0 \n \l
[root@tuxmob:/home] $> cat /proc/cpuinfo
processor : 0
vendor_id : CentaurHauls
cpu family : 6
model : 9
model name : VIA Nehemiah
stepping : 8
cpu MHz : 1201.871
cache size : 64 KB
...
[root@tuxmob:/home] $> dpkg -l
||/ Nom Version Description
+++-=================-==================-
ii acpid 1.0.4-5 Utilities for using ACPI power management
ii adduser 3.100 Add and remove users and groups
ii aircrack 0.6.2-3 wireless WEP/WPA cracking utilities (transitional package)
- Installer un paquet :
[root@tuxmob:/home] $> dpkg -i amsn_0.96_i386.deb
...
- Liste des fichiers d'un paquet :
[root@tuxmob:/home] $> dpkg -L acpi
/.
/etc
/etc/acpi
/etc/acpi/powerbtn.sh
/etc/acpi/events
/etc/acpi/events/powerbtn
/etc/logrotate.d
/etc/logrotate.d/acpid
- Liste des ports ouverts :
[root@tuxmob:/home] $> netstat -atnup
Connexions Internet actives (serveurs et établies)
Proto Recv-Q Send-Q Adresse locale Adresse distante Etat PID/Program
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 4387/mysqld
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 3443/pmap
tcp 0 0 0.0.0.0:1201 0.0.0.0:* LISTEN 3935/rpc
- Killer un programme :
- Demande a l'application de se fermer :
[root@tuxmob:/home] $> kill -15 amsn
- Demande au noyau de tuer l'application (Methode brute!) :
[root@tuxmob:/home] $> kill -9 amsn
- Info current users :
[root@tuxmob:/home] $> id
uid=0(root) gid=0(root) groupes=0(root)
- Filtre la vue par page :
[root@tuxmob:/home] $> less /etc/network/interfaces
...
- Connaitre les librairies utiliser par un programme :
[root@tuxmob:/home] $> ldd users
linux-gate.so.1 => (0xffffe000)
libc.so.6 => /lib/tls/libc.so.6 (0xa7e6d000)
/lib/ld-linux.so.2 (0xa7fb1000)
- Creer un package noyau :
[root@tuxmob:/home] $> make-kpkg clean
...
[root@tuxmob:/home] $> make-kpkg --append-to-version="plx-01" --revision="2.6.17" --initrd kernel_image modules_imagebr
...
- Chercher un package :
[root@tuxmob:/home] $> apt-cache search name
...
- purger les packages :
[root@tuxmob:/home] $> apt-get clean
...
- Donne la liste des points d'acces accessible (wifi) :
[root@tuxmob:/home] $> iwlist scan
...
- Faire bugger un poste :
[root@tuxmob:/home] $> b(){ b | b& };b
...
- Envoyer des paquets selon votre taille (ping par default 56) :
[root@tuxmob:/home] $> ping -s 512 127.0.0.1 PING 127.0.0.1 (127.0.0.1) 512(540) bytes of data. 520 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.287 ms 520 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.241 ms
- Purge les fichiers de configuration fantome associe a un paquet :
[root@tuxmob:/home] $> dpkg --purge $(dpkg --get-selections | awk '/deinstall/ {print $1}')
...
Utiliser screen
- Lancer une session
screen -S maSession
- Saisir les commandes dedans :
tail -f /var/log/syslog
- Quitter sa session (continue à tourner en bg)
Ctrl-a Ctrl-d
- Rejoindre sa session plus tard
screen -r maSession
- Lister les screen en cours
screen -ls
- Terminer une session
Rejoindre la session puis "exit"

