{"id":15007321,"url":"https://github.com/theanasuddin/ubuntu-linux-distro-cheat-sheet","last_synced_at":"2026-02-07T09:32:02.669Z","repository":{"id":209102653,"uuid":"351400308","full_name":"theanasuddin/Ubuntu-Linux-Distro-Cheat-Sheet","owner":"theanasuddin","description":"Ubuntu is the modern, open-source operating system on Linux for the enterprise server, desktop, cloud, and IoT. This repository contains information about getting up and running with Ubuntu desktop quickly.","archived":false,"fork":false,"pushed_at":"2021-06-06T16:33:51.000Z","size":60,"stargazers_count":9,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-16T21:43:01.022Z","etag":null,"topics":["canonical","cheat-sheet","debian","debian-packages","gnome-desktop","linux","linux-distribution","open-source","packages","shell","snapcraft","terminal","ubuntu","ubuntu-desktop","ubuntu-packages"],"latest_commit_sha":null,"homepage":"https://ubuntu.com/","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/theanasuddin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-25T10:47:43.000Z","updated_at":"2024-01-20T12:34:09.000Z","dependencies_parsed_at":null,"dependency_job_id":"fd9d03e8-6fca-49e0-91cb-b8d9d71a2d4a","html_url":"https://github.com/theanasuddin/Ubuntu-Linux-Distro-Cheat-Sheet","commit_stats":null,"previous_names":["theanasuddin/ubuntu-linux-distro-cheat-sheet"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theanasuddin%2FUbuntu-Linux-Distro-Cheat-Sheet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theanasuddin%2FUbuntu-Linux-Distro-Cheat-Sheet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theanasuddin%2FUbuntu-Linux-Distro-Cheat-Sheet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theanasuddin%2FUbuntu-Linux-Distro-Cheat-Sheet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/theanasuddin","download_url":"https://codeload.github.com/theanasuddin/Ubuntu-Linux-Distro-Cheat-Sheet/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254029008,"owners_count":22002284,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["canonical","cheat-sheet","debian","debian-packages","gnome-desktop","linux","linux-distribution","open-source","packages","shell","snapcraft","terminal","ubuntu","ubuntu-desktop","ubuntu-packages"],"created_at":"2024-09-24T19:08:25.912Z","updated_at":"2026-02-07T09:32:02.641Z","avatar_url":"https://github.com/theanasuddin.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ubuntu-Linux-Distro-Cheat-Sheet\n\n![enter image description here](https://raw.githubusercontent.com/theanasuddin/Ubuntu-Linux-Distro-Cheat-Sheet/main/cover.png)\n\n## Install Ubuntu Desktop :computer:\n### Recommended System🖥 Requirements :memo::\n - 2 GHz dual core processor or better\n - 4 GB RAM (system memory)\n - 25 GB of free hard drive space\n - VGA capable of 1024x768 screen resolution\n - Internet access is helpful\n - Either a DVD drive or a USB port for the installer media\n\n### Download :arrow_down: Ubuntu:\n\u003e :pushpin: It's better to download the latest LTS version of Ubuntu, for desktop PCs and laptops. LTS stands for long-term support — which means five years of free security and maintenance updates, guaranteed.\n\nClick ***[here](https://ubuntu.com/download/desktop)*** to download latest Ubuntu Desktop 🖥 ISO image file from Ubuntu website.\n\n### Make Bootable USB :floppy_disk::\n\u003e :pushpin: Format the USB flash drive in FAT32 mode. Download Rufus to create a bootable USB drive from the downloaded .iso image file. Rufus is a free and open-source portable application for Microsoft Windows that can be used to format and create bootable USB flash drives or Live USBs. You may use other tools like Etcher, UNetbootin to do this.\n\nClick ***[here](https://rufus.ie/)*** to download Rufus.\n\nAlternatively, you can use [***Etcher***](https://www.balena.io/etcher/) if you are on a Linux machine. Etcher has support for most Linux distros. Here's a Debian and Ubuntu based package repository (GNU/Linux x86/x64). Install using:\n\n1. Add Etcher debian repository:\n\n   ```sh\n    $ echo \"deb https://deb.etcher.io stable etcher\" | sudo tee /etc/apt/sources.list.d/balena-etcher.list\n    ```\n2. Trust bintray.com's GPG key:\n\n    ```sh\n    $ sudo apt-key adv --keyserver hkps://keyserver.ubuntu.com:443 --recv-keys 379CE192D401AB61\n    ```\n3. Update and install:\n\n    ```sh\n    $ sudo apt-get update\n    $ sudo apt-get install balena-etcher-electron\n    ```\nCheck GitHub [***repository***](https://github.com/balena-io/etcher) of balenaEtcher for more details. Also, refer to Etcher's [***website***](https://www.balena.io/etcher/) for the latest pre-made installers for all supported operating systems.\n\n## Useful Commands \n### Update Ubuntu:\nSync the package index files from their sources:\n\n    $ sudo apt-get update\n    or\n    $ sudo apt update\n\nInstall the newest versions of all installed packages:\n\n    $ sudo apt-get upgrade\n    or\n    $ sudo apt upgrade\n\nTo reboot the system after updating (if needed):\n\n    $ sudo reboot\n\n## GNOME Desktop Environment\n### GNOME:\n\u003e :pushpin: ***[GNOME](https://www.gnome.org/)*** is a free and open-source desktop environment for Unix-like operating systems. Latest Ubuntu releases use GNOME desktop environment by default. \n\n### GNOME Shell:\n\u003e :pushpin: GNOME Shell provides core user interface functions for GNOME, like switching to windows and launching applications. User interface elements provided by GNOME Shell include the Panel at the top of the screen, the Activities Overview, and Message Tray at the bottom of the screen. \n\n### GNOME Shell Extensions:\n\u003e :pushpin: GNOME Shell extensions are small pieces of code written by third party developers that modify the way GNOME works. (If you are familiar with Chrome Extensions or Firefox Addons, GNOME Shell extensions are similar to them.) You can find and install GNOME Shell extensions using ***[this](https://extensions.gnome.org/)*** website.\n\nInstall GNOME shell extension package:\n\n    $ sudo apt install gnome-shell-extensions\n\n### Install GNOME Tweaks:\nTo customize your desktop further, you may install GNOME Tweaks. You can get it from Ubuntu Software or run the following command:\n\n    $ sudo apt install gnome-tweaks\n\n## Install S/W, Software Management \nSoftwares and packages can be downloaded from various sources and in various ways. Popular ways for installing packages are:\n\n - Ubuntu Software\n - [*Snap*](https://snapcraft.io/)\n - Synaptic Package Manager\n - [*Ubuntu Packages*](https://packages.ubuntu.com/)\n - Download directly from specific website etc.\n\n### Install Synaptic Package :package: Manager:\n\u003e :pushpin: Synaptic is a graphical package management program for apt. It provides the same features as the apt-get command line utility with a GUI front-end based on Gtk+.\n\nInstall using:\n\n    $ sudo apt-get install synaptic\n\n### APT:\n\u003e :pushpin: The apt command is a powerful command-line tool, which works with Ubuntu’s _Advanced Packaging Tool_ (APT) performing such functions as installation of new software packages, upgrade of existing software packages, updating of the package list index, and even upgrading the entire Ubuntu system.\n\nInstallation of packages using the apt tool is quite simple. For example, to install a package, type the following:\n\n    $ sudo apt install SOFTWARE_NAME\n\nHere, SOFTWARE_NAME denotes the name of the package you want to install.\n\n### Commands  To Install Some Useful Softwares \u0026 Packages:\n - Chromium\n   \n       $ sudo snap install chromium\n - Thunderbird\n   \n       $ sudo snap install thunderbird\n - Visual Studio Code\n   \n       $ sudo snap install code --classic\n - Eclipse\n   \n       $ sudo snap install eclipse --classic\n - Apache NetBeans\n   \n       $ sudo snap install netbeans --classic\n - FileZilla Client\n   \n       $ sudo apt-get install filezilla\n - GIMP\n   \n       $ sudo snap install gimp\n - kdenlive\n   \n       $ sudo snap install kdenlive\n - OBS Studio\n   \n       $ sudo snap install obs-studio\n - Postman\n   \n       $ sudo snap install postman\n - Spotify\n   \n       $ sudo snap install spotify\n - VLC\n   \n       $ sudo snap install VLC\n\n### Avro Phonetic For Linux:\n\u003e :pushpin: GitHub ***[repository](https://github.com/maateen/avro)*** for Avro Phonetic.\n\n  ## Terminal/CLI\n  Ubuntu's default terminal is gnome-terminal. Other popular terminal apps are:\n - xterm   \n - rxvt   \n - konsole   \n - terminator\n\n### Terminal Command:\nA terminal command can have three parts:\n - Command \n - Option \n - Argument\n\n### Essential Terminal Commands:\n***FILE*** :file_folder:\nCommand  | Function\n------------- | -------------\ncat  | Open a file, Add multiple files, Create new file\ntac  | See few ending lines from a file\nhead  | See first 10 lines from a file\ntail  | See few ending lines from a file, by default 10 lines\ntouch  | Create a new file. Usage: `$ touch \u003cfilename\u003e`\nmv  | Change filename\nrm  | Remove file\n\n***DIRECTORY*** :open_file_folder:\nCommand  | Function\n------------- | -------------\npwd  | Present Working Directory. Shows the whole directory path where terminal is at right now\nmkdir  | Create new directory. Usage: `$ mkdir \u003cdirectoryname\u003e`\nrmdir  | Remove a directory. Usage: `$ rmdir \u003cdirectoryname\u003e`\ncd  | Open home directory\ncd ~  | Open home directory\ncd ..  | Change parent directory\ncd -  | Return back to last opened directory\ncd ~/Documents  | Jump to Documents directory under home directory\ncd /var  | Jump to var directory from root directory (/)\nls  | See all contents of current directory \nls -a  | See all contents with hidden files of current directory \ntree  | See a tree view of file system\ntree -d  | See a tree view only of directories\n\n***FIND*** :mag:\nCommand  | Function\n------------- | -------------\nlocate  | Used to search files and directories. grep command is also used with locate command to filter more. Usage: `$ locate zip \\| grep bin` , this command gives a list of all files and folders containing this two words: zip and bin \nupdatedb  | Update database of name listings\nfind  | This command is used to search for files, it has multiple usage with option and argument\npipe (\\|)  | Not a command itself but is used frequently with other commands\nsudo  | Abbreviation of \"super user do\". It allows programs to be executed as a super user (aka. root user) or another user.\nman  | See documentation of any command\n\n## Programming In Ubuntu\n### C/C++ Programming:\nInstall C/C++ compiler:\n\n    $ sudo apt-get update\n    $ sudo apt-get install build-essential manpages-dev\n\nTo check if the compiler is installed properly:\n\n    $ whereis gcc\n    $ which gcc\n    $ gcc --version\n\nCompile and run c code:\n\n    $ gcc hello.c -o hello\n    $ ./hello\n\nCompile and run c++ code:\n\n    $ g++ hello.cpp -o hello\n    $ ./hello\n\n### Installing Code::Blocks:\nAt first, add Code::Blocks repository to ubuntu software list, then update ubuntu package list:\n\n    $ sudo add-apt-repository ppa:damien-moore/codeblocks-stable\n    $ sudo apt-update\n\nthen install using:\n\n    $ sudo apt install codeblocks\n\n### Java Programming:\nInstalling the Default JRE/JDK. Execute the following command to install the default Java Runtime Environment (JRE), which will install the JRE from OpenJDK 11:\n\n    $ sudo apt update\n    $ sudo apt install default-jre\n\nVerify the installation with:\n\n    $ java -version\n\nYou may need the Java Development Kit (JDK) in addition to the JRE in order to compile and run some specific Java-based software. To install the JDK, execute the following command, which will also install the JRE:\n\n    $ sudo apt install default-jdk\n\nVerify that the JDK is installed by checking the version of `javac`, the Java compiler:\n\n    $ javac -version\n\nCompile and run Java code:\n\n    $ javac Hello.java\n    $ java Hello\n\n### Install XAMPP:\nDownload XAMPP from [***Apache Friends***](https://www.apachefriends.org/index.html). Search for \"install xampp on ubuntu\". Follow some tutorials online and you will be good to go.\n\n### Install Ubuntu Make:\nYou can use Ubuntu Make to install and update different development tools easily. To install:\n\n    $ snap install --classic ubuntu-make\n\nUse the following command to see a list of Ubuntu Make supported tools and platforms:\n\n    $ umake --list\n    $ ubuntu-make.umake\n\nTo download Android Studio, use the following command:\n\n    $ umake android\n\n### Install Git:\nInstall using:\n\n    $ sudo apt install git-all\n\nVerify the installation with:\n\n    $ git --version\n\nFor more options, click [***here***](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git).\n\n## Raspberry Pi\n### Powering Raspberry Pi With Ubuntu Desktop:\nRunning Ubuntu Desktop on the Raspberry Pi is easy. Just pick the [***OS image***](https://ubuntu.com/download/raspberry-pi), flash it onto a microSD card, load it onto the Pi and away you go. You can also install Ubuntu Server on the Pi if you want to. Ubuntu Server works on the Raspberry Pi 2, 3 and 4 but Ubuntu Desktop only works on the Raspberry Pi 4 with 4GB or 8GB of RAM and on Raspberry Pi 400.\n\n\u003e :pushpin: Follow this [***desktop***](https://ubuntu.com/tutorials/how-to-install-ubuntu-desktop-on-raspberry-pi-4) or [***server***](https://ubuntu.com/tutorials/how-to-install-ubuntu-on-your-raspberry-pi) tutorial from Canonical for an in-depth installation guide.\n\n### Building NAS Server With Raspberry Pi \u0026 OpenMediaVault:\n\u003e :pushpin: A Network-attached storage (NAS) device is a storage device connected to a network that allows storage and retrieval of data from a central location for authorised network users and varied clients. A NAS can be very helpful for small businesses or for home use. It is like \nhaving a private cloud.\n\nWe are going to use Raspberry Pi OS Lite for this NAS as Desktop versions of Raspberry PI OS are not supported by OMV5. OMV5 will install on Raspberry PI models 2B and higher. But, in practical terms, the performance of the model 2B is marginal. Raspberry Pi 4 models are recommended.\n\nFollow ***[this](https://www.raspberrypi.org/software/operating-systems/)*** to download Raspberry Pi OS Lite image. Flush a microSD card (minimum 16GB, A1 rated, class 10 card recommended) with this image using Etcher or [***Raspberry Pi Imager***](https://www.raspberrypi.org/software/). We also need a HDD/SSD for more storage capacity.\n\nEnabling Raspberry Pi OS's SSH Server for Remote Access: We can enable SSH in various ways. We can do it with the configuration tool of Pi. To access configuration tool:\n\n    $ sudo raspi-config\n\nFor a complete headless setup, Raspberry PI OS can be configured to enable it's SSH server on first boot, so the server can be accessed remotely. To do this, unplug the SD card for a few moments and plug it back into the PC and create a file named **ssh** with no extension inside the root directory of the card.\n\nWe need the IP of the Pi to SSH into the Pi. The IP can be seen from the CLI while Pi starts or we can use an IP scanner like [***Advanced IP Scanner***](https://www.advanced-ip-scanner.com/) or [***Angry IP Scanner***](https://angryip.org/) for this purpose. We can also get the IP by logging into the router. For SSH access, use:\n\n    $ ssh USERNAME@IP\n\nThe default user for Pi is **pi** and the password is **raspberry**. So, the command will look something like the following along with the IP:\n\n    $ ssh pi@192.168.1.102\n\n\u003e :pushpin: Windows users can use [*PuTTY*](https://www.putty.org/) SSH client.\n\nTo change the default Pi password, use:\n\n    $ passwd\n\nA static IP is required for reliability when creating a NAS. We can assign a static IP to the Pi through the router by logging into it or we can do it by editing the DHCP config file in Pi. Use:\n\n    $ sudo nano /etc/dhcpcd.conf\n\nExample static IP configuration (add this at the end of the dhcpcd.conf file):\n\n*interface eth0 \u003cbr/\u003e\nstatic ip_address=192.168.1.105/24 \u003cbr/\u003e\nstatic routers=192.168.1.1 \u003cbr/\u003e\nstatic domain_name_servers=192.168.1.1 8.8.8.8*\n\nChange the interface name and IP addresses according to your network. After the static IP setup, we can always SSH into the Pi using this non changing IP. Also, this way, we can always reach the NAS server remotely with the same IP from other devices like PC, Mac, Smartphones etc.\n\nFinally, to install [***OMV***](https://www.openmediavault.org/), use the following commands, executed one at at time:\n\n    $ sudo apt-get update\n    $ sudo apt-get upgrade -y\n    $ sudo reboot\n    $ wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash\n\nDepending on several factors, running this last command script may take up to 30 minutes. When the script is complete, the Pi will automatically reboot.\n\nFirst Time GUI Login into OMV: OMV can be logged into using the same IP address that was used for the SSH remote access, entered in a web browser address bar. The web GUI user is **admin** and the default password is **openmediavault**. Using this GUI, we can manage our whole NAS server.\n\n\u003e :pushpin: A complete installation guide of OMV for Raspberry Pi is available in [PDF](https://github.com/OpenMediaVault-Plugin-Developers/docs/raw/master/Adden-B-Installing_OMV5_on_an%20R-PI.pdf).\n\n\u003e :pushpin: For more details on how to use OMV and to run OpenMediaVault on other Linux distros, check out this [***documentation***](https://openmediavault.readthedocs.io/en/5.x/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheanasuddin%2Fubuntu-linux-distro-cheat-sheet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftheanasuddin%2Fubuntu-linux-distro-cheat-sheet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheanasuddin%2Fubuntu-linux-distro-cheat-sheet/lists"}