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.

World cup college
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

2010-03-18 - Top 10 commands explained
There's a great article by Peteris Krumins explaining the current top 10 commands: http://www.catonmat.net/blog/top-ten-one-liners-from-commandlinefu-explained/
2010-03-03 - Commandlinefu @ SXSW 2010
Am going to be at SXSW this year, in case you want to submit any CLI nuggets or suggestions to me in person. Ping me on the @codeinthehole Twitter account.
2009-09-12 - Email updates now available
You can now enable email updates to let you know each time you're command is commented on.
2009-07-11 - API and javascript blog widget now available
A simple API has been released, allowing commands to be retrieved in various formats. This also allows commands to be embedded on blogs/homepages.
Hide

Tags

Hide

Functions

Execute a command at a given time

Terminal - Execute a command at a given time
echo "ls -l" | at midnight
2009-01-25 21:07:42
User: root
Functions: at echo
111
Execute a command at a given time

This is an alternative to cron which allows a one-off task to be scheduled for a certain time.

Know a better way?

If you can do better, submit your command here.

What others think

Good work - this is exactly what I've been looking for.

Comment by bazza 83 weeks and 3 days ago

Unfortunatly, nothing will be printed to the screen... you have to redirect the output to the current tty in order to see something :

echo "ls -l" >$(tty)| at midnight

it's only for the output of course

Comment by mrttlemonde 77 weeks and 4 days ago

Bravura! bravura! bravura!

Comment by Sonny 77 weeks and 1 day ago

mrttlemonde, your command is not exactly right with the quotes, i.e. it should be something like:

echo "ls -l >/dev/pts/3" |at 23:59

or we could also direct to a file:

echo "ls -lah >/foo/bar/ls.txt" |at 07:00
Comment by Buzzcp 71 weeks and 4 days ago

Thats Cool!!

Comment by gandulo 68 weeks and 2 days ago

echo overload! :-)

Comment by mpb 62 weeks and 4 days ago

less-than less-than less-than "ls -l" at midnight

(where "less-than less-than less-than" is three less than symbols (these get "eaten" by commandlinefu text entry )

Comment by mpb 62 weeks and 4 days ago

Is there any way to make it work with, say... mplayer ? :)

Comment by sitaktif 61 weeks and 1 day ago

This is cool...

Comment by bakhru 38 weeks and 1 day ago

Be aware that the "at" command has a very important restriction. From the man page: "At and batch as presently implemented are not suitable when users are competing for resources." In other words, if your system is under a heavy load when the time comes to execute your "at" command, then your task might not run at all.

Some might see this as a feature, since it cuts down on time-release tasks when the system load is high, but in my case it caused an important set of overnight tests to mysteriously stop running. These days I use cron, which is less sensitive to system loads. I've also read good things about nqs (indeed, the "at" man page suggests it as an alternative), but haven't tried it.

Comment by willdye 30 weeks and 2 days ago

I think I may have solved this problem.

And I'm wondering what really is the utility of "at" (or even cron). Sleep is enough. Why loop when we can just sleep up to the time to execute?

An "at" type script that runs once every 24hr - i.e. "sleep 86400; script.sh" - could parse a list of jobs and schedule, again using "at" style scripts, the ones on the list that matched the present year, day and month.

I must be missing something.

Comment by argv 6 days ago

Your point of view

You must be signed in to comment.

Related sites and podcasts