Anda di halaman 1dari 35

Modul

SistemOperasiLinux

1.DAFTARISI
1.DAFTARISI

.......................................................................................................................................

2
1.I.Pengenalan

.....................................................................................................................................

4
1.1.SistemOperasiLinux

..................................................................................................................

4
1.2.ArsitekturSistemOperasiLinux

...............................................................................................

5
1.2.1.Kernel

....................................................................................................................................

5
1.2.2.Shells/GUI

...........................................................................................................................

5
1.2.3.Utilitassistem

......................................................................................................................

6
1.2.4.Aplikasi

.................................................................................................................................

7
1.3.MemulaibekerjadenganLinux

.................................................................................................

7
1.3.1.LogindanLogout

..................................................................................................................

7
2.II.LinuxFileSystem

........................................................................................................................

9
2.1.DasarTeori

..................................................................................................................................

9
2.1.1.Ordinaryfiles

........................................................................................................................

9
2.1.2.Direktori

................................................................................................................................

9
2.1.3.Devices

..................................................................................................................................

9
2.1.4.Link

......................................................................................................................................

9
2.2.StrukturLinuxFileSystem

.....................................................................................................

10
2.3.Penangananfiledandirektori

..................................................................................................

11
2.3.1.pwd

......................................................................................................................................

11
2.3.2.ls(listdirectory)

.................................................................................................................

12
2.3.3.cd(changedirectory)

..........................................................................................................

13
2.3.4.mkdir(MakeDirectory)

......................................................................................................

13
2.3.5.rmdir(Removedirectory)

...................................................................................................

14
2.3.6.cp(Copy)

..............................................................................................................................

14
2.3.7.mv(move)

.............................................................................................................................

14
2.3.8.rm(remove/delete)

..............................................................................................................

14
2.3.9.cat(catenate/type)

..............................................................................................................

15
2.3.10.more(catenatewithpause)

..............................................................................................

15
2.4.2.4PenangananRemoveableMedia

.........................................................................................

16
2.4.1.Mount

..................................................................................................................................

17
2.4.2.unmount

..............................................................................................................................

17

3.III.VIMTextEditor

........................................................................................................................

18
3.1.DasarTeori

................................................................................................................................

18
3.2.Vimadalahmodaleditor

..........................................................................................................

18
3.3.Memulaibekerjadenganvim

..................................................................................................

19
3.3.1.Keluardarivim

...................................................................................................................

19
3.3.2.Pindahmode

......................................................................................................................

19
3.3.3.Lebihlanjutdenganvim

....................................................................................................

20
4.IV.DasarPemrogramanShellBASH

.............................................................................................

25
4.1.Shell

...........................................................................................................................................

25
4.2.BekerjaDenganShell

...............................................................................................................

26
4.2.1.ShellInteraktif

..................................................................................................................

26
4.2.2.ProgramShell

.....................................................................................................................

27
4.2.3.Variabel

..............................................................................................................................

27
4.2.4.MetakarakterDalamShell

................................................................................................

32
4.2.5.Quoting

...............................................................................................................................

33
6.DaftarPustaka

................................................................................................................................

41

2.I.Pengenalan
2.1.SistemOperasiLinux
Sebuahkomputerdapatdioperasikanapabiladalamkomputertersebutterdapatsistem
operasi yang kompatibel. Saat ini banyak sistem operasi yang dapat berjalan di PC seperti
DOS,Windows,Linux,danUnix.

Pada awal perkembangannya sekitar akhir 1960 sistem operasi masih belum
memiliki arsitektursistemyang standard, sampaipadaawaltahun 1969lahirsistem operasi
yangbernamaUNICS(UniplexedInformationandComputerSystem)yangdikembangkanoleh
ken thompson seorang peneliti di BELL Lab. Ia membangun sistem operasi dengan bahasa
pemrogramanasemmblypadakomputerPDP7yangdisebutUNICS.modeldariUNICSinimasih
mengikutipolapadasistemoperasiUNIXyaitupadamodelperintahpendekdariUNIX, ls,
cp,rm,mv,dll.

Pada tahun 1973 Ken Thompson bersama Dennis Ritchie seorang pembuat C
compiler, mengembangkan sistem operasi UNIX kernel dengan bahasa pemrograman C, dan
padatahun1974lahirlahsistemoperasiUNIXgenerasike5.padatahun1978UNIXkembali
dirilis untuk edisi yang ke7. Pada generasi ke7 ini UNIX pecah menjadi dua cabang yaitu
SYSV(System5)danBSD(BerkeleySoftwareDistribution).SYSVdikembanganolehBELLAT&T
LabsebagaipaketsistemoperasiUNIXkomersial,sedangankanBSDdikembangkanolehKen
ThompsonbersamadenganparamahasiswanyadalamsebuahpenelitiandiuniversitasBerkeley.
GenerasibarudariSYSVadalahSYSVR4(System5Release4).PadadasarnyaantaraSYSVdan
BSD memiliki kesamaan yaitu keduanya sama berasal dari satu rumpun UNIX namun dari
keduanyaterdapatbeberapasedikitperbedaanspertipadatabelberikut.
Feature

TypicalSYSV

kernelname
bootinit
mountedFS
defaultshell
FSblocksize
printsubsystem
echocommand
(nonewline)
pscommand
multiplewait
syscalls
memoryaccess
syscalls

/unix
/vmunix
/etc/rc.d
/etc/rc.*files
directories
/etc/mtab
/etc/mnttab
csh,tcsh
sh,ksh
4K>8K
512bytes>2K
lpr,lpq,lprm
lp,lpstat,cancel echon
echo"\c"
psfae
psaux
poll
select
memset,memcpy

TypicalBSD

bzero,bcopy

Linux merupakan kombinasi turunan dan SYSV dan BSD, pada tahun 1991 Linus B
Torvalds, seorang mahasiswa di universtas Helsinki mengembangkan sebuah sistem operasi
bernamaLinux.LinuxmengadopsistandardspesifikasiUNIXyaituPOSIX.(PortableOperating
System Interface). Linux dirilisdalam bentuk open source, dimana sifat alamiah open source
LinuxadalahsemuakodekernelLinuxdidistribusikandandapatditambahataudimodifikasi
oleh siapa saja. Sampai saat ini sistem operasi yang merupakan varian dari generasi Linux
banyak berkembang dengan konsep distro yang beragam, seperti RedHat, Mandrake, SUSE,
Slackware,Madriva,Debian/GNU,dll.Darisemuadistroyangadatidaksemuanyabersifatopen
source,hanyaDebianyangsampaisaatini(2007)masihtetapdenganlisensiopensource.

2.2.ArsitekturSistemOperasiLinux
SepertihalnyasemuasistemoperasipadaumumnyaLinuxmemilikikonsepsamadalam
hal arsitektur. Perbedaanya adalah bentuk disetiap komponen pada arsitektur tersebut.
KomponenpadaarsitektursistemoperasiLinuxadalahsebagaiberikut:

2.2.1.Kernel
Kerneladalahbagianterpentingdarisebuahsistemoperasi.Padasistemoperasikernel
berfungsi untuk mengendalikan semua perangkat keras yang ada di PC seperti CPU(Central
Processing Unit), Graphic Cards, Sound Card, Perangkat USB, Harddisk, dll. Selain itu juga
kernelberfungsiuntukmenjembataniantaraapplikasiyangberjalandenganperangkat keras
yangdiaksesolehapplikasitersebut.
Sebagaicontoh applikasitexteditor(vi,notepad,emacs)membutuhkanresourceslayar
monitor sebagai tampilan bagi penggunanya, dalam kasus ini maka applikasi tersebut akan
dihubungkan oleh kernel melalui device driver VGA Card untuk mengeluarkan data menuju
layarmonitor.Selaindariapplikasikerneljugamenjembataiperintahyangditulisolehpengguna
melaluishellatauGUI.KernelLinuxmerupakanturunandariUnixBSDdanSYSV,danmodel
darikernelLinuxmengacupadaspesifikasiPOSIX(PortableOperatingSystemIX).
Sistemkerjadarikerneladalah ketikaPC melakukan booting pertamakali maka file
binerdarikernelakandipindahmenujumemorydanakanmejalankansemuafungsimanajemen
resources pada PC tersebut. Setiap PC memiliki jenis perangkat keras yang berbedabeda,
sehingga kernel akan menginisialisasi perangkat tersebut dengan module device driver yang

berbeda.Filebinerkernellinuxdapatdilihatpadadirektori/boot/vmlinuzsedangkansource
kode dapat dilihat di /usr/src/linux. Sampai saat ini kernel linux stable sudah keluar
denganversi2.6.22.3.Untuklebihdetailmengenaiperkembangangenerasikerneldapatdilihat
padasitushttp://www.kernel.org/.

2.2.2.Shells/GUI

Shellmerupakanantarmukalinuxkerneldenganpenggunanya.Didalamshellpengguna
dapat menuliskan perintah yang kemudian akan dieksekusi langsung oleh kernel. Perintah
perintah yang dapat dituliskan merupakan perintah yang berhunbungan dengan pengelolaan
sistemoperasi,misalnyamelihat isifileyangtersimpandalamsebuahdirektori,membuat file
baru, atau melihat isi dari sebuah file. Selain operasi file shell juga dapat digunakan untuk
operasiI/Oatauoperasipenangananpengguna.
Padasistemoperasilinuxadaduajenisshellataupenghubungantarapenggunadengan
sistemoperasiyangpertamaadalahtextbasedshelldanyangkeduaadalahGUI(GraphicUser
Interface). Beda dari keduanya adalah cara penyajiannya kepada pengguna, jenis textbased
adalah antarmuka paling sederhana dimana pengguna hanya dapat berinteraksi melalui
keyboard saja, sedangkan GUI memungkinkan pengguna berinteraksi dengan sistem operasi
melaluikeyboardsaja,mousedanperangkatlainnyadapatdigunakan.Selainitutampilanpada
GUIsudahlebihmodernyaituberbasiskantampilangrafis.

2.2.3.Utilitassistem
Setiapsistemoperasipadadasarnyamengacupadasebuahspesifikasitertentuseperti
halnyaUnixpadaPOSIX.2dimanapadaspesifikasiinidijelaskankonsepimplementasiutilitas
sistem untuk membantu pengguna berinteraksi dengan sistem operasi. Utilitas sistem dalam
sebuahsistemoperasiberfungsisebagaipengaturansumberdayayangsudahdiinisialisasioleh
sistemoperasipadasaatprosesbootingawaldilakukan.Fungsimonitoring,fungsipengaktifan
dan penonaktifan sebuah service dalam sistem operasi merupakan pekerjaan yang dapat
dilakukandenganmenggunakanutilitassistemyangadadalamsebuahsistemoperasiseperti
Linux.BeberapacontohutilitassistemdalamLinuxadalahls,man,fdisk,grep,awk,sed,cp,
mv,more,danlainsebagainya.SepertihalnyadalamsistemoperasiWindowsbeberapautilitas
misalnya control panel, dir, cd, dan lainlain. Selain itu juga utilitas sistem juga termasuk
program yang bersifat server, dimana program ini akan berjalan secara background (tidak

tampak),sepertimisalnyautilitasuntukmenanganikoneksidarijarakjauhdengantelnetatau
ssh, kedua layanan ini merupakan utilitas sistem yang bersifat server dan dijalankan secara
background.contohlaindariserverprogramdalamLinuxadalahlpduntukmenganganiproses
printer,httpdsebagaiwebserver,cronduntukmenjalankantugasadministratifsistemoperasi
secara reguler. Utilitas sistem yang bersifat server dan dijalankan secara backgroung dalam
Linux disebut DAEMON(Disk AndExecutionMONitor). daemondiaktifkan pada saat proses
bootingsistemoperasi,danakanberjalansecaraterusmenerus.Programiniakanmemantau
event yang terjadi dan apabila sesusai dengan yang dikehendaki maka daemon akan
menjalankan sesuatu. Sebagai contoh program daemon telnet server. Daemon ini akan
melakukanpemantauanpadasemuakoneksiyangdatangdariluarPCmelaluijaringanpada
nomerport23.jikaadakoneksidariluaryangmenghubunginomertersebutmakatelnetserver
akanmenerimakoneksitersebutdanmelayaniprosesyangakandilakukan.

2.2.4.Aplikasi
Applikasi merupakan level tertinggi pada sistem operasi. Dimana pada aplikasi ini
pengguna sistem operasi dapat menggunakan aplikasi berdasarkan kebutuhannya. Misalnya
applikasi untuk menulis, pada sistem operasi Linux dapat dilakukan dengan menggunakan
bantuan applikasi Open Office, sedangkan untuk melakukan editing gambar dapat
menggunakan GIMP. Karena applikasi merupakan level tertinggi dari sebuah sistem operasi
makasetiapapplikasidibentukdengancaraberbedauntukmasingmasingsistemoperasidan
hanyabisaberjalanpadasistemoperasitempatdimanaapplikasitersebutdibangun.Misalnya
MS Office tidak dapat berjalan pada sistem operasi Linux, kecuali pembangun MS Office
mengeluarkandistribusipaketMSOfficeforLinux.DistribusiLinuxyangberedarsaatini,selain
kerneljugamenyertakanpaketpaketapplikasiyangdapatdimanfaatkanolehpengguna,namun
tidaksemuaapplikasidisertakan,tergantungsifatdariapplikasitersebutkomersialatauopen
source. Sementara ini yang bersifat open source saja yang disertakan. Contoh applikasi open
sourceGCC,G++,Xfix,Latex,dll.

2.3.MemulaibekerjadenganLinux
UntukmemulaibekerjapadasistemoperasiLinuxhalyangpalingawaldilakukanadalah
proses login. Pada proses ini Linux akan meminta pengguna memasukkan username dan
password.JikaberhasilmakapenggunatelahberadadalamlingkungansistemoperasiLinux.

2.3.1.LogindanLogout
AdaduajenisloginyangdapatdilakukandalamLinux.Yangpertamaberbasistextatau
lebihdikenaldenganistilahTTY,yangkeduaberbasisGUI.Padaloginberbasitextuserakan
dimintamemasukkanusernamedanpasswordsepertiberikutini:
Login : <username> tekan enter
Password : <password>
Setelahberhasilmemasukkandenganbenarusernamedanpasswordmakaakanmunculprompt
dimonitordenganciriterdapatkarakter$.
madeagus@debian4e:~$
artidaritulisantersebutadalahmadeagus merupakanusernamesedangkan @merupakan
simboltempatataulokasidandebian4emerupakannamahostataukomputer,sehinggajika
diartikanuser madeagusloginpadahostbernamadebian4e.
Setelahproseslogindilaluimakaprosesselanjutnyaadalahbergantungpadakeinginan
pengguna.Aturanmainnyasangatsederhanahanyacukupmenuliskanperintahperintahyang
diterimaolehLinuxkemudiantekanenter,jikaperintahyangdituliskanbenarmakasistem
akanmeresponkeluaranperintahtersebut.Sebagaicontoh:
madeagus@debian4e:~$ls enter
perintah ls akan menampilkan seluruh isi dari direktori saat itu. Setelah selesai

memainkan perintah yang bisa dijalankan dalam lingkungan sistem operasi Linux, jika
diinginkanuntukkeluardarishellmakaperintahyangdapatdigunakanadalahlogoutatau
bisajugadengantekanctrld.Jikaperintahinibenarmakasistemakankeluardantampilan
monitorakanmenjadi:
Login :
MakasecaraumumoperasiperintahdalamLinuxdapatdisimpulkankedalambentukumum
$<perintah> <option> enter

3.II.LinuxFileSystem
3.1.DasarTeori
SistemoperasiLinuxpadadasarnyaterdiridarisatukesatuanfileyangterhimpundalamsebuah
direktoriterstruktur.StrukturfileiniseringdisebutdenganLinuxFileSystem.Filefileyang
terhimpundalamsistemoperasiberupafilekerneldanfileyangdapatdipanggillangsunguntuk
mejalankan perintah tertentu. Selain itu juga dalam sistem operasi Linux terdapat direktori
yang merupakan representasi dari perangkat keras yang ditangani oleh Linux yaitu /dev.
SecaraumumsetiapfileyangterdapatpadasistemoperasiLinuxdapatdikategorikanmenjadi
empatjenis.

3.1.1.Ordinaryfiles
OrdinaryfilesadalahfilefileumumyangbisadisimpandiLinux,fileinidapatberisitext,data,
atau informasi mengenai program tersebut. Pada sistem operasi Linux penamaan file tidak
dipisahkan berdasarkan extension walaupun pada kenyataannya banyak juga file di Linux
disimpandengannamayangdiberiextension.Haltersebuthanyasekedaruntukmempermudah
userdalammengidentifikasifile.Padakenyataannya.Yangdianggapsebagaipemisahnamafile
danextensiondidalamLinuxtetapdianggapsebagaibagiandarikarakternamafiletersebut.

3.1.2.Direktori
Direktoriadalahtempatmenampungfiledanjugasubdirektori.

3.1.3.Devices
Untukmemberikankemudahanbagiapplikasiuntukmengaksesperangkatkerasyangditangani
olehsistemoperasi,Linuxmemperbolehkanfilefileyangmerupakanrepresentasilinkmenuju
perangkatkerasdapatdiakseslayaknyaordinaryfile.Adaduajenisfiledevicesdidalamsystem
operasi Linux yaitu blockoriented (misalnya hardisk) dan yang kedua adalah byteperbyte
oriented(misalnyamodemdandumbterminal).

3.1.4.Link
Linkadalahpointeryangdiarahkanpadafiletertentu.Adaduajenislinkyaknihardlinkdan
softlink.Hardlinkmerupakanlinkyangstatusnyasamadenganfileaslinya,sehinggajikahard
linkdihapusmakafileaslinyaakanikutterhapus.Sedangkansoftlinkmerupakan shortcut file
dalam sebuah direktori dan hanya memiliki ikatanuntuk proses eksekusi file tersebut. Pada

operasipenghapusanfilesoftlink,fileyangaslitidakikutterhapusjuga.

3.2.StrukturLinuxFileSystem
Linuxfilesystemberbentuksemacamhirarkipohonstruktur,dimanahirarkitertingginyaadalah
toplevel directory yang biasa disebut root atau disimbolkan dengan /. Karena
merupakansebuahpohonstrukturmaka,didalamdirektoritersebutdapatberisidirektorilain
yang merupakan anak dari direktori di atasnya atau parent directory. Tampak pada gambar
layoutdaristrukturLinuxFileSystem.

Pada saat awal setelah login berhasil dilakukan posisi direktori berada di lokasi direktori
/home/users/. Direktori ini dapat juga disimbolkan dengan tanda ~ sehingga misalnya user
bernamamadeagusberhasilloginmakabentukpromptyangmunculadalah:

madeagus@debian4e:~$
ini artinya posisi direktori saat ini berada di lokasi direktori home user madeagus, atau
/home/madeagus.Sedangkantanda~jugadapatdigunakanuntukmengarahkankedirektori
lain,karenaLinuxmenginterpretasikan~sebagaidirektoriuser.

3.3.Penangananfiledandirektori
Pada bagian ini akan dijelaskan mengenai perintahperintah yang berkenaan dengan
penanganansebuahdirektoridanfilefilepadasystemoperasiLinux.

3.3.1.pwd
Perintahpwdberfungsiuntukmenampilkanposisiabsolutdaridirektorisaatitu.Sehinggajika
perintahinidijalankan.

$pwd enter
/usr/bin
artinyabahwaposisidirektorisaatituadalah/usr/bin.

3.3.2.ls(listdirectory)
Lsmerupakanperintahuntukmenampilkandaftarisidaridirektori.Jikaperintahinitidak
diberitargetmakaisidaridirektorisaatituyangakanditampilkan.
$ls enter
Bin
dev
home
boot etc
lib

mnt
proc

share usr

pada kenyataannya perintah ls tidak menampilkan semua daftar direktori yang ada, jika
diamati ada beberapa daftar isi direktori yang tidak ditampilkan yaitu . Dan ... keduanya
bersifattertutup(hidden)danLinuxsengajatidakmenampilkanKarenisidarifileiniberupa
informasi penting mengenai direktori tersebut. Maka untuk menampilkan daftar isi secara
keseluruhandapatdigunakanoptiontambahanpadaperintahlsseperticontohberikut:

$ls a enter
denganmenggunakanperintahtersebutmakasemuaisiyangadadalamdirektorisaatituakan
ditampilkan,namunperintahinitidakmenampilkansecaradetailtentangstatusdatifiledan
direktoriyangadadidalamnya,istilahinidikenaldenganshort listing.Kebalikandarishort
listing adalah long listing dimana setiap file yang ditampilkan akan ditampilkan pula status
detaildarifiletersebut.Untuk menampilkansemuadaftarisisebuahdirektoridalambentuk
longlistingbisadilakukandenganmenuliskanperintahsebagaiberikut:

$ls a l enter atau bisa juga


$ls al enter
makahasildariperintahtersebutadalah:

dimana,

type : berisi karakter tunggal dimana nilainya memiliki arti d direktori, l link,
ordinaryfile,ccharacterorienteddevices,bblockorienteddevices.

Permissions:terdiridari9karakteryangmemilikiarti3tipeaksesdengan3kategori
user. 3 tipeaksesadalahrread, w write, xexecute. Sedangkan3tipeuser adalah
owner(pembuat file), group owner(group yang berhak mengakses), owner lain (selain
ownerdangroupyangbersangkutan).

Links : merupakan konsatanta link atau pengarah bernilai 1 jika file tersebut

merupakansebuahshortcutdarisebuahfiletertentu.

Owner:namauserpembuatfiletersebut.

Group:namagroupyangdapatmengaksesfiletersebut.

Size:ukuranfile

Date:tanggalpembuatafile.

Name:namefileyangbersangkutan.

selainitujugamasihbanyakoptiontambahanyangdapatdigunakandalamperintahls,untuk
mencarisemuaitubisamenggunakanperintahbantuandiLinuxyaitu:

$man ls enter
perintah man berfungsi untuk menampilkan bantuan penjelasan mengenai topik yang
diinginkan, selain itu juga ada perintah untuk bantuan lainnya yang bisa digunakan yang
berfungsisamadenganmannamunkeluarannyadalambentukyangberbedayaitu:

$info ls enter

3.3.3.cd(changedirectory)
perintah cd dapat digunakan untuk merubah lokasi direktori saat itu, bentuk perintah cd
adalah:

$cd <path> enter


dimana,

path :merupakannama direktoriyang dituju,jikapathberupa..Maka lokasiakan


berpindah menuju parent directory dari direktori saat itu. Bisa juga path tidak
dituliskan, maka Linux akan menginterpretasikan perintah tersebut untuk mereset
posisi direktori saat itu menuju direktori home. Selain itu juga path bisa dituliskan
dengan yangberartimerubahposisidirektorisaatitumenujudirektorisebelumnya.

3.3.4.mkdir(MakeDirectory)
$mkdir <nama direktori> enter
perintah ini berfungsi untuk membuat direktori dengan nama yang tercantum dalam option

<namadirektori>didalamlokasidirektorisaatitu.

3.3.5.rmdir(Removedirectory)
$rmdir <nama direktori> enter
perintahiniakanmenghapusnamadirektoriyangtercantumpada<namadirektori>.Perintah
inijugaakanmenghapussubdirektorididalamnyajikasubdirektoritersebutkosongatauberisi
daftar.Dan..saja.

3.3.6.cp(Copy)
cpdigunakanuntukmenduplikasisebuahfileataudirektori. Perintahuntukmenduplikasidi
Linuxadalah:

$cp <nama file yang diduplikasi> <direktori tujuan> enter


didalamprosesduplikasiselainfilejugabisadigunakanuntukmenduplikasidirektoribeserta
isididalamnyaataulebihdikenaldenganistilahrecursivemode.Perintahuntukmenduplikasi
direktorisecararecursiveadalah:
$cp rd <direktori yang akan diduplikasi> <direktori tujuan> enter

3.3.7.mv(move)
Perintah ini berfungsi untuk merubah dan atau memindah nama file atau direktori. Bentuk
perintahnyaadalah:

$mv <file/direktori yang akan dirubah> <nama file/direktori tujuan>


jikadirektorimasihsamadengandirektoriasalmakauntukmencegahprosesoverwritesebuah
fileyangdipindah,perintahmvdapatdiikutidenganoptioniuntukmemberikankonfirmasi
jikanamatujuanakanmelakukanprosesoverwrite.Perintahnyaadalah:

$mv i <file/direktori yang akan dirubah> <nama file/direktori tujuan>

3.3.8.rm(remove/delete)

$rm <nama file/direktori> enter

perintahrmdigunakanuntukmenghapussebuahfileataubisajugasebuahdirektori.Untuk
memberikankonfirmasipenghapusansebuahfiledapatdigunakanperintahsebagaiberikut:

$rm i <nama file/direktori> enter


rm : remove <nama file/direktori>?
untuk menghapus sebuah direktori beserta isinnya dapat dilakukan dengan menuliskan
perintah:

$rm rf <nama direktori>

Option r memiliki arti recursive dimana untuk perintah rm r Linux akan mejalankan
penghapusansemuafiledansubdirektoriyangadadalamdirektoriyangdihapus.Padaoperasi
iniLinuxakanmengkonfirmasisatupersatupenghapusanfileyangadadalamdirektori.Halini
akanberakibatburukbagiseorangadministrator,dimanajumlahfileyangadadalamsebuah
direktori jumlahnya banyak. Untuk menghindari ini maka option rditambahkan dengan
oprtionfyangberartiforcesehinggaketikamenghapusdirektoribesertaisinyaLinuxtidak
akanmengkonfirmasilagi.Hatihatidalampenggunaanperintahini.

3.3.9.cat(catenate/type)
perintahinidigunakanuntukmenampilkanisisebuahfile,perintahinijugadapatdigunakan
untukmembuatsebuahfiledengancaramenambahkanoptionredirection>kesebuahfilebaru.
Contohpenggunaanperintahini:

$cat > myfile enter


Helo saya mr-bee
[tekan ctrl-d]
setelahituuntukmelihatfileyangtelahdibuatlakukandenganperintahberikutini:

$ls myfile enter


myfile
Untuk melihat isi yang ada di dalam file yang telah dibuat, dapat dilakukan dengan
menggunakanperintahcatsepertiberikutini:

$cat myfile enter


Helo saya mr-bee

Tampakhasildarieksekusiperintahcatmyfilemenampilkanisidarifilebernamamyfile.

3.3.10.more(catenatewithpause)
SuatusaatketikamenjalankanperintahdiLinux,tampilanyangkeluar memilikijumlahbaris
yang sangat banyak atau melebihi kapasitas baris dari layar monitor. Hal ini tentu akan
menyulitkan untuk melihat hasil keluarannya karena yang tampak adalah bagian akhir
sejumlahkemampuanbarislayarmonitor.Untukmengatasihalini,Linuxmenyediakansebuah
perintah yang dapat menghentikan per jumlah baris monitor, sehingga jika sebuah file yang
ingin ditampilkan isinya memiliki 200 baris sementara kemampuan layar monitor sebesar 25
barismakadenganmenggunakanperintahmorekeluarandimonitorakanditampilkanper25
barissampaiselesai,untukmelanjutkanketampilanberikutnyauserdimintauntukmenekan
sembarang tombol atau bisa juga dengan tombol spasi. Contoh penggunaan perintah more
adalah:

$more <target file> enter

Menampilkanisifile,jikajumlahbarismelebihidarijumlahbarispadalayarmonitormakaakan
dihentikansampaidenganusermenekantomboluntukmelanjutkantampilanbarisberikutnya.
more juga dapat dikombinasikan dengan perintah yang lainnya dengan fungsi yang sama.
Misalnya:

$ls l | more enter


Perintahiniakanmenampilkanseluruhdaftarisidirektori,danberhentiketikabarisdaftarisi
sudahmemenuhilayar.Prosesakandilanjutkankembaliketikausermenekantombol.

3.4.2.4PenangananRemoveableMedia
Removeablemediaadalahperangkatkerasyangdapatdipasangdandilepastanpaharusmelalui
proseduryangrumit.MediainitermasukjenispenyimpandatasepertiUSBflashdisk,CDROM,
serial CDRom dll. Pada dasarnya media ini sama dengan mediamedia biasanya, yang
membedakan adalah jenismedia ini dapat dilepas kapan saja saat diinginkan. Dalam sistem
operasiLinuxadaperlakuankhususuntukmenanganiremoveablemedia.Secaraumumproses
penanganannyaseringdisebutdenganmount.
Linuxfilesystemmenyediakansatudirektorikhususuntukpenangananremoveablemediayaitu
di direktori/media.Dengansyarat sistem Linuxsudahmengenal terlebih dahulu padasaat
prosesinstalasi.SementaraitudeviceremoveablemediaitusendirisetelahdikenaliolehLinux

akandibuatkanfiledevicedalamdirektori/dev.Namadarifiletersebutbergantunpadajenis
media.
Berikutinidaftarremoveablemediabesertafiledevicesnya.

CD-ROM
USB flashdisk
HDD
USB camera

/dev/cdax, /dev/cdbx
/dev/sdax, /dev/sdbx
/dev/hdax, /dev/hdbx
/dev/videox

Dimana x adalah nomer indek dari device yang diberikan oleh sistem operasi Linux. Jika
perangkat sejenis yang ditancapkan lebih dari satu maka indek akan terus naik secara
berurutan dimulai dari nol. Untuk menangani removeable media di Linux dapat dilakukan
denganbeberapaprosessebagaiberikut:

3.4.1.Mount
Mountadalahprosesuntukmengenalkanmediapadasistemoperasi,jikaprosesmountberhasil
makamediaakanbisadibacadanditulisi.PerintahmountdalamLinuxadalah:

$mount <nama device> <nama direktori tujuan>enter


Contohuntukmelakukanmountterhadapusbflashdiskyangberadadi/dev/sda1dandiarahkan
menujudirektori/mnt/data,maka,
$mount /dev/sda1 /mnt/data enter
Padaprosestersebutdirektori/mnt/dataharussudahtersediaterlebihdahulu.Direktoritujuan
bisadimanasajaasalmemenuhikriteriatempatyangmemangdiperbolehkanolehLinuxuntuk
prosespenulisandanpembacaandata.

3.4.2.unmount
Kebalikandarimount,unmountdigunakanuntukmelepasremoveablemediadarisistemoperasi
Linux.Perintahyangdigunakanuntukunmountadalah:

$umount <nama file device> enter


Contoh

$umount /dev/sda1 enter

4.III.VIMTextEditor
4.1.DasarTeori
Tekseditorberfungsiuntukmembuatsebuahfileteksdimanatekstersebutbisaberupateks
biasaatausebuahskrip.DiLinuxterdapatbeberapapaketprogramyangberfungsisebagaiteks
editor,sepertivi,vim,emac,geditdll.Namunsecaraumumtekseditordibagimenjadiduajenis,
yangpertamatekseditorberbasishell,danyangkeduaberbasisGUI.
Vi(veeeye)adalahsalahsatutekseditordiLinuxyangberbasisshell,ataubisajugadisebut
displayorientedtekseditor. Editorinisangatlahsimplekarenahanyamengandalkanfungsinya
saja, dan hanya menggunakan keyboard untuk antarmuka dengan penggunanya. Vi tidak
menggunakan menu bar seperti layaknya applikasi teks editor yang lain. Vim(vi improved)
merupakan applikasi versi yang lebih lengkap dibandingkan vi, namun secara mendasar
perintahperintahdasarnyasamaantarakeduanya.Vimmemilikibeberapaperintahtambahan
selainyangadadivi.Untukdapat menggunakanvi/vimsebagaitekseditordapatdigunakan
perintahsebagaiberikut:

$vi <nama file> enter atau


$vim <nama file> enter
namafilebisaberupa fileyangsudahadaataubisasajamembuat baru.Ketikavi dipanggil
denganparametenamafileapplikasiiniakanmelakukanpengecekanapakahnamafiletersebut
sudahada, jika sudahtersedia makaakan membukafiletersebutsehinggaisidarifileakan
terlihat di layar monitor, sementara jika file yang dipanggil tidak ada maka applikasi akan
menterjemahkansebagaiprosespembuatanfilebaru.Untukselanjutnyadidalambukuiniakan
dibahasmengenaivimnamunbagiparapembacabisajugamenerapkanuntukvi.

4.2.Vimadalahmodaleditor
Konsep applikasi vim hanya mengandalkan keyboard sebagai sarana antamuka dengan
penggunanya.Haliniakanmengakibatkankerancuanantaratulisandenganperintah,untukitu
kemudianvimdibuatdalambentukkosepmodaleditor.
Modal editor pada prinsipnya adalah teknik penanganan masukan user dari satu jenis
perangkatantarmukauntukmembedakandatadanperintah.Dalamhaliniadakondisidimana

keyboardberfungsisebagaidatadankondisilaindimanakeyboardberfungsisebagaishortcut
sebuahperintah.Kondisiinidalamvimdisebutmode,adamodeinsertdanadamodecommand.
Modeinsertberfungsibagipenggunauntukmelakukanpenulisan,sedangkanmodecommand
berfungsi membaca data dari keyboard sebagai perintah. Hal inilah yang kemudian disebut
sebagaimodaleditor.

4.3.Memulaibekerjadenganvim
Langkah awal untuk memulai bekerja dengan vim adalah melakukan pemanggilan applikasi
vim,yaitudengancara:

$vim <file name>


ataubisajugadengan,

$vim
padaprosesininantinyaketikaakankeluardarivimeditorakandimintauntukmemasukkan
namafileuntukdisimpanolehapplikasi.

4.3.1.Keluardarivim
Untukkeluardarivimeditordapatdigunakanperintahsebagaiberikut:
Tekantombolecsapekemudianketik
:wq enter atau
zz
ketikamembukavimtanpamemasukkannamafilemakauntukkeluardanmenyimpandalam
sebuahfiledilakukandengancaraberikut:
:wq nama file enter
selainkeluardenganmelakukanmenyimpanvimjugabisakeluartanpamenyimpanhasiltulisan
yangterakhirdilakukan,yaitudengancara:

tekantombolescapekemudianlakukan
:q enter atau
:q! enter

4.3.2.Pindahmode
Seperti telah dijelaskan sebelumnya bahwa vim mengandalkan keyboard untuk antarmuka
denganpengguna,sehinggavimsendiridibentukdalambeberapamode.Untukpindahdarimode
satukemodeyanglaindapatdilakukandenganmenekantombolescape,kemudianselajutnya
menekantombolyangmerupakanshortcutperintahvim.Berikutinitablemodeoperasidalam
vim.

Sebagaicontohuntukmembuatfiledengannamamyfiledanlangsungmenulissesuatudifile
tersebutkemudianmenyimpandankeluar,dapatdilakukandenganlangkahberikutini:

1.
2.
3.
4.
5.
6.

$vim myfile enter


Tekan escape
Tekan i
Tulis kalimat atau kata sampai selesai
Tekan escape
Tekan :wq enter

4.3.3.Lebihlanjutdenganvim
Selainuntukmelakukaneditingataupenulisanvimjugadilengkapidenganfiturlainsebagai
pelengkap untuk mempercepat proses yang diinginkan oleh pengguna. Untuk tulisan dalam
jumlah baris yang relatif sedikit kemungkinan fiturfitur tersebut tidaklah seberapa terlihat
menyolokfungsinya,namunapabilajumlahtulisansudahmencapairatusanbarisbahkanribuan
makafiturfiturtambahannyaakansangatterasamembantu.
Fiturfiturlainyangadasepertimencarisebuahkata,menujubarisken,menggantisebuahkata
denganbentuktertentu,menyuntingsebuahkataataukalimat,danlainlainnya.

copy/cut/paste

Perintahshortcutyangbisadigunakanuntukmelakukancopy/cut/pasteadalahsebagaiberikut:

1. Masuk mode command dengan menekan tombol escape


2. Arahkan kursor menuju ke baris yang ingin di-copy dengan bantuan
panahatas,panah bawah, atau dapat juga menggunakan karakater
j,k.
3. Tekan yy untuk meng-copy baris tersebut atau,
4. Tekan dd untuk meng-cut dan meng-copy baris tersebut
5. Pindahkan kursor ke baris yang diinginkan dengan bantuan seperti langkah
2.
6. Tekan p untuk paste pada baris setelah kursor saat itu atau,
7. Tekan P untuk paste pada baris sebelum kursor saat itu.
Selainuntukmengcopysatubarisvimjugamenyediakanfituruntukmengcopybeberapabaris,
misalnyauntukmengcopy8barismulaidariposisikursorsaatitudapatmenggunakanlangkah
yang telah dijelaskan sebelumnya dengan menambahkan angka 8 didepan yy sehingga
modifikasilangkahno3adalah:

8yy (modifikasi langkah 3 untuk meng-copy 8 baris)


Mencarisebuahkata
Editorvimjugamemilikifituruntukmencarisebuahkatadalamtulisanataukalimat,perintah
untukmencarikataadalahsebagaiberikut:
1. Tekan escape untuk masuk ke mode command
2. Ketik /<kata yang ingin dicari> enter contoh untuk mencari kata
apple maka yang arus ditulis adalah /apple.
3. Setelah mendapatkan kata apple untuk melanjutkan pencarian kata
apple berikutnya, dapat dilakukan dengan menekan tombol n.
Menggantikatadalamkalimat
Untukmenggantisebuahkatadengankatayanglaindalamsebuahkalimat dapatdilakukan
denganlangkahberikutini:
Masukkemodecommanddenganmenekanescapekemudianuntuk:

menggantisatusukukatapertamakaliditemukandalamsatubaris.
:s/kata yang lama/kata yang baru/

Menggantisemuasukukatayangditemukandalamsatubaris.
:s/kata yang lama/kata yang baru/g

Menggantisatusukukatapertamayangditemukandalamsatubaris,untukbeberapa
barisantaran1dann2.

:n1,n2s/kata yang lama/kata yang baru


dimanan1dann2merupakannomorbarisyangdiinginkan.

Menggantisemuasukukatayangditemukandalambeberapabarisantaran1dann2.
:n1,n2s/kata yang lama/kata yang baru/g

contoh:

sebuahfilemyfile.txtberisikalimatberikutini

Tidakadamahasiswayangmenyangkabahwarudiitumahasiswayangpandai,karenaselama
dikelas dia hanya diam dan patuh kepada dosen yang mengajar, semua ucapan dosen dia
dengarkandandiapahami,selainitujugadiasangatsukamenolongtemantemandikelasnya
ketika dalam kesulitanmemahamiapayangtelahdiajarkandiperkuliahan.

Sebuah kasus misalnya untuk mengganti kata mahasiswa pada baris pertama menjadi
mahasiswidapatdilakukandenganmenggunakanperintah:
Tekantombolescapekemudiantulis
:s/mahasiswa/mahasiswi/
ada dua suku kata mahasiswa pada baris pertama, jika ingin dirubah semuanya maka
perintahnyaadalah:
Tekantombolescapekemudiantulis
:s/mahasiswa/mahasiswi/g
dalamkasusinimakasemuasukukatamahasiswapadabarispertamaakanberubahmenjadi
mahasiswi.

Memindahkursor
Secaradefaultuntukmemindahkanataumenggerakkankursordapatdilakukandengantombol
panah atas, panah bawah, kiri, dan kanan. Tombol tersebut sudah tersedia dalam sebuah
keyboard. Selain tombol panah atas, bawah, kiri, dan kanan, vim juga menyediakan shortcut
untukperintahmenggerakankursor.Sepertitableberikutini:

Contoh:
Untukmenujulangsungkebarisno150dapatdilakukandenganperintahberikutini:

1. Tekan tombol escape untuk menuju mode command


2. :150G enter
padaeditorvimsetingdefaulteditortidakmenampilkannobaris,untukmenampilkannobaris
dapatdilakukandenganmenjalankanperintahberikutini:

1. Tekan tombol escape untuk menuju mode command


2. :set number enter
untukmenghilangkantampilannobaris,modifikasilangkano2menjadi:

:set nonumber enter


Merubahkonfigurasivim
Vim memiliki konfigurasi yang berfungsi untuk keperluan kemudahan pengguna dalam
menggunakanvim.Sebagaicontohketikapenggunamenggunakanapplikasivimuntukmenulis
sebuah skrip, vim menyediakan fasilitas untuk membedakan warna antara sintak dan data.
Fasilitaskonfigurasilainnyaadalahmenampilkannobaris.Denganadanyainimemungkinkan
seoranguserdapatmenggunakankonfigurasivimsesuaikeinginan.
Untukmelakukankonfigurasipadavim,pertamakaliyangharusdiperhatikanbahwasemua
setingkonfigurasihanyabisadilakukanpadamodecommand.

Menampilkannobaris
Untukmenampilkannobarisdapatdilakukandenganmenjalankanlangkahberikutini:

1.
2.
3.
4.

Tekan tombol escape untuk masuk ke mode command


:set number enter
Tekan tombol escape
Tekan i kembali ke mode insert

Sebaliknyauntukmenyembunyikantampilannobaris,langkahyangharusdijalankanadalah
sebagaiberikut:

1.
2.
3.
4.

Tekan tombol escape untuk masuk ke mode command


:set nonumber enter
Tekan tombol escape
Tekan i kembali ke mode insert

Berikutinidaftarperintahkonfigurasibesertafungsiyangbisaditerapkandalamvim.

Untuk merubah konfigurasi ini, selain melakukan langsung pada mode command, juga bisa
dilakukandenganlangsung melakukanperubahan pada file profiledari vim. File profilevim
berisikonfigurasivimsecarakeseluruhan,diLinuxfileiniberadatersembunyidengannama
.vimrc,fileinidiletakkandidirektorimasingmasinguser.

5.IV.DasarPemrogramanShellBASH
5.1.Shell
Shell adalahprogram khusus yang bisadigunakanuntuk berinteraksi dengan kernel. Kernel
yangdimaksudadalahkernelsistemoperasiyangsedangaktif.Shellmerupakansalahsatudari
sekian banyak bahasa pemrograman. Shell memiliki sebuah keunikan tersendiri, Karena
berjalandisebuahplatformLinuxatauUnix,danmemilikikonsepperintahtingkattinggi.Shell
juga dikenal dengan bahasa command line processing ini karena sintak yang digunakan di
dalampemrogramanshellmerupakanperintahperintahdasardariLinuxatauUnix.
SelainitujugasintakShelldapatlangsungdieksekusilangsungpadaterminalconsoleLinux
atauUnix.DidalamsystemoperasiLinuxatauUnixtipetipeshellsangatberagam.Berikutini
macammacamnamashelldalamLinux.

UntukmelihatjenisShellapasajayangadadalamsebuahsystemoperasiLinuxdapatdialkukan
denganmenuliskanperintahberikut.

$ls /etc/shells <enter>

Keterangan:
1. Perintahls/etc/shellsdigunakanuntukmelihatjenisShellapasajayangterinstalldalam
sistemoperasiLinuxyangdigunakan.

jika yang ada dalam direktori tersebut kurang dari daftar yang ada di table maka perlu
ditambahkan dengan menginstall Shell yang diinginkan. Sedangkan untuk mengetahui jenis
Shellapayangsedangaktifsaatini,dapatdigunakanperintahberikut.

$ echo $shell <enter>


Keterangan:
1.Perintahecho$shelldigunakanuntukmelihatjenisShellyangsedangaktifsaatini.

5.2.BekerjaDenganShell
PadasaatseoranguserlogindiLinux,atauberadadalamsebuahterminalconsoleLinux,pada
saatitujugaditerminalconsole,userdapatmenuliskansebuahskripShelldankemudianakan
langsungdieksekusi.KonsepinilahyangkemudiandikenaldenganCommandLineProcessing.
CommandLineProcessingdalamsebuahsistempemrogramdisebutjugadenganShellinteraktif.
InimerupakansalahsatucarabekerjadenganShell.SelainitujugaskripShelldapatdituliskan
ke dalam sebuah file dan kemudian dipanggil untuk dieksekusi, konsep ini disebut dengan
programShell.

5.2.1.ShellInteraktif
ShellinteraktifadalahskripShellyanglangsungdijalankanpadaterminalconsoleLinux.Cara
ini sebenarnya bisa memudahkan seorang user untuk mencoba apakah skrip Shell yang
dimaksudtelahditulisdenganbenar,dankeluaranyangdihasilkanjugatelahsesuai dengan
yangdiinginkan.HallainlagidariprosesShellinteraktifinikemungkinannyaadalahbahwa
user hanya membutuhkan proses yang sekali saja. Berikut ini contoh Shell interaktif dalam
terminalconsolLinux:

$ echo $PATH enter


/home/gsa12/bin:/usr/ucb:/usr/bin:/usr/local/bin:.
Keterangan:
1.echo$PATHadalahperintahuntukmenampilkanisiyangadadalamvariableyangbernama
PATH.Variabelberisidaftarbeberapapathyangdipisahkandengantanda:.
ContohlainlagidariShellinteraktifadalah:
Tuliskodeberikutinilangsungditerminalconsole

case $- in
*i*) echo inilah shell interaktif ;;
*) echo ini juga shell interaktif ;;
esac
keluarandariShellinteraktiftersebutadalah:
ini shell interaktif

5.2.2.ProgramShell
SelainShellinteraktifskripShelljugabisaditulisdalamsebuahfiledankemudiandieksekusi
dengancaramemanggilfiletersebut.FileinijugabisadengannamaprogramShellatauskrip
Shell. Ditinjau dari hasil eksekusi tidak ada yang berbeda antara skrip Shell dengan Shell
interaktif.Yangberbedaadalahcarapenulisandaneksekusi.BerikutinicontohskripShell:

TulisskripberikutdenganmenggunakaneditorVIMdengannamacoba.

#!/bin/bash
echo halo $LOGNAME , senang bertemu denganmu
echo direktori anda saat ini `pwd`
echo anda bekerja di mesin `uname a`
kemudiansetelahfiledisimpandankeluardarieditor

$ chmod 755 coba enter


$ ./coba enter
Keterangan:
1. echo perintahinidigunakanuntukmenampilkansebuahstring.Dalamstringtersebut
mengandung variabel LOGNAME yang merupakan variabel environment yang berisi
namauseryanglogin.
2. Bariskeduasamajugadenganperintahbarispertama,namunstring yangditampilkan
mengandung hasil keluaran dari perintah PWD, dimana perintah PWD adalah untuk
menampilkandirektorikerjasaatini.
3. Barisketigaadalahmenampilkanstringyangmengandunghasilkeluarandariperintah
uname n, dimana perintah ini berfungsi untuk menampilkan informasi tentang
spesifikasiversikernel.

4. chmod 755adalahperintahdiLinuxuntukmerubahtipefilemenjadifileeksekusi.
5. ./coba adalah perintah untuk menjalankan skrip shell dengan memanggil nama file
yaitucoba.

5.2.3.Variabel
Variabel adalah tempat untuk menyimpan sebuah data. Seperti halnya bahasa pemrograman
yanglain,Shelljugamemilikivariabel.AdaduajenisvariabeldalamShellyaituvariabellokal
danvariabelenvirontment.

VaribelLokal
Yangdimaksuddenganvariabellokaladalahvariabelyangnilainyalangsungdiisikan.Tipenilai
darivariableinibisabermacammacam,adayangbertipenumerikdanadajugayangbertipe
karakter atau alphanumerik. Di dalam memberikan nama sebuah varibel, yang harus
diperhatikanadalahnamavariabelberupakarakteralphanumericataubisajugadiawalidengan
karakatergarisbawah(_),setelahitubarubisadiikutidenganjeniskarakteryanglain.
Contohpenamanaanvariabel:

Penamaanvariabelyangsalah
5nama Nama
4_hasil
\nilai

Penamaanvariabelyangbenar
_hasil4
_nilai

DalampemrogramanShelluntukmendefinisikansebuahvariabeltidakperludiberikanbentuk
ataujenisvariabeltersebut,tidaksepertidipemrogramanCatauPascaldimanavariabelyang
akandibuatperludidefinisikanterlebihdahulutipenya,DandidalamlingkupShelltipevariabel
hanyaadasatujenisyaitutipestring.
ContohdalampenulisanvariabeldanpemberiannilaidalampotonganprogramShellsebagai
berikut:

ucapan=selamat
hasil=dua
awal=tidak ada

echo $ucapan
echo $hasil
echo $awal
Keterangan:
1.

Barispertamamendefinisikanvariabelbernamaucapandanmemberikannilaidari
variabelsamadenganselamat.

2.

Mendefinisikanvariabelbernamahasildengannilaisamadengandua.

3.

Mendefinisikanvariabelbernamaawaldengannilaisamadengantidakada.Untuk
nilaivariabeliniharusdiberitandapetikkarenanilaiyangdiberikanmengandung
karakterspasi.

4.

Bariske4menampilkanisidarivariabelyangbernamaucapan.

5.

Bariske5menampilkanisidarivariabelyangbernamahasil.

6.

Bariske6menampilkanisidarivariabelyangbernamaawal.

Pada potongan kode tersebut tampak ada penggunaan tanda $ sebelum nama variabel
dituliskan. Tanda $ memiliki makna sebagai pengarah bahwa kata tersbut adalah sebuah
variabel yang memiliki nilai. Contoh jika diinginkan sebuah variabel dengan nama tia dan
nilainnyasamadenganhalomakadapatdituliskasebagaiberikut:

tia=halo
Untukmengaksesisi darivariabel tiadigunakantanda$sebagaipengarah, sehingga untuk
menampilkanisidarivariabeltiadapatdituliskan:

echo $tia
Selainitujugaadabeberapabatasandalammenuliskanvariabeldanpemberiannilaivariabeldi
dalam program Shell. Yang pertama adalah bahwa nilai sebuah variabel tidak boleh
mengandung spasi, jika memang diperlukan maka dapat digunakan tanda petik untuk
mendefinisikannilaivariabel.

Contoh:
tia=halo (penulisan yang benar)
tia= halo (penulisan yang salah karena mengandung spasi)
edi=satu dua (penulisan yang salah karena mengandung spasi)
edi=satu dua(penulisan yang benar)

Kedua adalah batasan mengenai penggunaan nilai variabel yang mengandung metakarakter.
MetakarakteradalahsatukarakteryangmemilikimaknaperintahdalamShell.Sehinggajika
dalam sebuah string terdapat metakarater maka akan diinterprentasikan sebagai sebuah
perintah.Untuklebihjelasmengenaimetakarakteradadalambagianlaindaribabini.

VariabelEnvironment
EnvironmentvariabeladalahvariabelyangmerupakanbawaandariShell itusendiri,biasanya
variabeliniberisinilainilaiyang merupakan konfigurasi standar dalamlingkunganprogram
Shell.Aturanpenulisandarienvironmentvariableadalahsemuanamavariabelmenggunakan
huruf kapital. lingkup dari variabel environment adalah bersifat GLOBAL. Artinya variabel
environmentberlakuuntuksemuaShellyangada.

Contohvariabelenvironmentadalahsebagaiberikut:
LOGNAME=shell14 (variabel yang berisi nama login)
SHELL=/bin/bash (variabel yang berisi nama shell yang aktif)
HOME=/home/shell14 (variabel yang berisi nama direktori user)
USER=shell14 (variabel yang berisi nama user)
Untuk mengetahui variabel apa saja yang ada dalam kelompok environment variable dapat
digunakanperintahberikut:

$ env enter
Merubah nilai variabel environment Untuk merubah nilai dari variabel environment dapat
dilakukandenganmenggunakanperintahsebagaiberikut:

$ export LOGNAME=mrbee enter


kemudianhasilnyadapatdilihatdenganmenggunakanperintah:

$ env | grep LOGNAME


Menghapusvariabelenvironment
Variabel environment juga bisa dihapus atau dihilangkan dari lingkungan daftar variabel
environmentdenganmenggunakanperintahberikut:

$ unset LOGNAME
RuangLingkupVariabelDalamShell
Yangdimaksuddenganruanglingkupadalahsejauhmanasebuahvariabelyangdidefinisikan
berlakubagiprogramshelldibuat.DipemrogramanlainsepertiCadavariabellokalyanghanya
berlakudidalamsebuahfileskripC,adajugavariabelglobalyangbisaberlakubagiskripC
yanglainwalaupunberadadalamfilelainnya.
Di program Shell lingkup dari sebuah variabel yang didefinisikan berlaku lokal. Lokal yang
dimaksudadalahdalamsuatuShellsaja.JikadalamsebuahShelldibuatlagisubShellmaka
variabel tersebut sudah tidak berlaku nilainya. Sedangkan variabel environment memiliki
lingkup GLOBAL, yang dimaksud dengan global adalah semua variabel berlaku dan bernilai
samadisemuafileskripShellyangdibuat.
Contoh variabelLOGNAME yangmemilikinilai namaloginuser,akanmempunyanilaiyang
samawalaupundiaksesdarifileskriplainnya.

Parameterposisional
Parameterposisionaladalahsebuahnilaiyangdiberikandimananilaitersebutdianggapsebagai
isidarisebuahvariabeldalamserangkaianargumendarisebuahcommandline.Contohberikut
adalahgambarandaridefinisiargumen:

$ set bee ivo ant enter


keterangan:
1.

setmerupakansebuahperintah

2.

beeadalahargumenke1.

3.

ivoadalahargumenke2.

4.

antadalahargumenke3.

BASHShellmemilikibeberapasimbolyangmerupakanrepresentasidariposisisebuahvariabel
dalamserangkaianargumen.Berikutinisimbolposisionalparameter:

Padacontohkasusberikut:

$ set bee ivo ant en enter


$ echo $* enter
bee ivo ant
$ echo $1 enter
bee
$ echo $# enter
3
keterangan:
1.

perintahsetdigunakanuntukmemberikannilaipadaposisionalparameter.

2.

$*menyimpannilaidarisemuaposisionalvariabelberturutturutbeeivoant

3.

$1menyimpannilaidariposisionalvarabelke1yaitubee

4.

$#menyimpannilaijumlahposisionalparameteryaitusebanyak3.

Varibelkhusus
Shell juga memiliki variabel khusus yang terdiri sebuah karakter tunggal. Karakter tunggal
yangmemilikimaknadalamlingkunganShelltersebutadalah:

Denganadanyakaraktertunggalyangmerupakanvariabelkhususiniuserdapatmemanfaatkan
untukmempersingkatpenulisan.
Contoh:
$ echo PID dari shell ini adalah $$ enter
PID dari shell ini adalah 212

Keterangan:
1.

Tanda$pertamaadalahpengarahpadasebuahvariabel

2.

Tanda$keduaadalahvariabelPIDShell.

5.2.4.MetakarakterDalamShell
Metakarakter adalah sebuah karakter yang memiliki arti tertentu. Dalam Shell juga dikenal
beberapa metakarakter. Karena metakarakter juga ada dalam Shell maka yang perlu
diperhatikan adalah kesalahan dalam penanganan sebuah karakter. Dalam sebuah kasus
mencetaksebuahstrindilayarmonitor,terkadangterjadikasusdimanadarisalahsatukarakter
dalamstringtersebutmerupakanmetakarater.KarenamengandungmetakaraktermakaShell
akanmenginterpretasikanstringtersebuttidaksepertiyangdiharapkan.
Contohkasus:

$ echo dont miss it enter


> enter
dont miss it
Keterangan:
1. Tanda dinterpretasikan sebagai serangkaian string sehingga Shell akan menunggu
sampaitandaberikutnyauntukberhentidankemudianmenampilkannya.

Jika maksudnyaadalah untuk mencetak string dont missit maka yang perlu diperhatikan
adalah:

$ echo don\t miss it enter


dont miss it
Keterangan:
1. \ merupakan karakter yang meloloskan interpretasi tanda yang merupakan
metakarakterdalamShell.
2. Karakter\dikenaldenganistilahquotingdalamShell

BerikuttabeldaftarmetakarakteryangadadalamlingkunganShell:

5.2.5.Quoting
Quoting adalah mekanisme untuk melindungi metakarakter dari interpretasi sebagai sebuah
simbol. Shell juga mempunya beberapa karakter yang difungsikan untuk melindungi
metakarkateragartetapdiinterpretasikansebagaikarakter biasa.Adatigakarakterquoting
dalamShell,yaitu:
1. Backslash(\)
2. Petiktunggal()
3. Petikganda()
ContohquotingdalamShell:
$ echo don\t miss it
dont miss it
$ echo dont miss it
dont miss it
Keterangan:
1. Tanda\menandakankatakteryangmengikutibukansebuahmetakarakter
2. Pengunaantandapetikdoublejugaberfungsimelindungiinterpretasikaraktersebagai
metakarakter

6.DaftarPustaka
Ditulisulangdarimodulyangtersediadi http://lecturer.eepisits.edu/~subhankh/ BagianShell
Programming.