cs-3424: add initial solution for Quiz 1

This commit is contained in:
Price Hiller 2024-06-13 17:38:11 -05:00
parent f10e8fd174
commit cc2fbeb808
Signed by: Price
GPG Key ID: C3FADDE7A8534BEB

View File

@ -0,0 +1,122 @@
#set text(font: "FreeSans")
#set page(margin: 1cm)
#show link: item => [
#text(blue)[#item]
]
#show raw.where(block: true): item => [
#text(size: 0.8em)[#block(
inset: 4pt,
stroke: luma(60%) + .5pt,
fill: luma(95%),
radius: 3pt,
)[#item]]
]
#let comment(com) = {
text(size: 0.75em, style: "italic", fill: rgb(64, 90, 95))[#com]
}
#let answer(ans) = {
align(center)[#block(
inset: 4pt,
stroke: blue + .5pt,
fill: rgb(0, 149, 255, 5%),
radius: 3pt,
)[#ans]]
}
#align(center)[#text(size: 1.3em)[= CS 3424 Quiz - Week 2]]
#align(center)[
#("Price Hiller", "zfp106", "Quiz 1", "CS 3424").join(" ⋄ ")
#v(-.5em)
#text(size: 0.75em)[#block(
inset: 4pt,
radius: 1pt,
stroke: luma(70%) + .2pt,
width: 40%,
fill: luma(95%),
)[#par(leading: .4em)[If you are interested in viewing the source code of this document, you can do so
by clicking #link("https://git.orion-technologies.io/Price/college/src/branch/Development/Summer-2024/CS-3424/Quizzes/Quiz-1/Assignment.typ", "here.")]]]
#v(-.5em)
#line(length: 100%, stroke: (dash: "densely-dotted"))
#v(-.5em)
]
1. Show a command to list all files beginning with 'A' and ending with a .zip extension
#answer[
#comment[Only for the files in the current directory:]
```bash
echo A*.zip
```
#comment[For all the files on the system that the user has access to:]
```bash
# Searching for all files on the system that the current user has access
# to, VERY SLOW
find / -type f -name "A*.zip"
```
]
2. Create an alias, `systems`, to change your current directory to *courses/cs3424/assignments* within your home directory.
#answer[
```bash
alias systems="cd ${HOME}/courses/cs3424/assignments"
```
#comment[This assumes the `${HOME}/courses/cs3424/assignments` directory already exists.]
]
3. Use symbolic modes to change the permissions of `output.txt` to remove execution rights from the group and other.
#answer[
```bash
chmod "g-x,o-x" output.txt
```
#comment[Assuming the `output.txt` file exists.]
]
4. Use symbolic modes to change the permissions of all `.c` files in the current directory so the owner has read and execute access only, add read and write access to the group, and give everyone else reading access only.
#answer[
```bash
chmod "u=rx,g+rw,o=r" *.c
```
]
5. Use octal notation to update `file1` to have read, write and execute access for the owner, read and write access for the group, and read access for everyone else. Hint for the octal values:
#align(center)[#table(
columns: 4,
align: horizon,
[octal], [read], [write], [execute],
[7], [1], [1], [1],
[6], [1], [1], [0],
[5], [1], [0], [1],
[4], [1], [0], [0],
[3], [0], [1], [1],
[2], [0], [1], [0],
[1], [0], [0], [1],
[0], [0], [0], [0],
)]
#answer[
```bash
chmod 000000000000000000000000000000000000000000000000000000000000000000764 file1
```
#comment[The above is, in fact, a valid octal value to pass to `chmod`.]
#comment[See below for what I assume is the "expected" answer:]
```bash
chmod 0764 file1
```
]