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-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.
2009-05-17 - Added duplicate suggestions to the new command form
When adding a new command, a quick background search is performed to make sure you're not duplicating a command already in the system.
Hide

Tags

Hide

Functions

Commands tagged cd

Commands tagged cd from sorted by
Terminal - Commands tagged cd - 12 results
cd /some/usual/path; do-smth; cd ~; ln -s $(cd -) ./dirlink
2010-01-14 20:06:25
User: mechmind
Functions: cd ln
Tags: cd
0

You also can use $OLDPWD variable (some shells can use competition in that case)

echo 'mkcd() { mkdir -p "$@" && cd "$_"; }' >> ~/.bashrc
2010-01-13 09:37:56
User: phaidros
Functions: cd echo mkdir
-1

combines mkdir and cd

added quotes around $_, thanx to flatcap!

function ..(){ for ((j=${1:-1},i=0;i<j;i++));do builtin cd ..;done;}
2010-01-02 08:36:12
User: bhepple
Functions: cd
Tags: cd
3

Instead of typing "cd ../../.." you can type ".. 3". For extremely lazy typists, you can add this alias:

alias ...=".. 2" ....=".. 3"

- so now you can write just .... !!!

NB the .. function needs to be "source"d or included in your startup scripts, perhaps .bashrc.

alias burnaudiocd='mkdir ./temp && for i in *.[Mm][Pp]3;do mpg123 -w "./temp/${i%%.*}.wav" "$i";done;cdrecord -pad ./temp/* && rm -r ./temp'
2009-11-21 19:57:18
User: eightmillion
Functions: alias mpg123 rm
3

This uses mpg123 to convert the files to wav before burning, but you can use mplayer or mencoder or ffmpeg or lame with the --decode option, or whatever you like.

alias ..="cd .." ...="cd ../.." ....="cd ../../.."
alias ..="cd .."; alias ...="cd ../.."; alias ....="cd ../../.."
2009-10-30 01:04:33
User: Tzunamii
Functions: alias
Tags: cd
-1

Change to your taste. Much quicker than having to add 'cd' every time. Add it to your .bashrc or .bash_profile.

cd() { if [[ "$1" =~ ^\.\.+$ ]];then local a dir;a=${#1};while [ $a -ne 1 ];do dir=${dir}"../";((a--));done;builtin cd $dir;else builtin cd "$@";fi ;}
2009-10-29 21:43:51
User: eightmillion
Functions: cd
Tags: cd
5

This is a kind of wrapper around the shell builtin cd that allows a person to quickly go up several directories.

Instead of typing:

cd ../..

A user can type:

cd ...

Instead of:

cd ../../..

Type:

cd ....

Add another period and it goes up four levels. Adding more periods will take you up more levels.

script_path=$(cd $(dirname $0);pwd)
2009-10-14 16:04:03
User: jgc
Functions: cd dirname
Tags: cd pwd PATH
2

Another way of doing it that's a bit clearer. I'm a fan of readable code.

md () { mkdir -p "$@" && cd "$@"; }
2009-09-24 16:09:19
User: drewk
Functions: cd mkdir
11

How often do you make a directory (or series of directories) and then change into it to do whatever? 99% of the time that is what I do.

This BASH function 'md' will make the directory path then immediately change to the new directory. By using the 'mkdir -p' switch, the intermediate directories are created as well if they do not exist.

function qcd { useradd -No -s /bin/false -u 999 -g 999 -lf -1 -d $1 $2 ; }
cd
alias ..='cd ..'
2009-03-20 09:57:28
User: eimantas
Functions: alias
Tags: bash unix shell cd
2

Alias two dots to move to parent directory. Put it into your .bashrc or .profile file.