Skip to main content

Scripting & Programming

Description Commands
Daily scripting bash, sh, python, perl
Compilation/build gcc, g++, make, cmake, automake, autoconf, autoreconf
Debugging/binary analysis gdb, ldd, objdump, nm, readelf, strings
Code navigation ctags, cscope
File merging diff3
Version control git, svn, cvs
Specialized tools bison, expect

Daily Scripting

bash

Usage       : bash script.sh
Example     : #!/bin/bash 
              echo "Hello World"
Description : GNU Bourne Again Shell, the default shell on most Linux systems.
Takeaway    : Use for scripting, automation, and interactive shell sessions.

sh

Usage       : sh script.sh
Example     : #!/bin/sh 
              echo "Portable script"
Description : Original Bourne shell, lightweight and portable.
Takeaway    : Use for POSIX-compliant scripts that run across different Unix systems.

python

Usage       : python3 script.py
Example     : print("Hello World")
Description : High-level programming language for scripting and applications.
Takeaway    : Use for automation, data processing, and application development.

perl

Usage       : perl script.pl
Example     : print "Hello World\n";
Description : Versatile scripting language for text processing and system tasks.
Takeaway    : Use for regex-heavy tasks and legacy automation scripts.

Compilation & Build Tools

gcc

Usage       : gcc program.c -o program
Example     : gcc -O2 main.c -o main
Description : GNU C compiler.
Takeaway    : Use for compiling C programs.

g++

Usage       : g++ program.cpp -o program
Example     : g++ -Wall main.cpp -o main
Description : GNU C++ compiler.
Takeaway    : Use for compiling C++ programs.

Version Control Systems

git

Usage       : git init
Example     : git commit -m "Initial commit"
Description : Distributed version control system.
Takeaway    : Use for modern source control and collaboration.

svn

Usage       : svn checkout repo_url
Example     : svn commit -m "Update"
Description : Subversion centralized version control.
Takeaway    : Use for legacy centralized version control.

cvs

Usage       : cvs checkout project
Example     : cvs commit
Description : Concurrent Versions System (legacy).
Takeaway    : Use for very old projects still using CVS.

Tips, Tricks, Roadmaps, Resources, Networking, Motivation, Guidance, and Cool Stuff โ™ฅ

Updated on Dec 23, 2025