Appendix. Unix Terminology ReferenceThis appendix lists the Unix terminology, techniques, and concepts covered in the book. Each term is cross-referenced to the projects(s) that cover it. When several projects are shown, those that provide the most significant coverage are shown in bold. Project 100 lists Unix commands and the projects in which they are covered. . and .. as directory entries Projects 2, 19 (as hard links), 50 (in the PATH variable) ~see tilde expansion AFP, Apple Filing Protocol and mounting shares Project 88 aliases Projects 4 & 51 (Unix shell aliases), 19 (Mac OS X Finder aliases) append-only directories and the sticky bit (the t-bit) Project 8 arguments Project 1 (passed to commands), Project 10 (passed to shell scripts). See also positional parameters. auto-completion of a command line, also called tabbed completion Project 4 background jobs Projects 15 (running find in the background), 55 (launching and controlling background jobs batch processing techniques Projects 58 (using Bash functions), 83 (using Bash shell scripts) Bonjour (formerly known as Rendezvous), Apple's zero configuration networking technology Project 90 case sensitivity in filenames in Unix's UFS and Apple's HFS+ filesystems Project 1 character classes and ranges in globbing Project 11 command line editing Projects 4, 53 command line history Projects 4, 48, 49 (command line history recall) command options, single- and multi-letter options Projects 1 (passed to Unix commands), 83 (processing them in a shell script) completion Projects 4, 12 (customizing completion in globbing), 45 (command line completion). See also globbing. compression for compressing file content Project 22 cron, crontab, user crontabs used for scheduling commands Project 71 current working directory Projects 2, 13 debugging Bash scripts Project 82 default shell, how to view and change your default shell Project 1 device, device node, and device identifier. Identifying a locally mounted disk or disc Project 67 directory stack (when changing the current working directory with pushd and popd) Project 13 DNS, the Domain Name System Project 91 environment variables Project 4 escaping Projects 1 (escaping in filenames), 11 (escaping special globbing characters), 77 (escaping operators in regular expressions), 80 (in the Bash shell) execute permission, setting execute permission on a shell script Project 9 extended globbing Project 12. See also globbing. file systems Project 66 flags in file permissions Project 69. See also immutable flag. fun and how to have it in Unix Project 101 functions in Bash Projects 4 & 52 (writing function on the command line), 75 (using function in Bash scripts) GID, Group ID Project 7. See also groups, users, and UID. globbing using [^*?] characters Projects 11, 15 (using globbing with locate) group commands Project 85. See also subshells. groups in Unix permissions and the file system security model Project 7. See also GID, UID, and users. hard links Project 19. See also symbolic links. here-documents and here-strings in Bash Project 79 hidden files (dot files) Project 2. See also . and .. linkssee hard links and symbolic links immutable flag, setting the system and user immutable flags Project 69 interactive shell Project 47. See also login shell, non-login shell. launch daemon, Apple's command scheduler Project 73 locate database, rebuilding for use with the locate command Project 15. log files Projects 41, 42 (the logging daemon) login shell Project 47. See also interactive shell, non-login shell. manual, man pages, the Unix manual Project 3 mount points for file systems Projects 66, 67. See also device. mounting, devices and shares Project 88 NFS, Network File System Projects 88 (mounting), 89 (setting up a server) nobody, as a Unix user Project 15 non-login shell Project 47. See also login shell, interactive shell. octal, expressing file system permissions in octal Project 8 options see command options, shell options parameters in shell scriptssee positional parameters parameter expansion in scriptssee positional parameters PATH, shell path variable and command search path Project 50 pathnames, absolute, full, relative Project 2 periodic maintenance, daily, weekly, and monthly scripts; adding your own scheduled tasks Project 72 permissions, execute, read, write on the file system Project 8. See also users and groups. pipelines, pipelining Project 6. See also redirection. positional parameters in shell scripts Projects 10 (simple processing in shell scripts), 76 (complex expansion in shell scripts). See also arguments. processes, executing commands and applications Projects 39, 40 recursion Project 2 redirection Project 6. See also pipelines. regular expressions, basic (obsolete) and extended (modern) Projects 15 (with find), 77, 78 (advanced) root user, how to become the root user from the sudo command Project 2 run level in single and multi-user modes Project 69 s-bit, set user and group ID on execution Project 8. See also S-GID, S-UID. S-GID, set group ID on execution Project 8. See also s-bit, S-UID. S-UID, set user ID on execution Project 8. See also s-bit, S-GID. scope of shell and environment variables Project 4 shell Projects 1 (what is a shell), 5 (available shells in Mac OS X) shell attributes Project 45 shell initialization and startup Projects 4, 47 shell options Project 45 shell quoting Project 80 shell scripts, writing Projects 9, 10, Chapter 9 shell variables Projects 4 (using variables on the command line), 9 (using shell variables in a script) signals Projects 40 (sending signals to running processes), 86 (trapping and handling signals in scripts) single user mode, booting into Project 69. See also run level. soft linkssee symbolic links spaces in filenames Projects 1 (on the command line), 10 (in a shell script) standard error, input, output (stderr, stdin, stderr) Project 6. See also redirection. sticky bitsee append-only directories sub-shells Project 85. See also group commands. super usersee root user symbolic links Project 19 tabbed completionsee auto-completion tee, using tee in pipelines Project 6. See also pipelines. tilde expansion Projects 1 (tilde expansion on the command line), 13 (tilde expansion in aliases and shell variable expansion) UID, User ID Project 7. See also users, groups, and GID. umask to control default file permissions Project 8 user accounts in Mac OS X Project 65 users in Unix permissions and the file system security model Project 7. See also UID, GID, and groups. whatis database, rebuilding for use with the locate command Project 3 wildcards and wildcard expansionsee globbing working directorysee current working directory |