## Redirects

 1. We have already seen pipes last week. But pipes are not the only
    way to redirect inputs and outputs of programs. The other is
    «redirections», which work with files.
 2. A simple thing to try is redirecting the output of ‹cat›, like
    this:
    
        $ cat hello.c > redirected.c
        $ cat redirected.c

 3. We see that the output that ‹cat› would normally send to the
    screen, or to another program using a pipe, was written into the
    file ‹redirected.c›. This was easy.
 4. In the other direction, we can read things from files instead of
    from the keyboard, or from other programs via pipes. Consider:
    
        $ cut -d, -f3 < ../01/oslist.csv

 5. You see that the input of ‹cut› came from the file we specified
    using ‹<›.
 6. Let's try something slightly different. There are special files
    on UNIX, and one of those special files is ‹/dev/null›. This is
    a file that cannot be read and throws away anything you write to
    it:
    
        $ echo hello > /dev/null
        $ cat /dev/null

 7. We still have the ‹a.out› which came from ‹stdio.c›. Let's try
    redirections with that one:
    
        $ ./a.out < /dev/null
        $ ./a.out < /dev/null > /dev/null
   
   Can you explain the output?

That's all I had, we can move on to the final exercise:

    $ cat 4.txt
