SISTEM OPERASI
Oleh
No BP : 1811081002
TA 2019/2020
MODUL 1
Perintah Dasar Sistem Operasi Linux
Pada saat menuliskan perintah, ada beberapa aturan yang harus kita ikuti,
antara lain:
Case Sensitive (penggunaan huruf besar dan huruf kecil) Dalam
menuliskan perintah harus diperhatikan apakah perintah tersebut
menggunakan huruf besar atau huruf kecil. Karena huruf besar dan
huruf kecil diartikan berbeda. Bila ada kekeliruan perintah tidak mau
dijalankan atau terjadi error.
Penggunaan tanda baca dan spasi Anda harus meneliti penggunaan
titik (.), koma (,), slash (/) atau backslash (\). Begitu juga dengan
spasi. Karena bila terjadi kesalahan dalam penggunaan tanda baca dan
spasi, perintah juga tidak bisa dijalankan.
Ejaan kata dari perintah yang digunakan Pastikan perintah anda sudah
benar ejaan katanya. Perintah-perintah yang ada menggunakan bahasa
inggris.
Analisis
Gambar di atas merupakan cara untuk melihat atau menampilkan identitas
user (nomor id, group id) dengan cara mengetikan prompt dari shell bash
dari Linux yaitu $ id pada command promt yang terdapat di sistem operasi.
2. Melihat kalender
$ cal 2 1996
Analisis
$ cal –y
Gambar 1.4 Tampilan Kalender
Analisis
Gambar di atas merupakan cara untuk menampilkan/melihat kalender
secara utuh pada tahun sekarang di system. dengan cara mengetikan
prompt dari
shell bash dari Linux yaitu $ cal –y.
$ uname
Analisis
$ uname –a
$ who
Analisis
Gambar di atas merupakan cara untuk mengetahui siapa saja yang sedang
aktif dengan cara mengetikan prompt dari shell bash dari Linux yaitu $
whoami, tempilan yang tampak hanya nama usernya saja.
Analisis
$ man man
$ man –k file
Analisis
Analisis
Analisis
Analisis
$ apropos telnet
Analisis
Gambar di atas merupakan cara untuk menampilkan informasi singkat
perintah yang hanya diketahui sebagian atau untuk menampilkan perintah
yang berhubungan dengan sesuatu, dengan kata lain apropos mirip dengan
fasilitas find di word. Lalu muncul seperti gambar di atas dengan output
perintah yang deskripsinya mengandung kata kunci telnet.
Percobaan 8 : Mencari perintah yang tepat sama degan kunci yang di cari
$ whatis date
Analisis
7. Menampilkan semua file atau direktori dengan menandai : tanda (/) untuk
direktori, tanda asterisk (*) untuk file yang bersifat executable , tanda (@)
untuk file symbol linx, tanda (=) untuk socket , tanda (%) untuk wgiteout
dan tanda (\) untuk FIFO.
$ ls –F/etc
$ file *
$ file /bin/ls
$ ls –l
$ cp –i f1 f2
2. Mengkopi ke direktori
$ mkdir backup
$ cp f1 f3
$ ls backup
$ cd backup
$ pg f1
$ ls
Gambar di atas merupakan cara untuk melihat hasil dari perubahan nama
file, file f1 telah berubah menjadi prog.txt, maka proses perubahan berhasil.
$ mv f1 f2 f3 mydir
$ cp mydir/f2 f2
MODUL 2
Operasi Input Output
2. FILE DESCRIPTOR
II - 4
Linux berkomunikasi dengan file melalui file descriptor yang
direpresentasikan melalui angka yang di mulai 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)
3. PEMBELOKAN (REDIRECTION)
Terdapat istilah standard input, standard output, dan standard error.
Standard input adalah masukan atau input standard dari suatu perintah atau
program. Input standar ini adalah keyboard. Standard output adalah
keluaran atau output standar dari suatu perintah atau program. Outpot
standar ini adalah layar monitor atau terminal. Standard error adalah
keluaran atauoutput standar jika pada program atau perintah terjadi error.
Keluaran iniberupa pesan-pesan kesalahan yang berguna bagi pembuat
program atau oranglain yang membutuhkan. Standard error biasanya dalah
layar console.
Kita dapat membelok-belokkan standard input, standard output dan
standard error menuju ke tujuan lain. Misalnya membelokkan standard
output suatu program ke file atau membelokkan standard input suatu
program dari suatu file. Proses pembelokan ini disebut redirection, dan
menggunakan symbol > (membelokkan standard output ke file), <
(membelokkan standard input darifile).
Fasilitas redirection memungkinkan kita untuk dapat menyimpan
output dari sebuah proses untuk disimpan ke file lain (Output Redirection)
atau sebaliknya menggunakan isi dari file sebagai input dalam suatu proses
(Input redirection). Komponen-komponen dari redirection adalah <, >, < <,
>>
4. PIPA (PIPELINE)
Pada Linux, hasil keluaran suatu proses program dapat diberikan
sebagai input pada proses lainnya. Tanda vertical bar (|) adalah tanda yang
digunakan untuk pipeline. Penggunaan pipeline pada perintah-perintah
Linux tidak terbatas.
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
menghubungkan Proses 1 dengan Proses2 dan dinyatakan dengan symbol
“|”. Proses1 | Proses2.
5. FILTER
Filter adalah utilitas linux yang dapat memproses standar 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 berpungsi
sebagai filter. P1 (awal) dan Pn (terakhir) boleh bukan filter. Utilitas yang
bukan filter misalnya who, is, ps, 1p, 1pr, mail dan lainnya. Beberapa
perintah linux yang di gunakan untuk proses penyaringan antara lain :
Perintah grep
Global regular expresion parse atau grep adalah perintah untuk mencari
file-file yang mengandung teks dengan kriteria yang telah Anda
tentukan. Digunakan untuk menyaring masukan dan menampilkan
baris-baris yang hanya mengandung pola yang ditentukan. Pola ini
disebut regular expression.
Anda dapat mencari karakter atau kata yang diinginkan dari sebuah file
yang terdiri dari banyak kalimat. Perintah yang digunakan adalah
grep. Dengan perintah ini pencarian lebih mudah dilakukan.
Format : grep option karakter/kata
Perintah wc
Digunakan untuk menghitung jumlah baris, kata dan karakter dari baris-
baris ,asukan yang diberikan kepadanya. Untuk mengetahui berapa baris
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 untuk menampilkan jumlah baris, jumlah kata dan ukuran dari
sebuah file.
Format : wc option nama_file
Perintah sort
Digunakan untuk mengurutkan masukannya berdasarkan urutan nomor
ASCII dari karakter.
Apabila anda ingin menampilkan isi file teks secara urut. Gunakan
perintah ini.
Format : sort option nama_file
Perintah cut
Digunakan untuk mengambil kolom tertentu dari baris-baris
masukannya, yang direntukan pada option –c.
Perintah uniq
Digunakan untuk menghilangkan baris-baris berurutan yang mengalami
duplikasi, biasanya digabungkan dalam pipeline dengan sort.
2.3 Hasil dan Pembahasan
Login sebagai user, bukalah Console Terminal dan lakukan percobaan-
percobaan dibawah ini .
Percobaan 1 : File descriptor
1. Output kelayar (standar output), input dari system(kernel)
$ ps
4. Input nama directory, output tidak ada (membuat directory baru), bila
terjadi error maka tampilan error pada layar (standard error)
$ mkdir mydir
$ mkdir mydir (terdapat pesan error)
4. Notasi 2>&1 : pembelokan standar error (2>) adalah identic dengan file
descriptor 1.
$ Is filebaru (Terdapat pesan error)
$ Is filebaru 2> out.txt
$ cat out.txt
$ Is filebaru 2> out.txt 2>&1
$ cat out.txt
Gambar 2.8 Tampilan Pembelokan Standar Error Notasi 2>&1
Analisis
Gambar di atas merupakan perintah pembelokan dengan notasi 2>&1.
Perintah $ Is filebaru (Terdapat pesan error karena file tidak ditemukan),
$ Is filebaru 2> out.txt, (identic dengan file descriptor 1), $ cat out.txt,
(menampilkan file out.txt) $ Is filebaru 2> out.txt 2>&1 (merupakan
pembelokan standar error) dan $ cat out.txt (menampilkan file out.txt).
5. Notasi 1>&2 (atau>&2) : pembelokan standar output sama dengan file
descriptor 2 yaitu standar error.
$ echo “mencoba menulis file” 1> baru
$ cat filebaru 2> baru 1>&2
$ cat baru
12. Pembelokan standart input dan standar output dapat dikombinasikan tetap
tidak boleh menggunakan nama file yang sama sebagai standart input dan
output.
$ cat < output > out
$ cat out
$ cat < output > out
$ cat out
$ cat < output > output
$ cat output
$ cat < out >> out (Proses tidak berhenti )
{ctrl –c}
$ cat out
Gambar 2.16 Tampilan Pembelokkan I/O Kombinasi
Percobaan 4 : Filter
Pipa juga digunakan untuk mengkombinasikan utilitas system untuk
membentuk pengsi yang lebih kompleks
$ w-h | <User>
$ grep <user> /etc/passwd
$ Is etc | wc
$ Is etc | wc -1
$ cat > kelas1.txt
Budi
Zulkifli
Yulizir
Yudi
Ade
[Ctrl-d]
$ cat > kelas2.txt
Budi
Gama Asep
Muchlis [Ctrl –d]
$ cat kelas1.txt kelas2.txt I sort
$ cat kelas1.txt kelas2.txt > kelas,txt
$ cat kelas.txt I sort I uniq
Gambar 2.20 Tampilan Filter
III - 1
III - 2
2. DIREKTORY STANDAR
Struktur DirektoriStruktur direktori di Unix dan Linux adalah sebuah
struktur direktori terpadu di mana semua direktori bersatu di bawah
direktori “/” filesystem root. Terlepas dari mana filesystem secara fisik
dipasang, semua direktori yang disusun secara hirarki dibawah filesystem
root. Struktur Direktori Linux mengikuti “Filesystem Hierarchy Structure
(FHS)” dipelihara oleh Free Standars Group meskipun sebagian besar
distribusi kadang-kadang cenderung menyimpang dari standar.Mari kita
lihat sekilas direktori apa saja yang berada di bawah hirarki filesystem
linux.
“/” root
Struktur direktori diawali dengan filesystem root “/” dan memang
direktori akar dari seluruh struktur. Partisi dimana / (direktori root) akan
ditempatkan pada sistem Unix atau kompatibel dengan Unix.
/boot
Direktori /boot berisi file boot loader termasuk Grub dan LiLO, kernel,
initrd, config dan system.map.
/sys
Direktori ini berisi kernel, firmware dan file yang berhubungan dengan
sistem.
/sbin
Berisi binari sistem esensial dan peralatan sistem administrasi penting
bagi sistem operasi dan kinerjanya.
/bin
Berisi binari penting bagi pengguna dan utilitasnya yang diperlukan
dalam mode pengguna sendiri.
/lib
Berisi file-file pustaka untuk semua binari yang berada di dalam
direktori /sbin dan /bin./dev
Berisi file sistem esensial dan driver-driver./etc
Direktori ini berisi file konfigurasi sistem esensial termasuk /etc/hosts,
/etc/resolve.conf, nsswitch.conf dan file konfigurasi jaringan./home
Semua direktori rumah dari pengguna berada di dalam direktori ini
dengan pengecualian direktori rumah akun root yang mana disimpan di
dalam direktori /root. Direktori ini berisi file pengguna, pengaturan
pengguna, profil dan lain-lain./media
Poin mount untuk media penyimpanan bergerak seperti CD-ROM,
USB, Floppy dan lain-lain./mnt
Poin mount generik untuk filesystem sementara. Ini sangat berguna
khususnya ketika mengalami permasalahan dan harus menggunakan
LiveCD yang di mana anda mungkin harus melakukanmount terhadap
filesystem root dan mengubah pengaturan./opt
Sebuah direktori yang jarang sekali digunakan di Linux dan biasanya
dipakai untuk perangkat lunak dari pihak ketiga dan bukan merupakan
utilitas dari Proyek GNU seperti aplikasi java ataupun virtualbox./usr
Sebuah sub-hirarki terhadap filesystem root yang mana merupakan
direktori data pengguna. Berisi file yang merupakan utilitas dan aplikasi
tertentu. Terdapat juga direktori dokumentasi dari aplikasi tersebut. /var
Direktori ini biasa di-mount sebagai filesystem pada partisi yang
terpisah di bawah root di mana semua konten (isi) variabel seperti logs, file
spool untuk printer, crontab, mail, proses yang dilakukan, file lock dan
lain- lain. Penting sekali untuk memperhatikan dalam perencanaan
pembuatan darifilesystem ini dan perawatannya karena filesystem ini dapat
terisi penuh secara cepat dan ketikafilesystem kapasitasnya penuh
maka dapat menyebabkan permasalahan pada operasional dari sistem dan
aplikasi./tmp Sebuah filesystem sementara yang menyimpan file-file
sementara dan
akan dihapus ketika sistem di-reboot (dijalankan kembali). Ada juga
sebuah direktori /tmp di dalam direktori /var yang berfungsi sama untuk
menyimpan file-file sementara. Salah satu perbedaan di antara keduanya
adalah direktori /var/tmp tetap menyimpan file-file di dalamnya dan
melindungi ketika sistem reboot. Dengan kata lain, file di dalam /var/tmp
tidak akan dibuang setelah reboot.Struktur Direktori secara Visual
Setelah proses instalasi, Linux menciptakan system file yang baku,
terdiri atas directori sebagai berikut :
Directori /etc
Berisi file yang berhubungan dengan administrasi system,
maintenance script, konfigurasi, security. Hanya superuser yang boleh
memodifikasi file yang berada di direktori 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 onsep runlevel.
- Cron.d, rincian proses yang dieksekusi dengan menggunakan jadwal
(time dependent process).
- FILES, file security dan konfigurasi meliputi : passwd, hosts, shadow,
ftpacces, inetd, conf, lilo.conf, motd, printcap, profile, resolv.conf,
dhcp.conf, smb.conf, fstab.
Direktori /dev
Komponen Unix dan Linux adalah memperlakukan peralatan hardware
sama seperti penanganan file. Setiap alat mempunyai file yang disimpan
direktori /dev.
Peralatan Direktori
Floppy /dev/fd0
Harddisk IDE : /dev/hd, /dev/hdb, /dev/hdc,
/dev/hdd
SCSI : /dev/sda, /dev/sdh, /dev/sdc
CDROM SCSI : /dev/scd0, /dev/scd1
IDE : /dev/gscd, /dev/sonycd
Universal : /dev/cdrom (link dari actual
cdrom ide atau scsi)
Mouse PS2 : /dev/ip0
Universal : /dev//mouse
Parallel Port LPT1 : /dep/lp0
LPT2 : /dep/lp1
Serial Port COM1 : /dev/ttyS0
COM2 : /dev/ttyS1
Universal : /dev/modem (link dari S0 dan S1)
Directori /proc
Directori /proc adalah direktori yang diabuat diatas RAM
(Random Acces Memory) dengan system file yang diatur oleh kernel.
/proc berisi nomor proses dari system dan nama driver yang aktif
disystem. Semua direktori berukuran 0 (kosong). Kecuali file kcore
dan self. Setiap nomor yang ada pada direktori tersebut
merepresentasikan PID (Process ID).
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 1KB
block), seperti disk, floopy disk, 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 sistem
operasi untuk komunikasi proses
- Link File
4. PROPERTI FILE
File mempunyai beberapa atribut, antara lain :
Tipe File : menentukan tipe dari file, yaitu :
Karakter Arti
- File biasa
d Direktori
l Symbolic link
b Block special file
c Character special file
s Socket link
p FIFO
Ijin akses : menentukan hak user tehadap file ini
Jumlah link : jumlah link untuk file ini.
Pemilik (owner) : menentukan siapa pemilik file ini
Group : menentukan siapa pemilik file ini
Jumlah karakter : menentukan ukuran file dalam byte
Waktu pembuatan : menentukan kapan file terakhir di modifikasi
Nama file : menentukan nama file yang dimaksud
Contoh :
5. NAMA FILE
Nama file maksimal terdiri dari 255 karakter berupa alfanumerik dan
beberapa karakter special yaitu garis bawah, titik, koma dan lainnya
kecuali spasi dan karakter
“&”,”;”,”|”,”`”,”””,”’”,”[“,”]”,”(“,”)”,”$”,”<”,”>”,”{“,”}”,”^”,”#”,”\”,”/”.L
inux membedakan huruf kecil denga huruf besar (case sensitive). Contoh
nama file yang benar :
Abcde5434
3 prog.txt
PROG.txt
Prog.txt,old
report_101,v2.0.1
5-01.web.html
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:
1n 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 dikaitkan dengan
direktori/file yang berada pada partisi yang berbeda. Tie fie menjadi 1
(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.
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 direktori dengan lebih cepat dan
ditampilkan dengan path yang penuh.
4. Menghapus satu atau lebih direktori hanya dapat dilakukan pada direktori
kosong dan hanya dapat dihapus oleh pemiliknya kecuali bila diberikan ijin
aksesnya
$ rmdir B (terdapat pesan error, mengapa?)
$ ls –l B
$ rmdir /B/F B
$ ls –l B (terdapat pesan error, mengapa?)
Gambar 3.13 Tampilan File dan Text Pada File yang Dicari
Analisis
Gambar di atas merupakan cara untuk mencari file dan mencari text pada
file menggunakan perintah find. Perintah home –name “*,txt” –print >
myerror.txt untuk melihat file .txt didalam file myerror.txt dan perintah
cat myerror berfungsi untuk melihat file myerror.
2. Perintah which
$ which ls
Gambar 3.14 Tampilan File dan Text Pada File yang Dicari
Analisis
Gambar di atas merupakan tampilan perintah which. Perintah $ which ls
berfungsi untuk menampilkan lokasi perintah dasar yang dicari. Bisa
juga digunakan untuk mencari file program yang bisa dieksekusi.
3. Perintah locate
$ locate “*.txt”
Gambar 3.15 Tampilan File dan Text Pada File yang Dicari
Analisis
Gambar di atas merupakan tampilan untuk mencari file dan mencari text
pada file. Perintah $locate berfungsi untuk mencari file pada semua
direktori dengan format .txt
Percobaan 6 Mencari text pada file
$ grep Hallo *.txt
Analisis
Gambar di atas merupakan cara untuk mencari text pada file. Perintah
grep ini berfungsi untuk mencari text pada file seperti output pada
gambar
di atas.
MODUL 4
Proses dan Manajemen Proses
2. Manajemen Proses
Proses adalah program yang sedang dieksekusi. Di Linux, setiap program
merupakan proses. Proses dapat diciptakan dan dapat pula dimusnahkan.
3. MENGIRIM SINYAL
Mengirim sinyal merupakan suatu alat komunikasi antar proses, yaitu
memberitahukan proses yang sedang berjalan bahwa ada sesuatu yang
harus dikendalikan. Berdasarkan sinyal yang dikirim maka proses dapat
beraksi dan administrator/programmer dapat menentukan reaksi tersebut.
Mengirim sinyal menggunakan instruksi
kill [-nomor sinyal] PID.
Sebelum mengirimn sinyal PID proses yang akan dikirim harus diketahui
terlebih dahulu.
3. Untuk melihat faktor elemn lainya, gunakan option (user). %CPU adalah
persentasi CPU time yang digunakan oleh proses tersebut, %MEM adalah
persentasi memori yang digunakan proses, SIZE adalah jumlah memori
yang digunakan, RSS (Real System Storage) adalah jumlah memori yang
digunakan, START adalah kapan proses tersebut diaktivkan $ ps –u
Analisis
Percobaan diatas merupakan status proses untuk melihat faktor elemen
lainya, gunakan option (user) dengan perintah $ ps –u, maka akan
dimulai
dari START, adalah kapan proses tersebut diaktivkan. Lalu, %CPU
adalah persentasi CPU time yang digunakan oleh proses tersebut. Lalu,
%MEM adalah persentasi memori yang digunakan proses. Lalu, SIZE
adalah jumlah memori yang digunakan. Lalu, RSS (Real System
Storage) adalah jumlah memori yang digunakan.
Perintah ini diibaratkan seperti task manager proses pada window.
4. Mencari proses yang spesifik pemakai. Proses diatas hanya terbatas pada
proses milik pemakai, dimana pemakai tersebut melakukan login $ ps –
u(user)
Analisis
Percobaan diatas merupakan cara untuk mencari atau melihat proses
yang spesifik pada sebuah user. Setelah pemakai melakukan login dan
mengetikan perintah ini $ ps –u(user), maka akan muncul output proses.
5. Mencari proses lainya gunakan opsi a(all) dan au(all user) $ ps –a $ ps –au
Analisis
Percobaan diatas merupakan cara untuk menampilkan atau mencari suatu
proses, opsi a(all) dan au(all user) $ ps –a $ ps –au, maka akan muncul
output proses dengan proses semua user terlihat.
2. Ketik ps –eH dan tekan Enter. Opsi e memilih semua proses dan opsi H
menghasilkan tampilan proses secara hierarki. Proses child muncul
dibawah proses parent. Proses child ditandai dengan awalan beberapa
spasi. $ ps – eH
Analisis
Percobaan diatas merupakan cara untuk menampilkan hubungan parent
dan child. Perintah ps –eH menghasilkan tampilan proses secara hierarki.
Proses child muncul dibawah proses parent. Proses child ditandai
dengan awalan beberapa spasi.
5. Ketik pstree | grep mingetty dan tekan Enter. Akan menampilkan semua
proses mingetty yang berjalan pada sistem yang berupa console virutual.
Selain menampilkan semua proses dikelompokan dalam satu baris dengan
satu angka sebagai jumlah proses yang berjalan. $ pstree | grep mingetty
Analisis
Percobaan diatas merupakan cara untuk menampilkan hubungan parent
dan child. Perintah pstree | grep mingetty berfungsi untuk menampilkan
semua proses mingetty yang berjalan pada sistem yang berupa console
virutual. Selain menampilkan semua proses dikelompokan dalam satu
baris dengan satu angka sebagai jumlah proses yang berjalan.
6. Untuk melihat semua PID untuk proses gunakan semua opsi –p . $ pstree
–p
Analisis
Percobaan diatas merupakan cara untuk menampilkan hubungan parent
dan child. Untuk melihat semua PID maka perintah yang digunakan $
pstree –p.
7. Untuk menampilkan proses dan ancestor yang tercetak tebal gunakan opsi -
h. $ pstree –h
Analisis
Percobaan diatas merupakan cara untuk menampilkan hubungan parent
dan child. Untuk menampilkan proses dan ancestor yang tercetak tebal
gunakan opsi -h. $ pstree –h.
2. Gunakan perintah yes yang mengirim output y yang tidak pernah berhenti.
$ yes
Analisis
Percobaan diatas merupakan cara untuk mengontrol proses data shell.
Menggunakan perintah yes yang mengirim output y yang tidak pernah
berhenti.
6. Untuk menghentikan job, gunakan perintah kil diikuti job number atau PID
proses. Untuk identifikasi job number, diikuti prefix dengan karakter “%”.
$ kill %<nomor job> contoh : kill %1
Analisis
Percobaan diatas merupakan cara untuk mengontrol proses data shell.
Untuk menghentikan job, gunakan perintah kil diikuti job number atau
PID proses. Untuk identifikasi job number, diikuti prefix dengan
karakter “%”.
5. Apabila ingin menjalankan banyak job dalam satu waktu, letakan job pada
foreground atau beckground dengan memberikan job ID
$ fg %2 atau $ %2
$ bg %2
Analisis
Percobaan diatas merupakan cara untuk menghentikan dan memulai
kembali job. Apabila ingin menjalankan banyak job dalam satu waktu,
letakan job pada foreground atau beckground dengan memberikan job
ID.
6. Tekan fg dan tekan Enter, kemudian lanjutkan dengan Ctrl-Z untuk
menghentikan sementara.
Analisis
Setelah menggunakan perintah $ fg %2 atau $ %2 dan $ bg %2 diatas
kemudian Tekan fg dan tekan Enter, kemudian lanjutkan dengan Ctrl-Z
untuk menghentikan sementara.
7. Lihat job dengan perintah ps –fae dan tekan Enter. Kemudian hentikan
proses dengan perintah kill.
$ ps –fae
Analisis
Percobaan diatas merupakan cara untuk yaitu menghentikan dan
memulai kembali job. Untuk job dengan perintah ps –fae dan tekan
Enter. Kemudian hentikan proses dengan perintah kill.
Analisis
Percobaan diatas berfungsi untuk keluar dari mode command line, untuk
kembali ke metode grafis. Dengan menekan Alt+F7 maka mode tersebut
terlogout.
MODUL 5
Bekerja Dengan Bash Shell
V - 1
V - 2
Jenis-Jenis Shell
Jenis shell yang digunakan di unix maupun linux banyak macamnya, tetapi
dilihat dari segi kuantitas pemakainya shell yang banyak dipakai adalah
sebagai berikut :
Bourne shell (sh)
C shell (csh)
Korn shell (ksh)
Bourne Again shell (bash)
Yang paling banyak di gunakan adalah bash, dimana bash ini
merupakan pengembangan dari sh dan ksh. Mayoritas distribusi
linux saat ini menggunakan bash sebagai default shell-nya.
2. PROFILE
Pada saat kita login dan memulai sebuah session baru bash shell, maka
bash akan menjalankan file /etc/profile, .profile, /etc/bash.bashrc .bashrc.
File /etc/profile dan /etc/bash.bashrc digunakan untuk semua user yang
ada, jika kita melakukan modifikasi file ini maka akan ber-efek pada
semua user yang bisa login kedalam system. Sedangkan .profile dan
.bashrc hanya terdapat pada masing-masing home direktori dari user yang
bersangkutan. File /etc/profile dan .profile hanya akan dieksekusi oleh
login shell, jika dalam session aktif kita menjalankan perintah
$ bash
maka file .profile tidak akan dijalankan, agar .profile dijalankan kita harus
menggunakan perintah.
$ bash --login
Perintah ini berguna untuk melihat hasil dari file .profile yang dimodifikasi
tanpa harus logout dari session. Sekarang kita akan mencoba memodifikasi
file .profile, buka dengan teks editor, dan tambahkan baris berikut dibagian
paling bawah
date
simpan hasil perubahan tersebut, kemudian jalankan perintah berikut
$ bash --login
Tue Nov 13 20:55:13 WIT 2019
Untuk keluar ketik perintah
$ logout
Modifikasi seperti merubah prompt shell secara permanen, mode editing
yang digunakan oleh shell bisa ditempatkan pada file .profile. Untuk
interaktif session yang bukan login session, maka bash akan melihat pada
file /etc/bash.bashrc dan .bashrc. Pada .bashrc, umumnya digunakan untuk
menempatkan sebuah fungsi alias bagi sebuah command, misalnya alias
ls=‟ls –qF‟. Pada distro Ubuntu, file .bashrc ini juga dijalankan pada waktu
login session, hal ini bisa dilihat pada file .profile di Ubuntu terdapat baris
berikut
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
fi
.bash_logout merupakan file yang dijalankan pada saat kita logout dari
session bash shell. Jika kita ingin menghapus isi direktori tertentu pada saat
logout, maka perintah tersebut harus ditempatkan pada file .bash_logout.
Sedangkan .bash_history berisikan command-command yang pernah kita
input pada shell.
3. HISTORY
Semua perintah-perintah yang sudah pernah anda ketikkan, akan disimpan
ke dalam history. Untuk menampilkan anda bisa menggunakan perintah
history. Secara default perintah-perintah yang bisa ditampung dalam
history adalah 1000 perintah, untuk konfigurasi berada pada
/home/user/.bashrc pada baris “export HISTSIZE=1000” . Penyimpanan
file
history biasanya disimpan secara default berada pada /home/user/
dengan nama file .bash_history (jika menggunakan shell
bash), .zsh_history(jika menggunakan shell zsh).
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
directori actual.
5. JOB CONTROL
Job adalah sebuah eksekusi program yang diberikan kepada karnel.
Sebuah job dianggap selesai, bila eksekusi program tersebut berakhir.
Eksekusi Job adalah sama dengan eksekusi program, baik proses
Background maupun proses Foreground.
6. EDITOR vi/vim
vi merupakan teks editor yang pertama kalinya dibuat untuk UNIX, dimana
teks editor ini sangat sederhana, memiliki ukuran yang kecil tapi
mempunyai fungsionalitas yang besar. Saat ini banyak versi dari vi yang
ada seperti nvi, vim, vile, elvis. Pada GNU/Linux umumnya menggunakan
vim yang diciptakan oleh Bram Moolenar's berdasarkan vi. Pada Ubuntu
saat kita mengetikkan vi atau vim pada shell, maka program yang
dijalankan adalah sama yaitu vim. VIM merupakan singkatan dari VI
Improved, dimana vim memiliki fitur seperti multiple undo yang tidak
terdapat pada vi versi lama. Untuk memulai vi/vim pada shell (jika
menggunakan GUI, jalankan gnometerminal) bisa dengan cara
vi
vi options file
vi options +num file
vi adalah full screen editor, artinya editor tersebut dapat memanfaatkan
fasilitas satu layar penuh. Vi mempunyai 2 buah modus, yaitu :
Command line
Editor vi mengintepretasikan input sebagai instruksi untuk dieksekusi
oleh editor, contoh seperti mencari teks, mengganti teks secara
otomatis dan lainnya.
Editing
Editor vi mengintepretasikan input sebagai teks yang akan
dimmasukan kedalam 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 editor vi dapat dilihat pada tabel sebagai berikut:
Kunci Keterangan Kunci Keterangan
Pindah Kursor ke kiri Ctrl
H Mundur satu layar
satu karakter -b
Pindah Kursor ke kanan Ctrl
J Maju satu layar
satu karakter -f
Ctrl
K Pindah Kursor ke atas Maju setengah layar
-d
Menggerakan kursor ke
L Pindah Kursor ke bawah B
kiri satu kata
Menyisipkan teks (satu
Menggerakan kursosr ke
O baris setelah posisi W
kanan satu kata
kursor)
Menyisipkan teks (di
I ^ Pergi ke awal baris
sebelah kiri posisi kursor
Menyisipkan teks (di
A sebelah kanan posisi $ Pergi ke akhir baris
kursor)
I
(shi Menyisipkan teks (di Membatalkan perintah
U
ft posisi awal baris) yang terakhir kali
i)
A
Membatalkan seluruh
(shi Menyisipkan teks (di
U
ft posisi akhir baris) perubahan teks pada baris
tempat kursor berada
a)
Keluar untuk sementara
Menghapus 1 huruf (di
dari editor vi dan
X sebelah kanan posisi :!
menjalankan perintah yang
kursor)
lain
Menghapus 1 kata (di Write dan quite, simpan
Dw sebelah kanan posisi :wq berkas dan keluarkeluar vi
kursor) tanpa menyimpan
Menghapus 1 baris (di
keluarkeluar vi tanpa
Dd sebelah kanan posisi :q!
menyimpan
kursor)
:se Menampilkan semua
Yy Mengkopi 1 baris
all pilihan set status
:se Menampilkan nomor baris
2yy Mengkopi 2 baris
nu pada kiri layar
(Paste) Menampilkan
baris kalimat yang sudah /str Mencari string ke arah
P
ada dikopi dengan kunci ing depan
yy
Mengganti 1 kata yang
telah ditulis di sebelah ?str Mencari string ke arah
Cw
kanan posisi kursor ing belakang
dengan kata lain
Mengganti 1 baris
kalimat yang telah ditulis
meneruskan pencarian
Cc disebelah kanan posisi N
untuk arah yang sama
kursor dengan kalimat
lain
Analisis
Gambar di atas merupakan perintah untuk menampilkan isi dari
.bash_profile (file yang tersembunyi) pada home direktori pemakai yang
login.
$ ls –l
$ whoami
$ who
Analisis
Gambar di atas merupakan perintah menggunakan Feature History Bash.
Untuk memeriksa apakah perintah ini ditambahkan pada history, dapat
menggunakan perintah $history untuk melihat semua perintah yang
pernah dimasukan.
7. Apabila string tidak ditemukan pada perintah history maka akan terdapat
pesan error
$ !?wombat99?
8. Jika diketikkan !who maka yang dijalankan adalah perintah who. Tetapi
bila Anda ketikkan !whoa maka yang dijalankan adalah perintah whoami
$ !who
$ !whoa
3. Ketik history dan tekan Enter. Maka akan terlihat baris terakhir adalah
perintah history dan baris sebelumnya adalah tail .bash_history. Perintah
history bersifat up to date, karena disimpan pada memory sistem.
$ history
5. Logout dan login kembali sebagai user yang sama. Ketik history dan tekan
Enter. Maka perintah echo ‘Ini Perintah saya’ akan berada pada baris
terkahir. Lihat file .bash_history, maka perintah tersebut akan terdapat pada
file .bash_history.
$ history
$ tail .bash_history
10. Logout dan login kembali sebagai user yang sama. Lihat perubahan
variabel HISTSIZE.
$ set|grep HISTSIZE
11. Ketikkan perintah history beberapa kali, maka perintah ini akan disimpan
pada BASH history meskipun yang diketikkan perintahnya sama.
13. Logout dan login kembali sebagai user yang sama. Ketikkan history
beberapa kali dan perintahkan berapa kali history yang muncul.
6. Ada beberapa prompt BASH lain yang dapat diubah, yaitu PS2, PS3 dan
PS4. Prompt PS2 digunakan sebagai prompt sekunder. Untuk melihat
bagaimana penggunanya, ketik echo ‘Hello (tanpa diakhiri penutup quote)
dan tekan Enter. Simbol lebih besar dari (>) akan muncul. Hal ini
memberitahukan bahwa BASH menunggu anda menyelesaikan perintah.
Ketik penutup quote (‘) dan tekan Enter. Perintah ini akan menyelesaikan
prompt PS2, kata “Hello, “ muncul diikuti dengan prompt PS1 pada baris
baru.
$ echo ‘Hello
>’
8. Kemudian ketik echo ‘Hello (tanpa diakhiri penutup quote) dan tekan Enter.
Pada baris berikutnya muncul Selesai memasukkan perintah Anda:.
Kemudian ketikkan penutup quote (‘) dan tekan Enter. Jika perintah
selesai, maka kata Hello akan muncul diikuti prompt PS1 pada baris baru.
$ echo ‘Hello
Selesai memasukkan perintah anda:’
12. Anda bisa menampilkan atribut visual seperrti lebih terang, berkedip dan
5. Ketikkan echo ‘John Smith:13001’>>list dan tekan Enter. Jika file list
tidak ada, akan dibuat secara otomatis, tetapi jika sudah ada, string ‘John
Smith:13001’ akan ditambahkan.
$ echo ‘John Smith:13001’>>list
6. Ketik cat list dan tekan Enter. Maka anda akan melihat isi gile list. Pada
saat ini, file mungkin memnpunyai hanya satu baris sehingga tidak dapat
dilihat apakah file sudah terurut.
$ cat list
3. Menjalankan script
$ bash p1.sh
$ sh p1.sh
$ . p1.sh
$ . /p1.sh
2. Proses background
$ ps x > hasil &
4. Buatlah file ploop.sh. file ini tidak akan pernah berhenti kecuali ditekan
CTRL+C
$ vi ploop.sh
#!/bin/bash
while [true]
do
sleep 10
echo “Hallo”
done
Gambar 5.50 Tampilan Job Control
Analisis
Gambar di atas merupakan perintah Job Control. Membuat file ploop.sh.
file ini tidak akan pernah berhenti kecuali ditekan CTRL+C dengan
menggunakan perintah $ vi ploop.sh kemudian ketikkan while [true], do,
sleep 10, echo “Hallo”, done.
Percobaan 9 : Alias
1. Alias adalah mekanisme untuk memberi nama alias pada satu atau
sekelompok instruksi. Untuk melihat alias yang sudah terdaftar pada
sistem:
$ alias
VI - 1
VI - 2
2. VARIABEL
Dalam memproses data di komputer, kita menyimpan data tersebut dalam
memori komputer. Memori tersebut dibagi dalam lokasi-lokasi dengan
alamat tertentu. Programmer harus memberi nama lokasi tersebut dengan
nama variabel.
Ada 2 macam variabel dalam Linux, variabel sistem biasanya dituliskan
dengan huruf besar semua dan variabel user. Cara mendeklarasikan
variabel juga hampir sama: variablename=value
Harap diperhatikan, tidak boleh ada spasi!
Contoh:
$ x=10
artinya mengisikan angka 10 ke dalam variabel x
Contoh variabel sistem:
Variabel User
Aturan penamaan variabel memiliki aturan yang hampir sama dengan
penamaan dalam pemrograman komputer bahasa lain:
Nama variabel harus dimulai dengan huruf atau underscore (_),
diikuti dengan huruf lain atau angka;
Jangan menggunakan spasi, seperti sudah dicontohkan di atas;
Variabel adalah case-sensitive, huruf besar dan huruf kecil berbeda;
Variabel kosong (NULL) tidak akan menghasilkan nilai;
Jangan menggunakan karakter khusus seperti: ?, *, dll untuk nama
variabel.
3. MEMBACA KEYBOARD
Nilai variable dapat diisi melalui keyboard (stdin) dengan intruksi read.
Program yang selama ini kita buat, nilainya telah ditentukan sebelumnya,
program- program tersebut tidak mendapatkan input dari user. Program -
program tersebut hanya melakukan hal yang sama setiap waktu.
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, $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 / argument sebuah
script ($@ mempunyai arti sama). $$ menyatakan nomor proses id/pid dari
script yang dijalankan. Pid ini akan terus berubah (umumnya) menaik,
setiap kali proses berjalan.
5. STATUS EXIT
Setiap program setelah selesai dieksekusi akan memberikan informasi
melalui variable special $?. Indikasi yang diberikan adalah :
Bila program berakhir denga sukses, $?=0
Bila program berakhir dengan error, $?tidak samadengan 0. nilai dari status
exit dapat dilihat melalui instruksi echo $?
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 kata kunci fi.
8. INSTRUKSI TEST
Instruksi test digunakan untuk memeriksa kondisi dari sebuah ekspresi.
Ekspresi terdiri dari factori dan operator yang dipisahkan oleh spasi. Hasil
test akan memberikan nilai berupa status exit, yaitu 0 bila ekspresi sesuai,
bila tidak maka hasilnya adalah tidak sama dengan nol.
Operator untuk test
Operator 0 atau TRUE, jika
string1 = string2 Identical
string1!= string2 Not identical
-n string String is not null
-z string String is null
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.
19. FUNGSI
Hampir sama dengan bahasa pemrograman tingkat tinggi, pada shell script
juga dikenal istilah fungsi. Dimana dengan adanya fungsi kita dapat
membagi kode kita ke dalam sub-sub yang lebih kecil. Hal ini sangat
berguna jika kita membangun sebuah program shell script yang cukup
kompleks.
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 di definisikan dalam fungsi sebagai variabel local atau
global. Hal yang perlu diperhatikan, nama variable yang digunakan dalam
sebuah fungsi, jangan sampai bentrok dengan nama variable yang sama di
luar fungssi, sehingga tidak terjadi isi variable berubah. Login sebagai user,
bukalah Console Terminal dan lakukan percobaan-percobaan dibawah ini
kemudian selesaikan soal-soal latihan !
6.3 Hasil dan Pembahasan
Percobaan 1 : Membuat Shell Script
1. Buatlah file prog01.sh dengan editor vi
$ vi prog01.sh
#!/bin/sh
# Program shell
#
var1=x
var2=8
7. Menjalankan prog01.sh
$ . prog01.sh
$ prog01.sh (TERDAPAT PESAN ERROR)
$ ./prog01.sh (TERDAPAT PESAN ERROR)
$ chmod +x prog01.sh
$ ./prog01.sh
9. Eksekusi prog03.sh
$ . prog03.sh
Percobaan 4 : Parameter
1. Membuat shell script prog04.sh
$ vi prog04.sh
#!/bin/sh
# prog04.sh versi 1
# Parameter passing
#
echo “Nama program adalah $0”
echo “Parameter 1 adalah $1”
echo “Parameter 2 adalah $2”
echo “Parameter 3 adalah $3”
Gambar 6.20 Tampilan Parameter
Analisis
Gambar di atas merupakan perintah untuk membaca parameter. Perintah $ vi
prog04.sh berfungsi untuk membuat shell script prog04.sh. script berikut :
# prog04.sh versi 1
# Parameter passing
#
echo “Nama program adalah $0”
echo “Parameter 1 adalah $1”
echo “Parameter 2 adalah $2”
echo “Parameter 3 adalah $3”
merupakan contoh dari pembuatan parameter dengan 4 buah parameter $0 hingga
$3 dan akan di eksekusi pada percobaan berikutnya.
Analisis
2. File prog99.sh tidak ada, karena itu exit status adalah FALSE dan instruksi
echo tidak dijalankan
$ [ -f prog99.sh ] && echo “prog99.sh ada”
2. Jalankan Prog08.sh
$ . prog08.sh
$ echo $?
done
done
done
Gambar 6.62 Tampilan Konstruksi For-Do-Done
Analisis
Gambar di atas merupakan perintah yaitu konstruksi for-do-done. Modifikasi
prog12.sh ini akan menampilkan long list dari file yang mempunyai ekstensi file
.lst dan akan dieksekusi pada percobaan berikutnya
6. Jalankan prog12.sh
$ . prog12.sh
3. Buatlah file prog14.sh yang berisi instruksi dummy untuk konstruksi if,
kemudian jalankan!
$ vi prog14.sh
#!/bin/sh
# Prog : prog14.sh
echo –n “masukan nilai : “
read A
if [ $A –gt 100 ]
then
:
else
echo “ ok !”
fi
Gambar 6.68 Tampilan Instruksi Dummy
Analisis
Gambar di atas merupakan perintah instruksi dummy. Masih pada shell script,
pada program prog14.sh ini berisi instruksi dummy untuk konstruksi if. Variabel
A dinyatakan dengan nilai –ne 100. Then echo OK dan akan dieksekusi pada
percobaan berikutnya
4. Jalankan prog14.sh
$ . prog14.sh
4. Jalankan fungsi.sh
$ . fungsi.sh
6. Jalankan fungsi.sh
$ . fungsi.sh
Analisis
Gambar di atas merupakan perintah fungsi. Dan untuk hasilnya pun tidak
ada perubahan dari modifikasi file fungsi.sh sebelumnya.
Sama saja dengan percobaan 18 nomer 3 dan tampil seperti gambar.
MODUL7
UNIX SYSTEM CALL DAN MANAJEMEN MEMORY
VII - 1
VII - 2
Untuk lebih jelasnya lihat gambar berikut. Contoh di atas adalah sytem calls
di dalam program yang membaca data dari satu file lalu meng- copy-nya ke
file lain.
Biasanya tersedia sebagai instruksi bahasa rakitan. Beberapa sistem
mengizinkan system calls dibuat langsung dari program bahasa tingkat
tinggi. Beberapa bahasa pemrograman (contoh : C, C++) telah didefenisikan
untuk menggantikan bahasa rakitan untuk sistem
pemrograman. Tiga metode umum yang digunakan dalam memberikan
parameter kepada sistem operasi
• Melalui register
• Menyimpan parameter dalam blok atau tabel pada memori dan alamat blok
tersebut diberikan sebagai parameter dalam register
• Menyimpan parameter (push) ke dalam stack (oleh program), dan
melakukan pop off pada stack (oleh sistem operasi)
Memberikan parameter melalui tabel
1. Manajemen Berkas
System calls yang berhubungan dengan berkas sangat diperlukan. Seperti
ketika kita ingin membuat atau menghapus suatu berkas. Atau ketika ingin
membuka atau menutup suatu berkas yang telah ada, membaca berkas
tersebut, dan menulis berkas itu.System calls juga diperlukan ketika kita
ingin mengetahui atribut dari suatu berkas atau ketika kita juga ingin
merubah
atribut tersebut. Yang termasuk atribut berkas adalah nama berkas, jenis
berkas, dan lain-lain
Ada juga system calls yang menyediakan mekanisme lain yang berhubungan
dengan direktori atau sistim berkas secara keseluruhan. Jadi bukan hanya
berhubungan dengan satu spesifik berkas. Contohnya membuat atau
menghapus suatu direktori, dan lain-lain
2. Manajemen Peranti
Program yang sedang dijalankan kadang kala memerlukan tambahan sumber
daya. Jika banyak pengguna yang menggunakan sistem dan jika diperlukan
tambahan sumber daya maka harus meminta peranti terlebih dahulu. Dan
setelah selesai penggunakannnya harus dilepaskan kembali. Ketika sebuah
peranti telah diminta dan dialokasikan maka peranti tersebut bisa dibaca,
ditulis, atau direposisi.
3. Informasi Maintenance
Beberapa system calls disediakan untuk membantu pertukaran informasi
antara pengguna dan sistem operasi. Contohnya system calls untuk meminta
dan mengatur waktu dan tanggal. Atau meminta informasi tentang sistem itu
sendiri, seperti jumlah pengguna, jumlah memori dan disk yang masih bisa
digunakan, dan lain-lain. Ada juga system calls untuk meminta informasi
tentang proses yang disimpan oleh sistem dan system calls untuk merubah
(reset ) informasi tersebut.
4. Komunikasi
Dua model komunikasi
message-passing
pertukaran informasi dilakukan melalui fasilitas komunikasi antar proses
yang disediakan oleh sistem operasi.
shared-memory
Proses menggunakan memori yang bisa digunakan oleh berbagai proses
untuk pertukaran informasi dengan membaca dan menulis data pada memori
tersebut.
Mekanisme komunikasi
Sumber: Silberschatz,et.al, Operating System Concepts,6th e, .2003, New
York:John Wiley & Son.Inc, halaman 72
MODUL 8
SISTEM FILE
Contoh:
B. Ijin Akses ( Hak akses )
Hak akses bisa dibilang sebuah hak yang diberikan pada seluruh
User atau file untuk melakukan sesuatu akses. Jadi Hak akses ini dapat
diatur sedemikian rupa supaya file atau direktori itu hanya bisa di read,
atau write, dan execute. Selain itu kita juga bisa mengatur bagaimana
hak akses dari setiap user pada suatu file, atau direktori. Hal yang
harus dikuasai dalam konfigurasi Hak Akses pada Linux:
1. Mengetahui Fungsi CHMOD
2. Mengetahui Fungsi setiap atribut tambahan dalam perintah
CHMOD
3. Dapat mengatur hak akses bagi setiap user
4. Dapat mengatur hak akses bagi setiap group
5. Dapat merencanakan hak akses yang diaplikasikan di
kehidupan sehari-hari atau Industri
Sesuai dengan semua yang harus kita kuasai kita harus
memahami fungsi dari perintah "CHMOD" dan atribut tambahan pada
perintah CHMOD tersebut,
CHMOD
Chmod merupakan salah satu perintah pada Linux yang
berfungsi untuk mengurangi atau memberikan izin ( Hak Akses ) pada
suatu file atau direktori dan User serta Group.
Dalam Linux ada 3 Hak Akses atau perizinan File dan Direktori,
yaitu
1. r untuk read
2. w untuk write
3. x untuk execute
|—|—|—| |rwx|rwx|rwx|
Pada dasarnya struktur dari chmod seperti diatas, kolom pertama
untuk user kolom yang kedua untuk group kolom yang ketiga
anynomos atau other.
1. Dengan menggunakan letter coding, Anda dapat merubah
permission diatas untuk masing-masing u (user), g (group),
o (other) dan a (all) dengan hanya memberi tanda plus (+)
untuk menambah ijin dan tanda minus (-) untuk mencabut
ijin.
2. Dengan menggunakan sitem numeric coding, permission
untuk user, group dan other ditentukan dengan
menggunakan kombinasi angka-angka, 4, 2 dan 1 dimana 4
(read),2 (write) dan 1 (execute).
C. User Mask
User mask adalah kemampuan sistem operasi berbasis Linux untuk
menambahkan pengaturan hak akses default untuk file-file baru
(termasuk folder). Untuk tujuan edukasional, berikut adalah nilai-nilai
oktal yang dapat digunakan untuk mengatur hak akses atas file:
0 – Read, Write, Execute (rwx)
1 – Read and Write (rw-)
2 – Read and Execute (r-x)
3 – Read only (r -)
4 – Write and Execute (wx)
5 – Write only (-w-)
6 – Execute only (- x)
7 – No permissions (—)
Diagram Umask Value – kredit: tanukisoftware.com
MODUL 9
MANAJEMEN PERANGKAT KERAS
Gambar diatas merupakan sistem tata letak File pada RedHat, tata
letak file diatas bisa berubah tergantung pada sistem administrasi dan
sistem operasi yang dipakai. Level tertinggi dari tata letak file di
Linux yaitu
/root, directory ini berisi semua file dan partisi yang ada
Dibawah ini Penjelasan dari directory yang ada pada gambar diatas
Nama Informasi Directory
Directory
/bin Directory ini berisi program umum, dibagi oleh system,
administrator system dan pengguna
/boot Directory ini berisi file startup dan kernel
/dev Directory ini berisi refrensi untuk semua perangkat keras
pada
CPU
/etc Directory ini berisi sistem file konfigurasi sedangkan pada
windows terletak pada control panel
/home Directory ini berisi file pengguna
/initrd Directori ini berisi file informasi untuk boot pada beberapa
distribusi Linux
/lib Directory ini berisi perpustakaan File, file ini untuk semua
jenis program yang dibutuhkan oleh sistem dan pengguna
/lost + Setiap partisi memiliki lost + Found diatasnya. Directory ini
Found berisi file yang disimpan selama kegagalan
/Misc Directory ini berisi directory lain - lain
/Mnt Directory ini berisi standard mount point untuk file system
eksternal seperti CD Room
/Net Directory ini berisi standard mount point untuk seluruh
system file jarak jauh
/opt Directory ini berisi aplikasi tambahan
/proc Directory ini berisi informasi tentang sumber daya system.
Mengecek Hardware Device Di Linux Melalui Terminal
Beberapa yang lalu kawan saya Deanet iseng2 browsing, dia sedang
melihat2 tutorial injeksi paket. (wah udah inject inject aja nih :p). Di Web
yang sedang Ia baca menyebutkan bahwa Hardware Wireless network yang
bisa di gunakan salah satunya adalah Intel 2200BG. Wah sontak saja aku
bilang, wah punyamu support tuh cak. :D. Kata dia, ah mosok sih bisa.
langsung saja aku suruh cek Hardware nya.
Ada beberapa cara untuk mengetahui Hardware apa saja yang tertanam pada
Box kita. Command ini semuanya di lakukan di atas Terminal :
Untuk Melihat Informasi CPU : $cat /proc/cpuinfo
Untuk Melihat Info Mengenai Memori : $cat /proc/meminfo
Untuk Melihat Informasi Hardisk: cat /proc/partitions
lshw
lshw -html > lshw.html ( fungsinya sama seperti diatas hanya saja file yang
diinginkan dalam bentuk file html )
$lspci ( menampilkan perangkat PCI, untuk lebih detail bisa tambahkan -vv )
scanpci ( untuk menscan bus PCI dan melaporkan informasi tentang setingan
konfigurasi untuk tiap perangkat PCI.)
dmidecode ( table komputer DMI ( SMBIOS ) dalam format yang bisa
dibaca
)
lsusb ( menampilkan perangkat USB yang terpasang, untuk lebih detail bisa
ditambahkan -vv )
$lshal ( menampilkan semua perangkat lengkap dengan propertiesnya, contoh
“lshal –monitor” untuk memonitoring perubahan )
$cat /proc/devices ( menampilkan perangkat hardware yang dimuat )
$cat /proc/meminfo ( info tentang penggunaan memori )
$cat /proc/modules ( memuat modul kernel )
$cat /proc/cpuinfo ( info tentang prosesor )
$cat /proc/scsi/scsi ( menampilkan perangkat SCSI )
$cat /proc/buddyinfo ( mengecek fragmentasi memori )
MODUL 10
LINUX BOOTING PROCESS
X - 1
X - 2
0 Scheduler
1 Proses init
2 kflushd
3 kupdate
4 kpiod
5 kswapd
6 mdrecoveryd
init systemd: Systemd menjadi default sistem init untuk Linux dan
telah
membawa perubahan berikut:
Boot script di / etc / systemd / sistem / dan / lib / systemd / sistem /
Perintah layanan kontrol:
o Fedora 15 +: systemctl
o Ubuntu 12.04+, 14,04: initctl
Daftar initctl: Daftar semua layanan sistem dan negara
mereka saat ini.
initctl stop service-nama: Menghentikan layanan
tertentu. Lihat "daftar" di atas untuk daftar nama.
Memerlukan dukungan kernel: (Kernel opsi kompilasi config)
o CONFIG_DEVTMPFS = y
o CONFIG_CGROUPS = y
o CONFIG_AUTOFS4_FS = [y | m]
Baris perintah kernel di GRUB akan mencakup "init = / bin /
systemd"
Gnome Desktop D-Bus ketergantungan pada systemd
SysV init:
Init file konfigurasi (Red Hat EL6): / etc / inittab
id: 3: initdefault:
Init file konfigurasi (Red Hat 7,3-9,0, Fedora 1-14, RHEL5): / etc /
inittab
id: 3: initdefault:
# Sistem inisialisasi.
si :: sysinit: /etc/rc.d/rc.sysinit
l0: 0: menunggu: /etc/rc.d/rc 0
l1: 1: menunggu: /etc/rc.d/rc 1
l2: 2: menunggu: /etc/rc.d/rc 2
l3: 3: menunggu: /etc/rc.d/rc 3
l4: 4: menunggu: /etc/rc.d/rc 4
l5: 5: menunggu: /etc/rc.d/rc 5
l6: 6: menunggu: /etc/rc.d/rc 6
# Hal yang berjalan di setiap runlevel. Baris ini hanya di Red Hat 7.X
Digunakan untuk flush buffer disk.
ud :: sekali: / sbin / update
# Perangkap CTRL-ALT-DELETE
ca :: ctrlaltdel: / sbin / shutdown -T3 r now
C. Prosedur Boot
Linux mempunyai 6 state operasi dimana “0” adalah shutdown state
dan “3” keatas adalah operasional penuh dengan semua proses yang
esensial dijalankan untuk interaksi user . Berdasarkan sistem boot,
Linux sistem akan melakukan :
Mengeksekusi program /sbin/init yang memulai semua proses -
proses lain. Program ini akan diberikan ke mesin oleh proses
awal yang didefinisikan pada file /etc/inittab
Komputer akan di -booting ke runlevel yang didefinisikan oleh
baris initdefault pada file /etc/inittab .id:5:initdefault:
Pada contoh diatas, runlevel ”5” dipilih. Runlevel “5” akan
melakukan booting sistem pada mode GUI menggunakan XDM
dan X -Windows. Booting ke runlevel ”3” (biasanya disebut
mode console) biasanya digunakan oleh server yang tidak
memerlukan GUI.
File inittab mengijinkan menggunakan kunci (Ctrl-Alt-Del),
memulai dial ke koneksi internet dll.
Satu dari proses- proses yang dimulai oleh
initadalah /sbin/rc. Skrip ini menjalankan sekumpulan skrip
pada direktory /etc/rc.d/rc0.d/, /etc/rc.d/rc1.d, /etc/rc.d/rc2.d
dan seterusnya.
Skrip pada direktory tersebut dieksekusi pada setiap boot state
dari operasi sampai menjadi operasi yang lengkap. S krip mulai
dengan S yang merupakan skrip startup sedangkan skrip yang
dimulai dengan K menandakan skrip shutdown (kill). Angka
yang mengikuti huruf tersebut merupakan urutan eksekusi
(terendah ke tertinggi).
ID Nama Deskripsi
G. CHKCONFIG
Perintah chkconfig membangkitkan dan memutuskan link antara
direktori
/etc/rc.d/init.d/ dan direktori run level /etc/rc.d/rc[0-6].d/untuk
mengontrol inisialisasi proses boot dan proses shutdown.
chkconfig [--level <levels>] <name> on | off | reset >
chkconfig --list
chkconfig --list
chkconfig --add <name>
chkconfig --del <name>
chkconfig --level 0123456 <name> off
Contoh :
chkconfig --level 345 httpd on
- apache diberikan 3, 4 dan 5.
chkconfig --add httpd
- memulai web server daemon pada system boot.
chkconfig --del sendmail
- Tidak memulai sendmail daemon pada system boot.
chkconfig --list ]
- Daftar semua servis dan level init.
chkconfig --list | grep on
- Daftar semua service yang dimulai pada sistem boot
XI - 1
MODUL 11
MANAJEMEN USER DAN GROUP
XI - 1
XI - 2
B. Manajemen Grup
Daftar grup yang terdapat di linux bisa dilihat dalam /etc/group ,
didalamnya terdapat informasi ada grup apa saja yang terdapat pada
sistem.
Membuat grup
Untuk membuat grup menggunakan perintah addgroup.
# addgroup marketing
Menghapus grup
Untuk menghapus grup menggunakan perintah delgroup.
# delgroup marketing
XII - 1
MODUL 12
MANAJEMEN APLIKASI
XII - 1
XII - 2
D. NAMA PAKET
Penamaan paket diatur dengan konven si sebagai berikut :
Nama
Versi
Release
Platform arsitektur (Intel, Alpha, Risc, …)
E. RPM QUERY
RPM dengan opsi –qmemberikan informasi tentang paket sebagai
berikut :
# rpm –q samba
samba –2.0.5 -1S
#
Informasi tentang versi paket samba adalah versi 2.0.5.
Beberapa sub – opsi dapat diberikan, antara lain :
G. GZIP
Gzip merupakan format ZIP UNIX yang asli. Biasanya membentuk
file tar terlebih dahulu dan kemudian mengkompresi dengan
menggunakan gzip. File -file ini mempunyai ekstensi .tar.gz yang
menunjukkan file tar yang di – zip dengan gzip. Selain itu juga
terdapat file berekstensi
.tgz. File ini merupakan file kompresi dengan gzip yang kompatibel
dengan WinZip dan PkZip. Sehingga file zip pada UNIX dapat di
unzip pada Windows.
Contoh :
Untuk kompresi file menggunakan gzip, eksekusi perintah berikut :
gzip filename.tar (dimana filename.taradalah nama file yang
dikompres). Hasil dari operasi ini adalah file yang
bernama filename.tar.gz. Defaultnya, gzip akan menghapus
file filename.tar
Untuk dekompresi file menggunakan gzip, eksekusi perintah beriku t :
gzip – d filename.tar.gz. Hasil dari operasi ini adalah file
bernama filename.tar. Defaultnya, gzip akan menghapus
file filename.tar.gz
PENUTUP
A. SIMPULAN
Pada dasarnya, Linux merupakan sistem operasi yang berbasiskan
pada text (Text Bases) dalam sistem kerjanya. Bila ingin melakukan
sesuatu terhadap komputer user bisa mengetikkan perintah-perintah yang
kemudian dieksekusi oleh komputer. Sehingga mode teks terus melekat
dengan Linux sampai saat ini, walaupun sekarang tampilan GUI (Graphic
User Interface) Linux sudah semakin bagus dan memudahkan user.
Perintah-perintah yang diketikkan itu biasa disebut Command Line. Untuk
perintah-perintah dasar, biasa disebut Basic Command Line.
B. SARAN
Sejalan dengan simpulan di atas penulis merumuskan saran sebagai
berikut.
Mohammad, Dhairul Adam. (2012). “Tata Letak File Pada Linux”. Tersedia :
http://mohammadhairuladam.blogspot.co.id/2012/01/tata-letak-file-pada-
linux.html.[16 Juni 2016].
Wibowo, Arie Setio. “E-Book Tutorial Perintah Dasar Linux”. November 2008.
http://bukutux.rumahlinux.web.id.
https://ugos.ugm.ac.id/wiki/panduan:panduan_perintah_dasar_linux. Wikipedia,
Run Level, https://en.wikipedia.org/wiki/RunLevel