0% menganggap dokumen ini bermanfaat (0 suara)
5 tayangan34 halaman

Dasar-Dasar Sistem Operasi Linux

BAB 2

Diunggah oleh

rumiyatisholihah78
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
5 tayangan34 halaman

Dasar-Dasar Sistem Operasi Linux

BAB 2

Diunggah oleh

rumiyatisholihah78
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd

BAB II

PEMBAHASAN

2.1 Pengertian Linux


Adalah software sistem operasi open source yang gratis untuk
disebarluaskan di bawah lisensi GNU. Linux merupakan turunan dari unix dan
dapat bekerja pada berbagai macam perangkat keras koputer mulai dari inter x86
sampai dengan RISC.
Dengan lisensi GNU (Gnu Not Unix) Anda dapat memperoleh program,
lengkap dengan kode sumbernya (source code). Tidak hanya itu, Anda diberikan
hak untuk mengkopi sebanyak Anda mau, atau bahkan mengubah kode
[Link] itu semua legal dibawah lisensi. Meskipun gratis, lisensi GNU
memperbolehkan pihak yang ingin menarik biaya untuk penggandaan maupun
pengiriman program.

2.2 Perintah Dasar Sistem Operasi Linux


2.2.1 Huruf besar dan huruf kecil
Dalam sistem operasi linux dibedakan antara huruf besar dan huruf kecil.
Seperti anatara Ls akan berbeda dengan ls. Ini berlaku untuk perintah
pengoperasian. Nama file, direktori, dan variable. Linux juga mendukung
penggunaan nama file yang panjang yang di pisahkan oleh spasi.

2.2.2 Nama pemakai dan password


Sebelum pemakai dapat masuk kesistem, terlebih dahulu harus
mendaftarkan atau membuat username dan password-nya dalam sistem. Username
merupakan sebuah kata panggilan untuk masuk kedalam sistem. ( perbisakanlah
login selalu dalam username dan di usahakan username-nya adalah sebuah nama
atau kata yang mudah di ingat). Sedangkan password merupakan kata kunci yang
mengiringi username. Usahakan password ini mudah di ingat dan tidak mudah
ditebak oleh orang lain. Disarankan untuk menggunakan gabungan huruf besar
dan angka, contohnya 4ndh1e.

2
2.2.3 Masuk ke sistem ( login )
Setelah sistem operasi linux berhasil di booting masukan username anda.
lalu tekan enter kemudian akan ditanya passwordnya.
Password :
Ketikan password anda pada layer monitor tidak akan muncul karakter
apapun, jika terladi kesalahan ulangi lagi dari penulisan username anda.
Kemudian jika login dan password anda diterima maka akan muncul keterangan
kapanterakhir username anda melakukan login. Pemberitahuan ini sangat berguna
bagi kita untuk menjaga keamanan user kita, jangan – jangan ada orang lain yang
masuk dengan menggunakan login tersebut.
Last login: sun jun 23 07 : 13 :04 on tty2
Setelah itu akan muncul tanda shell prompt. Apabila muncul tanda ( $ )
berarti anda menggunakan Bourne shell. ( % ) bila menggunakan korn shell. dan
( # ) bila menggunakan C shell.

2.2.4 Membuat username


Loginlah sebagai superuser ( root ) kemudian ketikan perintah Adduser
nama_usernya < enter > lanjutkan dengan membuat passwordnya. Ketikan
perintah passwd nama_usernya kemudian masukkan password anda.

2.2.5 Mengganti password


Jika kita lupa dengan password kita maka untuk mengganti password
tersebut loginlah sebagai root dan ketikan perintah Passwd nama_user anda <
enter > setelah itu masukkan password baru anda.

2.2.6 Menghapus username


Dari prompt root ketikan perintah userdel nama_usernya < enter >.

2.2.7 Keluar dari sistem


Supaya tidak di pergunakan oleh orang lain bila kita selesai maka tutuplah
shellanda dengan cara ketikan exit < enter >.

3
Setiap pemakai LINUX harus mempunyai nama login (user account) yang
sebelumnya harus didaftarkan pada administrator system. Nama login umumnya
dibatasi maksimum 8 karakter dan umumnya dalam huruf kecil. Prompt dari shell
bash pada LINUX menggunakan tanda “$”.
Sebuah sesi LINUX terdiri dari :
1. Login
2. Bekerja dengan Shell / menjalankan aplikasi 3. Logout
Tergantung atas shell yang digunakan, pada Linux bash maka pada proses
login akan mengeksekusi program /etc/profile (untuk semua pemakai) dan file

.base_profile di direktori awal (HOME) masing-masing.


Pada saat logout, maka program shell bash akan mengeksekusi script yang
bernama .bash_logout.

2.2.8 Format instruksi linux


Instruksi Linux standar mempunyai format sebagai berikut :
$ NamaInstruksi [pilihan] [argumen]
Pilihan adalah option yang dimulai dengan tanda – (minus). Argumen dapat
kosong, satu atau beberapa argumen (parameter).
Contoh :
$ ls tanpa argumen
$ ls –a option adalah –a = all, tanpa argumen
$ ls /bin tanpa option, argumen adalah /bin
$ ls /bin /etc /usr ada 3 argumen $ ls –l /usr 1 option dan 1 argumen l
= long list
$ ls –la /bin /etc 2 option –l dan –a dan 2 argumen
Beberapa format instruksi linux antara lain:
a. Mkdir [nama direktory] Untuk membuat direktori
b. Ls Melihat Isi direktory
c. Cd [nama direktory] Untuk berpindah direktory
d. Pwd Untuk melihat direktory yang sedang aktif
e. Cat [nama file] Untuk melihat file
f. Cat >[nama file] Untuk membuat file

4
g. Cat >>[nama file] Untuk menambahkan File
h. Cp [nama file1] [nama file2] Cat [nama file1] > [nama file2] Untuk menkopi
File ke File lainnya
i. Touch [nama file] Membuat sebuah file Kosong
j. rm [nama file] Untuk menghapus file
k. rmdir[nama direktory kosong ] Untuk menghapus direktory kosong
l. rm –r[nama direktory isi] Untuk menghapus direktory yang sudah ada
isinya
m. vi [nama_file] Untuk mengedit file
n. vi [nama_file1] [nama_file2] Untuk mengcopy file ke file yang kosong

2.2.9 Manual
Linux menyediakan manual secara on-line. Beberapa kunci keyboard
yang penting dalam menggunakan manual adalah :
Q untuk keluar dari program man
<Enter> ke bawah, baris per baris
<Spasi> ke bawah, per halaman
b kembali ke atas, 1 halaman
/teks mencari teks (string)
n meneruskan pencarian string sebelumnya
Manual dibagi atas Bab-bab sebagai berikut :
Bab Isi
1 User command
2 System calls
3 Library calls
4 Devices
5 File formats
6 Games
7 Miscellaneous
8 System commands
9 Kernel internals
N Tcl/Tk command

5
2.3 Operasi Input Output
2.3.1 Proses i/o
Sebuah proses memerlukan Input dan Output.

input proses output

Instruksi (command) yang diberikan pada Linux melalui Shell disebut


sebagai eksekusi program yang selanjutnya disebut proses. Setiap kali instruksi
diberikan, maka Linux kernel akan menciptakan sebuah proses dengan
memberikan nomor PID (Process Identity). Proses dalam Linux selalu
membutuhkan Input dan menghasilkan suatu Output.
Dalam konteks Linux input/output adalah :
• Keyboard (input)
• Layar (output)
• Files
• Struktur data kernel
• Peralatan I/O lainnya (misalnya Network)

2.3.2 File descriptor


Linux berkomunikasi dengan file melalui file descriptor yang
direpresentasikan melalui angka yang dimulai dari 0, 1, 2 dan seterusnya. Tiga
buah file descriptor standar yang lalu diciptakan oleh proses adalah :
• 0 = keyboard (standar input)
• 1 = layar (standar output)
• 2 = layar (standar error)

1
Input 0 PROSES OUTPUT
(keyboard) 2 (monitoring)

Linux tidak membedakan antara peralatan hardware dan file, Linux


memanipulasi peralatan hardware sama dengan file.

6
2.3.3 Pembelokan (redirection)
Pembelokan dilakukan untuk standard input, output dan error, yaitu untuk
mengalihkan file descriptor dari 0, 1 dan 2. Simbol untuk pembelokan adalah :
0< atau < pengganti standard input
1<atau > pengganti standard output
2>

2.3.4 Pipa (pipeline)


Mekanisme pipa digunakan sebagai alat komunikasi antar proses.
Input → Proses1 → Output = Input → Proses2 → Output
Proses 1 menghasilkan output yang selanjutnya digunakan sebagai input
oleh Proses 2. Hubungan output input ini dinamakan pipa, yang menghubngkan
Proses 1 dengan Proses2 dan dinyatakan dengan symbol “|”.
Proses1 | Proses2

2.3.5 Filter
Filter adalah utilitas Linux yang dapat memproses standard input (dari
keyboard) dan menampilkan hasilnya pada standard output (layar). Contoh filter
adalah cat, sort, grep, pr, head, tail, paste dan lainnya.
Pada sebuah rangkaian pipa :
P1 | P2 | P3 ……. | Pn-1 | Pn
Maka P2 sampai dengan Pn-1 mutlak harus utilitas Linux yang berfungsi
sebagai filter. P1 (awal) dan Pn (terakhir) boleh tidak filter. Utilitas yang bukan
filter misalnya who, ls, ps, lp, lpr, mail dan lainnya.
Beberapa perintah Linux yang digunakan untuk proses penyaringan antara lain :
 Perintah grep
Digunakan untuk menyaring masukannya dan menampilkan baris-baris
yang hanya mengandung pola yang ditentukan. Pola ini disebut regular
expression.
 Perintah wc
Digunakan untuk menghitung jumlah baris, kata dan karakter dari baris-
baris masukan yang diberikan kepadanya. Untuk mengetahui berapa baris

7
gunakan option –l, untuk mengetahui berapa kata, gunakan option –w dan untuk
mengetahui berapa karakter, gunakan option –c. Jika salah satu option tidak
digunakan, maka tampilannya adalah jumlah baris, jumlah kata dan jumlah
karakter.
 Perintah sort
Digunakan untuk mengurutkan masukannya berdasarkan urutan nomor
ASCII dari karakter.
 Perintah cut
Digunakan untuk mengambil kolom tertentu dari baris-baris masukannya,
yang ditentukan pada option –c.
 Perintah uniq
Digunakan untuk menghilangkan baris-baris berurutan yang mengalami
duplikasi, biasanya digabungkan dalam pipeline dengan sort.

2.4 Operasi File dan Struktur Direktori


2.4.1 Organisasi file
Sistem file pada Linux menyerupai pepohonan (tree), yaitu dimulai dari
root, kemudian direktori dan sub dirrektori. Sistem file pada Linux diatur secara
hirarkhikal, yaitu dimulai dari root dengan symbol “/” seperti Gambar 3.1. Kita
dapat menciptakan File dan Direktori mulai dari root ke bawah. Direktori adalah
file khusus, yang berisi nama file dan INODE (pointer yang menunjuk ke data / isi
file tersebut). Secara logika, Direktori dapat berisi File dan Direktori lagi (disebut
juga Subdirektori).

8
Gambar 2.1 Struktur direktori pada Linux

2.4.2 Direktory standar


Setelah proses instalasi, Linux menciptakan system file yang baku, terdiri atas
direktori sebagai berikut :
Direktori Deskripsi
/etc Berisi file administrative (konfigrasi dll) dan file executable
atau script yang berguna untuk administrasi system.
/dev Berisi file khusus yang merepresentasikan peralatan hardware
seperti memori, disk, printer, tape, floppy, jaringan dll.
/bin Berisi utilitas sistem level rendah (binary).
/sbin Berisi utilitas sistem untuk superuser (untuk membentuk
administrasi sistem).
/usr/sbin Berisi utilitas sistem dan program aplikasi level tinggi.
/usr/bin
/usr/lib Berisi program library yang diperlukan untuk kompilasi
program (misalnya C). Berisi instruksi (command) misalnya
untuk Print Spooler (lpadmin) dll.
/tmp Berisi file sementara, yang pada saat boostrap akan dihapus
(dapat digunakan oleh sembarang user).
/boot Berisi file yang sangat penting untuk proses bootstrap. Kernel
vmlinuz disimpan di direktori ini.
/proc Berisi informasi tentang kernel linux, proses dan virtual system

9
file.
/var Directory variable, artinya tempat penyimpanan LOG (catatan
hasil output program), file ini dapat membengkak dan perlu
dimonitor perkembangannya.
/home Berisi direktori untuk pemakai linux (pada SCO diletakkan
pada /usr)
/root Home direktori untuk superuser (root).
/usr/bin/X11 Symbolic link ke /usr/X11R6/bin, program untuk X-window
/usr/src Source code untuk linux.
/opt Option, directori ini biasanya berisi aplikasi tambahan (“add-
on”) seperti netscape navigator, kde, gnome, applix dll.

1. Direktori /etc
Berisi file yang berhubungan dengan administrasi system, maintenance
script, konfigurasi, security dll. Hanya superuser yang boleh memodifikasi file
yang berada di drektori ini. Subdirektori yang sering diakses pada direktori /etc
antara lain :
• httpd, apache web server.
• ppp, point to point protocol untuk koneksi ke Internet.
• rc.d atau init.d, inisialisasi (startup) dan terminasi (shutdown) proses di Linux
dengan konsep runlevel.
• cron.d, rincian proses yang dieksekusi dengan menggunakan jadwal(time
dependent process)
• FILES, file security dan konfigurasi meliputi : passwd, hosts, shadow,
ftpaccess, [Link], [Link], motd, printcap, profile, [Link],
[Link], [Link], [Link], [Link], fstab.

2. Direktori /dev
Konsep Unix dan Linux adalah memperlakukan peralatan hardware sama
seperti penanganan file. Setiap alat mempunyai nama file yang disimpan pada
direktori /dev.

10
3. Direktori /proc
Direktori /proc adalah direktori yang dibuat diatas RAM (Random Access
Memory) dengan system file yang diatur oleh kernel. /proc berisi nomor proses
dari system dan nama driver yang aktif di system. Semua direktori berukuran 0
(kosong) kecuali file kcore dan self. Setiap nomor yang ada pada direktori tsb
merepresentasikan PID (Process ID).

2.4.3 Tipe file


Pada Linux terdapat 6 buah tipe file yaitu
• Ordinary file
• Direktori
• Block Device (Peralatan I/O)
Merupakan representasi dari peralatan hardware yang menggunakan transmisi
data per block (misalnya 1 KB block), seperti disk, floppy, tape.
• Character Device (Peralatan I/O)
Merupakan representasi dari peralatan hardware yang menggunakan transmisi
data karakter per karakter, seperti terminal, modem, plotter dll
• Named Pipe (FIFO)
File yang digunakan secara intern oleh system operasi untuk komunikasi antar
proses

11
• Link File

2.4.4 Properti file


File mempunyai beberapa atribut, antara lain :
• Tipe file : menentukan tipe dari file, yaitu :

• Ijin akses : menentukan hak user terhadap file ini.


• Jumlah link : jumlah link untuk file ini.
• Pemilik (Owner) : menentukan siapa pemilik file ini
• Group : menentukan group yang memiliki file ini
• Jumlah karakter : menentukan ukuran file dalam byte
• Waktu pembuatan : menentukan kapan file terakhir dimodifikasi
• Nama file : menentukan nama file yang dimaksud

2.4.5 Nama file


Nama file maksimal terdiri dari 255 karakter berupa
alfanumerik dan beberapa karakter spesial yaitu garis bawah,
titik, koma dan lainnya kecuali spasi dan karakter “&”, “;”, “|”,
“?”, “`”, “””, “’”, “[“, “]”, “(“, “)”, “$”, “<”, “>”, “{“, “}”, “^”,
“#”, “\”, “/”. Linux membedakan huruf kecil dengan huruf besar
(case sensitive). Contoh nama file yang benar :
Abcde5434
3
[Link]
[Link]
[Link],old
report_101,v2.0.1

12
[Link]
2.4.6 Simbolic link
Link adalah sebuah teknik untuk memberikan lebih dari
satu nama file dengan data yang sama. Bila file asli dihapus,
maka data yang baru juga terhapus. Format dari Link :
ln fileAsli fileDuplikat
fileDuplikat disebut hard link dimana kedua file akan muncul identik (link
count = 2) Bila fileAsli atau fileDuplikat diubah, perubahan akan terjadi pada file
lainnya.
Symbolic Link diperlukan bila file tersebut di “link” dengan
direktori /file yang berada pada partisi yang berbeda. Tipe file
menjadi l (link) dan file tersebut menunjuk ke tempat asal.
Format :
ln –s /FULLPATH/fileAsli /FULLPATH/fileDuplikat
Pilihan –s (shortcut) merupakan bentuk soft link dimana jumlah link count
pada file asal tidak akan berubah. Pada bentuk soft link, symbolic link dapat
dilakukan pada file yang tidak ada, sedangkan pada hard link tidak dimungkinkan.
Perbedaan lain, symbolic link dapat dibentuk melalui media disk atau partisi yang
berbeda dengan soft link, tetapi pada hard link terbatas pada partisi disk yang
sama.

2.4.7 Melihat isi file


Untuk melihat jenis file menggunakan format :
file filename(s)
Isi file akan dilaporkan dengan deskripsi level tinggin seperti
contoh berikut
$ file myprog.c [Link] [Link]
myprog.c: C program text
[Link]: ASCII text
[Link]: HTML document text
Perintah ini dapat digunakan secara luas untuk file yang kadang
membingungkan, misalnya antara kode C++ dan Java.

13
2.4.8 Mencari file
Jika ingin melihat bagaimana pohon direktori dapat digunakan perintah
• find
Format : find directory –name targetfile -print
Akan melihat file yang bernama targetfile (bisa berupa karakter wildcard)
• which
Format : which command
Untuk mengetahui letak system utility
• locate
Format : locate string
Akan mencari file pada semua directori dengan lebih cepat dan ditampilkan
dengan path yang penuh.

2.4.9 Mencari text pada file


Untuk mencari text pada file digunakan perintah grep (General Regular
Expression Print) dengan format perintah
grep option pattern files
Grep akan mencari file yang bernama sesuai pattern yang
diberikan dan akan menampilkan baris yang sesuai.

2.5 Proses dan Manajemen Proses


2.5.1 Konsep proses pada sistem operasi linux
Proses adalah program yang sedang dieksekusi. Setiap kali menggunakan
utilitas sistem atau program aplikasi dari shell, satu atau lebih proses ”child” akan
dibuat oleh shell sesuai perintah yang diberikan. Setiap kali instruksi diberikan
pada Linux shell, maka kernel akan menciptakan sebuah proses-id. Proses ini
disebut juga dengan terminology Unix sebagai sebuah Job. Proses Id (PID)
dimulai dari 0, yaitu proses INIT, kemudian diikuti oleh proses berikutnya
(terdaftar pada /etc/inittab). Beberapa tipe proses :
a. Foreground
Proses yang diciptakan oleh pemakai langsung pada terminal (interaktif,
dialog)

14
b. Batch
Proses yang dikumpulkan dan dijalankan secara sekuensial (satu persatu).
Proses Batch tidak diasosiasikan (berinteraksi) dengan terminal.
c. Daemon
Proses yang menunggu permintaan (request) dari proses lainnya dan
menjalankan tugas sesuai dengan permintaan tersebut. Bila tidak ada request,
maka program ini akan berada dalam kondisi “idle” dan tidak menggunakan
waktu hitung CPU. Umumnya nama proses daemon di UNIX berakhiran d,
misalnya inetd, named, popd dll

2.5.2 Sinyal
Proses dapat mengirim dan menerima sinyal dari dan ke proses lainnya.
Proses mengirim sinyal melalui instruksi “kill” dengan format
kill [-nomor sinyal] PID
Nomor sinyal : 1 s/d maksimum nomor sinyal yang didefinisikan system.
Standar nomor sinyal yang terpenting adalah :

2.5.3 Mengirim sinyal


Mengirim sinyal adalah satu alat komunikasi antar proses, yaitu
memberitahukan proses yang sedang berjalan bahwa ada sesuatu yang harus
dikendalikan. Berdasarkan sinyal yang dikirim ini maka proses dapat bereaksi
dan administrator/programmer dapat menentukan reaksi tersebut. Mengirim
sinyal menggunakan instruksi
kill [-nomor sinyal] PID
Sebelum mengirim sinyal PID proses yang akan dikirim
harus diketahui terlebih dahulu.

15
2.5.4 Mengontrol proses pada shell
Shell menyediakan fasilitas job control yang memungkinkan mengontrol
beberapa job atau proses yang sedang berjalan pada waktu yang sama. Misalnya
bila melakukan pengeditan file teks dan ingin melakukan interrupt pengeditan
untuk mengerjakan hal lainnya. Bila selesai, dapat kembali (switch) ke editor dan
melakukan pengeditan file teks kembali.
Job bekerja pada foreground atau background. Pada foreground hanya
diperuntukkan untuk satu job pada satu waktu. Job pada foreground akan
mengontrol shell - menerima input dari keyboard dan mengirim output ke layar.
Job pada background tidak menerima input dari terminal, biasanya berjalan tanpa
memerlukan interaksi.
Job pada foreground kemungkinan dihentikan sementara (suspend),
dengan menekan [Ctrl-Z]. Job yang dihentikan sementara dapat dijalankan
kembali pada foreground atau background sesuai keperluan dengan menekan ”fg”
atau ”bg”. Sebagai catatan, menghentikan job sementara sangat berbeda dengan
melakuakan interrupt job (biasanya menggunakan [Ctrl-C]), dimana job yang
diinterrup akan dimatikan secara permanen dan tidak dapat dijalankan lagi.

2.5.5 Mengontrol proses lain


Perintah ps dapat digunakan untuk menunjukkan semua
proses yang sedang berjalan pada mesin (bukan hanya proses
pada shell saat ini) dengan format :
ps –fae atau
ps -aux
Beberapa versi UNIX mempunyai utilitas sistem yang disebut top yang
menyediakan cara interaktif untuk memonitor aktifitas sistem. Statistik secara
detail dengan proses yang berjalan ditampilkan dan secara terus-menerus di-
refresh. Proses ditampilkan secara terurut dari utilitas CPU. Kunci yang berguna
pada top adalah
s – set update frequency.

16
u – display proses dari satu user
k – kill proses (dengan PID)
q – quit
Utilitas untuk melakukan pengontrolan proses dapat ditemukan pada
sistem UNIX adalah perintah killall. Perintah ini akan menghentikan proses
sesuai PID atau job number proses.

2.6 Bekerja dengan Bash Shell


2.6.1 Shell
Shell adalah Command executive, artinya program yang menunggu
instruksi dari pemakai, memeriksa sintak dari instruksi yang diberikan, kemudian
mengeksekusi perintah tersebut. Shell ditandai dengan prompt. Untuk pemakai
menggunakan prompt $ dan untuk superuser menggunakan promp #. Beberapa
macam shell :
a. /bin/sh
Bourne shell, dirancang oleh Steve Bourne dari AT&T
b. /bin/csh
Dikembangkan oleh UNIX Berkeley yang dikenal dengan C-Shell
c. /bin/bash
Kompatibel dengan Bourne Shell dan juga mengadaptasi
kemampuan Korn-Shell. Perbedaan mendasar antara Shell diatasi
hampir tidak ada, kecuali pada fasilitas pemrograman dan
editing.

2.6.2 Profile
Pada saat login, program akan menjalankan beberapa program
yaitu :
1. /etc/profile
Berisi shell script yang berlaku untuk seluruh pengguna Linux.
2. Profil untuk setiap pemakai
Pada home directory, login pertama kali akan memeriksa
file .bash_profile. Bila tidak ada, maka file .bash_login akan

17
dicari. Bila .bash_login tidak ada, maka dicari file bernama
.profile.
3. .bashrc
File ini akan dieksekusi untuk perpindahan dari satu shell ke shell
yang lain melalui instruksi su.
4. .bash_logout
Pada saat logout, maka bash akan mencari file .bash_logout. Bila
ada, file tersebut akan dieksekusi sebelum logout
Isi dari /etc/profile:
# System wide environment and startup programs
# Functions and aliases go in /etc/bashrc

PATH=”$PATH:/usr/X11R6/bin”
PS1=”[\u@\h \W]\\$ “
umask 022

USER=’id –un’
LOGNAME=$USER
MAIL=”/var/spool/mail/$USER”

HOSTNAME=’/bin/hostname’
HISTSIZE=1000
HISTFILESIZE=1000
Export PATH PS1 HOSTNAME HISTSIZE HISTFILESIZE USER LOGNAME
MAIL

PATH merupakan daftar nama direktori. Bila sebuah


instruksi diberikan dari prompt shell, maka instruksi
tersebut akan dicari pada daftar tersebut.
PS1 adalah prompt dimana
\u = Nama User
\h = Nama Host
\W = Nama working direktory

18
2.6.3 History
History diadaptasi dari C-Shell, yaitu catatan dari semua
instruksi yang sejauh ini telah dilakukan. Catatan ini dapat dilihat
sebagai history, kemudian dapat dipilih kembali, diedit dan
dieksekusi. History memudahkan pemakai untuk mengedit
kembali instruksi kompleks dan panjang, terutama bila terjadi
kesalahan pada penulisan instruksi maupun parameter.
Navigasi pada daftar history menggunakan karakter
kontrool sebagai berikut :
^P (Ctrl-P) melihat instruksi sebelumnya
^N (Ctrl-N) melihat instruksi berikutnya
!! eksekusi kembali instruksi sebelumnya
!! –3 3 instruksi sebelumnya akan diulang
!!88 ulangi instruksi no 88

2.6.4 Bash-script
Bash-script adalah file yang berisi koleksi program yang dapat dieksekusi.
Untuk eksekusi bash script gunakan . sebelum file bash-script yang berarti
eksekusi shell dan tanda ./ berarti file bash-script berada pada direktori actual.

2.6.5 Job control


Job adalah sebuah eksekusi program yang diberikan kepada kernel.
Sebuah Job dianggap selesai, bila eksekusi program tersebut berakhir. Eksekusi
Job adalah sama dengan eksekusi program, baik proses Background maupun
proses Foreground.

2.6.6 Editor vi
Vi adalah full screen editor, artinya editor tersebut dapat
memanfaatkan fasilitas satu layar penuh. Vi mempunyai 2 buah
modus, yaitu :
1. Command line

19
Editor vi mengintepretasikan input sebagai instruksi untuk
dieksekusi oleh editor, contoh seperti mencari teks, mengganti
teks secara otomatis dan lainnya.
2. Editing
Editor vi mengintepretasikan input sebagai teks yang akan
dimasukkan ke dalam buffer editor. Pada bagian bawah layar
akan tampil teks “INSERTING”. Pada awal vi dijalankan, maka
program memasuki command mode. Dengan menekan tombol
“i” maka akan memasuki editing. Untuk kembali ke command
mode, tekan tombol Esc.
Kunci-kunci teks editor vi dapat dilihat pada tabel sebagai berikut
:
Kunci Keterangan
H Pindah kursor ke kiri satu karakter
J Pindah kursor ke kanan satu karakter
K Pindah kursor ke atas
L Pindah kursor ke bawah
O Menyisipkan teks (satu baris Untuk keluar dari 5
setelah posisi kursor) model kunci insert
I Menyisipkan teks (di sebelah di samping ini dan
kiri posisi kursor) mengaktifkan kunci
A Menyisipkan teks (di sebelah lain, maka kita
kanan posisi kursor) harus menekan
I Menyisipkan teks (di posisi tombol Esc terlebih
(shift i) awal baris) dahulu
A Menyisipkan teks (di posisi
Shift a akhir baris)
X Menghapus 1 huruf (di sebelah kanan posisi kursor)
Dw Menghapus 1 kata (di sebelah kanan posisi kursor)
Dd Menghapus 1 baris (di sebelah kanan posisi kursor)
Yy Mengkopi 1 baris
2yy Mengkopi 2 baris

20
P (paste) menampilkan baris kalimat yang sudah dikopi
dengan kunci yy
Cw Mengganti 1 kata yang telah ditulis di sebelah kanan
posisi kursor dengan kata lain
Cc Mengganti 1 baris yang telah ditulis di sebelah kanan
posisi kursor dengan kata lain
Ctrl-b Mundur satu layar
Ctrl-f Maju satu layar
Ctrl-d Maju setengah layar
B Menggerakkan kursor ke kiri satu kata
W Menggerakkan kursor ke kanan satu kata
^ Pergi ke awal baris
$ Pergi ke akhir baris
U Membatalkan perintah yang terakhir kali
U Membatalkan seluruh perubahan teks pada baris
tempat kursor berada
:! Keluar untuk sementara dari editor vi dan
menjalankan perintah yang lain
:w Write and quit, simpan berkas dan keluar
:q! Keluar vi tanpa menyimpan
:se all Menampilkan semua pilihan set status
:se nu Menampilkan nomor baris pada kiri layar
/string Mencari string kearah depan
?string Mencari string kearah belakang
N Meneruskan pencarian untuk arah yang sama
N Meneruskan pencarian untuk arah yang berbeda

2.7 Pemrograman Shell


2.7.1 Shell script
Shell script dibuat dengan editor teks (ASCII editor) dan
umumnya diberikan ekstensi “.sh”. Script selalu diawali dengan

21
komentar, yang dimulai dengan tanda #, disambung dengan !
dan nama shell yang digunakan.
#!/bin/sh (1)
# Program shell (2)
#
var1=x (3)
var2=8
(1) Awal dari program shell, komentar awal ini akan dibaca oleh system,
kemudian system mengaktifkan program shell (/bin/sh) yang tertera di situ.
Program shell dapat dipilih, misalnya /bin/csh, /bin/ksh dan lainnya
(2) Adalah komentar, sebagai dokumentasi, baris ini akan diabaikan oleh
program shell
(3) Penggunaan variable (assignment), tidak boleh ada spasi di antara nama
variable dan konstanta

2.7.2 Variabel
Variable shell adalah variable yang dapat mempunyai nilai
berupa nilai String. Tata penulisan variable adalah sebagai
berikut :
nama_var = nilai_var
Variable harus dimulai dengan alfabet, disusul dengan
alfanumerik dan karakter lain. Variabel dapat ditulis dalam huruf
kecil atau huruf besar atau campuran keduanya. Shell
membedakan huruf besar dan huruf kecil (case sensitive), contoh :
VPT=poltek
i=5
Pemberian nilai variable tidak boleh dipisahkan dengan
spasi, karena shell akan menganggap pemisahan tersebut
sebagai parameter, contoh :
VPT= poltek ##error
VPT= poltek ##error

22
Untuk melihat nilai/isi dari sebuah variable, gunakan tanda
$ di depan nama variable tersebut. Pada shell, instruksi echo
dapat menampilkan isi variable tersebut, contoh :
VPT=poltek
echo $VPT

Gaji=450000
echo $Gaji
echo $VPT $Gaji
Bila menggunakan string yang terdiri dari lebih dari satu
kata, maka string tersebut harus berada dalam tanda kutip atau
apostrof, contoh :
VPT=poltek
VPT2=”poltek elektronika ITS”

2.7.3 Membaca keyboard


Nilai variable dapat diisi melalui keyboard (stdin) dengan instruksi read.
2.7.4 Parameter
Sebuah program shell dapat mempunyai parameter sebanyak 9 buah dan
direpresentasikan melalui variable khusus yaitu variable $!, $2, $3, $4, $5, $6, $7,
$8 dan $9. Nama program shell (nama script) direpresentasikan melalui variable
$0. Jumlah parameter dinyatakan sebagai $#. Bila tidak memberikan parameter,
maka nilai $# adalah 0.
Shell variable $* menyatakan seluruh string yang menjadi parameter /
argumen sebuah script ($@ mempunyai arti yang sama). $$ menyatakan nomor
proses id (pid) dari script yang dijalankan. Pid ini akan terus berubah (umumnya)
menaik, setiap kali proses berjalan.

2.7.5 Status exit


Setiap program setelah selesai dieksekusi akan
memberikan informasi melalui variable spesial $?. Indikasi yang
diberikan adalah :
 Bila program berakhir dengan sukses, $? = 0

23
 Bila program berakhir dengan error, $? ≠ 0
Nilai dari status exit dapat dilihat melalui instruksi echo $?

2.7.6 Konstruksi if

if instruksi-awal
then

instruksi1
instruksi2
………………
fi

if akan mengeksekusi instruksi-awal, dan exit status dari instruksi tersebut


akan menjadi kondisi. Bila 0, maka instruksi selanjutnya masuk ke dalam blok
then. Bila tidak 0, maka alur program diteruskan setelah kunci kata fi.

2.7.7 Konstruksi if then else

if instruksi1
then
instruksi1.1

instruksi1.2
………………
else

instruksi2.1
instruksi2.2
………………
fi

24
Bila status exit tidak sama dengan 0, maka kondisi menjadi
FALSE dan instruksi setelah else akan dijalankan.

2.7.8 Instruksi test


Instruksi test digunakan untuk memeriksa kondisi dari sebuah ekspresi.
Ekspresi terdiri dari factor dan operator yang dipisahkan oleh spasi. Hasil test
akan memberikan nilai berupa status exit, yaitu 0 bila ekspresi sesuai, bila tidak
maka hasil adalah ≠ 0.
• Operator untuk test

• Test untuk files dan directory


Test dapat dilakukan untuk memeriksa apakah file ada (Exist),
dapat dibaca, dapat ditulis, kosong dan lainnya.
Operator 0 atau true, jika
-f nama file File ada, file biasa
-d namafile File ada, file adalah
directori
-r namafile File dapat dibaca
-w File dapat ditulis
namafile
-s namafile File ada dan tidak
kosong
-x nama File adalah executable
file

Untuk memudahkan pembacaan (readability), test dapat ditulis


dengan
[ekspresi]

25
[ sebenarnya adalah nama lain dari test, bedanya [ akan
mencari kurung penutup ] pada akhir ekspresi yang harus
dipisahkan oleh spasi.

2.7.9 Logical && dan || (shell level)


Notasi && dan || digunakan untuk menggabungkan
instruksi shell sebagai alternatif untuk if then else. Notasi &&
dan || sering ditemukan dalah shell script system administrator
untuk menjalankan routine dari system operasi.
• instruksi1 && instruksi2
shell akan mengeksekusi instruksi1, dan bila exit status instruksi1 adalah
FALSE, maka hasil dari AND tersebut sudah pasti sama dengan FALSE, sehingga
instruksi2 tidak mempunyai pengaruh lagi. Oleh karena itu, instruksi2 tidak
dijalankan. Sebaliknya bila hasil instruksi1 adalah TRUE(0), maka instruksi2
dijalankan
• instruksi1 || instruksi2
shell akan mengeksekusi instruksi1, bila exit status adalah TRUE(0), hasil dari
operasi OR tersebut sudah pasti menghasilkan TRUE, terlepas dari hasil eksekusi
instruksi2. Oleh karena itu instruksi2 tidak perlu dijalankan. Bila hasil instruksi1
adalah FALSE, maka instruksi2 akan dijalankan.

2.7.10 Operator bilangan bulat untuk test


Untuk membandingkan 2 buah bilangan, test memerlukan
operator yang berbeda dengan string.

26
2.7.11 Operator logical (test level)
Logical operator terdiri dari AND, OR dan NOT. Operator ini
menggabungkan hasil ekspresi sebagai berikut :
NOT : symbol !
!
True False
False true

AND : symbol -a
V1 V2 V1-a V2
False False False
False True False
True False False
True True True

OR : symbol -o
V1 V2 V1-o V2
False False False
False True True
True False True
True True True
2.7.12 Konstruksi if then else if
if instruksi1
then
instruksi1.1

instruksi1.2
………………
elif instruksi2

then

instruksi2.1

27
instruksi2.2
………………

else
instruksi3.1
instruksi3.2
………………
fi

Bila status exit tidak sama dengan 0, maka kondisi menjadi


FALSE dan instruksi setelah else akan dijalankan.

2.7.13 Hitungan aritmetika


Tipe dari variable SHELL hanya satu yaitu STRING. Tidak ada tipe lain
seperti Numerik, Floating, Boolean atau lainnya. Akibatnya variable ini tidak
dapat membuat perhitungan aritmetika, misalnya :
A=5
B=$A +1 ## error
UNIX menyediakan utilitas yang bernama expr yaitu suatu utilitas yang
melakukan aritmetika sederhana.

2.7.14 Instruksi exit


Program dapat dihentikan (terminated/selesai) dengan
instruksi exit. Sebagai nilai default program tersebut akan
memberikan status exit 0.

2.7.15 Konstruksi case


Case digunakan untuk menyederhanakan pemakaian if
yang berantai, sehingga dengan case, kondisi dapat
dikelompokkan secara logis dengan lebih jelas dan mudah untuk
ditulis.
case variable in

28
match1)

instruksi1.1
instruksi1.2
………………
;;
match2)

instruksi2.1
instruksi2.2
………………
;;
*)
instruksi3.1

instruksi3.2
………………
;;

esac

Case diakhiri dengan esac dan pada setiap kelompok


instruksi diakhiri dengan ;;. Pada akhir pilihan yaitu *) yang
berarti adalah “default”, bila kondisi tidak memenuhi pola
sebelumnya

2.7.16 Konstruksi for


For digunakan untuk pengulangan dengan menggunakan
var yang pada setiap pengulangan akan diganti dengan nilai
yang berada pada daftar (list).

29
for var in str1 str2 …..strn
do
instruksi1

instruksi2
………………
done

2.7.17 Konstruksi while


While digunakan untuk pengulangan instruksi, yang
umumnya dibatasi dengan suatu kondisi. Selama kondisi
tersebut TRUE, maka pengulangan terus dilakukan. Loop akan
berhenti, bila kondisi FALSSE, atau program keluar dari blok
while melalui exit atau break.

while kondisi

do
instruksi1
instruksi2
………………
done

2.7.18 Instruksi dummy


Instruksi dummy adalah instruksi yang tidak melakukan apa-apa, namun
instruksi ini memberikan status exit 0 (TRUE). Oleh karena itu, instruksi dummy
dapat digunakan sebagai kondisi forever pada loop (misalnya while).
Simbol instruksi dummy adalah →:

2.7.19 Fungsi

30
Fungsi adalah program yang dapat dipanggil oleh program lainnya dengan
menggunakan notasi NamaFungsi(). Fungsi memberikan exit status ($?) yang
dinyatakan dengan return nr, atau nilai 0 sebagai default. Membuat fungsi
diawali dengan nama fungsi, parameter, kemudian blok program yang dinyatakan
dalam { … }.
Contoh :
F1( ) {
……..
……..
return 1
}
Variabel dapat didefinisikan dalam fungsi sebagai variable
local atau global. Hal yang perlu diperhatikan, nama variable
yang digunakan dalam sebuah fungsi, jangan sampai bentrok
dengan nama variable yang sam adi luar fungsi, sehingga tidak
terjadi isi variable berubah.

2.8 Sistem File


2.8.2 Ijin akses
Setiap obyek pada Linux harus mempunyai pemilik, yaitu nama pemakai
Linux (account) yang terdaftar pada /etc/passwd. Ijin akses dibagi menjadi 3 peran
yaitu :
• Pemilik (Owner)
• Kelompok (Group)
• Lainnya (Others)
Setiap peran dapat melakukan 3 bentuk operasi yaitu : • Pada File
o R (Read) Ijin untukmembaca
o W (Write) Ijin untuk mengubah / membuat
o X (Execute) Ijin untuk menjalankan program
Pemilik File/Direktori dapat mengubah ijin akses sebagai berikut :
-rwxrwxrwx 1 student test 1639 Oct 31 20:19 file

other

31
group

user
Format untuk mengubah ijin akses
chmod [ugoa] [= + -] [rwx] File(s)
chmod [ugoa] [= + -] [rwx] Dir(s)
dimana u = user (pemilik)
g = group (kelompok)
o = others (lainnya)
a = all
Format lain dari chmod adalah menggunakan bilangan octal sebagai berikut
r w x
4 2 1 = 7

2.8.3 User mask


Untuk menentukan ijin akses awal pada saat file atau direktori dibuat
digunakan perintah umask. Untuk menghitung nilai default melalui umask pada
file, maka dapat dilakukan kalkulasi sebagai berikut :
Kreasi file (biasa) 666
Nilai umask 022
------- -
644
Kreasi direktori 777
Nilai umask 022
------- -
755
2.9 Manajemen Perangkat Keras
2.9.1 File perangkat keras
/dev berisi file device (perangkat) yang merupakan aspek penting pada
sistem file Linux. /dev/cdrom dan /dev/fd0 merupakan drive CD-ROM dan
floppy pada komputer Anda. Kita dapat melkaukan akses read dan write pada
perangkat. Sebagai contoh /dev/dsp merupakan perangkat speaker. Sembarang

32
data yang ditulis ke file ini akan dialihkan ke speaker. ’cat /boot/vmlinuz >
/dev/dsp’ menyebabkan kita dapat mendengarkan suara dari speaker. Untuk
mencetak file dapat dikirim ke perangkat /dev/lp0. Mengirim data ke dan
membaca data dari /dev/ttyS0 akan menyebabkan komunikasi dengan perangkat
modem.
Mayoritas device berupa block device atau character device. Block device
adalah device yang menyimpan atau membawa data, character device adalah
device yang mengirim atau transfer data. Sebagai contoh, diskette drive, hard
drive dan CD-ROM drive adalah block device, sedangkaan serial port, mouse dan
paralel printer adalah character device.
Beberapa file perangkat yang umum digunakan yang perlu diingat adalah :
 /dev/ttyS0 (First communication port, COM1) : First serial port (mouse,
modem) /dev/psaux (PS/2) : PS/2 mouse connection (mouse, keyboard)
 /dev/lp0 (First printer port, LPT1) : First parallel prot (printer, scanner dsb)
/dev/dsp (First audio device) : sound card, digitized voice dan PCM
 /dev/usb (USB Device) : node USB device
 /dev/sda (C:/SCSI device) : First SCSI device (HDD, Memory stick, external
mass storage device seperti CD-ROM pada laptop)
 /dev/scd (D:\, SCSI CD-ROM device) : First SCSI CD-ROM device
 /dev/js0 (Standard gameport joystick) : First joystick device
Device didefinisikan sebagai tipe seperti block atau character dan nomor
mayor dan minor. Nomor mayor digunakan untuk melakukan katagori device dan
nomor minor untuk mengidentifikasi tipe device khusus. Sebagai contoh, semua
IDE device dihubungkan dengan primary controller mempunyai nomor mayor 3.
Perangkat master dan slave, didefinisikan lebih jauh dengan nomor minor.
Terdapat dua nomor sebelum tanggal yang tercetak. Jika kita lakukan perintah ls
–l /hd* maka akan terlihat nomor mayor untuk perangkat hda dan hdb adalah 3.
Nomor minor berubah untuk setiap partisi tertentu. Kita dapat selalu membuat
perangkat menggunakan skrip MAKEDEV dimana akan diletakkan pada directory
/dev.
# MAKEDEV *

33
2.9.2 Perintah Mount dan Umount
Sebelum menggunakan sistem file, harus di-mount terlebih dahulu.
Kemudian sistem operasi dapat mengerjakan penyimpanan file. Karena semua
file UNIX berada pada satu pohon direktori, operasi mount akan terlihat seperti isi
dari sub direktory yang ada pada sistem file yang sudah dilakukan mounting.
Contoh perintah mount
$ mount /dev/hda2 /home
$ mount /dev/hda3 /usr
Perintah mount mempunyai 2 argumen, argumen pertama adalah file
device yang berhubungan dengan disk atau partisi dari sistem file. Argumen
kedua adalah direktory yang dimounting. Perintah diatas berarti bahwa
”/dev/hda2 dilakukan mounting ke /home” begitu juga dengan /usr. Perbedaan
antara file device /dev/hda2 dan direktory mount /home adalah file device
memberikan akses ke isi disk mentah, direktory mount memberikan akses ke file
dari disk. Direktory mount disebut mount point.
Linux mendukung beberapa tipe sistem file. Mount akan menebak tipe
dari sistem file. Opsi –t fstype akan memberikan spesifikasi tipe sistem flie.
Sebagai contoh, untuk mount floppy MS-DOS, dapat menggunakan perintah
berikut :
$ mount –t msdos /dev/fd0 /floppy
Sistem file root dilakukan mounting pada waktu booting. Jika sistem file
root tidak dapat dimounting, sistem tidak dapat melakukan booting. Nama sistem
file dimounting sebagai root. Sistem file root mula-mula bersifat read-only. Skrip
startup kemudian menjalankan fsck untuk melakukan verifikasi validitas dan jika
tidak ada permasalahan, dilakukan mounting lagi sehingga write diperbolehkan.
Fsck tidak boleh dijalankan pada saat sistem file dimounting, karena setiap
perubahan ke sistem file saat fsck berjalan mengakibatkan kesalahan. Bila sistem
file root dimounting read-only saat dilakukan pengecekan, fsck dapat
memperbaiki permasalahan. Jika sistem file tidak diperlukan untuk dimounting,
dapat dilakukan unmounting dengan perintah umount. Perintah umount
mempunyai satu argumen berupa file device atau mount point. Sebagai contoh
untuk unmount direktory pada contoh diatas dapat digunakan perintah
$ umount /dev/hda2

34
$ umount /usr

Kita dapat melihat perangkat floppy dan mount point yang diijinkan pada
/etc/fstab.
$ cat /etc/fstab
/dev/fd0 /mnt/floppy auto rw,user,noauto 0 0
/dev/hdc /mnt/cdrom iso9660 ro,user,noauto 0 0
/dev/hdc /mnt/cdrom iso9660 0 0 0
Kolom terdiri dari file device, directory mounting, tipe sistem file, opsi,
frekuensi backup, fsck pass number (0 berarti tanpa cek). Opsi noauto
menghentikan mounting yang dilakukan secara otomatis jika sistem dimulai
(misalnya menghentikan mount –a). Opsi user mengijinkan sembarang user
melakukan mounting sistem file dan karena alasan keamanan, eksekusi program
tidak diijinkan (normal atau setuid) Jika ingin menyediakan akses ke beberapa
tipe floppy, perlu diberikan beberapa mount point. Setting berbeda untuk setiap
mount point. Sebagai contoh untuk memberikan akses ke floppy MS-DOS dan
ext2, dilakukan perubahan baris pada /etc/fstab :
/dev/fd0 /dosfloppy msdos user,noauto 0 0 /dev/fd0 /ext2floppy ext user,noauto 0
0

35

Anda mungkin juga menyukai