Chapter 5. Scripting with Files

Shells were originally designed to work with files. That's because a huge portion of what you need to do on a Unix system relates to files. Unix, for example, stores most configuration settings in files, and usually text files at that. This is different from Windows, for example, which stores many configuration settings in the Registry.

This means that many simple commands can manipulate the configuration of many applications, especially server applications. All of these commands work with files. In addition to the normal operations of reading from files, writing to files, and so on, shell scripts interact with files in a number of ways, including:

  • Combining files into archives.

  • Testing files with the test command.

  • Dealing with files on Mac OS X, especially for mobile users.

  • Outputting files stored within the scripts. These are called here files. You can use here files to drive interactive programs.

Shells provide a number of built-in commands to work with files, but for the most part, your scripts will call non–built-in commands for most work with files. That's because Unix and Unix-like systems offer a rich set of commands for working with files.

You can also use input redirection to read the contents of files. Output redirection allows you to send the output of a command to a file. And command pipelines allow you to feed the results of one command into another. These topics are covered in Chapter 8.

The following sections show all sorts of additional ways ...

Get Beginning Shell Scripting now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.