💻 Common Useful Linux Commands 🐧
Common Linux Commands and Descriptions
Linux FileSystem Structure
/
├── bin/ # Essential user binaries (e.g., ls, cat), accessible by all users.
├── boot/ # Files needed to boot the system, like the kernel and bootloader configs.
├── dev/ # Device files representing hardware (e.g., /dev/sda for hard drives).
├── etc/ # System-wide configuration files (e.g., fstab, hosts).
│ ├── init.d/ # Service scripts (start, stop, restart)
│ ├── nginx/ # Configuration for the nginx web server
│ └── ssh/ # SSH configuration files
├── home/ # User home directories for personal data.
│ └── user/ # Directory for user 'user',
├── lib/ # Shared libraries essential for the system and kernel modules.
├── media/ # Mount points for removable media, external devices like USBs or DVDs.
├── mnt/ # Temporary mount directory
├── opt/ # Optional software packages or third-party apps.
├── proc/ # Process and kernel information
├── root/ # Home directory for root user
├── sbin/ # System binaries for administrative tasks (e.g., reboot, iptables).
├── tmp/ # Temporary files, often cleared on reboot.
├── usr/ # User programs and libraries, typically for installed packages.
│ ├── bin/ # User commands
│ ├── lib/ # User libraries
│ └── share/ # Shared files
└── var/ # Variable files (logs, databases, etc.)
├── log/ # Log files
├── cache/ # Application cache data
└── tmp/ # Temporary files created by applications
File and Directory Operations
-
ls
– Lists the contents of a directory.ls ls -l # Long listing format ls -a # List all files, including hidden ones
-
cd
– Changes the current directory.cd /path/to/directory cd .. # Go up one directory cd ~ # Go to the home directory
-
mkdir
– Creates a new directory.mkdir new_directory
-
rmdir
– Removes an empty directory.rmdir directory_name
-
cp
– Copies files or directories.cp source_file destination cp -r source_directory destination_directory # Copy directories recursively
-
mv
– Moves or renames files and directories.mv old_name new_name mv file_name /path/to/destination/
-
rm
– Removes files or directories.rm file_name rm -r directory_name # Remove directories recursively
-
touch
– Creates an empty file or updates the timestamp of an existing file.touch file_name
File Viewing & Manipulation
-
cat
– Displays the contents of a file.cat file_name
-
less
– Allows you to view file contents page by page.less file_name
-
head
– Shows the first 10 lines of a file (default).head file_name head -n 5 file_name # Show the first 5 lines
-
tail
– Shows the last 10 lines of a file (default).tail file_name tail -n 5 file_name # Show the last 5 lines
-
grep
– Searches for patterns within files.grep 'search_term' file_name grep -r 'search_term' /path/to/directory # Search recursively in directories
Permissions & Ownership
-
chmod
– Changes file permissions.chmod 755 file_name # Gives read, write, execute permissions to the owner and read, execute to others chmod +x script.sh # Make file executable
-
chown
– Changes the file owner and group.chown user:group file_name
-
umask
– Sets default file creation permissions.umask 022 # Sets default permissions to 755 for directories and 644 for files
Process Management
-
ps
– Displays the currently running processes.ps ps aux # Show all processes
-
top
– Displays real-time system processes and resource usage.top
-
kill
– Terminates a process by its PID.kill process_id kill -9 process_id # Forcefully kill a process
-
htop
– Interactive process viewer (requires installation).htop
System Information
-
df
– Shows disk space usage.df -h # Human-readable format
-
du
– Shows disk usage for files and directories.du -h /path/to/directory
-
free
– Displays memory usage.free -h # Human-readable format
-
uname
– Shows system information.uname -a # Display all system info
-
uptime
– Shows how long the system has been running.uptime
-
whoami
– Displays the current logged-in user.whoami
-
hostname
– Displays or sets the system's hostname.hostname
-
lscpu
– Displays CPU architecture information.lscpu
Network Commands
-
ping
– Tests connectivity to a host.ping google.com
-
ifconfig
– Displays network interface information (may require net-tools installation on some systems).ifconfig
-
ip
– Configures network interfaces and routing.ip addr show # Show IP addresses of network interfaces ip route show # Show routing table
-
curl
– Fetches data from a URL.curl https://example.com
-
wget
– Downloads files from the web.wget https://example.com/file.zip
Package Management
-
apt-get
(for Debian/Ubuntu-based distributions) – Installs, updates, or removes software packages.sudo apt-get update # Update package list sudo apt-get install package # Install a package sudo apt-get remove package # Remove a package
-
yum
(for RedHat/CentOS-based distributions) – Installs, updates, or removes software packages.sudo yum update # Update package list sudo yum install package # Install a package sudo yum remove package # Remove a package
File Compression
-
tar
– Archives or extracts files.tar -czvf archive_name.tar.gz /path/to/directory # Create a compressed archive tar -xzvf archive_name.tar.gz # Extract a compressed archive
-
zip
– Compresses files into a zip archive.zip archive_name.zip file1 file2
-
unzip
– Extracts a zip archive.unzip archive_name.zip
Miscellaneous
-
echo
– Prints a message or variables to the terminal.echo "Hello, World!"
-
date
– Displays or sets the system date and time.date
-
alias
– Creates an alias for a command.alias ll='ls -la' # Create a shortcut for 'ls -la'
-
history
– Shows the command history.history
-
clear
– Clears the terminal screen.clear
These are just a few of the many powerful commands in Linux, but they cover most of the common operations you'll perform daily.
If you found this helpful, let me know by leaving a 👍 or a comment!, or if you think this post could help someone, feel free to share it! Thank you very much! 😃
All rights reserved