Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I need to delete all files inside a remote directory using SSH,

The directory itself must not be deleted, so @Wes' answer is not what I need. If it was a local directory, I would run rm -rf dir/*.

share|improve this question

migrated from May 25 '11 at 20:46

This question came from our site for professional and enthusiast programmers.

@Wes's answer can be easily adapted to your needs - just add the /* at the end. It's hardly a complex command to understand. – ceejayoz May 25 '11 at 16:21

It's as simple as:

ssh HOSTNAME rm -rf "/path/to/the/directory/*"
share|improve this answer
as with any other command, pratically. Just say ssh hostname, and then the command you want to execute. Very handy for eg. doing remote backups/dumps etc. – Anonymous May 25 '11 at 20:38
up vote 5 down vote accepted

According man of ssh on my machine:

If command is specified, it is executed on the remote host instead 
of a login shell.

This means that shell expansion of command passed by ssh won't be done on remote side. Therefore we need "self contained" command, which doesn't relay on shell expansion.

ssh user@remote-machine "find /path/to/directory -type f -exec rm {} \;"

Here all the job for finding files to be deleted is done exclusively by find, without help from shell.

Some similar question

share|improve this answer

Remove all files from directory hierarchy:

ssh user@HOSTNAME 'rm $(find /path/to/directory -type f)' 
share|improve this answer
Is there a way to pass in a list of files? I have a folder locally called ./deleteme and I want to delete all files in ./deleteme from the remote server. – chovy Aug 21 '13 at 4:17
That's very dangerous because it breaks on files with spaces in their name. – slhck Jun 21 '14 at 14:15
@slhck Right, one should either not use spaces in filenames or use dimbas's solution which is better. – techshack Jun 23 '14 at 5:52

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .