DEV Community

On-cloud7
On-cloud7

Posted on

6 1 1 1 1

Linux and Git-GitHub Cheat Sheet

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.

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read more

Top comments (2)

Collapse
 
cheikhnouha profile image
Cheikhnouha

So so siked

Collapse
 
oncloud7 profile image
On-cloud7

Thank you

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more