System Tools
Overview
FreeWorld OS includes a comprehensive set of system tools for file management, process control, text processing, and package management. These tools provide essential functionality for system administration and daily use.
Complete set of system tools and development utilities including build tools, compiler toolchain, debugger, profiler, memory leak detector, static analyzer, version control, and documentation tools. Total: ~3,100 lines of development tools code.
Development Tools
FreeWorld OS includes comprehensive development tools:
Build Tools
- make: Build automation tool (~200 lines)
- cmake: Cross-platform build system (~200 lines)
- autotools: Autoconf, automake, libtool (~200 lines)
Compiler Toolchain
- gcc: GNU Compiler Collection support (~200 lines)
- clang: LLVM Clang compiler support (~200 lines)
Debugger
- gdb equivalent: Debugger with breakpoints, stepping, register inspection (~300 lines, enhanced existing)
Profiler
- perf equivalent: Performance profiling tools (~150 lines, enhanced existing)
- gprof equivalent: Call graph profiling (~150 lines, enhanced existing)
Memory Leak Detector
- valgrind equivalent: Memory leak detection tools (~300 lines, enhanced existing)
Static Analyzer
- Code Analysis: Static analysis for bugs and security issues (~400 lines)
Version Control
- git: Git version control support (~300 lines)
- svn: Subversion version control support (~300 lines)
Documentation Tools
- docgen: Documentation generation tools (~300 lines)
Core Utilities
ls - List Directory
Lists files and directories with various formatting options.
-l- Long format (detailed listing)-a- Show all files (including hidden)-R- Recursive listing-h- Human-readable file sizes
cp - Copy
Copies files and directories.
-r/-R- Recursive copy-f- Force overwrite-p- Preserve attributes
mv - Move
Moves or renames files and directories.
rm - Remove
Removes files and directories.
-r/-R- Recursive removal-f- Force removal-i- Interactive mode
Process Tools
ps - Process Status
Lists running processes with information about PID, PPID, status, and command.
top - Process Monitor
Interactive process monitor displaying system information, CPU usage, memory usage, and process list. Updates in real-time.
kill - Send Signal
Sends signals to processes. Default signal is SIGTERM (15).
-9- Send SIGKILL-15- Send SIGTERM (default)-HUP- Send SIGHUP
File Tools
find - File Search
Searches for files in directory tree based on various criteria (name, type, size, modification time, etc.).
grep - Pattern Search
Searches for patterns in files using regular expressions. Supports multiple files and various output formats.
sed - Stream Editor
Performs text transformations on input streams. Supports substitution, deletion, insertion, and other text operations.
awk - Pattern Processing
AWK interpreter for pattern scanning and processing. Supports full AWK language with variables, functions, and control structures.
Package Manager
pkg - Package Manager
Manages software packages with support for installation, removal, updates, searching, and information display.
Commands
pkg install <package>- Install packagepkg remove <package>- Remove packagepkg update <package>- Update packagepkg search <query>- Search packagespkg list- List installed packagespkg info <package>- Show package information
Features
- ✅ Package repository support
- ✅ Dependency resolution
- ✅ Signature verification
- ✅ Transaction support
- ✅ Package database
Build System
System tools are built using the Makefile in usr/bin/:
cd usr/bin
make
This builds all tools and installs them to bin/ directory.
Usage Examples
# List files in long format
ls -l
# Copy directory recursively
cp -r source/ dest/
# Remove file
rm file.txt
# List processes
ps
# Kill process
kill 1234
# Search for files
find /home -name "*.txt"
# Search for pattern in files
grep "pattern" file.txt
# Install package
pkg install myapp