Mdr{dani} Notes

Linux Hands-on 1 (File Management and Directory Operations)

·

5 min read

Cover Image for Linux Hands-on 1 (File Management and Directory Operations)

Artikel ini akan menceritakan pengalaman saya menyelesaikan tugas Community DevOps Focus Group. Tugas ini terdiri dari 4 bagian, dan saya akan memisahkannya ke dalam beberapa artikel. Pada artikel pertama ini, saya akan berfokus pada tugas-tugas yang berkaitan dengan file management dan directory operations.

Sebelum menjalankan perintah pertama, kita perlu memasang flog untuk menghasilkan log palsu dan stress untuk mensimulasikan beban CPU dan memori. Saya juga memasang tree untuk mempermudah visualisasi struktur direktori.

https://github.com/mingrammer/flog
sudo apt install stress
sudo apt install tree

Task 1.1: Create the following directory structure:

mkdir -p project/reports/2024 project/reports/2025 project/scripts project/data

Task 1.2: Create empty files in reports/2024

touch project/reports/2024/q1.txt
touch project/reports/2024/q2.txt
touch project/reports/2024/q3.txt

Kita bisa pakai perintah touch buat bikin file. Perintah ls digunakan untuk menampilkan daftar berkas dan direktori. Berikut penjelasan opsi yang digunakan:

  • -l: Menampilkan daftar dalam format long listing (panjang), yang memberikan informasi detail seperti izin berkas, pemilik, grup, ukuran, tanggal modifikasi, dan nama berkas.

  • -h: Menampilkan ukuran berkas dalam format human-readable (mudah dibaca manusia), misalnya KB, MB, atau GB, bukan dalam byte.

  • -t: Mengurutkan daftar berdasarkan waktu modifikasi terakhir.

Jadi, ls -lht akan menampilkan daftar berkas dan direktori dalam format panjang, dengan ukuran yang mudah dibaca, dan diurutkan berdasarkan waktu modifikasi terakhir.

Penjelasan File Permission (Izin Berkas) di Linux:

Izin berkas di Linux mengatur siapa yang boleh melakukan apa terhadap suatu berkas. Izin ini direpresentasikan dalam sepuluh karakter, contohnya -rw-rw-r--.

  • Karakter pertama (-): Menunjukkan jenis berkas. - berarti berkas biasa, d berarti direktori, l berarti symbolic link, dan lainnya.

  • Sembilan karakter berikutnya dibagi menjadi tiga kelompok, masing-masing untuk owner (pemilik), group (kelompok), dan others (lainnya).

  • Setiap kelompok memiliki tiga bit:

    • r: Read (baca) - Izin untuk membaca isi berkas.

    • w: Write (tulis) - Izin untuk mengubah atau menghapus isi berkas.

    • x: Execute (eksekusi) - Izin untuk menjalankan berkas (jika berkas tersebut adalah program yang dapat dieksekusi).

  • Tanda - berarti izin tersebut tidak diberikan.

Dalam contoh -rw-rw-r--:

  • Owner: Memiliki izin baca (r) dan tulis (w), tetapi tidak memiliki izin eksekusi (-).

  • Group: Memiliki izin baca (r) dan tulis (w), tetapi tidak memiliki izin eksekusi (-).

  • Others: Memiliki izin baca (r), tetapi tidak memiliki izin tulis (-) dan eksekusi (-).

Task 1.3: Move q1.txt to 2025

mv project/reports/2024/q1.txt project/reports/2025/

mv itu artinya "move" alias mindahin. Nah, biar nggak nyasar, mending tulis perintah lengkap sama alamat lengkap filenya, jangan cuma q1.txt doang. Kalau tiba-tiba muncul pesan "No such file or directory", itu biasanya gara-gara alamat filenya salah.

Task 1.4: Copy q2.txt to scripts dan rename menjadi analysis.txt

cp project/reports/2024/q1.txt project/scripts/analysis.txt

Task 1.5: list files in 2025 and save output to file file_list.log

ls project/reports/2025 > file_list.log

Task 1.6: Append “Task Completed” to q3.txt

echo "Task Completed" >> project/reports/2024/q3.txt
cat project/reports/2024/q3.txt

  • echo "Task Completed": Nah, bagian ini artinya kita mau "ngomong" atau "nulis" kalimat "Task Completed". echo itu kayak perintah buat nampilin sesuatu di layar, tapi di sini kita mau tampilinnya di dalam file.

  • >>: Tanda ini nih yang penting. Ini artinya kita mau "nambahin" tulisan "Task Completed" tadi ke dalam file. Jadi, kalau di file udah ada tulisan lain, tulisan "Task Completed" ini bakal ditaruh di baris baru, di bawah tulisan yang lama. Beda kalau kita pakai tanda >, kalau pakai ini, tulisan yang lama di file akan dihapus dan diganti dengan tulisan "Task Completed".

  • cat: Nah, kalau cat ini kayak baca buku. Dia bakal nampilin isi file ke layar.

Task 1.7: Display directory structure and save to structure.log

tree project/ > structure.log

tree: Nah, perintah tree ini kayak tukang kebun yang rapi banget. Dia bakal nunjukin struktur folder dan file kita dalam bentuk pohon, lengkap dengan cabang-cabangnya. Jadi, kita bisa lihat dengan jelas, file ini ada di dalam folder apa, folder itu ada di dalam folder apa lagi, dan seterusnya.

Task 1.8: Delete analysis.txt and confirm

 rm project/scripts/analysis.txt

rm: Nah, kalau rm ini artinya "remove" alias hapus. Jadi, perintah ini digunakan untuk menghapus file atau folder.

Task 1.9: Copy the entire project directory

 cp -r project/ project-old
  • cp: Nah, kalau cp ini artinya "copy" alias salin. Jadi, perintah ini digunakan untuk menyalin file atau folder.

  • -r: Opsi -r ini singkatan dari "recursive". Artinya, kalau yang disalin itu folder, maka semua isinya (termasuk subfolder dan file-file di dalamnya) juga ikut disalin.

  • project/: Ini adalah lokasi folder yang mau kita salin. Dalam contoh ini, kita mau menyalin folder project/ beserta seluruh isinya.

  • project-old: Ini adalah nama folder baru hasil salinan. Jadi, kita akan membuat folder baru bernama project-old yang isinya sama persis dengan folder project/.

Task 1.10: Delete Original project

rm -ri project

  • rm: Nah, kalau rm ini artinya "remove" alias hapus. Jadi, perintah ini digunakan untuk menghapus file atau folder.

  • -r: Opsi -r ini singkatan dari "recursive". Artinya, kalau yang dihapus itu folder, maka semua isinya (termasuk subfolder dan file-file di dalamnya) juga ikut dihapus.

  • -i: Opsi -i ini singkatan dari "interactive". Artinya, sebelum menghapus setiap file atau folder, perintah ini akan bertanya dulu ke kita, "Yakin mau dihapus nggak nih?". Jadi, kita punya kesempatan untuk berpikir ulang sebelum file atau folder benar-benar hilang.

  • project: Ini adalah nama folder yang mau kita hapus beserta seluruh isinya.

Task 1.11: Create a 5GB file

truncate -s 5G large_file.dat

  • truncate: Nah, kalau truncate ini artinya "memotong" atau "memangkas". Perintah ini digunakan untuk mengubah ukuran file, bisa memperbesar atau memperkecil.

  • -s 5G: Opsi -s ini digunakan untuk menentukan ukuran file yang baru. Dalam contoh ini, kita mau membuat ukuran file menjadi 5 Gigabyte (5G). Kamu bisa menggunakan satuan lain seperti K (Kilobyte), M (Megabyte), atau G (Gigabyte).

  • large_file.dat: Ini adalah nama file yang ukurannya mau kita ubah.

Mdr{dani} Notes

A digital garden where I plant ideas, share thoughts on DevOps, cloud infrastructure, open-source, and my journey in tech. Keep exploring and happy automating!

Explore Topics

Web DevelopmentReactNext.jsGolangOpen SourceTutorials

Supported By

Codeathome
LampungDev

Made with© 2026 Muhamad Dani Ramanda

Powered by HashnodeHosted on Vercel