Hemat 15% untuk semua layanan hosting

Uji kemampuanmu dan dapatkan Diskon pada paket hosting apa saja

Gunakan kode: Skills Memulai
Bagian FAQ
Linux

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 adalah keharusan. Salah satu keterampilan dasar paling kritis 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 dengan tepat kapan menggunakan alat mana — termasuk dalam lingkungan scripting dan server produksi.

Mengapa Listing Direktori Penting

Di komputer pribadi, Anda mungkin sesekali menjelajahi folder "Documents" atau "Downloads" melalui antarmuka grafis. Namun, di server Linux, direktori adalah inti 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 cron jobs.

Jika Anda tidak dapat listing direktori secara efisien, Anda akan selalu merasa tersesat — terutama di lingkungan VPS Hosting jarak jauh di mana tidak ada pengelola file grafis untuk digunakan sebagai cadangan.

Method 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 ada alasan yang bagus: cepat, mudah dibaca manusia, dan tersedia di setiap sistem mirip Unix.

Penggunaan dasar

ls

Ini mencantumkan 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 untuk mencantumkan 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 skrip.

Metode 2: Perintah find — Powerful dan Reliable

Perintah find adalah pilihan profesional untuk menghitung direktori. Tidak seperti ls, dirancang untuk penggunaan programatik, mendukung traversal rekursif, menyertakan direktori tersembunyi secara default, dan berperilaku konsisten di berbagai distribusi Linux dan locale.

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 mencantumkan setiap direktori di setiap tingkat kedalaman di bawah lokasi Anda saat ini.

Daftar hanya direktori tingkat atas (metode portabel)

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

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

Alternatif untuk sistem GNU/Linux

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

find . -maxdepth 1 -type d

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

Sertakan direktori tersembunyi

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

find . -mindepth 1 -maxdepth 1 -type d

Ini akan menampilkan .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 locale 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 disertakan, hasil rekursif, atau output yang andal untuk skrip dan otomasi.

Metode 3: Perintah tree — Peta Direktori Visual

Perintah tree merender peta hierarki visual dari struktur direktori Anda. 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 hanya direktori.
  • -L 2 — Batasi tampilan hingga 2 level kedalaman.

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 familiar untuk pertama kalinya.

Method 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 listing panjang dari ls untuk menampilkan hanya baris yang dimulai dengan d — yang menunjukkan direktori. Meskipun ini terlihat cerdas, ini pada dasarnya rapuh dan harus dihindari dalam konteks apa pun yang serius:

MasalahPenjelasan
Sensitivitas lokalBeberapa lokal atau konfigurasi terminal mengubah format output dari ls -l, memecahkan pola grep.
Kode warnaJika ls mengeluarkan kode escape ANSI warna, pola ^d mungkin gagal untuk cocok.
Direktori tersembunyiTidak ditampilkan, sama seperti dengan ls -d */.
Tautan simbolisSymlink yang menunjuk ke direktori ditampilkan sebagai l, bukan d, jadi mereka secara diam-diam dikecualikan.
Keandalan skripPenguraian output ls dalam skrip secara eksplisit tidak disarankan dalam praktik terbaik skrip 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 direktori yang terlihat)ls -d */
Daftar terperinci dengan izinls -ld */
Direktori 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 live — baik itu akun Shared Web Hosting atau VPS yang sepenuhnya dikelola — ingatlah prinsip-prinsip berikut:

  1. Selalu periksa direktori tersembunyi selama audit keamanan. Direktori seperti .ssh/, .git/, .env/, dan .config/ sering kali berisi kredensial sensitif, kunci, dan file konfigurasi. Gunakan find dengan -mindepth 1 untuk memastikan mereka muncul dalam output Anda.
  1. Gunakan find di semua skrip, jangan pernah ls. Parsing output ls adalah anti-pattern yang terkenal dalam shell scripting. Perintah find bersifat deterministik, independen dari locale, dan menangani kasus edge dengan elegan.
  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 onboarding. Saat Anda pertama kali SSH ke server yang tidak familiar, tree -d -L 2 cepat dari /var/www/ atau /home/ memberi Anda gambaran struktural instan.
  1. Batasi izin dengan hati-hati. Mengetahui direktori apa yang ada hanyalah sebagian dari gambaran. Audit izin direktori secara teratur dengan ls -ld */ untuk menangkap direktori yang dapat ditulis oleh siapa saja yang salah konfigurasi.

Contoh Praktis: Mengaudit Direktori Web Server

Misalkan Anda baru saja menerapkan aplikasi baru di VPS Linux. Berikut adalah alur kerja praktis yang menggabungkan perintah yang dibahas dalam panduan ini:

# Navigate to the web root
cd /var/www/

# Quick visual check of top-level directories
ls -ld */

# Full audit including hidden directories
find . -mindepth 1 -maxdepth 1 -type d

# Visual map of the project structure (2 levels deep)
tree -d -L 2

# Check disk usage per directory
find . -mindepth 1 -maxdepth 1 -type d -exec du -sh {} ;

Alur kerja ini memakan waktu kurang dari satu menit dan memberikan Anda gambaran lengkap tentang tata letak direktori server web Anda, izin, dan konsumsi disk — pengetahuan penting bagi administrator mana pun yang mengelola VPS dengan cPanel atau stack Linux kustom.

Kesimpulan

Listing direktori adalah salah satu keterampilan Linux paling fundamental, namun metode yang Anda pilih lebih penting daripada yang disadari sebagian besar pemula. Berikut adalah ringkasan poin-poin kunci:

  • ls -d */ sempurna untuk pemeriksaan cepat dan interaktif — tetapi mengabaikan direktori tersembunyi dan tidak cocok untuk scripting.
  • find . -mindepth 1 -maxdepth 1 -type d adalah standar emas untuk listing direktori yang andal, portabel, dan aman untuk script yang mencakup entri tersembunyi.
  • tree -d sangat berharga untuk memvisualisasikan struktur kompleks dan mengkomunikasikannya kepada orang lain.
  • Hindari ls -l | grep "^d" — ini rapuh, bergantung pada locale, dan tidak memiliki keuntungan dibandingkan find.

Baik Anda mengelola konfigurasi di lingkungan Dedicated Servers, menerapkan aplikasi web, atau sekadar menjelajahi mesin Linux baru untuk pertama kalinya, menguasai perintah-perintah ini akan menghemat waktu Anda, mencegah kesalahan yang mahal, dan memberi Anda kepercayaan diri untuk menavigasi sistem file apa pun dengan presisi.

Baris perintah bukan penghalang — ini adalah kekuatan super. Dan dimulai dengan mengetahui dengan tepat di mana Anda berada dan apa yang mengelilingi Anda.