Select Page

List of common shell commands for Linux

Trying to find the right command for your Linux  Box on the internet is time consuming. I often find myself looking for the same commands again and again. To fix this, I am trying to create a list of most commonly used Linux commands for my self that is easily accessible. I will keep adding to this list over the time and hope fully it will keep expanding and will benefit some of you as well.


Copy files and folders

cp -option source target

Copy a directory to another directory
cp -r /home/www/public_html/test /home/www/public_html/test2/

Copy all the files from a directory to another directory
cp -r /home/www/public_html/test/* /home/www/public_html/test2/


Move files and folders with mv

mv -option source target

moving multi-folder
mv folder1 folder2 target

moving folder and a file
mv folder1 file1 target

use mv -i option to prompt if a file already exists
mv -i folder1 file1 target


Zip and Unzip

yum install zip unzip

To compress a file
zip – r fileOrDirName

extract the contents of a zip file

You can use zip to compress multiple files and directories at the same time by listing them with a space between each one.
zip to compress multiple files and directories at the same time
zip -r file1 file2 file3 /usr/work/school


Remove Directory

Removes the directory and all of its contents
rm -rf dirName


Find Linux Distribution Name and Version

cat /etc/*-release


Create RSA SSH key

ssh-keygen -t rsa


Change directory and file permissions

Change permission of the directory and all sub dirctories
find dir-name -type d -exec chmod 755 {} \;

Change permission of all files in the directory and all sub-directories
find file-name -type f -exec chmod 644 {} \;

Prevent group change on all files in directory after any file is edited/changed/re-uploaded
find dir-name -type d -exec chmod g+s {} \;


Check directory and file size

Check size of a specific directory
du -sh /home/foldername/

Check size of all the files and sub-directories in a directory
du -sh /home/foldername/*


Check harddrive size

Check size of all the partitions
df -h


Find Linux Distribution Name and Version

cat /etc/*-release


Check version details of installed programs/packages

For Redhat/CentOS/Fedora/Suse
rmp -qi {packagename}

For Ubuntu/Debian
dpkg -p {packagename}

For Ubuntu/Debian
dpkg -p {packagename}



User Management


Add existing user to a group

Create user ‘demo’ 
adduser demo

Create user ‘demo’  with a home directory specified
useradd -d /srv/www/public_html/demo demo

Change user’s home directory 
usermod -m -d /srv/www/public_html/demo demo

Add user ‘demo’ to www-data group
usermod -a -G www-data demo

Remove user ‘demo’ from www-data group
gpasswd -d  demo www-data

Test if the user has been added to the group or not
id demo
groups demo