here's a basic Linux file system commands cheat sheet:
Navigating the File System:
pwd:
Print working directory (displays the current directory).
ls:
List files and directories.
ls -l:
Long format, shows detailed information.
ls -a:
List all files, including hidden files.
ls -lh:
Long format with human-readable file sizes.
cd:
Change directory.
cd ..:
Move to the parent directory.
cd ~:
Move to the home directory.
mkdir:
Create a new directory.
rmdir:
Remove an empty directory.
Working with Files:
touch:
Create an empty file.
cp:
Copy files or directories.
cp source destination:
Copy a file.
cp -r source destination:
Copy a directory recursively.
mv:
Move or rename files or directories.
rm:
Remove files or directories.
rm file:
Remove a file.
rm -r directory:
Remove a directory and its contents recursively.
cat:
Display the contents of a file.
more:
Display the contents of a file page by page.
less:
Display the contents of a file with backward navigation.
head:
Display the beginning of a file.
tail:
Display the end of a file.
nano or vim:
Text editors to create and edit files.
File Permissions:
chmod:
Change file permissions.
chown:
Change file ownership.
Searching:
grep:
Search for a pattern in files.
find:
Search for files and directories.
sort:
Sort lines of text files.
uniq:
Display or filter duplicate lines in a file.
File Compression and Archiving:
tar:
Create or extract tar archives.
tar -cvf archive.tar files:
Create a tar archive.
tar -xvf archive.tar:
Extract files from a tar archive.
gzip or gunzip:
Compress or decompress files.
gzip file:
Compress a file (creates .gz file).
gunzip file.gz:
Decompress a compressed file.
Disk Usage:
df:
Display disk space usage.
du:
Display file and directory space usage.
du -h:
Human-readable sizes.
du -sh directory:
Summarize directory size.
Other:
ln:
Create symbolic or hard links.
file:
Determine file type.
mount and umount:
Mount and unmount filesystems.
Managing Processes:
ps:
Display information about currently running processes.
ps aux:
Display detailed information about all processes.
ps -ef:
Similar to ps aux, different syntax.
top:
Display real-time system monitoring and process information.
htop:
Interactive version of top with more features and controls.
pgrep:
Search for processes by name.
Example: pgrep firefox to find the process ID of the Firefox browser.
pkill:
Terminate processes by name.
Example: pkill firefox to terminate all Firefox processes.
kill:
Send signals to processes (commonly used with process IDs).
kill -9 PID: Forcefully terminate a process with the given process ID.
killall:
Terminate processes by name.
Example: killall chrome to terminate all Chrome browser processes.
nice and renice:
Adjust process priority.
nice -n 10 command:
Run a command with a lower priority (higher niceness value).
renice -n 5 -p PID:
Change the priority of a running process.
Background and Foreground Execution:
&:
Run a command in the background.
Example: command & runs command in the background.
jobs:
List background jobs.
fg:
Bring a background job to the foreground.
bg:
Resume a suspended background job.
Process Control:
Ctrl+C:
Interrupt (terminate) the currently running foreground process.
Ctrl+Z:
Suspend the currently running foreground process.
nohup:
Run a command that keeps running even after the terminal is closed.
Example: nohup command &.
System Monitoring and Logs:
uptime:
Display system uptime and load average.
vmstat:
Display virtual memory statistics.
dmesg:
Display kernel ring buffer (boot messages).
sar:
Collect and display system activity information.
iostat:
Display I/O statistics.
Network Configuration:
ifconfig or ip addr:
Display network interface information.
ifup interface_name:
Bring a network interface up.
ifdown interface_name:
Bring a network interface down.
ip link set interface_name up:
Another way to bring an interface up.
ip link set interface_name down:
Another way to bring an interface down.
ping host:
Send ICMP echo request packets to a host.
traceroute host:
Trace the route that packets take to reach a host.
Network Connectivity:
ping host:
Check network connectivity to a host.
traceroute host:
Display the path taken by packets to reach a host.
nslookup host:
Perform DNS lookups to retrieve IP addresses.
dig host:
Another tool to query DNS information.
host host:
Display DNS information.
Networking and Transfers:
wget:
Download files from the internet.
curl:
Transfer data to/from servers.
Network Diagnostics:
netstat:
Display network statistics (deprecated; use ss instead).
ss:
Display socket statistics.
nmap host:
Perform network scanning to discover open ports and services.
arp:
Display and manipulate the ARP cache.
iftop:
Display bandwidth usage on an interface.
iftop -i interface_name:
Monitor bandwidth of a specific interface.
Firewall and Security:
ufw:
Uncomplicated Firewall management tool.
iptables:
Powerful tool for configuring firewall rules.
Package Management:
Debian-based Distributions (e.g., Ubuntu):
apt-get update:
Update the package list.
apt-get upgrade:
Upgrade installed packages.
apt-get install package_name:
Install a package.
apt-get remove package_name:
Remove a package (keeps configuration files).
apt-get purge package_name:
Completely remove a package (including configuration files).
apt-cache search keyword:
Search for packages.
apt-cache show package_name:
Display package information.
dpkg -i package.deb:
Install a package from a .deb file.
dpkg -r package_name:
Remove a package.
dpkg -l:
List all installed packages.
Red Hat-based Distributions (e.g., CentOS):
yum update:
Update installed packages.
yum install package_name:
Install a package.
yum remove package_name:
Remove a package.
yum search keyword:
Search for packages.
yum info package_name:
Display package information.
rpm -ivh package.rpm:
Install a package from an .rpm file.
rpm -e package_name:
Remove a package.
rpm -qa:
List all installed packages.
Common for Both:
apt (Ubuntu) / yum (CentOS):
Package managers to manage software.
snap:
Package manager for installing and managing snap packages.
dnf:
Modern package manager replacing yum in newer Fedora distributions.
Git and GitHub Cheat Sheet: Key Operations
Cloning a Repository:
git clone <repository_url>:
Clone a remote repository to your local machine.
Basic Workflow:
Checking Status:
git status:
Check the status of your working directory and staged changes.
Adding Changes:
git add <file>:
Stage a specific file for commit.
git add . or git add -A:
Stage all changes for commit.
Committing Changes:
git commit -m "Your commit message":
Commit staged changes with a message.
Pushing Changes:
git push origin <branch>:
Push committed changes to a remote branch.
Branching and Merging:
Creating and Switching Branches:
git branch:
List all branches.
git branch <new_branch>:
Create a new branch.
git checkout <branch>:
Switch to an existing branch.
Merging Branches:
git merge <branch_to_merge>:
Merge changes from another branch into the current branch.
Pulling Changes:
git pull origin <branch>:
Fetch and merge remote changes into your local branch.
Inspecting History:
git log:
Display commit history.
git log --oneline:
Display compact commit history.
git diff:
Show differences between working directory and staging area.
git diff --staged:
Show differences between staging area and last commit.
Remote Repositories:
git remote -v:
List remote repositories.
git remote add <name> <repository_url>:
Add a new remote repository.
git remote remove <name>:
Remove a remote repository.
git push origin -d <branch-name> :
Delete remote branch
Undoing Changes:
git reset <file>:
Unstage changes from a file.
git checkout -- <file>:
Discard changes in a file.
git revert <commit>:
Create a new commit that undoes changes of a previous commit.
Resetting Commits:
git reset --soft <commit>:
Move the branch pointer to a specific commit, keeping changes staged.
git reset --mixed <commit> (default behavior):
Move the branch pointer and unstage changes, preserving changes in working directory.
git reset --hard <commit>:
Move the branch pointer, unstage changes, and discard changes in working directory.
Ignoring Files:
Create a .gitignore
file in the repository to list files and patterns to be ignored.
Renaming and Deleting:
git mv <old_file_name> <new_file_name>:
Rename a file.
git rm <file>:
Delete a file.
Remote Collaboration:
git clone <repository_url>:
Clone a remote repository.
git fetch:
Fetch changes from a remote repository.
git pull origin <branch>:
Fetch and merge remote changes.
git push origin <branch>:
Push changes to a remote branch.
Removing Untracked Files:
git clean -n:
List untracked files that will be removed.
git clean -f:
Remove untracked files from the working directory.
Stashing Changes:
git stash:
Stash your changes (both staged and unstaged).
git stash save "message":
Stash changes with a descriptive message.
Listing Stashes:
git stash list:
List all stashes with their IDs and messages.
Applying Stashes:
git stash apply:
Apply the most recent stash and keep it in the stash list.
git stash apply stash@{n}:
Apply a specific stash by its index.
Popping Stashes:
git stash pop:
Apply and remove the most recent stash.
git stash pop stash@{n}:
Apply and remove a specific stash by its index.
Dropping Stashes:
git stash drop stash@{n}:
Remove a specific stash by its index.
git stash clear:
Remove all stashes.
Top comments (2)
So so siked
Thank you