![]()
Raaaah, je suis trop fan ^^
samedi, juin 6 2009
Par krusaf le samedi, juin 6 2009, 01:33 - GNU/Linux
A priori, on pourrait se baser sur la commande file qui analyse le fichier donné en paramètre pour indiquer de quel type de fichier il s'agit. Mais c'est loin d'être exploitable (pour moi en tout cas). file peut retourner énormément de type de fichier et ça finit par ne plus être exploitable.
Bref, grep (sous Linux et non Unix :/) permet de trouver les binaires via la commande : grep -LIR "" dossier Par contre il retourne aussi les fichiers vides donc suffit de les virer et on obtient la liste des binaires.
Exemple :
krusaf@zeus:~/tmp2$ ll total 28 -rwx--x--x 1 krusaf krusaf 6266 jun 6 01:06 exe -rw------- 1 krusaf krusaf 7 jun 6 01:05 fichier_texte -rw------- 1 krusaf krusaf 0 jun 6 01:05 fichier_vide -rw------- 1 krusaf krusaf 6294 jun 6 01:12 popom -rw------- 1 krusaf krusaf 74 jun 6 01:06 source.c -rw------- 1 krusaf krusaf 13 jun 6 01:15 toto.sh
exe est le binaire (compilation de source.c). fichier_texte est un ... fichier texte, bravo ! fichier_vide ... on s'est compris. popom contient du texte auquel j'ai concaténé le binaire exe. toto.sh est un shell.
krusaf@zeus:~/tmp2$ grep -RLI "" . ./exe ./popom ./fichier_vide
Ca me retourne bien mes fichiers binaires + le fichier vide.
Donc pour trouver seulement mes fichiers bnaires, Je vais utiliser le grep que je redirig dans un fichier. Suivi d'un find pour trouver les fichiers vides que je redirige aussi dans un fichier. Et à l'aide de ces 2 liste et d'un grep, le tour sera joué 
krusaf@zeus:~/tmp2$ grep -RLI "" . 2>&1 | tee /tmp/binaire_plus_vide ./exe ./popom ./fichier_vide krusaf@zeus:~/tmp2$ find . -type f -empty 2>&1 | tee /tmp/vide ./fichier_vide krusaf@zeus:~/tmp2$ grep -v -f /tmp/vide /tmp/binaire_plus_vide ./exe ./popom
Voilà 
Pour ce qui veulent une fonction, j'ai codé ça vite fait ...
krusaf@zeus:~$ cat binaire.sh
function find_binary_files ()
{
# $1 = dossier
dossier="$1"
if [ -d "$dossier" ]
then
grep -RLI "" "$dossier" > /tmp/binaire_plus_vide.$$
find "$dossier" -type f -empty > /tmp/vide.$$
grep -v -f /tmp/vide.$$ /tmp/binaire_plus_vide.$$
\rm /tmp/binaire_plus_vide.$$ /tmp/vide.$$
fi
}
krusaf@zeus:~$ . binaire.sh
krusaf@zeus:~$ find_binary_files tmp2
tmp2/exe
tmp2/popom
Par krusaf le samedi, juin 6 2009, 01:03 - Rock
Pour faire bouger un peu ce blog, quoi de mieux qu'une nouvelle rubrique sur la musique 
Izia, découvert sur le grand journal de canal+ (pour ma part), c'est un sacré groupe. L'album sort Lundi et ça envoie du lourd.

Une voix à la Janis Joplin, c'est du bon gros rock qui vous prend aux trippes. Album sur deezer. Le myspace
vendredi, mai 8 2009
Par krusaf le vendredi, mai 8 2009, 01:25 - GNU/Linux
sudo apt-get install sshfs mkdir tmp sshfs login_dune_autre_machine@autre_machine:dossier_a_monter tmp
La même chose sous windows : http://www.jpfox.fr/?post/2008/09/18/233-connecter-un-dossier-a-une-unite-windows-par-ssh Pour aller plus loin (montage auto ...)
PS : toujours dans la catégorie mémento pour ma pomme ^^
vendredi, février 6 2009
Par krusaf le vendredi, février 6 2009, 15:10 - GNU/Linux
# Stop mysql
/etc/init.d/mysql stop
# Démarre mysql avec les options suivantes pour qu'il ne prenne pas en compte les droits
mysqld --skip-grant-tables --skip-networking &
# On execute la requete suivante à modifier selon besoin
echo "UPDATE user SET password=PASSWORD('nouveaumotdepasse') WHERE User=root AND Host=localhost;" > rqt
mysql mysql < rqt
# On redemarre mysql
/etc/init.d/mysql restart
lundi, décembre 22 2008
Par krusaf le lundi, décembre 22 2008, 12:36 - Programmation
# Fichier original krusaf@ares:/home/krusaf/tmp $ echo "Fichier original" > fichier.ori # Fichier une fois patche krusaf@ares:/home/krusaf/tmp $ echo "Fichier patche" > fichier.c # Creation du patch via la commande diff krusaf@ares:/home/krusaf/tmp $ diff -u fichier.ori fichier.c > fichier.patch # simulation pour l'application du patch krusaf@ares:/home/krusaf/tmp $ rm fichier.c krusaf@ares:/home/krusaf/tmp $ mv fichier.ori fichier.c krusaf@ares:/home/krusaf/tmp $ patch -p0 < fichier.patch patching file fichier.c krusaf@ares:/home/krusaf/tmp $ cat fichier.c Fichier patche
Et pour une arborescences, il suffit de rajouter l'option -r à la commande diff :
krusaf@ares:/home/krusaf/tmp $ mkdir sources krusaf@ares:/home/krusaf/tmp $ cd sources/ krusaf@ares:/home/krusaf/tmp/sources $ echo "original" > 1 krusaf@ares:/home/krusaf/tmp/sources $ cp 1 2 krusaf@ares:/home/krusaf/tmp/sources $ ll total 8 -rw-rw---- 1 krusaf sgc 9 déc 22 12:24 1 -rw-rw---- 1 krusaf sgc 9 déc 22 12:24 2 krusaf@ares:/home/krusaf/tmp/sources $ cd .. krusaf@ares:/home/krusaf/tmp $ mv sources/ sources.originales krusaf@ares:/home/krusaf/tmp $ cp -rfp sources.originales/ sources krusaf@ares:/home/krusaf/tmp $ cd sources krusaf@ares:/home/krusaf/tmp/sources $ echo "patche" > 1 krusaf@ares:/home/krusaf/tmp/sources $ cp 1 2 krusaf@ares:/home/krusaf/tmp/sources $ cd .. # Creation du patch krusaf@ares:/home/krusaf/tmp $ diff -ru sources.originales/ sources > patch # Simulation d'application du patch krusaf@ares:/home/krusaf/tmp $ rm -rf sources krusaf@ares:/home/krusaf/tmp $ mv sources.originales/ sources krusaf@ares:/home/krusaf/tmp $ patch -p0 < patch patching file sources/1 patching file sources/2 krusaf@ares:/home/krusaf/tmp $ cat sources/* patche patche
mardi, décembre 2 2008
Par krusaf le mardi, décembre 2 2008, 20:16 - GNU/Linux
J'ai eu cette erreur alors que je voulais installer un package de pear. Il suffit d'installer le paquet php5-dev.
apt-get install php5-dev
Par krusaf le mardi, décembre 2 2008, 20:03 - Programmation
Par krusaf le mardi, décembre 2 2008, 19:19 - /dev/null
Ci joint le pack smiley que j'utilise sur un des forums que j'administre 
wget http://krusaf.org/blog/public/divers/pack_smiley/smileys_2rist.tgz tar zxvf smileys_2rist.tgz ...
Les smileys :

« billets précédents - page 2 de 12 - billets suivants »