# **PRAKTIKUM 3**

## **PERINTAH DASAR CLI LINUX DISTRO DEBIAN**

**PERSIAPAN PRAKTIKUM**

* Laptop/PC dengan Sistem Operasi minimal Windows 10
* Virtual Machine dengan Sistem Operasi Debian 13

**PERINTAH DASAR LINUX**

Untuk mengelola server Linux administrator sistem umumnya menggunakan CLI (command-line interface). Meskipun beberapa distribusi Linux memiliki GUI (antarmuka pengguna grafis), command atau perintah Linux akan lebih efisien dan fleksibel apabila dijalankan dengan CLI.

### **1. Verifikasi versi Debian**
>>> Step
```bash
cat /etc/os-release
```
hasilnya seperti berikut
```bash
root@tjkt-server:~# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 13 (trixie)"
NAME="Debian GNU/Linux"
VERSION_ID="13"
VERSION="13 (trixie)"
VERSION_CODENAME=trixie
DEBIAN_VERSION_FULL=13.3
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
root@tjkt-server:~#
```
>>> Step
```bash
lsb_release -a
```
hasilnya seperti berikut
```bash
root@tjkt-server:~# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 13 (trixie)
Release:        13
Codename:       trixie
root@tjkt-server:~#
```
>>>
### **2. Lokasi Direktori**

| **Perintah** | **Deskripsi**                   | **Contoh Perintah**       |
|--------------|---------------------------------|---------------------------|
| pwd          | Print Working Directory         | root@debian13:~# pwd      |
| cd           | Change Directory                | root@debian13:~# cd /home |
| cd ~         | cd ~                            | root@debian13:~# cd ~     |
| cd ..        | Naik satu level                 | root@debian13:~# cd ..    |
| cd -         | Kembali ke direktori sebelumnya | root@debian13:~# cd -     |

### **3. Melihat Isi Direktori**

| **Perintah** | **Opsi** | **Deskripsi** |
| --- | --- | --- |
| ls | Daftar file biasa |  |
| ls -l | Long format | Detail permission & ukuran |
| ls -la | All files | Termasuk file tersembunyi |
| ls -lh | Human readable | Ukuran mudah dibaca |

![](./perintahdasar/image_003.png)

![](./perintahdasar/image_004.png)

![](./perintahdasar/image_005.png)

![](./perintahdasar/image_006.png)

| **Tabel Permission Format** | | |
| --- | --- | --- |
| **Karakter** | **Arti** | **Numerik** |
| --- | --- | --- |
| r | Read (baca) | 4 |
| w | Write (tulis) | 2 |
| x | Execute (eksekusi) | 1 |
| - | No permission | 0 |
| d | Direktori / Folder |  |
| l | Link |  |

### **4. Pembuatan File & Direktori**
* Membuat direktori tunggal
```bash
mkdir praktikum
```
![](./perintahdasar/image_007.png)

* Buat direktori dengan parent
```bash
mkdir -p project/data/{2024,2025}
```
![](./perintahdasar/image_008.png)

* Buat file kosong
```bash
touch file1.txt
```
![](./perintahdasar/image_009.png)

```bash
touch report_{jan,feb,mar}.docx
```
![](./perintahdasar/image_010.png)

### **5. Operasi File Dasar**

| **Operasi** | **Perintah** | **Contoh** |
| --- | --- | --- |
| Copy | cp | root@debian13:~# cp file.txt backup |
| Move | mv | root@debian13:~# mv file.txt newname.txt |
| Delete | rm | root@debian13:~# rm oldfile.txt |
| Delete recursive | rm -r | root@debian13:~# rm -r folder/ |

!!!danger **Warning**
Perintah rm -rf /    
**dapat menghapus seluruh sistem!**
!!!

### **6. Membaca & Memanipulasi File**
* Perintah View File

Tampilkan seluruh konten

```bash
cat filename.txt
```
Tampilkan dengan navigasi

```bash
less largefile.log
```
**Gunakan: spasi=next, b=back, q=quit**

* Editor Nano/Pico

| **Shortcut** | **Fungsi** |
| --- | --- |
| ctrl+o | Save (Write Out) |
| ctrl+x | Exit |
| Ctrl+W | Search |
| Ctrl+K | Cut line |
| Ctrl+U | Paste |
| Ctrl+G | Help |

```bash
pico /etc/network/interfaces
```
### **7. Izin Dan Kepemilikan**
* Membuat folder Rekursif

Perintah di Linux untuk mengubah pemilik (user) dan grup dari file atau direktori menjadi www-data, yang merupakan akun standar untuk server web seperti Apache atau Nginx, memastikan server web memiliki hak akses yang benar untuk membaca dan mengelola file situs web Anda

```bash
chown -R www-data:www-data /var/www/html
```
### **8. Tugas**

Cobalah untuk membuat folder didalam /home dengan hasil akhir seperti berikut, gunakan perintah **tree praktikum** untuk melihat hasil akhir
```bash
praktikum
├── mapel
│   ├── produktif
│   │   ├── aij
│   │   ├── asj
│   │   └── pemrograman
│   └── umum
├── office
│   ├── excel
│   ├── ppt
│   └── word
└── tugas
    ├── kelompok
    └── mandiri

14 directories, 0 files
```

<https://musaamin.web.id/cara-mengecek-versi-debian/>

| Perintah Dasar Linux | Fungsi |
|----------------------|--------|
| **ls** | Mencantumkan konten direktori |
| **pwd** | Menampilkan path direktori kerja saat ini |
| **cd** | Mengubah direktori kerja |
| **mkdir** | Membuat direktori baru |
| **rm** | Menghapus file |
| **cp** | Menyalin file dan direktori, termasuk isinya |
| **mv** | Memindahkan atau mengganti nama file dan direktori |
| **touch** | Membuat file kosong baru |
| **file** | Memeriksa jenis file |
| **zip and unzip** | Membuat dan mengekstrak arsip ZIP |
| **tar** | Mengarsipkan file tanpa kompresi dalam format TAR |
| **nano, vi, and jed** | Mengedit file dengan editor teks |
| **cat** | Mencantumkan, menggabungkan, dan menulis isi file sebagai output standar |
| **grep** | Mencari string di dalam file |
| **sed** | Menemukan, mengganti, atau menghapus pola dalam file |
| **head** | Menampilkan sepuluh baris pertama file |
| **tail** | Menampilkan sepuluh baris terakhir file |
| **awk** | Menemukan dan memanipulasi pola dalam file |
| **sort** | Mengurutkan ulang isi file |
| **cut** | Membagi dan menampilkan baris dari sebuah file |
| **diff** | Membandingkan isi dari dua file dan perbedaannya |
| **tee** | Menampilkan output perintah di Terminal dan file |
| **locate** | Menemukan file dalam database sistem |
| **find** | Menunjukkan lokasi file atau folder |
| **sudo** | Menjalankan perintah sebagai superuser |
| **su** | Menjalankan program di shell saat ini sebagai user lain |
| **chmod** | Memodifikasi izin baca, tulis, dan eksekusi file |
| **chown** | Mengubah kepemilikan file, direktori, atau link simbolik |
| **useradd and userdel** | Membuat dan menghapus akun user |
| **df** | Menampilkan penggunaan ruang disk sistem secara keseluruhan |
| **du** | Memeriksa penggunaan penyimpanan file atau direktori |
| **top** | Menampilkan proses yang berjalan dan penggunaan resource sistem |
| **htop** | Berfungsi seperti **top**, tapi dengan antarmuka pengguna interaktif |
| **ps** | Membuat snapshot dari semua proses yang berjalan |
| **uname** | Menampilkan informasi tentang kernel, nama, dan hardware perangkat |
| **hostname** | Menampilkan hostname sistem |
| **time** | Menghitung waktu eksekusi perintah |
| **systemctl** | Mengelola layanan sistem |
| **watch** | Menjalankan perintah lain secara terus menerus |
| **jobs** | Menampilkan proses yang berjalan di shell beserta statusnya |
| **kill** | Menghentikan proses yang sedang berjalan |
| **shutdown** | Mematikan atau memulai ulang sistem |
| **ping** | Memeriksa konektivitas jaringan sistem |
| **wget** | Mendownload file dari URL |
| **curl** | Mengirimkan data antarserver menggunakan URL |
| **scp** | Menyalin file atau direktori dengan aman ke sistem lain |
| **rsync** | Menyinkronkan konten antardirektori atau perangkat |
| **lfconfig** | Menampilkan antarmuka jaringan sistem dan konfigurasinya |
| **netstat** | Menampilkan informasi jaringan sistem, seperti routing dan soket |
| **traceroute** | Memantau lompatan paket ke tujuannya |
| **nslookup** | Meminta informasi alamat IP domain dan sebaliknya |
| **dig** | Menampilkan informasi DNS, termasuk jenis record |
| **history** | Mencantumkan perintah yang dijalankan sebelumnya |
| **man** | Menampilkan panduan perintah |
| **echo** | Menampilkan pesan sebagai output standar |
| **ln** | Menautkan file atau direktori |
| **alias and unalias** | Menetapkan dan menghapus alias untuk file atau perintah |
| **cal** | Menampilkan kalender di Terminal |
| **apt-get** | Mengelola library paket distro berbasis Debian |

Perintah lain yang sering digunakan

| Perintah Dasar Linux | Fungsi |
|----------------------|--------|
| Help Command | debian-server:~# man ls |
| Ekstrak file tar.gz | debian-server:~# tar xfv nama-file.tar.gz |
| Install aplikasi zip | apt-get install unzip |
| Ekstrak file zip | debian-server:~# unzip nama-file.zip |
| Melihat isi suatu file | debian-server:~# more nama-file.txt |
|                        | debian-server:~# cat nama-file.txt |
| Multiple command (Pipelening) | debian-server:~# ifconfig | more |
|                               | debian-server:~# netstat –npltu | grep bind9 |
| Install file binary (.deb) | debian-server:~# dpkg –i nama-file.deb |
| | debian-server:~# dpkg –i *.deb |
| Melihat versi kernel | debian-server:~# uname –ar |
| | Linux debian5 2.6.26-1-686 #1 SMP Sat Jan 10 18:29:31 UTC 2009 i686 GNU/Linux |
| Melihat user yang aktif | debian-server:~# w |
| | USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT|
| | root pts/0 192.168.10.10 23:01 0.00s 0.08s 0.00s w |
| Menonaktifkan & Mengaktifkan layanan chating antar user | debian-server:~# mesg n |
| | debian-server:~# mesg y |
| Mengirim pesan chatting (mesg y) | debian-server:~# w |

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

root pts/0 192.168.10.10 23:01 0.00s 0.08s 0.00s w

debian pts/1 192.168.10.12 22.05 0.001 0.075 0.003 bash

debian-server:~# write debian

Hello debian, I Just send you a chatting message,

To end this, Just type (CTRL + D)

* Mengirim pesan massal untuk semua user (only root),

debian-server:~# wall

Hello all, this is a massal message,

To end this conversation, just type (CTRL + D)

* Shell web browser,

debian-server:~# apt-get install links

debian-server:~# links www.mansyurinIT.co.cc

* Informasi hardware,

debian-server:~# dmesg

[ 24.725970] eth0: no IPv6 routers present

[ 46.257277] lp0: using parport0 (interrupt-driven).

[ 46.286542] ppdev: user-space parallel port driver

[ 52.555532] warning: `ntpd' uses 32-bit capabilities (legacy support in use

* Alias Command

debian-server:~# alias daftar=ls –al

debian-server:~# daftar

drwxr-xr-x 11 root root 0 2011-03-28 22:59 sys

drwxrwxrwt 4 root root 4096 2011-03-28 23:15 tmp

drwxr-xr-x 11 root root 4096 2011-03-06 04:25 usr

debian-server:~# unalias daftar

* Auto StartUp Command,

debian-server:~# vim /etc/rc.local

# Put your command here, before exit script.

mount –t cifs //192.168.10.10/share/ /mnt/share/

exit 0

* Merubah hak akses direktori,

debian-server:~# chmod 755 [read only]

debian-server:~# chmod 777 [full access]

* Melihat partisi hardisk,

debian-server:~# cfdisk

* Informasi waktu,

debian-server:~# date

Mon Mar 28 23:34:44 EDT 2011.

debian-server:~# hwclock

Mon 28 Mar 2011 11:42:14 PM EDT -1.073425 seconds

* Eject CD/DVD,

debian-server:~# eject

* Melihat history command,

debian-server:~# history

561 free

562 ifconfig

565 history

* Task Manager,

debian-server:~# ps

PID TTY TIME CMD

2957 pts/0 00:00:00 bash

3111 pts/0 00:00:00 ps

debian-server:~# kill 3111

* Installasi tampilan desktop,

debian-server:~# tasksel

* Siapa aku,

debian-server:~# whoami

root

* Restart dan Shutdown,

debian-server:~# reboot

debian-server:~# poweroff

* Multi windows,

Tekan tombol ALT + (arah kanan)

* Menampilkan & Menyembunyikan desktop GUI.

Just press CTRL + ALT + F2 (for hiding)

And press CTRL + ALT + F8 (for normal)
