Save 40% on books and eBooks + 70% on videos now through May 31*—use code PROGRAM. Shop now.
The practical, handy desk reference for every Linux usernow completely updated!
Linux Desk Reference, Second Edition packs information about every command Linux users needorganized for maximum value and convenience. Scott Hawkins has updated entries throughout the book, and added four new chaptersincluding all-new coverage of the tc shell, Emacs editor, and Apache Web server.
This friendly reference is organized by task so you can find what you need even if you don't know what it's called! Unlike other Linux references, this one delivers practical examples for every command it containsplus hundreds of invaluable tips, warnings, diagrams, and sample outputs. And if you're a Linux expert, you'll love the "roadmap-style" alphabetical fast-find reference section!
No matter what you need to know about Linux, it's here...
Whether you're a sysadmin, developer, power user, or newbie, get the most convenient, up-to-date Linux reference you can buy: Linux Desk Reference, Second Edition!
Praise for the first edition
"Hawkins provides a superior combination of explanations, descriptions, and examples. Every Linux user, whether novice or experienced administrator, will value the organization and contents of the Linux Desk Reference."
SysAdmin magazine (Sept. 2000)
apropos, info, locate, makewhatis, man, updatedb, whatis, whereis.
I. SYSTEM STRUCTURES.2. Files.
chgrp, chmod, chown, cksum, cp, dd, file, install, ln, lockfile, ls, mv, pathchk, rm, stat, sum, symlinks, touch.3. Process.
&, ^, bg, fg, fuser, fuser, fuser -V, jobs, kill, kill -l, killall, nice, nohup, pidof, ps, pstree, renice, top.4. Standard Input, Output, and Error.
>, <, 2>, >>, |, tee, script, xargs.5. Directories.
cd, mkdir, pwd, rmdir, symlinks.6. Users.
chfn, chpasswd, finger, groupmod, groups, grpck, id, passwd, pwck, su, useradd, useradd -D, userdel, usermod, users, who.7. Paths.
basename, dirname, namei, pathchk.8. The Bash Shell.
alias, unalias, history, let, EXPRESSION, until, while, for, test, pushd, popd, dirs.9. The TC Shell.
history, history, history, dirs, popd, pushd, exec, bg, exec, command, fg, hup, jobs, kill, kill-l, limit, migrate, migrate, nohup, notify, onintr, sched, sched -n, stop, suspend, time, unlimit, wait, alias, unalias, pattern, break, breaksw, case, continue, default, eval arg ..., foreach name ((wordlist)), ..., end, filetest -op file ..., goto word, repeat count command, shift, endsw, while, ..., end, bindkey, bindkey, bindkey, settc cap, value, setty, telltc, alloc, built-ins, chdir, echo, exit, hashstat, inlib, log, login, logout, ls-F, newgrp, printenv, rehash, rootnode, set, set name ..., set name=word ..., set, set name, setenv, source, umask, unhash, unset, unsetenv, watchlog, where, which.10. Terminal and Keyboard.
captoinfo, clear, dumpkeys, getkeycodes, getty, infocmp, loadkeys, login, setterm, stty, tic, tput, tset, reset.11. Disks.
badblocks, cfdisk, du, fdformat, fdisk, quota, setfdprm.12. Filesystems.
debugfs, df, dumpe2fs, e2fsck, fsck, fsck.minix, fuser, lsattr, lsof, mkfs, mkfs.minix, mklost+found, mkswap, mount, mountd, rdev, /sbin/swapoff, /sbin/swapon, sync, tune2fs, umount.13. Printers and Print Queues.
lpc, lpd, lpq, lpr, lprm, pr, tunelp.14. Daemons.
fingerd, ftpd, gated, gdc, /usr/sbin/ , in.identd, /usr/etc/imapd, inetd, klogd, lpd, /usr/sbin/ , rpc.mountd named, /usr/sbin/, rpc.nfsd, pppd, rexecd, rlogind, rshd, rwhod, syslogd, talkd, tcpd, /usr/sbin/, in.telnetd, tftpd, rpc.yppasswdd, rpc.yppasswdd.15. Machine Information.
arch, hostname, hwclock, uname.16. Kernel.
depmod, depmod, depmod, modprobe, modprobe, modprobe, modprobe, modprobe, modprobe insmod, kerneld, ksyms, lsmod, bdflush, rmmod.
II. MANIPULATING DATA AND TEXT FILES.17. Displaying Files.
cat, head, head, less, look, rev, tac, tail.18. Comparing and Merging Files.
comm, cmp, diff, diff3, sdiff.19. Data Files.
colrm, column, csplit, cut, expand, fmt, fold, merge, paste, sort, tr, unexpand, uniq.20. Document Formatting.
colcrt, eqn, gs, groff, grog, gxditview, tbl, tex, troff, xdvi.21. The vi Editor.
compress, uncompress, cpio, dump, gzexe, gzip, gunzip, restore key, shar, shar -S, tar, unshar, uuencode, zcmp, zdiff, zgrep, zmore, znew.
III. COMMON TASKS.24. Startup and Shutdown.
dmesg, halt, reboot, poweroff, lilo, rdev, ramsize, rootflags, runlevel, shutdown, swapon, swapoff, sync, init, telinit.25. X Window System.
XF86Setup, XF86Setup, X, startx, SuperProbe, xdm, xf86config, xinit, xmseconfig, xterm, xvidtune.26. Scheduling.
at, atq, atrm, batch, crontab, crontab, sleep, usleep.27. Finding Stuff.
find, finger, grep, locate, updatedb, which progname ....28. Diagnostics and System Performance.
df, dmesg, free, ipcs, pstree, runlevel, tload, top, vmstat, vmstat, who.29. Security.
ipfwadm, pgpe, pgpk, pgps, pgpv.30. Miscellaneous.
cal, date, date, fortune, ispell, printf, rpm, strfile.
IV. NETWORKING.31. TCP/IP.
arp, bootpd, bootptab, bootpgw, bootptest, dip, diplogin, diplogini, hostname, gated, gdc, ifconfig, netstat, Ouput Description, nslookup, rmail user ..., route, routed, /etc/gateways, rusers, tcpdchk, tcpdmatch, tcpdmatch, traceroute.32. Networking Applications.
ftp, hostname, netstat, ping, rarp, rcp, rdate, rdist, rlogin, rsh, rusers, rwho, telnet, tftp.33. NIS and NFS.
hostname, domainname, dnsdomainname, nisdomainname, ypdomainname, /usr/lib/yp/makedbm, /usr/sbin/ypbind, ypcat, yppasswd, ypchfn, ypchsh, /usr/lib/yp/ypinit, ypmatch, yppoll, /usr/sbin/yppush, /usr/sbin/ypserv, ypset, ypwhich, /usr/lib/yp/ypxfr.34. DOS and Windows Connectivity.
mattrib, mbadblocks DRIVE:, mcd, mcopy, mdel, mdeltree, mdu, mformat, mlabel, mmd, mrd, mmove, mmove, mtype, xcopy, nmbd, smbclient servicename, smbmount, smbd, smbumount, smbstatus, testparm.35. Mail and Other Communication.
biff, elm, elm, fetchmail, fetchmailconf, formail, mail, makemap, mesg, mimencode, rmail, rwall, sendmail, newaliases, mailq, talk user, uuencode, uudecode, wall, write.36. Apache.
ServerType, Port, HostnameLookups, User & Group, BrowserMatch, ServerAdmin, ServerRoot, BindAddress, ErrorLog, TransferLog, PidFile, CacheNegotiatedDocs, Timeout, KeepAlive, MaxKeepAliveRequests, KeepAliveTimeout, MinSpareServers, MaxSpareServers, StartServers, MaxClients, MaxRequestsPerChild, <Directory>, Location, Options, AllowOverride, order, allow, deny, DocumentRoot, UserDir, DirectoryIndex, FancyIndexing, AddDescription, ReadmeName, HeaderName, IndexIgnore, AccessFileName, DefaultType, AddLanguage, LanguagePriority, ScriptAlias, AddHandler.Appendix A.
I hope you get a lot of use out of this book. Since I first got started with Unix in 1986, I've spent a ton of cash buying reference books. I've always been a bibliophile, and computer books have the advantage of being tax deductible, so I've amassed quite a collection. It always annoys me when I get home and the glitzy, well-packaged, 400-page document-o-rama I just shelled out $50 for turns out to contain only 5 pages of actual information or, worse, to be full of information but so poorly organized that it's more trouble than it's worth to find what I need. I've got a shelf full of them, which I will sell cheap.
What I've tried to do here is incorporate the best features from my collection. I know what I like-a good index, thorough technical coverage, relevant examples, and concise explanations (in English). Also, in the process of writing this book I've become almost supernaturally attuned to the subject of computer reference books-you can whisper "Linux in a Nutshell" from 30 feet away across a crowded room and my ears will perk up like a retriever on point. The number one complaint I hear about reference books is "not enough examples." I'm not unsympathetic; thinking up, configuring, and testing all the examples for this book slowed the writing process down to a crawl. But, as my editor pointed out, I'm not doing this for my health. So you will find that for every command in this book there is an accompanying example.
To some extent, Linux commands tend to come in clusters. For example, there are a dozen or so that handle filesystems, another half dozen for fiddling with disks, a whole slew that do things with files, and so forth. Sometimes the command clusters follow a naming convention, as in the case of the "remote" commands (rlogin, rsh, etc.); other times they do not. It occurred to me that it wouldn't be entirely wrong to group the Linux commands into clusters (one for users, another for disks, etc.) and then treat the clusters as data structures. Technically, a data structure consists of two things:
That's not a perfect description of how the chapters are arranged, but it isn't bad either. At the beginning of each chapter there is a high-level discussion of what purpose each "data structure" serves, how that service is accomplished, and the jargon that has sprung up around it. This provides background for the detailed description of commands that follows. Hopefully, this will provide enough information for newcomers to get started and perhaps be of some value for experienced users as well.
Of course, as you can tell from a quick glance through the contents, the main thrust of this book is information on actual user commands. I have collected what I believe to be a fairly thorough subset of the most useful Linux commands, together with their options and some suggestions for use. Information on configuration and use of the various subsystems (e.g., NIS, Samba, Networking) is also included, either explicitly or as part of the examples.How to Use This Book
For the advanced users who know exactly what command they are after and are looking only for examples or command line options, the book has two command indexes:
Did you ever find yourself digging around looking for a command that you know must exist, only you don't have any idea what it might be called? Back when I was in school I clearly remember fumbling around for an hour trying to figure out what command I'd use to lower the priority of a running process. There was nothing in the man pages under "priority" or "process," but I knew it had to be out there somewhere.
This book is arranged by concept. If you want to find out how to do something with filesystems, flip to the chapter on filesystems. In each chapter, there's a brief discussion of relevant terms and concepts, followed by a one-line summary of all the relevant commands, a list of related files, and finally a complete listing of the commands with options and examples.
This book explains all of the basic concepts you need to understand to use your Linux system. If you're not familiar with particular terms, they are defined in the text and indexed in the back. There's also a glossary. For every command, there is at least one example. For the more popular or confusing commands, there are frequently two or more. Where I thought it would be helpful, I included diagrams and sample output.Conventions of This Book
There's a certain amount of overhead involved in learning the Linux system. Some of the concepts can be counterintuitive at first glance, particularly if you're still in the process of switching over from one of the lesser operating systems. Each chapter in this book starts off with a few of pages of notes about the concepts, terms, and theory underlying the commands. Hopefully, this will help you get a feel for how the commands make up subsystems and how the subsystems make up Linux.
Most Unix commands take configuration or startup information from one or more files. The entries in this section are a listing of the files associated with the commands in each chapter.
Each chapter contains a detailed listing of commands, together with options and examples.A Final Word
Any single book that purports to cover the entire Linux operating system is probably lying. There's so much going on that what you can fit between two covers is, of necessity, a reflection of the experiences and prejudices of its author. To the extent that I neglected <your favorite command/suite/utility> I really do apologize. If it's any consolation, it wasn't from lack of effort. If you have comments, corrections, or suggestions for improvement, feel free to contact me at:
As a postscript, some of you may be wondering about the significance of the Minotaur on the cover of this book. Tradition has it that Daedalus, a mythological inventor and the spiritual ancestor of hackers everywhere, built a large and complex maze in Crete (the Labyrinth, capital L) at the behest of King Minos. The Minotaur was a bastard child of the Queen Pasiphae (Minos' wife) and some unusually handsome livestock. He had a man's body and the head of a bull, which (understandably) made him a bit shy and grumpy. Perhaps as a consequence, he was also very territorialhe never left the Labyrinth, and ran it with an iron fist. Most significantly, the Mintaur had little patience with incompetence. He was famous throughout the kingdom for biting the heads off any ignorant schmucks who became lost in his world. When I was asked to suggest a mythological beastie for the cover of a system administration text, there was really only one choice.