15%

Hemat 15% di Semua Layanan Hosting

Uji kemampuanmu dan dapatkan Diskon pada paket hosting apa saja

Gunakan kode:

Skills
Memulai
02.09.2025

Cara Membuat Daftar Direktori di Linux: Panduan Lengkap untuk Pemula dan Sysadmin

Bekerja di Linux sering terasa seperti menavigasi perpustakaan yang luas. Alih-alih rak, Anda memiliki direktori (folder), dan alih-alih buku, Anda memiliki file. Baik Anda seorang administrator sistem berpengalaman, pengembang, atau pemula yang penasaran baru memulai, menguasai dasar-dasar navigasi filesystem tidak dapat ditawar. Salah satu keterampilan dasar paling penting adalah mengetahui cara membuat daftar direktori secara efisien dan akurat.

Panduan ini memandu Anda melalui setiap metode praktis untuk membuat daftar direktori di Linux, menjelaskan kekuatan dan keterbatasan setiap pendekatan, dan menunjukkan kepada Anda kapan tepatnya menggunakan alat mana — termasuk dalam lingkungan scripting dan server produksi.

Mengapa Membuat Daftar Direktori Penting

Di komputer pribadi, Anda mungkin sesekali menjelajahi folder “Documents” atau “Downloads” melalui antarmuka grafis. Namun di server Linux, direktori adalah jantung dari hampir setiap tugas administratif yang akan Anda lakukan:

  • Administrasi sistem: Dengan cepat audit apa yang ada di /etc/, /var/log/, atau /usr/local/bin/.
  • Web hosting: Temukan dan kelola folder proyek di bawah /var/www/ atau /home/.
  • Pengembangan perangkat lunak: Identifikasi kontrol versi dan direktori lingkungan seperti .git/ atau .venv/.
  • Audit keamanan: Konfirmasi dengan tepat apa yang diinstal, dikonfigurasi, dan berjalan di sistem.
  • Otomasi dan scripting: Secara andal enumerasi direktori untuk digunakan dalam skrip shell dan pekerjaan cron.

Jika Anda tidak dapat membuat daftar direktori secara efisien, Anda akan selalu merasa tersesat — terutama di lingkungan VPS Hosting jarak jauh di mana tidak ada pengelola file grafis untuk kembali.

Metode 1: Perintah ls — Cepat dan Sederhana

Perintah ls adalah alat default untuk menampilkan isi direktori. Ini adalah perintah pertama yang dipelajari sebagian besar pengguna Linux, dan dengan alasan yang baik: cepat, mudah dibaca manusia, dan tersedia di setiap sistem mirip Unix.

Penggunaan dasar

ls

Ini membuat daftar semua file dan direktori yang tidak tersembunyi di direktori kerja saat ini.

Daftar hanya direktori

ls -d */

Berikut adalah apa yang dilakukan setiap bagian:

  • -d — Memberitahu ls untuk tidak turun ke subdirektori, tetapi membuat daftar entri direktori itu sendiri.
  • */ — Pola glob shell yang cocok dengan semua direktori (dan tautan simbolis ke direktori) di folder saat ini.

Daftar direktori dengan informasi terperinci

ls -ld */

Menambahkan -l memberi Anda format daftar panjang yang mencakup:

  • Izin file
  • Jumlah tautan keras
  • Pemilik dan grup
  • Ukuran file
  • Stempel waktu modifikasi terakhir

Contoh output:

drwxr-xr-x 3 root root 4096 Jun 10 14:22 backups/
drwxr-xr-x 5 www-data www-data 4096 Jun 12 09:15 html/
drwxr-xr-x 2 deploy deploy 4096 Jun 11 18:03 logs/

Keterbatasan: Direktori tersembunyi dikecualikan

Glob */ tidak cocok dengan direktori tersembunyi — yang namanya dimulai dengan titik (.), seperti .git/, .ssh/, atau .config/. Ini adalah peringatan penting, terutama di lingkungan yang sensitif terhadap keamanan.

Kapan menggunakan ls -d */: Pemeriksaan cepat dan interaktif di mana Anda hanya memerlukan direktori yang terlihat dan tidak memerlukan keandalan scripting.

Metode 2: Perintah find — Kuat dan Andal

Perintah find adalah pilihan profesional untuk menghitung direktori. Tidak seperti ls, dirancang untuk penggunaan pemrograman, mendukung traversal rekursif, menyertakan direktori tersembunyi secara default, dan berperilaku konsisten di seluruh distribusi Linux dan lokal yang berbeda.

Daftar semua direktori secara rekursif

find . -type d
  • . — Mulai dari direktori saat ini.
  • -type d — Cocokkan hanya entri direktori (bukan file, symlink, atau tipe lainnya).

Ini akan secara rekursif membuat daftar setiap direktori di setiap tingkat kedalaman di bawah lokasi saat ini Anda.

Daftar hanya direktori tingkat atas (metode portabel)

find . -mindepth 1 -maxdepth 1 -type d
  • -mindepth 1 — Mengecualikan direktori saat ini itu sendiri (.) dari hasil.
  • -maxdepth 1 — Mencegah rekursi di luar anak-anak langsung.

Ini adalah cara paling portabel dan andal untuk membuat daftar hanya subdirektori langsung dari folder saat ini, dan berfungsi identik di sistem GNU/Linux, macOS, dan BSD.

Alternatif untuk sistem GNU/Linux

Di sebagian besar distribusi Linux modern — termasuk yang berjalan di Server Dedicated — Anda juga dapat menggunakan:

find . -maxdepth 1 -type d

Perhatikan bahwa ini akan menyertakan . itu sendiri dalam output. Gunakan -mindepth 1 bersama dengan -maxdepth 1 untuk mengecualikannya dengan bersih.

Sertakan direktori tersembunyi

Karena find tidak bergantung pada glob shell, secara otomatis menyertakan direktori tersembunyi:

find . -mindepth 1 -maxdepth 1 -type d

Ini akan menunjukkan .git/, .ssh/, .config/, dan direktori lain yang diawali dengan titik bersama dengan yang terlihat.

Gunakan find dalam skrip

find adalah alat yang benar untuk skrip shell karena:

  • Menangani nama file dengan spasi dan karakter khusus dengan aman.
  • Tidak terpengaruh oleh pengaturan lokal atau konfigurasi warna terminal.
  • Menghasilkan output yang konsisten dan dapat diurai.

Contoh: Loop di atas semua direktori tingkat atas

find . -mindepth 1 -maxdepth 1 -type d | while read -r dir; do
    echo "Processing: $dir"
done

Kapan menggunakan find: Setiap kali Anda memerlukan direktori tersembunyi yang disertakan, hasil rekursif, atau output yang andal untuk scripting dan otomasi.

Metode 3: Perintah tree — Peta Direktori Visual

Perintah tree merender peta direktori hierarki visual. Ini tidak diinstal secara default di semua distribusi tetapi sangat berguna untuk dokumentasi, onboarding, dan memahami tata letak proyek yang kompleks.

Instal tree

Debian/Ubuntu:

sudo apt install tree

CentOS/RHEL/AlmaLinux:

sudo yum install tree

Daftar hanya direktori (tanpa file)

tree -d

Batasi kedalaman untuk menghindari output yang berlebihan

tree -d -L 2
  • -d — Tampilkan direktori saja.
  • -L 2 — Batasi tampilan hingga 2 level dalam.

Contoh output:

.
├── backups
│   └── daily
├── html
│   ├── assets
│   └── uploads
└── logs

Sertakan direktori tersembunyi

tree -d -a

Kapan menggunakan tree: Memvisualisasikan struktur proyek, menulis dokumentasi, atau menjelajahi tata letak server yang tidak dikenal untuk pertama kalinya.

Metode 4: Mengapa Anda Harus Menghindari ls -l | grep "^d"

Anda akan sesekali menemukan pola ini yang disarankan secara online:

ls -l | grep "^d"

Idenya adalah untuk memfilter output daftar panjang ls untuk menampilkan hanya baris yang dimulai dengan d — yang menunjukkan direktori. Meskipun ini tampak cerdas, pada dasarnya rapuh dan harus dihindari dalam konteks apa pun yang serius:

MasalahPenjelasan
Sensitivitas lokalBeberapa lokal atau konfigurasi terminal mengubah format output ls -l, memecahkan pola grep.
Kode warnaJika ls menampilkan kode escape ANSI warna, pola ^d mungkin gagal cocok.
Direktori tersembunyiTidak ditampilkan, sama seperti dengan ls -d */.
Tautan simbolisSymlink yang menunjuk ke direktori menampilkan sebagai l, bukan d, jadi mereka secara diam-diam dikecualikan.
Keandalan scriptingMengurai output ls dalam skrip secara eksplisit tidak disarankan dalam praktik terbaik scripting shell.

Gunakan find sebagai gantinya. Ini dirancang khusus untuk tugas ini dan menghindari semua jebakan di atas.

Referensi Cepat: Memilih Metode yang Tepat

TujuanPerintah Terbaik
Pemeriksaan interaktif cepat (hanya dir yang terlihat)ls -d */
Daftar terperinci dengan izinls -ld */
Dir tingkat atas termasuk tersembunyifind . -mindepth 1 -maxdepth 1 -type d
Semua direktori secara rekursiffind . -type d
Struktur pohon visualtree -d
Gunakan dalam skrip shellfind . -mindepth 1 -maxdepth 1 -type d

Praktik Terbaik untuk Lingkungan Server Produksi

Saat bekerja di server langsung — baik itu akun Shared Web Hosting atau VPS yang sepenuhnya dikelola — ingat prinsip-prinsip ini:

  1. Selalu periksa direktori tersembunyi selama audit keamanan. Direktori seperti .ssh/, .git/, .env/, dan .config/ sering berisi kredensial sensitif, kunci, dan file konfigurasi. Gunakan find dengan -mindepth 1 untuk memastikan mereka muncul dalam output Anda.
  1. Gunakan find dalam semua skrip, jangan pernah ls. Mengurai output ls adalah anti-pola yang terkenal dalam scripting shell. Perintah find adalah deterministik, independen lokal, dan menangani kasus tepi dengan anggun.
  1. Gabungkan find dengan -exec untuk operasi massal. Misalnya, untuk membuat daftar ukuran direktori:
   find . -mindepth 1 -maxdepth 1 -type d -exec du -sh {} ;
  1. Gunakan tree -d -L 2 saat on
15%

Hemat 15% di Semua Layanan Hosting

Uji kemampuanmu dan dapatkan Diskon pada paket hosting apa saja

Gunakan kode:

Skills
Memulai