Sistem Operasi UNIX
1
1 PENDAHULUAN
•
Pengembangan dari sistem operasi MULTICS (MULTIplexed Information and Computing Service)
•
Nama awalnya adalah UNICS (UNiplex Information and Computing Service) dan dikenal dengan UNIX
•
UNIX versi 1 dibuat dengan bahasa Assembly tahun 1969
•
UNIX sempat dibuat dengan Bahasa B namun masih lemah strukturnya
•
Tahun 1973, Ken Thompson dan Dennis Ritchie menulis ulang UNIX versi 4 dengan bahasa C
•
UNIX versi 5 dikembangkan tahun 1974
•
UNIX versi 6 dikembangkan tahun 1976
•
UNIX versi 7 dikembangkan tahun 1978
•
Kembarannya BSD (Barkeley Software Distribution) dikembangkan University of California Barkeley, oleh Bill Joy pada tahun 1980
•
Kembarannya XENIX dikembangkan SCO (Santa Cruz Operation) bersama Microsoft tahun 1981
•
UNIX berbasis GUI (Graphical User Interface) adalah OSF/MOTIF dikembangkan oleh OSF (Open Software Foundation) dan OPEN LOOK dikembangkan oleh UI (Unix Internasional)
•
Linux sebuah system operasi yang dikembangkan mulai tahun 1991, Linux adalah kernel yang dibuat oleh Linus Torvald mahasiswa University of Helsinki, Finlandia.
•
Sistem operasi berbasis UNIX diantaranya No
Nama
Vendor
No
Nama
Vendor
1
AIX
IBM
27
Mxelos
Perkin-Elmer
2
A/UX
Apple(Macintosh)
28
NDIX
Norsk Data
3
BSD
University of California
29
NetBSD
UC Berkeley/the Net
4
CLIX
Fairchild
30
OSF/1
Open Software Foundation
5
Coherent
Mark William Company
31
OSx
Pyramid
6
Concentrix
Alliant
32
PC/IX
Interactive System Corporation
7
CTIX
Convergent Technology
33
Primix
Prime
8
DG/UX
Data General
34
Scenix
Scientific Computer Systems
9
Distrix
Convergent Technology
35
SCO UNIX
SCO
10
Digital Unix Tru64
36
SINIX
Siemens
11
Domain/X
Data General
37
Solaris
SUNSOFT
12
Dynix
Sequent
38
SunOS
Sun Microsystems
Leslie Spits Warnars, SKom
Sistem Operasi UNIX
2
13
DVIX
Nothern Telecom
39
System V/AT
Microport
14
Eunice
The Wollongong Group
40
TOS
Nixdorf
15
FreeBSD
UC Berkeley/the Net
41
UCOS
Honeywell-Bull
16
Genix
National Semiconductor
42
Ultrix
DEC
17
GNU
Free Software Foundation
43
UniCOS
Cray Research
18
HP/UX
Hawlett-Packard
44
UNIX
AT&T, SCO, Sun Microsystem
19
IDRIS
Whitesmiths
45
UnixWare
Novell
20
INIX
Compugraphics
46
UNOS
Charles River Data System, Inc
21
Irix
SGI
47
UTek
Textronix
22
Linux
Linus Torvald/the Net
48
UTS
Amdahl & Fujitsu
23
Mach
Carnegie Mellon University
49
UTX/32
Gould
24
Minix
Prof. Andre Tanenbaum
50
VENIX
VenturCom, Inc
25
MPX
Phillips
51
XENIX
SCO / Microsoft
26
MS-UX
NEC
52
XINU
Doug Comer
BSD families
FreeBSD, NetBSD, OpenBSD, BSDi
Linux families
RedHat, SuSe, Caldera, Corel Linux, Slackware, Debian, Mandrake, Turbolinux, DosLinux,
1.1 Karakteristik sistem operasi UNIX. Sistem operasi UNIX mempunyai beberapa karakteristik, antara lain : 1. Portabel (mudah dipindahkan ke berbagai komputer). UNIX merupakan sistem operasi yang dapat diterapkan pada berbagai jenis komputer, dari PC hingga Mainframe, yang tidak bergantung pada hardware 2. Multitasking/multiprocessing. Sistem operasi UNIX memungkinkan pemakai untuk melaksanakan lebih dari satu program pada saat yang bersamaan. 3. Multiuser. Sistem operasi UNIX memungkinkan sejumlah pemakai menggunakan sebuah computer/disk/printer pada saat yang bersamaan dan berbagi data. 4. Sekuriti (keamanan). Sistem operasi UNIX menerapkan sekuriti secara berjenjang (pemakai, grup, pemakai lain/owner, group, other). 5. Komunikasi. Sistem operasi UNIX menyediakan fasilitas untuk berkomunikasi. 1.2. Program di UNIX A. Sistem UNIX dasar Terbagi menjadi 3 bagian program, yaitu: 1) Utilitas ( tool atau utility) Program bantu yang tersedia pada system unix diluar shell untuk melakukan tugas tertentu Leslie Spits Warnars, SKom
Sistem Operasi UNIX Program
3 Fungsi
bc Operasi aritmatika cal Menampilkan kalender cat Menampilkan isi dokumen cp Menyalin file cut Mengambil bagian tertentu dari teks date menampilkan tanggal &jam kalkulator grep Mencari suatu kata atau string pada file teks mail Electronic mail mv Mengubah nama file/direktori rm Menghapus file sort Mengurutkan data teks tr Mengkonversi karakter uniq Memperoleh data yang unik vi Mengedit/membuat file teks wc Menghitung jumlah baris, kata, karakter file teks who Pemakai yang menggunakan system Ada juga program aplikasi yang dibuat pemakai dengan sejumlah utilitas, shell atau dengan bahasa pemrograman seperti C, COBOL. 2) Shell - Membaca perintah yang diberikan pemakai dan menterjemahkan perintah (command interpreter) sebagai permintaan dan meneruskannya ke kernel, macam shell Nama Program Prompt Nama Lengkap Pembuat bash $ Bourne Again Shell Brian Fox csh % C Shell Bill Joy ksh $ Korn Shell David Korn sh $ Bourne Shell Stephen R. Bourne tcsh > Tenex C Shell Ken Greer, Paul Placeway Zsh $ dan lain-lain - Pemrograman shell sering digunakan oleh para administrator sistem dan pembangun sistem, antara lain digunakan untuk : •
instalasi, reinstalasi, dan deinstalasi perangkat lunak
•
menu navigator
•
pemrosesan banyak berkas
•
pengelola administrasi pemakai dan file
•
pengendali piranti-piranti yang digunakan.
- Shell yang sedang dipakai dapat dketahui dengan utilitas ps $ ps PID TTY
-
TIME CMD
25873 pts/1
00:00:00 bash
25953 pts/1
00:00:00 ps
berpindah ke shell lain tanpa menutup shell sebelumnya dengan mengetikkan singkatan shellnya (berpindah dari shell parent ke shell child) spits@penyamun:~$ ksh u@h:w$
- Bila kita berikan perintah ps, maka akan terlihat shell ps aktif u@h:w$ ps Leslie Spits Warnars, SKom
Sistem Operasi UNIX PID TTY
4 TIME CMD
26047 pts/1
00:00:00 bash
26062 pts/1
00:00:00 ksh
26063 pts/1
00:00:00 ps
- untuk keluar dari shell sebelumnya dengan perintah exit u@h:w$ exit spits@penyamun:~$ - Bila kita berikan perintah ps, maka akan terlihat shell ps aktif spits@penyamun:~$ ps PID TTY
TIME CMD
26047 pts/1
00:00:00 bash
26062 pts/1
00:00:00 ps
- Bila ingin pindah ke shell lain dengan mengganti shell yang aktif spits@penyamun:~$ ps PID TTY
TIME CMD
26047 pts/1
00:00:00 bash
26062 pts/1
00:00:00 ps
spits@penyamun:~$ exec tcsh > - Bila kita berikan perintah ps, maka akan terlihat shell ps aktif > ps PID TTY
-
TIME CMD
26101 pts/1
00:00:00 tcsh
26123 pts/1
00:00:00 ps
Skrip shell Dikatakan sebagai bahasa pemrograman berasas tinggi Dibuat dengan teks editor atau dengan perintah teks lainnya spits@penyamun:~$ cat>dodol # Ini untuk komentar dalam skrip shell date
spits@penyamun:~$ dodol bash: ./dodol: Permission denied spits@penyamun:~$ ksh dodol
bisa juga dengan shell lain
Sat Mar 8 13:17:11 JAVT 2003 Untuk pemanggilan skrip shell tanpa diawali dengan shell hak execute diatur dulu spits@penyamun:~$ chmod +x dodol spits@penyamun:~$ dodol Sat Mar 8 13:22:27 JAVT 2003 3) Kernel, inti system UNIX Leslie Spits Warnars, SKom
Sistem Operasi UNIX 5 Mengelola system file yang bila di UNIX disebut UNIX Native, pada DOS disebut FAT 16, Windows 9x disebut FAT 16/32. Windows NT disebut NTFS Mempunyai tugas: - Pelayanan tanggal dan jam sistem - Mengendalikan akses terhadap komputer - Mengatur memori komputer - Memelihara sistem file - Mengalokasi sumber daya komputer diantara pemakai - menampilkan tulisan ke layar - membaca data dari disk B. Produk pihak ketiga - Manajemen database -> ORACLE, INGRES, INFORMICS-SQL - Pengolah kata
-> Fenix
- Kompiler program
-> Pascal, Basic, Cobol, 4GL
1.3. Memulai UNIX •
Masuk ke sistem UNIX - Pengisian login atau password, membedakan huruf besar dan huruf kecil login : Password : spits@penyamun:~$ bash spits@penyamun:~$ csh % ksh u@h:w$ sh spits@penyamun:~$ tcsh >
•
Memasang atau mengubah pasword $ passwd
•
Keluar dari sistem UNIX - Ctrl-D - logout - exit
•
Membersihkan layar:
•
Menampilkan tulisan: echo pada shell ksh (korn shell ) dengan print
clear
$ echo HALO HALO $ echo $HOME /home/spits $ echo $TERM Berisi nama tipe terminal, seperti ansi, vt100,vt220 • Menampilkan direktori kerja: pwd $ pwd Leslie Spits Warnars, SKom
Sistem Operasi UNIX /home/spits •
6
Menampilkan tanggal dan jam sistem: date Format untuk perintah date %a %A %b %B %c %d %D %h %j %m %U %w %W %x %y %Y %T %r %H %M %S Contoh:
Nama hari singkat (Sun – Sat) Nama hari lengkap (Sunday – Saturday) Nama bulan singkatan (Jan .. Dec) Nama bulan lengkap (January .. December) Tanggal dan waktu lengkap Tanggal (01..31) Tanggal dengan format MM/DD/YY Nama bulan (Jan - Dec) Jumlah hari dalam setahun (001 – 366) Kode bulan (01 - 12) Posisi minggu dalam tahun (00 .. 53) Kode hari seminggu (minggu=0, senin=1, dan seterusnya) Posisi minggu dalam tahun (00 .. 53) Tanggal dengan format MM/DD/YY Dua digit terakhir dari tahun (00 - 99) Empat digit tahun Jam dengan format HH:MM:SS Jam dengan format HH:MM:SS (AM/PM) Jam (00 - 23) Menit (00 - 59) Detik (00 - 59) $ date Thu Jul 2 11:55:30
JAVT 1998
$ date + %y 98 $ date “+ TANGGAL : %d - %m - %y” TANGGAL : 02-07-98 •
Menampilkan informasi pemakai sistem : who $ who am I spits
•
tty1
Menampilkan tanggal : $ cal 7 1998 July 1998 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 27 28 29 30 31 $ cal 2003
Leslie Spits Warnars, SKom
Jul 2 09:45 cal
Sistem Operasi UNIX
7
2 File & Direktori
/ usr sbin
dev bin
sbin
...
bin
...
home
etc
spits
welly
...
dokumen
program
gambar: Sistem file UNIX /
-> root directory
usr
-> berisi perintah UNIX dan file administrasi sistem
bin
-> berisi file-file utilitas yang digunakan untuk menjalankan program
dev
-> berisi file-file piranti milik sistem (file floppy disk, harddisk, card lan) (penamaan untuk suatu device berbeda antar system operasi UNIX )
etc
-> berisi file-file administrasi sistem
2.1. File & direktori •
Ada 3 buah jenis file, yaitu:
A. File biasa (ordinary file / regular file) - File biasa untuk menyimpan dokumen, program ataupun data - Ada 2 macam file biasa : 1) File teks (text file) File biasa yang berisi kode ASCII yang dapat ditampilkan di layar monitor 2) File biner (binary file) File biasa yang berisi kode mesin B. Direktori File yang berisi daftar file (file biasa atau subdirektori) C. File special - File yang menyatakan piranti fisik seperti disk, floppy, printer, dll. - Ada 2 macam file special 1) Block special device (block device) Cth: harddisk yang menangani data per blok 2) Character special file (character file) Cth: keyboard yang menangani data per karakter •
Syarat penamaan direktori dan file
Leslie Spits Warnars, SKom
Sistem Operasi UNIX
8
Tidak boleh diawali angka Maksimal 14 karakter Huruf kecil dan besar dibedakan Karakter yang tidak diperbolehkan: / ? @ # $ ^ & * ( ) ` [ ] \ | ; ‘ “ < > .. spasi tab backspace •
Izin akses file
Ada 3 kelas yang berhak mengakses sebuah file A. Owner (user) B. Group C. Other (selain owner dan group) Setiap file atau direktori mempunyai 3 jenis model akses, yaitu A. Read (membaca ) B. Write (memodifikasi, menciptakan atau menghapus) C. Execute (menjalankan / proses search pada direktori ) bentuk: rwx rwx rwx
r = read
x = execute
owner group other
w = write
- = tak ada izin
contoh: •
rwx rwx r--
Jenis informasi didalam direktori sesungguhnya ada 2 yaitu:
- Nomor inode atau link ( 2 byte) inode (information node) mengandung informasi * jenis file * ukuran dari file * lokasi data * identitas dari pemilik file dan group * hak akses * waktu file terakhir dimodifikasi * waktu file terakhir diakses * waktu terakhir inode dimodifikasi * jumlah link terhadap file - Nama file (umumnya 14 byte) •
Link: ln
- Adalah sebuah pointer dari sebuah file yang menunjuk ke inode - Ada 2 bentuk link: * hard link a) hanya untuk file biasa saja b) sebuah inode dapat dimiliki lebih dari sebuah file, yang memberikan beberapa nama terhadap file c) kegunaan link adalah agar suatu file dapat diacu dalam sejumlah direktori yang berbeda, sehingga data yang sama dapat digunakan sejumlah user d) Jika file asli dihapus, file link tidak terpengaruh, atau penghapusan salah satu file tidak menghapus file lainnya Leslie Spits Warnars, SKom
Sistem Operasi UNIX e) Perubahan pada salah satu file merubah file lainnya
9
$ ls -l latih1 -rw-r--r-- 1 spits $ cat latih1 STMIK BUDI LUHUR $ ln latih1 latih2 $ ls -l latih1 latih2 -rw-r--r-- 2 spits -rw-r--r-- 2 spits
users
17
Jul
users users
17 Jul 17 Jul
14
10:30 latih1
14 10:30 latih1 14 10:30 latih2
$ ls -i latih1 latih2 485471 latih1 485471 latih2 $ echo “---weleh-weleh---” >> latih1 $ cat latih1 STMIK BUDI LUHUR ---weleh-weleh--$ cat latih2 STMIK BUDI LUHUR ---weleh-weleh--* soft link ( symbolic link) a) dapat pada file atau direktori b) ditampakkan pada daftar direktori dengan bentuk: nama_alias -> nama_file_sesungguhnya c) symbolic link dan file asli tidak menunjuk ke inode yang sama d) jika file asli dihapus, file link akan kehilangan datanya dan file belum terhapus e) Perubahan pada salah satu file merubah file lainnya $ cat latih1 STMIK BUDI LUHUR $ ln -s latih1 dodol $ ls -l latih1 dodol -rw-r-- r-lrwxrwxrwx
1 spits 1 spits
users users
17 Jul 17 Jul
14 10:30 latih1 14 10:40 dodol -> latih1
nb: tipe file adalah l = symbolic link •
Melihat isi direktori: ls
option ls: -a -> daftar dari semua file, termasuk yang berawalan dengan dot (. ) -r -> daftar file yang diurutkan secara terbalik (descending) -F -> setiap nama direktori diakhiri tanda / setiap executable file diakhiri * setiap symbolic link diakhiri tanda @ -R -> daftar seluruh direktori yang disebutkan beserta semua anak-anaknya -s -> ukuran dinyatakan dalam satuan blok ( 1 blok = 512 byte) -i -> nomor inode akan ditampilkan -t -> urut berdasarkan waktu pemodifikasian file (yang paling baru ditampilkan pertama) -d -> hanya direktori akan ditampilkan -C -> daftar file ditampilkan kolom per kolom contoh:
$ ls
-> menampilkan isi direktori yang aktif
$ ls .. -> menampilkan isi direktori induk dari direktori aktif Leslie Spits Warnars, SKom
Sistem Operasi UNIX
10 $ ls / -> menampilkan isi direktori root $ ls -alr $ ls -lt $ ls -l -> menampilkan lengkap mengenai file atau direktori total blok (1 blok=512 byte) jumlah link nama owner nama group
total 4 drwxr-xr-x
2
spits
users
-rwx---rw-
1
spits
users
1024
Jun 20
78 Jul
12:09 spits/
14 10:30
keterangan: Tipe file dapat berupa: d = direktori - = ordinary file l = symbolic link b = block special file (jenis file piranti) c = character special file (jenis file piranti) s = semaphore p = FIFO (pipe) m = shared memory file Jumlah link: - Pada file menyatakan jumlah hard link - Pada direktori menyatakan jumlah anggota direktori • menciptakan direktori: mkdir
surat
nama file/direktori tgl akhir modifikasi ukuran file (byte) hak akses tipe file
$ mkdir latihan •
mengubah direktori kerja: cd $ cd ..
-> pindah ke direktori induk dari direktori aktif
$ cd .. /tomi -> pindah ke direktori setingkat
•
$ cd /
-> pindah ke root direktori
$ cd
-> pindah ke home direktori
$ cd latihan
-> pindah ke direktori latihan
Menghapus direktori : rmdir $ rmdir latihan
•
-> menghapus direktori latihan
Menampilkan isi file dan menciptakan file: cat option cat: -s -> tidak menampilkan pesan kesalahan bila file yang isinya akan ditampilkan tidak ada > -> menciptakan file contoh: $ cat -s file1 $ cat file1 file2 file3 $ cat > file1
Leslie Spits Warnars, SKom
Sistem Operasi UNIX Ini adalah contoh-contoh <enter>
11
membuat file <enter> •
•
Menyalin file: cp $ cp latih latih1
-> mengcopy file latih ke file latih1
$ cp latih dir
-> mengcopy file latih ke direktori dir
$ cp latih1 latih2 /home/spits/dir
-> mengcopy file latih1, latih2 ke direktori /home/spits/dir
Menghapus file: rm option rm : - i -> meminta konfirmasi user sebelum file dihapus - r -> menghapus direktori beserta isinya (baik file maupun direktori) - f -> apabila file yang akan dihapus tidak ada, tidak menampilkan pesan kesalahan $ rm -i latih -> menghapus file latih
•
$ rm latih1 latih2
-> menghapus file latih1 dan latih2
$ rm -r dir/dir1
-> menghapus direktori dir1 beserta isinya yang berada dibawah direktori dir
Mengganti nama file/direktori dan memindah file ke direktori lain: mv $ mv latih1 latih2
-> mengganti nama file latih1 menjadi latih2
$ mv dir1 dir2
-> mengganti nama direktori dir1 menjadi dir2
$ mv latih1 latih2 /home/spits/dir1 -> memindah file latih1, latih2 di direktori kerja ke direktori dir1 •
Mencari file: find bentuk:
find
namapath
-> berisi nama path untuk memulai pencarian file
ekspresi
-> ada 2 macam:
namapath
ekspresi
1) Bagian kriteria pencarian - mtime
-> pencarian berdasarkan waktu modifikasi file tanda plus (+) berarti lebih dari tanda minus (-) berarti kurang dari
- name
-> pencarian untuk mencari nama file tertentu
- size
-> mencari file dengan ukuran tertentu tanda plus (+) berarti ukuran file > nilai yang diberikan tanda minus (-) berarti ukuran file < nilai yang diberikan
- perm onum - type tipefile
-> mencari file yang cocok dengan hak akses bernilai bilangan oktal -> mencari file yang sesuai dengan tipe file b = block special file
c = character special file
d = directory
l = symbolic link
p = FIFO
f = ordinary file
- newer file
-> mencari file yang lebih baru dibandingkan file
- user uname
-> mencari file yang dimiliki oleh login uname
- group gname
-> mencari file yang dimiliki oleh group gname
- nouser
-> mencari file yang tidak dimiliki user manapun
Leslie Spits Warnars, SKom
Sistem Operasi UNIX
12 - nogroup
-> mencari file yang groupnya tidak terdaftar
2) Bagian tindakan - print
-> menampilkan letak suatu file
- exec perintah
-> eksekusi perintah untuk masing-masing file yang cocok dengan kriteria pencarian
- ok perintah
-> sama dengan eksekusi, tetapi dengan konfirmasi user
Contoh: $ find / -name stdio.h -print -> mencari file stdio.h mulai dari root direktori (/) $ find /usr ! -name *.h -print -> mencari seluruh file yang tidak berakhiran h mulai dari /usr $ find . -size +10 -print
-> mencari seluruh file mulai dari direktori kerja yang berukuran lebih dari 10 blok
$ find . -size 10 -print
-> mencari seluruh file mulai dari direktori kerja yg berukuran 10 blok
$ find . -size -200c -print
-> mencari seluruh file mulai dari direktori kerja yang berukuran kurang dari 200 byte
$ find . -mtime -2 -print
-> mencari seluruh file mulai dari direktori kerja yang modifikasinya kurang dari 2 hari yang lalu
$ find -name *.c -size -10
-> mencari semua file mulai dari direktori kerja yang nama filenya berakhiran c dan berukuran kurang dari 10 blok
$ find -name *.c -o -size -10 -print -> mencari semua file mulai dari direktori kerja yang nama filenya berakhiran c atau berukuran kurang dari 10 blok $ find . -type f -ok ls -l { } \; •
-> menampilkan file bertype f dieksekusi dengan format ls -l
Mengubah model akses dan kepemilikan file atau direktori: - chmod ( change mode) bentuk:
(1) chmod mode [file|dir] (2) chmod [ugoa] {+|-|=} [rwx|ugo][file|dir]... tipe pemakai
operator
jenis izin
u User(owner)
- Menghapus iain
r Read
g Group
+ Menambah izin
w Write
o Other
= Penugasan izin
x Execute
a semua atau (ugo) - chown (change owner) - chgrp (change group) $ ls -l latih1 -rw-r--r-1 spits $ cat latih1 STMIK BUDI LUHUR $chmod g+w latih1
users
17
Jul
14
10:30
latih1
-> tambahkan hak write(w) pada group (g)
$ ls -l latih1 -rw-rw-r-1 spits $ chmod 640 latih1 Leslie Spits Warnars, SKom
users 17 Jul 14 10:30 latih1 -> mode berupa 3 digit kode oktal untuk menyatakan hak akses
Sistem Operasi UNIX Owner Group Other
13
rw- r- - - - 110 100 000 6
4
0
-> bilangan biner -> bilangan oktal
$ chmod u-x hasil1
-> menghapus hak execute bagi owner untuk file hasil1
$ chmod go+rw hasil1 -> menambah hak read dan write pada file hasil1 bagi group dan other $ chmod a=r hasil1
-> menambah hak read pada semua tipe pemakai (owner, group, atau other)
$ chmod +r hasil1
-> menambah hak read pada semua tipe pemakai (owner, group, atau other)
$ chmod g+w,o-r hasil1 $ ls -l latih1 -rw-rw-r-1 spits $ chgrp root latih1
users
17
Jul
14
10:30 latih1
root
17
Jul
14
10:30 latih1
$ ls -l latih1 -rw-rw-r-1 spits $ chown deny latih1 2.2. Perintah lainnya •
Metacharacter *
-> pencocokan dengan sederetan karakter
?
-> pencocokan dengan sebuah karakter
[
-> awal dari sebuah kelas karakter
]
-> akhir dari sebuah kelas karakter
-
-> menyatakan jangkauan karakter dalam sebuah kelas
!
-> digunakan dalam tanda [ ] untuk menytakan tidak
contoh: dan*
-> menyatakan semua yang diawali dengan dan dan diikuti sembarang karakter
dan?
-> menyatakan semua yang diawali dengan dan dan diikuti sebuah karakter saja
P*.c
-> menyatakan semua yang diawali P dan berakhiran c
P??i
->menyatakan semua yang diawali P dan diikuti 2 buah karakter apa saja, kemudian I
bar[aut]
->menyatakan diawali bar diikuti dengan sebuah karakter a, u atau t
bar[A-Z]
->menyatakan diawali bar diikuti dengan sebuah karakter huruf besar
[A-Za-z][!1-9] ->menyatakan diawali sebuah huruf dan tidak diikuti dengan sebuah digit dari 1-9 •
Pemisah antar perintah :
;
spits@penyamun:~$ pwd ; ls /home/spits dodil.txt dodol.ksh email.asp joni.asp maildir soal dodol •
dodol.txt gambar
mail
Redirection
Pada UNIX ada 3 buah file standar, yaitu: Leslie Spits Warnars, SKom
mbox
Sistem Operasi UNIX - standard input (stdin)
14 -> keyboard
- standard output (stdout) -> layar monitor - standard error (stderr) -> layar monitor ♦ Output redirection Pengalihan arah keluaran ke layar monitor dialihkan ke file > -> membuat file baru, bila nama file sudah ada, maka akan dihapus >> -> membuat file baru, jika nama file sudah ada, maka akan ditambahkan $ who > siapa $ cat siapa $ pwd >> siapa $ cat siapa $ set –o noclobber $ pwd>siapa bash: siapa: cannot overwrite existing file $ pwd >| siapa $ set +o noclobber ♦ Input redirection
Set agar pengalihan > ditolak
Memaksa agar bisa membuat file Set agar pengalihan > dinormalkan kembali
Pengalihan arah masukan dari keyboard dialihkan ke file $ cat kali 4*8 $ bc < kali 32 $ bc < kali >hasil $ bc kali ♦ Error redirection Pengalihan arah keluaran ke layar monitor dialihkan ke file $ ls -l latih1 > catat 2>salah1
->bila ada kesalahan ditampung ke file salah1
nb: angka 0 adalah kode descriptor dari standard input angka 1 adalah kode descriptor dari standard output angka 2 adalah kode descriptor dari standard error angka 3 - 9 adalah kode descriptor dari file yang dibuka dengan perintah exec ♦ Gabungan Stderr ke Stdout 2>&1
-> untuk Bourne & Korn shell
>& atau >&1 -> untuk c shell $ ls -l latih1 > catat 2>&1
-> bila ada kesalahan ditampung ke file catat juga
$ csh % ls -l latih1 >&1 catat •
-> bila ada kesalahan ditampung ke file catat juga
Pipa : mengarahkan keluaran dari suatu perintah ke perintah lain $ ls -l /etc > a
-> membuat file a dengan isi hasil perintah ls -l
$ more a
-> menampilkan isi file per layar a
$ ls -l | more
-> menampilkan hasil perintah ls -l per layar (gabungan 2 perintah diatas)
$ ls -l | tee b
-> menampilkan hasil perintah ls -l ke layar dan menyimpan ke file b
tee -> perintah untuk membaca data dari stdin dan mengirim keluaran ke file yang dikehendaki dan menampilkannya juga ke stdout •
Filter : membaca data dari stdin, dimanipulasi dan dilepaskan ke stdout
Leslie Spits Warnars, SKom
Sistem Operasi UNIX Perintah yang berfungsi sebagai filter, diantaranya: - cat -> menampilkan isi file - wc -> penghitung kata, baris, karakter - sort -> pengurut data Perintah wc option: -l -> menampilkan jumlah baris saja -w -> menampilkan jumlah kata saja -c -> menampilkan jumlah karakter saja $ wc STMIK BUDI LUHUR 1 3 17 • Subtitusi perintah
15 - tail -> penampil bagian akhir dari suatu data - head -> penampil bagian depan dari suatu data - grep -> pencari pola tertentu
Melekatkan hasil suatu perintah pada perintah lain, dengan memberikan backquote (`) bukan kutip (‘ )
•
$ echo “DIREKTORI KERJA ANDA : `pwd` “ DIREKTORI KERJA ANDA : /home/spits $ echo “JUMLAH LOGIN : `who | wc -l` ORANG” JUMLAH LOGIN : 3 ORANG Pengelompokkan perintah Digunakan simbol ( ) diproses oleh subshell Digunakan simbol { } diproses oleh shell utama $ ( ls -l /bin; who) | wc -l
-> wc -l menghitung jumlah baris keluaran perintah ls -l dan who
$ ls -l /bin; who
-> wc -l menghitung jumlah baris keluaran who saja
| wc -l
Diproses subshell
•
$ pwd $ pwd /home/spits /home/spits $ { cd /bin ; pwd } $ (cd /bin ; pwd ) /bin /bin $ pwd /bin$ pwd /home/spits /bin Eksekusi dengan kondisi && (dan) dan || (atau)
p1 && p2 p1 || p2 contoh:
•
Diproses shell
-> p1 dan p2 hanya akan dijalankan jika p1 berhasil dilaksanakan -> p2 hanya akan dijalankan jika p1 tidak berhasil dilaksanakan
$ ls latih1 && echo FILE ADA latih1 FILE ADA
$ ls file1 && echo FILE ADA file1: No such file or directory
$ ls latih1 || echo FILE ADA latih1
$ ls file1 || echo FILE TIDAK ADA file1: No such file or directory FILE TIDAK ADA
Tput Perintah untuk pengaturan layar, mengatur tulisan beberapa option perintah tput Option bel blink bold clea cols cup r c
Fungsi membunyikan bel tulisan menjadi berkedip tulisan menjadi berintensitas terang menghapus layer menampilkan jumlah kolom dari layar menempatkan kursor ke baris r dan kolom c (baris dan kolom dimulai dari 0)
Leslie Spits Warnars, SKom
Sistem Operasi UNIX dim ed el line smso rmso smul rmul sgr0 contoh:
tulisan menjadi berintensitas rendah (lebih gelap dari intensitas normal) menghapus mulai posisi kursor sampai akhir layar menghapus mulai posisi kursor menampilkan jumlah baris layar menyetal atribut video terbalik dari video terbalik kembali ke normal menyetel atribut garis bawah akhir dari atribut garis bawah atribut normal $ tput blink $ cat menu tput clear tput blink; tput bold tput cup 10 10; echo “MENU UTAMA tput sgr0 $ sh menu
Leslie Spits Warnars, SKom
16
Sistem Operasi UNIX
17
3 Teks Editor
•
Editor merupakan utility untuk menciptakan file, sekaligus memodifikasi suatu file
•
Ada 2 macam editor
- line editor
: cth: ed, ex
- screen editor : cth: vi, pico 3.1. Membuat file baru dengan editor Vi langkah-langkah : 2) ketikkan i untuk mode insert
1) $ vi file-vi1 - disebut mode perintah ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ “file-vi1” [New File]
- disebut mode penyisipan Ini adalah contoh membuat ketikan di editor VI ~ ~ ~ -- INSERT -- Ketikkan kalimat yang ada didalam kotak diatas - Bila selesai tekan tombol Esc - ketikkan : x dan tekan tombol enter untuk kembali ke prompt UNIX
3.2. Keluar dari vi •
Proses keluar dari editor vi ke prompt UNIX harus berada pada mode perintah
•
Bila berada pada mode penyisipan, tekanlah tombol Esc untuk ke mode perintah
•
Ada 4 macam perintah untuk keluar dari editor vi 1) :wq
-> keluar dari editor vi dan menyimpan teks
2) :x
-> keluar dari editor vi dan menyimpan teks
2) ZZ
-> keluar dari editor vi dan menyimpan teks
3) :q!
-> keluar dari editor vi , tetapi tidak menyimpan teks
Leslie Spits Warnars, SKom
Sistem Operasi UNIX
18
3.3. Kursor editor Vi •
Digunakan arah panah sesuai dengan arah panahnya
•
Pada mode perintah : h -> kursor ke kiri, l -> kursor ke kanan
•
•
•
j -> kursor ke bawah k -> kursor ke atas
Menggerakkan kursor per kata : (digunakan pada mode perintah) w
-> memindahkan kursor ke awal kata berikutnya
e
-> memindahkan kursor ke akhir kata berikutnya
b
-> memindahkan kursor ke awal kata sebelumnya
Menggerakkan kursor ke awal dan akhir baris: (digunakan pada mode perintah) ^
-> kursor ke awal baris (bukan spasi, tab)
0
-> kursor ke awal baris (termasuk spasi, tab)
$
-> kursor ke akhir baris (termasuk spasi, tab)
|
-> kursor ke awal baris (termasuk spasi, tab)
n|
-> kursor ke kolom n
Lain-lainnya: (digunakan pada mode perintah) H
-> kursor ke karakter pertama dari baris pertama dalam satu layar
M
-> kursor ke karakter pertama dari baris pertengahan dalam satu layar
L
-> kursor ke karakter pertama dari baris terakhir dalam satu layar
-
-> kursor ke karakter non-spasi pertama pada baris sebelumnya dari posisi kursor aktif
Enter -> kursor ke karakter non-spasi pertama pada baris berikutnya (
-> kursor ke awal kalimat sebelumnya
)
-> kursor ke awal kalimat berikutnya
{
-> kursor ke awal paragraph sebelumnya
}
-> kursor ke awal paragraph berikutnya
n <arah panah>
-> berpindah sejumlah n sesuai arah panah yang ditekan
nG
-> berpindah pada baris ke -n
G
-> berpindah pada baris terakhir
$G
-> berpindah pada baris terakhir
3.4. Menggerakkan layar dengan editor Vi Ctrl e
-> Layar bergerak naik 1 baris
Ctrl y
-> Layar bergerak turun 1 baris
Ctrl u
-> Tampilan bergerak turun setengah layar
Ctrl d
-> Tampilan bergerak naik setengah layar
Ctrl b
-> Tampilan bergerak turun satu layar penuh
Ctrl f
-> Tampilan bergerak naik satu layar penuh
Page Up
-> Tampilan bergerak turun satu layar penuh
Page Down
-> Tampilan bergerak naik satu layar penuh
Leslie Spits Warnars, SKom
Sistem Operasi UNIX
19
3.5. Menyunting teks dengan editor Vi •
Menyisipkan teks
a
-> Menyisipkan teks pada posisi sesudah kursor pada baris aktif di mode perintah
i
-> Menyisipkan teks pada posisi kursor pada baris aktif di mode perintah
A -> Menyisipkan teks pada kolom terakhir pada baris aktif di mode perintah atau I
$a
-> Menyisipkan teks pada kolom terakhir pada baris aktif di mode perintah
-> Menyisipkan teks pada kolom pertama pada baris aktif di mode perintah atau
^i
-> Menyisipkan teks pada kolom pertama pada baris aktif di mode perintah
o -> Menyisipkan baris kosong sesudah baris pada posisi kursor O -> Menyisipkan baris ksong sebelum baris pada posisi kursor •
Pengulangan teks 2isaya <Esc> -> mencetak kata saya sebanyak 2 kali 50i- <Esc>
-> mencetak karakter ‘ - ‘ sebanyak 50 kali
•
Pembatalan perintah : u atau U
•
Menghapus teks x
-> Menghapus 1 karakter pada posisi kursor
atau
nx
-> Menghapus n karakter mulai pada posisi kursor
X
-> Menghapus 1 karakter pada posisi sebelum kursor
nX
-> Menghapus n karakter pada posisi sebelum kursor
dd
-> Menghapus 1 baris pada posisi kursor, dan baris dibawahnya bergeser keatas
d <Enter>
-> Menghapus 2 baris mulai posisi kursor, dan baris dibawahnya bergeser keatas
ndd
-> Menghapus n baris pada posisi kursor, dan baris dibawahnya bergeser keatas atau
•
-> Menghapus 1 karakter pada posisi kursor
dnd -> Menghapus n baris pada posisi kursor, & baris dibawahnya bergeser keatas
dw
-> Menghapus per kata mulai posisi kursor sampai akhir kata
dW
-> Menghapus per kata mulai posisi kursor sampai akhir kata
db
-> Menghapus per kata mulai posisi kursor ke kata di sebelah kiri
dB
-> Menghapus per kata mulai posisi kursor ke kata di sebelah kiri
d$
-> Menghapus dari posisi kursor hingga akhir baris
D
-> Menghapus dari posisi kursor hingga akhir baris
d)
-> Menghapus dari posisi kursor hingga akhir kalimat
d(
-> Menghapus dari posisi kursor hingga awal kalimat
d}
-> Menghapus dari posisi kursor hingga akhir paragraph
d{
-> Menghapus dari posisi kursor hingga awal paragraph
Mengganti teks r
-> Mengganti sebuah karakter pada posisi kursor
R
-> Mengganti sebuah karakter pada posisi kursor dan akan berhenti bila ditekan tombol Esc
r <Enter> -> Berpindah ke baris berikutnya untuk sebagian baris dan hapus satu karakter posisi kursor R <Enter>
-> Berpindah ke baris berikutnya untuk sebagian/seluruh baris
n r kar
-> Mengganti n karakter dengan karakter kar mulai dari posisi kursor
Leslie Spits Warnars, SKom
Sistem Operasi UNIX 20 s -> Menghapus sebuah karakter pada posisi kursor dan akan berhenti bila ditekan tombol Esc xi
•
-> Menghapus sebuah karakter pada posisi kursor dan akan berhenti bila ditekan tombol Esc
S
-> Menghapus baris pada posisi kursor dan akan berhenti bila ditekan tombol Esc
cw
-> Menghapus 1 kata dan mengganti mulai posisi kursor sampai ditekan tombol Esc
cW
-> Menghapus 1 kata dan mengganti mulai posisi kursor sampai ditekan tombol Esc
cb
-> Menghapus 1 kata sebelum posisi kursor dan mengganti sampai ditekan tombol Esc
cB
-> Menghapus 1 kata sebelum posisi kursor dan mengganti sampai ditekan tombol Esc
cc
-> Menghapus 1 baris pada posisi kursor dan mengganti sampai ditekan tombol Esc
c$
-> Menghapus mulai dari posisi kursor sampai akhir baris
C
-> Menghapus mulai dari posisi kursor sampai akhir baris
c)
-> Menghapus mulai dari posisi kursor hingga akhir kalimat
c(
-> Menghapus mulai dari posisi kursor hingga awal kalimat
c}
-> Menghapus mulai dari posisi kursor hingga akhir paragraph
c{
-> Menghapus mulai dari posisi kursor hingga awal paragraph
Konversi huruf kecil ke besar dan sebaliknya: ~ ~
-> Mengkonversi sebuah huruf pada posisi kursor
n~
-> Mengkonversi n huruf mulai dari posisi kursor
3.6. Lainnya •
Menampilkan baris status:
•
Menjalankan perintah sistem:
•
Ctrl G : ! perintah <ENTER>
contoh:
:! pwd <ENTER>
!! perintah
-> hasil perintah akan menimpa teks pada baris kursor
Mencari string: /string <ENTER>
-> Mencari string dengan posisi maju
?string <ENTER>
-> Mencari string dengan posisi mundur
n
-> Mencari string berikutnya dengan arah yang sama dengan perintah / atau ?
N
-> Mencari string berikutnya dengan arah yang berlawanan dengan perintah / atau ?
/ <ENTER>
-> Mencari string berikutnya dengan posisi maju
? <ENTER>
-> Mencari string berikutnya dengan posisi mundur
karakter khusus pada pencarian string: Perintah ^ $ . \> \< []
Keterangan Awal baris Akhir baris Sembarang 1 karakter Cocok dengan bagian akhir kata Cocok dengan bagian awal kata Cocok dengan karakter yang ada pada tanda tersebut Contoh: /stmik -> mencari string stmik /^ stmik
-> mencari string stmik yang letaknya di awal baris
/ stmik $
-> mencari string stmik yang letaknya di akhir baris
Leslie Spits Warnars, SKom
Sistem Operasi UNIX / \<stmik
21 -> mencari kata yang berawalan string stmik
/ stmik \>
-> mencari kata yang berakhiran string stmik
/ \<stmik\>
-> mencari kata stmik
/s..k
-> mencari string diawali huruf s, diikuti 2 karakter apa saja, dan diikuti dengan huruf k
/ s [aiu]
contoh: soak, skak, sloki, slokan, dll
-> mencari string berisi sa, si, su
Pencarian membedakan huruf besar dan kecil :
•
: set ignorecase
-> Proses pencarian huruf besar sama dengan huruf kecil
: set noignorecase
-> Proses pencarian huruf besar dibedakan dengan huruf kecil
Mencari dan mengganti string : bentuk:
: [alamat] s/ string_yang_dicari / string_pengganti [/g]
/g -> Penggantian string dilakukan lebih dari satu pada sebuah baris [alamat] Spesifikasi 1 baris Sejumlah baris Dari awal penampung sampai baris posisi kursor Baris posisi kursor sampai akhir penampung Semua baris Baris posisi kursor sampai n baris berikutnya Baris ke-n sebelum posisi kursor Baris ke-n sesudah posisi kursor contoh: sebuah kalimat
•
Contoh 17 12,48 1, .
Hasil Baris 17 Baris 12 sampai 48 Baris 1 sampai baris posisi kursor
.,$ 1, $ % . ,+2
Baris posisi kursor sampai baris terakhir seluruh baris seluruh baris Baris posisi kursor dan 2 baris berikutnya Baris kedua sebelum posisi kursor Baris ketiga sesudah posisi kursor
-2 +3 --> hai kamu sudah hai
1,$s/hai/hallo
-> hasil : hallo kamu sudah hai
%s/hai/hallo/g
-> hasil : hallo kamu sudah hallo
cut:
mengcopy suatu kalimat ke penampung serba guna
yw
-> mengcopy dari posisi kursor sampai akhir kata ke penampung
yW
-> mengcopy dari posisi kursor sampai akhir kata berikut spasi ke penampung
yb
-> mengcopy dari posisi kursor ke kiri sampai awal kata ke penampung
yB
-> mengcopy dari posisi kursor ke kiri sampai awal kata berikut spasi ke penampung
y <Enter>
-> mengcopy 2 baris, dari baris posisi kursor dan baris berikutnya ke penampung
yy
-> mengcopy baris posisi kursor ke penampung
n yy
-> mengcopy n baris mulai posisi kursor ke penampung
y0
-> mengcopy dari posisi kursor ke kiri sampai awal baris ke penampung
Y
-> mengcopy dari posisi kursor sampai akhir baris ke penampung
y)
-> mengcopy dari posisi kursor sampai akhir kalimat ke penampung
y(
-> mengcopy dari posisi kursor ke kiri sampai awal kalimat ke penampung
y}
-> mengcopy dari posisi kursor sampai akhir paragraph ke penampung
y{
-> mengcopy dari posisi kursor ke kiri sampai awal paragraph ke penampung
penghapusan dengan perintah d juga menyimpan hasil penghapusan ke penampung serba guna Leslie Spits Warnars, SKom
Sistem Operasi UNIX •
•
22
paste: mengambil data dari penampung serba guna hasil perintah cut p
-> menyisipkan isi penampung serba guna pada baris berikutnya setelah posisi kursor
P
-> menyisipkan isi penampung serba guna pada baris posisi kursor
Memberi nama penampung “a2yy -> meyimpan 2 baris mulai posisi kursor ke penampung a “ap
•
-> menampilkan isi penampung a ke penampung kerja
Penampung bernomor - Penghapusan teks diletakkan pada suatu tumpukan penampung dengan nomor 1 sampai 9 - Teks yang terakhir dihapus menempati penampung bernomor 1 sekaligus penampung serba guna (0) - Teks yang dihapus sebelum yang terakhir digeser ke penampung bernomor 2 dan seterusnya - Untuk menampilkannya : “ 1p
•
Memisah baris:
i <ENTER>
•
Menggabungkan baris:
J
•
Menggeser baris :
•
<<
-> menggeser isi baris ke kiri sepanjang 8 karakter spasi (1 tab)
n <<
-> menggeser n isi baris ke kiri sepanjang 8 karakter spasi (1 tab)
>>
-> menggeser isi baris ke kanan sepanjang 8 karakter spasi (1 tab)
n >>
-> menggeser isi baris ke kanan sepanjang 8 karakter spasi (1 tab)
Menulis isi penampung ke file bentuk: !
: [alamat] w [!] [namafile]
-> digunakan untuk memaksa
contoh:
: 1,4w filea
-> menyimpan baris 1 sampai 4 pada penampung kerja ke file filea
: 5,9w >> filea -> menambah filea dengan baris 5 sampai 9 pada penampung kerja •
Menyisipkan isi file ke penampung: : r namafile :r ! perintah <ENTER> -> menyisipkan hasil dari suatu perintah sistem ke baris sesudah posisi kursor contoh:
•
:r !date
Menyunting file lain Langkah-langkahnya: 1) :w
-> menyimpan isi penampung kerja ke file
2) :e namafile •
-> mengedit file namafile
Menyunting sejumlah file: vi file1, file2, file3
-> menyunting file file1, file2 dan file3
vi file*
-> menyunting semua file yang berawan file
perintah sistem yang dibutuhkan: :w
-> menyimpan ke file kerja aktif dan tetap pada file tersebut
:n
-> berpindah ke file berikutnya
:n!
-> berpindah ke file berikutnya tanpa menyimpan perubahan yang terjadi pada file
:rew
-> mundur ke file pertama yang telah dipanggil
:rewind
-> mundur ke file pertama yang telah dipanggil
: q! -> keluar dari vi sementara masih ada file yang belum dimuat pada penampung kerja Leslie Spits Warnars, SKom
Sistem Operasi UNIX
23
•
Menampilkan nomor baris:
:set number
•
Menyembunyikan nomor baris:
:set nonumber
•
Margin kanan editor:
:set wm=nilai
•
nilai
-> batas kanan pengetikan sama dengan 80 - nilai
:set wm=60
-> batas kanan pengetikan adalah 20 (80-60)
:set wm=0
-> menormalkan batas pengetikan adalah 80 (80-0)
Penyelamatan saat sistem crash (gangguan) : $ vi -r nama_file $ vi -L
•
-> menampilkan file-file penampung pada saat terjadi crash (gangguan)
Menuliskan karakter kontrol: - diproses pada mode penyisipan dengan menekan tombol i - tekan Ctrl-V dan tekan Ctrl-G untuk membunyikan bel
•
Beberapa option vi vi + namafile
-> memanggil file, dan jendela layar berisi bagian akhir dari file
vi +n namafile
-> memanggil file, dan pada jendela layar kursor aktif pada awal baris ke-n
vi +/string namafile -> memanggil file, dan kursor aktif pada awal baris yang berisi string 3.7. Editor pico pico dibuat oleh University of Washington, Editor ini mirip dengan editor WS. Pada bagian bawah layar, terdapat menu editing : 1.
^G
Get Help
Untuk menampilkan perintah-perintah yang ada pada pico.
2.
^X
Exit
Keluar dari Pico dan kembali ke shell
3.
^O
Write Out
Menyimpan naskah.
4.
^J
Justify
Untuk merapikan paragraf.
5.
^R
Read File
Untuk membaca file.
6.
^W
Where Is
Untuk mencari string.
7.
^Y
Prev Page
Untuk memindahkan kursor ke halaman sebelumnya.
8.
^V
Next Page
Untuk memindahkan kursor ke halaman sesudahnya.
9.
^K
Cut Text
Untuk menghapus satu baris.
10.
^U
Uncut Text
Untuk mengembalikan baris yang terhapus
11.
^C
Cursor Position
Menampilkan informasi posisi kursor.
12.
^T
To Spell
Memeriksa ejaan.
Leslie Spits Warnars, SKom
Sistem Operasi UNIX
24
Utilitas ARITMATIKA 4 wk •
Ada 3 buah utilitas yaitu:
- expr - bc - dc 4.1. expr •
Untuk melakukan perhitungan bilangan bulat
•
Dapat juga untuk melakukan pembandingan pada bilangan maupun string
•
Penulisan antara operand dan operator harus dipisahkan minimal sebuah spasi
•
Operator aritmatika: Operator
Keterangan \( \) Tanda kurung \* Perkalian / Pembagian % Sisa pembagian + Penjumlahan Pengurangan $ expr 5 + 7 12 $ expr 5 / 2 2
contoh:
$ cat kali x=5 expr $x + 2
$ expr 20 + 3 \* 2 26 $ expr \( 20 + 3 \) \* 2 46
-> tanda $ di depan variabel x menyatakan “isi variabel x”
$ sh kali 7 Operator pembanding:
•
- memberikan nilai 0 jika ekspresi bernilai salah atau nilai 1 jika ekspresi bernilai benar Operator Keterangan = Sama dengan != Tidak sama dengan \> Lebih besar dari \< Lebih kecil dari \>= Lebih besar dari atau sama dengan \<= Lebih kecil dari atau sama dengan \| -> operator OR memberikan nilai dari operand I jika operand I tidak bernilai 0 atau kosong (untuk string) memberikan nilai dari operand II jika operand I bernilai 0 atau kosong (untuk string) \&
:
-> operator AND memberikan nilai dari operand I jika kedua operand tidak bernilai 0 atau kosong (untuk string) memberikan nilai 0 atau kosong jika salah satu operand bernilai 0 atau kosong (untuk string) -> operator MATCH mencocokkan string operand kedua terhadap string operand pertama, pencocokkan dimulai dari
Leslie Spits Warnars, SKom
Sistem Operasi UNIX karakter pertama. Hasil berupa jumlah karakter yang cocok simbol \( dan \) dapat dipakai pada operand kedua dari operator : contoh:
$ expr 2 \> 1 1 $ expr 1 \> 2 0 $ expr “amir” \> “ali” 0
25
$ expr “kadir” : “kad” 3 $ expr “kadir” : “dir” 0 $ expr “kadir” : “.*i” 4 $ expr “kadir” : “k.*d” 3 $ expr “kadir” : “.*” 5
$ expr 2 \| 5 2 $ expr 0 \| 5 5 $ expr “” \| “amir” amir
$ expr “kadir” : “\(kad\)” kad $ expr “kadir” : “\(kad\)i” kad $ expr “kadir” : “\(kad\)t” $ expr “kadir” : “\(.* \)i” kad
•
$ expr 5 \& 7 5 $ expr 5 \& 0 0 $ expr “” \& “amir” $ expr “udin” \& “amir” udin Urutan prioritas operator
•
Operator Prioritas \( \) Tertinggi \| \& = \< \<= \> \>= != +\* / % : Terendah Perintah expr untuk menghitung panjang suatu string ditambahkan perintah:
length
contoh: •
$ expr length “STMIK BUDI LUHUR” 16 Perintah expr untuk memperoleh posisi suatu karakter pada suatu string ditambahkan perintah: index
contoh:
•
$ expr index “STMIK BUDI LUHUR” IAaL 4 $ expr index “STMIK BUDI LUHUR” “ieE” 0 Perintah expr untuk mendapatkan subtsring dalam suatu string ditambahkan perintah:
contoh:
$ expr substr “STMIK BUDI LUHUR” 7 4 BUDI
substr
-> posisi ke 7 sebanyak 4 karakter
4.2. bc •
Utilitas yang berupa interpreter yang membantu perhitungan aritmatika baik bilangan bulat maupun pecahan
•
Penulisan seperti pada text editor, operand dan operator ditulis begitu tekan ENTER akan menampilkan hasil
•
Pemakaian nama variabel hanya diperkenankan memakai huruf kecil
•
Untuk keluar dari bc digunakan perintah:
Leslie Spits Warnars, SKom
quit
Sistem Operasi UNIX •
26
Operator aritmatika: Operator (
)
* ^ / % + ++ -contoh:
`
Keterangan Tanda kurung Perkalian Pangkat Pembagian Sisa pembagian Penjumlahan Pengurangan Penaikan variabel sebesar 1 Penurunan variabel sebesar 1 $ bc 300+400 <enter> 700 2.4 ^ 2 <enter> 5.7 20+3*2 <enter> 26 (20+3) *2 <enter> 46 quit <enter>
$ bc x=12 x 12 x++ 12 x 13 --x 12 quit
<enter> <enter> <enter>
-> x=x+1
<enter> <enter>
-> x=x-1
<enter>
•
bc menyediakan fasilitas untuk mengatur basis bilangan guna konversi antar bilangan, yaitu: ibase -> menyatakan basis bilangan dari masukan obase -> menyatakan basis bilangan hasil perhitungan contoh: $ bc <enter> $ bc <enter> $ bc <enter> obase=16 <enter> ibase=16 <enter> ibase=8 <enter> 255 <enter> FF <enter> ibase=16 <enter> FF 255 20 <enter> quit <enter> quit <enter> 10 quit <enter> • Untuk mendapatkan akar dari suatu bilangan: sqrt ( ) •
Untuk mendapatkan jumlah digit dari suatu bilangan:
length ( )
•
Untuk mendapatkan nilai skala dari suatu bilangan:
scale ( )
•
Untuk mengatur jumlah digit pecahan hasil operasi aritmatika digunakan perintah:
scale
- Nilai default = 0, dan nilai yang dapat diberikan berkisar 0 - 99 contoh:
•
$ bc 1/3 0 scale 0 scale=3 1/3 .333 quit
<enter> <enter>
$ bc <enter> sqrt(8) <enter> 2 <enter> scale=2 <enter> sqrt(8) <enter> <enter> 2.82 <enter> length(31.11)<enter> 4 <enter> scale(12.456)<enter> 3 quit <enter> Apabila pada saat pemanggilan utilitas bc ini disertai option -l ( bc -l), maka sejumlah fungsi
aritmatika dibawah ini dapat digunakan:
Leslie Spits Warnars, SKom
s(x)
-> fungsi untuk mencari nilai Sinus
c(x)
-> fungsi untuk mencari nilai Cosinus
e(x)
-> fungsi untuk mencari nilai eksponensial
l(x)
-> fungsi untuk mencari nilai logaritma
Sistem Operasi UNIX
27 a(x)
-> fungsi untuk mencari nilai arctangent
j(n,x) -> fungsi untuk bessel 4.3. dc •
Operasi aritmatika pada dc menggunakan notasi ‘reverse polish’
contoh:
•
$ dc <enter> 2 3+ps <enter> 5 23+ps <enter> 26 2 3*ps <enter> 6 23*ps <enter> 46 2 3* 4+ps <enter> 10 2 3^ps <enter> 8 4 2/ps <enter> 2 2 4 -ps <enter> -2 quit <enter> untuk keluar dari dc digunakan perintah:
Leslie Spits Warnars, SKom
-> artinya 2 + 3 -> artinya 23 + 3 ->artinya 2 * 3 ->artinya 23 * 2 ->artinya 2 * 3 + 4 ->artinya 2 ^ 3 ->artinya 4 / 2 ->artinya 2 - 4 quit
Sistem Operasi UNIX
28
5 Utilitas TEKS wk 5.1. more •
Menampilkan isi file per layar
•
Beberapa tombol yang dapat digunakan sewaktu muncul pesan --More-- yaitu: Enter -> menggeser 1 baris keatas Spasi -> berpindah ke layar berikutnya q
-> keluar dari more
contoh:
$ more filea $ ls -l | more
-> digunakan pada proses pemipaan
5.2. head •
Mendapatkan sejumlah baris (default baris = 10) yang merupakan bagian awal dari suatu file
•
bentuk:
head [-jumlah] [namafile ... ]
contoh:
$ head -6 filea $ head filea > baru
5.3. tail •
Mendapatkan sejumlah baris (default baris = 10) yang merupakan bagian akhir dari suatu file
•
bentuk:
tail [-jumlah] [namafile ... ]
contoh:
$ tail -6 filea $ tail filea > baru $ tail +6 filea $ tail +18c filea
-> mulai dari baris ke 6 pada filea -> mulai dari karakter ke 18 pada filea
5.4. cmp •
Membandingkan isi dari 2 buah file secara byte per byte, terutama file biner
•
bentuk:
cmp [option] file1 file2
contoh:
$ cmp filea fileb filea fileb differ : char 87, line 11 -> perbedaan pada baris 11 karakter ke 87 $ cmp filea filec -> tidak ada keluaran berarti tidak ada perbedaan $ cmp -l filea fileb 6 144 141 -> karakter ke -6 filea = karakter oktal 144 dan 7 141 154 dan fileb = karakter oktal 141
5.5. diff •
Membandingkan isi dari 2 buah file teks baris demi baris
•
bentuk:
diff [option] file1 file2
contoh:
$ diff filea fileb
Leslie Spits Warnars, SKom
Sistem Operasi UNIX
29
5.6. diff3 •
Membandingkan isi dari 3 buah file teks baris demi baris
•
bentuk:
diff3 [option] file1 file2 file3
Jika terdapat perbedaan, diff3 akan menampilkan salah 1 tanda berikut: ====
ketiga file berbeda
====1
hanya file1 yang berbeda
====2
hanya file2 yang berbeda
====3
hanya file3 yang berbeda
contoh:
$ diff3 filea fileb filec
5.7. comm •
Menampilkan perbedaan atau persamaan baris 2 buah file
•
bentuk:
comm [ -123] file1 file2
- Jika tanpa option, laporan dihasilkan dalam bentuk 3 kolom: kolom pertama menyatakan isi baris yang terdapat pada file1 kolom kedua menyatakan isi baris yang terdapat pada file2 kolom ketiga menyatakan isi baris yang terdapat pada file1 dan file2 contoh:
$ comm filea fileb $ comm -23 filea fileb $ comm -1 filea fileb
-> berarti hanya kolom 1 yang ditampilkan -> berarti hanya kolom 2 dan 3 yang ditampilkan
5.8. Mencari suatu string pada file •
Ada 3 macam, yaitu:
1) grep-> mencari suatu pola string secara global dengan melibatkan regular expression bentuk:
grep [option] regular_expression [file...]
-b: menampilkan jumlah blok sebelum baris yang ditampilkan -c :menampilkan jumlah baris yang cocok dengan regular expression -h :nama file tidak ikut ditampilkan -i :mengabaikan huruf kecil dan kapital -l :menampilkan nama file dari pola yang dicari -n :menyertakan nomor baris dari baris yang cocok dengan target -s :pesan kesalahan tidak ikut ditampilkan jika file tidak ada atau tak dapat dibaca -v :menampilkan sebuah baris yang tidak cocok dengan regular expression contoh: $grep ‘stmik’ filea $grep “^[aj]” filea > filebaru $grep “stmik” * -> pencarian string stmik pada seluruh file $grep “\ .” filea -> mencari karakter titik pada filea 2)fgrep-> mencari beberapa string tanpa didukung pemakaian regular expression (memori paling sedikit) bentuk:
fgrep [option] [file...]
-x
:menampilkan baris yang keseluruhan isinya persis dengan string yang dicari
-e string_khusus
:mencari string berawalan karakter -
contoh:
$fgrep ‘s’ filea $fgrep ‘stmik <enter> $cat jap astri <enter> stmik stie’ filea <enter> astri $ fgrep - ‘jap’ filea 3)egrep-> mencari beberapa string dengan didukung pemakaian regular expression (kecepatan tertinggi) Leslie Spits Warnars, SKom
Sistem Operasi UNIX regular expresion tambahan Tanda + ? |
()
30
arti
Contoh ekspresi go+d
contoh yang cocok
cocok dengan 1 atau beberapa karakter didepan tanda + cocok dengan nol atau sejumlah karakter go?d yang terletak didepan tanda ? atau ya|yes penggolongan jo(han|jon)
god, good god, good, widagdo ya, yes johan, jojon
contoh:
•
$egrep ‘stmik|astri |stie’ filea $egrep -i ‘jo(han|jon)’ filea regular expresion simbol . * [] [ ^ ...] ^ $ \(expr\) \n
Arti Sembarang karakter tunggal Nol atau sejumlah karakter apa saja Sebuah karakter yang terletak didalam tanda [ ] Selain karakter yang terletak sesudah tanda ^ dan sebelum ] Terletak di awal baris Terletak di kahir baris cocok dengan ekspresi expr cocok dengan n ekspresi (n berupa bilangan bulat)
contoh:
•
^[a-jmz] stmik bu*a ^[^aj] stmik$ ^stmik$ [a-c][ei]k \(stmik\) \2 ^....$ ....$ Karakter khusus
-> baris yang diawali dengan a atau sampai dengan j,m atau z -> semua baris yang mengandung string stmik -> baris yang mengandung bu diikuti nol atau sembarang karakter dan diikuti a -> baris yang tidak diawali dengan a atau j -> baris yang diakhiri stmik ->baris yang hanya berisi stmik -> baris yang mengandung a,b atau c yang diikuti e atau i diakhiri karakter k -> baris yang mengandung string stmik 2 kali -> baris yang mengandung 4 karakter -> baris yang berakhir dengan kata yang mengandung 4 karakter
Karakter khusus seperti [ ] . * $ ? | ^ \ bila ingin dilibatkan untuk dicari pada suatu file maka penulisannya diawali dengan tanda \. contoh:
\[
\]
\.
\*
\$
\?
\|
\^
\\
5.9. sort •
Pengurutan didasarkan perbandingan karakter ASCII
•
bentuk:
sort [option] [file ...]
-o :menyimpan hasil sort ke suatu file -r :membalik sort menjadi urutan descending (defaultnya ascending /dari kecil ke besar) -u :menghasilkan keluaran unik, jika ada data yang sama, maka hanya 1 saja yang dipakai -c :mengecek suatu file sudah urut atau belum -d :sort hanya berdasarkan karakter huruf, digit, spasi dan tab -i :sort agar karakter ASCII yang tidak dapat ditampilkan di layar tidak dapat dipakai dalam perbandingan non-numerik (selain ASCII 32 -126) -m :menggabungkan beberapa file yang masing-masing telah diurutkan -n :sort berdasarkan nilai numerik contoh:
$ cat swhw Lotus 10 software
Leslie Spits Warnars, SKom
Sistem Operasi UNIX
31 Cobol 35 software Mouse 15 hardware Printer 25 hardware $ sort swhw Cobol 35 software Lotus 10 software Mouse 15 hardware Printer 25 hardware $ sort swhw >filebaru atau $ sort -o filebaru swhw $ sort -c swhw sort: disorder on swhw
-> hasil sort disimpan ke filebaru -> hasil sort disimpan ke filebaru -> isi file tidaklah urut
5.10. tr Fungsi : untuk mentransformasikan karakter Sintaks : tr [option] [string1 [string2] ] Argumen string1 berisi satu atau sejumlah karakter yang akan diterjemahkan menjadi karakter yang terdapat pada string2 yang letaknya bersesuaian Contoh : spits@penyamun:~$ cat dodol.txt date spits@penyamun:~$ tr "[a-z]" "[A-Z]" <dodol.txt> dodul spits@penyamun:~$ cat dodul DATE
Leslie Spits Warnars, SKom
Sistem Operasi UNIX
32
6 Pemrograman A w k
•
AWK merupakan utilitas/bahasa pemrograman program filter untuk memanipulasi file teks, diantaranya : - membuat suatu laporan - mencari suatu string dalam teks - mengambil bagian tertentu dari hasil suatu perintah sistem unix - Dapat membuat suatu program
•
AWK merupakan utilitas dengan kependekan dari nama-nama belakang penciptanya yaitu: Alfred V Aho, Peter J. Weinberger, Brian W. Kernighan
6.1. Pengenalan AWK •
Record
->Sebuah baris dari suatu masukan
•
Field
->Bagian-bagian pada record, antar field dipisahkan secara default berupa spasi/tab -> Field paling kiri disebut field 1. untuk menyatakan field ke-n ($n)
contoh:
$ date Sat Jul 18 10:28:39 JAVT 1998 $1 $2 $3
•
$4
$5
$0
$6
Menampilkan record atau field-field:
{print}
contoh:
•
$ date | awk ‘{print $4}’ 10:28:39 $ date | awk ‘{print $3,$2}’ 18 Jul $ date | awk ‘{print $2$3}’ Jul18 $ date | awk ‘{print “TANGGAL: “ $3, $2, “JAM: “ $4}’ TANGGAL: 18 Jul JAM: 10:28:39 $date |awk ' {print $0}' Thu Mar 13 14:36:17 JAVT 2003 Pemanggilan script awk:
bentuk:
1) awk ‘/…/ {print}’ file_masukan 2) awk -f file_script_awk file_masukan ...
Keterangan : ‘/…. /’
untuk mengapit string yang dijadikan kriteria pencarian
-f
bila menggunakan file script awk untuk file inputan
Leslie Spits Warnars, SKom
Sistem Operasi UNIX Contoh: $ cat beli apel 1 kg 10000 anggur 2 kg 30000 jeruk 1 kwintal 60000 $ awk ‘{print $1, $4}’ beli apel 10000 anggur 30000 jeruk 60000 $ awk ‘/kg/ {print $1, $2}’ beli apel 1 anggur 2 $ awk ‘$ >=30000’ beli
33 $ awk ‘{print}’ beli apel 1 kg 10000 anggur 2 kg 30000 jeruk 1 kwintal 60000 $ awk ‘/kg/’ beli apel 1 kg 10000 anggur 2 kg 30000 $ cat awk1 /kg/ {print} $ awk -f awk1 beli apel 1 kg 10000 anggur 2 kg 30000
anggur 2 kg 30000 jeruk 1 kwintal 60000 •
Pola BEGIN dan END
- BEGIN berguna untuk
->membuat judul & pemberian nilai awal terhadap variabel tertentu
-END berguna untuk
->menampilkan keterangn akhir laporan & membuat ringkasan laporan
contoh: $ cat awk2 BEGIN { print “DAFTAR PEMBELIAN: “ ; print “ “ print “Nama barang, Jumlah, Satuan, Harga” print “ “ } {print} END { print “ “ print “ *** AKHIR *** “ } •
Pengaturan format keluaran: printf
Hasil: $ awk -f awk2 beli DAFTAR PEMBELIAN: Nama barang, Jumlah, Satuan, Harga apel 1 kg 10000 anggur 2 kg 30000 jeruk 1 kwintal 60000 *** AKHIR ***
- Serupa dengan perintah printf pada bahasa C - string format:
contoh: %6d %6.2f %10s %-10s contoh:
%d %f %e %%
-> bilangan integer (bulat) %c -> bilangan pecahan %s -> Notasi scientific %o -> % %x ->bilangan bulat lebar 6 rata kanan ->bilangan pecahan lebar 6 dan pecahan 2 ->string tampil rata kanan ->string tampil rata kiri
$ cat awk3 BEGIN { print “DAFTAR PEMBELIAN: “ ; print”----------------------------------------------------” # 1 2 3 # 12345678901234567890123456789012345 print “Nama Barang Jumlah Satuan Harga” print”----------------------------------------------------” } {printf “%-11s %6d %-7s %5d \n”,$1,$2,$3,$4 total=total+$4 } END { print”----------------------------------------------------” Leslie Spits Warnars, SKom
-> karakter -> string -> octal -> Hexadesimal
Hasil: $ awk -f awk3 beli DAFTAR PEMBELIAN: --------------------------------------------Nama barang Jumlah Satuan Harga --------------------------------------------apel 1 kg 10000 anggur 2 kg 30000 jeruk 1 kwintal 60000 ---------------------------------------------*** AKHIR *** total = 91000
Sistem Operasi UNIX print “ *** AKHIR *** total =“ total •
Komentar:
•
Variabel
34 }
diawali simbol
#
Ada 2 macam variabel 1) Variabel bawaan, yang disediakan secara internal oleh AWK Variabel ARGC ARGV FILENAME NR FNR NF FS OFS RS ORS
Keterangan Jumlah argumen dari baris perintah Array dari argumen baris perintah Nama file yang sedang diproses Jumlah record dari awal hingga record yang diproses Jumlah record dari awal sebuah file hingga record yang sedang diproses pada file tsb Jumlah field dari record yang sedang diproses Karakter pemisah field dari data masukan (default spasi atau tab) Karakter pemisah field pada keluaran (default berupa spasi) Pemisah record masukan (default berupa newline) Pemisah record keluaran (default berupa newline)
2) Variabel buatan user - Variabel tidak perlu dideklarasikan - Nama variable tidak boleh diawali angka - Nama Variabel Karakter yang tidak diperbolehkan: / ? @ # $ ^ & * ( ) ` [ ] \ | ; ‘ “ < > .. spasi tab backspace - Panjang nama Variabel bebas - Mengakses variable dengan diawali tanda $ - Contoh:
$ a1= joni $ echo $a1 joni
$ a1=”Joni Dodol” $ echo $a1 Joni Dodol
$ a1=345 $ echo $a1 345
contoh: $ cat stmik 11:Teknik Informatika 22:Manajemen Informatika 33:Teknik Komputer 44:Akuntansi Komputer $ cat awk4 BEGIN { FS=“:” ; OFS=“=“ } {print $1,$2} $ awk -f awk4 stmik 11=Teknik Informatika 22=Manajemen Informatika 33=Teknik Komputer 44=Akuntansi Komputer $ awk ‘{print NR “.”,$0}’ stmik 1. 11:Teknik Informatika 2. 22:Manajemen Informatika 3. 33:Teknik Komputer 4. 44:Akuntansi Komputer $ awk ‘NR == 3’ stmik 33:Teknik Komputer Leslie Spits Warnars, SKom
$ cat awk5 BEGIN { FS=“:” ; ORS=“-“ } {print $1} $ awk -f awk5 stmik 11-22-33-44 -$ $ cat total.awk BEGIN{ total=0 } {total=total+$4} END { print “TOTAL = “ total } $ awk -f total.awk beli TOTAL = 100000
Sistem Operasi UNIX
35
•
Operasi aritmatika:
•
Operator Keterangan + Penjumlahan Pengurangan * Perkalian / Pembagian % Sisa pembagian ^ Pangkat ** Pangkat Operasi banding:
a++ a--
->a=a+1 ->a=a-1
c += x c -= x c /= x c %=x
->c=c+x ->c=c-x ->c=c/x ->c=c%x
Operator Keterangan == Sama dengan != Tidak sama dengan > Lebih besar dari < Lebih kecil dari >= Lebih besar dari atau sama dengan <= Lebih kecil dari atau sama dengan contoh: $ awk ‘NR<3’ stmik 11:Teknik Informatika 22:Manajemen Informatika • Operator logika: &&, || dan ! contoh: $ awk ‘NR>1 && NR<4’ stmik 22:Manajemen Informatika 33:Teknik Komputer •
Regular Expression Adalah istilah untuk suatu pola yang mengandung karakter biasa maupun khusus Elemen c \c . ^ $ [] [^ ] | + ? * (ex)
Arti cocok dengan sembarang karakter c cocok dengan karakter special \c cocok dengan sembarang karakter kecuali newline cocok dengan awal string cocok dengan akhir string cocok dengan salah satu karakter yang berada dalam [ ] cocok dengan selain salah satu karakter yang berada dalam [ ] sesudah ^ cocok dengan regular expression yang terletak di kiri dan di kanan | cocok dengan satu atau beberapa karakter yang terletak didepan tanda + cocok dengan satu atau nol buah karakter yang terletak didepan tanda ? cocok dengan beberapa atau nol buah karakter yang terletak di depan tanda * cocok dengan regular expression ex
Operator pencocokan regular expression Operator Keterangan ~ Cocok dengan regular expression !~ Tidak Cocok dengan regular expression contoh: ti -> semua string yang mengandung ‘ti’ \t
-> semua string yang mengandung karakter tab (\t)
[ue]
-> semua string yang mengandung huruf u atau e
^A
-> string yang diawali huruf A
^[AS] -> string yang diawali huruf A atau S di$
-> string yang diakhiri dengan huruf ‘di’
Leslie Spits Warnars, SKom
Sistem Operasi UNIX a..i -> string diawali huruf a, diikuti 2 karakter apa saja, dan diakhiri huruf I ai|au
36
-> string yang mengandung kata ‘ai’ atau ‘au’
a(i|u) -> string yang mengandung kata ‘ai’ atau ‘au’ $ awk ‘/I$/’ stmik $ awk ‘/^A/’ stmik $ awk -F: ‘$2 ~ /^(Ab|Su)/’ stmik -> tampilkan record dengan field kedua yang berawalan ‘Ab’ atau ‘Su’ $ awk -F: ‘$2 !~ /^(Ab|Su)/’ stmik -> tampilkan record dgn field kedua yg tidak berawalan ‘Ab’ atau ‘Su’ option -F: -> diberikan karena pemisah field berupa titik dua •
Pernyataan if bentuk:
•
if (ungkapan) pernyataan_1
[ else pernyataan2 ]
$ cat xy.awk { if (NF= =2) # NF = jumlah field dalam 1 record print “BARIS “, NR, “:”, “X =“, $1, “Y =“, $2,”,”, $1*$2 else print “BARIS “, NR, “:”, “Diabaikan......” } $ cat xy.dat $ awk -f xy.awk xy.dat 1 5.1 BARIS 1 : X = 1 Y = 5.1, 5.1 2 3 4 BARIS 2 : Diabaikan....... 5.3 6 BARIS 3 : X = 5.3 Y = 6, 31.8 1 1 BARIS 4 : X = 1 Y = 1, 1 Pengulangan BARIS 5 : Diabaikan….. ♦ while bentuk:
while (ungkapan) pernyataan
$ cat while.awk { jum = 0; i =1 while (i<=NF) { jum + = $i; i++ } print “JUMLAH BARIS ke “, NR, “:”, jum } ♦ for bentuk:
for (ungkapan1; ungkapan2, ungkapan3) pernyataan
$ cat for.awk { jum = 0 for (i=1; i<=NF; i++) jum + = $i print “JUMLAH BARIS ke “, NR, “:”, jum } ♦ do-while bentuk:
$ awk -f while.awk xy.dat JUMLAH BARIS 1 : 6.1 JUMLAH BARIS 2 : 9 JUMLAH BARIS 3 : 11.3 JUMLAH BARIS 4 : 2
$ awk -f for.awk xy.dat JUMLAH BARIS 1 : 6.1 JUMLAH BARIS 2 : 9 JUMLAH BARIS 3 : 11.3 JUMLAH BARIS 4 : 2
do pernyataan while (ungkapan)
$ cat while.awk { jum = 0; i =1 do { jum + = $i; i++ } while (i<=NF) print “JUMLAH BARIS ke “, NR, “:”, jum } while (true) { }
Leslie Spits Warnars, SKom
$ awk -f do.awk xy.dat JUMLAH BARIS 1 : 6.1 JUMLAH BARIS 2 : 9 JUMLAH BARIS 3 : 11.3 JUMLAH BARIS 4 : 2
Sistem Operasi UNIX •
37
break Pernyataan yang menyebabkan proses pada while, for atau do-while berakhir
•
Continue Pernyataan yang menyebabkan proses pada while, for atau do-while berulang kembali ke awal mulainya perulangan dengan mengabaikan statemen-statemen berikutnya setelah statemen continue
•
Exit Keluar dari awk
•
Next Mengabaikan proses sekarang dan memaksa untuk membaca data berikutnya
•
Array dimensi 1 - Suatu variabel yg mengandung sejumlah data sejenis, masing-masing elemen diakses melalui indeks - Indeks dapat berupa bilangan atau string, contoh: a[1], a[2], jum[“software”], jum[“hardware”] $ cat swhw $ awk -f array.awk swhw Fortran 10 software software = 45 Cobol 35 software hardware = 40 Mouse 15 hardware Printer 25 hardware $ cat array.awk { jum[$3] + = $2} END{ for(jenis in jum) # for (variabel in nama_array) print jenis, “=“, jum[jenis] } - pada AWK array hanya bersifat 1 dimensi, meskipun demikian array multi dimensi dapat dibuat array 2 dimensi $ cat statistik 1990 30 103 73 1991 102 234 198 1992 200 302 404 $ cat array2.awk #masukkan data kedalam array 2 dimensi { tahun=$1 for(kuartal=1; kuartal
}
print “Tahun “, tahun, “kuartal :”, kuartal, “peserta =“, jumpes[tahun, kuartal ]
Leslie Spits Warnars, SKom
$ awk -f array2.awk statistik Tahun 1990 kuartal : 1 peserta = 30 Tahun 1990 kuartal : 2 peserta = 103 Tahun 1990 kuartal : 3 peserta = 73 Tahun 1991 kuartal : 1 peserta = 102 Tahun 1991 kuartal : 2 peserta = 234 Tahun 1991 kuartal : 3 peserta = 198 Tahun 1992 kuartal : 1 peserta = 200 Tahun 1992 kuartal : 2 peserta = 302 Tahun 1992 kuartal : 3 peserta = 404
Sistem Operasi UNIX •
38
Fungsi
bentuk:
nama_fungsi (parameter)
♦ Fungsi aritmatika Nama fungsi atan2(y,x) cos(x) exp(x) int(x) log(x) rand() sin(x) sqrt(x) srand() ♦ Fungsi string Nama fungsi gsub(r,s,t)
Hasil (nilai balik) Arctangent dari y/x dalam kawasan pi sampai -pi Cosinus dari x. Argumen x dalam radians Eksponensial dari x(ex) Bilangan bulat dari x Logaritma alam dari x (basis e) Bilangan acak yang nilainya < 1dan >= 0 Sinus dari x Akar kuadrat dari x Bilangan acak
Keterangan Seluruh string t yang sesuai dengan string r akan diganti string s apabila parameter tidak dipakai, string $0 yang dipakai hasil fungsi berupa jumlah subtitusi yang dilakukan index(s,t) Memberikan hasil berupa posisi pertama string s pada string t jika string s tidak terdapat pada string t, hasilnya 0 length(s) Memberikan hasil berupa panjang string s jika parameter s tidak digunakan $0 yang digunakan match(s,r) Memberikan hasil berupa posisi pada string s, jika r terpenuhi pada string s jika tidak hasilnya 0 split(s,a,f) Memecah string s ke array a dengan pemisah berupa f , nilai balik berupa jumlah elemen array a. Bila parameter f tidak disertakan, nilai variabel FS yg dipakai sebagai pemisah sprintf(format, expr..) Menghasilkan keluaran dari expr yang telah diformat parameter format identik dengan perintah printf, hanya saja ditampung ke suatu variabel sub(r,s,t) Sama dengan gsub, bedanya jika dalam string t terdapat beberapa bagian r maka hanya bagian yang pertama yang disubtitusi substr(s,p) Memberikan seluruh karakter string s mulai posisi ke- p substr(s,p,n) Memberikan seluruh karakter string s mulai posisi ke- p sebanyak n karakter tolower(s) Mengkonversi string s ke huruf kecil toupper(s) Mengkonversi string s ke huruf besar contoh: $ awk ‘{ print toupper($0) }’ swhw $ cat split.awk FORTRAN 10 SOFTWARE BEGIN{ kal=“UNIX adalah sistem operasi” COBOL 35 SOFTWARE jumkata = split(kal, kata) MOUSE 15 HARDWARE for (i=1; i<=jumkata; i++) PRINTER 25 HARDWARE print i “.”, kata[ i ] $ awk ‘{ print substr($3,1,4) }’ swhw exit #keluar, tanpa membaca data } soft $ awk -f split.awk soft 1. UNIX hard 2. adalah hard 3. sistem 4. operasi $ awk ‘{ sub(“o”,”O”); print $0}’ swhw $ awk ‘{ gsub(“o”,”O”); print $0}’ swhw FOrtran 10 software FOrtran 10 sOftware CObol 35 software CObOl 35 sOftware MOuse 15 hardware MOuse 15 hardware Printer 25 hardware Printer 25 hardware Leslie Spits Warnars, SKom
Sistem Operasi UNIX
39
♦ Fungsi lain - system() berguna menjalankan perintah UNIX dengan bentuk system (baris_perintah) - getline berguna untuk membaca record selanjutnya, fungsi memberikan nilai balik 1 kalau record berhasil dibaca atau 0 kalau sudah akhir file dan -1 bila error contoh:
$ cat rununix.awk BEGIN{ printf “PERINTAH > “ } { system{$0} printf “perintah > “ } $ awk -f rununix.awk PERINTAH > echo HALO <enter> HALO perintah > date <enter> Sat Jul 25 11:12:46 JAVT 1998 perintah > ♦ Fungsi buatan user bentuk:
$ cat getline.awk { printf “%-20s”, $0 getline printf “%-20s\n”, $0 } $ awk -f getline.awk swhw Lotus 10 software Cobol 35 software Mouse 15 hardware Printer 25 hardware
function nama(parameter, ...) {pernyataan}
- pernyataan adalah bagian yang akan dijalankan ketika nama fungsi dipanggil - semua parameter akan dilewatkan ke dalam fungsi sebagai nilai (antar parameter dipisah spasi) - nilai balik fungsi diatur melalui pernyataan return (bentuk: contoh:
•
return ekspresi)
$ cat min.awk BEGIN{ print “NILAI1 NILAI2 TERKECIL”} { printf “%6.2f %6.2f %6.2f\n”, $3,$4, min($3,$4) } function min(bil1,bil2) { if(bil1
$ awk -f min.awk statistik NILAI1 NILAI2 TERKECIL 103.00 73.00 73.00 234.00 198.00 198.00 302.00 404.00 302.00
Redirection
Hasil dari AWK dapat dikirimkan ke suatu file melalui output redirection contoh: $ awk -f min.awk statistik >weleh -> disimpan ke file weleh • Piping Hasil dari AWK dapat menjadi masukan bagi program lain melalui pipa contoh: $ awk -f min.awk statistik | tee weleh
Leslie Spits Warnars, SKom
-> ditampilkan dan disimpan ke file weleh
Sistem Operasi UNIX
40
7 Utilitas Sistem wk 7.1. logname •
Menampilkan nama user (nama login) contoh:
$ logname spits
7.2. id •
Menampilkan nama user (nama login) beserta uid (user ID) dan nama group beserta gid (group ID)
contoh:
$ id uid=1002(spits) gid=100(users) groups=100(users) nama login -> spits dengan identitas 1002 nama group -> users dengan identitas 100
7.3. tty •
Menampilkan nama piranti terminal
contoh:
$ tty /de/tty1
7.4. uname •
Menampilkan informasi mengenai sistem UNIX yang dipakai
•
bentuk:
uname [option]
contoh: $ uname $ uname -s Linux Linux $ uname -m -> nama mesin $ uname -n -> nama node I586 bl $ uname -r -> release sistem operasi $ uname -v -> versi sistem operasi dan waktu 2.0.30 #2 Sat Jul 18 17:45:14 JAVT 1998 $ uname -a Linux bl 2.0.3.0 #2 Sat Jul 18 17:45:14 JAVT 1998 I586 unknown 7.5. df •
Menampilkan ruang di disk yang tersisa
contoh: 7.6. finger •
$ df
Filesystem /dev/hda1
1024-blocks 1969644
Used Available Capacity 166381 1701457 9%
Mounted on /
Menampilkan informasi mengenai pemakai lokal maupun pemakai dari host lain
contoh:
$ finger Login Name bros Broso saputro spits Spits Warnars
Leslie Spits Warnars, SKom
Tty 2 1
Idle 35
Login Time Jul 29 19:57 Jul 30 08:37
Office Puslahta Puslahta
Office Phone 585-3753 585-3753
Sistem Operasi UNIX
41
7.7. du •
Menampilkan informasi pemakaian disk pada suatu direktori beserta direktorinya dalam satuan blok
contoh:
$ du 14 ./omo 3 ./iyung/coba/lagi 13 ./iyung 6 ./iyung/coba
$ du -s 156 $ du -a
-> total seluruh pemakaian -> ukuran blok semua file
7.8. su •
Perintah untuk menjadi superuser atau user lain secara sementara, tanpa logout
contoh:
$ id spits $ su bros Password
7.9. ulimit •
Perintah untuk memperoleh ukuran file maksimal yang boleh diciptakan user dalam satuan blok (=512 byte)
contoh:
$ ulimit 1048576
7.10. at Fungsi : menjadwalkan shell script yang ditentukan oleh “namafile” untuk berjalan pada hari dan waktu tertentu. Bila hari tidak ditentukan, shell script dijalankan pada periode berikut yang waktunya sesuai dengan waktu yang ditentukan. Waktu ditentukan dalam jam atau dalam jam dan menit. Bila tidak ada file shell script yang ditentukan, at mengambil perintah shell dari masukan standard dan mengerjakan pada waktu yang ditentukan. Sintaks : at -q queue time at -l at -r job-ids batch Contoh : $ at 4am tomorrow < doit Program ini menjalankan perintah yang ditemukan dalam file doit tomorrow at 4:00am. $ at noon < doit Program ini menjalankan perintah yang ditemukan dalam file doit saat tengah hari. $ at -f doit 11am Aug 15 Program ini menjalankan perintah yang ditemukan dalam file doit pada bulan Agustus tanggal 15 pada pukul 11:00 siang. 7.11. banner Fungsi : untuk menampilkan tulisan dengan ukuran besar. Sintaks : banner [-w [n]] strings -w n untuk mengubah ukuran tulisan maksimal 132 kolom. Leslie Spits Warnars, SKom
Sistem Operasi UNIX Contoh :
42
$ banner SELAMAT BELAJAR LINUX
7.12. batch Fungsi : untuk mengirimkan suatu job ke sistem dan sistem akan mengeluarkannya belakangan, pada saat beban sistem tidak berat. Sintaks : batch Contoh : $ batch <enter> date > du.batch <enter> du / >> du.batch date >> du.batch <enter> ^d job 745214268. B at Fri Aug 13 10:57:48 WIB 1993 7.13. env Fungsi : mengubah environment untuk eksekusi perintah tanpa mempengaruhi current environment. Dapat juga digunakan untuk men-display (menampilkan) current environment. Sintaks : env [-] [-i] [-u name] [name=value] [command] Pilihan
Keterangan
-
membatasi environment hanya untuk mereka yang terdaftar name=value
-u name
memindahkan nama variabel dari environment jika sudah berada dalam environment untuk memulai
name=value
membolehkan anda untuk melewati environment variables untuk perintah yang menspesifikasi value dari variabel untuk perintah eksekusi. Anda boleh melewati multiple variable sederhana yang mengikuti format name=value
command
nama dari perintah dan keterangan yang akan dijalankan dengan environment tertentu.
Contoh : $ env mencetak current environment dalam format name=value satu bari $ env Home=usr/sue sh menjalankan shell baru dengan home direktori /usr/sue 7.14. join Fungsi : untuk menggabungkan dua buah relasi. Sintaks : join [pilihan] file1 file2 Pilihan Leslie Spits Warnars, SKom
Keterangan
Sistem Operasi UNIX -al
43 jika ada baris pada file1 yang tidak memiliki pasangan pada file2
-e
jika terdapat field yang kosong akan diisi dengan string
-t
untuk menceritakan pada join bahwa pemisah yang digunakan berupa karakter yang mengikuti –p
-j n m
untuk menyatakan bahwa field ke-m dari file-n berlaku
sebagai
field
pengait -o list
untuk menyatakan baris keluaran dari join
Contoh : $ cat peghonor 1101
Sumadi
basic
1103
Rini
pascal
1104
Joni
C
$ cat upah 1101
3000001103 4500001104
6000001110
$ join peghonor upah 1101 Sumadi basic 300000 1103 Rini pascal 450000 1104 Joni C 600000 $ join upah peghonor 1101 300000 Sumadi basic 1103 450000 Rini pascal 1104 600000 Joni C 7.15. mcd Fungsi : untuk laporan dan mengatur arah perlengkapan MS-DOS dan direktori Sintaks : mcd [ msdos-direktori ] Contoh : $ mcd a: /home Mengatur kerja directory untuk /home di MS-DOS pada drive A: 7.16. mcopy Fungsi : untuk mengkopi file ke dan dari sistem file MS-DOS Sintaks: mcopy [ options ] sourcefile targetfile Contoh : $ mcopy -t foo.txt a:foo.txt Mengkopi file linux foo.txt ke file MS-DOS di drive A: dengan nama foo.txt, menterjemahkan apa yang ingin dikopi ke file yang akan dikopi 7.17. mdel Fungsi : untuk menghapus file MS-DOS dari sistem file DOS Leslie Spits Warnars, SKom
Sistem Operasi UNIX Sintaks : mdel [-v ] msdos – file
44
Contoh : $ mdel a:\foo.txt Menghapus file foo.txt pada drive MS-DOS di drive A: 7.18. mdir Fungsi : menampilkan direktori dari MS-DOS. Sintaks : mdir [-w] name Contoh : mdir a:/data Menampilkan daftar file-file dari direktori data di dalam fungsi-fungsi MS-DOS di A: 7.19. newgrp Fungsi : merubah group ID yang telah ada, kemudian bekerja pada file group yang
lain
Sintaks : newgrp group Contoh : $ newgrp admin Merubah group ID menjadi admin 7.20. Cut Fungsi : untuk mengambil data tertentu berdasarkan kolom/field dari suatu file. Sintaks : cut –clist [file …] cut –list [-d char] [-s] [file…] option - diikuti dengan list menyatakan posisi field option -d diikuti dengan sebuah karakter menyatakan karakter yang dipakai sebagai pembatas antar file. Contoh : $ cat dafujian 931211:A:Amirudin 931412:B:Suadi Mawarji $ cut -1 -d: dafujian 931211 931412 7.21. paste Fungsi : untuk merekatkan sejumlah baris dari beberpa file. Penggabungan isi file dilakukan dengan cara baris per baris. Baris pertama dari file pertama akan direkatkan ke baris pertama dari file kedua dan seterusnya. Sintaks : paste file1 file2 paste –d file1 file2 Leslie Spits Warnars, SKom
Sistem Operasi UNIX paste –s [-dlist] file1 file2
45
Contoh : $ cat nama Joni Anwar Lili Lestari $ cat alamat Jl. Jambu Jl. Pelangi $ paste nama alamat Joni Anwar
Jl. Jambu
Lili Lestari
Jl. Pelangi
$ paste –d: nama alamat Joni Anwar:Jl. Jambu Lili Lestari:Jl. Pelangi $ paste –s –d : nama Joni Anwar:Lili Lestari 7.22. pr Fungsi : akan memformat file untuk menghasilkan daftar pada printer. Masukan merupakan satu file lebih atau untuk diformat. Keluaran dipisahkan dalam halaman dengan sbuah judul pada bagian atas halaman. Judul akan berisi tanggal, nam file dan nomor halaman kecuali bila ditentukan hal yang lian oleh sebuah pilihan. Bila tidak ada nama file yang ditentukan, pr mengambil masukan standard. Pr menulis keluaran ke keluaran standard. Sintaks : pr [pilihan][nama file] Pilihan
Keterangan
-i
format keluaran dalam kolom i dan i merupakan bilangan integer
+I
mulai mencetak pada halaman “i” dengan “i“ integer. Abaikan halaman yang pertama n-1.
-a
format keluaran kedalam kolom ganda sepanjang halaman
-d
spasi ganda
-f
gunakan bentuk karakter feed sebagai pengganti karakter newline untuk mendefinisikan halaman
-h
sebagai ganti nama file pada judul halaman, gunakanlah argumen yang berikutnya sebagai judul
-li
mengatur panjang halaman sepanjang “i” baris dengan “i” bilangan integer (defaultnya ialah 66)
-m
mencetak semua file secara bersamaan dalam kolom berbeda
-nci
tambahkan nomor baris;”c” sebuah karakter pemisah (default, TAB). “i” bilangan integer, angka dalam nomor baris
Leslie Spits Warnars, SKom
Sistem Operasi UNIX -oi
46 mulai mencetak karakter “i” ke kanan;dan “i” bilangan integer
-p
berhenti pada tiap halaman
-r
jangan mengeluh mengenai file yang tidak dibuka
-sc
pisahkan kolom dengan karakter “c”:”c” adalah karakter tunggal apa saja. Biasanya kolom dipisahkan dengan spasi. Bila pilihan –s ditentukan tanpa “c”, maka kolom dipisahkan oleh karakter tab
-t
kosongkan sebanyak lima baris dari atas dan bawah pada halaman
-wi
untuk memformat banyak kolom, gunakan “i” sebagai lebar halaman; dan “i” bilangan integer (default-nya sebanyak 72)
Contoh : $ cat file4 Sekarang isi “file4” dapat dilihat pada layar seperti berikut ini : drwxrwxrwx 2 root 2784 Dec 5 1983 bin drwxrwxrwx 2 root 1616 Dec 12 11:44 dev drwxrwxrwx 2 root 592 Dec 15 13:39 etc Kita dapat menggunakan perintah berikut ini untuk memformat file untuk keluaran pada printer. $ cat file4 | pr File yang diformat akan tampak pada layar seperti berikut: May 15 12:25 1983 Page 1 drwxrwxrwx drwxrwxrwx drwxrwxrwx
2 root 2 root 2 root
2784 Dec 1616 Dec 592 Dec
5 12 15
1983 bin 11:44 dev 13:39 etc
Pr telah memberikan judul dengan tanggal dan nomor halamanpada bagian puncak file. Sebagai tambahan untuk memberikan judul pada bagian atas setiap halaman, pr akan menambahkan batas atas dan bawah halaman untuk memudahkan membaca. Karena pr menambah perintah form feed untuk meluruskan setiap halaman dengan bagian atas halaman pada printer, file tidak mencetak pada perforasi yang memisahkan halaman pada kertas. Bila nama file diberikan pada pr sebagai pengganti penerusannya melalui sebuah pipa, pr akan mencetak nama file sebagai bagian dari judul. Kita coba: $ pr file4 Pr akan mencetak hal yang berikut pada CRT: May
15
1 drwxrwxrwx 2 drwxrwxrwx 3 drwxrwxrwx
12:31 1983 file1 Page1 2 root 2 root 2 root
2784 Dec 1616 Dec 592 Dec
5 12 15
1983 bin 11:44 dev 13:39 etc
Dengan perintah berikut ini dapat ditentukan sebuah judul yang berbeda dari nama file. $ pr –h ‘root directory listing’file4 Hasilnya tampak seperti berikut: May 15 12:13 1 drwxrwxrwx Leslie Spits Warnars, SKom
1983 2 root
root directory listing Page 1 2784 Dec
5
1983
bin
Sistem Operasi UNIX 2 drwxrwxrwx 3 drwxrwxrwx
47 2 root 2 root
1616 Dec 592 Dec
12 15
11:44 dev 13:39 etc
7.23. rcp Fungsi : digunakan untuk meng-copy file diantara komputer. Sintaks : rcp [pilihan] file1 file2 rcp [pilihan] files directory Dari kedua bentuk perintah rcp. Satu digunakan untuk meng-copy file dari satu komputer ke komputer yang lainnya dan yang kedua digunakan, untuk meng-copy satu atau lebih file dalam satu komputer ke directori dalam komputer yang lainnya. Pilihan
Keterangan
-r
meng-copy sub-directori reqursive. Untuk option –r, harus menunjukkan tempat directori.
-p
mencoba menyimpan guna waktu modifikasi dan bentuk access untuk file.
-k
tiket dalam kerberos.
-x
perubahan dalam mengamankan DES untuk semua data melalui rcp.
file1, file2
khususnya untuk source dan alamat file nama file lokal yang sederhana dengan memiliki jalan pintas yang tidak sah. Program file dengan mengikuti pendahuluan program host name, melalui colon seperti dalam remotehost: /home/myfile.
files
source file atau meng-copy file alamatnya direktori. Sebagai pendahuluan file remote dengan host name remote dan sebuah colon.
directory
alamatnya directori, sebagai pendahuluan file remote atau directori dengan host name remote dan colon.
Contoh : $ rcp foo.com: /home/dave/myfile local file.txt Meng-copy/home/dave/myfile dalam program komputer foo.com untuk file lokal dengan nama local file.txt. $ rcp /home/data/* foo.com: /home/dave/data Meng-copy semua file dari local directori /home/dave ke directory /home/dave/data dalam program komputer foo.com. 7.24. sleep Fungsi : untuk menangguhkan eksekusi selama suatu selang tertentu Sintaks : sleep waktu Contoh : $ sleep 20 berarti, menangguhkan eksekusi selama kira-kira 20 detik. Akibatnya, prompt akan dimunculkan kembali 20 detik sesudah perintah sleep tersebut diberikan. 7.25. time Fungsi : menentukan berapa lama sebuah program dapat dijalankan. Leslie Spits Warnars, SKom
Sistem Operasi UNIX Sintaks : time command
48
Contoh : $ time dodol.txt Tue Mar 11 15:59:46 JAVT 2003 real
0m0.049s
user 0m0.010s sys
0m0.010s
7.26. Lp Fungsi Utilitas lp adalah utilitas yang berguna untuk mencetak isi file ke printer. Tetapi pada beberapa sistem, utilitas untuk keperluan seperti ini bernama lpr. Utilitas ini juga dapat diletakkan dalam baris pipa. Syntax lp [pilihan] file… Beberapa pilihannya adalah sebagai berikut : -c : menyalin file ke spool. Tanpa pilihan ini, file asli yang diacu. Sehingga sebelum tercetak, file tidak boleh dihapus. Dengan menggunakan pilihan ini, file asli boleh dihapus walaupun isi file belum tercetak, karena sistem telah mempunyai salinannya. -n jum : untuk menentukan jumlah cetakan sebanyak jum kali. 7.27. Id Fungsi Menampilkan identitas pemakai pada sistem. Utilitas ini menampilkan informasi berupa : •
nama login anda
•
nomor identitas anda (UID)
•
nama grup anda
•
nomor identifikasi grup anda (GID)
Syntax id Contoh spits@penyamun:~$ id uid=1042(spits) gid=100(users) groups=100(users) 7.28. man
: Menampilkan manual perintah-perintah UNIX
Sintaks : man [nama perintah UNIX] Contoh :
$ man ls
Ket : untuk berpindah dalam halaman help dengan D atau Enter, G dan untuk keluar Q, Leslie Spits Warnars, SKom
Sistem Operasi UNIX 7.29. file
49
: Menampilkan jenis file
Sintaks : file namafile/namadirektori Contoh :
spits@penyamun:~$ file maildir maildir: directory spits@penyamun:~$ file dodol dodol: ASCII text
7.30. tee
: perintah untuk membaca data dari stdin dan mengirim keluaran ke file yang dikehendaki dan menampilkannya juga ke stdout
Sintaks : tee namafile Contoh :
spits@penyamun:~$ tee lat1
Sama seperti perintah cat
spits@penyamun:~$ ls –l | tee lat2 7.31. umask
: penentuan hak read dan write penciptaan file, berupa tiga bilangan octal yang mengatur akses file, dan tidak termasuk execute
spits@penyamun:~$ umask 777 spits@penyamun:~$ cat >bule date spits@penyamun:~$ ls -l total 68 ---------- 1 spits
users
-rw-r----- 1 spits drwxr-xr-x
2 spits
users users
spits@penyamun:~$ sh bule bule: bule: Permission denied
Leslie Spits Warnars, SKom
5 Mar 13 16:52 bule 4 Mar 13 16:47 dd 4096 Aug 17 2001 gambar/
Sistem Operasi UNIX
50
8 Pemrograman Script Shell wk
Suatu bahasa pemrograman tingkat tinggi, yang dibuat dengan teks editor atau perintah teks Nama Program Prompt Nama Lengkap Pembuat Bash Csh Ksh Sh Tcsh Zsh dan lain-lain
$ % $ $ > $
Bourne Again Shell C Shell Korn Shell Bourne Shell Tenex C Shell
Brian Fox Bill Joy David Korn Stephen R. Bourne Ken Greer, Paul Placeway
• ps Melihat proses yang sedang berjalan Bentuk :
ps [option]
Option:
-a
Semua proses, semua user
-e
environment
-g
proses dari suatu group
-l
format panjang
-u
berdasar user
-x
semua proses yang tidak dieksekusi di terminal
dll •
Menghapus variabel pada shell : unset $ unset a1
•
Melihat variabel pada shell :
•
Jika pada Dos atau Windows hanya dikenal satu macam shell yaitu DOS prompt, pada UNIX dikenal
set
beberapa shell yang terbagi menjadi 2 bagian yaitu o Shell not C source Yaitu shell Bash, ksh, sh,zsh, dan lain-lain yang prompt nya $ o Shell C source Yaitu shell csh, tcsh yang prompt nya selain $ Leslie Spits Warnars, SKom
Sistem Operasi UNIX •
51
Variabel pada shell Ada 2 macam variabel 1) Variabel bawaan, yang disediakan secara internal Variabel CDPATH HOME
Keterangan Berisi daftar direktori untuk pencarian jalur perintah cd Direktori home user saat itu dan sebagai nilai default perintah cd Jika diketikkan cd maka ditampilkan direktori home user saat itu IFS Daftar karakter pemisah field (defaut space, tab, newline) MAIL Jika nilai variable di set ke sebuah file dan variable MAILPATH tidak diset, maka BASH menginformasikan setiap mail yang masuk yang disimpan pada dile khusus MAILPATH Daftar nama file yang dipisahkan dengan : dimana shell secara berkala mengecek untuk mail baru PATH Daftar direktori yang akan digunakan shell untuk mencari perintah yang diberikan PS1 String pertama untuk prompt shell nilai default ‘\s-]v\$’ PS2 String kedua untuk prompt shell. Default nilai ‘>’ 2) Variabel buatan user - Variabel tidak perlu dideklarasikan - Nama variable tidak boleh diawali angka - Nama Variabel Karakter yang tidak diperbolehkan: / ? @ # $ ^ & * ( ) ` [ ] \ | ; ‘ “ < > .. spasi tab backspace - Panjang nama Variabel bebas - Mengakses variable dengan diawali tanda $ •
Setiap Shell bisa sama dan berbeda sintaks, Berikut ini adalah beberapa perintah yang mempunyai perbedaan No
Shell bash, ksh, sh, zsh (not C source)
Shell csh, tcsh (C source)
1
A1=10
set A1=10
2
read variable
set variable = $<
3
if ungkapan
if (ungkapan) then
then perintah1 else perintah2
perintah1 else peritah2
fi
endif
4
export, readonly,select
alias
5
case nilai in Pola1) perintah1 ;;
switch (nilai) case pola1 : perintah1 ; perintah2
Pola2) perintah2 ;;
breaksw
*) perintahn ;; esac
default: perintah4 breaksw endsw
Leslie Spits Warnars, SKom
Sistem Operasi UNIX
52
6
for indekx [in daftar_argumen] do Perintah done
foreach indeks [daftar_argumen] Perintah end
7
while ungkapan do Perintah Done
while (ungkapan) Perintah end
8
until ungkapan
repeat jumlah perintah
do perintah done • Perintah yang sama untuk setiap shell set, unset,ps,test • Variabel Pada bash,ksh,sh
a1=10
a1=`date`
hasil dari perintah diberikan ke variabel dengan ditulis diantara tanda backquote
Pada csh,tcsh
set a1=10
set a1=`date` •
Inherit variable
hasil dari perintah diberikan ke variabel dengan ditulis diantara tanda backquote (not C source): export
Mewarisi/inherit variable dari shell parent ke shell child dan tidak sebaliknya spits@penyamun:~$ a1=10; a2=20 spits@penyamun:~$ echo $a1; echo $a2 10 20 spits@penyamun:~$ export a2 spits@penyamun:~$ sh spits@penyamun:~$ ps PID TTY
TIME CMD
10322 pts/0
00:00:01 bash
11242 pts/0
00:00:00 sh
11245 pts/0
00:00:00 ps
spits@penyamun:~$ echo $a1; echo $a2 20 spits@penyamun:~$ csh % echo $a2; echo $a1 20 a1: Undefined variable. •
Variabel read only (not C source) spits@penyamun:~$ readonly a2 spits@penyamun:~$ unset a2 bash: unset: a2: cannot unset: readonly variable
Leslie Spits Warnars, SKom
Sistem Operasi UNIX •
53
Array pada C source $ tcsh > set a=(Univer Budi Luhur Fak Tek Informasi) >echo $a Univer Budi Luhur Fak Tek Informasi > echo $#a 6 >echo $a[4] $a[2] Fak budi
•
alias pada C source
$ tcsh > dir dir: Command not found. > alias dir ls -l > dir total 18 -rw-r--r-- 1 spits users -rw-r--r-- 1 spits users > • select pada not C source bentuk:
53 Mar 14 19:54 bel 395 Mar 14 20:22 case1
select nama [in pola ..] do perintah done
Contoh: $ pico select1 select nama in "Dodol" "Rujak" "exit" "Rujak"; do case $REPLY in 1) echo "Ini dodol";; 2|4) echo "Ini rujak";; 3) echo "thank you"; break ;; esac done $ bash select1
$ pico select2 select fname do echo "anda pilih $fname ($REPLY)" break done $ bash select2 dodol lontong 1) dodol 2) lontong #?
1) Dodol 2) Rujak 3) exit 4) Rujak #? REPLY variable yang menampung masukan user dengan perintah select
Leslie Spits Warnars, SKom
Sistem Operasi UNIX •
54
Membaca data dari keyboard not C source: read spits@penyamun:~$ cat dodol
• Membaca data dari keyboard C source set .. =$< spits@penyamun:~$ cat dodol
echo masukin nama
echo masukin nama
read nama
set nama =$<
echo namamu : $nama spits@penyamun:~$ bash dodol masukin nama
echo namamu : $nama spits@penyamun:~$ csh dodol masukin nama
deri
deri
namamu : deri
namamu : deri
• Setiap Shell bisa sama dan berbeda sintaks Contoh:
$ cat dodol echo “Universitas\nBudi Luhur”
$ csh dodol
$ bash dodol Universitas\nBudi Luhur
Universitas Budi Luhur
• test bentuk:
test [string|integer|file]
fungsi:
menguji suatu kondisi suatu string, angka atau file
hasil:
benar =0 , atau salah = 1 , diperiksa dengan $?
string
integer
File
kriteria
Hasil benar,jika kriteria Hasil benar,jika kriteria
str -n str -z str str1 = str2 Str1 !=str2
Tidak kosong Panjang string>0 Panjang string=0 Sama Tidak sama
Hasil benar,jika
-gt int1 > int2 -r file Ada dan punya akses read -ge int1 >= int2 -w file Ada dan punya akes write -eq int1 = int2 -f file Ada dan bukan direktori -ne int1 <> int2 -d file Ada dan direktori -le int1 <= int2 -s file Ada dan berukuran > 0 byte -lt int1 < int2 -e file Ada filenya (default) Contoh: Contoh: Contoh: $ test “dodol” = “dodil” % test 2 –ge 1 $ test –r file1 $ echo $? % echo $? $ echo $? 1 0 1 Pada C source perintah test tidak bisa dipakai dalam perintah if dalam script shell Operator kombinasi ungkapan diatas
• if o
!
not
-a
and
-o
or
Not C source Bentuk: if ungkapan then perintah1 ; perintah2 else perintah3 ; perintah4 fi
Leslie Spits Warnars, SKom
if ungkapan1 then perintah1 elif ungkapan2 then perintah2 else perintah3 fi
Sistem Operasi UNIX Contoh: $ pico if1 read a1 if test $a1 -gt 1 then echo "a1>1" echo "var a1= " $a1 elif test $a1 -eq 0 then echo "var a1=0" else echo "var a1=1" fi $ bash if1 o C source Bentuk: if (ungkapan) then perintah1;perintah2 else perintah2;perintah4 endif Contoh:
$ pico if2
55
if (ungkapan1) then perintah1 else if (ungkapan2) then perintah2 else perintah3 endif
set a1 = $< if ( $a1 > 1) then echo "a1>1" ; echo "var a1= " $a1 else if ( $a1 == 0) then echo "var a1=0" else echo "var a1=1" endif $ csh if2 • case atau switch o
Not C source case nilai in
Bentuk:
Pola1) perintah1 ;; Pola2) perintah2 ;; *) perintahn ;; esac Nb:
*) menyatakan selain dari kondisi diatasnya ;; tanda titik koma double harus disertakan pada setiap akhir pola atau *
Contoh:$ cat case1 clear echo "Menu Prog Studi" echo "1. Teknik Informatika" echo "2/4. System Informasi" echo "3. Akuntansi Komputer" echo -n "Pilih (1,2,3) : " read pilih case $pilih in Leslie Spits Warnars, SKom
$ bash case1 Menu Prog Studi 1. Teknik Informatika 2. System Informasi 3. Akuntansi Komputer Pilih (1,2,3) :
Sistem Operasi UNIX 1) echo "Ka Prog nya Bang Hari" echo "Ditanggung lepet !";; 2|4) echo "Ka Prog nya Mas goen " ;echo "Pasti O.c !" ;; 3) echo "Ka Prog nya Den Krisna" ;echo "Tung itung !";; *) echo "Ente nyasar kamar orang !!";; esac o
C source switch (nilai)
Bentuk:
case pola1 : perintah1 ; perintah2 breaksw
Nb:
case pola2 : perintah3 breaksw default: perintah4 breaksw endsw breaksw berguna untuk mengarahkan eksekusi ke endsw Default:
selain dari kondisi diatas
Contoh:$ cat case2 clear echo "Menu Prog Studi" echo "1. Teknik Informatika" echo "2. System Informasi" echo "3. Akuntansi Komputer" echo -n "Pilih (1,2,3) : " set pilih=$< switch($pilih) case 1: echo "Ka Prog nya Bang Hari" echo "Ditanggung lepet !" breaksw case 2: echo "Ka Prog nya Mas goen Pasti O.c !"; breaksw case 3 : echo "Ka Prog nya Den Krisna Tung itung !"; breaksw default: echo "Ente nyasar kamar orang !!" endsw • Pengulangan for o Not C source Bentuk: for indekx [in daftar_argumen] do Perintah done Contoh: $ pico for1 $ bash for1 for nama in "Joni Lutung" "Kampret" "dodol" Joni Lutung do Kampret echo $nama dodol done
Leslie Spits Warnars, SKom
56
Sistem Operasi UNIX o C source Bentuk: foreach indeks (daftar_argumen) Perintah $ csh for2 end /usr/bin/biff Contoh: $ pico for2 biff foreach nama (/usr/bin/bi*) echo $nama /usr/bin/bigram echo "`basename $nama` \n" #backquote bigram end • Pengulangan while (pengulangan selama kondisi benar) o Not C source Bentuk: while ungkapan do Perintah done Contoh: $ pico while1 bil=0 $ bash while1 while test $bil -lt 3 0 do 2 echo $bil $ bil=`expr $bil + 2` #backquote done o C source Bentuk: while (ungkapan) Perintah end Contoh: $ csh while1 $ pico while2 0 @ bil=0 #pemberian nilai numeric 2 while ($bil <3) $ echo $bil @ bil += 2 end • Pengulangan repeat until (pengulangan selama kondisi salah) o Not C source Bentuk: until ungkapan do Perintah done Contoh: $ pico until1 $ bash until1 bil=a Masukkan bil bulat : until echo $bil |grep -v "[^0-9]" > /dev/null a do Masukkan bil bulat : echo "Masukkan bil bulat : " 0.5 read bil Masukkan bil bulat : done 1 o C source $ Bentuk: repeat jumlah perintah Contoh: $ pico repeat1 repeat 3 echo “gile” $ csh repeat1 gile gile gile
Leslie Spits Warnars, SKom
57
Sistem Operasi UNIX
58
9 Komunikasi antar USER wk
•
Ada beberap cara berkomunikasi antar user yang dapat digunakan, yaitu: - write
- wall
- mail
- talk
- pine
- ytalk
9.1. WRITE •
bentuk:
•
Untuk membuka jalur komunikasi antar user yang aktif
•
Penulisan berita diakhiri dengan tombol eof yaitu Ctrl-D
•
Komunikasi dapat berlangsung 2 arah selama belum diakhiri dengan tombol eof (Ctrl-D)
•
Perintah stty -a untuk mengetahui tombol yang dipakai sebagai eof
•
Tampilan dari pengiriman berita tidak akan mengganggu file yang sedang disunting
write nama_user [terminal]
• Untuk mengetahui siapa saja yang aktif menggunakan perintah who contoh:
•
$ who -H USER LINE LOGIN-TIME FROM spits tty2 Jul 25 10:34 bros tty3 Jul 25 09:20 bros tty4 Jul 25 08:35 $ write bros atau $ write tty3 atau $ write bros tty3 Pengiriman berita melalui file yang dibuat oleh editor teks seperti vi atau cat
contoh: •
$ cat berita Hallo apa khabar !! $ write bros < berita Perintah mesg :
Fasilitas untuk menutup dan membuka terminal dari masuknya pesan atau gangguan dari terminal lain contoh:
$ mesg is y $ mesg n $ mesg is n $ mesg y $ mesg is y
Leslie Spits Warnars, SKom
-> melihat status terminal yang sedang digunakan -> terminal terbuka untuk menerima semua komunikasi dari terminal lain -> menutup terminal dari masuknya komunikasi dari terminal lain -> terminal tertutup dari masuknya komunikasi dari terminal lain -> membuka terminal untuk menerima semua komunikasi dari terminal lain
Sistem Operasi UNIX
59
9.2. WALL •
Perintah untuk mengirim pesan kepada semua pemakai yang aktif dalam sebuah host tanpa dapat dicegah dengan perintah mesg (broadcast)
•
Penulisan berita diakhiri dengan tombol eof yaitu Ctrl-D
contoh: •
$ wall <enter> Hei apa khabar !! Pengiriman berita melalui file yang dibuat oleh editor teks seperti vi atau cat
contoh:
$ cat berita Hallo apa khabar $ wall berita
9.3. MAIL •
Komunikasi antar pemakai secara tidak langsung (dapat dilakukan pada waktu penerima pesan tidak login)
•
Perintah MAIL akan menyimpan pesan atau berita ke dalam mail (kotak pos) masing-masing user
•
Untuk mengetahui lokasi mail dari seorang user digunakan perintah
$ echo $MAIL /var/spool/mail/spits •
bentuk:
mail [option] nama_login
contoh: •
$ mail bros $ mail bros kadir joni Sama seperti lainnya pengiriman berita diakhiri dengan Ctrl-D atau .
•
Pembatalan dengan tombol int yaitu Ctrl-C atau DEL
•
Pengiriman berita melalui file yang dibuat oleh editor teks seperti vi atau cat
contoh: •
$ cat berita Hallo apa khabar $ mail bros
- jika suatu user mempunyai MAIL maka pada saat login muncul pesan : You have mail - untuk membaca mail contoh:
$ mail Mail version 5.5 6/1/90. Type > for help “/var/spool/mail/spits”: 1 message 1 new >N 1 bros Mon Jul 27 10:58 &
13/350
“where”
judul berita jumlah kata/jumlah karakter saat diterima pengirim nomor urut status: N=baru, U=belum terbaca Prompt mail - pada prompt mail untuk melihat fasilitas perintah mail digunakan perintah: ? - pada prompt mail untuk menampilkan kembali mail yang ada digunakan perintah : h - jika ada beberapa pesan, pemakai dapat melakukan salah satu 1) menekan tombol ENTER untuk melihat pesan berikutnya 2) perintah
t nomor_urut
Leslie Spits Warnars, SKom
Sistem Operasi UNIX 60 - Pada prompt mail untuk menyimpan suatu pesan menjadi suatu file teks dapat dilakukan dengan 2 cara: 1) perintah: contoh: 2) perintah: contoh:
s $ s simpan1 w $ w simpan2
- Pada prompt mail untuk megirim mail balasan menggunakan perintah :
r
- Pada prompt mail untuk mengirim mail yang bukan bersifat balasan digunakan perintah: contoh:
m
& m bros
- Pada prompt mail untuk menjalankan perintah sistem UNIX cukup ditambahkan tanda seru (!) contoh:
& ! pwd
- Untuk keluar dari prompt mail berikan perintah q •
Untuk melihat mail yang pernah disimpan: $ mail -f
9.4. TALK •
Komunikasi antar user pada satu mesin atau pada mesin lain yang terhubung dalam satu jaringan
•
Salah satu fasilitas yang ada pada TCP/IP (Transport Control Protocol / Internet Protocol)
•
Mesin UNIX yang belum dilengkapi TCP/IP tentu tidak dapat menggunakan fasilitas talk ini
•
Pengecekan fasilitas TCP/IP pada sebuah mesin digunakan perintah ps ef | grep inetd
$ ps ef | grep inetd root 175 1 0 09:12:21 ? 0:00 inetd spits 499 200 7 11:02:47 0:00 grep inetd <<< tampilan diatas ada fasilitas TCP/IP>>> $ ps ef | grep inetd spits 499 200 7 11:02:47 0:00 grep inetd <<< tampilan diatas tidak ada fasilitas TCP/IP, jadi perintah TALK tidak dapat digunakan>>> • Nama mesin biasa disebut NODE, nama node dari mesin didapat dengan perintah uname -n •
bentuk:
talk nama_login [ttyname]
- bila komunikasi dilakukan pada mesin lain yang terhubung dalam 1 jaringan, maka nama_login adalah salah satu pilihan berikut ini: nama_mesin!pemakai_mesin nama_mesin.pemakai_mesin nama_mesin:pemakai_mesin pemakai_mesin@nama_mesin contoh: •
$ talk bros $ talk bros tty3 $ talk bros@UI Pada saat perintah talk dijalankan, layar akan terbagi 2 sama besar yang terpisah oleh garis lurus.
Layar bagian atas untuk pemakai, dan layar bawah digunakan sebagai tempat penerima pesan lawan bicara. •
Komunikasi disudahi dengan menekan tombol Ctrl-C atau DEL
•
Penggunaan perintah MESG n dapat menutup pesan yang dikirimkan melalui perintah TALK
Leslie Spits Warnars, SKom
Sistem Operasi UNIX
61
9.5. PINE Untuk masuk ke dalam program PINE maka kita harus masuk ke dalam program UNIX terlebih dahulu. Setelah masuk dalam program UNIX maka intruksi untuk masuk ke program PINE adalah : $ PINE Maka akan tampil Main Menu utama yang terdiri dari instruksi - instruksi sebagai berikut : ? HelP
: Get helf using pine
C Compose Message
: Compose and send a message
I
: View message in current folder
Folder Index
L Folder list
: Seled a folder to view
A Addres Book
: Update addres book
S Setup
: Configure or update pine
Q Quit
: Exit the pine program
HELP Digunakan untuk mengetahui bagaimana cara menggunakan perintah -perintah dari Pine. Setelah kita pilih menu Helf maka akan tampil monitor Helf for Main Menu, sebagai berikut : General Information On The Pine Message System Version 3.90 (built_Tue Aug 22 19:50:49 COT 1995) University of Washington August, 1994
Table of Contents 1) Introduction 2) Pine Help 3) Local Support Contact 4) Giving Commands in pine 5) Status Line 6) Main Menu Command 7) Command Line Options 8) Pine Configuration 9) Reading News 10) Reporting Problem KETERANGAN 1. INTRODUCTION Berisi keterangan tentang program Pine dan mendukung protokol internet dan spesifikasi tentang : ∗
SMTP (Simple mail transport protocol)
∗
MIME ( Multipurpose internet mail extension)
∗ IMAP (Internet message access protocol) ∗
NNTP (Network News transport protocol
Leslie Spits Warnars, SKom
Sistem Operasi UNIX
62
2. PINE HELP Setiap menu yang dipilih mempunyai program tersendiri tidak hanya menggambarkan command di menu. 3. LOCAL SUPPORT CONTACT 4.GIVING COMMAND IN PINE Berisi perintah-perintah yang ada di pine , Contoh : ∗
COMMANDS.
∗
OTHER COMMANDS.
∗
CONTROL KEY.
∗
PAGING UP/DOWN.
∗
RETURN KEY.
∗
NOTE.
5. STATUS LINE Baris pertama dari layar adalah merupakan baris dari status Pine, menjelaskan versi dari Pine dan status dari program. 6. MAIN MENU COMMANDS Berisi tentang menu general pine commands dan main menu screen commands . 7. COMMANDS LINE OPTION Berisi tentang argument - argument awal dari pine 8. PINE CONFIGURATION Menerangkan tentang konfigurasi dari program Pine dan bagaimana mengubahnya. 9. READING NEWS Menerangkan bagaimana Pine membaca dan mengirimkan internet news. 10. REPORTING PROBLEM Bagaimana untuk mengetahui kesalahan yang terjadi pada program pine. COMPOSE MESSAGE : Digunakan untuk mengirimkan pesan kepada user lain . Apabila kita pilih menu compose message maka akan tampil sebagai berikut : TO : CC : Attchmt : Subject : ---------Message Text ---------KETERANGAN : ∗
TO
: Untuk menunjukan pesan yang akan dikirimkan
∗
Subject
: Jenis pesan yang akan dikirimkan
∗
Message text
: Untuk mengetik pesan yang disampaikan
Leslie Spits Warnars, SKom
Sistem Operasi UNIX
63
Didalam menu terdapat instruksi-instruksi sebagai berikut : ∗
^G Get helf
: untuk mengetahui fungsi-fungsi compose message
∗
^C Cancel
: untuk menbatalkan perintah dari compose message
∗
^X Send
: untuk mengirimkan pesan
∗
^D Del Char
: untuk menghapus I karakter pada posisi kursor
∗
^J
: untuk memindahkan file
Attach
∗ ^Y ProPg / top
: untuk menampilkan halaman sebelumya
∗
^V NxPg / end
: untuk menampilkan halaman sebelumnya
∗
^K Cut Line
: untuk menghapus satu baris
∗
^U Under Line
: untuk membatalkan penghapusan
∗
^O Postpone
: untuk membatalkan pengiriman
∗
Bila Y
: maka akan kembali ke main menu atau menu utama
∗
Bila N
: maka akan kembali ke compose message
∗
^T
: untuk menampilkan pesan yang dikirim
∗
^W
To file Where is
: untuk melakukan pencarian
FOLDER INDEX Digunakan untuk merangkum informasi setiap berita yang ada untuk mengetahui berita yang baru dengan cepat. Instruksi-intruksi yang ada dalam folder index : ∗
? Help
: untuk mengetahui perintah-perintah dalam folder index
∗
O Other CMDS
: untuk menampilkan perintah folder index lainnya
∗
M Main Menu
: untuk kembali ke menu utama pine
∗
V Viewmsg
: untuk menampilkan isi pesan
∗
P Prevmsg
: untuk menampilkan pesan sebelumnya pada posisi kursor
∗
N Nextmsg
: untuk menampilkan pesan sesudahnya pada posisi kursor
∗
- Prevpage
: untuk pindah ke halaman awal.
∗
SPC Next page
: untuk pindah kehalaman selanjutnya pada posisi kursor
∗
D Delate
: untuk menghapus
∗
U Undelete
: untuk membatalkan penghapusan
∗
R Reply
: untuk mengirim pesan yang telah disampaikan secara langsung
∗
F Forword
: untuk mengirim pesan yang telah disampaikan secara langsung
OTHER CMDS Digunakan untuk menampilkan perintah F1 lainnya Instruksi-instruksi yang digunakan dalam Other CMDS : Q Quit
: untuk keluar dari PINE
C Conpose
: untuk keposisi menu
L List fidrs
: untuk menampilkan folder list
Leslie Spits Warnars, SKom
Sistem Operasi UNIX G Goto fidrs
64 : untuk kembali ke folder index
FOLDER LIST Digunakan untuk membuka atau melihat berita yang baru atau untuk menghapus, merubah nama dan menambah perintah Instruksi -intruksi yang terdapat dalam folder list antara lain : ∗
?
Help
: digunakan untuk mengetahui perintah-perintah dalam folder list
∗
O
Other cmds
: digunakan untuk menampilkan perintah-perintah other list lainnya
∗
M Main menu
: digunakan untuk kembali ke menu utama pine
∗
V
View msg
: digunakan untuk menampilkan isi pesan
∗
P
Prevmsg
: digunakan untuk menampilkan pesan sebelumnya pda posisi kursor
∗
N Nextmsg
: digunakan untuk menampilkan pesan sebelumnya pada posisi kursor
∗
Spc Next Page
: digunakan untuk menampilkan halaman selanjutnya
∗
D
: digunakan untuk menghapus pesan
∗
Add
∗
R
Delete
: digunakan untuk menambah nama folder Rename
:
digunakan untuk merubah nama folder
ADDRESS BOOK Digunakan untuk mengedit semua berita yang masuk ke addres book dan juga berlaku sebagai sort cut, pesan ke user yang ada di address book. Instruksi-instruksi yang terdapat didalam addres book antara lain
:
∗
?
Help
: untuk mengetahui perintah-perintah didalam addres book
∗
O
Other
: untuk mengetahui perintah-perintah address book lainnya
∗
M Main menu
:
∗
E
[edit]
: untuk melakukan perubahan-perubahan di dalam addres book
∗
P
Preventy
:
untuk mengentri pesan sebelumnya pada posisi kursor
∗
N Nextentry
:
untuk mengentri pesan sesudahhya pada posisi kursor
∗
-
:
untuk menampilkan awal halaman
∗
SPC Next page
:
untuk menampilkan halaman selanjutnya
∗
D Delate
:
untuk menghapus
∗
A Add
:
untuk menambah file didalam address book
∗
S
Createelist
:
untuk membuat list didalam address book
∗
Z
Addtolist
:
untuk menambah file didalam address book
Prevpage
untuk menampilkan menu utama dalam program pine
SETUP Digunakan untuk merubah konfigurasi dari pine yang terdiri dari pengubah printer, password, konfigurasi dan mengupdate. Instruksi-instruksi di dalam setup, antara lain : ∗
?
∗
^C Cancel
: untuk membatalkan perintah setup
∗
P
: untuk mengubah type printer yang akan digunakan
Help [Printer]
Leslie Spits Warnars, SKom
: untuk mengetahui perintah -perintah didalam setup
Sistem Operasi UNIX
65
∗
N Newpassword
: untuk merubah atau membuat password
∗
C
Config
: untuk merubah konfigurasi dalam pine
∗
U
update
: untuk merubah tanggal didalam pine
Quit Digunakan untuk keluar dari program pine atau mengakhiri penggunaan program pine 9.6. ytalk Untuk berkomunikasi antara lebi dari 2 terminal secara interaktif Bentuk: Options:
ytalk [options] user[@host][#tty]... -i
-- no auto-invite port
-x
-- do not use the X interface
-Y
-- require caps on all y/n answers
-s
-- start a shell
-h host_or_ip -- select interface or virtual host
Leslie Spits Warnars, SKom
Sistem Operasi UNIX
66
10 Perl wk
10.1. Perkembangan Perl - Dikembangkan mulai tahun 1986 oleh Larry Wall - Perl singkatan dari Practical Extraction and Report Language - Perl mengadopsi dari bahasa seperti C,sed,awk, dan sh - Perkembangannya perl menjadi sebuah script untuk pengembangan aplikasi pemrograman server CGI (Common Gateway Interface) untuk internet - Contoh Program :
$ cat perl1 print “Universitas”; print “budi Luhur”; $ perl perl1 Univeristas budi Luhur $
10.2 Struktur program Perl - numeric ialah yang mengandung karakter 0 – 9 baik positip maupun negatip - string yang diapit tanda petik tunggal (‘) atau petik ganda (“) - Setiap statement perintah harus diakhiri ; (sama seperti pada bahasa C) - Operator aritmatika Operator + - / * ** -= += /= *= ++ -- Operator logika Operator Numerik
string
== eq != ne > gt >= ge < lt <= le Selain itu ada operator lain seperti
Contoh program: Leslie Spits Warnars, SKom
$ pico perl2
and
&&
Or
||
not
!
Sistem Operasi UNIX
67 $a1=2; $b1=$a1+10; $c1="10"; $d1=$c1+10; $e1=$c1.5; $f1=$c1+"8"; $g1=$c1."5"; print ' a1 = ' , "$a1\n"; print "b1 = ", $b1, "\n"; print "c1 = ", $c1, "\n"; print "d1 = ", $d1, "\n"; print "e1 = ", $e1,"\n"; print "f1 = ", $f1, "\n"; print "g1 = ", $g1, "\n";
10.3 substr Bentuk: substr(string, posisi awal, jumlah_karakter) Fungsi: mengambil string dari posisi mana saja 10.4 length bentuk: length(string) fungsi: menghitung panjang string 10.5 array bentuk: @namavar = (elemen0, elemen1, …, elemenN); 10.6 if bentuk: - perintah_if_kondisi_true if kondisi; - if (ekspresi_kondisi1) { perintah1 } elseif (ekspresi_kondisi2) { perintah2 } else { perintah3 } 10.7 perulangan while bentuk:
- perintah while ekspresi_kondisi ; - while (ekspresi_kondisi) { perintah } - do { perintah } while (ekspresi_kondisi);
Leslie Spits Warnars, SKom
$ perl perl2 a1 = 2 b1 = 12 c1 = 10 d1 = 20 e1 = 105 f1 = 18 g1 = 105
Sistem Operasi UNIX
68
10.8 perulangan until bentuk: - perintah until ekspresi_kondisi ; - until (ekspresi_kondisi) { perintah } - do { perintah } until (ekspresi_kondisi); 10.9 perulangan for bentuk: - for ($varname=nilawal; ekpresi_kondisi; counter) { perintah } - foreach $varname (array) { perintah } 10.10 last untuk keluar dari suatu perulangan
Leslie Spits Warnars, SKom