Diffs to the Frequently Asked Questions postings

Steve Hayman sahayman at iuvax.cs.indiana.edu
Sat Dec 2 07:11:33 AEST 1989


Here are the most recent changes to parts 1 and 2 of the
Frequently Asked Questions postings.

*** /tmp/,RCSt1a08391	Fri Dec  1 15:11:14 1989
--- part1	Fri Dec  1 14:49:59 1989
***************
*** 1,5 ****
--- 1,6 ----
  Subject: Welcome to comp.unix.questions and comp.unix.wizards [Monthly posting]
  
+ [Last changed: $Date: 89/12/01 14:49:54 $ by $Author: sahayman $]
  
  Comp.unix.questions and comp.unix.wizards are two of the most popular
  and highest volume newsgroups on Usenet.  This article is a monthly
*** /tmp/,RCSt1a08405	Fri Dec  1 15:11:17 1989
--- part2	Fri Dec  1 14:50:16 1989
***************
*** 1,5 ****
--- 1,7 ----
  Subject: Frequently Asked Questions about Unix - with Answers [Monthly posting]
  
+ [Last changed: $Date: 89/12/01 14:50:10 $ by $Author: sahayman $]
+ 
  This article contains the answers to some Frequently Asked Questions
  often seen in comp.unix.questions and comp.unix.wizards.  Please don't
  ask these questions again, they've been answered plenty of times
***************
*** 19,25 ****
  	How do I check to see if there are characters to be read without
  	    actually reading?
  	How do I find the name of an open file?
! 	How do I rename "*.foo" to "*.bar"?
  	Why do I get [some strange error message] when I "rsh host command" ?
  	How do I find out the creation time of a file?
  	How do I use "rsh" without having the rsh hang around
--- 21,27 ----
  	How do I check to see if there are characters to be read without
  	    actually reading?
  	How do I find the name of an open file?
! 	How do I rename "*.foo" to "*.bar", or change file names to lowercase?
  	Why do I get [some strange error message] when I "rsh host command" ?
  	How do I find out the creation time of a file?
  	How do I use "rsh" without having the rsh hang around
***************
*** 28,36 ****
  	How do I {set an environment variable, change directory} inside a
  	    shell script and have that change affect my current shell?
  	Why doesn't find's "{}" symbol do what I want?
  	What does {awk,grep,fgrep,egrep,biff,cat,gecos,nroff,troff,tee,bss}
  	    stand for?
! 	How do I pronounce "vi"?
  
  
  While these are all legitimate questions, they seem to crop up in
--- 30,41 ----
  	How do I {set an environment variable, change directory} inside a
  	    shell script and have that change affect my current shell?
  	Why doesn't find's "{}" symbol do what I want?
+ 	How do I redirect stdout and stderr separately in csh?
+ 	How do I set the permissions on a symbolic link?
  	What does {awk,grep,fgrep,egrep,biff,cat,gecos,nroff,troff,tee,bss}
  	    stand for?
! 	How do I pronounce "vi" , or "!", or "/*", or ...?
! 
  
  
  While these are all legitimate questions, they seem to crop up in
***************
*** 133,144 ****
  	Put this in your .cshrc - customize the prompt variable
  	the way you want.
  
! 	    alias cd 'chdir \!* && set prompt="${cwd}% "'
  	
  	If you use pushd and popd, you'll also need
  
! 	    alias pushd 'pushd \!* && set prompt="${cwd}% "'
! 	    alias popd  'popd  \!* && set prompt="${cwd}% "'
  
  	Some C shells don't keep a $cwd variable - you can use
  	`pwd` instead.
--- 138,151 ----
  	Put this in your .cshrc - customize the prompt variable
  	the way you want.
  
! 	    alias setprompt 'set prompt="${cwd}% "'
! 	    setprompt		# to set the initial prompt
! 	    alias cd 'chdir \!* && setprompt'
  	
  	If you use pushd and popd, you'll also need
  
! 	    alias pushd 'pushd \!* && setprompt'
! 	    alias popd  'popd  \!* && setprompt'
  
  	Some C shells don't keep a $cwd variable - you can use
  	`pwd` instead.
***************
*** 145,152 ****
  
  	If you just want the last component of the current directory
  	in your prompt ("mail% " instead of "/usr/spool/mail% ")
! 	you can do
! 	    alias cd 'chdir \!* && set prompt="$cwd:t% "'
  
  	
  	Some older csh's get the meaning of && and || reversed.
--- 152,160 ----
  
  	If you just want the last component of the current directory
  	in your prompt ("mail% " instead of "/usr/spool/mail% ")
! 	you can use
! 
! 	    alias setprompt 'set prompt="$cwd:t% "'
  
  	
  	Some older csh's get the meaning of && and || reversed.
***************
*** 163,169 ****
  	If you have a newer version of the Bourne Shell (SVR2 or newer)
  	you can use a shell function to make your own command, "xcd" say:
  
! 	    xcd { cd $* ; PS1="`pwd` $ "; }
  
  	If you have an older Bourne shell, it's complicated but not impossible.
  	Here's one way.  Add this to your .profile file:
--- 171,177 ----
  	If you have a newer version of the Bourne Shell (SVR2 or newer)
  	you can use a shell function to make your own command, "xcd" say:
  
! 	    xcd() { cd $* ; PS1="`pwd` $ "; }
  
  	If you have an older Bourne shell, it's complicated but not impossible.
  	Here's one way.  Add this to your .profile file:
***************
*** 301,307 ****
      even exist is going to take some time.
  
  
! 9) How do I rename "*.foo" to "*.bar"?
  	
      Why doesn't "mv *.foo *.bar" work?  Think about how the shell
      expands wildcards.   "*.foo" "*.bar" are expanded before the mv
--- 309,315 ----
      even exist is going to take some time.
  
  
! 9) How do I rename "*.foo" to "*.bar", or change file names to lowercase?
  	
      Why doesn't "mv *.foo *.bar" work?  Think about how the shell
      expands wildcards.   "*.foo" "*.bar" are expanded before the mv
***************
*** 345,351 ****
      If you don't have "basename" or want to do something like
      renaming foo.* to bar.*, you can use something like "sed" to
      strip apart the original file name in other ways, but
!     the general looping idea is the same. 
  
      A program called "ren" that does this job nicely was posted
      to comp.sources.unix some time ago.  It lets you use
--- 353,359 ----
      If you don't have "basename" or want to do something like
      renaming foo.* to bar.*, you can use something like "sed" to
      strip apart the original file name in other ways, but
!     the general looping idea is the same.   
  
      A program called "ren" that does this job nicely was posted
      to comp.sources.unix some time ago.  It lets you use
***************
*** 352,357 ****
--- 360,407 ----
  
  	ren '*.foo' '#1.bar'
  
+     Shell loops like the above can also be used to translate
+     file names from upper to lower case or vice versa.  You could use
+     something like this to rename uppercase files to lowercase:
+ 
+ 	C Shell:
+ 	    foreach f ( * )
+ 		mv $f `echo $f | tr A-Z a-z`
+ 	    end
+ 	Bourne Shell:
+ 	    for f in *; do
+ 		mv $f `echo $f | tr A-Z a-z`
+ 	    done
+ 
+     If you wanted to be really thorough and handle files with
+     `funny' names (embedded blanks or whatever) you'd need to use
+     
+ 	Bourne Shell:
+ 
+ 	    for f in *; do
+ 		eval mv '"$i"' \"`echo "$i" | tr '[A-Z]' '[a-z]'`\"
+ 	    done
+     
+     If you have the "perl" language installed, you may find this rename
+     script by Larry Wall very useful.  It can be used to accomplish a
+     wide variety of filename changes.
+ 
+ 	#!/usr/bin/perl
+ 	#
+ 	# rename script examples from lwall:
+ 	#       rename 's/\.orig$//' *.orig
+ 	#       rename 'y/A-Z/a-z/ unless /^Make/' *
+ 	#       rename '$_ .= ".bad"' *.f
+ 	#       rename 'print "$_: "; s/foo/bar/ if <stdin> =~ /^y/i' *
+ 
+ 	$op = shift;
+ 	for (@ARGV) {
+ 	    $was = $_;
+ 	    eval $op;
+ 	    die $@ if $@;
+ 	    rename($was,$_) unless $was eq $_;
+ 	}
+ 
  
  10) Why do I get [some strange error message] when I "rsh host command" ?
  
***************
*** 534,540 ****
      in their names.
  
  
! 16) What does {awk,grep,fgrep,egrep,biff,cat,gecos,nroff,troff,tee,bss}
      stand for?
  
      awk = "Aho Weinberger and Kernighan"
--- 584,611 ----
      in their names.
  
  
! 16) How do I redirect stdout and stderr separately in csh?
! 
!     In csh, you can redirect stdout with ">", or stdout and stderr
!     together with ">&" but there is no direct way to redirect
!     stderr only.  The best you can do is
! 
!         ( command >stdout_file ) >&stderr_file
! 
!     which runs "command" in a subshell;  stdout is redirected inside
!     the subshell to stdout_file, and both stdout and stderr from the
!     subshell are redirected to stderr_file, but by this point stdout
!     has already been redirected so only stderr actually winds up in
!     stderr_file.
! 
! 17) How do I set the permissions on a symbolic link?
! 
!     Permissions on a symbolic link don't really mean anything.  The
!     only permissions that count are the permissions on the file that
!     the link points to.
! 
! 
! 18) What does {awk,grep,fgrep,egrep,biff,cat,gecos,nroff,troff,tee,bss}
      stand for?
  
      awk = "Aho Weinberger and Kernighan"
***************
*** 618,632 ****
  
      biff = "biff"
  
! 	This command, which turns on asynchronous mail notification,
! 	was allegedly named after someone's dog that barked whenever
! 	the postman arrived.  Or so the story goes.
!     
!    
!     Don Libes' book "Life with Unix" contains lots more of
!     these tidbits.
  
! 17) How do I pronounce "vi" ?
  
      You can start a very long and pointless discussion by wondering
      about this topic on the net.  Some people say "vye", some say
--- 689,711 ----
  
      biff = "biff"
  
!     	This command, which turns on asynchronous mail notification,
! 	was actually named after a dog at Berkeley.
! 
! 	    I can confirm the origin of biff, if you're interested.  Biff
! 	    was Heidi Stettner's dog, back when Heidi (and I, and Bill Joy)
! 	    were all grad students at U.C. Berkeley and the early versions
! 	    of BSD were being developed.   Biff was popular among the
! 	    residents of Evans Hall, and was known for barking at the
! 	    mailman, hence the name of the command.
! 
! 	Confirmation courtesy of Eric Cooper, Carnegie Mellon
! 	University
! 
!     Don Libes' book "Life with Unix" contains lots more of these
!     tidbits.
  
! 19) How do I pronounce "vi" , or "!", or "/*", or ...?
  
      You can start a very long and pointless discussion by wondering
      about this topic on the net.  Some people say "vye", some say
***************
*** 638,643 ****
--- 717,865 ----
      and that there are lots of ways to say "#" or "/*" or "!" or
      "tty" or "/etc".  No one pronunciation is correct - enjoy the regional
      dialects and accents.  
+ 
+     Since this topic keeps coming up on the net, here is a comprehensive
+     pronunciation list that has made the rounds in the past.
+     Origin unknown - please let me know if you know where it came from,
+     and I'll attribute it properly.
+ 
+ 
+ Names derived from UNIX are marked with *, names derived from C are marked
+ with +, and names deserving futher explanation are marked with a #.  The
+ explanations will be given at the very end.
+ 
+ ------------------------------------------------------------------------------
+ 			   -- SINGLE CHARACTERS --
+ 
+      SPACE, blank
+ 
+ !    EXCLAMATION POINT, exclamation mark, exclamation, exclam, excl, clam,
+ 	bang#, shout, yell, shriek, pling, factorial, ball-bat, smash, cuss,
+ 	wow, hey, boing
+ 
+ "    QUOTATION MARK, quote, double quote, dirk, literal mark, rabbit ears,
+ 	double ping, double glitch
+ 
+ #    CROSSHATCH, pound, pound sign, number, number sign, sharp, octothorpe#,
+ 	hash, fence, crunch, mesh, hex, flash, grid, pig-pen, tictactoe,
+ 	scratch, scratch mark, gardengate, gate, hak, oof, rake, sink
+ 
+ $    DOLLAR SIGN, dollar, cash, currency symbol, buck, string#, escape#, 
+ 	ding, big-money
+ 
+ %    PERCENT SIGN, percent, mod+, shift-5, double-oh-seven, grapes
+ 
+ &    AMPERSAND, and, amper, address+, shift-7, andpersand, snowman,
+ 	bitand+, donald duck#, daemon
+ 
+ '    APOSTROPHE, single quote, quote, tick, prime, irk, pop, spark, glitch
+ 
+ *    ASTERISK, star, splat, spider, aster, times, wildcard*, gear, dingle,
+ 	(Nathan) Hale#, bug, gem, twinkle
+ 
+ ()   PARENTHESES, parens, round brackets, bananas, ears, bowlegs,
+ 	parenthesee (singular only), weapons
+ (    LEFT PARENTHESIS,  paren,  so,      wax,  parenthesee,   open,  sad
+ )    RIGHT PARENTHESIS, thesis, already, wane, unparenthesee, close, happy
+ 
+ +    PLUS SIGN, plus, add, cross, and, intersection, and
+ 
+ ,    COMMA, tail
+ 
+ -    HYPHEN, minus, minus sign, dash, dak, option, flag, negative,
+ 	negative sign, worm, bithorpe#
+ 
+ .    PERIOD, dot, decimal, decimal point, radix point, point, spot, full stop,
+ 	put#, floor
+ 
+ /    SLASH, stroke, virgule, solidus, slant, diagonal, over, slat, slak,
+ 	across#, compress#, spare
+ 
+ :    COLON, two-spot, double dot, dots
+ 
+ ;    SEMICOLON, semi, hybrid
+ 
+ <>   ANGLE BRACKETS, angles, funnels, brokets
+ <    LESS THAN,    less, read from*, from*,        in*,  comesfrom*, crunch,
+ 	sucks
+ >    GREATER THAN, more, write to*,  into/toward*, out*, gazinta*,   zap,
+ 	blows
+ 
+ =    EQUAL SIGN, equals, equal, gets, quadrathorpe#, half-mesh
+ 
+ ?    QUESTION MARK, question, query, whatmark, what, wildchar*, huh, ques,
+ 	kwes, quiz, quark, hook
+ 
+ @    AT SIGN, at, each, vortex, whorl, whirlpool, cyclone, snail, ape, cat,
+ 	snable-a#, trunk-a#, rose, cabbage, Mercantile symbol
+ 
+ []   BRACKETS, square brackets, U-turns, edged parentheses, mimics
+ [    LEFT BRACKET,  bracket,   bra, square,   opensquare
+ ]    RIGHT BRACKET, unbracket, ket, unsquare, close
+ 
+ \    BACKSLASH, reversed virgule, bash, backslant, backwhack, backslat, 
+ 	escape*, backslak, bak, reduce#
+ 
+ ^    CIRCUMFLEX, caret, carrot, hat, cap, uphat, party hat, housetop, 
+ 	up arrow, control, boink, chevron, hiccup, to-the, fang, sharkfin,
+ 	and#, xor+, wok, trap
+ 
+ _    UNDERSCORE, underline, underbar, under, score, backarrow, flatworm, blank
+ 
+ `    GRAVE, grave accent, accent, backquote, left/open quote, backprime, 
+ 	unapostrophe, backspark, birk, blugle, backtick, push, backglitch,
+ 	backping
+ 
+ {}   BRACES, curly braces, squiggly braces, curly brackets, squiggle brackets,
+ 	Tuborgs#, ponds
+ {    LEFT BRACE,  brace,   curly,   leftit, embrace,  openbrace, begin+
+ }    RIGHT BRACE, unbrace, uncurly, rytit,  bracelet, close,     end+
+ 
+ |    VERTICAL BAR, pipe*, pipe to*, vertical line, broken line#, bar, or+,
+ 	bitor+, vert, v-bar, spike, to*, gazinta*, thru*, pipesinta*, tube,
+ 	mark, whack, gutter, wall
+ 
+ ~    TILDE, twiddle, tilda, tildee, wave, squiggle, swung dash, approx, 
+ 	wiggle, enyay#, home*, worm
+ 
+ 
+ 			-- MULTIPLE CHARACTER STRINGS --
+ 
+ !?	interrobang (one overlapped character)
+ /*   	slashterix+
+ */	asterslash+
+ >>	appends*, cat-astrophe
+ ->	arrow+, pointer to+, hiccup+
+ #!	sh'bang, wallop
+ \!*	bash-bang-splat
+ ()	nil#
+ &&	and+, amper-amper, succeeds-then*
+ ||	or+, fails-then*
+ 
+ 
+ 				-- NOTES --
+ 
+ ! bang		comes from old card punch phenom where punching ! code made a
+ 		loud noise
+ # octothorpe	from Bell System
+ $ string	from BASIC
+ $ escape	from TOPS-10
+ & donald duck	from the Danish "Anders And", which means "Donald Duck"
+ * splat		from DEC "spider" glyph
+ * Nathan Hale	"I have but one asterisk for my country."
+ = quadrathorpe	half an octothorpe
+ - bithorpe	half a quadrathorpe (So what's a monothorpe?)
+ . put		Victor Borge on Electric Company
+ / across	APL
+ / compress	APL
+ @ snable-a	from Danish; may translate as "trunk-a"
+ @ trunk-a	"trunk" = "elephant nose"
+ ^ and		from formal logic
+ \ reduce	APL
+ {} Tuborgs	from advertizing for well-known Danish beverage
+ | broken line	EBCDIC has two vertical bars, one solid and one broken.
+ ~ enyay		from the Spanish n-tilde
+ () nil		LISP
  
  
  -- 



More information about the Comp.unix.wizards mailing list