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:
!$ recalls the last argument of the previous command. This is very useful when you have to operate several operations on the same file for example.
The $2, $3, $4 fields are arbitrary but note that the first field starts from $2 and the last field is $NF-1. This is due to the fact that the leading and trailing quotes are treated as field delimiters.
KDE4 is great, but still a bit buggy, and sometimes plasma requires to be restarted. Instead of quitting it with "killall plasma", which might loose your preferences (widgets, etc.), kquitapp will cleanly quit it. Tip: you can type this in the "Alt+F2" window, and then type "plasma" in Alt+F2 again to restart plasma (be patient though...).
See which files differ in a diff, and how many changes there are. Very useful when you have tons of differences.
I know its not much but is very useful in time consuming scripts (cron, rc.d, etc).
That "^M" is Ctrl-M, which is a carriage return, and is not needed in Unix file systems.
Where ^V is actually Ctrl-V and ^M is actually Ctrl-M (you must type these yourself, don't just copy and paste this command). ^V will not be displayed on your screen.
only works for freeBSD where ports are installed in /usr/ports
credit to http://wiki.freebsd.org/PortsTasks
The ctrl+v,ctrl+m portion represents key presses that you should do. If you do it successfully you should see a ^M character appear.
deletes first 55 lines; change the 55 to whatever number
changes the PS1 to something better than default.
[username.hostname.last-2-digits-of-ip] (current directory)
gpg command to encrypt a file on the command line.
gpg command to decrypt a previously encrypted file on the command line.
Can be optionally made into an alias:
alias decrypt='gpg --output foo.txt --decrypt foo.txt.pgp'
For quick validation of folder's file-contents (structure not taken into account) - I use it mostly to check if two folders' contents are the same.
-p PID and name of the program
-u on a UDP port.
-t also TCP ports
-o networking timer
-n numeric IP addresses (don't resolve them)
-a all sockets
show phpinfo(); from the command line
This command converts a MySQL query directly into a .csv (Comma Seperated Value)-file.
You can read, add, delete and modify Windows permissions from Linux using smbcacls from the smb-client package.
Very useful set of commands to know when your file system was created.
Sometimes, you have a lot of NFS in the server and you can't or shouldn't use umount -a. Whis this command, you only umount the fs related to the 'string'
Replace sed regular expressions with perl patterns on the command line.
The sed equivalent is: echo "sed -e"|sed -e 's/sed -e/perl -pe/'
In addition to a swap partition, Linux can also use a swap file. Some programs, like g++, can use huge amounts of virtual memory, requiring the temporary creation of extra space.