$BASH environment variable

Expands to the full pathname used to invoke this instance of bash. From Rute-Users-Guide

$BASH_VERSION environment variable

Expands to the version number of this instance of bash. From Rute-Users-Guide

$CDPATH environment variable

The search path for the cd command. This is a colon-separated list of directories in which the shell looks for destination directories specified by the cd command. A sample value is ``.:~:/usr''. From Rute-Users-Guide

$ENV environment variable

If this parameter is set when bash is executing a shell script, its value is interpreted as a filename containing commands to initialize the shell, as in .bashrc. The value of ENV is subjected to parameter expansion, command substitution, and arithmetic expansion before being interpreted as a pathname. PATH is not used to search for the resultant pathname. From Rute-Users-Guide

$FIGNORE environment variable

A colon-separated list of suffixes to ignore when performing filename completion (see READLINE below). A filename whose suffix matches one of the entries in FIGNORE is excluded from the list of matched filenames. A sample value is ``.o:~''. From Rute-Users-Guide

$HISTCMD environment variable

The history number, or index in the history list, of the current command. If HISTCMD is unset, it loses its special properties, even if it is subsequently reset. From Rute-Users-Guide

$HISTCONTROL environment variable

If set to a value of ignorespace, lines which begin with a space character are not entered on the history list. If set to a value of ignoredups, lines matching the last history line are not entered. A value of ignoreboth combines the two options. If unset, or if set to any other value than those above, all lines read by the parser are saved on the history list. From Rute-Users-Guide

$HISTFILE environment variable

The name of the file in which command history is saved. (See HISTORY below.) The default value is ~/.bash_history. If unset, the command history is not saved when an interactive shell exits. From Rute-Users-Guide

$HISTFILESIZE environment variable

The maximum number of lines contained in the history file. When this variable is assigned a value, the history file is truncated, if necessary, to contain no more than that number of lines. The default value is 500. From Rute-Users-Guide

$HISTSIZE environment variable

The number of commands to remember in the command history (see HISTORY below). The default value is 500. From Rute-Users-Guide

$HOME environment variable

The home directory of the current user; the default argument for the cd builtin command. From Rute-Users-Guide


Contains the name of a file in the same format as /etc/hosts that should be read when the shell needs to complete a hostname. The file may be changed interactively; the next time hostname completion is attempted bash adds the contents of the new file to the already existing database. From Rute-Users-Guide


Automatically set to a string that uniquely describes the type of machine on which bash is executing. The default is system-dependent. From Rute-Users-Guide


In UNIX, the $IFS variable separates commands. It is usually conigured to be the semicolon (;) and newline characters. However, it can be reconfigured to be other characters as well. Data-driven attacks will sometimes seek to reset the IFS variable (e.g. IFS=x), then cause execution within the data field wihtout having to insert shell metacharacters. Tidbit: On Linux, the $FF variable may also be used like $IFS. From Hacking-Lexicon


The Internal Field Separator that is used for word splitting after expansion and to split lines into words with the read builtin command. The default value is ``<space><tab><newline>''. From Rute-Users-Guide


Controls the action of the shell on receipt of an EOF character as the sole input. If set, the value is the number of consecutive EOF characters typed as the first characters on an input line before bash exits. If the variable exists but does not have a numeric value, or has no value, the default value is 10. If it does not exist, EOF signifies the end of input to the shell. This is only in effect for interactive shells. From Rute-Users-Guide

$INPUTRC environment variable

The filename for the readline startup file, overriding the default of ~/.inputrc (see READLINE below). From Rute-Users-Guide


Each time this parameter is referenced, the shell substitutes a decimal number representing the current sequential line number (starting with 1) within a script or function. When not in a script or function, the value substituted is not guaranteed to be meaningful. When in a function, the value is not the number of the source line that the command appears on (that information has been lost by the time the function is executed), but is an approximation of the number of simple commands executed in the current function. If LINENO is unset, it loses its special properties, even if it is subsequently reset. From Rute-Users-Guide


If this parameter is set to a filename and the MAILPATH variable is not set, bash informs the user of the arrival of mail in the specified file. From Rute-Users-Guide


Specifies how often (in seconds) bash checks for mail. The default is 60 seconds. When it is time to check for mail, the shell does so before prompting. If this variable is unset, the shell disables mail checking. From Rute-Users-Guide


A colon-separated list of pathnames to be checked for mail. The message to be printed may be specified by separating the pathname from the message with a `?'. $_ stands for the name of the current mailfile. Example: MAILPATH='/usr/spool/mail/bfox?"You have mail":~/shell-mail?"$_ has mail!"' Bash supplies a default value for this variable, but the location of the user mail files that it uses is system dependent (e.g., /usr/spool/mail/$USER). From Rute-Users-Guide


If set, and a file that bash is checking for mail has been accessed since the last time it was checked, the message ``The mail in mailfile has been read'' is printed. From Rute-Users-Guide


The previous working directory as set by the cd command. From Rute-Users-Guide


Automatically set to a string that describes the operating system on which bash is executing. The default is system-dependent. From Rute-Users-Guide


The search path for commands. It is a colon-separated list of directories in which the shell looks for commands (see COMMAND EXECUTION below). The default path is system-dependent, and is set by the administrator who installs bash. A common value is ``/usr/gnu/bin:/usr/local/bin:/usr/ucb:/bin:/usr/bin:.''. From Rute-Users-Guide


The shell looks for commands and programs in a list of file paths stored in the PATH environment variable. An environment variable stores information in a place where other programs and commands can access it. Environment variables store information such as the shell that you are using, your login name, and your current working directory. To see a list of all the environment variables currently defined; type 'set' at the prompt. When you type a command at the shell prompt, the shell will look for that command's program file in each directory listed in the PATH variable, in order. The first program found matching the command you typed will be run. If the command's program file is not in a directory listed in you PATH environment variable, the shell returns a "commands not found" error. By default, the shell does not look in your current working directory or your home directory for commands This is really a security mechanism so that you don't execute programs by accident. What if a malicious user put a harmful program called ls in your home directory? If you typed ls and the shell looked for the fake program in your home directory before the real program in the /bin directory, what do you think woul dhappen? If you thought bad things, you are on the right track. Since your PATH doesn't have the current directory as one of its search locations, programs in your current directory must be called with an absolute path of a relative path specified as './program-name'. To see what directories are part of your PATH enter this command: # echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11 From Complete-Idiot's Guide to Linux


If set, the value is executed as a command prior to issuing each primary prompt. From Rute-Users-Guide


The value of this parameter is expanded (see PROMPTING below) and used as the primary prompt string. The default value is ``bash\$ ''. From Rute-Users-Guide


The value of this parameter is expanded and used as the secondary prompt string. The default is ``> ''. From Rute-Users-Guide


The value of this parameter is used as the prompt for the select command (see SHELL GRAMMAR above). From Rute-Users-Guide


The value of this parameter is expanded and the value is printed before each command bash displays during an execution trace. The first character of PS4 is replicated multiple times, as necessary, to indicate multiple levels of indirection. The default is ``+ ''. From Rute-Users-Guide


The current working directory as set by the cd command. From Rute-Users-Guide


Each time this parameter is referenced, a random integer is generated. The sequence of random numbers may be initialized by assigning a value to RANDOM. If RANDOM is unset, it loses its special properties, even if it is subsequently reset. From Rute-Users-Guide


Each time this parameter is referenced, the number of seconds since shell invocation is returned. If a value is assigned to SECONDS. the value returned upon subsequent references is the number of seconds since the assignment plus the value assigned. If SECONDS is unset, it loses its special properties, even if it is subsequently reset. From Rute-Users-Guide


Incremented by one each time an instance of bash is started. From Rute-Users-Guide


File compressed with the compress compression program. From Rute-Users-Guide Can be deflated using the 'uncompress' utility.


Archive. lib*.a is a static library. From Rute-Users-Guide


X Window System font alias catalog. From Rute-Users-Guide


Audio format (original Sun Microsystems generic sound file). From Rute-Users-Guide


Video format. From Rute-Users-Guide


awk program source file. From Rute-Users-Guide


bibtex LATEX bibliography source file. From Rute-Users-Guide


Microsoft Bitmap file image format. From Rute-Users-Guide


File compressed with the bzip compression algorithm/program. These files are mostly redundant now. The vast majority of files are compressed using the superior bzip2 program. From Rute-Users-Guide


File compressed with the bzip2 compression program. From Rute-Users-Guide


C program source code. From Rute-Users-Guide

.cc, .cxx, .C, .cpp

C++ program source code. From Rute-Users-Guide

.cf, .cfg

Configuration file or script. From Rute-Users-Guide

.cgi Executable script that produces web page output. From Rute-Users-Guide

.conf, .config

Configuration file. From Rute-Users-Guide


csh shell script. From Rute-Users-Guide


Database file. From Rute-Users-Guide


Debian package for the Debian distribution. From Rute-Users-Guide


Output of the diff program indicating the difference between files or source trees. From Rute-Users-Guide


X Window System font/other database directory. From Rute-Users-Guide


Device-independent file. Formatted output of .tex LATEX file. From Rute-Users-Guide


Lisp program source. From Rute-Users-Guide


On UNIX, a user can place an e-mail address in his ".forward" file. This will cause all e-mail sent to his account to be forwarded to that e-mail address. This file a is prime target of attackers. If they can overwrite this file, they can subtly start capturing the user's e-mail. This is especially dangerous if the the account in question is the root account. Note that the user doesn't have to know any about this file or have one on his system. The mere creation of this file by the intruder will activate this feature. Furthermore, since this file starts with a 'dot', it is normally hidden from the user, so they won't even be ware that this feature exists. From Hacking-Lexicon


G3 fax format image file. From Rute-Users-Guide

.gif, .giff

GIF image file. From Rute-Users-Guide


File compressed with the gzip compression program. From Rute-Users-Guide


C/C++ program header file. From Rute-Users-Guide

.htm, .html, .shtm, .html

Hypertext Markup Language. A web page of some sort. From Rute-Users-Guide


SWIG source, or C preprocessor output. From Rute-Users-Guide


configure input file. From Rute-Users-Guide


Info pages read with the info command. From Rute-Users-Guide

.jpg, .jpeg

JPEG image file. From Rute-Users-Guide


LaserJet file. Suitable input to a HP LaserJet printer. From Rute-Users-Guide


Log file of a system service. This file grows with status messages of some system program. From Rute-Users-Guide


LINUX Software Map entry. From Rute-Users-Guide


LyX word processor document. From Rute-Users-Guide


Man page. From Rute-Users-Guide


Meta-Font font program source file. From Rute-Users-Guide


PBM image file format. From Rute-Users-Guide


PCF image file--intermediate representation for fonts. X Window System font. From Rute-Users-Guide


PCX image file. From Rute-Users-Guide


Formatted document similar to PostScript or dvi. From Rute-Users-Guide


X Window System font file. From Rute-Users-Guide


PHP program source code (used for web page design). From Rute-Users-Guide


Perl or Prolog program source code. From Rute-Users-Guide


PostScript file, for printing or viewing. From Rute-Users-Guide


Python program source code. From Rute-Users-Guide


RedHat Package Manager rpm file. From Rute-Users-Guide


Standard Generalized Markup Language. Used to create documents to be converted to many different formats. From Rute-Users-Guide


sh shell script. From Rute-Users-Guide It can be interpreted by any Bourne compatible shell.


Shared object file. lib*.so is a Dynamically Linked Library. [Executable program code shared by more than one program to save disk space and memory.] From Rute-Users-Guide


Speedo X Window System font file. From Rute-Users-Guide


Source RPM file. A 'tarball' that can be recompiled and installed which also allows RPM based systems to manage them. From Binh


tarred directory tree. From Rute-Users-Guide


See tarball. From Binh


Tcl/Tk source code (programming language). From Rute-Users-Guide


TEX or LATEX document. LATEX is for document processing and typesetting. From Rute-Users-Guide

.texi, .texinfo

Texinfo source. Info pages are compiled from these. From Rute-Users-Guide


LATEX font metric file. From Rute-Users-Guide


TARGA image file. From Rute-Users-Guide


Directory tree that has been archived with tar, and then compressed with gzip. Also a package for the Slackware distribution. From Rute-Users-Guide


TIFF image file. From Rute-Users-Guide


Truetype font. From Rute-Users-Guide


Plain English text file. From Rute-Users-Guide


Audio format (Soundblaster's own format). From Rute-Users-Guide


Audio format (sound files common to Microsoft Windows). From Rute-Users-Guide


XML source file. See XML. From Binh


XPM image file. From Rute-Users-Guide


yacc source file. From Rute-Users-Guide


File compressed with the pkzip (or PKZIP.EXE for DOS) compression program. From Rute-Users-Guide


A directory containing executable programs, primarily binary files. From I-gloss


A directory that contains executable programs, the majority of which are stored in binary files. Most programs are found in directories /bin and /usr/bin; however, users often keep additional programs in private bin directories, such as /home/linux/bin. From Linux Guide @FirstLinux


On UNIX, this is a virtual-file that can be written to. Data written to this file gets discarded. It is similar to the file call NUL on Windows machines. Key point: When rooting a machine, intruders will often redirect logging to /dev/null For example, the command ln -s /dev/null .bash_history will cause the system to stop logging bash commands. Culture: In the vernacular, means much the same thing as black hole. Typical usage: if you don't like what I have to say, please direct your comments to /dev/null. From Hacking-Lexicon


The directory on UNIX where the majority of the configuration information is kept. It is roughly analogous to the Windows registry. Of particular interest is /etc/passwd file that stores all the passwords. Key point: If an intruder can read files from this directory, then they can likely use the information to attack the machine. From Hacking-Lexicon


The file that contains a list of hostname to IP address mappings. In the old days of the Internet, this is how machines contacted each other. A master hosts file was maintained and downloaded to machines on a regular basis. Then DNS came along. Like the vestigial appendix. On Windows, this file is stored in %SystemRoot%\system32\drivers\etc. Hack: If you can write files to a user's machine, then you can add entries to his/her hosts files to point to your own machine instead. For example, put an entry for www.microsoft.com to point to your machine, then proxy all the connections for the user. This will allow you to perform a man in the middle attack. From Hacking-Lexicon


On UNIX, the "hosts.equiv" file lists other hosts that can be thought of as "equivalent" to this one. This machine will therefore "trust" these other machines. Users connecting to this machine from the listed machines will not have to present a password, it is assumed that these other machines have already verified the password. Analogy: The European Union (EU) doesn't have passport control between countries. You only have to present your passport when entering the first European country, then you can roam freely once inside the union. The "hosts.equiv" file creates a similar union of machines. Hack: Hackers will target this file. If their target is machine A, they may instead find that A trusts B, and B may be easier to break into first. At that point, the hacker can hop back to A using an account on B. Likewise, if a hacker can write to this file, they can tell the system to trust any other system on the network (including the hackers own machine). Hack: Older software would do a reverse DNS lookup on a connecting IP address. If the hacker controlled the DNS server, s/he could return a trusted domain name, and therefore be allowed into the system. Another older hack is the default "+" entry. From Hacking-Lexicon


The UNIX file that contains the account information, such as username, password, login directory, and default shell. All normal users on the system can read this file. Key point: The passwords are encrypted, so even though everyone can read the file, it doesn't automatically guarantee access to the system. However, programs like crack are very effective at decrypting the passwords. On any system with many accounts, there is a good chance the hacker will be able to crack some of the accounts if they get hold of this file. Key point: Modern UNIX systems allow for shadowed password files, stored in locations like /etc/shadow that only root has access to. The normal password file still exists, minus the password information. This provides backwards compatibility for programs that still must access the password file for account information, but which have no interest in the passwords themselves. Key point: The chief goal of most hacks against UNIX systems is to retrieve the password file. Many attacks do not compromise the machine directly, but are able to read files from the machine, such as this file. From Hacking-Lexicon


On UNIX, the configuration file /etc/services maps port numbers to named services. Key point: Its role in life is so that programs can do a getportbyname() sockets call in their code in order to get what port they should use. For example, a POP3 email daemon would do a getportbyname("pop3") in order to retrieve the number 110 that pop3 runs at. The idea is that if all POP3 daemons use getportbyname(), then no matter what POP3 daemon you run, you can always reconfigure its port number by editing /etc/services. Misunderstanding: This file is bad in order to figure out what port numbers mean. If you want to find out what ports programs are using, you should instead use the program lsof to find out exactly which ports are bound to which processes. If running lsof is not appropriate, then you should lookup the ports in a more generic reference. From Hacking-Lexicon

0-day (zero-day)

The term 0-day exploit describes an exploit that is not publicly known. It describe tools by elite hackers who have discovered a new bug and shared it only with close friends. It also describes some new exploit for compromising popular services (the usual suspects: BIND, FTP services, Linux distros, Microsoft IIS, Solaris servers). Many 0-day exploits are discovered by the victims when hackers use them, or by honeypots. The term "0-day" describes the fact that the value of exploits quickly goes down as soon as they are announced. The next day they are half as valuable. The 2nd day they are a 1/4 as valuable. Ten days later they are 1/1000 as valuable as on day 0. This is because script-kiddies quickly use the exploits on computers throughout the Internet, compromising systems before anybody else can get to them. Contrast: The term 0-day exploit describe the hard-to-use exploits by the discoverer himself (or close friends), in contrast to the easy-to-use scripts employed by script kiddies. For example, a buffer-overflow script will go through many phases as people try to find the right offsets for the target platforms, but will eventually end up as a broad-spectrum aim-and-shoot script that anybody could use. Key point: One of the dangers of 0-day exploits is BUGTRAQ camping. A hacker discovers all the services running on the target victim and waits for day-0 when the exploit is announced. At that time, the hacker attacks the systems with the new exploit. Key point: The term "0-day" describes any bit of information in the community, whether it is serial numbers, lists of proxies, or passwords to porn sites. As soon as such information becomes well-known and exploited by large numbers of people, it is then fixed by the victim. Information has a "half-life": the older it is, the less value it has. From Hacking-Lexicon

2-Disk Xwindow embedded Linux

Mungkie Associates Inc. provides 2-Disk Xwindow embedded Linux. The distribution is intended to be a demonstration of Mungkie Associates' embedded appliance development environment, showing the sort of environment that can be created for small appliance GUI systems. It is further intended to give a minimal Linux base system on 1 disk and a fully expandable X system implementation on a second disk. The two disks can be used together for a minimal system or the X disk can be used seperately on any libc2.1 linux system. The source tree is compiled on Debian and the /lib/ files taken directly from the Debian-2.2.3 distribution. The 2-disk system is free for personal use, but restrictions apply to commercial usage. Version 1.4rc802 was released November 6, 2002. Version 1disk1.0 final was released January 18, 2003. A 1disk 1.0 update was released February 5, 2003. Version 1.0.8 (Source code) was released May 30, 2003. From LWN Distribution List


3D chess for X11 3 dimensional Chess for X11R6. Three boards, 96 pieces and 26 directions. From Debian 3.0r0 APT 3Dwm is a 3D window manager for Linux From Binh


The 3dwm project is working with the creation of a three-dimensional worspace manager that can run in the 3D Cube as well as on desktop computers. Note that wm does not stnad for the term window manager. It is a bit misleading; 3dwm is not a window manager in the true sense of the word, but rather more of a gerneral user environment. The window manager functionality of the system is merely the tip of the iceberg; 3Dwm contains general primitives for building applications with three-dimensional interfaces. From 3dwm


A 3Dwm apps The 3Dwm clock application (tdwm-clock) is the first real application that is even remotely useful. It makes use of the 3Dwm Nobel API, including the new solid modeling support, to create a three-dimensional analog clock displaying the current time. From Debian 3.0r0 APT


A 3Dwm client A simple client which is builded using new libsolid. This is only an example on how libsolid work. From Debian 3.0r0 APT


A 3Dwm client This is a very simple 3Dwm client that connects to the exported GeometryKit in the server, creates a Geometry, loads a 3D file from the local system (in this case a simple model of an office, which also happens to be Rob's room), and passes it to the 3Dwm server. The 3Dwm server will happily render any geometry that is created, so running geoclient several times will add more geometries to the graphical output. Please note that you may need to zoom out (using the 'X' key) to see graphical output. The geoclient is able to open native .raw files as well as standard 3ds files (using MeshIO). In other words, you may experiment by loading other files than the supplied office model to the 3Dwm server. From Debian 3.0r0 APT


A 3Dwm client This is an example showing how libzorn work. From Debian 3.0r0 APT


Binary server daemon This package contains display binary server daemon. From Debian 3.0r0 APT


A 3Dwm client This is a simple client used for testing the 3Dwm texture capabilities. From Debian 3.0r0 APT


A 3Dwm client This will open a connection to the VNC server from the 3Dwm server, and the graphical output will be displayed on a single quad in the 3Dwm world (you may need to zoom out to see it). Currently, vncclient supports no interaction with the VNC window (the bindings and the actual communication code has been implemented, only the 3Dwm side is missing). From Debian 3.0r0 APT


/for' poynt too'/ n. Without a prefix, this almost invariably refers to BSD Unix release 4.2. Note that it is an indication of cluelessness to say "version 4.2", and "release 4.2" is rare; the number stands on its own, or is used in the more explicit forms 4.2BSD or (less commonly) BSD 4.2. Similar remarks apply to "4.3", "4.4" and to earlier, less-widespread releases 4.1 and 2.9. From Jargon Dictionary


4.4BSD rdist. This is the traditional rdist from 4.4BSD Lite with FreeBSD fixes. It is provided for compatibility with third-party rdist implementations. This is the binary package for 4.4BSD rdist. From Debian 3.0r0 APT


The 4Suite package contains XML-related tools and libraries for Python, including 4DOM, 4XSLT, 4XPath, 4RDF, and 4XPointer. 4DOM is animplementation of the World Wide Web Consortium's (W3C) standard DOMAPI for HTML and XML content manipulation. 4DOM provides full distributed-object support based on the IDL used in the formal DOM specification. 4XSLT is an XSLT processor, which can be used to renderXML documents as customized and stylized HTML for current Web browsers. 4XSLT also provides a powerful programming API forapplications to use for low-level, customized transformations of XML documents. 4XPath is a library implementating the W3C's XPath language for indicating and selecting portions of an XML document. 4RDF is a toolkit and library for RDF processing. 4XPointer is a toolkit for processing fragment identifiers for URI references which locateresources of Internet media type text/xml. From Redhat 8.0 RPM


TCP proxy for non-IPv6 applications 6tunnel allows you to use services provided by IPv6 hosts with IPv4-only applications and vice versa. It can bind to any of your IPv4 or IPv6 addresses and forward all data to IPv4 or IPv6 host. It can be used for example as an IPv6-capable IRC proxy. From Debian 3.0r0 APT

8-character password

Some systems, like Win9x and Solaris, limit the user to 8 characters in the password. Key point: Security conscious users of such systems need to make sure they use a more random mix of characters because they cannot create long passwords. Key point: Password cracking such systems is a little easier. From Hacking-Lexicon

8.3 filename

A filename corresponding to the standard MS-DOS gleaming conventions, which restrict filenames to 8 characters and optional extensions to 3 characters. From QUECID Such restictions can prove to be an infuriating problem like when transfering files across a heterogenous network such as between Windows and Linux machines. Since older versions of Windows only support 8.3 style filenames files transferred to it will be truncated. For example, "C:\Program Files" may appear to be "C:\Progra~1" From Binh


Command to print date and time in RFC822 format From whatis


Creates X menus from the shell. This is 9menu, a simple program that allows you to create X menus from the shell, where each menu item will run a command. 9menu is intended for use with 9wm, but can be used with any other window manager. From Debian 3.0r0 APT


An emulation of the Plan 9 window manager 8-1/2. 9wm is an X window manager which attempts to emulate the Plan 9 window manager 8-1/2 as far as possible within the constraints imposed by X. It provides a simple yet comfortable user interface, without garish decorations or title-bars. Or icons. And it's click-to-type. From Debian 3.0r0 APT


check file types and compare values From whatis

^ Provides a reverse mapping: given an IP address, this record maps it to a host name. People may find this confusing that DNS doesn't automatically provide reverse mappings, but the lack of this inherent ability is fundamental to the nature of DNS. For example, multiple names can map to a single IP address, and there is the question of which DNS servers are responsible for supplying the reverse map. Technique: Since DNS is critical to the network infrastructure, a lot of firewalls have been configured to pass any packet with a source port of 53. An intruder can set his/her own traffic to start from that port, bypassing the firewall to attack any other service. Technique: A lot of programs (clients, servers, loggers) are written with buffer overflow bugs that trust the data returned to them. They trust that all names will be less than 256 characters long, and they trust that all IP addresses will be 4 bytes long. By sending DNS packets that break these rules, you can often break into such systems. See also: BIND, dig, SOA. From Hacking-Lexicon


On UNIX, a home directory can be referenced by using a tilde (~) followed by their login name. For example, "ls ~rob" on my computer will list all the files in "/home/rob". Key point: Web-servers often allow access to user's directories this way. An example would be http://www.robertgraham.com/~rob. Key point: A big hole on the Internet is that people unexpectedly open up information. For example, the file .bash_history is a hidden file in a person's directory that contains the complete text of all commands they've entered into the shell (assuming their shell is bash, which is the most popular one on Linux). From Hacking-Lexicon