ยท Davidson Rafael K.N. ยท Linux  ยท 2 min read

Membuat Tool Otomatisasi di Linux dari Nol

Panduan lengkap membangun command-line tool di Linux dari nol. Bahas pemilihan bahasa, struktur proyek, sampai distribusi akhir.

Panduan lengkap membangun command-line tool di Linux dari nol. Bahas pemilihan bahasa, struktur proyek, sampai distribusi akhir.

Pendahuluan

Banyak task di Linux bisa diotomatisasi untuk menghemat waktu, meningkatkan akurasi, dan mengurangi repetisi. Artikel ini membahas bagaimana kamu bisa membuat command-line tool sendiri โ€” mulai dari memilih bahasa (Bash, Python, atau C), menyusun struktur proyek, hingga menjadikannya executable yang siap dipakai (atau bahkan didistribusikan).

1. Memilih Bahasa yang Tepat

Bash

Cocok untuk automasi ringan dan cepat.

#!/bin/bash
for file in *.txt; do
  echo "Memproses $file"
  # proses file
done

Python

Pas untuk task yang lebih kompleks atau perlu integrasi API.

import os
for file in os.listdir("."):
  if file.endswith(".txt"):
    print("Memproses", file)

C

Gunakan kalau performa atau level akses OS rendah jadi prioritas.

#include <stdio.h>
#include <dirent.h>
int main() {
  DIR *d = opendir(".");
  struct dirent *dir;
  while ((dir = readdir(d)) != NULL) {
    if (strstr(dir->d_name, ".txt")) {
      printf("Memproses %s\n", dir->d_name);
    }
  }
  closedir(d);
  return 0;
}

2. Struktur Proyek

Contoh struktur sederhana:

mytool/
โ”œโ”€โ”€ main.sh / main.py / main.c
โ”œโ”€โ”€ README.md
โ”œโ”€โ”€ LICENSE
โ””โ”€โ”€ bin/ (opsional, hasil build)

3. Menjadikan Tool-mu Executable

Bash & Python

chmod +x main.sh
./main.sh

C

gcc main.c -o mytool
./mytool

4. Distribusi

  • Upload ke GitHub dengan README.
  • Gunakan curl | bash script untuk installer.
  • Buat package .deb atau .rpm jika perlu.

5. Studi Kasus: Backup Otomatis

Bash script untuk backup direktori ke folder arsip:

#!/bin/bash
SRC="$1"
DST="$HOME/backup-$(date +%F).tar.gz"
tar -czf "$DST" "$SRC"
echo "Backup selesai: $DST"

Penutup

Dengan sedikit setup, kamu bisa bikin tool sendiri yang powerful dan efisien. Cukup dimulai dari kebutuhan sederhana, lalu berkembang.

Tertarik bahasan lanjutan seperti cron job, systemd service, atau build pipeline? Stay tuned!

Back to Blog