11.1. The File Mode11.1.1. File Access Permissions11.1.2. File Permission Modifiers11.1.3. File Types11.1.4. The Process’s umask11.2. Basic File Operations11.2.1. File Descriptors11.2.2. Closing Files11.2.3. Opening Files in the File System11.2.4. Reading, Writing, and Moving Around11.2.5. Partial Reads and Writes11.2.6. Shortening Files11.2.7. Synchronizing Files11.2.8. Other Operations11.3. Querying and Changing Inode Information11.3.1. Finding Inode Information11.3.2. A Simple Example of stat()11.3.3. Easily Determining Access Rights11.3.4. Changing a File’s Access Permissions11.3.5. Changing a File’s Owner and Group11.3.6. Changing a File’s Timestamps11.3.7. Ext3 Extended Attributes11.4. Manipulating Directory Entries11.4.1. Creating Device and Named Pipe Entries11.4.2. Creating Hard Links11.4.3. Using Symbolic Links11.4.4. Removing Files11.4.5. Renaming Files11.5. Manipulating File Descriptors11.5.1. Changing the Access Mode for an Open File11.5.2. Modifiying the close-on-exec Flag11.5.3. Duplicating File Descriptors11.6. Creating Unnamed Pipes11.7. Adding Redirection to ladsh11.7.1. The Data Structures11.7.2. Changing the Code