Forgetting Sudo (we've all done it)

FAIL (the browser should render some flash content, not this).

Download in .ogv format

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

If you want to append the

joni's picture

If you want to append the last element from the previous line, rather than the whole thing, press "Alt" together with "."
Very useful for executing different commands on the same file.

(there are key combinations for getting the different fields, not just the last one, but can't remember at the moment)

cat .bashrc cat !$

LinuxAddict7's picture

cat .bashrc
cat !$

csh

Stephen's picture

This is one of the great things bash took from C-Shell, and there is far more to it than just !!. Although sudo !! must be my most-typed command, I also like: ^string1^string2^
And don't forget about the word modifiers (e.g. !!:n retrieves word n of the last command)

I loved it ..

k.sangeeth's picture

will teach it to my team-mates tomorrow ;)
I'm waiting to see the look on their faces :D

this worked on bash .. any idea on what the ksh alternative is??

Sangeeth Keeriyadath
www.sangeek.com

Stuff like this....

JimmyTheGeek's picture

...is completely awesome! You shouldn't post it so openly, though....Windows will now copy it all and call it innovation! :)

But wait, there's more!

mattcen's picture

Must make a note that Twitter is the best way to contact Shawn :P; I suggested this tip in the IRC channel on September 14th, half-an-hour before you signed in, and also sent an email to webeditor at linuxjournal. Is that the correct address for tech-tip suggestions?

Anyway, I also suggested a little bit extra: If you use !$ instead of !!, it will *only* expand to the *arguments* of the last command. For example (extract from the email I sent):

$ ls /usr/share/doc

Now to change into it:

$ cd !$

This will *replace* 'ls' with 'cd', i.e. take all the *arguments* to the last command and use them as arguments to the new command. Ultimately, it will expand to 'cd /usr/share/doc'.

--
Regards,
Matthew Cengia

not quite

Stephen's picture

$ refers not to all arguments, but to the last word only. For all arguments you might use * or ^-$ (both of these resolve to word 1 to the last word with the command line words numbered 0 - n)

touch one two three
ls !$
ls !-2:*
rm !!:^-$

My bad

mattcen's picture

Ah yes, I think I remember seeing that somewhere now. Thanks for the clarification Stephen :-)! It's amazing how much power the shell has! I finally found all that information in the Bash manual page, under "Event Designators" in the "HISTORY EXPANSION" section.

--
Regards,
Matthew Cengia

Ha!

Shawn Powers's picture

Sorry about that -- yeah, twitter, or email directly to me is the best way. :)

Shawn Powers is an Associate Editor for Linux Journal. You might find him chatting on the IRC channel, or Twitter

O_O I think you have just

Anonymous's picture

O_O I think you have just changed my life forever.

Copyrighted intro

Kurt Kraut's picture

If this intro with a zooming globe came from Google Earth, it is copyrighted material and I don't think it could be distributed in a intro as it is. Please, check you Google Earth license.

Further Reading...

Shawn Powers's picture

Apparently using video exported from Google Earth Pro is allowed for web videos. I'm not sure if the video submitted was captured with GEP -- but like I said before, if asked, we'll happily take the video down.

Thanks again. :)

Shawn Powers is an Associate Editor for Linux Journal. You might find him chatting on the IRC channel, or Twitter

IANAL

Shawn Powers's picture

I think as long as we don't sell it, we're fine. I think perhaps it's missing the Google attribution, but apart from that it appears we can use it... If Google asks us to take it down, we certainly will. :)

Thanks for the heads up!

Shawn Powers is an Associate Editor for Linux Journal. You might find him chatting on the IRC channel, or Twitter

Google

Toby Richards's picture

It was taken from a Google Earth Pro evaluation. Sorry about that. I spent so much time finding music in the public domain (National Emblem played by the USMC Band), that I completely didn't think about the Google issue.

Also works the other way appending a command

Verlaine's picture

For example

~:$ ls /some/directory

Followed by

~:$ !! | grep myfile

Will execute

~:$ ls /some/directory | grep myfile

I don't get it.

cmnorton's picture

Shawn: I usually get the tech-tips. This was waltzed right past me. Does struggling with mailman all day count as a senior moment?

Webinar
One Click, Universal Protection: Implementing Centralized Security Policies on Linux Systems

As Linux continues to play an ever increasing role in corporate data centers and institutions, ensuring the integrity and protection of these systems must be a priority. With 60% of the world's websites and an increasing share of organization's mission-critical workloads running on Linux, failing to stop malware and other advanced threats on Linux can increasingly impact an organization's reputation and bottom line.

Learn More

Sponsored by Bit9

Webinar
Linux Backup and Recovery Webinar

Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.

In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.

Learn More

Sponsored by Storix