Jalur ini membahas bash, shell yang paling banyak digunakan pada sistem Linux dan UNIX. Materi disusun bertahap, dimulai dari kelancaran interaktif di terminal, berlanjut ke pemrosesan teks, fondasi skrip, dan disiplin penulisan skrip yang tangguh. Lingkungan yang diperlukan hanya berupa terminal dengan bash 5.2 atau lebih baru, dan seluruh contoh dijalankan pada lingkungan tersebut sehingga setiap keluaran dapat diverifikasi ulang.
Bash
Jalur penguasaan terminal dan skrip bash, dari navigasi berkas dan pemrosesan teks hingga otomasi tangguh yang lolos shellcheck.
0/0 selesai
Modul pembuka: peran shell sebagai penerjemah perintah, anatomi terminal, dan penyiapan lingkungan kerja.
- Apa itu shell?Definisi shell sebagai penerjemah perintah dan antarmuka teks utama sistem UNIX beserta perannya.
- Anatomi terminalPerbedaan terminal, shell, dan console beserta komponen yang menyusun sebuah sesi interaktif.
- Penyiapan lingkunganPemilihan terminal dan shell pada berbagai sistem, lalu menjalankan perintah bash pertama.
Navigasi pohon direktori, operasi berkas, pembacaan isi berkas, dan pencarian dengan find.
- Navigasi direktoriPerintah pwd, cd, dan ls untuk berpindah serta menelusuri pohon direktori dengan mental model yang benar.
- Operasi berkasMenyalin, memindahkan, menghapus, dan membuat direktori dengan cp, mv, rm, mkdir, serta wildcard yang aman.
- Melihat isi berkasMembaca isi berkas dengan cat, head, dan tail, termasuk mengikuti pertumbuhan berkas log dengan -f.
- Mencari berkasEsensial perintah find untuk memfilter berkas menurut nama, tipe, dan ukuran, disertai pengenalan locate.
Model stream, pipe, redirection, serta perkakas grep, sed, awk, dan sort untuk mengolah teks.
- Pipe dan redirectionModel stream stdin, stdout, dan stderr beserta pipe dan redirection sebagai gagasan inti shell.
- grepPencarian baris dengan pola pada grep, mulai dari pola dasar hingga flag konteks dan ekspresi reguler.
- sedSubstitusi teks dengan sed beserta kesadaran pengeditan in-place dan opsi -i yang aman.
- awkPemrosesan berbasis field dengan awk, mulai dari pencetakan kolom hingga program mini dengan pola-aksi.
- sort, uniq, cut, dan trPerkakas agregasi sort, uniq, cut, dan tr untuk mengurutkan, menghitung, memotong, dan menerjemahkan teks.
Skrip pertama, variabel dan quoting, percabangan, perulangan, serta fungsi dalam bash.
- Skrip pertamaMenulis skrip bash pertama dengan shebang, chmod +x, serta perbedaan eksekusi dan sourcing.
- Variabel dan quotingEkspansi variabel dan aturan quoting yang mencegah pecah kata serta glob yang tidak disengaja.
- PercabanganPernyataan if, operator test, dan [[ ]] beserta pengujian keberadaan serta jenis berkas.
- PerulanganPerulangan for dan while dengan iterasi yang aman atas nama berkas yang memuat spasi.
- FungsiFungsi shell: argumen, nilai balik, variabel lokal, dan pemakaian ulang logika di dalam skrip.
Kendali job, inspeksi proses, kode keluar sebagai kontrak antarperintah, dan variabel lingkungan.
- Kendali jobKendali job dengan &, fg, bg, dan jobs beserta perilaku nohup ketika sesi terminal ditutup.
- Inspeksi prosesInspeksi proses dengan ps, top, dan pgrep beserta disiplin pengiriman sinyal melalui kill.
- Kode keluarKode keluar $? sebagai kontrak keberhasilan antarperintah beserta pemanfaatannya dalam rantai eksekusi.
- Variabel lingkunganVariabel lingkungan dengan export, manipulasi PATH, dan penetapan env untuk satu perintah.
Strict mode, penguraian argumen dengan getopts, penanganan error dengan trap, dan audit shellcheck.
- Strict modeFlag set -euo pipefail dan pencegahan kesalahan yang dilakukan oleh masing-masing opsi.
- Argumen dan flagPenguraian argumen dan flag dengan getopts, pesan penggunaan, serta validasi masukan skrip.
- Penanganan errorPenanganan error dengan trap, pembersihan sumber daya, dan pola logging yang teratur.
- shellcheckAnalisis statis dengan shellcheck sebagai linter sekaligus guru gaya penulisan skrip.
xargs dan paralelisme, eksekusi jarak jauh dengan ssh, penjadwalan cron, serta arsip tar dan gzip.
- xargs dan paralelismeMengisi pipeline dengan xargs, opsi -P untuk paralelisme, dan pengenalan GNU parallel.
- sshEksekusi jarak jauh dengan ssh, autentikasi kunci publik, dan berkas konfigurasi ~/.ssh/config.
- cron dan penjadwalanSintaks berkas crontab untuk menjadwalkan job berulang beserta pencatatan log-nya.
- Arsip dan kompresiMembuat dan mengekstrak arsip dengan tar serta kompresi gzip dalam pola kompres lalu kirim.
Posisi bash terhadap POSIX dan zsh, alat CLI modern seperti ripgrep, serta dotfiles berversi.
- bash, POSIX, dan zshTingkat portabilitas skrip antara POSIX sh, bash, dan zsh beserta konsekuensi pilihan shebang.
- Alat CLI modernAlat CLI modern ripgrep, fd, fzf, dan bat beserta keunggulannya dibanding perkakas klasik.
- DotfilesDotfiles: alias, fungsi, prompt, dan konfigurasi shell yang dikelola sebagai repository berversi.
Proyek otomasi nyata: pemilihan kebutuhan, perancangan antarmuka dan mode kegagalan, hingga implementasi.
- Pemilihan proyekMemilih kebutuhan otomasi nyata dengan nilai yang terukur dan kriteria kelayakan skrip.
- Rancangan proyekMerancang antarmuka skrip, mode kegagalan, dan strategi logging sebelum menulis kode.
- Implementasi proyekImplementasi proyek otomasi dengan strict mode, hasil audit shellcheck, dan dokumentasi.