GNU Coreutils Cheat Sheet(catonmat.net)
catonmat.net
GNU Coreutils Cheat Sheet
http://www.catonmat.net/blog/gnu-coreutils-cheat-sheet/
7 comments
Since several of these utilities you mentioned have to do with piping, I thought I'd mention a bash trick that a lot of people haven't heard of. You can take (almost) any command that takes a file name to read input from, and substitute that file name with:
<(command_name)
This will run the named command, send its output to a fifo (named pipe), and substitute that fifo's file name in its place. This is useful if you have to feed output from more than one command into a program -- for example, "join" takes two files, only one of them can be standard input. But if you want, you can do something like this: join -j1 1 -j2 1 <(cat somefile |sort) <(cat otherfile |sort)
Or, if you want to see syntax highlighted diff output: vim <(diff -uN file1 file2)
And it is also nestable: vim <(diff -uN <(command_1) <(command_2))A nice effort, but I personally don't find an alphabetical listing very helpful. As doggonematte points out, the coreutils manual has a nice hierarchical structure that makes it easy to find the command I want:
http://www.gnu.org/software/coreutils/manual/coreutils.html#...
http://www.gnu.org/software/coreutils/manual/coreutils.html#...
curl -s http://www.gnu.org/software/coreutils/manual/coreutils.html
| sed '/<li>.*-inv.*p>:.*[^>]<.a>/!d;s/.*#//;s/-inv.*:/:/;s/<.a>//'
|sort
"A long, long time ago when I was <em>mastering</em> Linux..." [emphasis mine]I am an amateur, and still learning, so what do I know? But I fail to see any evidence of "mastery" here.
And where's the cheat sheet for the binutils?
Are they not important?
Edit: Added more indentation to protect Kleene stars.
Very nice!
Note if you put the | at the end of the line the
whole command is copy and pasteable.
Also you could pipe to `column -t -s:` to align nicely
Also you can download the 57K index rather than the 1.3M manual to get the command list.
Also you could pipe to `column -t -s:` to align nicely
Also you can download the 57K index rather than the 1.3M manual to get the command list.
curl -s http://www.gnu.org/software/coreutils/manual/html_node/index.html |
sed '/<li>.*-inv.*p>:.*[^>]<.a>/!d;s/.*#//;s/-inv.*:/:/;s/<.a>//' |
sort |
column -t -s:Try indenting the code two or three spaces, and then it should be formatted without parsing *'s and so on.
Sweet. Thanks. I was only indenting by one space.
GNO Coreutils Cheat Script (debian/ubuntu and other apt-based distros version):
for pgm in $( dpkg -L coreutils | grep bin |
sed 's,^.*\/,,' ); do
man $pgm 2>/dev/null | sed -ne '6p'; done whatis -s1 $(dpkg -L coreutils | grep "bin/" | sed 's,^.*\/,,')
Should work too (and be a lot faster).Nice. I was trying to remember how to extract the summary lines by themselves. And yes, it's much faster (fewer execs, less manpage formatting and parsing).
Note that your solution skips chroot (man section 8). The fix:
Note that your solution skips chroot (man section 8). The fix:
whatis -s1,8 $(dpkg -L coreutils | grep "bin/" | sed 's,^.*\/,,')Cool! Here is an rpm variant with simplified sed:
whatis -s1 $(rpm -ql coreutils | sed -n 's,.*/bin/,,p')Here is a similar exposition with links to further info, on GNU and other platforms:
http://www.pixelbeat.org/docs/unix_commands/
http://www.pixelbeat.org/docs/unix_commands/
the fact you can download this gnu cheatsheet as xlsx is some delicious irony
I posted a simple redesign of his cheatsheet in the comments, which the author deleted. Bummer. Reposting here:
http://nielsolson.us/dropbox/catonmat/gnu-coreutils-cheat-sh... http://nielsolson.us/dropbox/catonmat/gnu-coreutils-cheat-sh...
Edited the spreadsheet LibreOffice.
http://nielsolson.us/dropbox/catonmat/gnu-coreutils-cheat-sh... http://nielsolson.us/dropbox/catonmat/gnu-coreutils-cheat-sh...
Edited the spreadsheet LibreOffice.
Update: Peteris asked me to repost. Done. Nice follow up.
http://joeyh.name/code/moreutils/