The following seven articles contain the answers to some Frequently Asked Questions often seen in comp.unix.questions and comp.unix.shell. Please don't ask these questions again, they've been answered plenty of times already - and please don't flame someone just because they may not have read this particular posting. Thank you. This collection of documents is Copyright (c) 1994, Ted Timar, except Part 6, which is Copyright (c) 1994, Pierre Lewis and Ted Timar. All rights reserved. Permission to distribute the collection is hereby granted providing that distribution is electronic, no money is involved, reasonable attempts are made to use the latest version and all credits and this copyright notice are maintained. Other requests for distribution will be considered. All reasonable requests will be granted. All information here has been contributed with good intentions, but none of it is guaranteed either by the contributors or myself to be accurate. The users of this information take all responsibility for any damage that may occur. Many FAQs, including this one, are available on the archive site rtfm.mit.edu in the directory pub/usenet/news.answers. The name under which a FAQ is archived appears in the "Archive-Name:" line at the top of the article. This FAQ is archived as "unix-faq/faq/part[1-7]".
These articles are divided approximately as follows:
The following questions are answered: 1.1) Who helped you put this list together? 1.2) When someone refers to 'rn(1)' or 'ctime(3)', what does the number in parentheses mean? 1.3) What does {some strange unix command name} stand for? 1.4) How does the gateway between "comp.unix.questions" and the "info-unix" mailing list work? 1.5) What are some useful Unix or C books? 1.6) What happened to the pronunciation list that used to be part of this document? 2.1) How do I remove a file whose name begins with a "-" ? 2.2) How do I remove a file with funny characters in the filename ? 2.3) How do I get a recursive directory listing? 2.4) How do I get the current directory into my prompt? 2.5) How do I read characters from the terminal in a shell script? 2.6) How do I rename "*.foo" to "*.bar", or change file names to lowercase? 2.7) Why do I get [some strange error message] when I "rsh host command" ? 2.8) How do I {set an environment variable, change directory} inside a program or shell script and have that change affect my current shell? 2.9) How do I redirect stdout and stderr separately in csh? 2.10) How do I tell inside .cshrc if I'm a login shell? 2.11) How do I construct a shell glob-pattern that matches all files except "." and ".." ? 2.12) How do I find the last argument in a Bourne shell script? 2.13) What's wrong with having '.' in your $PATH ? 2.14) How do I ring the terminal bell during a shell script? 2.15) Why can't I use "talk" to talk with my friend on machine X? 2.16) Why does calendar produce the wrong output? 3.1) How do I find the creation time of a file? 3.2) How do I use "rsh" without having the rsh hang around until the remote command has completed? 3.3) How do I truncate a file? 3.4) Why doesn't find's "{}" symbol do what I want? 3.5) How do I set the permissions on a symbolic link? 3.6) How do I "undelete" a file? 3.7) How can a process detect if it's running in the background? 3.8) Why doesn't redirecting a loop work as intended? (Bourne shell) 3.9) How do I run 'passwd', 'ftp', 'telnet', 'tip' and other interactive programs from a shell script or in the background? 3.10) How do I find the process ID of a program with a particular name from inside a shell script or C program? 3.11) How do I check the exit status of a remote command executed via "rsh" ? 3.12) Is it possible to pass shell variable settings into an awk program? 3.13) How do I get rid of zombie processes that persevere? 3.14) How do I get lines from a pipe as they are written instead of only in larger blocks. 3.15) How do I get the date into a filename? 3.16) Why do some scripts start with #! ... ? 4.1) How do I read characters from a terminal without requiring the user to hit RETURN? 4.2) How do I check to see if there are characters to be read without actually reading? 4.3) How do I find the name of an open file? 4.4) How can an executing program determine its own pathname? 4.5) How do I use popen() to open a process for reading AND writing? 4.6) How do I sleep() in a C program for less than one second? 4.7) How can I get setuid shell scripts to work? 4.8) How can I find out which user or process has a file open or is using a particular file system (so that I can unmount it?) 4.9) How do I keep track of people who are fingering me? 4.10) Is it possible to reconnect a process to a terminal after it has been disconnected, e.g. after starting a program in the background and logging out? 4.11) Is it possible to "spy" on a terminal, displaying the output that's appearing on it on another terminal? 5.1) Can shells be classified into categories? 5.2) How do I "include" one shell script from within another shell script? 5.3) Do all shells have aliases? Is there something else that can be used? 5.4) How are shell variables assigned? 5.5) How can I tell if I am running an interactive shell? 5.6) What "dot" files do the various shells use? 5.7) I would like to know more about the differences between the various shells. Is this information available some place? 6.1) Disclaimer and introduction. 6.2) A very brief look at Unix history. 6.3) Main Unix flavors. 6.4) Main Players and Unix Standards. 6.5) Identifying your Unix flavor. 6.6) Brief notes on some well-known (commercial/PD) Unices. 6.7) Real-time Unices. 6.8) Unix glossary. 6.9) Acknowledgements. 7.1) RCS vs SCCS: Introduction 7.2) RCS vs SCCS: How do the interfaces compare? 7.3) RCS vs SCCS: What's in a Revision File? 7.4) RCS vs SCCS: What are the keywords? 7.5) What's an RCS symbolic name? 7.6) RCS vs SCCS: How do they compare for performance? 7.7) RCS vs SCCS: Version Identification. 7.8) RCS vs SCCS: How do they handle with problems? 7.9) RCS vs SCCS: How do they interact with make(1)? 7.10) RCS vs SCCS: Conversion. 7.11) RCS vs SCCS: Support 7.12) RCS vs SCCS: Command Comparison 7.13) RCS vs SCCS: Acknowledgements 7.14) Can I get more information on configuration management systems? If you're looking for the answer to, say, question 2.5, look in part 2 and search for the regular expression "^2.5)". While these are all legitimate questions, they seem to crop up in comp.unix.questions or comp.unix.shell on an annual basis, usually followed by plenty of replies (only some of which are correct) and then a period of griping about how the same questions keep coming up. You may also like to read the monthly article "Answers to Frequently Asked Questions" in the newsgroup "news.announce.newusers", which will tell you what "UNIX" stands for. With the variety of Unix systems in the world, it's hard to guarantee that these answers will work everywhere. Read your local manual pages before trying anything suggested here. If you have suggestions or corrections for any of these answers, please send them to to tmatimar@isgtec.com.