Useful Linux Commands
System Information Commands
uname -a | shows Linux system info |
uname -r | shows kernel release info |
cat /etc/redhat-release | shows installed redhat version |
uptime | displays system running/life time |
hostname | shows system host name |
hostname -I | shows ip addresses of the host |
last reboot | displays system reboot history |
date | displays current date and time |
cal | displays monthly calendar |
mount | shows mounted filesystems |
File Commands
ls -l | shows file type and access permission |
ls -a | lists also hidden files |
ls -al | lists files and directories detailly |
pwd | shows present directory |
mkdir directory | creates a directory |
rm xyz | deletes file xyz |
rm -r /xyz | deletes directory /xyz and its contents recursively |
rm -f abc | forcefully deletes abc file without confirmation |
rm -rf /xyz | forcefully deletes directory /xyz recursively |
cp aaa bbb | copies aaa file to bbb file |
cp -r /xxx /yyy | copies /xxx directıry to /yyy directory |
mv aaa bbb | renames or moves file aaa to file bbb |
touch abc | creates an empty file named abc |
cat abc | used to view file abc |
less abc | browse through a text file abc |
head abc | displays first 10 lines of file abc |
tail abc | displays last 10 lines of file abc |
tail -f abc | displays last 10 lines of file abc and follow it as it grows |
tail -F abc | outputs last lines of abc as it changes |
file abc | gets type of abc |
gpg -c abc | encrypts file abc |
gpg abc | decrypts file abc |
gpg abc | decrypts file abc |
gpg abc | decrypts file abc |
dir | shows files in the current directory |
put abc | uploads file ‘abc’ from local to remote device |
get file | downloads file ‘abc’ from remote to local device |
ls Options
-a | shows all (including hidden) |
-R | recursive list |
-r | reverse order |
-t | sort by last modified |
-S | sort by file size |
-l | long listing format |
-1 | one file per line |
-m | comma-separated output |
-Q | quoted output |
Process Management Commands
ps | displays currently running processes |
ps PID | gives the status of a particular process |
pidof | gives the process ID of a process |
ps -ef | displays all running processes on the system |
ps -ef | grep xyz | displays process information for xyz |
top | displays and manages the top processes |
htop | interactive process viewer (top alternative) |
kill pid | kills process with process ID of pid |
pkill xyz | kills process with name xyz |
killall abc | kills all processes named abc |
program & | starts program in the background |
bg | lists and resumes stopped jobs in the background |
fg | brings the most recent background job to foreground. |
fg x | brings job x to the foreground |
nice | starts a process with a given priority |
renice | changes priority of an already running process |
pstree | displays processes in a tree-like diagram |
pmap | displays a memory usage map of processes |
lsof | lists files opened by running processes |
Networking Commands
arp | displays ARP table of the device |
arpwatch | displays ethernet activity and Ethernet/ip pairings |
bmon | displays bandwidth, captures |
curl | used for for file transfer |
dhclient | used to analyze clients ip address, subnet mask, gateway, dns server |
dig | used for simple DNS lookup |
dstat | collects and shows system resources |
ethtool | used to check settings of your NIC |
ftp | used for for file transfer |
host | used for IP-Name matchings |
hping3 | used for packet analyze |
ifstat | used to monitor network interface statistics |
ip addr | used to check network interfaces and routing activities |
iptables | used for ip packet filtering |
iftop | displays current bandwidth usage |
ifup/ifdown | used to enable or disable interfaces |
iwconfig | used to configure wireless interfaces |
netstat | to check network connections |
nload | used as bandwidth monitoring tool |
nmap | used for security audits |
nslookup | used also for DNS query |
ping | used to check reachability |
route | displays IP Routing Table |
scp | secured file transfer |
sftp | secured file transfer |
ss | gives detailed information about the sockets |
ssh | used for secure connection |
tshark | analyzing and capturing |
tcpdump | used for analyzing and capturing |
telnet | used for classical unsecure connection |
tshark | used for packet analyze |
tracepath | used for path tracking |
traceroute | used for path tracking |
w | used to check the current system activity |
wget | used to download the content of the web servers |
whois | checks the whois database and return with IP and Domain info |
Help Commands
command -h / command –help | to review all available options of the “command” |
info command | to find info documents about the “command” |
whatis command | displays a single line description about the”command” |
$ man UNIXCOMMAND | to view detailed man page of the “command” |
apropos | used to search man pages for available commands on a specific functionality. |
User Information Commands
id | shows user&group ids of the current user |
last | shows the last users logged on |
whoami | shows who you are logged in as |
who | shows who is logged into the system |
w | shows who is logged in and what they do |
groupadd test | creates group “test” |
useradd -c “GK” -m Gokhan | creates “Gokhan” account with comment “GK” |
userdel Gokhan | deletes account “Gokhan” |
usermod -aG Networkers Gokhan | adds account “Gokhan” to the “Networkers” group |
File Permissions
chown user | changes ownership of a file/directory |
chown user:group filename | changes user and group for a file or directory |
File Permissions | r (read) permission, 4 w (write) permission, 2 x (execute) permission, 1 -= no permission |
File Owner | owner/group/everyone |
File Permissions Examples | 777 | Owner, Group, Everyone has rwx permissions 744 | Owner has rwx permission, Group, Everyone has r permission 755 | Owner has rwx permission, Group, Everyone has rx permissions 776 | Owner, Group has rwx permission, Everyone has rw permissions |
Search Commands
grep x file | searches for x in file |
grep -i | case insensitive search |
grep -r | recursive search |
grep -v | inverted search |
grep -o | shows only matched part of the file |
find /dir/ -name aaa* | finds files starting with aaa in dir |
find /dir/ -user Gokhan | finds files owned by Gokhan in dir |
find /dir/ -mmin 10 | finds files modifed less than 10 minutes ago in dir |
find /home -size +500M | finds files larger than 500MB in /xyz |
find [/folder/location] -name [x] | finds file names starting with character x |
whereis aaa | locates the binary, source, and manual page of aaa |
locate abc | finds the location of abc quickly\ |
File Transfer Commands
scp file.txt server:/tmp | secure copy file.txt to the /tmp folder on server |
scp server:/var/www/*.html /tmp | secure copy *.html files in /var/www/ directory on server to the local /tmp folder |
scp -r server:/var/www /tmp | secure copy all files and directories recursively from server to the current system’s /tmp folder. |
rsync -a /home /backups/ | synchronize /home to /backups/ |
rsync -avz /home server:/backups/ | Synchronize files/directories between the local and remote system with compression enabled |
Disk Usage Commands
df | shows free hard disk space on the system |
df -h | shows free and used space on mounted filesystems |
df -i | shows free and used inodes on mounted filesystems |
fdisk -l | shows free and used inodes on mounted filesystems |
du -sh | shows total disk usage off the current directory |
du -ah | shows disk usage for all files and directories in readable format |
free | shows free RAM on the system |
free -h | shows free and used memory |
findmnt | shows target mount point for all filesystem |
mount /xyz /abc | mounts a device in /xyz to /abc |
Compress and Decompress Commands
gzip abc | compresses abc file using gzip. |
bzip2 abc | compresses abc file using bzip2. |
zip abc.zip abc | compresses abc file into the archive abc.zip. |
tar -czvf archive.tar.gz /home/temp2/ | compresses a full directory with all subdirectories |
gzip -d xyz.gz | extracts xyz.gz with gzip utility |
gunzip xyz.gz | extracts xyz.gz with gzip utility |
bzip2 -d file.php.bz2 | extracts xyz.gz with bzip2 utility |
bunzip2 file.php.bz2 | extracts xyz.gz with bzip2 utility |
unzip xyz.zip | extracts xyz.zip with zip utility |
gunzip -c output.txt.gz | to view the contents of both files without extracting |
tar cf archive.tar directory | creates tar named archive.tar containing directory |
tar xf archive.tar | extracts the contents from archive.tar |
tar czf archive.tar.gz directory | creates a gzip compressed tar file name archive.tar.gz |
tar xzf archive.tar.gz | extracts a gzip compressed tar file |
tar cjf archive.tar.bz2 directory | creates a tar file with bzip2 compression |
tar xjf archive.tar.bz2 | extracts a bzip2 compressed tar file |
Install Commands
yum search keyword | compresses abc file using gzip. |
yum install abc | installs abc package |
yum info abc | displays description and summary info about abc package |
rpm -i abc.rpm | installs package from local file named abc.rpm |
yum remove abc | Remove/uninstall abc package |
yum list installedl | lists all installed packages with yum |
yum search [keyword] | finds a package by a related keyword |
yum info [package_name] | shows package information and summary |
yum install [package_name.rpm] | installs a package using the YUM package manager |
dnf install [package_name.rpm] | installs a package using the DNF package manager |
apt-get install [package_name] | installs a package using the APT package manager |
rpm -i [package_name.rpm] | installs an .rpm package from a local file |
rpm -e [package_name.rpm] | removes an .rpm package |
Hardware Information Commands
dmesg | displays messages in kernel ring buffer |
cat /proc/cpuinfo | displays CPU information |
cat /proc/meminfo | displays memory information |
lspci -tv | displays PCI devices |
lsusb -tv | displays USB devices |
dmidecode | displays DMI/SMBIOS from BIOS |
hdparm -i /dev/sda | displays info about disk sda |
hdparm -tT /dev/sda | performs a read speed test on disk sda |
badblocks -s /dev/sda | tests for unreadable blocks on disk sda |
Comments