Hari Pertama perjalanan saya belajar infrastruktur akhirnya dimulai. Selama ini, interaksi saya dengan Linux mungkin sama seperti kebanyakan orang: copy-paste command dari StackOverflow dan berharap semuanya berjalan lancar.
Tapi kali ini target yang saya inginkan berbeda. Saya tidak mau hanya sekadar tahu command; saya ingin benar-benar memahami bagaimana sistem linux ini bekerja. Dan ternyata, hari pertama ini penuh dengan momen "Ohhh, seperti itu!"
Ini adalah suatu proses yang bakal merubah cara pandang saya terhadap terminal Linux.
- Momen "Aha!" Tentang Permission (Bukan Lagi Sebuah Angka Random)
Dulu, setiap kali ada error permission denied, jurus andalan saya (dan mungkin kalian juga) adalah mengetik chmod 777. Saya hanya tahu angka 755 atau 644 tanpa mengerti maknanya.
Ternyata, itu bukan angka random. Permission di Linux menggunakan sistem bitmasking yang sangat logis:
r (read) = 4
w (write) = 2
x (execute) = 1
Jadi, angka-angka sakti itu hanyalah hasil penjumlahan:
7 = 4 + 2 + 1 (Artinya bisa read, write, execute)
5 = 4 + 1 (Artinya bisa read & execute, tanpa write)
6 = 4 + 2 (Artinya bisa read & write, tanpa execute)
Satu insight penting yang baru saya sadari: Saya baru paham bahwa sebuah Folder mutlak membutuhkan permission x (execute) agar bisa diakses (di-enter menggunakan cd). Tanpa x, walaupun folder tersebut punya permission r (read), kita tetap tidak akan bisa masuk ke dalamnya!
- Pipe (|) Itu Bukan Sekadar Pemisah, Tapi Jembatan
Awalnya saya berpikir simbol | (pipe) fungsinya hanya untuk memisahkan dua command agar rapi. Salah besar.
Ternyata, pipe berfungsi menangkap output dari command pertama, lalu menjadikannya input untuk command berikutnya.
Contoh sederhananya seperti ini:
grep ERROR logs/app.log | wc -l
Cara membacanya sangat mengalir: "Cari kata ERROR di file log, lalu lempar hasilnya ke command wc -l untuk dihitung jumlah barisnya."
Mempelajari CLI Linux itu rasanya seperti bermain Lego. Command-command kecil yang terlihat sederhana bisa digabungkan menjadi alat yang sangat powerful.
- Membuat Mini Log Analyzer
Untuk mempraktikkan ilmu "Lego" tadi, saya mencoba menganalisis file log sederhana. Katakanlah kita punya isi log seperti ini:
INFO Server started ERROR Database failed WARNING Disk almost full ERROR Connection timeout INFO User login
Saya ingin tahu: Ada berapa banyak sih pesan INFO, WARNING, dan ERROR di log tersebut?
Command yang saya pakai adalah:
grep -oE "INFO|WARNING|ERROR" logs/app.log | sort | uniq -c
Kenapa harus di-sort dulu? Kenapa tidak langsung ke uniq? Ini insight kecil tapi sangat krusial dalam log processing. Command uniq ternyata hanya bisa mendeteksi duplikat jika barisnya bersebelahan. Jadi, kita harus mengurutkannya (sort) terlebih dahulu agar log yang sama berkumpul, barulah dihitung (uniq -c).
- Rekap Perjalanan Minggu Pertama
Jika dirangkum, ini bekal berharga yang saya dapatkan minggu ini:
Permission adalah logika bitmask, bukan hafalan nomor telepon.
Folder butuh akses x (execute) untuk bisa dimasuki.
Log processing adalah skill dasar (dan sangat menyenangkan!) untuk seorang DevOps/SysAdmin.
CLI bisa menjadi senjata yang sangat powerful jika kita paham cara merangkainya.
Ini baru hari pertama, tapi saya sudah merasa jauh lebih nyaman menatap layar hitam terminal. Perjalanan menuju Mastering Infrastructure masih sangat panjang, tapi satu hal yang pasti: Pondasi CLI saya mulai terbentuk.
Sampai jumpa di Infra Journey hari kedua!
Top comments (0)