[unix] command rm

command rm [unix] - Linux et OS Alternatifs

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...

Reply

Marsh Posté le 14-07-2002 à 21:18:16   

Reply

Marsh Posté le 14-07-2002 à 21:34:17    

bah rm *.log ça marche chez moi...
 
tu as un message d'erreur ?

Reply

Marsh Posté le 14-07-2002 à 21:41:12    

c'est plutôt pour la section OSA ça, je déplace...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 14-07-2002 à 22:11:22    

for i in *.log ; do rm $i ; done


Message édité par houplaboom42 le 14-07-2002 à 22:11:29
Reply

Marsh Posté le 14-07-2002 à 22:16:17    

toutafé

Reply

Marsh Posté le 14-07-2002 à 22:33:04    

Code :
  1. rm `find / -name *.log`


 
a priori ça marche ;)


Message édité par Aiua le 14-07-2002 à 22:35:44

---------------
"The pen is mightier than the sword if the sword is very short, and the pen is very sharp." TP. Mes Jeux. Mes Ventes. Groupe HFR sur PlayFire.
Reply

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 ;)


---------------
"The pen is mightier than the sword if the sword is very short, and the pen is very sharp." TP. Mes Jeux. Mes Ventes. Groupe HFR sur PlayFire.
Reply

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 {} \;
 

Reply

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


---------------
Join us now and share the software;
Reply

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 :D


---------------
"The pen is mightier than the sword if the sword is very short, and the pen is very sharp." TP. Mes Jeux. Mes Ventes. Groupe HFR sur PlayFire.
Reply

Marsh Posté le 14-07-2002 à 23:31:38   

Reply

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 :D




 
tu peux aussi  utiliser xargs
 
style rpm -qa | grep machin  | xargs rpm -e

Reply

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

Reply

Marsh Posté le 15-07-2002 à 02:30:55    

Ah? Cherche voir "Tagged by ..." ou encore "~~~~~~" sur ton DD :D  ;)  
 
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.

Reply

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.

Reply

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

Reply

Marsh Posté le 15-07-2002 à 08:52:12    

si tu as un pb de log met en place logrotate


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
Reply

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...

Reply

Marsh Posté le 15-07-2002 à 11:10:38    

nanotube a écrit a écrit :

Ah? Cherche voir "Tagged by ..." ou encore "~~~~~~" sur ton DD :D  ;)  
 




 
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

Reply

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:d: "
mais vu que j ai pas une ip fixe ca m etonnerait ...
 
df -> renvoi partition / utilisé a 100 % :(

Reply

Marsh Posté le 15-07-2002 à 15:09:07    

fait "du -h" tu verrais bien quels sont les rep qui prennent de la place


---------------
"The pen is mightier than the sword if the sword is very short, and the pen is very sharp." TP. Mes Jeux. Mes Ventes. Groupe HFR sur PlayFire.
Reply

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 )

Reply

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 :
  1. find . -name "*.log" -exec rm -f {} \;


Pour plus de sécurité, vérifie d'abord de que tu vas effacer :

Code :
  1. find . -name "*.log" -exec ls -l {} \;

Reply

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     ???????????

Reply

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 .


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
Reply

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 !!

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed