strace — Trace System Calls and Signals

strace traces system calls and signals made by a process. It is useful when a program fails but the error message does not explain what happened. Trace a command Attach to a running process Save output to a file Common things to look for are missing files, permission errors, failed network calls and repeated retries.

ltrace — Trace Library Calls in Linux

The ltrace command traces library calls made by a program. It can help when a command fails and you want to see which shared library functions it is calling. Basic usage Example Use ltrace when you are interested in library calls. Use strace when you want to trace system calls such as file, process and … Read more

gcc — GNU C Compiler Basics

gcc is the GNU C compiler. It is commonly used to compile C programs on Linux and is often required when building software from source. Compile a simple C file Run the compiled program Show warnings while compiling For larger projects, prefer the project’s documented build process, such as make, cmake or package-specific instructions.

dd — Convert and Copy Files

dd copies data at a low level. It is powerful, but it can overwrite disks if the input and output paths are wrong. Create an image of a disk or partition Write an image to a USB drive Always double-check the target device before running dd. A wrong of= value can destroy data.

Crontab Tutorial

cron runs commands on a schedule. User cron entries are edited with crontab. Edit the current user crontab Crontab format Run a script every day at 2:30 AM List existing cron jobs Use full paths inside cron jobs because the environment is usually smaller than an interactive shell.

nice — Run a Command with Modified Priority

The nice command starts a program with a modified scheduling priority. It is useful when you want a background task to be less aggressive with CPU usage. Run a command with lower priority Example Higher nice values mean lower priority. To adjust a process that is already running, use renice.

cdecl and c++decl: Explain C and C++ Declarations

cdecl and c++decl translate complicated C and C++ declarations into English and can also generate declarations from plain-language descriptions. They are useful when pointer, function-pointer, or nested type syntax becomes hard to read. Interactive mode cdecl explain int (*signal(int, int (*)(int)))(int) declare p as pointer to integer quit c++decl uses C++ terminology and syntax where … Read more