Hide

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.

Hide

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:

Hide

News

2011-03-12 - Confoo 2011 presentation
Slides are available from the commandlinefu presentation at Confoo 2011: http://presentations.codeinthehole.com/confoo2011/
2011-01-04 - Moderation now required for new commands
To try and put and end to the spamming, new commands require moderation before they will appear on the site.
2010-12-27 - Apologies for not banning the trolls sooner
Have been away from the interwebs over Christmas. Will be more vigilant henceforth.
2010-09-24 - OAuth and pagination problems fixed
Apologies for the delay in getting Twitter's OAuth supported. Annoying pagination gremlin also fixed.
Hide

Tags

Hide

Functions

Update twitter via curl

Terminal - Update twitter via curl
curl -u user:pass -d status="Tweeting from the shell" http://twitter.com/statuses/update.xml
2009-02-05 18:33:23
User: adamm9
157
Update twitter via curl

Alternatives

There are 2 alternatives - vote for the best!

Terminal - Alternatives
curl -u twitter-username -d status="Hello World, Twitter!" -d source="cURL" http://twitter.com/statuses/update.xml
2009-12-08 14:54:33
User: MyTechieself
Tags: twitter curl api
12

An improvement of the original (at: http://www.commandlinefu.com/commands/view/2872/update-twitter-via-curl) in the sense that you see a "from cURL" under your status message instead of just a "from API" ;-) Twitter automatically links it to the cURL home page.

curl -u user -d status="Tweeting from the shell" http://twitter.com/statuses/update.xml
2009-08-05 02:24:01
User: matthewbauer
11

Doesn't require password (asks for it instead)

tweet () { curl -u UserName -d status="$*" http://twitter.com/statuses/update.xml; }
2009-11-07 06:54:02
User: bartonski
Tags: twitter tweet
6

This version of tweet() doesn't require you to put quotes around the body of your tweet... it also prompts you for password. It will still barf on a '!' character.

curl -u YourUsername:YourPassword -d status="Your status message go here" http://twitter.com/statuses/update.xml
2009-06-27 21:47:48
User: m33600
Tags: twitter
2

Found it on snipt, pok3, is it yours?

I put my user = m33600, the password and the status was my robot message:

Settima robot message: ALARM ZONE 3 (sent via command line).

Now bots may have their identity on twitter...

tweet(){ curl -u "$1" -d status="$2" "http://twitter.com/statuses/update.xml"; }
2009-08-23 16:56:24
User: Code_Bleu
0

Type the command in the terminal and press enter to create the tweet() function. Then run as follows:

tweet MyTwitterAccount "My message goes here"

It will prompt you for password. Make sure that you use escape "\" character in message for showing varialbles or markup.

Know a better way?

If you can do better, submit your command here.

What others think

Be carefull not to do that in a multi-user machine, since your password will be visible in the process listing for as long as curl is running.

Comment by kov 284 weeks and 1 day ago

If you leave out `:pass` (your password), you will be able to enter your password later in a more secure manner.

Comment by sirlancelot 282 weeks and 2 days ago

Also note that you can't use an "!" as bash will error out with

bash: !": event not found
Comment by XtCrAvE 280 weeks and 2 days ago

or $history -c once you do that... [of course to clear the hisory]

Comment by chanux 279 weeks and 3 days ago

regarding bash history and security: you can also put a space in front of a command to keep it out of your .bash_history (pressing up won't show it)

curl etc...etc...

http://www.commandlinefu.com/commands/view/1512/execute-a-command-without-saving-it-in-the-history

Comment by sudopeople 279 weeks ago

This is resulting in 403 (Forbidden) errors today:

403 Forbidden: The server understood the request, but is refusing to fulfill it.

Comment by alesplin 277 weeks ago

Note: if cURL not installed, install it (ubuntu) :

sudo apt-get install curl

Comment by cmdnix 260 weeks and 4 days ago

You can use ! just use 'single quotes'

Comment by mandroid 220 weeks and 6 days ago

Just start the command with a space (if it includes your password)so that its not stored in your .bash_history file. its safer that way.

Comment by nssy 213 weeks and 3 days ago

i tried, but i get this answer:

Basic authentication is not supported

Comment by rubo77 203 weeks and 5 days ago

Twitter recently removed support for HTTP Basic Auth (requiring OAuth instead) so this command will not work anymore.

See http://dev.twitter.com/announcements

Comment by ronnix 203 weeks and 5 days ago

hi,

Basic authentication is no longer supported by @twitter

This generates error "curl -u user:pass -d status="Tweeting from the shell"

Basic authentication is not supported

Comment by ruwindada 200 weeks and 6 days ago

so is there any other solution?

Comment by rubo77 197 weeks and 1 day ago

Basic Auth turned off as of August 2010: http://apiwiki.twitter.com/w/page/22554643/Authentication

scan to bottom

Comment by dan77l 193 weeks and 4 days ago

Looks like there is a solution, gotta use OAuth: http://jeffmiller.github.com/2010/05/31/twitter-from-the-command-line-in-python-using-oauth

Comment by dan77l 193 weeks and 4 days ago

Basic authentication is not supported

Comment by ni3in3005 174 weeks and 4 days ago

Personally I'm using this mostly bash-based solution: http://blog.yjl.im/2010/05/bash-oauth.html

Comment by gluk47 170 weeks and 6 days ago

Here is a working bash script to post to Twitter from the command line on Linux and Mac:

http://360percents.com/posts/command-line-twitter-status-update-for-linux-and-mac/

Comment by unixmonkey21336 168 weeks and 5 days ago

Anyone know of something similar for identi.ca?

Comment by sfyn 138 weeks and 1 day ago

-1 for plain-text password in the shell. Sorry, mate.

Comment by R3load 47 weeks and 2 days ago

Your point of view

You must be signed in to comment.

Related sites and podcasts