Linux Command Line Flashcards
uname -a
Display Linux system information
uname -r
Display kernel release information
cat /etc/redhat-release
Show which version of Red Hat installed
lsb_release -a
Show which version of Ubuntu installed
uptime
Show how long the system has been running + load
hostname
Show system host name
hostname -I
Display all local IP addresses of the host
last reboot
Show system reboot history
date
Show the current date and time
cal
Show this month’s calendar
w
Display who is online
whoami
Who you are logged in as
dmesg
Display messages in kernel ring buffer
cat /proc/cpuinfo
Display CPU information
cat /proc/meminfo
Display memory information
free -h
Display free and used memory ( -h for human readable, -m for MB, -g for GB.)
lspci -tv
Display PCI devices
lsusb -tv
Display USB devices
dmidecode
Display DMI/SMBIOS (hardware info) from the BIOS
hdparm -i /dev/sda
Show info about disk sda
hdparm -tT /dev/sda
Perform a read speed test on disk sda
lshw
Display information about CPU, memory, storage, and network interfaces
lsblk
Display information about all storage devices
top
Display and manage the top processes
htop
Interactive process viewer (top alternative)
mpstat 1
Display processor related statistics
vmstat 1
Display virtual memory statistics
iostat 1
Display I/O statistics
tail -100 /var/log/messages
Display the last 100 syslog messages (Use /var/log/syslog for Debian based systems.)
tcpdump -i eth0
Capture and display all packets on interface eth0
tcpdump -i eth0 ‘port 80’
Monitor all traffic on port 80 (HTTP)
lsof
List all open files on the system
lsof -u user
List files opened by user
free -h
Display free and used memory (-h for human readable, -m for MB, -g for GB.)
watch df -h
Execute “df-h”, showing periodic updates
mpstat
Display statistics about CPU usage
pidstat
Display statistics about processes running
id
Display the user and group ids of your current user
last
Display the last users who have logged onto the system
who
Show who is logged into the system
w
Show who is logged in and what they are doing
groupadd test
Create a group name “test”.
useradd -c “John Smith” -m john
Create an account named john, with a comment of “John Smith” and create the user home directory
userdel john
Delete the john account
usermod -aG sales john
Add the john account to the sales group
ls -al
List all files in a long listing (detailed) format
pwd
Display the present working directory
mkdir directory
Create a directory
rm file
Remove (delete) file
rm -r directory
Remove the directory and its contents recursively
rm -f file
Force removal of file without prompting for confirmation
rm -rf directory
Forcefully remove directory recursively
cp file1 file2
Copy file1 to file2
cp -r source_directory destination
Copy source_directory recursively to destination. If destination exists, copy source_directory into destination, otherwise create destination with contents of source_directory
mv file1 file2
Rename or move file1 to file2. If file2 is an existing directory, move file1 into directory file2
ln -s /path/to/file linkname
Create symbolic link to linkname
touch file
Create an empty file or update the access and modification times of file
cat file
View the contents of file
less file
Browse through a text file
head file
Display the first 10 lines of file
tail file
Display the last 10 lines of file
tail -f file
Display the last 10 lines of file and “follow” the file as it grows
ps
Display your currently running processes
ps -ef
Display all the currently running processes on the system
ps -ef l grep processname
Display process information for processname
top
Display and manage the top processes
htop
Interactive process viewer (top alternative)
kill pid
Kill process with process ID of pid
killall processname
Kill all processes named processname
program &
Start program in the background
bg
Display stopped or background jobs
fg
Brings the most recent background job to foreground
fg n
Brings job n to the foreground
nohup processname
Runs a process even after user logs out
chown john /path/to/file
Change ownership /path/to/file to john
chgrp sales /path/to/file
Change group ownership of /path/to/file to group sales
ip a
Display all network interfaces and IP address
ip addr show dev eth0
Display eth0 address and details
ethtool eth0
Query or control network driver and hardware settings
ping host
Send ICMP echo request to host
whois domain
Display whois information for domain
dig domain
Display DNS information for domain
dig -x IP_ADDRESS
Reverse lookup of IP_ADDRESS
host domain
Display DNS IP address for domain
hostname -i
Display the network address of the host name
hostname -I
Display all local IP addresses of the host
wget http://domain.com/file
Download http://domain.com/file
netstat -nutlp
Display listening tcp and udp ports and corresponding programs
ifconfig
Display information about network interfaces
traceroute host
Display the path that packets take to host
tcpdump
Capture and analyze network traffic
tar cf archive.tar directory
Create tar name archive.tar containing directory
tar xf archive.tar
Extract the contents from archive.tar
tar czf archive.tar.gz directory
Create a gzip compressed tar file name archive.tar.gz
tar xzf archive.tar.gz
Extract a gzip compressed tar file
tar cjf archive.tar.bz2 directory
Create a tar file with bzip2 compression
tar xjf archive.tar.bz2
Extract a bzip2 compressed tar file
yum search keyword
Search for a package by keyword
yum install package
install package
yum info package
Display description and summary information about package for RHEL based systems
rpm -i package.rpm
Install package from local file named package.rpm
yum remove package
Remove/uninstall package for RHEL based systems.
yum update package
Update package with name package for RHEL based systmes
tar zxvf sourcecode.tar.gz cd sourcecode./configure
make
make install
Install software from source code
apt-get update
Update package list for Debian based systems
apt-get upgrade
Upgrade all installed packages to their newest version for Debian based systems
apt-get install package
Install package with name package for Debian based systems
apt-remove package
Remove package with name package for Debian based systems
grep pattern file
Search for pattern in file
grep -r pattern directory
Search recursively for pattern in directory
locate name
Find files and directories by name
find /home/john -name ‘prefix*’
find files in /home/john that start with “prefix”.
find /home -size +100M
Find files larger than 100MB in /home
whereis program
Display the location of the binary, source and manual page files of program
which program
Display the path of executable that would run if program is executed
ssh host
Connect to host as your local username
ssh user@host
Connect to host as user
ssh -port user@host
Connect to host using port
ssh-keygen
Create a new SSH key pair
ssh-copy-id user@host
Copy SSH key to the remote host to enable passwordless logins for user
scp file.txt server:/tmp
Secure copy file.txt to the /tmp folder on server
scp server: /var/www/*.html/tmp
Copy *.html files from server to the local /tmp folder
scp -r server:/var/www /tmp
Copy all files and directories recursively from server to the current system’s /tmp folder
rsync -a /home /backups/
Synchronize /home to /backups/home
rsync -avz /home server:/backups/
Synchronize files/directories between the local and remote system with compression enabled
ftp host
Connect to FTP server on the remote host
df -h
Show free and used space on mounted filesystems
df -i
Show free and used inodes on mounted filesystems
fdisk -l
Display disks partitions sizes and types
du -ah
Display disk usage for all files and directories in human readable format
du -sh
Display total disk usage off the current directory
du -a directory
Display size of all files directory
findmnt
List all mounted file systems with details
cd ..
To go up one level of the directory tree. (Change into the parent directory.)
cd
Go to the $HOME directory
cd /etc
Change to the /etc directory
alias goto=’cd /etc/’
Create goto alias for command cd /etc/
passwd
Change the current user’s password
sudo -i
Switch to the root account with root’s environment (Login shell.)
sudo -s
Execute your current shell as root (Non-login shell.)
sudo -l
List sudo privileges for the current user
visudo
Edit the sudoers configuration file
getenforce
Display the current SELinux mode
sestatus
Display SELinu details such as the current SELinux mode, the configured mode, and loaded policy
setenforce 0
Change the current SELinux mode to Permissive. (Does not survive a reboot.)
setenforce 1
Change the current SELinux mode to Enforcing. (Does not survive a reboot.)
SELINUX=enforcing
Set the SELinux mode to enforcing on boot by using this setting in the /etc/seliux/configfile
SELINUX=permissive
Set the SELinux mode to permissive on boot by using this setting in /etc/selinux/configfile
SELINUX=disabled
Set the SELinux mode to disabled on boot by using this setting in the /etc/selinux/configfile
dmesg
Display messages in kernel ring buffer
jounalctl
Display logs stored in the systemd journal
jounalctl -u servicename
Display logs for a specific unit (service).