command rm [unix] - Linux et OS Alternatifs
Marsh Posté le 14-07-2002 à 21:34:17
bah rm *.log ça marche chez moi...
tu as un message d'erreur ?
Marsh Posté le 14-07-2002 à 21:41:12
c'est plutôt pour la section OSA ça, je déplace...
Marsh Posté le 14-07-2002 à 22:11:22
for i in *.log ; do rm $i ; done
Marsh Posté le 14-07-2002 à 22:33:04
Code :
|
a priori ça marche
Marsh Posté le 14-07-2002 à 22:57:23
ben a priori le tien il marche pas parce que le rm va pas comprendre qu'il faut s'appliquer à chaque élément de la liste du find, un grep marchera par exemple par ce qu'il s'applique à toute la liste
ma commande passe en parametre du rm chaque élément trouvé
enfin j'crois que c ça, j'suis pas un expert de la question non plus
Marsh Posté le 14-07-2002 à 22:58:29
JoWiLe a écrit a écrit : ça ça suppose que tu sois dans le rép, non? je ferais plutôt un find / -name *.log | rm - nan? |
ce serait pas plutot
find / -name "*.log" -exec rm -f {} \;
Marsh Posté le 14-07-2002 à 23:22:47
hummm attention pas confondre!!
le pipe sert a rediriger la sortie standard d'un prog vers l'entree standard d'un autre.
De meme que > redirige la sortie d'un prog vers un fichier
et < redirige un fichier vers l'entree standard d'un prog.
ainsi qd tu fait find / | grep chevre
ton find sort ses fichiers sur son entree standard, l'ecran mais tu le redirige vers l'entree standard de grep qui lit lis ces fichiers.
Dans le cas de rm c tout a fait different vu que les fichiers a effacer sont passer sur la ligne de commande!
Ainsi il faut 'construire' une commande rm fichier1 fichier2 etc
Avec find tu peux le faire avec la commande exec (cfr ex de tantot).
Sinon un truc du genre: ls $( find / -name "*.log" )
ou alors utiliser xargs
Marsh Posté le 14-07-2002 à 23:31:38
cassidy a écrit a écrit : hummm attention pas confondre!! le pipe sert a rediriger la sortie standard d'un prog vers l'entree standard d'un autre. De meme que > redirige la sortie d'un prog vers un fichier et < redirige un fichier vers l'entree standard d'un prog. ainsi qd tu fait find / | grep chevre ton find sort ses fichiers sur son entree standard, l'ecran mais tu le redirige vers l'entree standard de grep qui lit lis ces fichiers. Dans le cas de rm c tout a fait different vu que les fichiers a effacer sont passer sur la ligne de commande! Ainsi il faut 'construire' une commande rm fichier1 fichier2 etc Avec find tu peux le faire avec la commande exec (cfr ex de tantot). Sinon un truc du genre: ls $( find / -name "*.log" ) ou alors utiliser xargs |
voila, c ce que je voulais dire
Marsh Posté le 15-07-2002 à 00:15:58
JoWiLe a écrit a écrit : et si je veux absolument une cmd avec un pipe oui je suis lourd mais c pour apprendre |
tu peux aussi utiliser xargs
style rpm -qa | grep machin | xargs rpm -e
Marsh Posté le 15-07-2002 à 02:07:25
en faite c pas les fichiers log ((((
je capte pas mes 3 GO sont partis (((((((((
bouhhhhou mon routeur est plein, et je sais pas pkoi
Marsh Posté le 15-07-2002 à 02:30:55
Ah? Cherche voir "Tagged by ..." ou encore "~~~~~~" sur ton DD
Ton pbe avec rm venait p-e d'un alias un peu bizarre pour cette commande. Dans ce cas, indiquer le chemin vers rm en entier: /bin/rm par exemple.
Marsh Posté le 15-07-2002 à 02:59:23
Faut utiliser la commande du pour savoir quels sont les gros répertoires.
k pour les kilo-octets:
du -k très détaillé (trop)
du -sk taille totale d'un rép.
du -k --max-depth=1 pour la taille de chacun des sous-rép. du répertoire courant
Si qq1 a mieux sous Linux, je suis preneur je connais que qqes commandes basiques. Ah oui, il y a sûrement l'équivalent de l'Explorateur sous Gnome et tout ça, mais je suis sous ligne de commande pure au taf.
Marsh Posté le 15-07-2002 à 04:23:57
y a l option -h aussi ( aka "human readable" )
ca marche aussi pour ls en passant
Marsh Posté le 15-07-2002 à 08:52:12
si tu as un pb de log met en place logrotate
Marsh Posté le 15-07-2002 à 11:00:24
find . -name \*.log -print0 | xargs -0 rm --
Attention !
Cela n'effacera pas forcement tes fichiers de log.
En effet les programmes qui ecrivaient dans ces fichiers les ont surement déjà ouvert.
Le fichier étant toujours utilisé, linux ne l'efface pas.
Il faut donc relancer les prog qui utilisent les log (killall -HUP toto ou /etc/init.d/toto restart selon les distrib).
Le mieux pour effacer les fichier est de faire ":> toto.log"
Installer logrotate est une bonne idée...
Marsh Posté le 15-07-2002 à 11:10:38
nanotube a écrit a écrit : Ah? Cherche voir "Tagged by ..." ou encore "~~~~~~" sur ton DD |
Ou "..." en mode 111
Ou regarde dans /lost+found (dans ce cas inquiéte toi).
Ou c'est encore mieux caché...
Un "du" en couleur : http://arsunik.free.fr/tmp/cdu
Marsh Posté le 15-07-2002 à 15:06:18
bah ca serait cool en fait si y avait du "tagged by xxx for slvn d:d: "
mais vu que j ai pas une ip fixe ca m etonnerait ...
df -> renvoi partition / utilisé a 100 %
Marsh Posté le 15-07-2002 à 15:09:07
fait "du -h" tu verrais bien quels sont les rep qui prennent de la place
Marsh Posté le 15-07-2002 à 18:17:27
bizarrrrre, j ai 3.5 GO, le "df" me dit qeu c est full,
alors que je dois pas avoir plus de 2 GO ...
( install de mandrake snas interface graphique + qq prog a 2 balle )
Marsh Posté le 16-07-2002 à 18:23:20
ya une fonction de find qui est l'exec et qui est bien utile...
la syntaxe est :
Code :
|
Pour plus de sécurité, vérifie d'abord de que tu vas effacer :
Code :
|
Marsh Posté le 16-07-2002 à 21:40:51
UPPPPPP !
c est hallucinant !!
la commande "df" me dit que toute mon espace disque est pris, (d ailleurs les mails avec attachement passent mal par cette passerelle dont j aurais tendance a le croire)
mais en utilisant
du -h, j ai pas l impression d avoir rempli 3,5 GO !!
qui m a volé mes MO ???????????
Marsh Posté le 17-07-2002 à 09:16:26
va dans /var/log et fais :
> du -sh
va dans /var et fais la même chose
va dans /tmp et fais la même chose
idem dans /home
ce sont les coins les plus critiques
une fois que tu as vu où tu bourrine tu peux savoir où tu as un pb
[root@bastard root]# cd /var/log
[root@bastard log]# du -sh
13M .
[root@bastard log]# cd..
[root@bastard var]# du -sh
123M .
Marsh Posté le 19-07-2002 à 11:37:58
yep c ce que j ai fini pas faire !
tout etait dans /var/log !!! 2 GO de Log !!
Marsh Posté le 14-07-2002 à 21:18:16
je viens de m apercevoir que j ai pu de place sur une partition de mon routeur/serveur/passerelle.
je me dis que les fichier log on du 's accumuler'
et donc je voudrais les effacer reccursivement :
mais :
rm -R *.log ne marche pas...