7

I have a problem with my infrastructure here.

I am in a closed DMZ and have to access a FTP-Server in another DMZ from a headless Suse Linux 10.1.

So i think i only got the ftp command.. But i have to delete a directory with about 100 subdirectorys and endless files in it..

When I type

del directory

it returns "Its not empty" and so i have to delete each sub directory and file manually.

Oh please tell me a way how i can do this automatically :)

Phil Hollenback
  • 14,947
  • 4
  • 35
  • 52
Fake4d
  • 603
  • 7
  • 10
  • 16

3 Answers3

17

Use lftp. The the -r option to lftp rm recursively deletes directories and files.

$ lftp -u <user>,<pass> <server> 
lftp> rm -r <directory>

should do the trick.

Phil Hollenback
  • 14,947
  • 4
  • 35
  • 52
  • I installed lftp and now it works :) – Fake4d Jan 12 '11 at 09:35
  • 1
    This works, and I'm not aware of a better option, but be advised that this is slow as it deletes each file one by one! My plan was to delete a directory and its contents on a live webserver, and then replace them, but this method is slow enough to render it ineffective for my situation. – Tyler Collier Oct 14 '13 at 21:39
  • 1
    @TylerCollier there is: point the virtual host of the webserver to a symlink instead of the real directory (e.g. `/var/www -> www-20141001`). Then you mirror your new data into its own directory (e.g. `www-20141229`) and just change the symlink (`cd /var/www && ln -s www-20141229 www`). You get instant change of the data and the possibility to rollback your solution, should something go wrong (TDD works great with this!). – Lars Dec 29 '14 at 10:13
2

The lftp command, which is available in many distros (though I'm no SUSE expert), supports "rm -r" for exactly that purpose.

MadHatter
  • 79,770
  • 20
  • 184
  • 232
-4

rm -rf?

http://en.wikipedia.org/wiki/Rm_(Unix)

micmcg
  • 88
  • 5