Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I've search the net for Linux's answer to something like Teracopy (Windows)... but could not find anything suitable.

The closest things i got are:

Can someone recommend me a simple file copy tool that can queue files for copy/move/delete? Preferably if I can drag and drop from Nautilus.

If something like this does not exist, can someone please tell me why? ...am I the only person that needs something like this?

share|improve this question
If you could explain exactly what you want, it would be useful. I guess most linux users will not be familiar with "Teracopy". –  Peltier Sep 8 '09 at 15:06
Is this because big copies and deletes take time and the GUI interface is unavailable/less useful while they are running? –  dmckee Sep 8 '09 at 15:25
A partial explanation of this request can be found here: superuser.com/questions/9284/… –  dmckee Sep 8 '09 at 17:40
Wait a minute, isn't MiniCopier available for Linux? It's a Java app. –  Ryan Thompson Sep 13 '09 at 18:56
Yes it is, that's why he listed it as a possible solution :D –  monkey_p Sep 29 '09 at 14:13
show 3 more comments

4 Answers

I just wrote this simple script, which I called 'cpw', to solve this problem.

You use it just like you would use cp... the only difference is that it builds an array of any cpw processes that are already running when it is started, and waits for them to finish before passing the commands on to cp. In this way, it behaves like a self-organizing queue.

You can keep adding background cpw jobs, but they won't step on each other. They'll execute one at a time.

I'm sure others can suggest improvements.


cpwpids=(`ps -ef | grep $USER | grep 'cpw' | grep -v grep | grep -v $$ | awk '{ print $2 }'`) #build an array of all cpw procs for this user that aren't this one.

cpwcnt=${#cpwpids[@]} # number of elemenets in the above array
cnt=$cpwcnt # counter to be decremented each pass
while [ $cnt -gt 0 ]
    for i in "${cpwpids[@]}" # check if each pid has died yet
        ps --pid $i >/dev/null
        if [ $? -gt 0 ]
            let "cnt -= 1"
    sleep 2
cp -v "$@" >> /tmp/cpw.log #log

Usage example:

$ cpw -R /src/tree /dest/tree &
share|improve this answer
Just a warning, I've tried this script and for a reason I haven't investigated further, it can hang indefinitely waiting for other scripts to finish. The more reliable way to achieve exclusivity in bash is to use flock -e . See for example here: stackoverflow.com/questions/17996577/… –  sigiczek Dec 11 '13 at 20:47
add comment

In my experience, doing a few copies simultaneously in Linux doesn't really reduce overall throughput. My measurement of throughput is based on rsync's -P argument. My particular case is separately copying a number of folders full of large files off of a USB hard drive at the same time.

So unless you're copying a lot of things at once, you should be fine.

share|improve this answer
add comment

I don't know of anything like this for Linux (though that's not to say that there isn't one somewhere). Linux software tends to get written by Linux users. Experienced Linux users may not think to create a tool like this, because if they notice any slowdown of copies during a GUI session they're likely to switch to a terminal and copy via commandline.

Here are some basic commandline copying utilities that are very fast and shouldn't affect your desktop environment:

  • cp ("cp foo /path/to/bar" will copy foo to bar)
  • mv ("mv foo /path/to/bar" will move (rename) foo to bar)
  • tar ("tar cf - foo | ( cd /path/to/archive/ ; tar xf - )" will recursively copy a directory)
  • rsync ("rsync -r foo /path/to/archive/" will recursively copy a directory)
share|improve this answer
add comment

Create a list of files and use SCP to perform the copy. The nice thing in linux is you can add to your text file using echo.

share|improve this answer
add comment

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.