|This article does not cite any references or sources. (November 2011)|
|Stable release||2.2.8 / Jul 2011|
Surfraw (Shell Users' Revolutionary Front Rage Against the Web) is a free POSIX-compliant (i.e. meant for Linux, FreeBSD etc.) command-line shell program for interfacing with a number of web-based search engines. It was created in July 2000 and is licensed under the GNU General Public License and written in the Bourne shell language.
It uses what it calls "elvi" (a tribute to Elvis); elvi are interface widgets for specific engines and databases such as Google, AltaVista, Wikipedia, Dejanews, Freshmeat, research index, Slashdot, ArXiv, and a number of others. It allows options for configuration of using a shell browser (lynx, w3m) or a graphical browser (Firefox, Mozilla, Konqueror).
According to its creator Julian Assange: "Surfraw provides a fast unix command line interface to a variety of popular WWW search engines and other artifacts of power. It reclaims google, altavista, dejanews, freshmeat, research index, slashdot, and many others from the false-prophet, pox-infested heathen lands of html forms, placing these wonders where they belong; deep in unix heartland, as god-loving extensions to the shell."
To see the list of elvi, one can issue the command
surfraw -elvi (or the shorter
sr -elvi, as
surfraw are aliased to mean the same thing); to search using an elvi, use:
sr elvi-name [options] searchterms
sr google -l Debian ports
Or, one could search Wikipedia for the "surfraw" article like this:
sr wikipedia surfraw
Surfraw's commands can be shortened even further to require only the name of the elvi (i.e.
wikipedia surfraw) without the
surfraw prefixes; it does this by modifying the current shell's (e.g., bash's) startup files with the provided