Transitioning from Windows to Ubuntu: Key commands

I moved from Windows to Ubuntu and learnt fast by doing. These are the Linux commands I used every day. I kept to the basics: navigation, permissions, package management, and a few bits that make a Windows migration less clumsy. Try them in a terminal or a virtual machine before changing anything important.

Start with the terminal. Open the app labelled Terminal or GNOME Terminal, or use the shortcut. The prompt shows the current user and path. Use pwd to print the working directory. Use ls -l to list files with details. Change directory with cd /path/to/dir.

These come up constantly:

  • mkdir mydir makes a directory
  • touch file.txt creates an empty file
  • cp source dest copies
  • mv oldname newname moves or renames
  • rm file deletes

Be careful with rm -rf. It removes recursively without asking.

View file contents with cat file.txt. Use less file.txt for paging, head -n 20 file for the first lines, and tail -n 50 file for the last lines. Search inside files with grep 'pattern' file and search the filesystem with find /path -name '*.conf'. Combine commands with pipes, for example:

ps aux | grep nginx

If a command offers options, use command --help or man command. That clears up more confusion than guessing.

File permissions trip people up quickly. Check them with ls -l. An entry looks like -rwxr-xr-x 1 alice staff 1024 Jan 1 file. The first block shows type and permissions. r stands for read, w for write, and x for execute. Change permissions with chmod.

Use chmod 644 file.txt to give the owner read and write, and group and others read only. Use chmod 755 script.sh to allow execution. Change ownership with chown alice:staff file.txt. For commands that need higher privileges, use sudo before the command, for example:

sudo apt update

Do not log in as root. Create a normal user and use sudo for administrative tasks. On Ubuntu, the sudo timeout keeps your authentication for a short period. If a command fails with permission denied, check ownership and mode before changing them.

For sharing files between Windows and Ubuntu, mount NTFS partitions read-write with udisksctl or via the file manager. For syncing, rsync -av --progress /source /destination is reliable and efficient.

Package management on Ubuntu centres on apt. Update package lists with sudo apt update. Upgrade installed packages with sudo apt upgrade. Install software with sudo apt install packagename. Remove it with sudo apt remove packagename. Use apt search keyword to find packages.

For newer desktop snaps use snap install packagename and view installed snaps with snap list. Some people prefer Flatpak for certain desktop apps; install it if you want that packaging route. For development, install build-essential to get compilers and tools:

sudo apt install build-essential

For version control, install git and set it up with:

git config --global user.name "Your Name"
git config --global user.email "you@example.com"

Enable the uncomplicated firewall with sudo ufw enable and check status with sudo ufw status.

When moving from Windows, back up first. Export bookmarks, export emails, and copy important folders to an external drive. Use rsync to copy large datasets:

rsync -avh --progress /mnt/windows/Users/you/Documents /home/you/Documents

If a Windows app has no Linux version, check for a Linux alternative or use Wine for simple apps. If you use browsers, sign into the same profile to bring bookmarks and passwords across. For productivity files, LibreOffice reads most Microsoft Office documents.

Set up SSH keys early with:

ssh-keygen -t ed25519

Copy the public key with ssh-copy-id user@host when you need it for remote systems. Keep a small list of commands close by: pwd, ls -la, cd, cp, mv, rm, chmod, chown, sudo, apt update, apt install, rsync. Read the man pages when something breaks. Practice common tasks in a live USB session or a virtual machine until they stop feeling odd.

Related posts

Weekly Tech Digest | 06 Jul 2026

Stay updated with the latest in tech! This digest covers AI ethics, auto industry shifts, and the impact of politics on technology, exploring today's pressing issues.

wolfCOSE zero-allocation parsing in embedded C

wolfCOSE looks sensible only if you care about what your firmware actually has to carry. I like that, because on small targets the wrong crypto feature can cost more than the message itself, and there...

restic | v0.19.1

restic v0 19 1: safer FUSE mounts and mountpoint checks, robust backup source and exclude handling, clearer CLI JSON output, Windows SFTP deletion fixes