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 Linux, Open Source & DevOps via RSS feed or Weekly email newsletter.

🐧 2 comments so far... add one
CategoryList of Unix and Linux commands
Disk space analyzersncdu pydf
File Managementcat
FirewallAlpine Awall CentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Network UtilitiesNetHogs dig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron 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
WireGuard VPNAlpine CentOS 8 Debian 10 Firewall Ubuntu 20.04
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.

Use HTML <pre>...</pre> for code samples. Still have questions? Post it on our forum