- 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.
Solutions
Two programs we discussed were less and more. The two are essentially the same as features have been added to more over time, so you can use whichever one you like the name of more.
- Suppose we have a program named
MyProgram.javain the current directory. What is the command to run the compiled version of this program and have it read standard input from a file?
Solutions
java MyProgram < file.txt
Note that we specified that we wanted to run the compiled version. If you wanted to compile and run in one step, you could run java MyProgram.java < file.txt.
- In your own words, describe the difference between running: and
grep "a" letters.txtWould you expect these two commands to have the same or different output? Why or why not?cat letters.txt | grep "a"
Solutions
The output is the same, but how it runs is slightly different.
grep "a" letters.txtusesletters.txtas a command-line argumentcat letters.txt | grep "a"uses the content ofletters.txt(generated by running thecatcommand) as standard input that thegrepcommand reads from.
This is an important distinction, and we discussed in class how grep does this by looking at the SimpleGrep.java program we wrote.
-
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:
filefor a file namecommandfor another commandfile_or_commandfor afileorcommand
command | _______ _______ | command command < _______ > _______ command < _______ | _______ command < _______ | _______ > _______
Solutions
Solutions shown in CAPS
command | COMMAND
COMMAND | command
command < FILE > FILE
command < FILE | COMMAND
command < FILE | COMMAND > FILE
- What command would tell us how many files (including hidden files) exist in our parent directory?
Solutions
ls -a .. | wc -l
- Suppose that I had a file named
MyOtherProgram.javain the current directory. What do you think would happen if I were to runjava MyOtherProgram.java > MyOtherProgram.java?
Solutions
This tries to run MyOtherProgram.java and save its output to the file name MyOtherProgram.java. This means you will overwrite your Java file!