Bash / command di Linux
Materi Basic Bash di Linux
1. Pengertian Bash
Bash adalah singkatan dari Bourne Again SHell. Bash merupakan salah satu shell yang digunakan pada sistem operasi Linux untuk berinteraksi dengan sistem melalui perintah teks.
Sederhananya:
User
β
Terminal
β
Bash / Shell
β
Linux
β
Hardware
Contohnya, daripada membuka folder dengan klik mouse, melalui Bash kita dapat mengetik:
cd /var/www
Untuk melihat isi folder:
ls
Bash juga dapat digunakan untuk membuat shell script, yaitu kumpulan perintah yang dijalankan secara otomatis.
2. Terminal, Shell, dan Bash
Ketiganya sering dianggap sama, padahal berbeda.
| Istilah | Pengertian |
|---|---|
| Terminal | Aplikasi/tempat kita mengetik perintah |
| Shell | Program yang menerjemahkan perintah pengguna |
| Bash | Salah satu jenis shell |
| Command | Perintah yang dijalankan, misalnya ls |
| Shell Script | File berisi kumpulan command |
Selain Bash, Linux juga memiliki shell lain seperti sh, zsh, fish, dan dash.
Untuk mengetahui shell yang digunakan:
echo $SHELL
Contoh hasil:
/bin/bash
3. Command Bash yang Sering Digunakan
Navigasi direktori
Melihat posisi direktori saat ini:
pwd
Contoh:
/home/user
Melihat isi direktori:
ls
Informasi lebih lengkap:
ls -l
Termasuk file tersembunyi:
ls -la
Masuk ke direktori:
cd nama_folder
Contoh:
cd /var/www
Kembali satu tingkat:
cd ..
Kembali ke home:
cd ~
Membuat file dan direktori
Membuat direktori:
mkdir latihan
Membuat beberapa direktori:
mkdir html css javascript
Membuat file kosong:
touch index.html
Contoh:
touch latihan.txt
Copy, pindah, dan rename
Copy file:
cp sumber.txt tujuan.txt
Contoh:
cp index.html index_backup.html
Copy direktori beserta isinya:
cp -r website website_backup
Memindahkan file:
mv file.txt /home/user/dokumen/
mv juga digunakan untuk rename:
mv lama.txt baru.txt
Menghapus file dan direktori
Menghapus file:
rm file.txt
Menghapus direktori kosong:
rmdir latihan
Menghapus direktori beserta isinya:
rm -r latihan
Memaksa penghapusan:
rm -rf latihan
Hati-hati dengan rm -rf, karena file yang dihapus dari command line umumnya tidak masuk Trash/Recycle Bin.
4. Melihat Isi File
Menampilkan seluruh isi file:
cat file.txt
Contoh:
cat /etc/os-release
Melihat bagian awal:
head file.txt
Melihat bagian akhir:
tail file.txt
Melihat 20 baris terakhir:
tail -20 file.txt
Sangat berguna untuk membaca log:
tail -f storage/logs/laravel.log
-f berarti terus mengikuti perubahan file secara real-time.
5. Membersihkan Terminal
clear
Shortcut yang umum:
Ctrl + L
6. Menampilkan Teks
Gunakan echo:
echo "Hello Linux"
Menyimpan hasil ke file:
echo "Belajar Linux" > latihan.txt
Menambahkan teks tanpa menghapus isi sebelumnya:
echo "Belajar Bash" >> latihan.txt
Perbedaannya:
> menimpa isi file
>> menambahkan ke akhir file
7. Mencari File
Menggunakan find:
find /home -name "index.html"
Mencari dari direktori sekarang:
find . -name "*.php"
Artinya mencari semua file dengan ekstensi .php.
8. Mencari Teks dengan grep
grep merupakan salah satu command Linux yang sangat penting.
Misalnya file:
Andi
Budi
Danish
Ahmad
Mencari Danish:
grep "Danish" siswa.txt
Mencari teks di banyak file secara rekursif:
grep -R "database" .
Menampilkan nomor baris:
grep -Rn "database" .
9. Pipe |
Pipe digunakan untuk mengirim output sebuah command menjadi input command lainnya.
Contoh:
ls -la | grep ".php"
Alurnya:
ls -la
β
|
β
grep ".php"
β
file PHP ditampilkan
Contoh lain:
ps aux | grep nginx
Digunakan untuk mencari proses yang mengandung kata nginx.
10. Informasi Sistem
Mengetahui user yang sedang login:
whoami
Informasi kernel/sistem:
uname -a
Hostname:
hostname
Penggunaan RAM:
free -h
Penggunaan disk:
df -h
Ukuran sebuah direktori:
du -sh /var/www
Contoh hasil:
2.4G /var/www
11. Melihat Proses
Melihat proses:
ps
Lebih lengkap:
ps aux
Mencari proses tertentu:
ps aux | grep nginx
Monitor proses secara real-time:
top
Jika tersedia, alternatif yang lebih nyaman:
htop
12. Permission Linux
Melihat permission:
ls -l
Contoh:
-rwxr-xr-x 1 user user 1024 Sep 27 script.sh
Permission utama:
r = read
w = write
x = execute
Mengubah permission:
chmod 755 script.sh
Atau:
chmod +x script.sh
Mengubah owner:
sudo chown user:user file.txt
Untuk direktori beserta isinya:
sudo chown -R user:user /var/www/project
13. sudo
sudo digunakan untuk menjalankan command dengan hak administratif.
Contoh:
sudo apt update
Install package:
sudo apt install nginx
Restart service:
sudo systemctl restart nginx
Melihat status:
sudo systemctl status nginx
14. Command Jaringan
Melihat IP:
ip addr
Versi singkat:
ip a
Tes koneksi:
ping google.com
Melihat port yang sedang listen:
ss -tulpn
Contohnya untuk mencari port 80:
ss -tulpn | grep :80
15. Download dengan curl dan wget
Mengakses URL:
curl https://example.com
Melihat header HTTP:
curl -I https://example.com
Download file:
wget https://example.com/file.zip
16. Compress dan Extract
Membuat file .tar.gz:
tar -czvf backup.tar.gz project/
Extract:
tar -xzvf backup.tar.gz
ZIP:
zip -r backup.zip project/
Extract ZIP:
unzip backup.zip
17. History Command
Melihat command yang pernah digunakan:
history
Mencari history:
history | grep docker
Shortcut yang sangat berguna:
β / β melihat command sebelumnya
Tab autocomplete
Ctrl + C menghentikan command
Ctrl + L membersihkan layar
Ctrl + A ke awal baris
Ctrl + E ke akhir baris
18. Ringkasan Command Penting
| Command | Fungsi |
|---|---|
pwd |
Melihat posisi direktori |
ls |
Melihat isi direktori |
cd |
Pindah direktori |
mkdir |
Membuat direktori |
touch |
Membuat file |
cp |
Copy |
mv |
Pindah/rename |
rm |
Hapus |
cat |
Melihat isi file |
head |
Melihat awal file |
tail |
Melihat akhir file |
grep |
Mencari teks |
find |
Mencari file |
echo |
Menampilkan teks |
clear |
Membersihkan terminal |
ps |
Melihat proses |
top |
Monitor proses |
free -h |
Melihat RAM |
df -h |
Melihat disk |
du -sh |
Melihat ukuran direktori |
chmod |
Mengubah permission |
chown |
Mengubah owner |
sudo |
Menjalankan sebagai administrator |
systemctl |
Mengelola service |
ip a |
Melihat IP/network |
ping |
Tes koneksi |
curl |
HTTP/request/download |
tar |
Compress/extract |
history |
Riwayat command |
Contoh latihan sederhana
Misalnya siswa diminta membuat struktur:
latihan_linux/
βββ html/
β βββ index.html
βββ backup/
Command-nya:
mkdir latihan_linux
cd latihan_linux
mkdir html
mkdir backup
cd html
touch index.html
echo "<h1>Belajar Linux</h1>" > index.html
cat index.html
cp index.html ../backup/
cd ..
ls -R
Latihan ini sekaligus mengenalkan navigasi direktori, membuat folder, membuat file, menulis file, membaca file, copy, dan melihat struktur direktori.