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.
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.
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.
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:
Wow, didn't really expect you to read this far down. The latest iteration of the site is in open beta. It's a gentle open beta-- not in prime-time just yet. It's being hosted over at UpGuard (link) and you are more than welcome to give it a shot. Couple things:
the command will not include hidden files
Reduces the size of images.
Searches in order of the directories of $PATH. Stops after finding the entry; looks for only that fileName. Works in Bourne, Korn, Bash and Z shells.
Similar output to using MySQL with the \G at the end of a Query. Displays one column per line. Other modes include:
Query results will be displayed in a table like form, using whitespace characters to separate the columns and align the output.
-html Query results will be output as simple HTML tables.
-line Query results will be displayed with one value per line, rows separated by a blank line. Designed to be easily parsed by scripts or other programs
-list Query results will be displayed with the separator (|, by default) character between each field value. The default.
From inside the command line this can be also changed using the mode command:
.mode MODE ?TABLE? Set output mode where MODE is one of:
csv Comma-separated values
column Left-aligned columns. (See .width)
html HTML code
insert SQL insert statements for TABLE
line One value per line
list Values delimited by .separator string
tabs Tab-separated values
tcl TCL list elements
You can replace "." with your folder
I liked vaporub's suggestion, here a little simplification of the sed command.
You can also specify width and height of the resized image (in pixels), as an alternative to using a percentage.
You can find every file with png extension and redirect its output to file. Later you can find a string inside the file.
preserve all except context and xattr. useful when moving a running system to a new partition.
Based on the execute with timeout command in this site.
A more complex script:
# This script will check the avaliability of a list of NFS mount point,
# forcing a remount of those that do not respond in 5 seconds.
# It basically does this:
# NFSPATH=/mountpoint TIMEOUT=5; perl -e "alarm $TIMEOUT; exec @ARGV" "test -d $NFSPATH" || (umount -fl $NFSPATH; mount $NFSPATH)
for i in $@; do
echo "Checking $i..."
if ! perl -e "alarm $TIMEOUT; exec @ARGV" "test -d $i" > /dev/null 2>&1; then
echo "$SCRIPT_NAME: $i is failing with retcode $?."1>&2
echo "$SCRIPT_NAME: Submmiting umount -fl $i" 1>&2
umount -fl $i;
echo "$SCRIPT_NAME: Submmiting mount $i" 1>&2
This helps quickly get information for each disk that is seemingly having hardware issues.
release upgrades are major upgrades as from 8.04 to 8.10 or from 8.10 to 9.04
update-manager-core must be installed:
sudo apt-get install update-manager-core
in some cases you must edit '/etc/update-manager/release-upgrades' and set 'Prompt=normal'
You WILL have problems if the files have the same name.
Use cases: consolidate music library and unify photos (especially if your camera separates images by dates).
After running the command and verifying if there was no name issues, you can use
ls -d */ | sed -e 's/^/\"/g' -e 's/$/\"/g' | xargs rm -r
to remove now empty subdirectories.
Us dc instead of bc. RPN FTW!!!
These should be a little faster since they don't have to spawn grep.
The thunderbird message datastores get corrupt some times causing random failures, compaction to fail and general suck in thunderbird. Removing them causes thunderbird to rebuild the indexes and makes things quick again.