Lewati ke konten
Kembali ke Blog

20 One-Liner Command Linux yang Akan Menghemat Waktu Anda Sehari-hari

Β· Β· 5 menit baca

One-liner command adalah kombinasi command Linux yang powerful dan dapat dieksekusi dalam satu baris. Artikel ini mengumpulkan 20 one-liner paling berguna untuk task sehari-hari seperti file processing, system monitoring, network debugging, dan text manipulation.

1. File dan Direktori Management

Cek 10 Direktori Terbesar

du -sh /* 2>/dev/null | sort -rh | head -10

Command ini menampilkan 10 direktori terbesar di sistem. Berguna untuk menemukan penyebab disk space habis dengan cepat.

Breakdown:
du -sh /*: Hitung ukuran semua direktori di root
2>/dev/null: Hilangkan error permission denied
sort -rh: Sort secara reverse dan human-readable
head -10: Ambil 10 baris pertama

Find dan Delete File Berdasarkan Ekstensi

find /var/log -name "*.log" -mtime +30 -delete

Menghapus file log yang lebih dari 30 hari.

Rename Semua File dalam Direktori

for f in *.txt; do mv "$f" "${f%.txt}.bak"; done

Rename semua file .txt menjadi .bak.

Copy Struktur Direktori Tanpa File

find /source -type d -exec mkdir -p /dest/{} \;

Membuat struktur direktori yang sama tanpa meng-copy file.

Create Nested Directory Structure

mkdir -p project/{src,test,docs}/{2024,2025}/{q1,q2,q3,q4}

Membuat struktur direktori kompleks dalam satu command.

2. Text Processing dan Manipulasi

Count Word Frequency

cat file.txt | tr '[:upper:]' '[:lower:]' | tr -s '[:space:]' '\n' | sort | uniq -c | sort -rn | head -20

Menampilkan 20 kata yang paling sering muncul dalam file.

Extract Email Addresses dari File

grep -oE '[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}' file.txt

Mengekstrak semua email address menggunakan regex.

Remove Duplicate Lines (Keep Order)

awk '!seen[$0]++' file.txt

Menghapus baris duplikat sambil mempertahankan urutan asli.

Replace Text di Multiple Files

find . -type f -name "*.js" -exec sed -i 's/oldFunction/newFunction/g' {} +

Replace text di semua file JavaScript dalam direktori.

Generate Random Password

cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 16 | head -n 5

Membuat 5 password random 16 karakter.

3. System Monitoring dan Informasi

Monitor Memory Usage Tiap 5 Detik

while true; do clear; free -h; sleep 5; done

Monitoring real-time penggunaan memory.

Cek Proses Paling Banyak Menggunakan CPU

ps aux --sort=-%cpu | head -n 11

Menampilkan 10 proses dengan CPU usage tertinggi.

Monitor Network Connections Real-time

watch -n 1 "netstat -tuln | grep LISTEN"

Monitoring port yang sedang listening.

Cek Disk Usage Semua Filesystem

df -h | grep -E '^/dev/' | awk '{print $5, $1}' | sort -rn

Menampilkan penggunaan disk terurut dari yang terbesar.

Find Files yang Diakses dalam 24 Jam Terakhir

find /var/www -type f -atime -1 -ls

Mencari file yang baru diakses (berguna untuk troubleshooting).

4. Network dan Debugging

Test Website Response Time

for i in {1..5}; do curl -o /dev/null -s -w "%{time_total}\n" https://example.com; done

Mengukur response time website 5 kali.

Scan Port dengan Netcat

for port in {1..65535}; do (echo "" > /dev/tcp/localhost/$port) 2>/dev/null && echo "$port open"; done

Port scanning lokal dengan bash built-in (tanpa nmap).

Download File dengan Resume Support

curl -C - -O https://example.com/large-file.zip

Resume download yang terputus.

Cek IP Public Anda

curl -s ifconfig.me

Mendapatkan IP public dengan cepat.

Monitor HTTP Headers

curl -I -s https://example.com | grep -E "HTTP|Server|Content-Type"

Cek header response dari website.

5. Advanced One-Liners

Kill Semua Proses dengan Nama Tertentu

ps aux | grep "process_name" | grep -v grep | awk '{print $2}' | xargs kill -9

Kill semua proses yang mengandung nama tertentu.

Backup Database dan Compress

mysqldump -u root -p database_name | gzip > backup_$(date +%Y%m%d_%H%M%S).sql.gz

Backup database MySQL dengan compression.

Generate Report File Sizes

find /var/log -type f -size +100M -exec ls -lh {} \; | awk '{print $5, $9}' | sort -rh

Mencari file log yang lebih dari 100MB.

Screenshot Terminal ke Text

script -q -c "your-command" /dev/null | aha > output.html

Mengkonversi output terminal ke HTML.

Create Self-Extracting Archive

tar czf - directory/ | base64 | xargs -I {} echo "echo '{}' | base64 -d | tar xzf -" > extract.sh

Membuat self-extracting script dari direktori.

6. One-Liners untuk Developer

Count Lines of Code

find . -type f \( -name "*.js" -o -name "*.py" -o -name "*.java" \) -exec wc -l {} + | tail -1

Menghitung total baris kode project.

Git Stats (Commit per Author)

git log --format='%aN' | sort | uniq -c | sort -rn

Menampilkan jumlah commit per author.

Find TODO Comments dalam Codebase

grep -r "TODO\|FIXME\|XXX" --include="*.js" --include="*.py" .

Mencari comment TODO dalam project.

Convert File Encoding

iconv -f ISO-8859-1 -t UTF-8 input.txt > output.txt

Mengkonversi encoding file.

Create SHA256 Checksum untuk Semua File

find . -type f -exec sha256sum {} \; > checksums.sha256

Membuat checksum untuk integrity verification.

Kesimpulan

One-liner command Linux sangat powerful untuk meningkatkan produktivitas. Dengan memahami pipe (|), redirection (>, <), dan command chaining (;, &&, ||), Anda dapat membuat kombinasi command yang kompleks untuk task apapun.

Tips Menggunakan One-Liners:
1. Test di environment staging terlebih dahulu
2. Gunakan -n atau --dry-run untuk preview
3. Tambahkan echo sebelum command destructive untuk test
4. Simpan one-liners berguna dalam file untuk reuse
5. Gunakan history | grep untuk menemukan command yang pernah digunakan

Alias Berguna untuk .bashrc:

alias bigdir='du -sh /* 2>/dev/null | sort -rh | head -10'
alias meminfo='free -h && ps aux --sort=-%mem | head -11'
alias myip='curl -s ifconfig.me'
alias ports='netstat -tulanp'

Pelajari one-liner ini dan sesuaikan dengan kebutuhan Anda. Kombinasi command yang tepat dapat menghemat jam kerja menjadi hitungan detik.

Ditulis oleh

Hendra Wijaya

Hanya hamba Allah Ta'ala yang berusaha berbuat baik..

Tinggalkan Komentar

Email tidak akan ditampilkan.