Lewati ke konten utama

Cari tulisan

Tidak ada tulisan yang cocok. Coba kata lain.

Teknologi

Command Terminal untuk Kelola Folder & File: Bash vs CMD vs PowerShell

Muhammad Fikri Gunawan · · 7 menit baca
Command Terminal untuk Kelola Folder & File: Bash vs CMD vs PowerShell
Foto: Farzad Nazifi, CC0, melalui Wikimedia Commons

Satu tugas folder dan file butuh command berbeda di Bash, Windows CMD, dan PowerShell. Ini panduan berdampingan untuk melihat, menyalin, memindahkan, menghapus, mencari, dan menghentikan proses.

Jawaban singkat: command untuk file dan folder adalah satu-satunya bagian terminal yang berbeda antar platform. Bash (Linux, macOS, dan Git Bash) memakai ls, cp, mv, dan rm; Windows CMD memakai dir, copy, move, dan del; PowerShell memakai cmdlet seperti Get-ChildItem, Copy-Item, Move-Item, dan Remove-Item. Panduan ini menyejajarkan ketiganya supaya kamu bisa menerjemahkan command apa pun dalam hitungan detik.

Git Bash berjalan di Windows tetapi meniru shell Unix, jadi semua command di kolom Bash juga berfungsi di sana. PowerShell juga menerima banyak alias gaya Bash seperti ls, cd, dan pwd, tetapi nama cmdlet lengkap yang akan kamu temui di skrip dan dokumentasi.

Bagaimana melihat posisi saat ini dan berpindah folder?

  • Menampilkan path saat ini: pwd di Bash dan PowerShell, cd tanpa argumen di CMD.
  • Menampilkan isi folder: ls -la di Bash, dir di CMD, Get-ChildItem (alias ls) di PowerShell.
  • Masuk ke folder: cd nama_folder di ketiganya.
  • Naik satu tingkat: cd .. di ketiganya.
  • Kembali ke folder sebelumnya: cd - di Bash.

Bagaimana membuat folder dan file?

  • Satu folder: mkdir nama_folder di Bash dan CMD, New-Item -ItemType Directory nama_folder di PowerShell.
  • Folder bertingkat sekaligus: mkdir -p a/b/c di Bash, mkdir a\b\c di CMD, New-Item -ItemType Directory -Path a\b\c -Force di PowerShell.
  • File kosong baru: touch file.txt di Bash, type nul > file.txt di CMD, New-Item file.txt di PowerShell.

Bagaimana menyalin, memindahkan, mengganti nama, dan menghapus?

  • Menyalin satu file: cp file.txt tujuan/, copy file.txt tujuan\, atau Copy-Item file.txt tujuan\.
  • Menyalin folder beserta isinya: cp -r folder tujuan/, xcopy folder tujuan\ /E /I, atau Copy-Item folder tujuan\ -Recurse.
  • Memindahkan file atau folder: mv sumber tujuan, move sumber tujuan, atau Move-Item sumber tujuan.
  • Mengubah nama: mv lama.txt baru.txt, ren lama.txt baru.txt, atau Rename-Item lama.txt baru.txt.
  • Menghapus file: rm file.txt, del file.txt, atau Remove-Item file.txt.
  • Menghapus folder beserta isinya (paksa): rm -rf nama_folder, rmdir /s /q nama_folder, atau Remove-Item nama_folder -Recurse -Force.

Peringatan: command hapus ini tidak melewati recycle bin. Periksa path sekali lagi, dan jangan pernah menjalankan rm -rf dengan path yang belum kamu baca dua kali.

Bagaimana membaca dan mencari isi file?

  • Menampilkan isi file di layar: cat file.txt, type file.txt, atau Get-Content file.txt.
  • Mencari teks di dalam file: grep "kata_kunci" file.txt, findstr "kata_kunci" file.txt, atau Select-String "kata_kunci" file.txt.
  • Mencari file berdasarkan nama atau pola: find . -name "*.js", dir /s /b *.js, atau Get-ChildItem -Recurse -Filter *.js.
  • Membersihkan layar: clear di Bash, cls di CMD dan PowerShell (Clear-Host).

Bagaimana mengatur environment variable dan alias?

  • Membuat variable sementara: export NAMA=nilai di Bash, set NAMA=nilai di CMD, $env:NAMA="nilai" di PowerShell.
  • Menampilkan variable: echo $NAMA, echo %NAMA%, atau echo $env:NAMA.
  • Membuat shortcut command: alias ll='ls -la', doskey ll=dir, atau Set-Alias ll Get-ChildItem.
  • Melihat riwayat command: history, doskey /history, atau Get-History.

Command apa yang membantu urusan port, proses, dan permission?

Saat server development gagal jalan karena port 3000 sedang dipakai, command inilah yang kamu butuhkan.

  • Mencari proses yang memakai port 3000: lsof -i :3000 di Bash, netstat -ano | findstr :3000 di CMD, Get-Process -Id (Get-NetTCPConnection -LocalPort 3000).OwningProcess di PowerShell.
  • Menghentikan proses berdasarkan PID: kill -9 <PID>, taskkill /PID <PID> /F, atau Stop-Process -Id <PID> -Force.
  • Membuat skrip executable: chmod +x file.sh di Bash. Tidak berlaku di Windows.
  • Membuat symbolic link: ln -s target link, mklink link target, atau New-Item -ItemType SymbolicLink -Path link -Target target.
  • Melihat ukuran folder: du -sh nama_folder di Bash, dir nama_folder /s di CMD, Get-ChildItem nama_folder -Recurse | Measure-Object Length -Sum di PowerShell.

Pertanyaan yang sering diajukan

Kenapa touch tidak berfungsi di Windows CMD atau PowerShell?

touch adalah command Unix. Di CMD gunakan type nul > file.txt, dan di PowerShell gunakan New-Item file.txt. Di Git Bash, touch berfungsi seperti biasa.

Apakah Git Bash sama dengan Linux Terminal?

Untuk pekerjaan sehari-hari, ya. Git Bash meniru shell Unix di atas Windows, sehingga command di kolom Bash berfungsi di sana. Tool tingkat sistem seperti lsof mungkin tidak tersedia.

Shell mana yang sebaiknya dipilih web developer di Windows?

Pilih satu dan kuasai dengan baik. Git Bash memberi command yang sama dengan macOS dan Linux, membantu saat mengikuti tutorial atau deploy ke server. PowerShell lebih cocok kalau kamu membuat skrip untuk Windows itu sendiri.

Bagaimana cara menghafal semua command ini?

Pelajari set Bash lebih dulu karena paling banyak didokumentasikan, lalu petakan masing-masing ke padanannya di CMD atau PowerShell memakai daftar di atas. Alias seperti ls, cd, dan pwd di PowerShell membuat peralihan lebih mudah.

Sebelumnya di seri ini: Command web developer untuk Node.js, NPM, PHP, dan WP-CLI. Berikutnya: cheat sheet Git dan GitHub CLI.