
Introduction to Linux
New technologies and applications are being developed on a regular basis. This creates an abundance of new job opportunities, each with its requisite skill sets It is important to stay current with the skills required for this evolving job market and to take advantage of the many available learning opportunities.
This project covers fundamentals of the Linux operating system in a virtualized environment. It includes activities such as navigating the Linux file system, writing shell scripts, managing users and groups, understanding IP configurations, and monitoring system performance. It lays the foundation for your understanding of emerging technologies such as Virtualization and Cloud Computing, which prepares you for a future career in Information Technology.
Majority of this project was using a DHCP server and Unbutu VM machine in Hyper -V.

What is an Operating System?
An Operating System (OS) is system that acts as an intermediary between computer hardware and software application that users run. It manages hardware resources such as the CPU, memory, storage devices and input/output devices while also providing services for computer programs.
Common OS:
-
Windows (Microsoft)
-
macOS (Apple)
-
Linux (open-source, many distributions like Ubuntu, Fedora)
-
Android (mobile devices)
-
iOS (Apple's mobile OS)
What is Linux?
Linux is an open-source, Unix-like operating system kernel that serves as the core part of many operating systems (often referred to as Linux distributions or distros).
Key Features of Linux:
-
Open-Source: Source Code is freely available and anyone can view, modify and distribute the code, which promotes collaboration and innovation.
-
Multi-user and Multi-tasking: Linux is designed to handle multiple users and processes simultaneously, which means many users can use the system at the same time, and multiple programs can run without affecting each other.
-
Security: Linux is known for its robust security features. It has strong user permission controls, with the concept of users and groups to restrict access to files and system resources. Additionally, Linux benefits from frequent updates and patches.
-
Flexibility: Linux is highly customizable, allowing users to configure and adjust almost every aspect of the system. This is one reason why it is popular for servers, embedded systems, and even desktops.
-
Stability and Performance: Linux is known for its stability, meaning it can run for long periods without needing a restart. It's also highly efficient, making it ideal for servers, data centers, and devices with limited resources.
-
Wide Hardware Support: Linux can run on a wide range of hardware, from personal computers to servers, smartphones, tablets, and embedded systems. There are many specialized versions of Linux designed for particular devices or architectures.
Key Components of Linux:
-
Linux Kernel: The kernel is the core part of the operating system. It manages system resources like the CPU, memory, and hardware devices, providing an interface for software applications to interact with the hardware.
-
System Libraries: These are special functions that applications use to interact with the kernel and perform specific tasks, such as input/output operations or file management.
-
System Utilities: These are the tools and programs that help users interact with the system, such as file managers, editors, and networking tools.
-
User Interface (UI): Linux can be run with a command-line interface (CLI), but it can also support graphical user interfaces (GUIs), such as GNOME, KDE, or Xfce, depending on the distribution.
Linux Distributions (Distros):
-
Ubutu: Known for being user-friendly and popular with beginners.
-
Fedora: A cutting-edge distro sponsored by Red Hat, often used by developers.
-
Debian: A stable, community-driven distro often used as a base for other distros.
-
CentOS: A free alternative to Red Hat Enterprise Linux (RHEL), used in enterprise environments.
-
Arch Linux: A lightweight, rolling-release distro for advanced users who prefer a DIY approach.
-
Linux Mint: A beginner-friendly distribution based on Ubuntu, known for its simplicity and ease


Project 1: Linux FileSystem Hierarchy
For Project 1 was to learn about the Linux Filesystem Hiearchy.
What I learned from this part of the project:
-
The directory is used to organize other files into a logical tree structure and is stored in a sile system of a specific partion in the hard disl or SSD.
-
The pwd command is print work directory and what this does is that it determines your current location in Linux and it tell you where you are situated in the file system using an absolute path. Example: $ pwd /home/justme/images
-
The cd command is change directory and this changes the current directory.
-
Relative path in Linux contains the directories and subdirectories needed to reach the desired directory or file from the current working directory.
-
Absolute path in Linux refered to the root directory of the system and comprises all the directory/subdirectories (from the root directory) needed to reach the desired file or directory.
What I did for this part of the project:
1. Create Directories and Files
-
Turned on both the DHCP Server and Ubuntu VM machine
-
In the Ubuntu Desktop, I opened the terminal and type in cd ~ command followed by the pwd command to display the current directory.
-
I created a subdirectory called JanFebSession by typing the mkdir JanfebSession command and after I typed in cd JanFebSession to navigate into the JanFebSession.
-
I created a Course1 subdirectory by typing the mkdir Course1 command and repeated the same step by creating Course2 and Course 3. From there I navigated into the Course1 subdirectory by typing the cd Course1 command.
-
Then I typed in touch file 1 file2 file3 to create three files.
-
From there I typed in tree -d -L 2 ~ in the command to display the view of the home directory tree and the new subdirectories: JanFebSession, Course1,Course2,Course3.
-
After that, I type ls -l ~/JanFebSession/Course1 to list the three new files: file1. file2 and file3.
2. Copy and Remove Directories and Files
-
In the same terminal, I typed in cd ~ to return to the /home/student directory and after I typed in the pwd command to display the current directory.
-
I created a subdirectory called MarAprSession by copying the JanFebSession directory by typing cp -r JanFebSession MarAprSession to verify the existence of the new MarAprSession directory. The -r specifies a recursive copy of all subdirectories and files from the JanFebSession. Then I type in tree janFebSession MarAprSession to verify the existence of the new MarAprSession to verify the existence of the MarAprSession directory, its subdirectories and files.
-
In the new MarAprSession directory, I removed the Course3 subdirectory and the file3 file in the Course1 subdirectory.
-
Then I type rmdir MarAprSession/Course3 followed by rm MarAprSession/Course1/file3 then tree JanFebSession MarAprSession command verify that the Course3 subdirectory and the file3 file have been removed from the MarAprSession directory.
3. Locate Directories and Files
-
In the same terminal, I typed in cd ~ to return to the /home/student directory followed by the pwd command to display the current directory.
-
From there, I type: find ~ -iname course* -type d to look for directories whose names start with the “course” string (ignore case sensitivity) in your /home directory.
-
To locate file1 in your /home directory, type find ~ -iname file1. You may also locate all three files by typing find ~ -iname file* (to match one character at the end of the file name) or find ~ -iname file[1,2,3] (to match any of the three characters).
-
The find command searches the hard disk for files and directories. The locate command, however, searches its own database and thus is faster. Type locate -S (case sensitive!) to review the locate database.
-
Use sudo updatedb to update the locate database often so that files and directories that are recently deleted will not be part of the search result. Type sudo updatedb to update the locate database now and press Enter. Then, type student at the “[sudo] password for student:” prompt and press the Enter key to confirm.
-
Type locate -i course and press Enter to look for directories and files whose names contain the “course” string. The -i flag means ignore case sensitivity.
-
To search for an exact directory or file name, type the –r option and the $ character at the end of the search term as in the locate -r /file1$ command.
1. What is the pwd command an acronym for? What about the cd command?
Answer here: The pwd command determines your current location in Linux and it will tell you where you are situated in the file system using an absolute path Example: $ pwd /home/justme/images.
cd command show you the location using the link. $ in –s/tmp/test testdir $ cd testdir $ pwd
2. Explain the differences between a relative path and an absolute/full path in Linux.
Answer here: Relative path in Linux contains the directories and subdirectories needed to reach the desired directory or file from the current working directory. Absolute path in Linux referd to the root directory of the system and comprises all the directory/subdirectories (from the root directory) needed to reach the desired file or directory.



Create Directories and Files

Copy and remove directory and files

Locate Directories and Files
Project 2: Linux Shell Script

In this module of the course project, you will create and execute a Linux shell script by experimenting with the standard input, user-defined variables, redirection, file permissions, and environment variables.
1. Create a Shell Script
-
Open a Terminal window in Ubuntu. In the Ubuntu Terminal window, type cd ~ and press Enter to return to the /home/student directory. Verify the directory by typing the pwd command then pressing Enter.Type nano todolist and press Enter at the command prompt. Type in the script as shown in the screen capture below. Use the left, right, up, and down arrow keys to move the cursor in the nano editor. Double-check the script before pressing Ctrl + X, answering y to question Save modified buffer?, and pressing Enter to keep the same script name. Note that Linux treats uppercase and lowercase letters differently. Type cat todolist and press Enter to verify the script content.
-
Type ls -l todolist and press Enter to check the file permissions. Notice that no execute permission is set for the script file.
-
Execute the script by typing bash todolist then pressing Enter. If there are error messages displayed, go to Step 2 and double-check every character including spaces.
-
Type 1. family. 2. work. 3. school. at the prompt and press the Enter key.
-
Execute the script again and type 1. school. 2. family. 3. work. at the prompt and press the Enter key.
-
Type cat MyToDoLists and press Enter to view the two entries you entered before.
2. Change Script File Permission
-
In the terminal window, type cd ~ and press Enter to return to the /home/student directory. Type the pwd command and press Enter to verify the current directory.
-
Type nano todolist and press Enter to edit the script. Type #!/bin/bash as the first line of the script. In the nano editor, press Ctrl+X, answer y to question Save modified buffer?, and press Enter to keep the same script name.
-
Make the script executable by typing the chmod 755 todolist command then pressing Enter. Type ls -l todolist and press Enter to verify file permissions.
-
Type ./todolist to execute the script by calling its name. Note that the . (dot) character represents the current directory, and ./todolist is the relative path name of the script. Type 1. work. 2. family. 3. school. at the prompt and press the Enter key.
3. Set the PATH Variable
-
In the terminal window, type cd ~ and press Enter to return to the /home/student directory. Type the pwd command and press Enter to verify the current directory.
-
Type todolist and press Enter at the command prompt to observe the error message.
-
Type echo $PATH and press Enter to display the current directories in the list.
-
Add your home directory where the todolist script is to the PATH variable by typing the PATH=$PATH:/home/student command then pressing Enter. Verify the change by typing the echo $PATH command and press Enter.
-
Execute the script by typing todolist (instead of ./todolist) then pressing Enter. Type 1. school. 2. work. 3. family. at the prompt and press the Enter key.
4. Make the PATH Variable Permanent
-
Right-click on the Ubuntu Desktop to open a second terminal window. Type cd ~ and press Enter to return to the /home/student directory. Type the pwd command and press Enter to display the current directory.
-
Type todolist and press Enter at the command prompt to run the script. It returns the “command not found” error message. The previous change to the PATH variable does not carry over from one shell window to the next!
-
Type ls -a .bash* and press Enter to list the .bashrc file. Make a copy of it by typing the cp .bashrc .bashrc.old command then pressing Enter, in case you need to reverse changes.
-
Type nano .bashrc and press Enter to open the file. If the file is blank, you entered an incorrect file name or you are in the wrong directory. Close the file, type cd ~ and press Enter to get back to the home directory and type nano .bashrc and press Enter again. Go to the end of the file and type a new line: export PATH=$PATH:/home/student (your input is slightly different from what’s shown in the screenshot below). Press Ctrl+X, answer y to question Save modified buffer?, and press Enter to keep the same file name.
-
To activate the change, type the source .bashrc command and press Enter.
-
Open another terminal window. Change to the home directory by typing cd ~ or cd. Type the todolist script and press Enter to run the script. Type 1. family 2. school 3. work at the prompt and press the Enter key.
1. What are the file permissions of the script?
Answer here: The file permission of the script is echo “Todays’s to-do-list -- $text”” >> MyToDoLists
2. What’s the name of the user-defined variable in the script?
Answer here: The User-Defined variable in the script is $text
3. Which redirection meta-character is used in the script? What does it do?
Answer here: The redirection meta-character used in the script is >>.
What this does is that it appends the command output to the file content

Change Script File Permission

Set the Path Variable

Make the PATH Variable Permanent
Project 3: User and Group Management

In this module of the course project, you will create, modify, and delete user and group accounts using both CLI and GUI.
1. Add Users and Group in CLI
-
In the Ubuntu terminal window, type cd ~ and press Enter to return to the /home/student directory. Verify the directory by typing the pwd command and pressing Enter.
-
Type sudo useradd -m -s /bin/bash mary (use the lowercase letter m) to create a user account for Mary and press Enter. Type student at the [sudo] password for student: prompt (for security purposes, nothing will be displayed when you type) and press the Enter key. Type sudo passwd mary (use the lowercase letter m) and type password at the Enter new UNIX password: prompt (for security purposes, nothing will be displayed when you type) and press Enter.
-
Type sudo groupadd students and press Enter to create a group called students.
-
To add both your user account and the newly created account for Mary to the “students” group, type sudo usermod -a -G students student and sudo usermod -a -G students mary (use the lowercase letter m) and press Enter, respectively.
-
Type sudo tail -3 /etc/shadow and press Enter to confirm the new account for Mary.
-
Type sudo tail -3 /etc/group and press Enter to confirm that both your user account (i.e., student) and Mary’s account (i.e., mary) are members of the “students” group.
-
We want members of the students group to be able to access the /home/students directory. As a result, let’s change the group ownership of this directory to students. Type the command sudo chgrp students /home/student and then press the Enter key. Type ls -l /home to confirm the group ownership change for the student home directory.
2. Test User and Group Settings
-
In the terminal window of your user account (i.e., student), type cd ~ and press Enter to return to the /home/student directory. Type the pwd command and press Enter to verify the current directory.
-
Type sudo chgrp students todolist and press Enter to change the group ownership of the todolist script to the “students” group. Verify the changes by typing the ls -l todolist command then pressing Enter.
-
Type sudo chmod 750 todolist and press Enter to modify the file permissions of the todolist script. Now other than you, users in the same group can read and execute the script file. Verify the changes by typing the ls -l todolist command then pressing Enter.
-
Click on the shutdown icon in the top right corner of the Ubuntu Desktop. Click on Power Off / Log Out. Click on Log Out to log out of your user account. Then, log in as mary (type password as the password). Press Skip button and Next buttons, and Done button to skip the new account questions.
-
Open a Terminal Window. Type cd ~ to get to the home directory. Type nano .bashrc and press Enter and open the file. If the file is blank, you entered an incorrect file name or you are in the wrong directory. To fix, close the file, type cd ~ and press Enter to get back to the home directory and type nano .bashrc and press Enter again. At the end of the file, type a new line export PATH=$PATH:/home/student. Then, press Ctrl-X to exit, Y to save, and Enter to save to the same file name.
-
Type source .bashrc and press Enter to activate the change.
-
Type todolist and press Enter to execute the script. Type 1. school. 2. school. 3. school. at the prompt and press the Enter key. Type cat MyToDoLists and press Enter to view the entry you just entered.
3. Add a User in GUI
-
Log out of the mary account and log back in to your user account (i.e., student).
-
Go to the Ubuntu Desktop and click on the nine dots on the top left corner to show applications. Click on Users and Groups icon to launch the GUI.
-
Click the Add button and create a new user with name John (type John using the uppercase letter J), john (type john using the lowercase letter j), and password password.
-
Highlight John on the user list and click Manage Groups. Select students in the Groups available on the system: list and click the Properties button.
-
In the Group “students” Properties window, check John on the Groups Members list and click OK to close the window. Click Close twice to close the application.
-
Log out of your user account. Log in as John. Right-click on the desktop and open a terminal window. Type cd ~ and press Enter to go to the /home/John directory. Verify the current directory by typing the pwd command and pressing Enter.
-
Type nano .bashrc and press Enter to open the file. If the file is blank, you entered an incorrect file name or you are in the wrong directory. Close the file, type cd ~ and press Enter to get back to the home directory and type nano .bashrc and press Enter again. At the end of the file, type a new line export PATH=$PATH:/home/student . Then, press Ctrl-X to exit, Y to save, and Enter to save to the same file name. Type source .bashrc and press Enter to activate the change. Type todolist and press Enter to execute the script. Type 1. family. 2. family. 3. family. at the prompt and press the Enter key. Type cat MyToDoLists and press Enter to view the entry you just entered.
4. Remove Users and Groups
-
Log out of the current user account
-
Log in to your user account (i.e., student). In the terminal window, type cd ~ and press Enter to return to the /home/student directory. Verify the current directory by typing the pwd command and pressing Enter.
-
Type sudo userdel -r mary and press Enter to remove the user account for Mary. Notice that account names are case sensitive and use the lowercase letter m. Type student at the [sudo] password for student: prompt (for security purposes, nothing will be displayed when you type) and press the Enter key.
-
Type sudo userdel -r john and press Enter to remove the user account for John. Notice that account names are case sensitive and use the lowercase letter j. Type student at the [sudo] password for student: prompt and press the Enter key.
-
Type sudo groupdel students and press Enter to remove the “students” group.
-
Type sudo chgrp student todolist and press Enter to change the group ownership of the todolist script back to your primary group (i.e., student). Verify the changes by typing the ls -l todolist command and pressing Enter.
-
Log out of your user account. Verify that the student account is the only account that exists now in the sign on screen
1. What does the –m option in the useradd command do?
Answer here: The –m option specifies the primary group for the user account which is “Mary”. A group is created with the same name as the user and made the primary group for that user.
2. What does the -3 option in the tail command do?
Answer here: The -3 option is the tail command prints the last “num” lines instead of last 10 lines. Tail command in linux prints the last 10 lines of the specified file and if more than one file name is provided then data from each file is preceded by its file name.
3. Which line of the /etc/group file lists members of the “students” group? Copy it here.
Answer here: students:x:1002:student,mary



Add Users in the GUI

Project 4: Network Configuration
In this module of the course project, you will discover the IP configurations of your Linux machine and explore different networking utility programs.
1. Discovering Host IP configuration
-
In a terminal window of the Ubuntu VM, type cd ~ and press Enter to go to the /home/student directory. Verify the directory by typing the pwd command and pressing Enter.
-
Type ip addr and press Enter to display IP addresses assigned to all network interfaces. The IPv4 address are listed after the inet designation. Notice that one adapter is called “lo”. This is the loopback interface or “localhost” that routes back to the same computer. The second interface is called “eth0” or similar. This is the interface that provides external access. Look in the external adapter section (eg, eth0) and find the inet value. This is the ip address for your ubuntu vm.
-
Type ip route and press Enter to identify the default gateway IP address after the via designation.
-
Execute sudo dhclient
-
Type cd /var/lib/dhcp and press Enter and then type ls and press Enter to list lease files in the /var/lib/dhcp directory. Type cat dhclient.leases (replace dhclient.leases with your file name, if necessary) and press Enter to identify the DHCP server IP address in the option dhcp-server-identifier line.
-
Type cat /run/systemd/resolve/resolv.conf and press Enter and identify the DNS server IP address in the nameserver line. If the “no such file or directory” error message pops up, retype the command and check the spelling.
-
Use the ping utility program to verify local network connectivity by typing the ping -c 4 192.168.1.1 command and pressing Enter.
2. Manage Network Interfaces
-
In the terminal window of the Ubuntu VM, type cd ~ and press Enter to return to the /home/student directory. Type the pwd command and press Enter to verify the current directory.
-
Type ip link and press Enter to display all network interfaces.
-
Type sudo ip link set eth0 down and press Enter to disable/deactivate the eth0 interface (type number 0 instead of letter o in the command). Type ip addr show eth0 and press Enter to verify the interface status.
-
Type sudo ip link set eth0 up and press Enter to enable/activate the eth0 interface. Type ip addr show eth0 and press Enter to verify its status
-
By default, the IP address of your network interface is negotiated dynamically with a DHCP server. Type sudo dhclient -v -r eth0 and press Enter to release the current IP address; type ip addr show eth0 and press Enter to confirm that the interface no longer has an IP address.
-
Type sudo dhclient -v eth0 and press Enter to proactively negotiate an IP address; type ip addr show eth0 and press Enter to confirm that the interface now leases a 192.168.1.xxx address from the DHCP server.
3. Use Network Utilities
-
In the terminal window of the Ubuntu VM, type cd ~ and press Enter to return to the /home/student directory.
-
Type the pwd command and press Enter to verify the current directory
-
Type ifconfig and press Enter to display IP addresses assigned to all network interfaces.
-
Type sudo ifconfig eth0 down and press Enter to disable/deactivate the eth0 interface. Type ifconfig eth0 and press Enter to verify that the interface no longer has an IP address.
-
Type sudo ifconfig eth0 up and press Enter to enable/activate the eth0 interface. Type ifconfig eth0 and press Enter to verify its status as RUNNING.
a. What is the IP address of your Ubuntu machine?
Answer here: The IP address of the ubuntu machine is 192.168.1.108
b. What is the IP address of its default gateway?
Answer here: The IP address of the default gateway is 192.168.1.1
c. What is the IP address of its DHCP server?
Answer here: The IP address of the DHCP server is 192.168.1.1
d. What is the IP address of its DNS server?
Answer here: 192.168.1.1



Project 5: System Performance Monitoring
In this module of the course project, you will explore Linux utilities that monitor processes, user activities, and network usage.
1. Monitor Linux Processes
-
In a terminal window of the Ubuntu VM, type cd ~ and press Enter to go to the /home/student directory. Verify the directory by typing the pwd command and press Enter
-
Type htop and press Enter to launch the htop utility program that monitors Linux processes real time. The middle section displays a list of processes. Use arrow keys or page up/down keys to scroll the processes.
-
Click on the nine-dot Show Applications icon and launch the Calculator program. Click on the htop output; type /calculator and press Enter to locate the Calculator process. While the process is highlighted, press the shortcut key k and choose 15 SIGTERM in the Send signal: column on the left. Press Enter and the Calculator window will be closed. Press the shortcut key q to exit
-
Click on the nine-dot Show Applications icon and launch System Monitor. In the System Monitor window, click the three-line icon (in the top right corner) and verify that there is a checkmark next to Show Dependencies.
-
Launch Firefox by clicking on the Firefox icon at the top left corner of the Ubuntu desktop. Notice the System Monitor icon on the left side bar near the bottom. Click on the System Monitor icon on the left side menu bar to bring the System Monitor back to the forefront. Observe the Firefox parent process and child processes in System Monitor. Highlight the Firefox parent process and click on the End Process button (in the bottom left corner) to kill it. Click System Monitor on the top menu bar and select Quit.
Monitor Linux processes
1. What is the default action of the 15 SIGTERM kill signal?
Answer here: The default action of the 15 SIGTERM kill signal is to terminate a process, giving it the opportunity to prepare to shut down and perform cleanup tasks, or refuse to shut down certain circumstances.
2. Monitor User Activities
-
In the terminal window, type cd ~ and press Enter to return to your home directory.
-
Type the pwd command and press Enter to verify the current directory.
-
The acct package include several features or commands that monitor user and process activities. The ac command displays information about user connect time. To display the connect time (in hours) of all users, type the ac command and press Enter. To display the result per day, type the ac -d command and press Enter. To view the connect time of each user per day, type the ac -dp command and press Enter.
-
The lastcomm command displays information about previously executed commands. Let’s do an example. Run the htop command in superuser mode by typing sudo htop. Then, close the htop utility by pressing the key q. To search for a previously used command, e.g., htop, type lastcomm htop and press Enter. Note that in the output shown below, an S flag means that a command is executed by superuser, pts/0 is the terminal name, x.xx secs refers to the duration that the process existed for.
-
The sa command displays summarized accounting information. Type sa -m and press Enter to view the number of processes and CPU minutes on a per-user basis. If possible, make the Terminal window wider so each user information is displayed on a single line. In the output below, x.xxre is the elapsed time in minutes, x.xxcp is the sum of user and system time in CPU minutes, xavio is the average number of I/O operations per execution, and xxxxk is the cpu-time averaged core usage.
-
Type sudo accton off and press Enter to turn off accounting.
3. Monitor Network Bandwidth Usage
-
In the terminal window, type cd ~ to return to your home directory and verify.
-
Type sudo iftop and press Enter to launch the iftop utility that displays bandwidth usage on an interface by the host computer. Click in the iftop output windows and press ? to view a list of shortcut keys. Toggle key ? to return to the output window.
-
Open another terminal window and type ping 192.168.1.1 and press Enter. Leave it running.
-
Click in the iftop output window and press the shortcut key uppercase P to pause the display. Locate the entry for the connection between your host and 192.168.1.1. The three numbers toward the end represent data rates over the preceding 2, 10, and 40 second intervals, respectively.
-
Click on the iftop utility and press q to close the iftop utility. In the other terminal window, press Ctrl+C to stop the ping utility.
1. What is the default action of the 15 SIGTERM kill signal?
Answer here: The default action of the 15 SIGTERM kill signal is to terminate a process, giving it the opportunity to prepare to shut down and perform cleanup tasks, or refuse to shut down certain circumstances.
Issue the sudo accton on command to turn on GNC accounting. Run the sudo updatedb command. Enter lastcomm updatedb to check if the updatedb command was executed before. Remember to turn off GNC accounting (sudo accton off) after answering the questions.
1. What flag value is displayed in the output?
Answer here: The flag value displayed in the output lastcomm updateb will typically include “S” for successful execution” if the command executed without issues. If the process excountered a signal; you might see flags like “F” (for failed) or other indicators. Without running the actual commands on the systems, it’s most likely to show “s” for success
2. Why is the name of the user who ran the processes shown as root, not student?
Answer here: The reason the username appears as root is that the updated command was executed with sudo, which runs the command as the root user, even if your logged in as the student user. When you use sudo, the accounting systems logs the command as executed by root, since that’s the actual user which the process runs.

