Linux Commands
Navigation Commands
pwd
- Print Working Directory
bash
pwd
Displays the full path of the current working directory.
ls
- List Directory Contents
bash
ls # Basic listing
ls -l # Long format listing
ls -a # Show hidden files
ls -la # Long listing including hidden files
ls -lh # Long listing with human-readable file sizes
cd
- Change Directory
bash
cd /path/to/directory # Change to specific directory
cd ~ # Change to home directory
cd .. # Move up one directory
cd - # Return to previous directory
File Operations
touch
- Create Empty Files
bash
touch file.txt # Create a new file or update timestamp
touch file1.txt file2.txt # Create multiple files
mkdir
- Create Directories
bash
mkdir directory # Create a new directory
mkdir -p dir1/dir2/dir3 # Create nested directories
cp
- Copy Files and Directories
bash
cp source.txt destination.txt # Copy a file
cp -r source_dir destination_dir # Copy directories recursively
mv
- Move or Rename Files
bash
mv old_name.txt new_name.txt # Rename a file
mv file.txt /path/to/destination/ # Move a file
rm
- Remove Files and Directories
bash
rm file.txt # Delete a file
rm -i file.txt # Interactive deletion (prompts before deleting)
rm -r directory # Delete directory and contents recursively
rm -rf directory # Force delete directory without prompts (use with caution!)
File Viewing Commands
cat
- Concatenate and Display File Contents
bash
cat file.txt # Display entire file content
cat file1.txt file2.txt # Display multiple files
less
- View File Content with Pagination
bash
less file.txt # View file with pagination
Use arrow keys to navigate, press q
to exit.
head
- Display Beginning of File
bash
head file.txt # Display first 10 lines
head -n 20 file.txt # Display first 20 lines
tail
- Display End of File
bash
tail file.txt # Display last 10 lines
tail -n 20 file.txt # Display last 20 lines
tail -f log.txt # Follow a file in real-time (useful for logs)
grep
- Search Text Patterns
bash
grep "pattern" file.txt # Search for pattern in file
grep -i "pattern" file.txt # Case-insensitive search
grep -r "pattern" directory/ # Recursive search in directory
System Information Commands
uname
- Print System Information
bash
uname -a # All system information
uname -s # Kernel name
uname -r # Kernel release
df
- Disk Space Usage
bash
df # Show disk space usage
df -h # Human-readable format
free
- Memory Usage
bash
free # Show memory usage
free -h # Human-readable format
top
- Process Monitoring
bash
top # Dynamic real-time view of processes
Press q
to exit.
ps
- Process Status
bash
ps # Show current processes
ps aux # Show all processes in detail
User Management Commands
whoami
- Print Current User
bash
whoami # Display current username
su
- Switch User
bash
su username # Switch to another user
su - # Switch to root user (with environment)
sudo
- Execute Command as Superuser
bash
sudo command # Execute command with superuser privileges
sudo -i # Start a shell as root
passwd
- Change Password
bash
passwd # Change your password
sudo passwd username # Change another user's password (as admin)
File Permissions
chmod
- Change File Permissions
bash
chmod 755 file.txt # Change permissions using octal notation
chmod u+x script.sh # Add execute permission for user
chmod -R 755 directory # Change permissions recursively
chown
- Change File Owner
bash
chown user:group file.txt # Change owner and group
chown -R user directory # Change recursively
Network Commands
ping
- Test Network Connectivity
bash
ping google.com # Send ICMP echo requests
ping -c 4 google.com # Send only 4 packets
ifconfig
/ip
- Network Interface Configuration
bash
ifconfig # Show network interfaces
ip addr show # Modern equivalent
netstat
- Network Statistics
bash
netstat -tuln # Show listening ports
ssh
- Secure Shell
bash
ssh username@hostname # Connect to remote host
Archiving and Compression
tar
- Archive Files
bash
tar -cvf archive.tar directory/ # Create archive
tar -xvf archive.tar # Extract archive
tar -zcvf archive.tar.gz directory/ # Create compressed archive
tar -zxvf archive.tar.gz # Extract compressed archive
zip
/unzip
- Zip Files
bash
zip -r archive.zip directory/ # Create zip archive
unzip archive.zip # Extract zip archive
Package Management
Debian/Ubuntu (apt)
bash
apt update # Update package lists
apt upgrade # Upgrade installed packages
apt install package_name # Install packages
apt remove package_name # Remove packages
Red Hat/Fedora (dnf/yum)
bash
dnf update # Update packages
dnf install package_name # Install packages
dnf remove package_name # Remove packages
Redirects and Pipes
Redirecting Output
bash
command > file.txt # Redirect output to file (overwrite)
command >> file.txt # Append output to file
command 2> error.log # Redirect errors to file
Pipes
bash
command1 | command2 # Pipe output of command1 to command2
ls -la | grep "pattern" # List files and filter with grep
Practice Exercises
- Navigate to your home directory and create a new directory called "linux_practice"
- Create five empty files inside this directory named file1.txt through file5.txt
- Create a text file with some content using a command
- List all files, including hidden ones, in long format
- Rename file1.txt to first_file.txt
- Copy file2.txt to backup_file2.txt
- Move file3.txt to a subdirectory
- Delete file4.txt
- Check how much disk space is available on your system
- Find all files in your home directory that contain the word "linux"
In the next sections, we'll dive deeper into the Linux file system, permissions, and process management.