Linux Administration Laboratory
Complete Script — linux_lab.prn
#!/bin/bash
LU-3: SYSTEM BOOTUP AND SHUTTING COMMANDS
who -r # Q1: Check current runlevel
runlevel # Q10: Current runlevel
# Q2: Schedule shutdown in 10 min
# sudo shutdown -h +10
# Q3: Immediate restart
# sudo reboot
# Q4: Delayed reboot 5 min
# sudo shutdown -r +5
# Q5: Check scheduled shutdowns
# sudo shutdown --show
# Q6: Cancel scheduled restart
# sudo shutdown -c
# Q7: Emergency force reboot
# sudo systemctl reboot --force
# Q8: Shutdown with message
# sudo shutdown -h +5 "Maintenance in 5 minutes"
# Q9: Immediate shutdown
# sudo shutdown -h now
LU-4: FILE AND DIRECTORY MANAGEMENT
mkdir -p CSE
cd CSE
echo "Alice" > staff
echo "Bob" > faculty
echo "Charlie" > stud_rep
cat staff faculty > "S&F"
mv "S&F" "F&S"
sort "F&S" > "newF&S"
cat "newF&S"
cd ..
mkdir -p IBECSE
cat > NameList << 'EOF'
Ram
Priya
Kumar
Anbu
Devi
Raj
Sekar
Meena
Vijay
Lakshmi
EOF
mv NameList IBECSE/
printf "Aruna\t10BCS001\tFemale\t99\n" > IBECSE/MarkList
printf "Ram\t10BCS002\tMale\t88\n" >> IBECSE/MarkList
printf "Priya\t10BCS003\tFemale\t92\n" >> IBECSE/MarkList
printf "Kumar\t10BCS004\tMale\t76\n" >> IBECSE/MarkList
printf "Anbu\t10BCS005\tMale\t85\n" >> IBECSE/MarkList
printf "Devi\t10BCS006\tFemale\t91\n" >> IBECSE/MarkList
printf "Raj\t10BCS007\tMale\t78\n" >> IBECSE/MarkList
printf "Sekar\t10BCS008\tMale\t82\n" >> IBECSE/MarkList
printf "Meena\t10BCS009\tFemale\t95\n" >> IBECSE/MarkList
printf "Vijay\t10BCS010\tMale\t70\n" >> IBECSE/MarkList
cat IBECSE/MarkList
grep "Male" IBECSE/MarkList > IBECSE/MaleList
grep "Female" IBECSE/MarkList > IBECSE/FemaleList
cut -f1,2,4 IBECSE/MaleList > IBECSE/tmp && mv IBECSE/tmp IBECSE/MaleList
cut -f1,2,4 IBECSE/FemaleList > IBECSE/tmp && mv IBECSE/tmp IBECSE/FemaleList
tr 'a-z' 'A-Z' < IBECSE/MaleList > IBECSE/tmp && mv IBECSE/tmp IBECSE/MaleList
ls -laR > IBECSE/.Index
ls -la > IBECSE/FullIndex
chmod 444 IBECSE/FullIndex
chmod 222 IBECSE/.Index
ls -la IBECSE/FullIndex IBECSE/.Index
touch IBECSE/type1 IBECSE/type2
file IBECSE/* > IBECSE/type1
cp -r IBECSE R2023CSE
rm -rf IBECSE
wc -l < R2023CSE/MarkList
wc -l < R2023CSE/MaleList
wc -l < R2023CSE/FemaleList
mkdir -p Ex3 && cd Ex3
printf "95\n88\n92\n76\n85\n91\n78\n82\n95\n70\n89\n74\n96\n83\n77\n" > MarkList
printf "Aruna\nRam\nPriya\nKumar\nAnbu\nDevi\nRaj\nSekar\nMeena\nVijay\nSuresh\nKala\nMohan\nRan
i\nVenkat\n" > NameList
echo "Aruna" > StudRep
paste NameList MarkList > Detail1
paste MarkList NameList > Detail2
head -8 Detail1 > file1
tail -4 file1 > file2
sed -n '4,$p' Detail1 > file3
cat -n file3
cd ../..
LU-5: PIPES AND FILTERS
mkdir -p LU5 && cd LU5
ls | wc -l
date -d "2026-03-02" +%A | grep -i "monday" && echo "It is Monday" || echo "Not Monday"
cat > [Link] << 'EOF'
Nigeria Africa
Kenya Africa
Australia Oceania
Egypt Africa
France Europe
Ethiopia Africa
Japan Asia
Ghana Africa
EOF
grep "Africa" [Link] | sort | tr 'A-Z' 'a-z'
cat > [Link] << 'EOF'
Sachin India 35 18426
Ponting Australia 39 13378
Kohli India 35 12898
Lara WestIndies 35 11953
Kallis SouthAfrica 40 11579
Warner Australia 37 8500
Rohit India 36 10709
Root England 33 12000
EOF
grep -c " India " [Link]
grep -v " Australia " [Link]
while IFS=' ' read -r name country age runs; do
if [ "$runs" -gt 10000 ]; then
echo "$runs $name"
fi
done < [Link] | sort -rn
cd ..
LU-6: PROCESS AND NETWORK MANAGEMENT
ps aux | head -15
echo "Script PID: $$"
ps aux --sort=-%cpu | head -11
# pkill processname # Q3: terminate by name
# xkill # Q4: close GUI window
curl -s --connect-timeout 3 [Link] > /dev/null && echo "Reachable" || echo "Not
reachable"
tracepath [Link] | head -10
ip addr show | grep -E "inet |ether"
# ftp -n [Link] << END # Q8: FTP
# user username password
# ls
# bye
# END
LU-7: USERS AND GROUPS (needs sudo - uncomment when running as root)
# sudo groupadd csestudent
# sudo groupmod -n engineers csestudent
# for i in {1..10}; do sudo useradd user$i; sudo usermod -aG engineers user$i; done
# sudo usermod -l newuser1 user1
# sudo gpasswd -d user3 engineers
# sudo groupdel engineers
# sudo passwd user1
# sudo chage -M 30 user1
# sudo chage -l user1
# sudo useradd -m -d /home/john john
# sudo groupadd developers
# sudo useradd alice
# sudo usermod -aG developers alice
# id alice
# touch [Link]
# sudo chown john:developers [Link]
# ls -l [Link]
# sudo useradd guest
# sudo chmod 550 /home/guest
# id jane
# touch [Link]
# sudo chgrp admin [Link]
# sudo setfacl -m u:manager:w [Link]
# getfacl [Link]
echo "Script complete."
End of Script