Penguin
Note: You are viewing an old revision of this page. View the current version.
  • strace(1) is your friend :) It shows all the c library calls made by a process - this is very useful for debugging or just casual snooping.
  • In a similar vein, you can get the dynamic linker to show you how external symbols in executables get resolved. See LD_DEBUG.
  • while we're on the copious debugging information track, try ltrace(1)? sometime. it shows all library calls made (consider how often you call strcmp, then ponder how much information this is going to churn out :)
  • procinfo(8) gives a nice summary of the kernel information available in the /proc filesystem, such as memory/CPU usage, kernel modules, IRQ usage, devices and supported filesystems. See ProcFileSystem
  • netstat(8) shows active connections, including tcp(7), udp(7) and unix(7) socket connections. netstat -anAinet shows all IP ports that are open on your machine - very handy.
  • Depending on the permissions on certain executables, you can start another X server as a normal user. (Default Slackware lets you, DebianLinux doesn't). To use virtual terminal 8 (which is normally unused), do xinit /usr/bin/X11/xterm -display :1.0 -- /usr/bin/X11/Xwrapper :1.0 vt08. Now if you run X programs with $DISPLAY set to :1 instead of :0, they go to the server running on vt 8. See xinit(1), Xwrapper(1)?
  • Store all your data in CVS. It's great. If you're bored, store /etc in cvs too :)
  • Use Makefiles (or Ant) to build everything.
  • Learn m4(1) to write macros in. If you're a programmer, m4 is the language used by autoconf(1) for creating portable configure scripts.
  • Learn LaTeX for documentation (or lyx(1) if you're lazy). You can use pdflatex(1) (which is normally included with the tetex package that provides LaTeX for linux distributions) to create PDF files in any style that normal LaTeX allows you to. This is very handy for making portable slide presentations as well as the "more typical" reports and articles. See PdfLatexNotes for more hints on this.
  • For pure EyeCandy, your desktop's "background picture" doesn't have to be a picture at all. You can amaze Windows users by running one of the xscreensaver(1)s in the root window. Try $ atlantis -root & - if you have hardware accelerated OpenGL graphics, it causes negligible CPU load. (Try locate atlantis if you don't know where it is.) Another favourite for running in the root window is xearth(1)?.
  • If you add a line saying . /dev/tty9 to /etc/syslog.conf all log messages will also be printed to tty9, making it really easy to watch the logs.
  • If you're having issues with DNS resolving intermittantly not working then try adding the line options attempts:4 and/or options timeout:10 to /etc/resolv.conf. (see resolv.conf(5))
  • To change your language / key mappings under DebianLinux use dpkg-reconfigure console-common
  • If you specify the path to one of your files in a program other than a shell, you can still omit the name of your home directory, if it was your PWD when the program was started.

See also HowToTipsHOWTO?