1. What are the two file viewing programs that were discussed in the lecture recordings? Specifically list the ones that let you interactively navigate the file.

  2. Suppose we have a program named MyProgram.java in the current directory. What is the command to run the compiled version of this program and have it read standard input from a file?

  3. In your own words, describe the difference between running:

    grep "a" letters.txt
    cat letters.txt | grep "a"
    Would you expect these two commands to have the same or different output? Why or why not?

  4. Fill in the blanks below as to what “type” of object should go in each blank based on the type of operations we are performing. For each blank, use options:

    • file for a file name
    • command for another command
    • file_or_command for a file or command

    command | _______
    _______ | command
    command < _______ > _______
    command < _______ | _______
    command < _______ | _______ > _______

  5. What command would tell us how many files (including hidden files) exist in our parent directory?

  6. Suppose that I had a file named MyOtherProgram.java in the current directory. What do you think would happen if I were to run java MyOtherProgram.java > MyOtherProgram.java?