Boost Your Workflow: Essential Shell Scripts for Everyday Tasks

MD ARIFUL HAQUE - Oct 23 - - Dev Community

Here’s a collection of some essential shell scripts, including practical examples that can be modified for real-world use. Each script comes with a brief description of what it does and how to use it.

1. Backup Files

#!/bin/bash
# Backup specified directory to a target directory
SOURCE_DIR="/path/to/source"
BACKUP_DIR="/path/to/backup"
rsync -av --delete "$SOURCE_DIR/" "$BACKUP_DIR/"
Enter fullscreen mode Exit fullscreen mode

Description: This script uses rsync to backup files from the source directory to the backup directory, deleting files in the backup that no longer exist in the source.

2. Disk Usage

#!/bin/bash
# Display disk usage of specified directory
DU_DIR="/path/to/directory"
du -sh "$DU_DIR"
Enter fullscreen mode Exit fullscreen mode

Description: This script outputs the total disk usage of the specified directory.

3. Find Large Files

#!/bin/bash
# Find and list files larger than 100MB
find / -type f -size +100M
Enter fullscreen mode Exit fullscreen mode

Description: Searches the entire filesystem for files larger than 100MB.

4. Monitor System Load

#!/bin/bash
# Monitor system load and alert if it exceeds a threshold
THRESHOLD=1.0
LOAD=$(uptime | awk '{print $(NF-2)}' | sed 's/,//')
if (( $(echo "$LOAD > $THRESHOLD" | bc -l) )); then
    echo "High system load: $LOAD"
fi
Enter fullscreen mode Exit fullscreen mode

Description: This script checks the current system load and alerts if it exceeds the defined threshold.

5. Create a Directory Tree

#!/bin/bash
# Create a directory tree for project structure
mkdir -p ~/Projects/{ProjectName/{src,bin,lib,doc},tests,logs}
Enter fullscreen mode Exit fullscreen mode

Description: Creates a predefined directory structure for a new project.

6. Check for Running Processes

#!/bin/bash
# Check if a process is running
PROCESS_NAME="my_process"
if pgrep "$PROCESS_NAME" > /dev/null; then
    echo "$PROCESS_NAME is running"
else
    echo "$PROCESS_NAME is not running"
fi
Enter fullscreen mode Exit fullscreen mode

Description: Checks if a specific process is currently running.

7. Automate Git Commits

#!/bin/bash
# Automate Git commit process
git add .
git commit -m "Automated commit on $(date)"
Enter fullscreen mode Exit fullscreen mode

Description: Automatically stages and commits all changes in the current git repository.

8. Download Files Using wget

#!/bin/bash
# Download a file from a URL
URL="http://example.com/file.txt"
wget "$URL"
Enter fullscreen mode Exit fullscreen mode

Description: Downloads a file from the specified URL using wget.

9. Email Notification for Disk Usage

#!/bin/bash
# Notify when disk usage exceeds 90%
THRESHOLD=90
USAGE=$(df / | awk 'NR==2 {print $5}' | sed 's/%//')
if [ "$USAGE" -gt "$THRESHOLD" ]; then
    echo "Disk usage is at ${USAGE}%!" | mail -s "Disk Alert" user@example.com
fi
Enter fullscreen mode Exit fullscreen mode

Description: Sends an email alert if disk usage exceeds 90%.

10. Rename Multiple Files

#!/bin/bash
# Rename files by appending a suffix
for file in *.txt; do
    mv "$file" "${file%.txt}_backup.txt"
done
Enter fullscreen mode Exit fullscreen mode

Description: Renames all .txt files in the current directory by adding a _backup suffix.

11. File Permissions Change

#!/bin/bash
# Change permissions of all files in a directory
DIR="/path/to/directory"
chmod -R 755 "$DIR"
Enter fullscreen mode Exit fullscreen mode

Description: Changes the permissions of all files in the specified directory to 755.

12. System Update Automation

#!/bin/bash
# Automate system update for Ubuntu/Debian
sudo apt update && sudo apt upgrade -y
Enter fullscreen mode Exit fullscreen mode

Description: Updates the package lists and upgrades installed packages on a Debian-based system.

13. Check Internet Connection

#!/bin/bash
# Check if connected to the internet
if ping -c 1 google.com &> /dev/null; then
    echo "Internet is up"
else
    echo "Internet is down"
fi
Enter fullscreen mode Exit fullscreen mode

Description: Checks for an active internet connection by pinging Google.

14. Generate SSH Keys

#!/bin/bash
# Generate SSH keys for secure access
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Enter fullscreen mode Exit fullscreen mode

Description: Generates a new SSH key pair for secure access.

15. Compress Files

#!/bin/bash
# Compress files into a tar.gz archive
tar -czf archive.tar.gz /path/to/directory
Enter fullscreen mode Exit fullscreen mode

Description: Compresses the specified directory into a .tar.gz file.

16. Uncompress Files

#!/bin/bash
# Uncompress a tar.gz archive
tar -xzf archive.tar.gz
Enter fullscreen mode Exit fullscreen mode

Description: Extracts files from a .tar.gz archive.

17. Count Lines in Files

#!/bin/bash
# Count lines in all text files in the current directory
for file in *.txt; do
    echo "$file: $(wc -l < "$file") lines"
done
Enter fullscreen mode Exit fullscreen mode

Description: Counts and displays the number of lines in each .txt file in the current directory.

18. Fetch Current Weather

#!/bin/bash
# Fetch current weather from a weather API
API_KEY="your_api_key"
CITY="your_city"
curl -s "http://api.openweathermap.org/data/2.5/weather?q=$CITY&appid=$API_KEY&units=metric" | jq '.weather[].description'
Enter fullscreen mode Exit fullscreen mode

Description: Retrieves and displays the current weather for a specified city using OpenWeatherMap API.

19. Backup MySQL Database

#!/bin/bash
# Backup MySQL database
DB_NAME="database_name"
USER="username"
PASSWORD="password"
mysqldump -u "$USER" -p"$PASSWORD" "$DB_NAME" > "$DB_NAME"_backup.sql
Enter fullscreen mode Exit fullscreen mode

Description: Backs up a specified MySQL database to a .sql file.

20. Restore MySQL Database

#!/bin/bash
# Restore MySQL database from a backup
DB_NAME="database_name"
USER="username"
PASSWORD="password"
mysql -u "$USER" -p"$PASSWORD" "$DB_NAME" < "$DB_NAME"_backup.sql
Enter fullscreen mode Exit fullscreen mode

Description: Restores a MySQL database from a backup file.

21. Kill a Process

#!/bin/bash
# Kill a specified process by name
PROCESS_NAME="my_process"
pkill "$PROCESS_NAME"
Enter fullscreen mode Exit fullscreen mode

Description: Terminates a process by its name.

22. Send a Test Email

#!/bin/bash
# Send a test email using mail command
echo "Test email body" | mail -s "Test Subject" user@example.com
Enter fullscreen mode Exit fullscreen mode

Description: Sends a test email to a specified address.

23. Monitor Log File for Changes

#!/bin/bash
# Monitor a log file for changes
tail -f /path/to/logfile.log
Enter fullscreen mode Exit fullscreen mode

Description: Continuously monitors and displays changes to a specified log file.

24. Create a New User

#!/bin/bash
# Create a new user with a specified username
USERNAME="newuser"
sudo adduser "$USERNAME"
Enter fullscreen mode Exit fullscreen mode

Description: Creates a new user account with the specified username.

25. Change User Password

#!/bin/bash
# Change password for a specified user
USERNAME="existinguser"
echo "Enter new password for $USERNAME:"
passwd "$USERNAME"
Enter fullscreen mode Exit fullscreen mode

Description: Prompts to change the password for a specified user.

26. View System Uptime

#!/bin/bash
# Display system uptime
uptime
Enter fullscreen mode Exit fullscreen mode

Description: Displays how long the system has been running.

27. Check Running Services

#!/bin/bash
# List active services
systemctl list-units --type=service --state=running
Enter fullscreen mode Exit fullscreen mode

Description: Lists all active services on the system.

28. Flush DNS Cache

#!/bin/bash
# Flush DNS cache
sudo systemd-resolve --flush-caches
Enter fullscreen mode Exit fullscreen mode

Description: Clears the DNS cache on a system.

29. Create a Virtual Environment (Python)

#!/bin/bash
# Create a Python virtual environment
ENV_NAME="myenv"
python3 -m venv "$ENV_NAME"
Enter fullscreen mode Exit fullscreen mode

Description: Creates a new Python virtual environment.

30. Activate a Virtual Environment

#!/bin/bash
# Activate a Python virtual environment
source myenv/bin/activate
Enter fullscreen mode Exit fullscreen mode

Description: Activates the specified Python virtual environment.

31. Deactivate a Virtual Environment

#!/bin/bash
# Deactivate a Python virtual environment
deactivate
Enter fullscreen mode Exit fullscreen mode

Description: Deactivates the current Python virtual environment.

32. Remove Empty Directories

#!/bin/bash
# Remove all empty directories in the specified path
find

 /path/to/directory -type d -empty -delete
Enter fullscreen mode Exit fullscreen mode

Description: Deletes all empty directories within the specified path.

33. Search for a Pattern in Files

#!/bin/bash
# Search for a pattern in all text files in the current directory
PATTERN="search_term"
grep -r "$PATTERN" *.txt
Enter fullscreen mode Exit fullscreen mode

Description: Searches for a specified pattern in all .txt files in the current directory.

34. Count Word Frequency

#!/bin/bash
# Count the frequency of words in a file
FILE="file.txt"
tr -c '[:alnum:]' '[\n*]' < "$FILE" | tr '[:upper:]' '[:lower:]' | sort | uniq -c | sort -nr
Enter fullscreen mode Exit fullscreen mode

Description: Counts and displays the frequency of each word in a specified file.

35. Extract Unique Lines from a File

#!/bin/bash
# Extract unique lines from a file
FILE="file.txt"
sort -u "$FILE" -o "$FILE"
Enter fullscreen mode Exit fullscreen mode

Description: Sorts a file and removes duplicate lines.

36. Monitor CPU Usage

#!/bin/bash
# Monitor CPU usage
top -b -n 1 | head -n 10
Enter fullscreen mode Exit fullscreen mode

Description: Displays the top 10 processes by CPU usage.

37. Monitor Memory Usage

#!/bin/bash
# Monitor memory usage
free -h
Enter fullscreen mode Exit fullscreen mode

Description: Displays memory usage in a human-readable format.

38. List Network Connections

#!/bin/bash
# List current network connections
netstat -tuln
Enter fullscreen mode Exit fullscreen mode

Description: Lists all current TCP/UDP network connections.

39. Check System Hardware Information

#!/bin/bash
# Display system hardware information
lshw -short
Enter fullscreen mode Exit fullscreen mode

Description: Provides a short summary of hardware information on the system.

40. Change Hostname

#!/bin/bash
# Change the system hostname
NEW_HOSTNAME="new_hostname"
sudo hostnamectl set-hostname "$NEW_HOSTNAME"
Enter fullscreen mode Exit fullscreen mode

Description: Changes the system hostname to the specified value.

41. Download Multiple Files

#!/bin/bash
# Download multiple files from a list
while read -r URL; do
    wget "$URL"
done < urls.txt
Enter fullscreen mode Exit fullscreen mode

Description: Downloads files from a list of URLs specified in urls.txt.

42. Check Server Response Time

#!/bin/bash
# Check server response time
URL="http://example.com"
curl -o /dev/null -s -w "%{time_total}\n" "$URL"
Enter fullscreen mode Exit fullscreen mode

Description: Measures the response time for a specified URL.

43. Extract File Extensions

#!/bin/bash
# Extract and display unique file extensions in the current directory
ls | awk -F. '{if (NF>1) print $NF}' | sort -u
Enter fullscreen mode Exit fullscreen mode

Description: Lists unique file extensions present in the current directory.

44. Update Package List (CentOS)

#!/bin/bash
# Update package list for CentOS/RHEL
sudo yum update -y
Enter fullscreen mode Exit fullscreen mode

Description: Updates the package list for CentOS/RHEL systems.

45. Get Public IP Address

#!/bin/bash
# Get the public IP address
curl -s ifconfig.me
Enter fullscreen mode Exit fullscreen mode

Description: Retrieves and displays the public IP address of the system.

46. Create a Zip Archive

#!/bin/bash
# Create a zip archive of a directory
zip -r archive.zip /path/to/directory
Enter fullscreen mode Exit fullscreen mode

Description: Compresses the specified directory into a .zip file.

47. Unzip a Zip Archive

#!/bin/bash
# Unzip a zip archive
unzip archive.zip
Enter fullscreen mode Exit fullscreen mode

Description: Extracts files from a .zip archive.

48. View Top 10 Memory-Consuming Processes

#!/bin/bash
# Display top 10 memory-consuming processes
ps aux --sort=-%mem | head -n 11
Enter fullscreen mode Exit fullscreen mode

Description: Lists the top 10 processes consuming the most memory.

49. Find and Remove Duplicate Files

#!/bin/bash
# Find and remove duplicate files based on MD5 hash
find /path/to/directory -type f -exec md5sum {} + | sort | uniq -w32 -dD | awk '{print $2}' | xargs rm -f
Enter fullscreen mode Exit fullscreen mode

Description: Finds and deletes duplicate files based on their MD5 hash.

50. Check System Temperature

#!/bin/bash
# Check CPU temperature (requires lm-sensors)
sensors | grep 'Core 0'
Enter fullscreen mode Exit fullscreen mode

Description: Displays the temperature of the first CPU core.

51. Export MySQL Database

#!/bin/bash
# Export MySQL database
DB_NAME="database_name"
USER="username"
PASSWORD="password"
mysqldump -u "$USER" -p"$PASSWORD" "$DB_NAME" > "$DB_NAME"_export.sql
Enter fullscreen mode Exit fullscreen mode

Description: Exports a MySQL database to a .sql file.

52. Import MySQL Database

#!/bin/bash
# Import MySQL database
DB_NAME="database_name"
USER="username"
PASSWORD="password"
mysql -u "$USER" -p"$PASSWORD" "$DB_NAME" < "$DB_NAME"_export.sql
Enter fullscreen mode Exit fullscreen mode

Description: Imports a MySQL database from a .sql file.

53. Create a Log File

#!/bin/bash
# Create a log file with the current date and time
LOG_FILE="log_$(date +%Y%m%d).log"
echo "Log created on $(date)" > "$LOG_FILE"
Enter fullscreen mode Exit fullscreen mode

Description: Creates a new log file with a timestamp in its name.

54. Archive Old Logs

#!/bin/bash
# Archive log files older than 7 days
find /path/to/logs -type f -mtime +7 -exec gzip {} \;
Enter fullscreen mode Exit fullscreen mode

Description: Compresses log files older than 7 days.

55. Get Process ID

#!/bin/bash
# Get the process ID of a specified process
PROCESS_NAME="my_process"
PID=$(pgrep "$PROCESS_NAME")
echo "Process ID of $PROCESS_NAME: $PID"
Enter fullscreen mode Exit fullscreen mode

Description: Retrieves and displays the process ID of a specified process.

56. Check Available Disk Space

#!/bin/bash
# Check available disk space
df -h
Enter fullscreen mode Exit fullscreen mode

Description: Displays available disk space for all mounted filesystems.

57. List All Users

#!/bin/bash
# List all users on the system
cut -d: -f1 /etc/passwd
Enter fullscreen mode Exit fullscreen mode

Description: Lists all user accounts on the system.

58. Get System Information

#!/bin/bash
# Get system information
uname -a
Enter fullscreen mode Exit fullscreen mode

Description: Displays detailed information about the system.

59. Clean Up Temporary Files

#!/bin/bash
# Clean up temporary files
rm -rf /tmp/*
Enter fullscreen mode Exit fullscreen mode

Description: Deletes all files in the /tmp directory.

60. Change File Ownership

#!/bin/bash
# Change ownership of files in a directory
CHOWN_DIR="/path/to/directory"
sudo chown -R user:group "$CHOWN_DIR"
Enter fullscreen mode Exit fullscreen mode

Description: Changes ownership of all files in a specified directory.

61. Set Environment Variables

#!/bin/bash
# Set environment variables
export VAR_NAME="value"
Enter fullscreen mode Exit fullscreen mode

Description: Sets an environment variable for the session.

62. Display Current Date and Time

#!/bin/bash
# Display current date and time
date
Enter fullscreen mode Exit fullscreen mode

Description: Outputs the current date and time.

63. Send HTTP Request

#!/bin/bash
# Send a GET request to a specified URL
curl -X GET "http://example.com/api"
Enter fullscreen mode Exit fullscreen mode

Description: Sends an HTTP GET request to the specified API endpoint.

64. Check for Package Updates (Debian)

#!/bin/bash
# Check for package updates on Debian-based systems
sudo apt update
Enter fullscreen mode Exit fullscreen mode

Description: Checks for available updates for installed packages.

65. Update All Packages (Debian)

#!/bin/bash
# Update all installed packages on Debian-based systems
sudo apt upgrade -y
Enter fullscreen mode Exit fullscreen mode

Description: Upgrades all installed packages to their latest versions.

66. Clear the Terminal Screen

#!/bin/bash
# Clear the terminal screen
clear
Enter fullscreen mode Exit fullscreen mode

Description: Clears the terminal screen.

67. Set Up Cron Job

#!/bin/bash
# Set up a cron job for running a script every day at midnight
(crontab -l ; echo "0 0 * * * /path/to/script.sh") | crontab -
Enter fullscreen mode Exit fullscreen mode

Description: Adds a cron job to run a specified script daily at midnight.

68. Count Down Timer

#!/bin/bash
# Simple countdown timer
SECONDS=10
while [ $SECONDS -gt 0 ]; do
    echo "$SECONDS seconds remaining"
    sleep 1
    ((SECONDS--))
done


echo "Time's up!"
Enter fullscreen mode Exit fullscreen mode

Description: Implements a countdown timer for a specified duration.

69. Display Disk Usage

#!/bin/bash
# Display disk usage of the current directory
du -sh .
Enter fullscreen mode Exit fullscreen mode

Description: Shows the disk usage of the current directory in a human-readable format.

70. Show Last Login

#!/bin/bash
# Show last login information of users
last
Enter fullscreen mode Exit fullscreen mode

Description: Displays the last login times of users.

71. List Open Files

#!/bin/bash
# List all open files by a specified process
PROCESS_NAME="my_process"
lsof -c "$PROCESS_NAME"
Enter fullscreen mode Exit fullscreen mode

Description: Lists all open files by a specified process.

72. Check Firewall Status

#!/bin/bash
# Check the status of the firewall
sudo ufw status
Enter fullscreen mode Exit fullscreen mode

Description: Displays the current status of the firewall.

73. Check Services Status

#!/bin/bash
# Check the status of a specific service
SERVICE_NAME="service_name"
systemctl status "$SERVICE_NAME"
Enter fullscreen mode Exit fullscreen mode

Description: Checks and displays the status of a specified service.

74. Create a Simple Backup Script

#!/bin/bash
# Simple backup script
SOURCE="/path/to/source"
DESTINATION="/path/to/destination"
tar -czf "$DESTINATION/backup_$(date +%Y%m%d).tar.gz" "$SOURCE"
Enter fullscreen mode Exit fullscreen mode

Description: Backs up a specified directory to a destination using tar.

75. Change File Permissions

#!/bin/bash
# Change permissions of a file
FILE="file.txt"
chmod 644 "$FILE"
Enter fullscreen mode Exit fullscreen mode

Description: Changes the permissions of a specified file.

76. Display Current User

#!/bin/bash
# Display the current user
whoami
Enter fullscreen mode Exit fullscreen mode

Description: Outputs the name of the currently logged-in user.

77. Backup MySQL Database

#!/bin/bash
# Backup MySQL database with date in filename
DB_NAME="database_name"
USER="username"
PASSWORD="password"
mysqldump -u "$USER" -p"$PASSWORD" "$DB_NAME" > "${DB_NAME}_$(date +%Y%m%d).sql"
Enter fullscreen mode Exit fullscreen mode

Description: Backs up a MySQL database with the current date in the filename.

78. List Files by Modification Date

#!/bin/bash
# List files in current directory sorted by modification date
ls -lt
Enter fullscreen mode Exit fullscreen mode

Description: Lists files in the current directory sorted by modification date, with the most recent first.

79. Check Disk I/O

#!/bin/bash
# Check disk I/O statistics
iostat
Enter fullscreen mode Exit fullscreen mode

Description: Displays I/O statistics for devices and partitions.

80. Ping a Host

#!/bin/bash
# Ping a specified host
HOST="example.com"
ping -c 4 "$HOST"
Enter fullscreen mode Exit fullscreen mode

Description: Pings a specified host and displays the response times.

81. Search for a File

#!/bin/bash
# Search for a file by name
FILE_NAME="target_file.txt"
find /path/to/search -name "$FILE_NAME"
Enter fullscreen mode Exit fullscreen mode

Description: Searches for a specified file in a given directory and its subdirectories.

82. Check Running Services

#!/bin/bash
# Check all running services
systemctl list-units --type=service --state=running
Enter fullscreen mode Exit fullscreen mode

Description: Lists all currently running services on the system.

83. Install a Package (Debian)

#!/bin/bash
# Install a specified package on Debian-based systems
PACKAGE_NAME="package_name"
sudo apt install -y "$PACKAGE_NAME"
Enter fullscreen mode Exit fullscreen mode

Description: Installs a specified package on Debian-based systems.

84. Create a New User

#!/bin/bash
# Create a new user
USERNAME="newuser"
sudo adduser "$USERNAME"
Enter fullscreen mode Exit fullscreen mode

Description: Creates a new user account on the system.

85. Delete a User

#!/bin/bash
# Delete a specified user
USERNAME="username_to_delete"
sudo deluser "$USERNAME"
Enter fullscreen mode Exit fullscreen mode

Description: Deletes a specified user account from the system.

86. View System Logs

#!/bin/bash
# View system logs
sudo less /var/log/syslog
Enter fullscreen mode Exit fullscreen mode

Description: Opens the system log file for viewing.

87. Get Disk Usage Summary

#!/bin/bash
# Get a summary of disk usage
df -h --total
Enter fullscreen mode Exit fullscreen mode

Description: Displays a summary of disk usage for all mounted filesystems.

88. List Installed Packages

#!/bin/bash
# List all installed packages (Debian)
dpkg --get-selections | grep -v deinstall
Enter fullscreen mode Exit fullscreen mode

Description: Lists all installed packages on Debian-based systems.

89. Create SSH Key

#!/bin/bash
# Create a new SSH key pair
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Enter fullscreen mode Exit fullscreen mode

Description: Generates a new RSA SSH key pair for secure access.

90. List Active SSH Connections

#!/bin/bash
# List active SSH connections
ss -tna | grep ':22'
Enter fullscreen mode Exit fullscreen mode

Description: Displays all active SSH connections on port 22.

91. Run a Command at Specific Time

#!/bin/bash
# Run a command at a specified time
echo "your_command" | at 10:30
Enter fullscreen mode Exit fullscreen mode

Description: Schedules a command to run at a specific time using the at command.

92. Generate a Random Password

#!/bin/bash
# Generate a random password
< /dev/urandom tr -dc A-Za-z0-9 | head -c 16 ; echo
Enter fullscreen mode Exit fullscreen mode

Description: Generates a random 16-character alphanumeric password.

93. Download a File

#!/bin/bash
# Download a file from a URL
URL="http://example.com/file.txt"
wget "$URL"
Enter fullscreen mode Exit fullscreen mode

Description: Downloads a file from a specified URL.

94. Check for Broken Links

#!/bin/bash
# Check for broken links in a specified HTML file
FILE="index.html"
lynx -dump -nonumbers -force_html "$FILE" | grep -Eo '(http|https)://[^"]+' | xargs -n1 curl -Is | grep "404"
Enter fullscreen mode Exit fullscreen mode

Description: Checks for broken links in a specified HTML file.

95. Create a Simple Web Server

#!/bin/bash
# Create a simple web server using Python
python3 -m http.server
Enter fullscreen mode Exit fullscreen mode

Description: Starts a simple web server using Python, serving files from the current directory.

96. Archive Files Older Than 30 Days

#!/bin/bash
# Archive files older than 30 days
find /path/to/files -type f -mtime +30 -exec tar -rvf archive.tar {} +
Enter fullscreen mode Exit fullscreen mode

Description: Archives files older than 30 days into a .tar file.

97. Get Weather Information

#!/bin/bash
# Get weather information for a specified location
LOCATION="London"
curl "http://wttr.in/$LOCATION?format=3"
Enter fullscreen mode Exit fullscreen mode

Description: Retrieves and displays weather information for a specified location.

98. Find Large Files

#!/bin/bash
# Find files larger than 100MB
find / -type f -size +100M
Enter fullscreen mode Exit fullscreen mode

Description: Searches for and lists files larger than 100 MB on the system.

99. Check System Load Average

#!/bin/bash
# Check the system load average
uptime
Enter fullscreen mode Exit fullscreen mode

Description: Displays the system load average for the past 1, 5, and 15 minutes.

100. Get User Information

#!/bin/bash
# Get information about the current user
id
Enter fullscreen mode Exit fullscreen mode

Description: Displays user information for the currently logged-in user.


These shell scripts can be directly utilized or slightly modified to meet specific needs in various scenarios. If you need further assistance with any particular script or concept, feel free to ask!

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .