Penguin
Blame: AdvancedUserTips
EditPageHistoryDiffInfoLikePages
Annotated edit history of AdvancedUserTips version 25, including all changes. View license author blame.
Rev Author # Line
22 AristotlePagaltzis 1 * 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. Also try ltrace(1) sometime. it shows all library calls made. (Consider how often you call strcmp(3), then ponder how much information this is going to churn out.) :)
10 JohnMcPherson 2
3 * In a similar vein, you can get the dynamic linker to show you how external symbols in executables get resolved. See [LD_DEBUG].
4
22 AristotlePagaltzis 5 * procinfo(8) gives a nice summary of the [Kernel] information available in the <tt>/proc</tt> FileSystem, such as memory/[CPU] usage, KernelModule~s, [IRQ] usage, devices and supported FileSystems. See ProcFileSystem
10 JohnMcPherson 6
25 AristotlePagaltzis 7 * netstat(8) shows active connections, including tcp(7), udp(7) and unix(7) socket connections. <tt>netstat -anAinet</tt> shows all [TCP] and [UDP] [Port]s that are open on your machine – very handy.
10 JohnMcPherson 8
22 AristotlePagaltzis 9 * Depending on the permissions on certain executables, you can start another [X] server as a normal user. (Default [Slackware] lets you, [Debian] doesn't.) To use virtual terminal 8 (which is normally unused), do <tt>xinit /usr/bin/X11/xterm -display :1.0 -- /usr/bin/X11/Xwrapper :1.0 vt08</tt>. Now if you run [X] programs with <tt>$DISPLAY</tt> set to <tt>:1</tt> instead of <tt>:0</tt>, they go to the server running on vt 8. See xinit(1), Xwrapper(1)
10 JohnMcPherson 10
22 AristotlePagaltzis 11 * Store all your data in [CVS] (or SubVersion, or...). It's great. If you're bored, store <tt>/etc</tt> in [CVS] too :)
10 JohnMcPherson 12
22 AristotlePagaltzis 13 * Use MakeFile~s (or [Ant] or <tt>rake</tt> or…) to build everything.
10 JohnMcPherson 14
22 AristotlePagaltzis 15 * Learn m4(1) to write macros in. If you're a programmer, M4 is the language used by autoconf(1) for creating portable <tt>configure</tt> scripts.
10 JohnMcPherson 16
22 AristotlePagaltzis 17 * Learn [LaTeX] for documentation (or lyx(1) if you're lazy). You can use pdflatex(1) (which is normally included with the <tt>tetex</tt> 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.
10 JohnMcPherson 18
22 AristotlePagaltzis 19 * 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 <tt>$ atlantis -root &</tt> – if you have hardware accelerated [OpenGL] graphics, it causes negligible CPU load. (Try <tt>locate atlantis</tt> if you don't know where it is.) Another favourite for running in the root window is xearth(1).
10 JohnMcPherson 20
22 AristotlePagaltzis 21 * If you add a line saying <tt>*.* /dev/tty9</tt> to <tt>/etc/syslog.conf</tt> all log messages will also be printed to tty9, making it really easy to watch the logs.
10 JohnMcPherson 22
22 AristotlePagaltzis 23 * If you're having issues with [DNS] resolution intermittently failing then try adding the line <tt>options attempts:4</tt> and/or <tt>options timeout:10</tt> to <tt>/etc/resolv.conf</tt>. (See resolv.conf(5))
10 JohnMcPherson 24
22 AristotlePagaltzis 25 * To change your language/key mappings under [Debian] use <tt>dpkg-reconfigure console-common</tt>
10 JohnMcPherson 26
11 AristotlePagaltzis 27 * 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|pwd(1)] when the program was started.
17 DanielLawson 28
29 * Have a look at the PerlOneLiners for some useful perl one-liners :)
18 DanielLawson 30
31 * A similar node, BashOneLiners, has bash pipelines that you might find useful

PHP Warning

lib/blame.php:177: Warning: Invalid argument supplied for foreach()