Moving /home Data From Old System To a New Linux System

Recently a friend of mine, brought a new Laptop. He installed Red Hat Enterrpise Linux workstation 4.0. However, after installation he realized that he lost all his Mozilla thunderbird emails and Firefox bookmarks, chat client logs and other files.


I told him just copy all old files from /home/$you to a new system /home/$you directory. He was trying some age-old tutorial from net, which explains how to copy files using tar and restore it back to new system. During this procedure, he was messing up with file system permissions.

Finally, with frustration he brought both laptops to my place. I demonstrate both of following methods that can copy files in jiffy.

Copy all files and directories using scp

The easiest way to copy all files (including hidden dot files) is as follows using the scp command:
$ scp -r /home/you/. you@new-system:/home/you
$ scp -r /home/you/. you@

Note: Appending a dot (.) symbol (current directory) is very important when you specify /home/you/ as a source path. If you skip dot in path it will only copy only normal files and scp will skip all hidden files.

Copy all files and directories using graphical method

  1. Login to old system
  2. Open two instants of Konqueror browser (i.e. open it two times)
  3. Go to first window and type in Location bar /home/yourname
  4. By default Konqueror will not display hidden files/directories. To see hidden files or folders use the Menubar View > Show Hidden Files option.
  5. Now select all files copy them (CTRL + C or Menubar Edit > Copy option)
  6. Now go to second Konqueror window and type in Location bar and type command: fish://you@newsystem
  7. You are using Konqueror with ssh to manage files on a Remote system called newsystem. You can use IP address instead of hostname.
  8. It will prompt for ssh password. Once logged in you can paste the files, folders, and hidden files.
  9. Now just past all files and folder

Recommended Tool

I recommend using the rsync command – a fast and extraordinarily versatile file copying tool as follows. Login to your old laptop and type:
$ cd /home/you
$ rsync -avz * user@newsystem:/home/user/

$ rsync -avz * user@

🐧 Get the latest tutorials on SysAdmin, Linux/Unix, Open Source & DevOps topics via:
CategoryList of Unix and Linux commands
File Managementcat
Network Utilitiesdig host ip nmap
Package Managerapk apt
Processes Managementbg chroot disown fg jobs killall kill pidof pstree pwdx time
Searchinggrep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w

2 comments… add one
  • Anonymous May 2, 2006 @ 22:25

    Actually isn’t correct this: fish:you@newsystem

    Type fish://you@newsystem instead :-}

  • LinuxTitli May 3, 2006 @ 0:26

    Thanks for the heads up

Leave a Reply

Your email address will not be published. Required fields are marked *

Use HTML <pre>...</pre>, <code>...</code> and <kbd>...</kbd> for code samples.