Script started on Mon Aug 31 17:32:09 2026 macbook:Desktop> cat q1 What is "a program that acts as a middleman between you and the raw UNIX operating system"? macbook:Desktop> date Monday August 31, 2026, 05:53 PM macbook:Desktop> man date macbook:Desktop> date -v -24H date: illegal time format usage: date [-jnRu] [-I[date|hours|minutes|seconds|ns]] [-f input_fmt] [ -z output_zone ] [-r filename|seconds] [-v[+|-]val[y|m|w|d|H|M|S]] [[[[mm]dd]HH]MM[[cc]yy][.SS] | new_date] [+output_fmt] The command that I was looking for is: macbook:Desktop> /bin/date -v -24H Sun Aug 30 19:20:43 EDT 2026 macbook:Desktop> date Monday August 31, 2026, 05:56 PM macbook:Desktop> stty speed 9600 baud; lflags: echoe echoke echoctl pendin iflags: iutf8 oflags: -oxtabs cflags: cs8 -parenb macbook:Desktop> stty -a speed 9600 baud; 24 rows; 80 columns; lflags: icanon isig iexten echo echoe -echok echoke -echonl echoctl -echoprt -altwerase -noflsh -tostop -flusho pendin -nokerninfo -extproc iflags: -istrip icrnl -inlcr -igncr ixon -ixoff ixany imaxbel iutf8 -ignbrk brkint -inpck -ignpar -parmrk oflags: opost onlcr -oxtabs -onocr -onlret cflags: cread cs8 -parenb -parodd hupcl -clocal -cstopb -crtscts -dsrflow -dtrflow -mdmbuf cchars: discard = ^O; dsusp = ^Y; eof = ^D; eol = ; eol2 = ; erase = ^?; intr = ^C; kill = ^U; lnext = ^V; min = 1; quit = ^\; reprint = ^R; start = ^Q; status = ^T; stop = ^S; susp = ^Z; time = 0; werase = ^W; macbook:Desktop> cat > testfile what ever I type here will end up in testfile. Now I'm done What do I press? Control-D macbook:Desktop> cat testfile what ever I type here will end up in testfile. Now I'm done What do I press? Control-D macbook:Desktop> ssh snowball.cs.gsu.edu mweeks@snowball.cs.gsu.edu's password: Last login: Wed Aug 26 13:04:56 2026 from 131.96.223.49 + | GSU Computer Science | Instructional Server | SNOWBALL.cs.gsu.edu + [mweeks@gsuad.gsu.edu@snowball ~]$ who sdongari2@gsuad.gsu.edu pts/1 2026-08-31 18:08 iton2@gsuad.gsu.edu pts/2 2026-08-31 18:00 (131.96.223.244) tajiboye1@gsuad.gsu.edu pts/3 2026-08-31 17:22 (131.96.221.171) [Some lines deleted] gjosue1@gsuad.gsu.edu pts/128 2026-08-31 14:12 (131.96.220.233) [mweeks@gsuad.gsu.edu@snowball ~]$ whoami mweeks@gsuad.gsu.edu [mweeks@gsuad.gsu.edu@snowball ~]$ w 18:09:16 up 157 days, 1:45, 72 users, load average: 1.01, 1.03, 1.05 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT sdongari pts/1 18:08 20.00s 0.01s 0.01s bash -i tajiboye pts/3 131.96.221.171 17:22 4:28 0.01s 0.01s -bash asinghal pts/4 131.96.220.216 17:49 18:52 0.01s 0.00s script [Some lines deleted] gjosue1@ pts/128 131.96.220.233 14:12 3:35m 0.01s 0.01s -bash [mweeks@gsuad.gsu.edu@snowball ~]$ w 18:10:16 up 157 days, 1:46, 74 users, load average: 1.00, 1.02, 1.05 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT sdongari pts/1 18:08 32.00s 0.01s 0.01s bash -i iton2@gs pts/2 131.96.223.244 18:09 8.00s 0.02s 0.02s -bash tajiboye pts/3 131.96.221.171 17:22 5:28 0.01s 0.01s -bash [Some lines deleted] gjosue1@ pts/128 131.96.220.233 14:12 3:36m 0.01s 0.01s -bash [mweeks@gsuad.gsu.edu@snowball ~]$ cd / [mweeks@gsuad.gsu.edu@snowball /]$ echo "Don't try this at home" Don't try this at home [mweeks@gsuad.gsu.edu@snowball /]$ ls -lR .: total 112 lrwxrwxrwx. 1 root root 7 Aug 17 2021 bin -> usr/bin dr-xr-xr-x. 5 root root 4096 Jan 16 2024 boot drwxr-xr-x. 19 root root 3160 Mar 27 16:24 dev drwxr-xr-x. 99 root root 8192 Mar 27 16:24 etc [Many lines deleted] ^Zdr-xr-xr-x. 2 root root 0 Aug 31 18:11 netfilter -r--r--r--. 1 root root 0 Aug 31 18:11 netlink [1]+ Stopped ls --color=auto -lR [mweeks@gsuad.gsu.edu@snowball /]$ echo I pressed control-Z I pressed control-Z [mweeks@gsuad.gsu.edu@snowball /]$ echo notice how it says Stopped notice how it says Stopped [mweeks@gsuad.gsu.edu@snowball /]$ echo now find what I am doing on Snowball now find what I am doing on Snowball [mweeks@gsuad.gsu.edu@snowball /]$ ps PID TTY TIME CMD 19369 pts/14 00:00:00 bash 20346 pts/14 00:00:00 ls 20436 pts/14 00:00:00 ps [mweeks@gsuad.gsu.edu@snowball /]$ echo ls is a process that is still alive ls is a process that is still alive [mweeks@gsuad.gsu.edu@snowball /]$ echo restart it from where it left off restart it from where it left off [mweeks@gsuad.gsu.edu@snowball /]$ echo fg for foreground fg for foreground [mweeks@gsuad.gsu.edu@snowball /]$ fg ls --color=auto -lR -r--r--r--. 1 root root 0 Aug 31 18:11 netstat -r--r-----. 1 root root 0 Aug 31 18:11 nf_conntrack -r--r-----. 1 root root 0 Aug 31 18:11 nf_conntrack_expect [Many lines deleted] ./var/yp: total 0 [mweeks@gsuad.gsu.edu@snowball /]$ ps PID TTY TIME CMD 19369 pts/14 00:00:00 bash 20709 pts/14 00:00:00 ps [mweeks@gsuad.gsu.edu@snowball /]$ echo ls is no longer active ls is no longer active [mweeks@gsuad.gsu.edu@snowball /]$ ls -lR .: total 112 lrwxrwxrwx. 1 root root 7 Aug 17 2021 bin -> usr/bin dr-xr-xr-x. 5 root root 4096 Jan 16 2024 boot [Many lines deleted] -r--r--r--. 1 root root 0 Aug 31 18:15 tcp6^C -r--r--r--. 1 root root 0 Aug 31 18:15 udp [mweeks@gsuad.gsu.edu@snowball /]$ echo I pressed control C I pressed control C [mweeks@gsuad.gsu.edu@snowball /]$ ps PID TTY TIME CMD 19369 pts/14 00:00:00 bash 20975 pts/14 00:00:00 ps [mweeks@gsuad.gsu.edu@snowball /]$ pwd / [mweeks@gsuad.gsu.edu@snowball /]$ cd [mweeks@gsuad.gsu.edu@snowball ~]$ pwd /home/mweeks [mweeks@gsuad.gsu.edu@snowball ~]$ echo cd, by itself, takes me to home dir cd, by itself, takes me to home dir [mweeks@gsuad.gsu.edu@snowball ~]$ ls hello.c sayhello [mweeks@gsuad.gsu.edu@snowball ~]$ cat hello.c /* hello world */ #include int main (int argc, char *argv[]) { printf("hello world.\n"); return 0; } [mweeks@gsuad.gsu.edu@snowball ~]$ cat hello.c hello.c hello.c hello.c hello.c hello.c hello.c hello.c hello.c hello.c hello.c > hello11.txt [mweeks@gsuad.gsu.edu@snowball ~]$ cat hello11.txt /* hello world */ #include int main (int argc, char *argv[]) { printf("hello world.\n"); return 0; } /* hello world */ #include int main (int argc, char *argv[]) { printf("hello world.\n"); return 0; } /* hello world */ #include int main (int argc, char *argv[]) { printf("hello world.\n"); return 0; } /* hello world */ #include int main (int argc, char *argv[]) { printf("hello world.\n"); return 0; } /* hello world */ #include int main (int argc, char *argv[]) { printf("hello world.\n"); return 0; } /* hello world */ #include int main (int argc, char *argv[]) { printf("hello world.\n"); return 0; } /* hello world */ #include int main (int argc, char *argv[]) { printf("hello world.\n"); return 0; } /* hello world */ #include int main (int argc, char *argv[]) { printf("hello world.\n"); return 0; } /* hello world */ #include int main (int argc, char *argv[]) { printf("hello world.\n"); return 0; } /* hello world */ #include int main (int argc, char *argv[]) { printf("hello world.\n"); return 0; } /* hello world */ #include int main (int argc, char *argv[]) { printf("hello world.\n"); return 0; } [mweeks@gsuad.gsu.edu@snowball ~]$ more hello11.txt /* hello world */ #include int main (int argc, char *argv[]) { printf("hello world.\n"); return 0; } /* hello world */ #include int main (int argc, char *argv[]) { printf("hello world.\n"); return 0; } /* hello world */ #include int main (int argc, char *argv[]) { printf("hello world.\n"); return 0; } /* hello world */ #include int main (int argc, char *argv[]) { printf("hello world.\n"); return 0; } /* hello world */ #include int main (int argc, char *argv[]) { printf("hello world.\n"); return 0; } [mweeks@gsuad.gsu.edu@snowball ~]$ tail hello11.txt */ #include int main (int argc, char *argv[]) { printf("hello world.\n"); return 0; } [mweeks@gsuad.gsu.edu@snowball ~]$ head hello11.txt /* hello world */ #include int main (int argc, char *argv[]) { printf("hello world.\n"); [mweeks@gsuad.gsu.edu@snowball ~]$ ls hello11.txt hello.c sayhello [mweeks@gsuad.gsu.edu@snowball ~]$ ls -l total 12 -rw-rw-r--. 1 mweeks@gsuad.gsu.edu mweeks@gsuad.gsu.edu 1375 Aug 31 18:19 hello11.txt -rw-r--r--. 1 mweeks@gsuad.gsu.edu mweeks@gsuad.gsu.edu 125 Aug 26 18:11 hello.c -rwx------. 1 mweeks@gsuad.gsu.edu mweeks@gsuad.gsu.edu 11 Aug 24 18:41 sayhello [mweeks@gsuad.gsu.edu@snowball ~]$ ls -a . .bash_history .bash_profile .cache hello11.txt sayhello .. .bash_logout .bashrc .config hello.c [mweeks@gsuad.gsu.edu@snowball ~]$ mv hello11.txt hello_11copies.txt [mweeks@gsuad.gsu.edu@snowball ~]$ ls hello_11copies.txt hello.c sayhello [mweeks@gsuad.gsu.edu@snowball ~]$ mkdir examples [mweeks@gsuad.gsu.edu@snowball ~]$ ls examples hello_11copies.txt hello.c sayhello [mweeks@gsuad.gsu.edu@snowball ~]$ ls -l total 16 drwxrwxr-x. 2 mweeks@gsuad.gsu.edu mweeks@gsuad.gsu.edu 4096 Aug 31 18:26 examples -rw-rw-r--. 1 mweeks@gsuad.gsu.edu mweeks@gsuad.gsu.edu 1375 Aug 31 18:19 hello_11copies.txt -rw-r--r--. 1 mweeks@gsuad.gsu.edu mweeks@gsuad.gsu.edu 125 Aug 26 18:11 hello.c -rwx------. 1 mweeks@gsuad.gsu.edu mweeks@gsuad.gsu.edu 11 Aug 24 18:41 sayhello [mweeks@gsuad.gsu.edu@snowball ~]$ cd examples/ [mweeks@gsuad.gsu.edu@snowball examples]$ ls [mweeks@gsuad.gsu.edu@snowball examples]$ mv ../hello_11copies.txt hello11.txt [mweeks@gsuad.gsu.edu@snowball examples]$ ls hello11.txt [mweeks@gsuad.gsu.edu@snowball examples]$ cd .. [mweeks@gsuad.gsu.edu@snowball ~]$ ls examples hello.c sayhello [mweeks@gsuad.gsu.edu@snowball ~]$ cd examples/ [mweeks@gsuad.gsu.edu@snowball examples]$ cp hello11.txt delete_this_file [mweeks@gsuad.gsu.edu@snowball examples]$ ls -l total 8 -rw-rw-r--. 1 mweeks@gsuad.gsu.edu mweeks@gsuad.gsu.edu 1375 Aug 31 18:28 delete_this_file -rw-rw-r--. 1 mweeks@gsuad.gsu.edu mweeks@gsuad.gsu.edu 1375 Aug 31 18:19 hello11.txt [mweeks@gsuad.gsu.edu@snowball examples]$ rm delete_this_file [mweeks@gsuad.gsu.edu@snowball examples]$ ls hello11.txt [mweeks@gsuad.gsu.edu@snowball examples]$ echo cp copies a file cp copies a file [mweeks@gsuad.gsu.edu@snowball examples]$ ls hello11.txt [mweeks@gsuad.gsu.edu@snowball examples]$ cd .. [mweeks@gsuad.gsu.edu@snowball ~]$ ls examples hello.c sayhello [mweeks@gsuad.gsu.edu@snowball ~]$ echo "I don't expect this to work..." I don't expect this to work... [mweeks@gsuad.gsu.edu@snowball ~]$ rmdir examples rmdir: failed to remove ‘examples’: Directory not empty [mweeks@gsuad.gsu.edu@snowball ~]$ mkdir deletethisdir [mweeks@gsuad.gsu.edu@snowball ~]$ ls deletethisdir examples hello.c sayhello [mweeks@gsuad.gsu.edu@snowball ~]$ rmdir deletethisdir [mweeks@gsuad.gsu.edu@snowball ~]$ ls examples hello.c sayhello [mweeks@gsuad.gsu.edu@snowball ~]$ file * examples: directory hello.c: C source, ASCII text sayhello: ASCII text [mweeks@gsuad.gsu.edu@snowball ~]$ cat hello.c | wc -l 12 [mweeks@gsuad.gsu.edu@snowball ~]$ vi hello.c [mweeks@gsuad.gsu.edu@snowball ~]$ cat hello.c /* hello world This is a C program. Escape to exit insert mode, then :wq to write and quit */ #include int main (int argc, char *argv[]) { printf("hello world.\n"); return 0; } [mweeks@gsuad.gsu.edu@snowball ~]$ wc -l < hello.c 14 [mweeks@gsuad.gsu.edu@snowball ~]$ which pico /usr/bin/which: no pico in (/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/mweeks/.local/bin:/home/mweeks/bin) [mweeks@gsuad.gsu.edu@snowball ~]$ which emacs /usr/bin/which: no emacs in (/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/mweeks/.local/bin:/home/mweeks/bin) [mweeks@gsuad.gsu.edu@snowball ~]$ which nano /usr/bin/nano [mweeks@gsuad.gsu.edu@snowball ~]$ exit logout Connection to snowball.cs.gsu.edu closed. macbook:Desktop> exit Saving session... ...copying shared history... ...saving history...truncating history files... ...completed. Deleting expired sessions...none found. Script done on Mon Aug 31 18:43:28 2026