Membuat & Menghapus File — Terminal

Membuat File & Direktori touch — Membuat File Kosong # Buat satu file touch index.html # Buat beberapa file sekaligus touch style.css app.js README.md # Buat fi

Membuat File & Direktori

touch — Membuat File Kosong

# Buat satu file
touch index.html

# Buat beberapa file sekaligus
touch style.css app.js README.md

# Buat file di path tertentu
touch src/components/Header.jsx

touch juga mengupdate timestamp file jika file sudah ada (tidak menghapus isinya).

mkdir — Membuat Direktori

# Buat satu folder
mkdir components

# Buat nested folder (parent harus sudah ada)
mkdir src/components  # Error jika src belum ada!

# Buat nested folder + parent-nya sekaligus
mkdir -p src/components/ui

# Buat beberapa folder
mkdir css js images

Flag -p (parents) sangat penting — membuat semua folder yang belum ada di path.

echo & Redirect — Menulis ke File

# Tulis teks ke file baru (atau overwrite!)
echo "Hello World" > index.html

# Tambahkan teks ke akhir file (append)
echo "Baris baru" >> index.html

# Membuat file dengan beberapa baris
cat > config.json << EOF
{
  "name": "my-project",
  "version": "1.0.0"
}
EOF

Hati-hati! > akan menimpa seluruh isi file! Gunakan >> untuk menambahkan.

cp — Copy File/Direktori

# Copy file
cp index.html backup.html

# Copy ke direktori lain
cp index.html src/

# Copy dan rename
cp index.html src/home.html

# Copy direktori (butuh -r untuk recursive)
cp -r src/ src-backup/

# Copy semua file .js ke folder lain
cp *.js dist/

mv — Move/Rename File

# Rename file
mv oldname.js newname.js

# Pindahkan ke folder lain
mv app.js src/

# Pindahkan dan rename sekaligus
mv app.js src/main.js

# Pindahkan folder
mv components/ src/components/

# Pindahkan beberapa file
mv *.css styles/

Menghapus File & Direktori

rm — Remove File

# Hapus file
rm temp.txt

# Hapus dengan konfirmasi
rm -i important-file.txt
# rm: remove important-file.txt? y

# Hapus beberapa file
rm file1.txt file2.txt file3.txt

# Hapus semua file .log
rm *.log

rm -r — Remove Direktori

# Hapus folder dan isinya (recursive)
rm -r old-project/

# Hapus tanpa konfirmasi (BAHAYA!)
rm -rf node_modules/

PERINGATAN: rm -rf tidak bisa di-undo! Tidak ada "Recycle Bin" di terminal. Selalu double-check sebelum menghapus.

rmdir — Remove Empty Directory

# Hanya bisa hapus folder KOSONG
rmdir empty-folder/
# Gagal jika folder tidak kosong

Wildcard / Glob Patterns

Wildcard membantu memilih banyak file sekaligus:

Pattern Arti Contoh
* Cocok dengan apapun *.js — semua file .js
? Satu karakter apapun file?.txt — file1.txt, fileA.txt
[abc] Salah satu karakter file[123].txt — file1.txt, file2.txt
{a,b} Salah satu pilihan *.{js,ts} — semua .js dan .ts
# Hapus semua file .tmp
rm *.tmp

# Copy semua file JavaScript dan TypeScript
cp *.{js,ts} src/

# List file yang dimulai dengan "test"
ls test*

Tips Keamanan

  1. Selalu ls dulu sebelum rm untuk melihat apa yang akan dihapus
  2. Gunakan rm -i untuk konfirmasi per file
  3. Jangan pernah jalankan rm -rf / — ini menghapus SELURUH sistem!
  4. Pertimbangkan alias rm ke rm -i di .bashrc