One of the defining features of Unix and Linux systems is how everything is treated as a file. Processes, files, directories, sockets, devices, and pipes are all treated as files. Given this fundamental feature of the operating system, learning how to manipulate files is a critical skill. This chapter provides several examples of the different ways to manipulate files.
First, we will look at the basics, namely creating, truncating, deleting, opening, closing, renaming, and moving files. We will also look at how to get detailed attributes about a file, such as permissions and ownership, size, and symlink information.
A whole section in this chapter is dedicated to the different ways you can read from and write to files. There are multiple packages that contain useful functions; moreover, the reader and writer interfaces enable many different options, such as...