The vnode table represents all file activity in UNIX. There is a unique vnode allocated in the vnode table for each active file, each current directory, each mounted-on file, text file, and the root.  To see the number of vnodes available in Mac OS X, look to sysctl for the kern.maxvnodes variable using something similar to the following command: sysctl -A | grep vnode

Regular Expressions

Basically, a regular expression is a pattern describing a certain amount of text. Their name comes from the mathematical theory on which they are based. But we will not dig into that. Since most people including myself are lazy to type, you will usually find the name abbreviated to regex or regexp. I prefer regex, because it is easy to pronounce the plural “regexes”. On this website, regular expressions are printed as regex. If your browser has proper support for cascading style sheets, the regex should be highlighted in red. This first example is actually a perfectly valid regex. It is the most basic pattern, simply matching the literal text regex. A “match” is the piece of text, or sequence of bytes or characters that pattern was found to correspond to by the regex processing software. Matches are highlighted in blue on this site. b[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}b is a more complex pattern. It describes a series of letters, digits, dots, underscores, percentage signs and hyphens, followed by an at sign, followed by another series of letters, digits and hyphens, finally followed by a single dot and between two and four letters. In other words: this pattern describes an email address. You can search through a text file to find email addresses, or verify if a given string looks like an email address. In this tutorial, I will use the term “string” to indicate the text that I am applying the regular expression to. I will highlight them in green. The term “string” or “character string” is used by programmers to indicate a sequence of characters. In practice, you can use regular expressions with whatever data you can access using the application or programming language you are working with.

The Basics of pico (or nano)

At your Unix shell prompt, type: pico filename Replace filename with the name of the file you want to create or edit. For example, to create a file and name it indiana.txt, type: pico charles.txt If the file already exits, Pico opens it for you to edit. If it doesn’t exist yet, Pico creates it and places you in an editing buffer. Pico displays a menu bar of commonly-used commands at the bottom of the screen. Pico accepts commands from your keyboard but not from your mouse. To insert text into your Pico editing screen at the cursor, just begin typing. Pico inserts the text to the left of the cursor, moving any existing text along to the right. Each time the cursor reaches the end of a line, Pico’s word wrap feature automatically moves it to the beginning of the next line. (Also see “Justify.”) To move the cursor, use the arrow keys or use CTRL/f (forward), CTRL/b (back), CTRL/n (next line), CTRL/p (previous line). See the “Command overview” for more cursor movement commands. To delete the character to the left of the cursor, press BACKSPACE, DELETE, or CTRL/h. To delete the character highlighted by the cursor, press CTRL/d. To delete the current line, press CTRL/k. To save your edited file to disk, press CTRL/o. Pico displays the current filename. (To save the file under a different name, delete the filename that Pico displays and type a new one.) Press RETURN. To exit Pico, press CTRL/x. If you have made any changes since the last save, Pico asks whether to save them. Type y (yes) or n (no). If you type y, Pico displays the filename. (To save the edited file under a different name, delete the filename and type a new one.) Press ENTER. Pico lets you search forward from the current cursor position for any text string you specify. Press CTRL/w (for whereis) to invoke the search. Pico prompts you for a search term. To begin searching, type the text you’re looking for and press RETURN. Pico moves the cursor to the first instance of the text string you entered. You can find additional occurrences by pressing CTRL/w again. As you type, Pico’s word wrap automatically begins a new line when needed. However, when you edit existing text, you may create text lines that are either too short or too long. To re-wrap or “justify” a paragraph, move the cursor to that paragraph and press CTRL/j. To undo this action and restore the paragraph to its original condition, press CTRL/u. You can cut and paste text lines with Pico. Place the cursor on the first text line you wish to cut and press CTRL/k to remove it. (To cut and paste two or more consecutive text lines, press CTRL/k until all the text lines are removed.) You can now move the cursor to the location where you want to paste the text. Press CTRL/u. Pico pastes the text back into the file at the new cursor position. You can also cut and paste text blocks:    1. Move the cursor over the first character of the text you want to remove.    2. Press CTRL/^ to “set the mark.”    3. Use the arrow keys to highlight the text you wish to cut.    4. Press CTRL/k to cut the text. (Be sure you got all of the text you wanted, including the last character.)    5. Move the cursor to the place where you want to insert the text.    6. Press CTRL/u to paste the text into the new position. To insert the contents of an existing file at the cursor location, press Ctrl/r. Pico prompts you for a filename. You can either type the filename and press Return, or press Ctrl/t to select from a list of available files. Pico enters the File Browser, which displays a list of the files in your current working directory. Use the arrow keys to highlight the file you wish to insert and press Return. Select the parent directory (..) to move “up” the directory tree. Select a subdirectory to move “down” the directory tree. Besides inserting text, you can use the File Browser to rename, delete, or copy any file, even a file in another directory. To exit the File Browser, press e. To use the spell checker, press CTRL/t. When Pico discovers a word it does not recognize, it highlights the word and prompts you to enter a replacement. You can either type a replacement or press RETURN to keep the original word. Pico then continues to the next misspelled word. When Pico has checked your entire document, it returns the cursor to its original position. If your Pico session crashes, Pico attempts to save a copy of the file you were working on. Look in your working directory for a filename with the extension .save.   Some commands inside pico include the following keystrokes:     * CTRL/a Move to the beginning of the current line.     * CTRL/e Move to the end of the current line.     * CTRL/v Move forward one page.     * CTRL/y Move backward one page.     * CTRL/w Search for text (whereis).     * CTRL/L Redraw a garbled screen.     * CTRL/d Delete the current character.     * CTRL/^ Begin selecting text.     * CTRL/k Remove (cut) current line or selected text.     * CTRL/u Paste (uncut) last cut text at the cursor position.     * CTRL/j Format (justify) the current paragraph.     * CTRL/t Spell check the text.     * CTRL/r Insert (read in) a file into this file.     * CTRL/o Save (output) the file.     * CTRL/g View Pico’s online help.     * CTRL/x Exit Pico, saving the file.