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/
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:
Check trough unix sockets if tcp port is open or close
Uses urandom and tr to generate a random password. Change the value of head -c## for the lenght of the password.
Delete items from Redis, using redis-cli, by matching a key pattern.
To send a text message to a phone, you need to send the text message via email. To find out how to send text messages to cell phones via email, go here - http://en.wikipedia.org/wiki/List_of_carriers_providing_Email_or_Web_to_SMS and find the carrier of the cell phone you want to send the text message to.
Put this logging function in you're script, when need it call it.
command || logme "Error with command"
I did not come up with this one myself, but found this somewhere else several months ago.
Alternative to mnikhil's ls/awk solution
Strips the audio track from a webm video. Use this in combination with clive or youtube-dl.
The "proportional set size" is probably the closest representation of how much active memory a process is using in the Linux virtual memory stack. This number should also closely represent the %mem found in ps(1), htop(1), and other utilities.
This uses mutt to send the file, and doesn't require uuencode etc
This type of join is clearly documented in the bash manual. Only the first character of IFS is used for the delimiter.
-L is for following symbolic links, it can be omitted and then you can find in your whole / dir
This will create rapidly an html menu. You can paste it in you're html page with the middle button(the wheel). I didn't test it in an html with css, but it seems alright.
If the HISTTIMEFORMAT is set, the time stamp information associated with each history entry is written to the history file, marked with the history comment character.
This command is used to verify a sha256sum-formatted file hash list on IBM AIX or any other UNIX-like OS that has openssl but doesn't have sha256sum by default. Steps:
1: Save to the filesystem a script that:
A: Receives as arguments the two parts of one line of a sha256sum listing
B: Feeds a file into openssl on SHA256 standard input hash calculation mode, and saves the result
C: Compares the calculated hash against the one received as argument
D: Outputs the result in a sha256sum-like format
2: Make the script runnable
3: Feed the sha256sum listing to xargs, running the aforementioned script and passing 2 arguments at a time
This command is for producing GNU sha256sum-compatible hashes on UNIX systems that don't have sha256sum but do have OpenSSL, such as stock IBM AIX.
1.- Saves a wrapper script for UNIX find that does the following:
A.- Feeds a file to openssl on SHA256 hash calculation mode
B.- Echoes the output followed by the filename
2.- Makes the file executable
3.- Runs find on a directory, only processing files, and running on each one the wrapper script that calculates SHA256 hashes
Pending is figuring out how to verify a sha256sum file on a similar environment.
Use it to send raw data to a networked device. Used to interact with relay controller board whose documentation is lost, so use wireshark to sniff the sent data and replayed using the command.