Surfraw
| This article does not cite any references or sources. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed. (November 2011) |
| Developer(s) | Julian Assange |
|---|---|
| Stable release | 2.2.7 / May 2010 |
| Operating system | Unix-like |
| Type | Internet |
| License | Public domain |
| Website | http://surfraw.alioth.debian.org/ |
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."
[edit] Commands
To see the list of elvi, one can issue the command surfraw -elvi (or the shorter sr -elvi, as sr and surfraw are aliased to mean the same thing); to search using an elvi, use:
sr elvi-name [options] searchterms
For example, to search Google for information on "Debian ports", using the "I'm feeling lucky" option:
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 sr or surfraw prefixes; it does this by modifying the current shell's (e.g., bash's) startup files with the provided surfraw-update-path command.
[edit] External links
- Surfraw homepage at Debian projects
- Package page at Debian