#!/bin/bash
# Experiment 2: Create, copy, move, delete files and directories
# Run: chmod +x 02_unix_file_operations.sh && ./02_unix_file_operations.sh

echo "============================================"
echo " UNIX File / Directory Operations"
echo "============================================"

# Work in a sandbox so we don't pollute the cwd
mkdir -p sandbox
cd sandbox

echo
echo "--- touch: create empty files ---"
touch file1.txt file2.txt
ls

echo
echo "--- echo > : create a file with content ---"
echo "Hello, this is file1" > file1.txt
cat file1.txt

echo
echo "--- cp: copy a file ---"
cp file1.txt file1_copy.txt
ls

echo
echo "--- mv: rename / move a file ---"
mv file1_copy.txt renamed.txt
ls

echo
echo "--- mkdir: create directories ---"
mkdir dirA dirB
ls -d dir*

echo
echo "--- mv into directory ---"
mv renamed.txt dirA/
ls dirA

echo
echo "--- cp -r: copy directory recursively ---"
cp -r dirA dirA_copy
ls -d dir*

echo
echo "--- rm: delete a file ---"
rm file2.txt
ls

echo
echo "--- rm -r: delete a directory recursively ---"
rm -r dirA_copy
ls -d dir*

echo
echo "--- rmdir: remove EMPTY directory ---"
rmdir dirB
ls

echo
echo "--- final cleanup ---"
cd ..
rm -rf sandbox
echo "Sandbox cleaned up."

echo
echo "Quick reference:"
echo "  touch f       -> create empty file f"
echo "  cp s d        -> copy s to d"
echo "  cp -r s d     -> copy directory recursively"
echo "  mv s d        -> move / rename"
echo "  rm f          -> delete file"
echo "  rm -r d       -> delete directory recursively"
echo "  rmdir d       -> remove empty directory"
echo "  mkdir d       -> make directory"
