Disusun Oleh:
BAB I
PENDAHULUAN
1.1 Latar Belakang
Perkembangan teknologi informasi yang pesat dewasa ini
menuntut para mahasiswa Teknik Informatika untuk menguasai berbagai
keterampilan teknis yang relevan dengan kebutuhan industri. Salah satu
keterampilan fundamental yang wajib dikuasai adalah pengoperasian sistem
operasi berbasis Linux, khususnya melalui antarmuka baris perintah atau Command
Line Interface (CLI). Kemampuan ini menjadi semakin krusial mengingat dominasi
Linux sebagai platform server, sistem tertanam (embedded system), komputasi
awan (cloud computing), dan lingkungan pengembangan perangkat lunak di seluruh
dunia (Sanugommula H., 2020).
Sistem operasi Linux, terutama distribusi berbasis
Debian seperti Ubuntu, memiliki keunggulan signifikan dibandingkan sistem
operasi berbasis GUI (Graphical User Interface) dalam hal efisiensi sumber
daya, stabilitas, keamanan, serta fleksibilitas konfigurasi. Melalui CLI,
seorang administrator sistem atau pengembang perangkat lunak dapat mengeksekusi
perintah dengan presisi tinggi, mengotomatisasi tugas-tugas repetitif melalui
skrip shell, mengelola server jarak jauh melalui protokol SSH, serta mengakses
fungsi sistem yang tidak tersedia melalui antarmuka grafis.
Selain itu, penggunaan CLI terbukti lebih efisien
dalam hal konsumsi memori dan beban prosesor karena tidak memerlukan rendering
antarmuka grafis yang kompleks (Zhong & Jha, 2003). Hal ini sangat relevan
dalam konteks administrasi server produksi di mana stabilitas dan efisiensi
menjadi prioritas utama. Berdasarkan survei Stack Overflow Developer Survey
2023, Linux mendominasi sebagai sistem operasi pilihan para pengembang profesional,
dengan Ubuntu sebagai distribusi paling populer di kalangan pengguna Linux
(Stack Overflow, 2023).
Praktikum ini dirancang untuk memberikan pemahaman mendalam dan keterampilan praktis kepada mahasiswa dalam menggunakan perintah-perintah dasar CLI pada sistem operasi Ubuntu. Dengan menguasai perintah-perintah tersebut, mahasiswa akan memiliki fondasi yang kuat untuk mengeksplorasi topik-topik lanjutan seperti administrasi sistem, keamanan jaringan, pemrograman shell, dan pengelolaan infrastruktur berbasis cloud.
1.2 Rumusan Masalah
Berdasarkan latar belakang yang telah diuraikan, rumusan masalah dalam
praktikum ini adalah sebagai berikut:
- Apa saja
perintah-perintah dasar CLI yang tersedia pada sistem operasi Ubuntu dan
bagaimana cara penggunaannya secara efektif dalam manajemen file,
direktori, pengguna, hak akses, serta sistem dan paket perangkat lunak?
- Bagaimana mekanisme kerja
setiap perintah dasar CLI tersebut, termasuk sintaks, parameter, dan
output yang dihasilkan?
- Sejauh mana penggunaan
CLI pada distribusi Linux berbasis Debian, khususnya Ubuntu, dapat
meningkatkan efisiensi dan efektivitas pengelolaan sistem operasi
dibandingkan dengan penggunaan antarmuka grafis?
1.3 Tujuan Praktikum
Tujuan yang ingin dicapai melalui pelaksanaan praktikum ini adalah
sebagai berikut:
- Mahasiswa mampu
mengidentifikasi, memahami fungsi, dan mengaplikasikan perintah-perintah
dasar CLI pada sistem operasi Ubuntu, meliputi perintah manajemen file dan
direktori, manajemen pengguna dan hak akses, serta manajemen sistem dan
paket perangkat lunak.
- Mahasiswa mampu
menjelaskan mekanisme kerja setiap perintah dasar CLI, termasuk sintaks
yang benar, opsi/flag yang tersedia, dan cara menginterpretasikan output
yang dihasilkan oleh sistem.
- Mahasiswa mampu
mengevaluasi keunggulan penggunaan CLI dalam pengelolaan sistem operasi
berbasis Debian/Ubuntu dan menerapkannya dalam skenario praktis
administrasi sistem yang relevan.
BAB II
TINJAUAN PUSTAKA
2.1 Sistem Operasi
Sistem operasi (Operating System/OS) merupakan
perangkat lunak sistem yang bertindak sebagai perantara antara perangkat keras
komputer dengan pengguna dan aplikasi perangkat lunak. Sistem operasi memiliki
dua peran utama, yaitu sebagai manajer sumber daya (resource manager) dan
sebagai mesin yang diperluas (extended machine).
Sebagai manajer sumber daya, sistem operasi
bertanggung jawab untuk mengelola berbagai komponen perangkat keras secara
efisien, meliputi prosesor (CPU), memori utama (RAM), perangkat penyimpanan
(disk), dan perangkat input/output. Sistem operasi harus menjalankan
fungsi-fungsi utama, antara lain: pengembangan program (program development),
eksekusi program (program execution), akses ke perangkat I/O, akses terkontrol
ke file, akses ke sistem (system access), deteksi dan respons terhadap
kesalahan, serta akuntansi penggunaan sumber daya (Gautam 2023).
Dari perspektif arsitektur, sistem operasi modern
umumnya terdiri atas beberapa komponen utama, yaitu kernel (inti sistem
operasi), shell (antarmuka pengguna), sistem berkas (file system), manajer
proses, manajer memori, manajer perangkat, dan layanan jaringan (Merceedi 2021).
Kernel merupakan bagian terpenting yang berjalan dengan hak istimewa penuh
(privileged mode) dan menangani operasi-operasi inti seperti manajemen proses,
manajemen memori, dan komunikasi perangkat keras.
2.2 Sejarah dan Karakteristik Linux
Linux adalah sistem operasi kernel yang pertama kali
dikembangkan oleh Linus Benedict Torvalds, seorang mahasiswa ilmu komputer di
Universitas Helsinki, Finlandia, pada tahun 1991 (Rajagopal 2020). Torvalds
mengumumkan proyeknya melalui newsgroup comp.os.minix pada tanggal 25 Agustus
1991, menyatakan bahwa ia sedang mengerjakan sistem operasi bebas (gratis)
sebagai hobi untuk prosesor AT 386 dan 486. Proyek ini kemudian berkembang
pesat berkat kontribusi dari ribuan pengembang di seluruh dunia melalui model
pengembangan perangkat lunak sumber terbuka (open source).
Perkembangan Linux tidak dapat dipisahkan dari
filosofi perangkat lunak bebas yang dipopulerkan oleh Richard Matthew Stallman
melalui Proyek GNU (GNU's Not Unix) yang dimulai pada tahun 1983 (Book 2016).
Kombinasi antara kernel Linux dengan utilitas GNU menghasilkan sistem operasi
yang dikenal sebagai GNU/Linux. Dalam perkembangannya, sistem ini dilisensikan
di bawah GNU General Public License (GPL), yang memberikan kebebasan kepada
pengguna untuk menjalankan, mempelajari, memodifikasi, dan mendistribusikan
ulang perangkat lunak tersebut.
Linux memiliki beberapa karakteristik unggul yang
membedakannya dari sistem operasi proprietary. Menurut dokumentasi resmi The
Linux Foundation (2023), karakteristik utama Linux meliputi: (1) Multiuser -
mendukung banyak pengguna secara bersamaan dengan isolasi yang baik; (2)
Multitasking - mampu menjalankan banyak proses secara bersamaan; (3)
Portabilitas tinggi - dapat dijalankan pada berbagai arsitektur perangkat
keras; (4) Keamanan yang kuat - didukung oleh mekanisme permissions dan sistem
hak akses berbasis pengguna; (5) Stabilitas - dikenal memiliki uptime yang
sangat panjang tanpa perlu di-restart; (6) Open Source - kode sumber tersedia
secara bebas untuk dipelajari dan dimodifikasi; serta (7) Komunitas yang aktif
- didukung oleh jutaan pengembang dan pengguna aktif di seluruh dunia.
2.3 Keluarga Linux Debian dan Ubuntu
Debian GNU/Linux adalah salah satu distribusi Linux
tertua dan paling berpengaruh yang pertama kali dirilis pada tahun 1993 oleh
Ian Murdock (Banck 2012). Debian terkenal dengan komitmennya terhadap
prinsip-prinsip perangkat lunak bebas, stabilitas sistem yang sangat tinggi,
serta sistem manajemen paket dpkg dan APT (Advanced Package Tool) yang canggih.
Sistem manajemen paket APT memungkinkan pengguna untuk menginstalasi,
memperbarui, dan menghapus paket perangkat lunak dengan mudah dari repositori
resmi melalui perintah-perintah CLI yang intuitif.
Ubuntu adalah distribusi Linux berbasis Debian yang
dikembangkan oleh Canonical Ltd. dan pertama kali dirilis pada Oktober 2004. Nama
Ubuntu berasal dari filosofi Afrika Selatan yang berarti "kemanusiaan
terhadap sesama" (humanity towards others). Ubuntu dirancang dengan tujuan
utama untuk membuat Linux lebih mudah digunakan oleh pengguna umum sambil tetap
mempertahankan kekuatan dan fleksibilitas yang dimiliki Debian. Ubuntu mengikuti
siklus rilis enam bulanan dan menyediakan versi Long Term Support (LTS) setiap
dua tahun yang mendapat dukungan pembaruan keamanan selama lima tahun.
Ubuntu mengadopsi sistem manajemen paket APT dari
Debian dan menggunakan format paket .deb. Dalam ekosistem Ubuntu, terdapat
beberapa turunan populer seperti Kubuntu (dengan desktop KDE), Xubuntu (dengan
desktop Xfce), Lubuntu (dengan desktop LXQt), dan Ubuntu Server yang tidak
menyertakan antarmuka grafis. Ubuntu Server secara khusus dirancang untuk
lingkungan produksi server dan secara default menggunakan CLI sebagai antarmuka
utama, menjadikannya pilihan ideal untuk mempelajari administrasi sistem berbasis
CLI.
2.4 Konsep dan Anatomi CLI
Command Line Interface (CLI) atau antarmuka baris
perintah adalah jenis antarmuka pengguna yang memungkinkan interaksi dengan
sistem komputer melalui teks berbasis perintah (Sampath, Merrick, & Macvean
2021). Berbeda dengan Graphical User Interface (GUI) yang menggunakan elemen
visual seperti ikon, tombol, dan jendela, CLI mengharuskan pengguna untuk
mengetikkan perintah secara langsung melalui program yang disebut shell.
Shell adalah program yang bertindak sebagai jembatan
antara pengguna dengan kernel sistem operasi. Dalam buku "The Linux
Command Line", shell adalah program yang mengambil input dari keyboard dan
meneruskannya ke sistem operasi untuk dieksekusi. Shell yang paling umum
digunakan pada distribusi Linux modern adalah Bash (Bourne Again Shell), yang
merupakan peningkatan dari shell Bourne (sh) orisinal yang dikembangkan oleh
Stephen Bourne. Selain Bash, terdapat pula shell lain seperti Zsh (Z Shell),
Fish, dan Dash yang masing-masing memiliki fitur dan keunggulan tersendiri.
Anatomi sebuah perintah CLI pada Linux umumnya terdiri atas tiga bagian
utama:
•
Perintah (Command): nama
program atau utilitas yang ingin dijalankan, misalnya ls, cp, mkdir.
•
Opsi/Flag (Options/Flags):
modifier yang mengubah perilaku default perintah, biasanya diawali dengan tanda
hubung tunggal (-) untuk opsi pendek atau tanda hubung ganda (--) untuk opsi
panjang, misalnya -l, -a, --all, --recursive.
•
Argumen (Arguments): target
atau objek yang menjadi sasaran perintah, misalnya nama file, nama direktori,
atau alamat jaringan.
Sebagai contoh, perintah ls -la /home/user terdiri atas: ls sebagai
perintah, -la sebagai kombinasi opsi (l untuk format panjang dan a untuk
menampilkan file tersembunyi), serta /home/user sebagai argumen yang
menunjukkan direktori yang akan ditampilkan isinya.
Terminal atau terminal emulator adalah aplikasi yang
menyediakan antarmuka teks tempat shell berjalan (Fox 2021). Pada Ubuntu
desktop, terminal dapat diakses melalui aplikasi GNOME Terminal, sedangkan pada
Ubuntu Server, terminal merupakan antarmuka utama yang langsung tersedia
setelah proses login. Konsep prompt (tanda siap) pada shell Bash biasanya
ditampilkan dalam format username@hostname:direktori$ untuk pengguna biasa,
atau username@hostname:direktori# untuk pengguna root yang memiliki hak akses
penuh terhadap sistem.
BAB III
HASIL DAN PEMBAHASAN
Pada bab ini dipaparkan secara sistematis hasil
observasi dan praktikum penggunaan perintah-perintah dasar CLI pada sistem
operasi Ubuntu. Perintah-perintah tersebut dikelompokkan ke dalam tiga kategori
utama, yaitu: (1) Manajemen File dan Direktori, (2) Manajemen User dan Hak
Akses, serta (3) Manajemen Sistem dan Package. Setiap perintah dijelaskan
meliputi nama perintah, fungsi, sintaks, dan analisis output yang dihasilkan.
3.1 Perintah Manajemen File dan Direktori
Kelompok perintah ini mencakup operasi-operasi fundamental untuk
bernavigasi dalam sistem berkas Linux, membuat, menghapus, menyalin,
memindahkan, dan memanipulasi file serta direktori.
3.1.1 Perintah pwd (Print Working Directory)
Perintah pwd berfungsi untuk menampilkan jalur absolut (absolute path)
dari direktori kerja aktif (current working directory) tempat pengguna sedang
berada dalam hierarki sistem berkas Linux. Perintah ini sangat berguna untuk
memastikan lokasi kerja saat ini sebelum mengeksekusi perintah-perintah lain
yang bergantung pada posisi direktori.
Sintaks:
|
$ pwd |
Contoh Output:
|
/home/zanver |
Gambar 3.1: Hasil eksekusi perintah pwd
Output di atas menunjukkan bahwa pengguna sedang berada di direktori
/home/zanver, yaitu direktori home milik pengguna bernama zanver. Pada Linux,
setiap pengguna memiliki direktori home pribadi yang secara default berlokasi
di /home/[username]. Direktori ini menjadi direktori kerja awal setiap kali
pengguna melakukan login ke sistem.
3.1.2 Perintah ls (List Directory Contents)
Perintah ls digunakan untuk menampilkan daftar isi dari suatu direktori,
mencakup nama file dan subdirektori yang ada di dalamnya. Perintah ini
mendukung berbagai opsi yang memungkinkan pengguna untuk mengustomisasi
tampilan output sesuai kebutuhan.
Sintaks:
|
$ ls [opsi] [direktori] |
Variasi Penggunaan:
a) Perintah ls (dasar):
|
$ ls Desktop Documents
Downloads Music Pictures
Public Videos |
Gambar 3.2: Hasil eksekusi perintah ls
Output dasar ls menampilkan nama-nama file dan direktori dalam direktori
aktif. Direktori umumnya ditampilkan dengan warna biru (bergantung pada
konfigurasi terminal), sedangkan file biasa berwarna putih.
b) Perintah ls -l (Format
Panjang):
|
~$ ls -l total
127196 drwxr-xr-x
2 zanver zanver 4096 May 11 13:26
Desktop drwxr-xr-x
2 zanver zanver 4096 May 11 13:26
Documents drwxr-xr-x
2 zanver zanver 4096 May 23 08:17
Downloads drwxr-xr-x
2 zanver zanver 4096 May 11 13:26
Music drwxr-xr-x
3 zanver zanver 4096 May 23 08:14
Pictures drwxr-xr-x
2 zanver zanver 4096 May 11 13:26
Public drwxr-xr-x
2 zanver zanver 4096 May 11 13:26
Templates drwxr-xr-x
2 zanver zanver 4096 May 11 13:26
Videos -rw-rw-r--
1 zanver zanver 130210724 May 6 03:08
google-chrome-stable_current_amd64.deb drwx------
7 zanver zanver 4096 May 13 22:44
snap
|
Gambar 3.3: Hasil eksekusi perintah ls -l
Opsi -l menghasilkan output dalam format panjang (long listing format)
yang memuat informasi lengkap setiap entri. Kolom-kolom dalam output ls -l
memiliki arti sebagai berikut:
•
Kolom 1 (drwxr-xr-x): hak
akses (permissions) file/direktori dalam format rwx. Karakter pertama
menunjukkan tipe (d=direktori, -=file biasa, l=symbolic link). Tiga kelompok
berikutnya mewakili hak akses untuk pemilik (owner), grup (group), dan pengguna
lain (others).
•
Kolom 2 (angka): jumlah hard
link yang menunjuk ke inode tersebut.
•
Kolom 3 (zanver): nama pemilik file/direktori.
•
Kolom 4 (zanver): nama grup yang memiliki file/direktori tersebut.
•
Kolom 5 (4096): ukuran file
dalam byte.
•
Kolom 6-8 (May 11 13:26): tanggal dan waktu
terakhir modifikasi.
•
Kolom 9 (Desktop,
laporan.txt): nama file atau direktori.
c) Perintah ls -a (Tampilkan
File Tersembunyi):
|
$ ls -a . ..
.bash_history .bashrc .profile
Desktop Documents Downloads |
Gambar 3.4: Hasil eksekusi perintah ls -a
Opsi -a (all) menampilkan semua file termasuk file tersembunyi (hidden
files), yaitu file yang namanya diawali dengan titik (.). File . merujuk pada
direktori aktif itu sendiri, sedangkan .. merujuk pada direktori induk (parent
directory). File seperti .bashrc dan .profile merupakan file konfigurasi
tersembunyi yang dieksekusi secara otomatis saat pengguna login.
3.1.3 Perintah cd (Change Directory)
Perintah cd digunakan untuk berpindah dari satu direktori ke direktori
lain dalam hierarki sistem berkas. Pemahaman yang baik tentang perintah ini
sangat penting karena hampir semua operasi CLI bergantung pada posisi direktori
kerja aktif.
Sintaks:
|
$ cd [direktori_tujuan] |
Contoh Penggunaan:
|
$ pwd /home/zanver $
cd Documents $
pwd /home/taqiy/Documents $
cd .. $
pwd /home/zanver $
cd /var/log $
pwd /var/log $
cd ~ $
pwd /home/zanver |
Gambar 3.5: Hasil eksekusi perintah cd
Penjelasan variasi penggunaan cd:
•
cd Documents: berpindah ke
subdirektori Documents dalam direktori aktif (jalur relatif).
•
cd ..: berpindah ke direktori
induk (satu level ke atas).
•
cd /var/log: berpindah ke
direktori /var/log menggunakan jalur absolut.
•
cd ~ atau cd (tanpa argumen):
berpindah langsung ke direktori home pengguna aktif.
•
cd -: berpindah kembali ke
direktori sebelumnya.
3.1.4 Perintah mkdir (Make Directory)
Perintah mkdir digunakan untuk membuat direktori baru. Perintah ini
mendukung pembuatan satu direktori tunggal maupun struktur direktori bersarang
sekaligus.
Sintaks:
|
$ mkdir [opsi] nama_direktori |
Contoh Penggunaan:
|
$ mkdir praktikum_SO $
ls Desktop Music
Templates
praktikum_SO Documents Pictures
Videos snap Downloads Public
google-chrome-stable_current_amd64.deb $
mkdir -p Proyek/ModulA/Sumber $
ls -R Proyek Proyek: ModulA
Proyek/ModulA: Sumber
Proyek/ModulA/Sumber:
|
Gambar 3.6: Hasil eksekusi perintah mkdir
Opsi -p (parents) pada perintah mkdir -p memungkinkan pembuatan direktori
secara rekursif, artinya direktori induk yang belum ada akan dibuat secara
otomatis bersamaan dengan pembuatan direktori target. Tanpa opsi -p, perintah
mkdir akan mengembalikan pesan kesalahan jika direktori induk belum ada.
3.1.5 Perintah rmdir (Remove Directory)
Perintah rmdir digunakan khusus untuk menghapus direktori yang telah
kosong. Jika direktori masih berisi file atau subdirektori, perintah ini akan
menampilkan pesan kesalahan dan tidak akan menghapus direktori tersebut.
Sintaks:
|
$ rmdir [opsi] nama_direktori |
Contoh Penggunaan:
|
$ ls Desktop Music
Public
google-chrome-stable_current_amd64.deb Documents Pictures
Templates praktikum_SO Downloads Proyek
Videos snap $
rmdir praktikum_SO $
ls Desktop Music
Public
google-chrome-stable_current_amd64.deb Documents Pictures
Templates snap Downloads Proyek
Videos $
|
Gambar 3.7: Hasil eksekusi perintah rmdir
Apabila direktori yang ingin dihapus tidak kosong, rmdir akan
mengembalikan pesan kesalahan seperti di atas. Untuk menghapus direktori
beserta seluruh isinya, gunakan perintah rm -rf yang akan dijelaskan pada
subbab berikutnya.
3.1.6 Perintah rm (Remove Files or Directories)
Perintah rm digunakan untuk menghapus file atau direktori beserta seluruh
isinya. Berbeda dengan rmdir yang hanya dapat menghapus direktori kosong, rm
dengan opsi yang tepat mampu menghapus direktori berisi konten secara rekursif.
Sintaks:
|
$ rm [opsi] target |
Contoh Penggunaan:
|
$ rm tes.txt $
rm -i tes2.txt rm:
remove regular file 'tes2.txt'? y $
rm -rf praktikum_SO/ |
Gambar 3.8: Hasil eksekusi perintah rm
Penjelasan opsi-opsi penting pada perintah rm:
•
rm file.txt: menghapus file
tunggal tanpa konfirmasi.
•
rm -i file.txt: menghapus
file dengan meminta konfirmasi terlebih dahulu (interactive mode). Pengguna
harus mengetikkan y atau yes untuk mengonfirmasi penghapusan.
•
rm -r direktori/: menghapus
direktori dan seluruh isinya secara rekursif.
•
rm -rf direktori/: menghapus
direktori dan seluruh isinya secara rekursif dan paksa (force) tanpa meminta
konfirmasi apapun. Opsi -f akan mengabaikan file yang tidak ada dan tidak
menampilkan pesan kesalahan.
CATATAN: Perintah rm -rf bersifat permanen dan tidak dapat dibatalkan
karena Linux tidak memiliki mekanisme recycle bin pada level CLI. File yang
dihapus menggunakan perintah ini tidak dapat dipulihkan dengan mudah. Penggunaan
perintah ini memerlukan kehati-hatian yang sangat tinggi, terutama jika
dijalankan dengan hak akses root.
3.1.7 Perintah cp (Copy)
Perintah cp digunakan untuk menyalin file atau direktori dari satu lokasi
ke lokasi lain dalam sistem berkas. Perintah ini mempertahankan konten file
asal sementara membuat salinan di lokasi tujuan.
Sintaks:
|
$ cp [opsi] sumber tujuan |
Contoh Penggunaan:
|
$ cp tes.txt tes2.txt $
cp -r tes/ tes2/ |
Gambar 3.9: Hasil eksekusi perintah cp
Penjelasan opsi-opsi cp:
•
cp sumber tujuan: menyalin
file ke lokasi tujuan. Jika tujuan adalah nama file, hasil salinan akan dinamai
sesuai nama tersebut. Jika tujuan adalah direktori yang sudah ada, file akan
disalin ke dalam direktori tersebut.
•
cp -r sumber/ tujuan/: opsi
-r (recursive) diperlukan untuk menyalin direktori beserta seluruh isinya.
•
cp -v sumber tujuan: opsi -v
(verbose) menampilkan detail proses penyalinan yang sedang berlangsung.
•
cp -p sumber tujuan: opsi -p
(preserve) mempertahankan atribut file asli seperti timestamp dan permissions.
3.1.8 Perintah mv (Move/Rename)
Perintah mv memiliki dua fungsi utama: memindahkan file atau direktori
dari satu lokasi ke lokasi lain, dan mengubah nama (rename) file atau
direktori. Berbeda dengan cp, mv tidak membuat salinan melainkan memindahkan
objek tersebut sehingga file asal tidak lagi tersedia di lokasi semula.
Sintaks:
|
$ mv [opsi] sumber tujuan |
Contoh Penggunaan:
|
$ mv tes.txt tes |
Gambar 3.10: Hasil eksekusi perintah mv
Pada contoh pertama, mv digunakan untuk mengubah nama file dari
laporan_lama.txt menjadi laporan_baru.txt. Pada contoh kedua, file laporan.txt
dipindahkan ke direktori /home/taqiy/Documents/. Opsi -i (interactive) pada
contoh ketiga meminta konfirmasi sebelum menimpa file yang sudah ada di lokasi
tujuan.
3.1.9 Editor Teks: nano dan vim
Editor teks berbasis CLI merupakan alat penting dalam administrasi sistem
Linux. Dua editor yang paling umum digunakan adalah nano dan vim. Nano dikenal
lebih ramah bagi pengguna pemula, sedangkan vim (Vi Improved) merupakan editor
yang lebih powerful dengan kurva belajar yang lebih curam namun sangat efisien
bagi pengguna berpengalaman.
a) Editor nano:
Sintaks:
|
$ nano [opsi] nama_file |
Contoh Penggunaan:
|
$ nano simulasi_os.c GNU nano 8.7.1 simulasi_os.c #define
_GNU_SOURCE #include
<stdio.h> #include
<unistd.h> #include
<sys/types.h> #include
<sched.h> ^G
Get Help ^O Write Out ^W Where Is ^K Cut Text ^X
Exit ^R Read File ^\Replace ^U Paste Text |
Gambar 3.11: Hasil eksekusi perintah nano
Saat nano terbuka, bagian bawah layar menampilkan daftar shortcut
keyboard. Simbol ^ mewakili tombol Ctrl. Cara menggunakan nano:
•
Ctrl+O lalu Enter: menyimpan
file (Write Out).
•
Ctrl+X: keluar dari editor
nano.
•
Ctrl+W: mencari teks dalam
file.
•
Ctrl+K: memotong (cut) satu
baris teks.
•
Ctrl+U: menempelkan (paste)
teks yang telah dipotong.
b) Editor vim:
Sintaks:
|
$ vim nama_file |
Gambar 3.12: Hasil eksekusi perintah vim
Vim beroperasi dengan konsep mode. Mode utama vim meliputi:
•
Normal Mode (default): mode
navigasi dan perintah. Tekan Esc untuk kembali ke mode ini.
•
Insert Mode: mode pengeditan
teks. Masuk ke mode ini dengan menekan i, a, atau o.
•
Command Mode: mode untuk
perintah seperti menyimpan dan keluar, diawali dengan karakter :.
|
$ vim laporan.txt #
Perintah penting vim: i - masuk Insert Mode (sebelum kursor) Esc - kembali ke Normal Mode :w - menyimpan file :q - keluar (tanpa menyimpan) :wq - menyimpan dan keluar :q! - keluar paksa tanpa menyimpan dd - menghapus satu baris yy - menyalin satu baris p - menempelkan teks yang disalin |
3.1.10 Perintah clear
Perintah clear berfungsi untuk membersihkan tampilan terminal dari semua
output sebelumnya, sehingga layar terlihat bersih kembali. Perintah ini setara
dengan menekan kombinasi tombol Ctrl+L pada kebanyakan emulator terminal.
Sintaks:
|
$ clear |
Setelah perintah clear dieksekusi, seluruh teks yang sebelumnya
ditampilkan di terminal akan dibersihkan, dan prompt shell akan muncul kembali
di bagian atas layar. Perlu dicatat bahwa clear hanya membersihkan tampilan
visual; riwayat perintah (command history) tetap tersimpan dan dapat diakses
menggunakan tombol panah atas/bawah atau perintah history.
3.2 Perintah Manajemen User dan Hak Akses
Kelompok perintah ini berkaitan dengan pengelolaan hak akses file dan
direktori, kepemilikan objek sistem berkas, serta penggunaan hak istimewa
superuser dalam lingkungan Linux multi-pengguna.
3.2.1 Perintah chmod (Change Mode)
Perintah chmod digunakan untuk mengubah hak akses (permissions) sebuah
file atau direktori. Hak akses di Linux menentukan tindakan apa yang boleh
dilakukan oleh pemilik (owner), grup (group), dan pengguna lain (others)
terhadap suatu file atau direktori.
Hak akses direpresentasikan dengan tiga karakter untuk masing-masing
kategori pengguna:
•
r (read) = 4: hak untuk
membaca isi file atau melihat daftar isi direktori.
•
w (write) = 2: hak untuk
menulis/memodifikasi file atau membuat/menghapus file dalam direktori.
•
x (execute) = 1: hak untuk
mengeksekusi file sebagai program atau mengakses/menavigasi direktori.
Sintaks:
|
$ chmod [opsi] mode file |
Contoh Penggunaan (Notasi
Numerik/Oktal):
|
$ ls -l script.sh -rw-rw-r--
1 zanver zanver 0 May 23 09:26 script.sh
$
chmod 755 script.sh $
ls -l script.sh -rwxr-xr-x
1 zanver zanver 0 May 23 09:26 script.sh
$
chmod 600 data_rahasia.txt $
ls -l data_rahasia.txt -rw-------
1 zanver zanver 0 May 23 09:26 data_rahasia.txt |
Contoh Penggunaan (Notasi
Simbolik):
|
$ chmod u+x file.txt $
ls -l file.txt -rwxrw-r--
1 zanver zanver 0 May 23 09:26 file.txt
$
chmod g-w script.sh $
ls -l script.sh -rwxr-xr-x
1 zanver zanver 0 May 23 09:26 script.sh
$
chmod o+r data_rahasia.txt $
ls -l data_rahasia.txt -rw---r--
1 zanver zanver 0 May 23 09:26 data_rahasia.txt |
Gambar 3.13: Hasil eksekusi perintah chmod
Berdasarkan eksekusi di atas, modifikasi hak akses dilakukan dengan dua
cara. Secara numerik, perintah chmod 755 memberikan izin rwx (7=4+2+1)
untuk pemilik dan r-x (5=4+0+1) untuk grup serta others, sedangkan chmod
600 membatasi izin rw- (6) secara eksklusif untuk pemilik saja. Secara
simbolik, modifikasi menggunakan huruf target (u, g, o) dan operator (+,
-). Contohnya, u+x menambah hak eksekusi pada user, g-w mencabut hak
tulis dari grup, dan o+r memberikan izin baca bagi others.
3.2.2 Perintah chown (Change Owner)
Perintah chown digunakan untuk mengubah kepemilikan (ownership) sebuah
file atau direktori. Kepemilikan di Linux terdiri atas dua aspek: pemilik
individu (user owner) dan pemilik grup (group owner). Hanya pengguna root yang
dapat mengubah kepemilikan file milik pengguna lain.
Sintaks:
|
$ chown [opsi] pemilik[:grup] file |
Contoh Penggunaan:
|
$ ls -l laporan.txt -rw-rw-r--
1 zanver zanver 0 May 23 09:35 laporan.txt
$
sudo chown root laporan.txt $
ls -l laporan.txt -rw-rw-r--
1 root zanver 0 May 23 09:35 laporan.txt
$
sudo chown root:root web/html/index.html $
ls -l web/html/index.html -rw-rw-r--
1 root root 0 May 23 09:35 web/html/index.html
$
sudo chown -R zanver:zanver Proyek/ $
ls -l Proyek/ total
0 -rw-r--r--
1 zanver zanver 0 May 23 09:35 file1.txt -rw-r--r--
1 zanver zanver 0 May 23 09:35 file2.txt |
Pada contoh kedua, perintah chown mengubah pemilik file sekaligus grupnya
menjadi root dalam satu baris perintah menggunakan format pemilik:grup
(root:root). Selanjutnya pada contoh ketiga, opsi -R ditambahkan untuk
memberlakukan perubahan kepemilikan secara rekursif, yang berfungsi untuk
mengubah hak milik folder Proyek/ beserta seluruh subdirektori dan file di
dalamnya kembali kepada user dan grup zanver.
Gambar 3.14: Hasil eksekusi perintah chown
3.2.3 Perintah sudo (Superuser Do)
Perintah sudo (Superuser Do) memungkinkan pengguna yang memiliki izin
untuk menjalankan perintah dengan hak akses pengguna lain, paling umum sebagai
superuser (root). Penggunaan sudo merupakan praktik keamanan yang
direkomendasikan dibandingkan login langsung sebagai root, karena sudo mencatat
setiap perintah yang dieksekusi ke dalam log sistem (/var/log/auth.log) dan
membatasi durasi eskalasi hak akses.
Sintaks:
|
$ sudo [opsi] perintah |
Contoh Penggunaan:
|
$ touch /opt/laporan_rahasia.txt touch:
cannot touch '/opt/laporan_rahasia.txt': Permission denied
$
sudo touch /opt/laporan_rahasia.txt [sudo]
password for zanver:
$
ls -l /opt/laporan_rahasia.txt -rw-r--r--
1 root root 0 May 23 09:50 /opt/laporan_rahasia.txt
$
sudo rm /opt/laporan_rahasia.txt
$
sudo -i root@zanver-pc:~#
exit logout |
Gambar 3.15: Hasil eksekusi perintah sudo
Saat perintah sudo dieksekusi, sistem akan meminta kata sandi pengguna
(bukan kata sandi root). Setelah autentikasi berhasil, perintah akan dijalankan
dengan hak akses root. Opsi -i pada sudo membuka sesi shell root yang
interaktif. Opsi -l menampilkan daftar perintah yang diizinkan untuk pengguna
tersebut.
3.3 Perintah Manajemen Sistem dan Package
Kelompok perintah ini mencakup operasi-operasi yang berkaitan dengan
manajemen paket perangkat lunak menggunakan APT (Advanced Package Tool) yang
merupakan sistem manajemen paket standar pada distribusi berbasis
Debian/Ubuntu.
3.3.1 Perintah apt update
Perintah apt update digunakan untuk memperbarui (refresh) daftar paket
yang tersedia dari semua repositori yang terdaftar dalam file konfigurasi
/etc/apt/sources.list dan direktori /etc/apt/sources.list.d/. Perintah ini
tidak menginstalasi atau memperbarui paket apapun, melainkan hanya
menyinkronkan metadata daftar paket dari server repositori.
Sintaks:
|
$ sudo apt update |
Contoh Output:
|
$ sudo apt update [sudo:
authenticate] Password: Get:1
https://dl.google.com/linux/chrome-stable/deb stable InRelease [1,825 B] Get:2
https://dl.google.com/linux/chrome-stable/deb stable/main amd64 Packages
[1,219 B] Hit:3
http://archive.ubuntu.com/ubuntu resolute InRelease Get:4
http://security.ubuntu.com/ubuntu resolute-security InRelease [136 kB] Get:5
http://security.ubuntu.com/ubuntu resolute-security/main amd64 Components
[2,848 B] Get:6
http://archive.ubuntu.com/ubuntu resolute-updates InRelease [136 kB] Get:7
http://security.ubuntu.com/ubuntu resolute-security/universe amd64 Packages
[44.8 kB] Get:8
http://security.ubuntu.com/ubuntu resolute-security/universe Translation-en
[15.6 kB] Get:9
http://security.ubuntu.com/ubuntu resolute-security/universe amd64 Components
[20.6 kB] Hit:10
http://archive.ubuntu.com/ubuntu resolute-backports InRelease Get:11
http://archive.ubuntu.com/ubuntu resolute-updates/main amd64 Packages [90.4
kB] Get:12
http://archive.ubuntu.com/ubuntu resolute-updates/main amd64 Components
[9,956 B] Get:13
http://archive.ubuntu.com/ubuntu resolute-updates/main Icons (48x48) [2,984
B] Get:14
http://archive.ubuntu.com/ubuntu resolute-updates/main Icons (64x64) [6,830
B] Get:15
http://archive.ubuntu.com/ubuntu resolute-updates/main Icons (128x128) [14.3
kB] Get:16
http://archive.ubuntu.com/ubuntu resolute-updates/universe amd64 Packages
[47.3 kB] Get:17
http://archive.ubuntu.com/ubuntu resolute-updates/universe Translation-en
[16.3 kB] Get:18
http://archive.ubuntu.com/ubuntu resolute-updates/universe amd64 Components
[27.4 kB] Get:19
http://archive.ubuntu.com/ubuntu resolute-updates/multiverse amd64 Packages
[3,328 B] Get:20
http://archive.ubuntu.com/ubuntu resolute-updates/multiverse Translation-en
[772 B] Fetched
578 kB in 2s (261 kB/s) 4
packages can be upgraded. Run 'apt list --upgradable' to see them. $
|
Gambar 3.16: Hasil eksekusi perintah apt update
Output dari apt update menampilkan status pengambilan metadata dari
setiap repositori. Hit menandakan metadata tidak berubah, sedangkan Get
menandakan metadata baru diunduh. Baris terakhir menginformasikan jumlah paket
yang tersedia untuk diperbarui.
3.3.2 Perintah apt install
Perintah apt install digunakan untuk menginstalasi satu atau lebih paket
perangkat lunak beserta semua dependensinya dari repositori. APT secara
otomatis menghitung dan menginstalasi paket-paket yang diperlukan oleh paket
target (dependency resolution).
Sintaks:
|
$ sudo apt install nama_paket
[nama_paket2 ...] |
Contoh Penggunaan:
|
$ sudo apt install tree Installing: tree
Summary: Upgrading: 0, Installing: 1, Removing: 0,
Not Upgrading: 4 Download size: 53.5 kB Space needed: 125 kB / 58.4 GB available
Get:1
http://archive.ubuntu.com/ubuntu resolute/universe amd64 tree amd64 2.3.1-1
[53.5 kB] Fetched
53.5 kB in 0s (171 kB/s) Selecting
previously unselected package tree. (Reading
database… 272232 files and directories currently installed.) Preparing
to unpack …/tree_2.3.1-1_amd64.deb… Unpacking
tree (2.3.1-1)… Setting
up tree (2.3.1-1)… Processing
triggers for man-db (2.13.1-1build1)… $
|
Gambar 3.17: Hasil eksekusi perintah apt install
Output apt install menampilkan ringkasan paket yang akan diinstalasi,
diperbarui, atau dihapus, beserta estimasi ruang disk yang diperlukan. Sistem
akan meminta konfirmasi sebelum memulai proses instalasi. Opsi -y (yes) dapat
ditambahkan untuk melewati konfirmasi dan menjawab ya secara otomatis untuk
semua pertanyaan, yang berguna dalam skrip otomatisasi.
Perintah-perintah APT lainnya yang sering digunakan:
|
$ sudo apt upgrade $
sudo apt remove nama_paket $
sudo apt purge nama_paket $
sudo apt autoremove $
apt search nama_paket $
apt show nama_paket |
apt upgrade memperbarui semua paket yang terinstalasi ke versi terbaru.
apt remove menghapus paket tanpa menghapus file konfigurasi, sedangkan apt
purge menghapus paket beserta file konfigurasinya. apt autoremove menghapus
paket-paket dependensi yang tidak lagi diperlukan oleh paket apapun.
BAB IV
PENUTUP
4.1 Kesimpulan
Berdasarkan pelaksanaan praktikum yang telah
dilakukan, dapat ditarik kesimpulan bahwa penguasaan perintah-perintah dasar
CLI pada sistem operasi Ubuntu (distribusi berbasis Debian) merupakan
kompetensi fundamental yang sangat penting bagi mahasiswa Teknik Informatika
dan calon administrator sistem. Melalui praktikum ini, telah berhasil
dipelajari dan dipraktikkan tiga kelompok utama perintah CLI, yaitu manajemen
file dan direktori (pwd, ls, cd, mkdir, rmdir, rm, cp, mv, touch, cat, grep,
nano, vim, dan clear), manajemen user dan hak akses (chmod, chown, dan sudo),
serta manajemen sistem dan paket perangkat lunak (apt update dan apt install).
CLI terbukti memberikan kemudahan dan efisiensi yang
signifikan dalam pengelolaan sistem operasi berbasis Debian/Ubuntu. Kemampuan
untuk mengeksekusi operasi-operasi kompleks dengan perintah yang ringkas,
mengotomatisasi tugas-tugas berulang melalui skrip shell, serta mengelola
sistem dari jarak jauh melalui koneksi SSH menjadikan CLI sebagai alat yang
tidak tergantikan dalam administrasi sistem skala produksi. Setiap perintah CLI
memiliki sintaks dan opsi yang terstandarisasi, sehingga ketika pengguna telah
memahami pola dasar penggunaannya, keterampilan tersebut dapat ditransfer dan
diterapkan secara konsisten di berbagai distribusi Linux lainnya.
Konsep hierarki sistem berkas Linux, mekanisme hak
akses berbasis pengguna dan grup, serta sistem manajemen paket APT yang
terintegrasi merupakan fondasi penting yang harus dipahami secara mendalam.
Pemahaman yang solid terhadap konsep-konsep ini akan mempersiapkan mahasiswa
untuk menghadapi tantangan administrasi sistem yang lebih kompleks di masa
mendatang.
4.2 Saran
Beberapa saran yang dapat diberikan kepada praktikan untuk pelaksanaan
praktikum selanjutnya adalah sebagai berikut:
- Berhati-hati dalam
menggunakan perintah-perintah yang bersifat destruktif dan irreversible,
terutama rm -rf, dengan hak akses root/sudo. Selalu verifikasi direktori
kerja aktif menggunakan pwd sebelum mengeksekusi perintah penghapusan, dan
pertimbangkan untuk menggunakan opsi -i (interactive) yang meminta
konfirmasi sebelum penghapusan.
- Biasakan untuk selalu
menjalankan sudo apt update sebelum menginstalasi paket baru, guna
memastikan daftar paket yang tersedia selalu mutakhir dan menghindari
instalasi versi paket yang sudah usang.
- Praktikkan penggunaan tab
completion (menekan tombol Tab) untuk melengkapi nama file, direktori, dan
perintah secara otomatis, serta manfaatkan riwayat perintah (command
history) menggunakan tombol panah atas untuk menghemat waktu pengetikan.
- Pelajari dan biasakan
membaca halaman manual (man pages) untuk setiap perintah yang digunakan
dengan cara mengetikkan man nama_perintah, misalnya man ls atau man chmod,
untuk memahami semua opsi dan penggunaan lanjutan yang tersedia.
- Terapkan prinsip least privilege dalam setiap operasi sistem, yaitu hanya gunakan sudo atau hak akses root ketika benar-benar diperlukan, dan segera kembali ke mode pengguna biasa setelah operasi selesai dilakukan.
DAFTAR PUSTAKA
Banck, M. (2012). Packaging free software chemistry programs in Debian
GNU/Linux: past, present and future. Journal of Cheminformatics, 4, F4 - F4.
Book, S. (2016). Free Software Free Society Selected Essays Of.
Fox, R. (2021). Bash. Linux with Operating System Concepts.
Gautam, R., Pareek, K., Singhal, S., & Aggarwal, H. (2023).
IMPORTANCE OF OPERATING SYSTEM: A REVIEW. Industrial Engineering Journal.
Malallah, H., Zeebaree, S., Zebari, R., Sadeeq, M., Ageed, Z., Ibrahim,
I., Yasin, H., & Merceedi, K. (2021). A Comprehensive Study of Kernel
(Issues and Concepts) in Different Operating Systems. Asian Journal of Research
in Computer Science.
Rajagopal, R. (2020). A Quick Overview Of Linux. Local Area Network..
Sampath, H., Merrick, A., & Macvean, A. (2021). Accessibility of
Command Line Interfaces. Proceedings of the 2021 CHI Conference on Human
Factors in Computing Systems.
Sanugommula, H. (2020). The Evolutionary Path and Influence of Linux
Operating Systems. International Journal For Multidisciplinary Research..
Stack Overflow. (2023). Stack Overflow Developer Survey 2023.
Zhong, L., & Jha, N. (2003). Graphical user interface energy
characterization for handheld computers. 232-242.

















Tidak ada komentar:
Posting Komentar