Ubuntu: How do I move all files from one folder to another using the command line?



Question:

I would like to know how could I move all files from a folder to another folder with a command line.

Let's say I'm in my Downloads folder and there are a 100 files that I would like to move to my Videos folder, without having to write all the files name.


Solution:1

Open a terminal and execute this command:

mv  -v ~/Downloads/* ~/Videos/  

It will move all the files and folders from Downloads folder to Videos folder.


To move all files, but not folders:

If you are interested in moving all files (but not folders) from Downloads folder to Videos folder, use this command

find ~/Downloads/ -type f -print0 | xargs -0 mv -t ~/Videos  

To move only files from the Download folders, but not from sub-folders:

If you want to move all files from the Downloads folder, but not any files within folders in the Download folder, use this command:

find ~/Downloads/ -maxdepth 1 -type f -print0 | xargs -0 mv -t ~/Videos  

here, -maxdepth option specifies how deep find should try, 1 means, only the directory specified in the find command. You can try using 2, 3 also to test.

See the Ubuntu find manpage for a detailed explanation


Solution:2

mv ~/Downloads/* ~/Videos  

It will move all the files including subfolders in the directory you want to mv. If you want to cp (copy) or rm (remove) you will need the -r (recursive) option to include subfolders.


Solution:3

It's possible by using rsync, for example:

rsync -vau --delete-after src/ dst/  

where:

  • -v, --verbose: increase verbosity
  • -a, --archive: archive mode; equals -rlptgoD (no -H,-A,-X)
  • -u, --update: skip files that are newer on the receiver
  • --delete-after: delete files on the receiving side be done after the transfer has completed

If you've root privileges, prefix with sudo to override potential permission issues.


Solution:4

  1. Go to the command line and get into the directory you want to move it to with cd folderNamehere
  2. Type pwd. This will print the directory you want to move it too.
  3. Then change to the directory where all of the files are with cd folderNamehere
  4. Now to move all the files type mv *.* typeAnswerFromStep2here

That will move all files from that directory to the other.


Solution:5

Use

mv -v ~/rootfolder/branch/* ~/rootfolder  

I hope this helps. Because I had the same pain and wasted a lot of time fixing my mistake.


Solution:6

To move a directory with or without content to its new name just like how you would use the mv command to rename a file:

mv -T dir1 dir2

where:

  • -T treats the destination as a normal file
  • dir1 is the original name of the directory
  • dir2 is the new name of the directory

NB: dir2 doesn't have to exist.

I hope this saves someone a lot of time, as a noob, before this, I would create a directory with the new name and then move the contents of the directory to the directory created earlier.

Use for subdirectories

This command is useful when many files have been saved in a subfolder of the target directory i.e. Downloads/mp4. In this example, running mv -T Downloads/mp4 Videos will result in mp4 subfolder being removed and all files contained inside are moved to Videos folder.


Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »