CodeSnippets

(redirected from Wiki.Tips)

Afficher les plus gros fichiers d'un répertoire

Pour avoir la liste des plus gros dossiers sur le système:
du -a . | sort -n -r | head -n 10

Redirection de domain.com vers www.domain.com

Redirection dans vhost de domain.com vers www.domain.com:
<VirtualHost *:80>
        ServerName domain.com
        Redirect / http://www.domain.com/
</VirtualHost>
Si vous voulez faire une redirection complète, avec l'URL:
<VirtualHost *:80>
        ServerName domain.com
        RedirectMatch 301 ^(.*) http://www.domain.com$1
</VirtualHost>

Scanner les ports SSH d'un réseau:

Pour afficher toutes les machines présentes sur un LAN:
nmap -sP 192.168.2.1-200 | grep up
nmap -oG - -p 22 192.168.0.2-200  | grep 22
nmap -sV -p 22 10.0.82.0/24

Tuer tous les processus d'un user

C'est simple:
pkill -u <user>

Argument list too long

On a plusieurs solutions:
find $dir -type f -name '*.aud' | xargs rm -f
find $dir -type f -name '*.aud' -delete
find $dir -type f -name '*.aud' -exec rm -rf {}\;
# ou
for file in $dir
do
    rm -f $file
done

Source

Faire un backup des droits et propriétaires d'un répertoire

L'idée est de faire une sauvegarde des droits d'un répertoire, avant de bidouiller dessus. On peut aussi récupérer les informations à partir d'un backup pas trop vieux ;-)

  • Pour les droits:
    find * -name \* -exec stat -c '%a %n' {} \; > perm.bak
    Pour récupérer les droits:
    while read line; do echo "chmod $line"; done < perm.bak
    
  • Pour les propriétaires:
    find * -name \* -exec stat -c '%U:%G %n' {} \; > owner.bak
    Pour récupérer les propriétaires:
    while read line; do echo "chown $line"; done < owner.bak
    

Archives

tar, gzip, tar.gzip, bzip2, tar.bzip, zip, rar ... La liste pour les (dé)compresser ou sinon réflexe apt get install dtrx.

Redirection d'erreurs

Redirections d'erreurs dans trou noir: sudo sh /opt/kelios-dump/kelios_dump_start.sh > /dev/null 2>&1

Nombre d'IP distante connectée sur un service

Cette commande affiche le nombre de connexion ouvertes par IP pour un port donné d'un serveur:
netstat -lnpta | grep <IP>:<PORT> | awk '{print $5}' | cut -d : -f1 | sort -n | uniq -c | sort -g

Creation d'utilisateur

Parceque le lapsus useradd et adduser me gonfle, j'y colle mes bonnes lignes:
useradd -s /usr/sbin/nologin -r -M -d /etc/nginx nginx

# Creation d'un utilisateur system (bon pour un deamon)
useradd -s /usr/sbin/nologin -r -d /etc/nginx nginx

Udev

Pour parcourir tous les attributs d'un device udev, la bonne commande est:
udevadm info --name=/dev/vda --attribute-walk

IPTables

Voici quelques regles:
# Rediriger tout le traffic sortant vers une IP sur un port différent:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport $SRC_PORT  -d $DEST_IP  -j REDIRECT --to-port  $DEST_PORT
# Rediriger tout le traffic entrant en provenance d'une IP sur un port different
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport $SRC_PORT  -s $SRC_IP  -j REDIRECT --to-port  $DEST_PORT

Changer les droits de manière récursive

pour changer les droits de manière récursive sans tout casser les droits différents entre des fichiers, des dossiers, des liens ...

  • Des fichiers:
    find . -type f | xargs chmod 660
    find . -type f -exec  chmod 660 {} \;
  • Des dossiers:
    find . -type d | xargs chmod 770
    find . -type d -exec  chmod 770 {} \;
  • Des liens:
    find . -type l | xargs chmod 777

Afficher la memoire utilisee par son browser

Le tip viens de chez mon homonyme:
ps -ev | grep -i firefox | awk '{print $9}' | awk '{for(i=1;i<=NF;i++)s+=$i}END{print "Firefox is using "s"% of total memory."}'
ps -ev | grep -i chrom | awk '{print $9}' | awk '{for(i=1;i<=NF;i++)s+=$i}END{print "Chrome is using "s"% of total memory."}'

Definir l'heure d'un serveur one shot

Ca aide pour une premiere synchro, a default de NTP:
date -s "$(curl  -G --data-urlencode "format=%Y-%m-%d %H:%M:%S %z\n" http://www.timeapi.org/utc/now? )" -u
Ainsi vous etes synchro avec UTC, il n'y a plus qu'a définir l'heure materielle et la bonne time zone:
# Debian8/Centos 7 - Synchro hardware
hwclock --systohc
# Debian8/Centos 7 - Timezone
timedatectl set-timezone UTC
timedatectl set-timezone America/Toronto
Pour vérifier:
hwclock --show
date

Note: En est bien d'accord que si on veut faire les choses proprement, on installe NTP, hein :)

Aficher les vhosts de Apache de manière cool

C'est plus jolie: /usr/sbin/apache2ctl -S 2>&1 | perl -ne 'm@.*port\s+([0-9]+)\s+\w+\s+(\S+)\s+\((.+):.*@ && do { print "$2:$1\n\t$3\n"; $root = qx{grep DocumentRoot $3}; $root =~ s/^\s+//; print "\t$root\n" };' Note: Marche pas terrible avec la correspondance des DocRoot

Structure de contrôle usuelles

Il y'a le classic for, qui marche bien tant qu'il n'y a pas d'espace dans valeurs à parser:
for i in $(cat /mon/file) ; do echo $i ; done
Et puis il y'a le while line, qui lui permet de faire ça proprement:
while read i ; do echo $i ; done < /mon/file

Dead SSH client sessions

Oui, quand une sessions SSH est morte, en général, on ferme la fenêtre ... et on perd l'historique du shell. Pas cool. Pour fermer une sessions SSH mort, il suffit de taper tilde et un point: ~.. Ça ferme la session SSH proprement. Enfait, il n'y a pas que ce truc, y'en a d'autres:
  ~.  - terminate connection (and any multiplexed sessions)
  ~B  - send a BREAK to the remote system
  ~C  - open a command line
  ~R  - Request rekey (SSH protocol 2 only)
  ~^Z - suspend ssh
  ~#  - list forwarded connections
  ~&  - background ssh (when waiting for connections to terminate)
  ~?  - this message
  ~~  - send the escape character by typing it twice

Nettoyer un fichier texte

Quand ça vient de Windows, il reste souvent de la merde au cul des lignes. Voici une méthode pour corriger ça sans installer de packet comme dos2unix:
perl -pi -e 's:^V^M::g' mon_fichier_sale > mon_ficiher_propre

Trouver et faire un récap des fichiers .htaccess

Pour les trouver ces coquins, rien de plus facile, pour cela mettez vous dans le répertoire à scanner:
pwd; tail -n 9999999999 $(find -name '.*' | grep -v pageindex | tr '\n' ' ' ) | grep -v -E '(^#)|(^$)'

Hardware Virtualisation

Pour vérifier si la virtualisation matérielle est disponible, doit retourner quelque chose:
egrep ‘(vmx|svm)’ /proc/cpuinfo

Rsync over SSH avec port non standard

Fallait y penser:
rsync -acvzp -e "ssh -p 2222" root@89.yy.xx.86:/etc/apache2/ import/

Migration de de LVM

Dupliquer un LV d'une machine A vers une machine B:
dd if=/dev/system/bdkhc-disk bs=4096 | pv | gzip -1 | ssh  10.0.89.3 "gzip -dc | dd of=/dev/system/bdkhc-disk"

Note: pv, c'est pour avoir la vitesse en temps réel

Liste des fichiers modifiés les 24 dernières heures

Cette commande permet d'envoyer par mail une liste des fichiers modifié (de leur contenu, pas leurs attributs) les 24 dernières heures. Typiquement le genre de truc que l'on met dans un cron:
find /var/www/ -type f -mtime 0 -printf '%TD:%THh%TM: %p\n' | mail -s "Liste des fichiers modifiés la veille" user@domain.com
Attention, cette commande attrape tous les fichiers crées il y'a 24 heures sur 24 heures. Si l'on veut matcher les fichier plus vieux de 24 heures, il faut rajouter un -mtime +0.
find /var/www/ -type f -mtime +7 -printf '%TD:%THh%TM: %p\n' | wc -l
Affiche tous les fichiers modifiés depuis 22 jours:
find . -type f -mtime -22 -printf '%TD:%THh%TM: %p\n' | sort | less

Note:

  • mtime -X : liste tous les fichiers qui ont été modifié depuis X jours
  • mtime X : liste tous les fichiers qui ont été modifié X jours auparavant (et uniquement ce jour là)
  • mtime +X : liste tous les fichiers qui n'ont pas été modifié depuis X jours.

Afficher les inodes par répertoire

Pour afficher les inodes par répertoire:
for i in `ls -1A`; do echo "`find $i | sort -u | wc -l` $i"; done | sort -rn | head -10

Extraire des logs entre deux heures ou deux dates

Depuis 14h00 :
awk -vDate=14:00 ' { if ($4 > Date) print $1}' access.log 
Entre 14h et 15h:
awk -vDate=14:00 -vDate2=15h00 ' { if ($4 > Date && $4 < Date2) print Date FS Date2 FS $4}' access.log
Un autre exemple:
cat    wacweb*/apache2/*access.log | sed 's/T/ /' |  sed 's/+/ /' | awk -vDate=10:27:00 -vDate2=10:29:00 ' { if ($2 > Date && $2 < Date2) print Date $0}' | sort  > /tmp/logs_segfault
grep -vE 'jpg|css|js|png|gif|wacweb3'   /tmp/logs_segfault | less -S 

Vérifier la conf de collectd

Pour vérifier que les modules sont chargés qu'une seule fois:
grep -ri LoadPlugin /etc/collectd* | sed 's/.*Load//' | egrep -v '^[[:space:]]*#' | sort | uniq -c

Afficher tous les fichiers d'un packet installé

La super commande pour afficher tous les fichiers d'un packet installé:
dpkg -L <nom du packet>

Changement d'UID/GID d'un utilisateur et de ses fichiers

Si vous avez fait les modifs dans les fichiers /etc/password et/ou /etc/groups, pour changer les propriétaires de tous les fichiers, faire comme suit:
# Vérifier qu'il n'y ai plus rien dans les commandes suivantes
lsof | grep USER_NAME
#<Rien>

ps aux | grep USER_NAME
#<Et rien non plus ici>

Quand c'est vérifié, c'est parti !
# Pour les utilisateurs
find / -uid OLD_ID -exec chown NEW_ID {} \;


# Pour les groupes
find / -gid OLD_GID -exec echo chgrp NEW_GID {} \;

Notes:

  • Il faut bien faire les deux commandes séparéments, il ne faut pas essayer de fusionner les find ^^
  • Vérifiez que vous confs sont à jour aussi. Un petit grep -R "OLD_ID" /etc/ peut vous donner quelques pistes (et pas mal de caca dans votre terminal).

Faire un rapport rapide sur une machine

Faire un petit rapport sur une machine:

hostname > /tmp/releve.conf && df -hP >> /tmp/releve.conf && pstree >> /tmp/releve.conf && free -m >> /tmp/releve.conf && netstat -rn >> /tmp/releve.conf && dpkg -l |grep php >> /tmp/releve.conf && dpkg -l | grep apache >> /tmp/releve.conf && dpkg -l | grep mysql >> /tmp/releve.conf && mailx -s "releve conf" compte@domaine.tld < /tmp/releve.conf

#Puis
less /tmp/releve.conf

Note: Incomplet, mais peux donner quelques idées.

Tips Screen

  • Pour déplacer une fenêtre dans screen, on fait: Ctrl + A puis on tape: :number <numéro>

Comparer deux fichiers sur deux serveurs différents

Peut être pratique pour comparer les sortie d'un dpkg -L par exemple:
diff <(ssh -A root@server_ip_1 'cat /etc/php5/cli/php.ini') <(ssh -A root@server_ip_2 'cat /etc/php5/cli/php.ini')

Trouver les fichiers les plus récents

Pour trouver les fichiers les plus récent d'une arbo, il faut faire:
find . -name '*.*' -exec ls -ahl {} \; | awk '{print  $8" "$7" "$6" "$9 }' | sort | tail

Note: J'ai pas trop cherché pour forcer l'affichage des mois en nombre ...

Lister les domaines gérés par un LAMP+Bind9

Lister tous les domaines gérés par apache:
rgrep 'ServerName\|ServerAlias' /etc/apache2/sites-available | sed 's/\t/ /'  |sed 's/^.*ServerName\s*//' | sed 's/^.*ServerAlias\s*//' | sed 's/\s/\r/g' | rev | sort | rev | xargs printf "%80s\n"
Lister tous les domaines (SOA) gérés par Bind9:
rndc dumpdb -zones
grep "SOA" /var/cache/bind/named_dump.db | sed 's/\t/ /g' | cut -d" " -f 1 | rev | sort | rev
Afficher les serveurs DNS d'une liste de domaine dans un fichier:
for i in $(cat apache_short ) ; do if [[ ! -z $( dig NS $i +short |  grep -v "nexen") ]]  ; then echo -e "=> $i:\n$(dig NS $i +short)" ; fi ; done

Copie de fichier à travers un bastion

Les commandes sont:
scp [<options>] <file1> <file2> sshgate:<target_host>/<target_location>
scpg [<options>] <file1> <file2> <target_host>:<target_location> # Alias mode

Générer un fichier

Pour générer un fichier aléatoire avec dd, c'est bien pour tester vos disques:
# Genere un fichier de 5Go depuis urandom
dd if=/dev/urandom of=myfile bs=1M count=5000

# Générer un fichier blanc de 700Mo
dd if=/dev/zero of=myfile bs=1M count=700
Ou en plus moderne et rapide (il fait seulement de la pré-alocation), c'est bien pour simuler un Freespace:
fallocate 1G myfile

Connexion SSH via une passerelle

Pour assécer au réseau local:
ssh -t reachable_host ssh unreachable_host

Générer un mot de passe

Mieux rapide qu'apg:
</dev/urandom tr -dc A-Za-z0-9 | head -c12 ; echo

Import/Export des packets d'une distrib

Exporter la conf:
dpkg --get-selections "*" > old.pkgs
Importer la conf:
dpkg --set-selections < old.pkgs
apt-get dselect-upgrade

Afficher les packets de différence entre deux serveurs

On a juste besoin de pouvoir se connecter en SSH pour récupérer la liste du serveur distant: (ssh root@10.0.34.21 'dpkg -l'; dpkg -l ) | sort | grep '^ii' | awk '{ print $2}' | uniq -u

Lister toutes les tâches cron

Ce snippet permet de lister toutes les tâches cron d'un système Debian:
tail -n +1 $(find {/etc/cron*,/var/spool/cron/crontabs/} -type f )
Si on veut voir que les lignes d'appel et non tous les scripts, on fait:
tail -n +1 $(find {/etc/cron.d/,/var/spool/cron/crontabs/} -type f )

Liste des IP ayant réussis à se connecter en SSH sur les 3 derniers logs

Petite commande pour vérifier qui se connecte d'où:
{ zcat auth.log.1.gz auth.log.2.gz && cat auth.log; } | grep sshd | grep Accept | grep --only-matching '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' | sort | uniq -c | sort -nr

Utilisation de la commande at

Pour utiliser la commande at, c'est enfait assez simple. Le plus dur c'est de trouver de la doc dessus: (tapez littéralement l'encart, sauf le Ctrl + D)
at now  + 1 minute
/etc/init.d/networking restart
[Ctrl + D]

Ne pas se faire entuber par le cache arp

Quand on déplace des IPs dans un réseau, il se peut que le cache ARP introduise un peu de latence lors du déplacement. Pour régler le problème:
# afficher le cache
arp -a

# Vider le cache ARP d'une machine (iproute):
ip neigh flush all 

# Vider le cache ARP d'une machine (ifconfig):
arp -n|awk '{print $1}' |grep -vi address | xargs -0 arp -d

Simuler une requête sur un domaine à partir d'une IP

Ça, c'est génial pour récupérer le header d'un site derrière un loadbalancer, ou carrement afficher la page dans son term;
curl -I -H "Host: domaine.com" 10.0.28.12/mon-url/super/cool/
curl  -H "Host: domaine.com"  localhost/mon-url/super/cool/ | lynx -stdin

Récupérer les header

La première méhtode est plus rapide, la seconde donne plus d'informations, notemment tout ce qui est redirection PHP:
curl -I mondomaine.com
wget -S -O /dev/null http://domaine.com/
Bon, et quand on a ni curl et ni wget? Mothaaa fuckaaaa, telnet is your friend. Bon, par contre, c'est carrement plus relou ... mais j'ai encore jamais vu une machine sans telnet:
telnet 10.1.24.13  80
Trying 10.1.24.13...
Connected to 10.1.24.13.
Escape character is '^]'.
GET <URL> HTTP/1.1
Host: <DOMAINE>
Connection: close

Note: Il faut taper les trois dernières lignes, en adaptant <URL> et <DOMAINE>.

Les autres formes du wget peuvent être:
# Afficher le contenu d'une page dans le terminal:
wget -qO- domain.com/url
# Récupérer les entêtes, et seulement les entêtes, mais en suivant les redirections s'il en y'en a:
wget -S -O/dev/null  www.jeznet.org

Afficher le phpinfo dans le terminal

Des fois, c'est pas possible de le mettre dans une apge web, alors on fait ça:
php -c /etc/php5/fpm/php.ini -i

Blacklister mode iptables

Une IP vous saoule? Blacklistage mode Panzer quasi définitif jusqu'au prochain reboot du serveur:
iptables -I INPUT -s 200.98.129.253/32 -j DROP

Trouver le hostname d'une liste d'ip en se connectant via SSH

Il faut mettre la liste d'IP dans le fichier list_ip, et notre login sera demandé à chaque connexion, à part si vous avez un échange de clé:
awk '{print "ssh root@"$1" hostname >> log && sed -i  \"$,$ s/$/ "$1"/\" log" }' list_ip

Faux Freespace

Si on a une grosse perte d'espace disque, mais qu'un du -sh / ne renvois rien, il faut voir du coté des processus qui ont bloqué la suppréssion d'un fichier:
lsof / | grep -i deleted
S'il y'a des résultats, alors, on kill les process pour libérer l'espace disque.

Contrack full

Pour checker le max conntrack:
sysctl -a | grep conntrack | grep max
Pour augmenter le max conntrack:
sysctl -w net.netfilter.nf_conntrack_max=131072

Sinon, il est aussi possible de vider la table.

Extraire une archive d'un serveur vers un autre

L'astuce magique pour éviter les freespace lors de la décompression d'une archive: $ cat your_tar_file.tar | ssh user@domain " cd /path/to/untar; tar xvf -"

Alternative to tree

Un tips si on veut utiliser tree et qu'on ne peut pas:
find . | sed 's/[^/]*\//|   /g;s/| *\([^| ]\)/+--- \1/'

ProxyPass

Pour mettre en place un petit proxy:
<VirtualHost *:80>
        ServerName              mondomaine.com
        ProxyPreserveHost       On
        ProxyPass               /       http://monserveur/
        ProxyPassReverse        /       http://monserveur/
</VirtualHost>

Attention, il ne faut pas oublier d'activer le mod proxy et proxy_http. Dans les anciennes versions d'Apache2, il faut vérifier que les directives ne soient pas bloquées par tout le monde par défault. Les infos sont dans le mods-enabled/proxy_http.conf.

Dmesg fulltime

Uep, bon, j'avais trouvé un truc avant, mais c'était avant. Maintenant, il y'a ce script:
#!/usr/bin/perl

use strict;
use warnings;

my @dmesg_new = ();
my $dmesg = "/bin/dmesg";
my @dmesg_old = `$dmesg`;
my $now = time();
my $uptime = `cat /proc/uptime | cut -d"." -f1`;
my $t_now = $now - $uptime;

sub format_time {
 my @time = localtime $_[0];
 $time[4]+=1;    # Adjust Month
 $time[5]+=1900;    # Adjust Year
 return sprintf '%4i-%02i-%02i %02i:%02i:%02i', @time[reverse 0..5];
}

foreach my $line ( @dmesg_old )
{
 chomp( $line );
 if( $line =~ m/\[\s*(\d+)\.(\d+)\](.*)/i )
 {
 # now - uptime + sekunden
 my $t_time = format_time( $t_now + $1 );
 push( @dmesg_new , "[$t_time] $3" );
 }
}

print join( "\n", @dmesg_new );
print "\n";

Trouver les vhosts doublons de conf Apache

grep -r 'ServerName\|ServerAlias' /etc/apache2/sites-available | sed 's/\t/ /' |sed 's/^.*ServerName\s*//' | sed 's/^.*ServerAlias\s*//' | sed 's/\s/\n/g' | sort | uniq -c | sort -g

Forcer le reboot d'un serveur proprement

Si un serveur ne veut pas redémarrer, on fait:
echo s > /proc/sysrq-trigger # Flusher les buffers d'IO pour ne pas perdre de données
echo u > /proc/sysrq-trigger # Démonter puis Remonter toutes les partitions en Read-Only
echo b > /proc/sysrq-trigger # Forcer le reboot de la machine

Merci l'amis ;-)

Divers

Pour rajouter un utilisateur à un groupe (affiche avant/après):
grep adm /etc/group; sed -r -i -e 's/^(adm.*:)$/\1www-data/' /etc/group; grep adm /etc/group
Regex pour afficher un fichiers sans les lignes vides, et sans les commentaires:
grep '^[^#|^$|^ *$]'
Pour convertir le timestamp des logs de nagios en truc lisible pour un humain:
perl -pe 's/(\d+)/localtime($1)/e' nagios.log

Pour savoir quel fichiers sont installés par un packet:
dpkg -L apache2-mpm-prefork

Connaitre le temps d’exécution d'un script et le reporter dans un fichier (pour les crontab entre autre):
/usr/bin/time -apo /var/tmp/my.log /usr/bin/php /var/www/modules/mon_script.php Note: il faut bien préciser le path complet du binaire time, sinon, il appellera l'implémentation bash, qui est moins fonctionnelle.

Options pour monter un partage NFS coté client:
rw,tcp,hard,intr,fg,timeo=60,retrans=2,rsize=32768,wsize=32768,addr=$ip_serv
Faire un sed sur pleins de fichiers:
find . -type f -exec sed -i "s/89.31.144.154/89.31.147.91/g" '{}' \;
Récupérer son IP publique et son reverse:
wget -q -O - "$@" monip.org | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}'
host $(wget -q -O - "$@" monip.org | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}')

Note: Enfait, cette commande télécharge la page web monip.org, fait un grep pour récupérer l'IP dedans et l'affiche. La seconde commande fait just un host du résultat de la commande précédente.

Un problème d'inodes? On tej tous les petits fichiers de sessions PHP: cd/var/exports/var_lib_php5 && find . ! -amin 120 -type f -exec rm {} \;

Afficher la RAM materiellement installée:
dmidecode -t memory | awk '/Size/ || /Speed/ || /\tLocator/ || /Part/ {print $0}'
Afficher le top 50 des commandes utilisées:
history|awk '{a[$2]++ } END{for(i in a){print a[i] " " i}}'|sort -n|head -n50
Réparer la completion de bash:
ln -s /proc/self/fd /dev/fd

Pour virer les caratères UTF-8 d'un term (utile pour les copier/coller vers les supports non UTF-8, comme ce wiki ...):pstree | tail --bytes=+4

Afficher les domaines utilisés par les vhosts d'apache2 pour savoir dans quel ordre ils sont traités:
tail -n 10000 /etc/apache2/sites-enabled/* | egrep -i "(serveralias|servername|==*)" | grep -v "^#" | awk '{ print $1"\t"substr($0, index($0,$2))}'
Remontage en live d'une partition
mount /var/www -o remount,exec
Un petit truc génial pour copier les droits et les permission d'un objet déjà existant:
chmod --reference <reference-file> <target-file>
chown --reference <reference-file> <target-file>

Figer un terminal

Pratique quand ça va trop vite:

# Pour freezer
Ctrl+s
# Pour défreezer
Ctrl+q

Test de debit entre 2 machines avec netcat et dd

# Server 1
nc -l 999 > /dev/null
# Server 2
dd if=/dev/zero bs=100M count=1 | nc -q 1 $ip_srv1 999

Comment nettoyer le merdier déposé par une archive

/bin/rm -f "$(tar ztf /path/to/file.tar.gz)"

Conneries

Un bon shell:
export PS1="C:\$( pwd | sed 's:/:\\\\\\:g' )\\> "
La classique forkbomb, qui ne doit plus trop fonctionner maintenant:
:(){ :|: & };:

Plus de détails pour les autres langages

Page last modified on May 18, 2016, at 08:39 PM EST