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
- Selalu
lsdulu sebelumrmuntuk melihat apa yang akan dihapus - Gunakan
rm -iuntuk konfirmasi per file - Jangan pernah jalankan
rm -rf /— ini menghapus SELURUH sistem! - Pertimbangkan alias
rmkerm -idi.bashrc