What's this?

commandlinefu.com is the place to record those command-line gems that you return to again and again.

Delete that bloated snippets file you've been using and share your personal repository with the world. That way others can gain from your CLI wisdom and you from theirs too. All commands can be commented on, discussed and voted up or down.

If you have a new feature suggestion or find a bug, please get in touch via http://commandlinefu.uservoice.com/

Get involved!

You can sign-in using OpenID credentials, or register a traditional username and password.

First-time OpenID users will be automatically assigned a username which can be changed after signing in.

Universal configuration monitoring and system of record for IT.

Stay in the loop…

Follow the Tweets.

Every new command is wrapped in a tweet and posted to Twitter. Following the stream is a great way of staying abreast of the latest commands. For the more discerning, there are Twitter accounts for commands that get a minimum of 3 and 10 votes - that way only the great commands get tweeted.

» http://twitter.com/commandlinefu
» http://twitter.com/commandlinefu3
» http://twitter.com/commandlinefu10

Subscribe to the feeds.

Use your favourite RSS aggregator to stay in touch with the latest commands. There are feeds mirroring the 3 Twitter streams as well as for virtually every other subset (users, tags, functions,…):

Subscribe to the feed for:



May 19, 2015 - A Look At The New Commandlinefu
I've put together a short writeup on what kind of newness you can expect from the next iteration of clfu. Check it out here.
March 2, 2015 - New Management
I'm Jon, I'll be maintaining and improving clfu. Thanks to David for building such a great resource!

Top Tags





Command Line to Get the Stock Quote via Yahoo

Terminal - Command Line to Get the Stock Quote via Yahoo
curl -s 'http://download.finance.yahoo.com/d/quotes.csv?s=csco&f=l1'
2009-05-04 08:13:59
User: haivu
Command Line to Get the Stock Quote via Yahoo

Retrieve the current stock price from Yahoo Finance. The output is simply the latest price (which could be delayed). If you want to look up stock for a different company, replace csco with your symbol.


There is 1 alternative - vote for the best!

Terminal - Alternatives

Know a better way?

If you can do better, submit your command here.

What others think

how do you change it to find the stock price of companys on the London Stock Exchange.

Comment by felix001 343 weeks and 1 day ago

@felix001: I don't know. I googled for a while, but could not find anything useful.

Comment by haivu 343 weeks ago
curl -s 'http://download.finance.yahoo.com/d/quotes.csv?s=JPR.L&f=l1'

Just append a ".L" to the stock symbol. Price is given in quid. (And I'm American!)

Comment by hank 342 weeks and 6 days ago

Great! This is what I need! Thanks a lot!

Comment by unixmonkey3715 341 weeks and 6 days ago

how can i ad the time and date to the stock quote? I want output that looks like:

20091117 10:59 - price stock

and then append that to a file? I already use a command that makes the timestamp with whatever i type after it:

echo `date +'%Y%m%d %H:%M - '` SOMETHING >> ~/pt/notes.txt"

appends SOMETHING to a file. I just want SOMETHING to be the stock price. Any ideas about how i could do that?

Comment by kjowens 314 weeks and 6 days ago

@kjowens: I don't know how. Sorry I can't help you there.

Comment by haivu 314 weeks and 5 days ago

I solved my problem w/ a script like this:


ffflx=$(curl -s 'http://download.finance.yahoo.com/d/quotes.csv?s=ffflx&f=l1787')

td=`date +'%Y%m%d %H:%M - '`

echo $td $ffflx > /Users/.../pt/stock-record.txt

which appends this to the file:

20091125 16:46 - 8.35,"FFFLX","FFFLX","FFFLX"


ffflx = stock ticker name

td = is the date formatted how i want it

Comment by kjowens 313 weeks and 5 days ago

Use perl from the command line, since most have perl installed on their machine this is a easier alternative instead of running bash. Plus easier to manipulate. Just add your stock ticker to the array.

#!/usr/bin/perl -w


foreach $stocker (@STOCKS){

system("curl -s '


After the &f= you can limit it to like above which is just to use l1.

If you want to just run from the command line chmod +x nameoffile, then ./nameoffile. If you want to run it from anywhere move the file to the /usr/local/sbin directory and chmod +x filename and chown user:user then from the command line just type in nameoffile. Make sure to make the filename different from system files. Also add it to your crontab job. So you can see the stocks every minute.

Hope this will help everyone who have tried coming up with a simple command line option to what was written above.

Comment by rouninsamurai 287 weeks ago

For UK it appears they used the same parameters but pulls from different url.

http://uk.old.finance.yahoo.com/d/quotes.csv?s=BP.L&f=sl1d1t1c1ohgv http://uk.old.finance.yahoo.com/d/quotes.csv?s=RR.L&f=sl1d1t1c1ohgv
Comment by rouninsamurai 287 weeks ago

@kjowens, I used this:

echo $(date +'%Y%m%d %H:%M') $(curl -s 'http://download.finance.yahoo.com/d/quotes.csv?s=spy&f=l1')
Comment by travisbgreen 143 weeks and 4 days ago

As a do-it-yourselfer without much perl knowhow, others like me might benefit from the trial and error I waded throuugh to get rouninsaurai's perl script to work.

I balanced the bracket and apostrophes at system("curl -s ' with ' ") at the endof the line

and inserted the variable $stocker (without spaces) in place of the stock ticker in the bash script.

Probably obvious to most, but might help some.

Comment by hilltownboy 105 weeks and 1 day ago

Here's a list of tags you can use to get more than just a quote:


Example l1 for current price and c1 for change:

[root@asdallsrv02 ~]# curl -s 'http://download.finance.yahoo.com/d/quotes.csv?s=amd&f=l1c1'


Comment by santizo 104 weeks and 6 days ago

Your point of view

You must be signed in to comment.