2.13 Umask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
2.14 Latihan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
v2.21
Daftar Tabel
Tujuan
1. Mahasiswa mengenal Sistem Operasi GNU/Linux
2. Mahasiswa mengenal perintah-perintah dasar di GNU/Linux
3. Mahasiswa mampu melakukan administrasi dasar GNU/ Linux pada mode ter-
minal
45
Sistem Operasi GNU/Linux Bab 2. Perintah Dasar GNU/Linux
Free and Open Source Software (atau disingkat FOSS) adalah sebutan untuk per-
angkat lunak yang dapat dengan bebas digunakan, dipelajari, disalin, diubah sesuai
kebutuhan, disebarluaskan kembali, dan kode sumbernya terbuka sehingga memung-
kinkan pengguna untuk ikut mengembangkan. Hal ini berbanding terbalik dengan
Proprietary Software (perangkat lunak milik individu) dimana pengembang cenderung
membatasi kontrol pengguna terhadap perangkat lunak dan menutup kode sumbernya.
FOSS juga seringkali ditulis FLOSS (Free/Libre and Open Source Software). Ka-
ta ‘Libre’ (yang dalam bahasa Perancis berarti ‘bebas’) ditambahkan untuk menegaskan
bahwa FOSS memiliki arti ‘Perangkat Lunak Bebas dan Sumber Terbuka’, bukan ‘Per-
angkat Lunak Gratis dan Sumber Terbuka’. FOSS merujuk pada konsep ‘Free Software’
dan ‘Open Source Software’
v2.21 46
Sistem Operasi GNU/Linux Bab 2. Perintah Dasar GNU/Linux
oleh siapapun). Ketentuan distribusi Open Source Software harus sesuai dengan krite-
ria yang ditetapkan oleh OSI (Open Source Initiative). Kriteria ini berhubungan dengan
bagaimana kode sumber dapat diakses, dimodifikasi, digunakan, dan didistribusikan.
Adapun 10 kriteria yang ditetapkan oleh OSI adalah sebagai berikut:
1. Pendistribusian ulang secara bebas (Free Redistribution)
Lisensi tidak boleh membatasipihak mana pun untuk menjual atau memberi se-
cara gratis perangkat lunak sebagai sebuah komponen dari distribusi perangkat
lunak agregat yang mengandung program-program dari berbagai sumber yang
berbeda. Lisensi tidak boleh mensyaratkan pembayaran royalti ataupun biaya la-
in untuk penjualan semacam itu.
2. Kode Program (Source code)
Program harus menyertakan source code, dan harus mengizinkan distribusi da-
lam bentuk source selain dalam bentuk terkompilasi. Dalam hal terdapat bentuk
produk yang tidak menyertakan source code, maka haruslah terdapat cara yang
terpublikasi untuk memperoleh source code dengan harga yang tidak lebih dari
biaya reproduksi, atau lebih baik lagi dengan mengunduh dari internet tanpa bi-
aya. Source code haruslah dalam bentuk yang memudahkan pemrogram untuk
mengubah program. Mengaburkan source code secara sengaja atau bentuk antara
seperti misalnya keluaran preprosesor atau translator tidaklah diperbolehkan.
3. Hasil karya turunan (Derived Works)
Lisensi harus memperbolehkan modifikasi dan hasil karya turunan, dan memper-
bolehkan untuk diedarkan dalam persyaratan yang sama dengan lisensi semula.
4. Integritas Source Code Asli (Integrity of The Author’s Source Code)
Lisensi diperbolehkan untuk membatasi pengedaran source code dalam bentuk
termodifikasi hanya jika lisensi tersebut mengizinkan distribusi “berkas perbaik-
an” bersama dengan source code dengan tujuan memodifikasi source code pada
saat kompilasi program. Lisensi harus secara eksplisit mengizinkan distribusi pro-
gram yang dihasilkan dari source code termodifikasi. Lisensi dapat mengharusk-
an program hasil distribusi untuk menggunakan nama atau versi yang berbeda
dari perangkat lunakaslinya.
5. Tidak ada diskriminasi orang/kelompok ( No Discrimination Against Persons or
Groups)
Lisensi tidak boleh melakukan diskriminasi terhadap orang atau kelompok.
6. Tidak ada diskriminasi bidang usaha (No Discrimination Against Fields of Ende-
avor) Lisensi tidak boleh membatasi pengguna untuk menggunakannya dalam
bidang-bidang tertentu. Sebagai contoh, lisensi tidak boleh membatasi sebuah
program untuk digunakan dalam lingkungan usaha atau digunakan dalam riset
genetika.
7. Distribusi Lisensi (Distribution of License) Hak-hak yang terkait dengan program
harus berlaku bagi semua pihak yang menerima distribusi ulang tanpa membu-
tuhkan lisensi khusus dari pihak-pihak tersebut.
8. Lisensi tidak boleh bersifat spesifik pada sebuah produk (License Must Not Be
Specific to a Product) Hak-hak yang terkait tidak boleh bergantung pada distribusi
v2.21 47
Sistem Operasi GNU/Linux Bab 2. Perintah Dasar GNU/Linux
v2.21 48
Sistem Operasi GNU/Linux Bab 2. Perintah Dasar GNU/Linux
termasuk baru jika dibanding dengan lisensi hak cipta yang berkembang atau dikenal
masyarakat dewasa ini.
Proyek pengembangan GNU berdiri pada tahun 1984 oleh Richard Matthew Sta-
llman yang kesehariannya bekerja sebagai karyawan MIT. Tujuan dari proyek GNU ini
adalah untuk mengembangkan software-software dengan penuh kebebasan (free sof-
tware).
Free software ini berarti kebebasan bagi setiap orang untuk melihat source code,
kebebasan untuk mempelajari, serta kebebasan dalam mengembangkannya. Pada ta-
hun 1989 Richard Stallman mendeklarasikan sebuah lisensi terhadap proyek GNU yang
beliau kembangkan dalam kurung waktu 5 tahun. Richard M. Stallman mendeklarasik-
an GNU Public License (GPL). Hak lisensi ini lebih tertuju kepada lisensi copyleft yang
tentu saja sangat berbeda dengan hak lisensi copyright.
Proyek GNU terus dikembangkan dalam pembuatan software dan utilitas yang
free. Pengembangannya dilakukan secara terpisah. (Misalnya, Linus Torvalds terus
menulis kode kernel, Donald Knuth membuat standar textformater (Tex), Bob Scheifler
mengembangkan XWindows)
Dalam proyek GNU ini digunakan dua bentuk lisensi yang bertujuan untuk me-
lindungi kebebasan secara legal, yakni :
1. Copyleft
Siapapun yang mendistribusikan ulang program dengan atau tanpa perubahan
harus memberikan kebebasan juga untuk didistribusikan lagi atau dirubah. Co-
pyleft menjamin setiap pengguna memiliki kebebasan
2. Non-copyleft
Siapapun yang mendistribusikan atau merubah harus mendapat izin dari yang
membuat program.
Copyleft adalah bagian dari open source. Bertentangan dengan apa yang mung-
kin tersirat dari istilah tersebut, copyleft bukanlah kebalikan dari hak cipta. Faktanya,
copyleft didasarkan pada konsep hak cipta, yang tanpanya copyleft tidak akan ada. Se-
belum seseorang dapat melisensikan perangkat lunak di bawah lisensi copyleft, mereka
harus terlebih dahulu memiliki hak cipta atas perangkat lunak tersebut, sehingga mem-
beri mereka hak untuk mendistribusikannya.
Misalnya, Marijan memiliki hak cipta atas perangkat lunak asli, yang ia putuskan
untuk didistribusikan di bawah lisensi copyleft. Gemma mengunduh perangkat lunak
Marijan, memodifikasinya, dan kemudian mendistribusikan versi modifikasinya. Gem-
ma harus mendistribusikan versi modifikasinya di bawah lisensi copyleft yang sama
dengan yang digunakan Marijan. Siapapun yang kemudian memodifikasi versi Gem-
ma juga harus mendistribusikannya menggunakan lisensi copyleft Marijan yang sama.
v2.21 49
Sistem Operasi GNU/Linux Bab 2. Perintah Dasar GNU/Linux
2.3 GNU/Linux
Istilah Linux atau GNU/Linux (GNU) digunakan sebagai rujukan kepada
keseluruhan distro Linux (Linux distribution), yang di dalamnya disertakan
program-program lain pendukung sistem operasi. GNU dan LInux adalah
satu kesatuan software yang saling terintegrasi membentuk sebuah sistem
operasi.
Pada tahun 1969, Ken Thompson dan Dennis Ritchie (juga adalah developer ba-
hasa C), para peneliti di AT&T Bell Laboratorium Amerika, membuat sistem operasi
UNIX, cikal bakal dari Linux. UNIX mendapatkan perhatian besar karena merupakan
sistem operasi pertama yang dibuat bukan oleh hardware maker. Selain itu juga karena
seluruh source code-nya dibuat dengan bahasa C, sehingga mempermudah peminda-
hannya ke berbagai platform.
Dalam waktu singkat UNIX berkembang dalam dua jalur : UNIX yang dikem-
bangkan oleh Universitas Berkeley dan yang dikembangkan oleh AT&T. Setelah itu mu-
lai banyak perusahaan yang melibatkan diri, dan terjadilah persaingan yang melibatkan
banyak perusahaan untuk memegang kontrol dalam bidang sistem operasi. Persaingan
ini menyebabkan perlu adanya standarisasi. Dari sini lahirlah proyek POSIX yang di-
motori oleh IEEE (The Institute of Electrical and Electronics Engineers) yang bertujuan
untuk menetapkan spesifikasi standar UNIX. Sejak saat itu, muncul berbagai macam
jenis UNIX.
Salah satu diantaranya adalah MINIX yang dibuat oleh A. S. Tanenbaum untuk
tujuan pendidikan. Source code MINIX inilah yang oleh Linus Torvalds, seorang maha-
siswa Universitas Helsinki pada waktu itu, kemudian dijadikan sebagai referensi untuk
membuat sistem operasi baru yang gratis dan yang source codenya bisa diakses oleh
umum. Sistem operasi ini kemudian diberi nama Linux. Dalam membangun Linux,
Linus menggunakan tool-tool dari Free Foundation Software yang berlisensi GNU. Ke-
mudian untuk menjadikan Linux sebuah sistem operasi yang utuh, dia memasukkan
program-program yang juga berlisensi GNU.Salah satu diantaranya adalah
Mulanya LINUS TORVALDS sekedar emulasi terminal yang saat itu ia butuhkan
untuk mengakses server UNIX di Universitas tempat ia menuntut ilmu. Torvalds menu-
lis program dengan pendekatan yang berorientasi kepada hardware dan independen
terhadap sistem operasi yang ada karena ia ingin menggunakan PC yang telah terta-
nam prosesor intel tipe 80386 secara optimal (keluarga x86 sampai saat ini telah menjadi
standar). Sebagai rujukan Torvalds menggunakan Sistem Minix dan kompiler GNU-C-
Compiler (GCC). MINIX dibuat oleh A. S. Tanenbaum untuk tujuan pendidikan. So-
urce code MINIX inilah yang oleh Linus Torvalds, dijadikan sebagai referensi untuk
membuat sistem operasi baru yang gratis dan source codenya bisa diakses oleh umum.
Seperti ditulis dalam bukunya (bersama David Diamond, 2001), Torvalds kemu-
dian menyadari bahwa apa yang dibuatnya itu ternyata merupakan basis sebuah sistem
operasi. Pada hari bersejarah 25 Augustus 1991 ia kemudian memposting email ke milis
v2.21 50
Sistem Operasi GNU/Linux Bab 2. Perintah Dasar GNU/Linux
pengguna Minix: comp.os.minix yang isinya selalu dikutip sebagai sebuah proklamasi
lahirnya Linux :
Saat dirilis, Linux sudah dapat menjalankan shell bash, gcc compiler, GNU ma-
ke, GNU sed, compress dan proyek GNU telah menghasilkan hampir semua kompo-
nen sistem ini-kecuali kernel. Torvalds dan pembuat kernel seperti Linux menyesua-
ikan kernel mereka supaya dapat berfungsi dengan komponen GNU, dan seterusnya
mengeluarkan Sistem operasi yang cukup berfungsi. Linux disebarkan secara luas dan
gratis dibawah lisensi GNU General Public Licence (GPL). Dengan lisensi GNU maka
program lengkap dengan source kode dari aplikasi-aplikasi lainnya diberikan secara
bebas.
Secara teknis dan singkat dapat dikatakan, GNU/Linux adalah suatu sistem ope-
rasi yang bersifat multi user dan multi tasking, yang dapat berjalan di berbagai platform
termasuk prosesor Intel 386 maupun yang lebih tinggi. Sistem operasi ini mengimple-
mentasikan standar POSIX. Linux dapat berinteroperasi secara baik dengan sistem ope-
rasi yang lain, termasuk Apple, Microsoft dan Novell.
v2.21 51
Sistem Operasi GNU/Linux Bab 2. Perintah Dasar GNU/Linux
v2.21 52
Sistem Operasi GNU/Linux Bab 2. Perintah Dasar GNU/Linux
lau komputer kita menggunakan pentium ke atas, umumnya Linux bisa jalan le-
bih cepat dengan Mandrake.
6. WinLinux, distro yang dirancang untuk diinstall di atas partisi DOS (WIndows).
Jadi untuk menjalankannya bisa di-klik dari Windows. WinLinux dibuat seakan-
akan merupakan suatu program aplikasi under Windows.
Linux runs more than two-thirds of the servers on the Internet, all Android phones,
most consumer network gear, such as NetGear and Linksys devices, 99% of the top
supercomputers in the world, many Internet of Things (IoT) devices, Tesla cars, and
even PlayStation gaming consoles.
Tugas Lab-1 :
Pilihlah salah satu distro berikut ini : (a) archLinux, (b) Debian, (c) Fedora, (d) Open
SuSe, (e) Slackware dan lain-lain kemudian jelaskan mengenai :
1. Perusahaan/ Pengembang,
2. Logo Distro,
3. Status terkini,
4. Model Sumber,
5. Rilis Perdana,
6. Rilis Stabil Terkini,
7. Target Pemasaran,
8. Metode Pemutakiran,
9. Pengelolaan Paket,
10. Dukungan Platform,
11. Jenis Kernel,
12. Ruang Pengguna,
13. Antarmuka,
14. Lisensi, dan
15. Situs Web Resmi
v2.21 53
Sistem Operasi GNU/Linux Bab 2. Perintah Dasar GNU/Linux
2. Linux dapat mendeteksi bug dan memperbaikinya lebih mudah karena keama-
nannya yang luar biasa, sementara basis pengguna Windows yang besar dapat
dengan mudah diserang oleh peretas.
3. Windows berjalan lambat, terutama dengan perangkat keras lama, sedangkan Li-
nux berjalan jauh lebih cepat.
4. Dengan sistem operasi Windows, printer, CD-ROM, dan hard drive, dianggap se-
bagai perangkat. Periferal Linux, termasuk printer, CD-ROM, dan hard drive di-
anggap sebagai file.
5. Windows menggunakan drive data (C: D: E :) dan folder untuk menyimpan file.
Linux menggunakan struktur pohon yang dimulai dengan direktori root untuk
menjaga agar file tetap teratur.
6. Mungkin ada dua file di direktori yang sama dengan nama yang sama di Linux.
Di Windows, pengguna tidak dapat memiliki dua file di folder yang sama dengan
nama yang sama persis.
7. Di Microsoft Windows, file program dan sistem hampir selalu disimpan di drive
C :, sedangkan file program dan sistem di Linux dapat ditemukan di direktori
yang berbeda. File Microsoft Windows disimpan di drive data yang berbeda (C:
D: E :). Di Linux, dimulai dengan direktori root, file diatur dalam struktur pohon.
Direktori ini adalah awal dari sistem file dan bercabang ke subdirektori lainnya.
Direktori root ditetapkan dengan garis miring (/).
v2.21 54
Sistem Operasi GNU/Linux Bab 2. Perintah Dasar GNU/Linux
Shell itu sendiri adalah program yang dapat membaca intruksi-instruksi yang di-
inputkan (biasanya menggunakan keyboard) dan mengartikan control statements agar
dapat diproses sesuai dengan perintah yang diinginkan (command interpreter). She-
ll ini sebagai penghubung secara langsung antara user dengan sistem operasi. Ketika
mengetikkan sesuatu di keyboard maka shell akan menafsirkan apa yang kita ketikkan.
GNU/ Linux menggunakan shell sebagai perintah dasar. Shell adalah Commnad
Executive, yaitu program yang menunggu instruksi user, memeriksa sintaks dan men-
terjemahkan instruksi yang diberikan dan kemudian mengeksekusinya. Pada umum-
nya shell ditandai dengan dengan command prompt. Untuk user biasa menggunakan
tanda $ dan untuk super user biasanya ditandai dengan “#”.
Satu hal yang menarik dari GNU/Linux adalah tetap mempertahankan penggu-
naan shell command sebagai interfacenya. Beberapa hal yang menjadi alasan adalah:
1. Sebagian besar konfigurasi dari sistem lebih efisien jika mengggunakan shell com-
mand.
2. Linux shell memberikan fleksibilitas tertutama saat bekerja dengan banyak file
dan bekerja secara remote.
3. Untuk tindakan penyelamatan terhadap sebuah data atau recovery terhadap sis-
tem dan pekerjaan maintenance sistem pada single mode dapat anda lakukan le-
wat shell command.
Cara kerja shell dapat dijelaskan sbb:
1. Shell Linux akan di load saat pertama kali saat berhasil login pada sistem operasi
Linux. Shell yang akan di load tertera pada file /etc/passwd
2. Saat user mengetikkan sebuah perintah, shell akan bekerja kemudian untuk me-
nemukan apakah perintah tersebut built in command atau tidak. Jika tidak, maka
shel akan mencari file tersebut pada seluruh direktori yang mempunyai variable
yang berisi daftar direktori dimana file executable kemungkinan berada. Apabila
ternyata file tersebut tidak juga ditemukan maka shell akan mengeuarkan pesan
v2.21 55
Sistem Operasi GNU/Linux Bab 2. Perintah Dasar GNU/Linux
error.
3. Tetapi, bila ternyata shell menemukan perintah tersebut maka perintah tersebut
akan dieksekusi. Dalam menjalankan fungsinya perintah tersebut melakukan se-
buah pemanggilan pada kernel dari sistem operasi.
Shell juga sering disebut sebagai interpreter yang mengoperasikan sebuah loop
sederhana yakni menerima perintah, menginterpretasikan perintah, menjalankan per-
intah, dan menunggu perintah masukan berikutnya. Loop interpreter dapat digambark-
an sebagai beirkut:
Interp-
ret
Com-
mand
Read Execute
Comm- Com-
nad mand
Display
Prompt
v2.21 56
Sistem Operasi GNU/Linux Bab 2. Perintah Dasar GNU/Linux
Penjelasan:
1. Terminal ialah program berlayar hitam yang tersedia di Debian yang menerima
perintah-perintah. Pengguna mengetik perintah dengan keyboard dan mengekse-
kusinya dengan tombol Enter.
2. Ketika program Terminal dipanggil, sesungguhnya ada 2 program yang dinyalak-
an: yaitu, sebuah Terminal dan sebuah shell.
3. Bisa dianalogikan: Terminal adalah “bingkainya”, shell adalah “lukisannya”. Se-
sungguhnya program yang memproses segala perintah ialah shell, bukan Termi-
nal. Adapun Terminal ialah sebatas GUI saja di desktop yang menyambungkan
pengguna dengan shell-nya.
Tiap-tiap sistem operasi memiliki nama atau istilah yang berbeda untuk CLI-nya.
Sebagai misal:
1. UNIX memberi nama CLI-nya sebagai bash, ash, ksh, dan lain sebagainya.
2. Microsoft Disk Operating System (MS-DOS) memberi nama command.com atau
Command Prompt.
3. Sedangkan pada Windows Vista, Microsoft menamakannya PowerShell.
4. Pengguna GNU/Linux mengenal CLI pada GNU/Linux sebagai terminal.
5. Sedangkan pada Apple namanya adalah commandshell.
Workflow dari CLI adalah read-evaluate-print-loop, atau REPL: artinya user ketika
user mengetikkan perintah pada terminal kemudian menekan enter (evaluate), maka
komputer akan membaca perintah tersebut, mengeksekusi dan menampilkan output-
nya. Begitu seterusnya, loop, sampai user keluar atau komputer dimatikan.
GNU/Linux biasanya tidak hanya mempunyai satu jenis shell, sehingga user da-
pat dengan mudah dan bebas memilih shell yang akan digunakan sesuai selera dan
kebutuhan. Jenis shell “bash” merupakan shell yang default untuk berbagai macam
distro. Macam-macam shell yang terdapat di berbagai sistem operasi GNU/Linux da-
pat dijelaskan sebagai berikut :
(1) Bourne shell (sh) sh merupakan standar UNIX yang dibuat tahun 1979 pleh ste-
phen Bourne dari AT&T dengan memakai bahasa Algol. sh terkenal karena seder-
hana, compact, dan cepat. Kelemahannya adalah kurang interaktif seperti tidak
ada history, aliasing, dan jon control. Default prompt shell sh adalah $ (dolar).
(2) C Shell (csh) csh memiliki feature yang lebih lengkap dibandingkan sh. Shell csh
dibuat thaun 1970an oleh Bill Joy dari University of California at Barekeley de-
ngan menggunakan bahasa C. Fitur yang terdapat pada dalam csh antara lain
command-line history, filename completion, dan job control. Kelemahannya, ka-
rena didesain untuk mesin skala besar dan memiliki banyak fitur maka shell ini
cenderung lambat digunakan pada mesin kecil. Default prompt shell csh adalah
% (persen)
(3) Korn Shell (ksh) Korn Shell merupakan pengembangan dari bourne shell yang di-
tulis oleh davit Korn dari AT&T pada pertengahan tahun 1980an. Feature Korn
Shell antara lain editable history, aliases, function, regular expression wildcards,
v2.21 57
Sistem Operasi GNU/Linux Bab 2. Perintah Dasar GNU/Linux
2.7 Shell
Shell itu sendiri adalah program yang dapat membaca intruksi-instruksi yang di-
inputkan (biasanya menggunakan keyboard) dan mengartikan control statements agar
dapat diproses sesuai dengan perintah yang diinginkan (command interpreter). She-
ll ini sebagai penghubung secara langsung antara user dengan sistem operasi (kernel).
Ketika mengetikkan sesuatu di keyboard maka shell akan menafsirkan apa yang kita
ketikkan.
GNU/ Linux menggunakan shell sebagai perintah dasar. Perintah dalam she-
ll sangat banyak. Shell adalah Commnad Executive, yaitu program yang menunggu
instruksi user, memeriksa sintaks dan menterjemahkan instruksi yang diberikan dan
kemudian mengeksekusinya. Pada umumnya shell ditandai dengan dengan command
prompt. Untuk user biasa menggunakan tanda $ dan untuk super user biasanya ditan-
dai dengan #.
GNU/Linux biasanya tidak hanya mempunyai satu jenis shell, sehingga user da-
pat dengan mudah dan bebas memilih shell yang akan digunakan sesuai selera dan
kebutuhan. Jenis shell “bash” merupakan shell yang default untuk berbagai macam
distro. Macam-macam shell yang terdapat di berbagai sistem operasi GNU/Linux da-
pat dijelaskan sebagai berikut :
(1) Bourne shell (sh) sh merupakan standar UNIX yang dibuat tahun 1979 pleh ste-
phen Bourne dari AT&T dengan memakai bahasa Algol. sh terkenal karena seder-
hana, compact, dan cepat. Kelemahannya adalah kurang interaktif seperti tidak
ada history, aliasing, dan jon control. Default prompt shell sh adalah $ (dolar).
(2) C Shell (csh) csh memiliki feature yang lebih lengkap dibandingkan sh. Shell csh
dibuat thaun 1970an oleh Bill Joy dari University of California at Barekeley de-
ngan menggunakan bahasa C. Fitur yang terdapat pada dalam csh antara lain
command-line history, filename completion, dan job control. Kelemahannya, ka-
rena didesain untuk mesin skala besar dan memiliki banyak fitur maka shell ini
cenderung lambat digunakan pada mesin kecil. Default prompt shell csh adalah
% (persen)
(3) Korn Shell (ksh) Korn Shell merupakan pengembangan dari bourne shell yang di-
tulis oleh davit Korn dari AT&T pada pertengahan tahun 1980an. Feature Korn
Shell antara lain editable history, aliases, function, regular expression wildcards,
built-in-arithmatic, job control, coprocessing, dan special debugging. Default prompt
v2.21 58
Sistem Operasi GNU/Linux Bab 2. Perintah Dasar GNU/Linux
2.8 Kernel
Kernel adalah program komputer yang merupakan jantung dan inti dari Sistem
Operasi. Setiap kali sistem dimulai, Kernel adalah program pertama yang dimuat sete-
lah bootloader. Kernel tetap berada dalam memori sampai Sistem Operasi dimatikan.
Kernel dilengkapi dengan Ruang Kernel terlindungi yang merupakan area me-
mori terpisah dan area ini tidak dapat diakses oleh program aplikasi lain. Jadi, kode
Kernel dimuat ke dalam Ruang Kernel yang dilindungi ini. Ruang kernel ini biasa dise-
but Kernel Space. Terlepas dari ini, memori yang digunakan oleh aplikasi lain disebut
Ruang Pengguna.
Kernel bertanggung jawab untuk tugas-tugas tingkat rendah seperti manajemen
disk atau penyimapanan, manajemen memori, manajemen tugas, manajemen daya, dan
lainnya. Kernel juga menghubungkan antarmuka antara pengguna dan komponen per-
angkat keras sistem. Ketika suatu proses membuat permintaan ke Kernel, maka itu
disebut System Call.
Secara sederhana interaksi antara user space dan kernel space dapat dilihat pada
gambar 2.5 berikut:
v2.21 59
Sistem Operasi GNU/Linux Bab 2. Perintah Dasar GNU/Linux
v2.21 60
Sistem Operasi GNU/Linux Bab 2. Perintah Dasar GNU/Linux
Tugas Lab-2 :
$echo $SHELL
$cat /etc/shells
$uname
$uname -a
$hostname
$cat /etc/passwd
$cat /etc/group
$cat /etc/shadow
$su -
password:
root@debian:~#exit
logout
peserta1@debian:~$ poweroff
bash: poweroff: command not found
$su -
password:
root@debian:~#poweroff
v2.21 61
Sistem Operasi GNU/Linux Bab 2. Perintah Dasar GNU/Linux
4. argumen menyatakan obyek yang akan diproses oleh perintah. Bagian ini umum-
nya berupa berkas/ file namun bisa juga data yang akan diproses. Argumen mempu-
nyai istilah lain yakni parameter. Argumen adalah bagian dari baris perintah yang
yang digunakan untuk menyebutkan informasi informasi, data, berkas dsb.
5. Pilihan adalah option yang dimulai dengan tanda – (minus). Argumen dapat ko-
song, satu atau beberapa argumen (parameter)
Contoh:
1. $ ls
tanpa argumen
2. $ ls –a
option adalah –a = all, tanpa argumen
3. $ ls /bin
tanpa option, argumen adalah /bin
4. $ ls /bin /etc /usr
ada 3 argumen
5. $ ls –l /usr
1 option dan 1 argumen l = long list
6. $ ls –la /bin /etc
2 option –l dan –a dan 2 argumen
Tugas Lab-3 :
1. Pada tahap ini Anda masih Login di sistem GNU/Linux kemudian buka terminal.
2. Lakukan percobaan berikut dan Amati, pahami dan catat hasilnya!
Tugas Lab-4 :
v2.21 62
Sistem Operasi GNU/Linux Bab 2. Perintah Dasar GNU/Linux
$ cal 2002
$ cal -y
#Mengubah informasi user
$ chfn peserta1
#Melihat identitas mesin
$ hostname
$ hostname -a
$ uname -a
#Membersihkan layar
$ clear
Tugas Lab-5 :
Jawablah pertanyaan-pertanyaan di bawah ini :
1. Apa yang dimaksud perintah informasi user di bawah ini:
id, hostname, uname, w, who, whoami, chfn, finger
2. Apa yang dimaksud perintah dasar di bawah ini:
date, cal, man, clear, apropos, whatis
3. Apa yang dimaksud perintah-perintah manipulasi file di bawah ini:
ls, file, cat, more, pg, cp, mv, rm, grep
v2.21 63
Sistem Operasi GNU/Linux Bab 2. Perintah Dasar GNU/Linux
3. Direktories
Kumpulan file, links dan direktori lain.
Walaupun GNU/Linux dikembangkan menjadi berbagai distro GNU/Linux, na-
mun apabila kita perhatikan struktur penempatan direktori dan file sistem memiliki
karakteristik yang sama. Hal ini bisa terjadi karena adanya Filesystem Hierarchy Stan-
dard yakni sebuah standar penyusunan hirarki file sistem yang dibuat untuk memper-
mudahkan para pengguna GNU/Linux untuk mengoperasikan sistem operasi ini.
FHS awalnya diberi nama FSSTND (Filesystem Standard) mulai di kembangkan
pada bulan Agustus 1993, karena pada saat itu pengembang mengikuti beberapa struk-
tur filesistem yang sudah ada seperti struktur yang ada di BSD ataupun Unix.
Variasi struktur ini tentunya menyulitkan para pengembang dan pengguna GNU-
/Linux. Untuk memudahkan hal ini GNU/Linux Foundation memprakarsai terbentuk-
nya standar yang berfungsi menyeragamkan struktur file sistem yang ada di GNU/Li-
nux. Standar ini kemudian diberi nama Filesystem Hierarchy Standard.
Direktori GNU/Linux tersusun secara hirarki. Berbeda dengan microsoft windo-
ws yang mengelompokkan berdasarkan partisi yang ada. GNU/Linux hanya memiliki
satu hirarki direktori besar yang berisi semua partisi yang ada. Direktori teratas adalah
direktori root yang ditandai dengan forward slash (/).
Di bawah direktori root (/) berisi sub direktori /bin, /boot, /dev, /etc, /home,
/lib, /lost+found, /misc, /mnt, /proc, /root, /sbin, /tmp, /usr, /var. Di bawah subdi-
rektori yang telah disebutkan di atas, masih terdapat subdirektori lagi hingga berupa
file saja.
Meskipun bukan sesuatu yang begitu penting untuk mengetahui isi seluruh di-
rektori GNU/Linux, tapi merupakan hal yang sangat baik jika anda mengetahui jenis-
jenis dari file yang tersimpan pada setiap direktori yang ada. Berikut ini struktur direk-
tori/file debian GNU/Linux :
html
file.txt file2.txt
index.html
Gambar 2.6: Struktur Direktori Linux
v2.21 64
Sistem Operasi GNU/Linux Bab 2. Perintah Dasar GNU/Linux
Struktur GNU/Linux dan varian GNU/Linux lain berdasarkan pada sistem ope-
rasi UNIX. Keuntungan dari sistem direktori ini adalah kita dapat memposisikan sebu-
ah partisi sebagai sebuah file pada sistem. Berikut penjelasan struktur direktori/file di
gambar 2.6
Direktori Penjelasan
/ Direktori root. Berisi seluruh file dan direktori lain. \
Top Level Directory, Seluruh direktori di GNU/Linux
berada di bawah direktori root ini.
/bin File biner atau file executable yang dapat digunakan
baik user biasa ataupun user root.
/sbin File-file executable yang dibutuhkan untuk boot sistem
serta program-program maintenance seperti lilo,
ifconfig, mkfs, dll dan hanya dapatdieksekusi oleh user
root.
/boot File-file yang dibutuhkan sistem saat booting,
termasuk kernel.
/dev Mendefinisikan perangkat keras hardisk, partisi, dan
perangkat keras lainnya. \ Direktori /dev juga berisi
tool makedev untuk membuat device baru.
/etc File konfigurasi sistem debian GNU/Linux seperti
/etc/X11 untuk konfigurasi X Window
/home Direktori home untuk user biasa. Sedangkan direktori
home untuk user root adalah /root.
/var File data yang berisi tentang perubahan-perubahan
yang dilakukan seperti cache, spool, log file, dan file
mailbox user.
/root Direktori home user root.
/usr Merupakan direktori tempat aplikasi disimpan oleh
GNU/Linux, saat anda menginstal sebuah program di
debian GNU/Linux maka akan secara otomatis
disimpan di direktori tersebut.
/tmp Direktori ini digunakan untuk penyimpanan sementara
v2.21 65
Sistem Operasi GNU/Linux Bab 2. Perintah Dasar GNU/Linux
Setiap home user kecuali superuser (root) adalah subdirektori dan berada di ba-
wah direktori /home. Hal ini sangat penting karena file-file yang dibuat tidak dapat
disimpan disembarang direktori. Akses ke banyak direktori akan dibatasi oleh sistem
(bisa kalian baca di bagian Hak Akses dan Kepemilikan) kecuali jika login sebagai user
root.
Direktori home adalah direktori pribadi user kecuali user root. Setiap user bisa
memiliki direktori pribadi di bawah direktori /home. Umumnya nama direktori home
sesuai dengan nama user bersangkutan (nama login). Sebagai contoh: user bernama
“jesica” telah di-create, maka di sistem Linux akan terdapat direktori dengan nama /ho-
me/jesica dan merupakan home direktori dari user “jesica”.
nama Keterangan
mkdir Make direktori, membuat direktori
rmdir Remove direktori, menghapus direktori \ Direktori harus kosong
rm Mengapus file atau direktori
cd Change Direktory, Pindah direktori
pwd Print Work Direktori, melihat direktori aktif
cp Copy, menyalin file atau direktori
mv Memindahkann atau mengganti nama file atau direktori
v2.21 66
Sistem Operasi GNU/Linux Bab 2. Perintah Dasar GNU/Linux
Tugas Lab-6:
1. Pada tahap ini Anda masih Login di sistem Debian GNU/Linux kemudian buka
terminal.
2. Lakukan percobaan berikut dan Amati, pahami dan catat hasilnya!
$ pwd
$ ls
$ ls -l
$ ls -a
$ ls -al
$ touch latihan1.txt .latihan2.txt
$ cat latihan1.txt
$ cat .latihan2.txt
$ ls -l
$ ls -al
Tugas Lab-7 :
1. Pada tahap ini Anda masih Login di sistem GNU/Linux kemudian buka terminal.
2. Lakukan percobaan berikut dan Amati, pahami dan catat hasilnya!
3. Sebagai catatan: tidak semua perintah yang kalian praktikkan telah terinstal di
GNU/Linux. Jadi jika mendapatkan tampilan di terminal seperti: “. . . ”
v2.21 67
Sistem Operasi GNU/Linux Bab 2. Perintah Dasar GNU/Linux
$ mv f1.txt filetext1.txt
$ mv file1text1 ../dir3
$ cd ../dir3
$ cp file1text1.txt filw1text1.txt.0
$ rm file1text1.txt
$ cd ..
$ mkdir a b c d a/b b/c c/d d/c b/c/d a/b/c d/a/c
v2.21 68
Sistem Operasi GNU/Linux Bab 2. Perintah Dasar GNU/Linux
direktori atau file yang terdapat pada hirarki sistem file GNU/Linux tidak semuanya
dapat diakses oleh user lain selain oleh user root sebagai pemegang hak akses penuh
pada sistem GNU/Linux.
Pengaturan hak akses terhadap sebuah file atau direktori menentukan dapat ti-
daknya file atau direktori tersebut dapat diakses oleh orang lain selain pemilik dan su-
peruser (root). Setiap group pada sistem GNU/Linux akan membawahi user-user yang
terdapat pada sistem.
Berikut ini hal hal yang perlu Anda ingat :
1. Setiap file mempunyai identitas, beberapa identitas berupa nama, ukuran pemilik,
kelompok pemilik dan hak akses.
2. Pemilik disebut juga sebagai user dan kelompok pemilik disebut group.
3. Hak akses berupa hak baca (r), hak tulis (w) dan hak eksekusi (x).
4. Hanya dibutuhkan hak eksekusi untuk menjalankan program-program.
5. Selain pemilik user dan group, ada lagi pemilik sebagai other, yakni siapa saja di
dalam sistem selain user dan group itu sendiri.
Tugas Lab-8 :
1. Pada tahap ini Anda masih Login di sistem Debian GNU/Linux kemudian buka
terminal dan kursor berada di home direktori.
2. Lakukan percobaan berikut dan Amati, pahami dan catat hasilnya!
$ mkdir E
$ cd E
$ touch file1.txt file2.txt file3.txt file4.txt
$ ls
$ ls -l
$ ls -l /var/www
Jika perintah di atas kalian jalankan dengan benar, secara keselurahan dapat dijelaskan
bahwa file1.txt, file2.txt, file3.txt dan file4.txt telah diciptakan dengan pemilik sesuai
dengan user yang sedang login dan dengan hak akses sebagaimana terlihat pada kolom
paling kiri, yakni -rw-r–r–.
Jika dibaca arti dari “-rw-r–r–” adalah:
1. user sebagai pemilik file tersebut dapat membaca(r) dan menulisi (w)
2. grup dimana user sebagai anggota hanya dapat membaca file tersebt,
3. other yang merupakan user di luar grup dan pemilik mempunyai hak akses mem-
baca file.
4. tanda “-” merupakan symbol yang menyatakan objek file.
v2.21 69
Sistem Operasi GNU/Linux Bab 2. Perintah Dasar GNU/Linux
Bagaimana caranya kita membuat atau merubah hak akses atau hak perijinan untuk file
dan direktori? Untuk memberikan perijinan ada 2 metode yaitu: (1) Metode Huruf dan
(2) Metode Angka.
1. Metode Huruf
Bentuk perintah atau syntaxnya adalah:
bash \#chmod [ugoa] [= + -] [rwx][nama_file_atau_direktori]
• u=user, g=grup, o=other, a=all
• - (tanda minus) berarti menonaktifkan atau menghapus suatu ijin
• + (tanda plus) berarti menambahkan perijinan
• r : read, w : write, dan x : excecute
2. Metode angka
Bentuk perintah metode ini adalah:
bash \# chmod [angka_perijinan] [nama_file_atau_direktori]
• 4 : read
• 2 : write
• 1 : execute
• Jika user diberi akses read, write dan execute terhadap suatu file, berarti user
diberi akses 4 untuk membaca, akses 2 untuk menulis dan akses 1 untuk
menjalankan file. Jika dijumlah 4+2+1 =7
Sebagai contoh kita mempunyai file dengan nama tugasSosis1.txt dan membuat diretori
/home/user/image dan akan kita ubah kepemilikannya menjadi milik jesica. Perintah
yang dijalankan adalah:
v2.21 70
Sistem Operasi GNU/Linux Bab 2. Perintah Dasar GNU/Linux
Tugas Lab-9 :
1. Pada tahap ini Anda masih Login di sistem GNU/Linux kemudian buka terminal
dan kursor berada di home direktori.
2. Lakukan percobaan berikut dan Amati, pahami dan catat hasilnya!
$ mkdir latihanMode
$ cd latihanMode
$ touch testmode1.txt
$ ls -l
$ chmod g+w testmode1.txt
$ ls -l
$ chmod o-r testmode1.txt
$ ls -l
$ chmod go=r testmode1.txt
$ ls -l
$ touch testmode2.txt
$ ls -l
$ chmod 750 testmode2.txt
$ chmod 040 testmode2.txt
$ chmod 640 testmode2.txt
2.13 Umask
Jika file atau direktori diciptakan, permisi akses file atau direktori yang diciptak-
an berdasarkan umask. Umask berupa tiga bilangan oktal yang mengatur permisi akses
dari penciptaan file dan direktori.
Untuk lebih memahami lakukan langkah berikut:
Tugas Lab-10 :
1. Pada tahap ini Anda masih Login di sistem GNU/Linux kemudian buka terminal
dan kursor berada di home direktori.
2. Lakukan percobaan berikut dan Amati, pahami dan catat hasilnya!
$ mkdir latihanUmask
$ ls -l latihanUmask
drwxrwxr-x 2 sikimin sikimin 4096 Okt 7 20:04 latihanUmask
$cd latihanUmask
-rw-rw-r-- 1 sikimin sikimin 0 Okt 7 20:04 latihanUmask.txt
v2.21 71
Sistem Operasi GNU/Linux Bab 2. Perintah Dasar GNU/Linux
$ touch fileLatihanUmask.txt
$ ls -l
$ umask
0002
Dengan menggunakan perintah ls dengan option -l akan diperoleh informasi rinci ba-
ik direktori latihanUmask maupun informasi rinci file fileLatihanUmask.txt. Direktori
latihanUmask mempunyai ijin akses 755 dan fileLatihanUmask.txt memiliki ijin akses
644. Ijin akses ini diperoleh dari perhitungan sbb:
1. drwxrwxr-x diperoleh dari 777 - 002 = 775
2. -rw-rw-r– diperoleh dari 666 - 002 = 664
777 adalah hak akses default yang dimiliki oleh diretori dan 666 adalah hak akses defa-
ult yang dimiliki oleh file.
Kesimpulannya:
1. Dengan demikian jika kita tidak merubah angka default umask (0002), maka seti-
ap direktori yang di ciptakan akan mempunyai hak akses 755 atau u=rwx, g=r-x,
o=r-x dan setiap file yang diciptakan akan mempunyai hak akses 644 atau u=rw-,
g=r–, o=r–
2. Dengan perintah umask, Anda dapat merubah hak akses default dari file atau
direktori.
Tugas Lab-11 :
1. Pada tahap ini Anda masih Login di sistem GNU/Linux kemudian buka terminal
dan kursor berada di home direktori.
2. Lakukan percobaan berikut dan Amati, pahami dan catat hasilnya!
v2.21 72
Sistem Operasi GNU/Linux Bab 2. Perintah Dasar GNU/Linux
2.14 Latihan
Buatlah 3 buah file di home direktori dengan nama f1, f2 dan f3. Kemudian lakukan
analisa baris per baris langkah lab berikut:
$chmod g=w f1
$chmod o-r f1
$ls -l
$chmod a=x f2
$chmod u+x,g-r,o=w f3
$ls -l
$chmod 430 f3
$chmod 751 f1
$chmod 624 f2
$ls -l
$umask 0027
(buatlah file f4)
$ls -l f4
(buatlah file f5)
$umask 0027
v2.21 73