Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file added backups/copy.txt
Empty file.
22 changes: 22 additions & 0 deletions logs/file_manager.log
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
Wed Apr 15 12:36:45 WAT 2026: Created file test.txt
Wed Apr 15 12:37:14 WAT 2026: Moved copy.txt to backups/
Wed Apr 15 12:37:31 WAT 2026: Deleted file test.txt
Wed Apr 15 12:40:30 WAT 2026: Created file test.txt
Wed Apr 15 12:40:45 WAT 2026: Copied test.txt to copy.txt
Wed Apr 15 12:41:01 WAT 2026: Moved copy.txt to backups/
Wed Apr 15 13:30:57 WAT 2026: Created file test.txt
Wed Apr 15 13:36:56 WAT 2026: Copied test.txt to copy.txt
Wed Apr 15 13:37:13 WAT 2026: Moved copy.txt to backups/
Wed Apr 15 13:46:04 WAT 2026: Deleted file test.txt
Wed Apr 15 14:10:57 WAT 2026: Created file test.txt
Wed Apr 15 14:11:29 WAT 2026: Copied test.txt to copy.txt
Wed Apr 15 14:12:09 WAT 2026: Moved copy.txt to backups/
Wed Apr 15 14:12:24 WAT 2026: Deleted file test.txt
Wed Apr 15 14:42:46 WAT 2026: Created file test.txt
Wed Apr 15 14:42:46 WAT 2026: Copied test.txt to copy.txt
Wed Apr 15 14:42:46 WAT 2026: Moved copy.txt to backups/
Wed Apr 15 14:42:46 WAT 2026: Deleted file test.txt
Wed Apr 15 15:04:52 WAT 2026: Created test.txt
Wed Apr 15 15:08:41 WAT 2026: Listed files
Wed Apr 15 15:09:02 WAT 2026: Renamed test.txt to new.txt
Wed Apr 15 15:09:23 WAT 2026: Renamed new.txt to user_info.sh
124 changes: 124 additions & 0 deletions logs/system_report_2026-04-15.log

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions logs/user_info.log
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Wed Apr 15 11:31:53 WAT 2026: Hello Deborah Tosin Oludare from Nigeria. You are a Adult.
64 changes: 64 additions & 0 deletions scripts/file_manager.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
#!/bin/bash

LOG_FILE="logs/file_manager.log"
mkdir -p logs

action=$1
file1=$2
file2=$3

echo "Action: $action"

case $action in

create)
if [ -z "$file1" ]; then
echo "Error: No filename provided"
elif [ -f "$file1" ]; then
echo "Error: File already exists"
else
touch "$file1"
echo "$(date): Created $file1" >> "$LOG_FILE"
echo "File created: $file1"
fi
;;

delete)
if [ -f "$file1" ]; then
rm "$file1"
echo "$(date): Deleted $file1" >> "$LOG_FILE"
echo "File deleted: $file1"
else
echo "Error: File does not exist"
fi
;;

list)
echo "Files in current directory:"
ls
echo "$(date): Listed files" >> "$LOG_FILE"
;;

rename)
if [ -z "$file1" ] || [ -z "$file2" ]; then
echo "Error: Provide source and new name"
elif [ ! -f "$file1" ]; then
echo "Error: File does not exist"
elif [ -f "$file2" ]; then
echo "Error: Cannot overwrite existing file"
else
mv "$file1" "$file2"
echo "$(date): Renamed $file1 to $file2" >> "$LOG_FILE"
echo "File renamed to $file2"
fi
;;

*)
echo "Usage:"
echo "./file_manager.sh create <filename>"
echo "./file_manager.sh delete <filename>"
echo "./file_manager.sh list"
echo "./file_manager.sh rename <oldname> <newname>"
;;

esac
40 changes: 40 additions & 0 deletions scripts/system_check.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
#!/bin/bash

LOG_FILE="logs/system_report_$(date +%Y-%m-%d).log"

mkdir -p logs

echo "System Check Report - $(date)" | tee -a "$LOG_FILE"
echo "-----------------------------------" | tee -a "$LOG_FILE"

# Disk usage
echo "Checking disk usage warnings..."

df -h | awk 'NR>1 {print $5, $1}' | while read line
do
usage=$(echo $line | awk '{print $1}' | sed 's/%//')
partition=$(echo $line | awk '{print $2}')

# Ensure it's a number before comparing
if [[ "$usage" =~ ^[0-9]+$ ]]; then
if [ "$usage" -ge 80 ]; then
echo "WARNING: $partition is at ${usage}% usage"
fi
fi
done

# Memory usage (Mac uses vm_stat instead of free)
echo "Memory Usage:" | tee -a "$LOG_FILE"
vm_stat | tee -a "$LOG_FILE"

# CPU load
echo "CPU Load:" | tee -a "$LOG_FILE"
uptime | tee -a "$LOG_FILE"

# Total running processes
echo "Total Running Processes:" | tee -a "$LOG_FILE"
ps aux | wc -l | tee -a "$LOG_FILE"

# Top 5 memory-consuming processes
echo "Top 5 Memory Consuming Processes:" | tee -a "$LOG_FILE"
ps aux | sort -nrk 4 | head -5 | tee -a "$LOG_FILE"
36 changes: 36 additions & 0 deletions scripts/user_info.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
#!/bin/bash

LOG_FILE="logs/user_info.log"

mkdir -p logs

read -p "Enter your name: " name
read -p "Enter your age: " age
read -p "Enter your country: " country

# Validate inputs
if [[ -z "$name" || -z "$age" || -z "$country" ]]; then
echo "Error: All fields are required."
exit 1
fi

# Validate age is numeric
if ! [[ "$age" =~ ^[0-9]+$ ]]; then
echo "Error: Age must be a number."
exit 1
fi

# Age category
if (( age < 18 )); then
category="Minor"
elif (( age <= 65 )); then
category="Adult"
else
category="Senior"
fi

message="Hello $name from $country. You are a $category."

echo "$message"

echo "$(date): $message" >> "$LOG_FILE"
Empty file added user_info.sh
Empty file.