MODUL PRAKTIKUM PRAKTEK SISTEM OPERASI

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN ILMU KOMPUTER EL RAHMA YOGYAKARTA 2011

Modul Praktikum MODUL I PERINTAH DASAR SISTEM OPERASI LINUX

Sistem Operasi

I. TUJUAN  Menggunakan perintah-perintah dasar untuk informasi user pada operasi linux  Mengenal format instruksi dan menggunakan utilitas dasar pada system operasi Linux II. TEORI SINGKAT Setiap pemakai LINUX harus mempunyai nama login (user account) yang sebelumnya harus didaftarkan pada administrator system. Nama login umumnya dibatasi maksimum 8 karakter dan umumnya dalam huruf kecil. Prompt dari shell bash pada LINUX menggunakan tanda ―$‖. Sebuah sesi LINUX terdiri dari : 1. Login 2. Bekerja dengan Shell / menjalankan aplikasi 3. Logout Tergantung atas shell yang digunakan, pada Linux bash maka pada proses logi akan mengeksekusi program /etc/profile (untuk semua pemakai) dan file .base_profile di direktori awal (HOME) masing- masing. Pada saat logout, maka program shell bash akan mengeksekusi script yang bernama .bash_logout. A. Sistem File dan Direktori Sistem file pada Unix/Linux tersusun dari sejumlah file dan direktori, dan sering digambarkan sebagai struktur pohon yang dibalik. Pada bagian puncak terdapat sebuah ditektori yang disebut root directory atau direktori / (slash). Direktori di bawah root umumnya: Direktori Keterangan /bin Berisikan program-program dasar linux /etc Berisi file-file administrasi sistem /usr Berisi perintah-perintah Unix dan file administrasi system dan mengalokasikan filefile dari pemakai, yang dikenal dengan home directory /dev Berisi file-file piranti milik sistem Direktori yang berada di direktori lain disebut dengan sub-direktori. Tiga jenis file yang ada pada Unix/Linux: 1. File biasa, misalnya file untuk menyimpan dokumen, program ataupun data. File ini dibedakan lagi menjadi file teks (berisi kode-kode yang dapat kita baca) dan file biner (berisi kode-kode mesin). 2. Direktori, file yang berisi daftar file (file biasa ataupun subdirektori lain). 3. File spesial, file yang menyatakan piranti fisik seperti disk, tape, floppy dan printer. Setiap pemakai yang berhasil login ke sistem Unix/Linux, biasanya memiliki direktori kerja di Home Directory, dimana setiap pemakai tersebut dapat menciptakan file/direktori, melihat isi file/direktori, serta menghapus file/direktori. Direktori Kerja dari setiap pemakai dapat diketahui dengan perintah pwd. Penamaan direktori dan file: a. Semua karakter selain slash(/) boleh digunakan. b. Beberapa karakter yang sebaiknya tidak dipergunakan adalah: ?@#$^&*()`[]\|;’‖<> spasi tab backspace. c. Huruf kecil dan huruf kapital berbeda arti. d. Maksimal berdiri dari 14 karakter. e. Jangan gunakan nama dot (.) dan dot dot (..) sebagai nama file, karena nama itu mempunyai makna khusus. B. Perintah-Perintah Dasar Perintah Fungsi ls Melihat isi deraktori mkdir Menciptakan direktori cd Mengubah direktori rmdir Menghapus direktori cat Menampilkan isi file dan menciptakan file cp Menyalin file rm Mengapus file mv Mengganti nama file/direktori dan memindahkan file ke direktori lain ln Link ke file lain lp Mencetak isi file find Mencari file chmod Untuk mengubah model akses terhadap file atau direktori chgrp Mengubah group file

Joko S

STMIK El Rahma Yogyakarta | 1

Modul Praktikum

Sistem Operasi

chown Mengubah kepemilikan dari file C. Format Instruksi Linux Instruksi Linux standar mempunyai format sebagai berikut : $ NamaInstruksi [pilihan] [argumen] Pilihan adalah option yang dimulai dengan tanda – (minus). Argumen dapat kosong, satu atau beberapa argumen (parameter). Contoh : $ ls tanpa argumen $ ls –a option adalah –a = all, tanpa argumen $ ls /bin tanpa option, argumen adalah /bin $ ls /bin /etc /usr ada 3 argumen $ ls –l /usr 1 option dan 1 argumen l = long list $ ls –la /bin /etc 2 option –l dan –a dan 2 argumen D. Manual Linux menyediakan manual secara on-line. Beberapa kunci keyboard yang penting dalam menggunakan manual adalah : Q untuk keluar dari program man <Enter> ke bawah, baris per baris <Spasi> ke bawah, per halaman b kembali ke atas, 1 halaman /teks mencari teks (string) n meneruskan pencarian string sebelumnya Manual dibagi atas Bab-bab sebagai berikut : Bab Isi 1 User Commands 2 System Calls 3 Library Calls 4 Device 5 File Format 6 Games 7 Miscellaneous 8 System Commands 9 Kernel internals n Tcl/Tk command III. PRAKTEK 1. Melihat identitas diri (nomor id dan group id) $ id 2. Melihat tanggal dan kalender dari system a. Melihat tanggal saat ini $ date b. Melihat kalender $ cal 9 2011 $ cal –y 3. Melihat identitas mesin $ hostname $ uname $ uname –a 4. Melihat siapa yang sedang aktif a. Mengetahui siapa saja yang sedang aktif $w $ who $ whoami 5. Mengubah informasi finger $ chfn <user> Changing finger information for student. Password: Name[user wks]: <Nama Pengguna di wks> Office[]: Lab Pemrograman 2 Office Phone []: 2301 Home Phone []: 5947280 Finger information changed. 6. Melihat informasi finger

Joko S

STMIK El Rahma Yogyakarta | 2

Modul Praktikum
$ finger $ finger <user> 7. Menggunakan manual $ man ls $ man man $ man –k file $ man 5 passwd 8. Menghapus layar $ clear

Sistem Operasi

9. Mencari perintah yang deskripsinya mengandung kata kunci yang dicari $ apropos date $ apropos mail $ apropos telnet 10. Mencari perintah yang tepat sama dengan kunci yang dicari $ whatis date 11. Manipulasi berkas (file) dan direktori a. Menampilkan current working directory $ ls b. Melihat semua file lengkap $ ls –l c. Menampilkan semua file atau direktori yang tersembunyi $ ls –a d. Menampilkan semua file atau direktori tanpa proses sorting $ ls –f e. Menampilkan isi suatu direktori $ ls /usr f. Menampilkan isi direktori root $ ls / g. Menampilkan semua file atau direktori dengan menandai : tanda (/) untuk direktori, tanda asterik (*) untuk file yang bersifat executable, tanda (@) untuk file symbolic link, tanda (=) untuk socket, tanda (%) untuk whiteout dan tanda (|) untuk FIFO. $ ls –F /etc h. Menampilkan file atau direktori secara lengkap yaitu terdiri dari nama file, ukuran, tanggal dimodifikasi, pemilik, group dan mode atau atributnya. $ ls –l /etc i. Menampilkan semua file dan isi direktori. Argumen ini akan menyebabkan proses berjalan agak lama, apabila proses akan dihentikan dapat menggunakan ^c $ ls –R /usr 12. Melihat tipe file $ file $ file * $ file /bin/ls 13. Menyalin file a. Mengkopi suatu file. Berikan opsi –i untuk pertanyaan interaktif bila file sudah ada. $ cp /etc/group f1 $ ls –l $ cp –i f1 f2 $ cp –i f1 f2 b. Mengkopi ke direktori $ mkdir backup $ cp f1 f3 $ cp f1 f2 f3 backup $ ls backup $ cd backup $ ls 14. Melihat isi file a. Menggunakan instruksi cat $ cat f1 b. Menampilkan file per satu layar penuh $ more f1 $ pg f1 15. Mengubah nama file

Joko S

STMIK El Rahma Yogyakarta | 3

txt $ ls b. Mencari kata atau kalimat dalam file $ grep root /etc/passwd $ grep “:0:” /etc/passwd $ grep student /etc/passwd Tugas : 1. 3. coba2 dan coba3 pada direktori ini. Tampilkan isi file coba1 per satu layar penuh. Buatlah direktori praktek1 pada direktori aktif. Bila argumen terakhir adalah nama direktori. Memindahkan file ke direktori lain. 2. 4.Modul Praktikum Sistem Operasi a. kemudian copy-kan file /etc/group ke file coba1. maka berkas-berkas akan dipindahkan ke direktori tersebut. Hapus file coba1 dan coba2 dengan konfirmasi. $ mkdir mydir $ mv f1 f2 f3 mdir 16. Menghapus file $ rm f1 $ cp mydir/f1 f1 $ cp mydir/f2 f2 $ rm f1 $ rm –i f2 17. Joko S STMIK El Rahma Yogyakarta | 4 . Menggunakan instruksi mv $ mv f1 prog. Pindahkan file coba1 dan coba2 ke home direktori.

lp. File Descriptor Linux berkomunikasi dengan file melalui file descriptor yang direpresentasikan melalui angka yang dimulai dari 0. lpr. Instruksi (command) yang diberikan pada Linux melalui Shell disebut sebagai eksekusi program yang sela njutnya disebut proses. Struktur data kernel 5. | Pn-1 | Pn Maka P2 sampai dengan Pn-1 mutlak harus utilitas Linux yang berfungsi sebagai filter. 1 dan 2. output dan error Menggunakan notasi output. append dan here document Memahami konsep PIPE dan filter II. head. Utilitas yang bukan filter misalnya who. Setiap kali instruksi diberikan. output dan error. Proses I/O Sebuah proses memerlukan Input dan Output. Keyboard (input) 2. Pipa (Pipeline) Mekanisme pipa digunakan sebagai alat komunikasi antar proses. Contoh filter adalah cat. P1 (awal) dan Pn (terakhir) boleh tidak filter. Layar (output) 3. paste dan lainnya. yang menghubngkan Proses 1 dengan Proses2 dan dinyatakan dengan symbol ―|‖. ps. C. Tiga buah file descriptor standar yang lalu diciptakan oleh proses adalah :  0 = keyboard (standar input)  1 = layar (standar output)  2 = layar (standar error) Linux tidak membedakan antara peralatan hardware dan file. Pada sebuah rangkaian pipa : P1 | P2 | P3 ……. Beberapa perintah Linux yang digunakan untuk proses penyaringan antara lain : 1. Perintah grep Digunakan untuk menyaring masukannya da n menampilkan baris-baris yang hanya mengandung pola yang ditentukan. yaitu untuk mengalihkan file descriptor dari 0. Input Þ Proses1 Þ Output = Input Þ Proses2 Þ Output Proses 1 menghasilkan output yang selanjutnya digunakan sebagai input oleh Proses 2. maka Linux kernel akan menciptakan sebuah proses dengan memberikan nomor PID (Process Identity). Perintah wc Joko S STMIK El Rahma Yogyakarta | 5 . Peralatan I/O lainnya (misalnya Network) B. TEORI SINGKAT A. Files 4. Hubungan output input ini dinamakan pipa. grep. Pola ini disebut regular expression. Filter Filter adalah utilitas Linux yang dapat memproses standard input (dari keyboard) dan menampilkan hasilnya pada standard output (layar). Pembelokan (Redirection) Pembelokan dilakukan untuk standard input. 1. sort. 2 dan seterusnya. Linux memanipulasi peralatan hardware sama dengan file.Modul Praktikum MODUL II OPERASI INPUT OUTPUT I. Dalam konteks Linux input/output adalah : 1.    Sistem Operasi TUJUAN Memahami konsep proses I/O dan redirection serta standar input. Proses1 | Proses2 E. 2. ls. mail dan lainnya. Proses dalam Linux selalu membutuhkan Input dan menghasilkan suatu Output. Simbol untuk pembelokan adalah : 0< atau < pengganti standard inp ut 1> atau > pengganti standard output 2> D. pr. tail.

Perintah cut Digunakan untuk mengambil kolom tertentu dari baris-baris masukannya. apa khabar exit dengan ^d exit dengan ^d [Ctrl-d] c. Notasi 2>&1 : pembelokan standar error (2>) adalah identik dengan file descriptor1. $ ls filebaru (Terdapat pesan error) $ ls filebaru 2> out. Notasi 1>&2 (atau >&2) : pembelokan standar output adalah sama dengan file descriptor 2 yaitu standar error $ echo “mencoba menulis file” 1> baru $ cat filebaru 2> baru 1>&2 $ cat baru f. yaitu input dibelokkan dari keyboard menjadi dari file $ cat 0< myfile. jumlah kata dan jumlah karakter. biasanya digabungkan dalam pipeline dengan sort. Pembelokan (redirection) a. Perhatikan bahwa tanda pembatas dapat digantikan dengan tanda apa saja.txt $ cat myerror. Perintah sort Digunakan untuk mengurutkan masukannya berdasarkan urutan nomor ASCII dari karakter. Untuk mengetahui berapa baris gunakan option –l. Pembelokan standar error untuk disimpan di file $ mkdir mydir (Terdapat pesan error) $ mkdir mydir 2> myerror. Output ke layar (standar output). PRAKTEK 1. gunakan option –c.txt Ini adalah teks yang saya simpan Ke file myfile. Pembelokan standar input.txt $ cat myfile. maka tampilannya adalah jumlah baris. Pembelokan standar output $ cat 1> myfile. Output ke layar (standar output). File descriptor a. Jika salah satu option tidak digunakan. Notasi >> (append) $ echo “kata pertama” > surat $ echo “kata kedua” >> surat $ echo “kata ketiga” >> surat $ cat surat $ echo “kata keempat” > surat $ cat surat g. bila terjadi error maka tampilan error pada layar (standard error) $ mkdir mydir $ mkdir mydir (Terdapat pesan error) 2.txt d.txt b.txt c. input dari system (kernel) $ ps b. gunakan option –w dan untuk mengetahui berapa karakter. untuk mengetahui berapa kata. III.txt 2>&1 $ cat out.txt $ ls filebaru 2> out. kata dan karakter dari baris-baris masukan yang diberikan kepadanya. ++) digunakan sebagai pembatas input dari keyboard. apa khabar hallo. Notasi here document (<<++ …. Input nama direktori.Modul Praktikum Sistem Operasi Digunakan untuk menghitung jumlah baris. Perintah uniq Digunakan untuk menghilangkan baris-baris berurutan yang mengalami duplikasi. yang ditentukan pada option – c. 4. output tidak ada (membuat direktori baru). 3.txt e. namun harus sama dan tanda penutup harus diberikan pada awal baris $ cat <<++ Hallo. input dari keyboard (standard input) $ cat hallo. 5.txt $ cat out. apa kabar ? Baik-baik saja ? Joko S STMIK El Rahma Yogyakarta | 6 .

Buat file binatang.Modul Praktikum Sistem Operasi Ok! ++ $ cat <<%%% Hallo. yang isinya : Kura-kura Landak Gajah Ular Tikus Ikan Anjing Burung Harimau 2. Perhatikan bahwa notasi ―-― berarti menyelipkan input dari keyboard $ cat myfile. Artinya menampilkan file 1.txt Joko S STMIK El Rahma Yogyakarta | 7 .txt | sort | uniq Tugas : 1. digunakan operator > $ echo hello $ echo hello > output $ cat output j. Kemudian urutkan isi dari file fauna. Pembelokan standart input dan standart output dapat dikombinasikan tetapi tidak boleh menggunakan nama file yang sama sebagai standart input dan output.txt dengan perintah cat 4. Buat file hewan.txt kelas2. Pipa (pipeline) Operator pipa (|) digunakan untuk membuat eksekusi proses dengan melewati data langsung ke data lainnya. yang isinya : Cacing Belalang Jerapah Kuda Jangkrik Lebah Semut Monyet Rayap 3.txt kelas2. Belokkan isi file hewan. apa kabar ? Baik-baik saja ? Ok! %%% h.txt Ade $ cat kelas.txt – surat i. Notasi – (input keyboard) adalah representan input dari keyboard.txt Asep Badu Muchlis Zulkifli [Ctrl-d] Yulizir $ cat kelas1. $ cat < output > out $ cat out $ cat < output >> out $ cat out $ cat < output > output $ cat output $ cat < out >> out (Proses tidak berhenti) [Ctrl-c] $ cat out 3.txt dengan perintah cat. kemudian menampilkan input dari keyboard dan menampilkan file 2.txt dengan perintah cat. $ who $ sort tmp $ who | sort $ rm tmp $ who | sort –r $ ls –l /etc | more $ who > tmp $ ls –l /etc | sort | more 4. Untuk membelokkan standart input digunakan operator < $ cat < output l.txt dan binatang. Filter Pipa juga digunakan untuk mengkombinasikan utilitas sistem untuk membentuk fungsi yang lebih kompleks $ w –h | grep <user> [Ctrl-d] $ grep <user> /etc/passwd $ cat > kelas2.txt | sort Yudi $ cat kelas1.txt ke file fauna. Untuk menambahkan output ke file digunakan operator >> $ echo bye >> output $ cat output k.txt > kelas.txt $ ls /etc | wc Budi $ ls /etc | wc –l Gama $ cat > kelas1. Untuk membelokkan standart output ke file.

kde.    TUJUAN Memahami organisasi file dan direktory pada sistem operasi Linux Menciptakan dan manipulasi directory Memahami konsep link dan symbolic link Sistem Operasi II. TEORI SINGKAT A. Berisi instruksi (command) misalnya untuk Print Spooler (lpadmin) dll. C. Direktori adalah file khusus. disk. gnome. tape. terdiri atas direktori sebagai berikut : Direktori Deskripsi /etc Berisi file administrative (konfigrasi dll) dan file executable atau script yang berguna untuk administrasi system. /sbin Berisi utilitas sistem untuk superuser (untuk membentuk administrasi sistem). Tipe File Pada Linux terdapat 6 buah tipe file yaitu 1. file ini dapat membengkak dan perlu dimonitor perkembangannya. jaringan dll. /home Berisi direktori untuk pemakai Linux (pada SCO diletakkan pada /usr) /mnt Direktori untuk mounting system file /root Home direktori untuk superuser (root) /usr/bin/X11 Symbolic link ke /usr/X11R6/bin. yaitu dimulai dari root. Direktori dapat berisi File dan Direktori lagi (disebut juga Subdirektori). / bin sbin home tmp lib usr var jane work will play zeb home home B. applix dll. printer.Modul Praktikum MODUL III OPERASI FILE DAN STRUKTUR DIREKTORI I. Kernel vmlinuz disimpan di direktori ini. yang berisi nama file dan INODE (pointer yang menunjuk ke data / isi file tersebut). Direktory Standar Setelah proses instalasi. yaitu dimulai dari root dengan symbol ―/‖. /proc Berisi informasi tentang kernel Linux. /tmp Berisi file sementara. Ordinary file 2. /usr/bin /usr/lib Berisi program library yang diperlukan untuk kompilasi program (misalnya C). kemudian direktori dan sub dirrektori. direktori ini biasanya berisi aplikasi tambahan (―addon‖) seperti Netscape Navigator. Secara logika. /var Direktori variable. Organisasi File Sistem file pada Linux menyerupai pepohonan (tree). /usr/sbin Berisi utilitas sistem dan program aplikasi level tinggi. Linux menciptakan system file yang baku. yang pada saat Bootstrap akan dihapus (dapat digunakan oleh sembarang user). program untuk X-Window /usr/src Source code untuk Linux /opt Option. Kita dapat menciptakan File dan Direktori mulai dari root ke bawah. /boot Berisi file yang sangat penting untuk proses bootstrap. Direktori Joko S STMIK El Rahma Yogyakarta | 8 . floppy. /bin Berisi utilitas sistem level rendah (binary) . Sistem file pada Linux diatur secara hirarkhikal. /dev Berisi file khusus yang merepresentasikan peralatan hardware seperti memori. proses dan virtual system file. artinya tempan penyimpanan LOG (catatan hasil output program).

Bila file asli dihapus. ―. seperti disk. ―]‖.‖. ―)‖. Named Pipe (FIFO) File yang digunakan secara intern oleh system operasi untuk komunikasi antar proses 6.txt webpage. ―<‖. Format dari Link : ln fileAsli fileDuplikat fileDuplikat disebut hard link dimana kedua file akan muncul identik (link count = 2) Bila fileAsli atau ileDuplikat diubah perubahan akan terjadi pada file lainnya. find Format : find directory –name targetfile –print Joko S STMIK El Rahma Yogyakarta | 9 . ―>‖.  Pemilik (Owner) : menentukan siapa pemilik file ini  Group : menentukan group yang memiliki file ini  Jumlah karakter : menentukan ukuran file dalam byte  Waktu pembuatan : menentukan kapan file terakhir dimodifikasi  Nama file : menentukan nama file yang dimaksud Contoh : -rw-rw-r-1 bin auth 1639 Oct 31 20:19 /etc/passwd Ijin akses pemilik jml karakter folder Tipe jml link group waktu nama file Nama File Nama file maksimal terdiri dari 255 karakter berupa alfanumerik dan beberapa karakter spesial yaitu garis bawah. ―\‖. Tipe file menjadi l (link) dan file tersebut menunjuk ke tempat asal.txt: ASCII text webpage. ―^‖. ―(―. maka data yang baru juga terhapus . yaitu : Karakter Arti File biasa d Direktori l Symbolic link b Block special file c Character special file s Socket link p FIFO  Ijin akses : menentukan hak user terhadap file ini.c letter. plotter dll 5. ―}‖. misalnya antara kode C++ dan Java. Perbedaan lain. Melihat Isi File Untuk melihat jenis file menggunakan format : file filename(s) Isi file akan dilaporkan dengan deskripsi level tinggin seperti contoh berikut $ file myprog. sedangkan pada hard link tidak dimungkinkan. Pada bentuk soft link. Block Device (Peralatan I/O) Merupakan representasi dari peralatan hardware yang menggunakan transmisi data per block (misalnya 1 KB block). H.html myprog. koma dan lainnya kecuali spasi dan karakter ―&‖. ―`‖. ―[―.  Jumlah link : jumlah link untuk file ini. seperti terminal. ―$‖. ―/‖. tetapi pada hard link terbatas pada partisi disk yang sama. G. F. 3.c: C program text letter. ―{―. ―‖‖.Modul Praktikum Sistem Operasi D. ―’‖. tape. modem. Mencari File Jika ingin melihat bagaimana pohon direktori dapat digunakan perintah 1. titik. 4. Simbolic Link Link adalah sebuah teknik untuk memberikan lebih dari satu nama file dengan data yang sama. Character Device (Peralatan I/O) Merupakan representasi dari peralatan hardware yang menggunakan transmisi data karakter per karakter. ―|‖. Format : ln –s /FULLPATH/fileAsli /FULLPATH/fileDuplikat Pilihan –s (shortcut) merupakan bentuk soft link dimana jumlah link count pada file asal tidak akan berubah. Symbolic Link diperlukan bila file tersebut di ―link‖ dengan direktori /file yang berada pada partisi yang berbeda. antara lain :  Tipe file : menentukan tipe dari file. ―?‖. E. ―#‖. symbolic link dapat dibentuk melalui media disk atau partisi yang berbeda dengan soft link. symbolic link dapat dilakukan pada file yang tidak ada. Linux membedakan huruf kecil dengan huruf besar (case sensitive). Link File Properti File File mempunyai beberapa atribut. floppy.html: HTML document text Perintah ini dapat digunakan secara luas untuk file yang kadang membingungkan.

Menghapus satu atau lebih direktori hanya dapat dilakukan pada direktori kosong dan hanya dapat dihapus oleh pemiliknya kecuali bila diberikan ijin aksesnya $ rmdir B (Terdapat pesan error) $ ls -l B $ rmdir B/F B $ ls -l B (Terdapat pesan error) 5. Membuat satu direktori. locate Format : locate string Akan me ncari file pada semua directori dengan lebih cepat dan ditampilkan dengan path yang penuh.. $ pwd $ cd 3. Perintah cp untuk mengkopi file atau seluruh direktori $ cat > contoh Membuat sebuah file [Ctrl-d] $ cp contoh contoh1 $ ls -l $ cp contoh A $ ls –l A $ cp contoh contoh1 A/D $ ls –l A/D 2. Manipulasi file 1. Melihat direktori aktual dan parent direktori $ pwd $ cd . I. $ pwd $ cd /home/<user>/C $ pwd $ cd /<user/C (Terdapat pesan error $ pwd B. PRAKTEK A. Mencari Text Pada File Untuk mencari text pada file digunakan perintah grep (General Regular Expression Print) dengan format perintah grep option pattern files Grep akan mencari file yang bernama sesuai pattern yang diberikan dan akan menampilkan baris yang sesuai.. Perintah mv untuk memindah file $ mv contoh contoh2 $ ls -l Joko S STMIK El Rahma Yogyakarta | 10 .Modul Praktikum Sistem Operasi Akan melihat file yang bernama targetfile (bisa berupa karakter wildcard) 2. $ pwd $ cd . III. Melihat direktori HOME $ pwd $ echo $HOME 2. Direktory 1. lebih dari satu direktori atau sub direktori $ pwd $ mkdir A B C A/D A/E B/F A/D/A $ ls -l $ ls -l A $ ls -l A/D 4. Navigasi direktori dengan instruksi cd untuk pindah dari satu direktori ke direktori lain. $ pwd $ ls -l $ cd A $ pwd $ cd . which Format : which command Untuk mengetahui letak system utility 3.

dia/mereka. Perintah locate $ locate “*. Pindahkan file rumah ke folder aku 6. Copy file rumah ke file rumahku dan rumahnya.txt Melihat Isi File $ ls –l $ file halo. F. Hapus file rumahku 7. kamu/kalian.txt” –exec wc –l „{}‟ „. D. 5.txt $ ls -l $ ln halo. Perintah which $ which ls 3.txt z $ ls -l $ cat z $ mkdir mydir $ ln z mydir/halo.txt” Mencari text pada file $ grep Hallo *.juga $ ln -s z bye. 4.txt $ cat myerror. Buat link shortcut saya untuk file rumahnya Joko S STMIK El Rahma Yogyakarta | 11 .txt Mencari file 1. kamu.Modul Praktikum $ mv contoh1 contoh2 A/D $ ls –l A/D $ mv contoh contoh1 C $ ls –l C 3. 2. Buat direktori aku. Perintah rm untuk menghapus file $ rm contoh2 $ ls –l $ rm –i contoh $ rm –rf A C $ ls -l Symbolic Link Membuat shortcut (file link) $ echo "Hallo apa khabar" > halo.txt $ file bye. Buat file rumah. Tugas : 1.juga $ cat mydir/halo. dia.txt” –print > myerror.txt Sistem Operasi C.‟ 2. kamu/kalian/kami.txt $ cat bye. Perintah find $ find /home –name “*. yang isinya : Ada komputer dijual Barangnya bagus Tapi tidak selera 3.txt $ ls -l bye. Copy file rumah dan rumahku ke folder kamu/kalian/kami. –name “*. E.txt $ find .

melalui ^C 3 SIGQUIT Sinyal Quit. Foreground Proses yang diciptakan oleh pemakai langsung pada terminal (interaktif. Bila selesai. Misalnya bila melakukan pengeditan file teks dan ingin melakukan interrupt pengeditan untuk mengerjakan hal lainnya. melalui ^\ 9 SIGKILL Sinyal Kill. Mengontrol Proses Pada Shell Shell menyediakan fasilitas job control yang memungkinkan mengontrol beberapa job atau proses yang sedang berjalan pada waktu yang sama. Berdasarkan sinyal yang dikirim ini maka proses dapat bereaksi dan administrator/programmer dapat menentukan reaksi tersebut. menghentikan job seme ntara sangat berbeda dengan melakuakan interrupt job (biasanya menggunakan [Ctrl-C]). Umumnya nama proses daemon di UNIX berakhiran d.menerima input dari keyboard dan mengirim output ke layar. yaitu memberitahukan proses yang sedang berjalan bahwa ada sesuatu yang harus dikendalikan. 3. Job yang dihentikan sementara dapat dijalankan kembali pada foreground atau background sesuai keperluan dengan menekan ‖fg‖ atau ‖bg ‖. TEORI SINGKAT A. yaitu proses INIT. Pada foreground hanya diper untukkan untuk satu job pada satu waktu. Bila tidak ada request. Memahami penjadwalan prioritas. Job bekerja pada foreground atau background. sinyal dikirim bila proses terputus. Batch Proses yang dikumpulkan dan dijalankan secara sekuensial (satu persatu).      TUJUAN Memahami konsep proses pada sistem operasi Linux. kemudian diikuti oleh proses berikutnya (terdaftar pada /etc/inittab). dengan menekan [Ctrl-Z]. Daemon Proses yang menunggu permintaan (request) dari proses lainnya dan menjalankan tugas sesuai dengan permintaan tersebut. Mengirim Sinyal Mengirim sinyal adalah satu alat komunikasi antar proses. Standar nomor sinyal yang terpenting adalah : No Sinyal Nama Deskripsi 1 SIGHUP Hangup. Sinyal Proses dapat mengirim dan menerima sinyal dari dan ke proses lainnya. misalnya inetd. Menampilkan status proses dengan beberapa format berbeda. Proses mengirim sinyal melalui instruksi ―kill‖ dengan format kill [-nomor sinyal] PID Nomor sinyal : 1 s/d maksimum nomor sinyal yang didefinisikan system. satu atau lebih proses ‖child‖ akan dibuat oleh shell sesuai perintah yang diberikan. menghentikan proses 15 SIGTERM Sinyal terminasi software C. biasanya berjalan tanpa memerlukan interaksi. misalnya melalui putusnya hubungan modem 2 SIGINT Sinyal interrupt. Sebagai catatan. Sistem Operasi II. Prose Batch tidak diasosiasikan (berinteraksi) dengan terminal. Mengirim sinyal menggunakan instruksi. maka kernel akan menciptakan sebuah prosesid. Melakukan pengontrolan proses pada shell. Beberapa tipe proses : 1. dialog) 2. Joko S STMIK El Rahma Yogyakarta | 12 . kill [-nomor sinyal] PID Sebelum mengirim sinyal PID proses yang akan dikirim harus diketahui terlebih dahulu. Proses ini disebut juga dengan terminology Unix sebagai sebuah Job. Konsep Proses Pada Sistem Operasi Linux Proses adalah program yang sedang dieksekusi. Proses Id (PID) dimulai dari 0. Job pada foreground akan mengontrol shell . Setiap kali menggunakan utilitas sistem atau program aplikasi dari shell. dapat kembali (switch) ke editor dan melakukan pengeditan file teks kembali. named. dimana job yang diinterrup akan dimatikan secara permanen dan tidak dapat dijalankan lagi. Setiap kali instruksi dibe rikan pada Linux shell. Menampilkan beberapa cara menampilkan hubungan proses parent dan child. Job pada foreground kemungkinan dihentikan sementara (suspend). D. Job pada background tidak menerima input dari terminal.Modul Praktikum MODUL IV PROSES DAN MANAJEMEN PROSES I. popd dll B. maka program ini akan berada dalam kondisi ―idle‖ dan tidak menggunakan waktu hitung CPU.

PID adalah Nomor Identitas Proses. Untuk menampilk an proses dan ancestor yang tercetak tebal gunakan opsi –h. $ pstree | grep mingetty 6. Ketik ps –e f dan tekan Enter. Mencari proses yang spesifik pemakai. Proses ditampilkan secara terurut dari utilitas CPU. Proses child muncul dibawah proses parent. 2. Menampilkan Hubungan Proses Parent dan Child 1. Sebagai contoh proses init sebagai parent (ancestor) dari semua proses pada sistem. Proses bash mempunyai proses child startx. Joko S STMIK El Rahma Yogyakarta | 13 . Proses diatas hanya terbatas pada proses milik pemakai. Mengontrol Proses Lain Perintah ps dapat digunakan untuk menunjukkan semua proses yang sedang berjalan pada mesin (bukan hanya proses pada shell saat ini) dengan format : ps –fae atau ps –aux Beberapa versi UNIX mempunyai utilitas sistem yang disebut top yang menyediakan cara interaktif untuk memonitor aktifitas sistem. COMMAND merupakan instruksi yang digunakan. $ ps -eH 3. SIZE adalah jumlah memori yang digunakan. Kunci yang berguna pada top adalah s – set update frequency u – display proses dari satu user k – kill proses (dengan PID) q – quit Utilitas untuk melakukan pengontrolan proses dapat ditemukan pada system UNIX adalah perintah killall. TTY adalah nama terminal dimana proses tersebut aktif. Beberapa child dari init mempunyai child. Mencari proses lainnya gunakan opsi a (all) dan au (all user) $ ps –a $ ps –au 6. Proses child ditandai dengan awalan beberapa spasi. Status Proses 1. Statistik secara detail dengan proses yang berjalan ditampilkan dan secara terus-menerus di-refresh. III. Proses startx mempunyai child xinit dan seterusnya. Pindah ke command line terminal (tty2) dengan menekan Ctrl+Alt+F2 dan login ke terminal sebagai user. START adalah kapan proses tersebut diaktifkan $ ps -u 4. Opsi –f akan menampilkan status proses dengan karakter grafis (\ dan _) $ ps –e f 4.Modul Praktikum Sistem Operasi E. Selain menampikan semua proses. dimana pemakai teresbut melakukan login $ ps –u <user> 5. Ketik ps –eH dan tekan Enter. proses dikelompokkan dalam satu baris dengan suatu angka sebagai jumlah proses yang berjalan. $ ps 3. Untuk melihat faktor/elemen lainnya. gunakan option –u (user). 2. Logout dan tekan Alt+F7 untuk kembali ke mode grafis B. Ketik pstree | grep mingetty dan tekan Enter. Untuk melihat semua PID untuk proses gunakan opsi –p. Pindah ke command line terminal (tty2) dengan menekan Ctrl+Alt+F2 dan login ke terminal sebagai user. Perintah ini akan menghentikan proses sesuai PID atau job number proses. $ pstree –p 7. Akan ditampilkan semua proses pada sistem dalam bentuk hirarki parent/child. Proses parent di sebelah kiri proses child. PRAKTEK A. Akan menampilkan semua proses mingetty yang berjalan pada system yang berupa console virtual. Instruksi ps (process status) digunakan untuk melihat kondisi proses yang ada. %CPU adalah presentasi CPU time yang digunakan oleh proses tersebut. $ pstree 5. Menampilkan Status Proses dengan Berbagai Format 1. Proses login mempunya i proses bash sebagai child. $ pstree –h C. RSS (Real System Storage) adalah jumlah memori yang digunakan. Tampilan serupa dengan langkah 2. STAT berisi S (Sleepin g) dan R (Running). Opsi e memilih semua proses dan opsi H menghasilkan tampilan proses secara hierarki. Pindah ke command line terminal (tty2) dengan menekan Ctrl+Alt+F2 dan login ke terminal sebagai user. Ketik pstree dan tekan Enter. %MEM adalah presentasi system memori yang digunakan proses.

Lihat status job setelah diterminasi $ jobs E. 6. Jika proses hanya menggunakan sedikit memory system akan dita mpilkan 0. $ ps ef | more Jika halaman penuh terlihat prompt --More-.cmd | more Jika halaman penuh terlihat prompt --More-. Terdapa 5 kolom : PID. $ ps –e | more Jika halaman penuh terlihat prompt --More-. Untuk menghentikannya. Menghentikan dan memulai kembali job 1. Kemudian gunakan perintah bg untuk meletakkan job pada background. bukan menghentikannya (terminate ). $ fg Joko S STMIK El Rahma Yogyakarta | 14 . gunakan perintah fg. 3. Opsi a akan menampilkan semua proses yang dihasilkan terminal (TTY).%mem. Untuk melihat status proses gunakan perintah jobs. tetapi menghentikan sementara job sampai di restart. gunakan perintah kill diikuti job number atau PID proses. tekan q untuk kembali ke prompt perintah. tekan q untuk kembali ke prompt perintah. stop job dan memulai lagi pada background $ yes > /dev/null Hentikan sementara job (suspend ). PPID adalah proses ID dari proses parent. Secara logika opsi ini sama dengan opsi –e. Opsi -e menampilkan semua proses dalam bentuk 4 kolom : PID. Akan menampilkan kolom PID. cmd | more dan tekan Enter. $ bg Job tidak bisa dihentikan dengan Ctrl-Z karena job berada pada background. Salah satu cara agar perintah yes tetap dijalankan tetapi shell tetap digunakan untuk hal yang lain dengan meletakkan proses pada background dengan menambahkan karakter & pada akhir perintah. Untuk menghentikan sementara job gunakan Ctrl-Z. 3. Opsi x menampilkan semua proses yang tidak dihasilkan terminal. diikuti prefix dengan karakter ‖%‖. 4. Opsi –eo akan menampilkan semua proses dalam format sesuai definisi user yaitu terdiri dari kolom PID dan CMD. $ yes > /dev/null & Angka dalam ‖[ ]‖ merupakan job number diikuti PID. tekan q untuk kembali ke prompt perintah. Mengontrol proses pada shell 1. Untuk menghentikan job. $ jobs 6. 2. Logout dan tekan Alt+F7 untuk kembali ke mode grafis D. Ketik ps ax | more dan tekan Enter. Pindah ke command line terminal (tty2) dengan menekan Ctrl+Alt+F2 dan login ke terminal sebagai user.di bagian bawah screen.di bagian bawah screen.Modul Praktikum Sistem Operasi 2. TIME dan COMMAND. STAT.ppid.cmd | more dan tekan Enter. Ketik ps –e f | more dan tekan Enter. $ ps –eo pid. Cara lain meletakkan job pada background dengan memulai job secara normal (pada foreground). 2. %MEM menampilkan persentasi memory system yang digunakan proses.ppid. TTY. Shell akan menampilkan nama perintah yang diletakkan di foreground. PPID dan %MEM.di bagian bawah screen. $ kill %<nomor job> contoh : kill %1 7. Ketik ps –e | more dan tekan Enter. $ ps ax | more Jika halaman penuh terlihat prompt --More-. Ketik ps –eo pid. letakkan job pada foreground dengan fg dan kemudian hentikan sementara dengan Ctrl-Z.%mem. Untuk restart job pada foreground . tekan q untuk kembali ke prompt perintah. Gunakan perintah yes yang mengirim output y yang tidak pernah berhenti $ yes Untuk menghentikannya gunakan Ctrl-C. 5.cmd | more 7. Belokkan standart output ke /dev/null $ yes > /dev/null Untuk menghentikannya gunakan Ctrl-C. TIME dan CMD. Ketik ps –eo pid. 5. Stop job lagi dengan Ctrl-Z. TTY. $ ps –eo pid. Untuk identifikasi job number. Opsi –e f akan menampilkan semua proses dalam format daftar penuh. $ fg 3. 4.di bagian bawah screen.

15. Tunggu beberapa saat sampai top berubah dan lihat nilai %CPU pada kedua proses. Lihat perubahannya. Program top memberikan prompt Renice PID 3148 to value: tekan -19 dan tekan Enter. Pada terminal keempat. 7. atur posisi sehingga keempat terminal terlihat pada screen. bukalah program executable C++ dengan mengetik program yes dan tekan Enter. ketik top dan tekan Enter. Buka 3 terminal. Tunggu beberapa saat agar program top berubah dan akan terlihat proses primes ketiga. Kemudian hentikan proses dengan perintah kill. ketik PS1 = ” \w:” diikuti Enter. 7. Karena login sebagai root. 3. kemudian dilanjutkan dengan Ctrl-Z untuk menghentikan sementara. 11.0) dan konsisten. Pilih Jendela Top dan tekan r. Renice PID 4107 to value: muncul prompt. 5. Logout dan login kembali sebagai user. Kolom status menunjukkan < pada proses 3148 yang menunjukkan penjadwalan prioritas lebih rendah (lebih cepat) dari nilai 0. tampilkan pada screen yang sama. 9. Lihat job dengan perintah ps -fae dan tekan Enter. Pada terminal 1. Hal ini berarti mengganti penjadwalan prioritas dari proses ke 19. 12. Misalnya PID nya 4107. Program top terdapat prompt PID to renice: tekan 3148 (ingat bahwa Anda harus mengganti 3148 dengan PID Anda sendiri) dan tekan Enter. kemudian dilanjutkan dengan Ctrl -Z untuk menghentikan sementara. Pilih terminal 3 (yang sedang tidak menjalankan yes atau program top) dan ketik nice –n -10 yes dan tekan Enter. Jangan menggunakan mouse dan keyboard selama 10 detik. 16. misalnya 3148 dan 3149. 10. \w menampilkan path pada direktori home. dimana dapat diabaikan jika mencoba mengerjakan job lain. $ ps -fae $ kill -9 <NomorPID> 8. 8. Joko S STMIK El Rahma Yogyakarta | 15 . tekan fg dan tekan Enter. PID dari kedua proses akan berbeda. Kemudian gunakan terminal 3 (yang tidak menjalankan primes maupun Jendela Top) dan ketik renice 19 <PID terimnal 1> (contoh : renice 19 3148) dan diikuti Enter. Maka program top akan muncul. Hal ini berarti bahwa penjadwalan prioritas untuk proses 3148 lebih besar (lebih lambat) dari 0. Hal ini berarti kedua proses mengkonsumsi waktu proses yang sama dan berjalan sama cepat. Ketik lmt. Login sebagai root. Proses 3149 berjalan lebih cepat. Ketik i. Job harus dipindah ke foreground. Ketik 0 dan tekan Enter. letakkan job pada foreground atau background dengan memberikan job ID $ fg %2 atau $ %2 $ bg %2 6. panel dll. Top tidak lagi menampilkan informasi pada bagian atas dari screen. Maka akan terlihat proses top terdaftar tetapi %CPU kecil (dibawah 1. Sekarang pindahkan mouse ke sekeliling screen.Modul Praktikum Sistem Operasi 4. ketik r. 13. baru dihentikan dengan cara tekan fg dan tekan Enter. Buka terminal lagi (keempat). Tunggu beberapa saat sampai program top berubah dan terlihat pada jendela Top. terminal ke empat sebagai je ndela Top. Tutup semua terminal window. 2. Sekarang proses 3148 lebih cepat dari proses 3149. Proses tambahan akan muncul dan nilai %CPU berubah sebagai bagian grafis yang bekerja. Pada setiap terminal. Opsi -10 berada pada kolom NI (penjadwalan prioritas). Untuk setiap terminal ketik pwd dan tekan Enter untuk melihat bahwa Anda sedang berada pada direktori /root. Logout dan tekan Alt+F7 untuk kembali ke mode grafis F. Ulangi langkah 7 untuk terminal 2. Percobaan dengan Penjadwalan Prioritas 1. Job pada background dapat digunakan untuk menampilkan teks pada terminal. 4. 17. 5. 6. $ yes & Untuk menghentikannya tidak dapat menggunakan Ctrl-C. Pindahkan mouse sehingga kursor berubah pada screen dan lihat apa yang terjadi dengan tampilan top. Pada kolom STAT memperlihatkan N untuk proses 3148. Jendela Top akan menampilkan dua program yes sebagai proses yang berjalan. Satu alasan adalah bahwa proses 4107 berjalan pada penjadwalan prioritas tinggi. Ketik 4107 (ubahlah 4107 dengan PID Anda) dan tekan Enter. Nilai %CPU sama pada keduanya. Apabila ingin menjalankan banyak job dalam satu waktu. 14. Program top menampilkan proses yang aktif selain program yes. Top akan menampilkan proses yang aktif. Pilih jendela Top. maka akan ditampilkan ~: pada setiap terminal. Juga terlihat proses berhubungan dengan dekstop grafis seperti X. Pada percobaan ini. Program top juga mempunyai fungsi yang sama dengan program renice. PID to renice : muncul prompt.

kecuali pada fasilitas pemrograman dan editing. 2. Bila ada. /bin/bash Kompatibel dengan Bourne Shell dan juga mengadaptasi kemampuan Korn-Shell. /bin/sh Bourne shell. .bash_logout Pada saat logout. Untuk eksekusi bash script gunakan . 3. History History diadaptasi dari C-Shell. Catatan ini dapat dilihat sebagai history. yaitu : 1. Sebuah Job dianggap selesai. .Modul Praktikum MODUL V BEKERJA DENGAN BASH SHELL I. login pertama kali akan memeriksa file .bash_logout. Command line Editor vi mengintepretasikan input sebagai instruksi untuk dieksekusi oleh editor. Shell ditandai dengan prompt. terutama bila terjadi kesalahan pada penulisan instruksi maupun parameter. memeriksa sintak dari instruksi yang diberikan. /bin/csh Dikembangkan oleh UNIX Berkeley yang dikenal dengan C -Shell 3. sebelum file bash-script yang berarti eksekusi shell dan tanda . History memudahkan pemakai untuk mengedit kembali instruksi kompleks dan panjang. Menggunakan feature history pada Bash Shell. maka dicari file bernama . Bila tidak ada.bashrc File ini akan dieksekusi untuk perpindahan dari satu shell ke shell yang lain melalui instruksi su. mengganti teks secara otomatis dan lainnya.        TUJUAN Memahami shell pada sistem operasi Linux. maka bash akan mencari file . diedit dan dieksekusi. file tersebut akan dieksekusi sebelum logout C.bash_profile .profile . 4. program akan menjalankan beberapa program yaitu : 1. Melakukan konfigurasi Bash Shell untuk menjalankan skrip secara otomatis. Editor Vi Vi adalah full screen editor. Mengubah feature history pada Bash Shell dan prompt shell. Menggunakan alias. Perbedaan mendasar antara Shell diatasi hampir tidak ada. baik proses Background maupun proses Foreground.bash_login tidak ada. Beberapa macam shell : 1. F. maka file . Bila . Untuk pemakai menggunakan prompt $ dan untuk superuser menggunakan promp #. dirancang oleh Steve Bourne dari AT&T 2. yaitu catatan dari semua instruksi yang sejauh ini telah dilakukan. /etc/profile Berisi shell script yang berlaku untuk seluruh pengguna Linux. TEORI SINGKAT A. Joko S STMIK El Rahma Yogyakarta | 16 . bila eksekusi program tersebut berakhir. B. artinya program yang menunggu instruksi dari pemakai. Navigasi pada daftar history menggunakan karakter kontrool sebagai berikut : ^P (Ctrl-P) melihat instruksi sebelumnya ^N (Ctrl-N melihat instruksi berikutnya !! eksekusi kembali instruksi sebelumnya !! –3 3 instruksi sebelumnya akan diulang !!88 ulangi instruksi no 88 D. contoh seperti mencari teks. Sistem Operasi II. kemudian mengeksekusi perintah tersebut. Membuat dan mengeksekusi shell script sederhana melalui editor vi. kemudian dapat dipilih kembali. artinya editor tersebut dapat memanfaatkan fasilitas satu layar penuh. Vi mempunyai 2 buah modus. Bash-Script Bash-script adalah file yang berisi koleksi program yang dapat dieksekusi. Shell Shell adalah Command executive. Memahami job control dan stack.bash_login akan dicari. Profil untuk setiap pemakai Pada home directory. E. Eksekusi Job adalah sama dengan eksekusi program. Profile Pada saat login. Job Control Job adalah sebuah eksekusi program yang diberikan kepada kernel./ berarti file bash-script berada pada direktori actual.

tekan tombol Esc. Masukkan perintah berikut dan tekan Enter pada setiap baris. Melihat file . File .bash_profile adalah hidden file. berikan Bash shell beberapa perintah untuk diingat. Cara paling mudah adalah menggunakan Panah Atas.bash_logout akan diekseksi sesaat sebelum logout. File . sehingga untuk melihatnya gunakan opsi a pada instruksi ls. Maka perintah sebelumnya akan ditampilkan. Anda dapat mengaksis history dalam beberapa cara.Modul Praktikum Sistem Operasi 2. File . artinya membersihkan semuanya. X Menghapus 1 huruf (di sebelah kanan posisi k ursor) Dw Manghapus 1 kata (di sebelah kanan posisi kursor) Dd Menghapus 1 baris (di sebelah kanan posisi kursor) Yy Mengkopi 1 baris 2yy Mengkopi 2 baris P (Paste) Menampilkan baris kalimat yang sudah dikopi dengan kunci yy Cw Mengganti 1 kata yang telah ditulis di sebelah kanan posisi kursor dengan kata lain Cc Mengganti 1 baris kalimat yang telah ditulis di sebelah kanan posisi kursor dengan kalimat lain ctrl-b Mundur satu layar ctrl. Pada bagian bawah layar akan tampil teks ―INSERTING‖. $ cd Joko S STMIK El Rahma Yogyakarta | 17 .bash_logout dengan instruksi $ cat . maka kita harus I (shift i) Menyisipkan teks (di posisi awalbaris) menekan tombol Esc A(shift a) Menyisipkan teks (di posisi akhir baris) terlebih dahulu. Kunci-kunci teks editor vi dapat dilihat pada tabel sebagai berikut : Kunci Keterangan H Pindah kursor ke kiri satu karakter J Pindah kursor ke kanan satu karakter K Pindah kursor ke atas L Pindah kursor ke bawah O Menyisipkan teks (satu baris setelah posisi kursor) Untuk keluar dari 5 model kunci insert di samping ini I Menyisipkan teks (di sebelah kiri posisi kursor) dan mengaktifkan kunci A Menyisipkan teks (di sebelah kanan posisi kursor) kunci lain. Menggunakan Feature History Bash 1. Profile 1. PRAKTEK A. Berikutnya. Dengan menekan tombol ―i‖ maka akan memasuki editing.f Maju satu layar ctrl-d Maju setengah layar B Menggerakkan kursor ke kiri satu kata W Manggerakkan kursor ke kanan satu kata ^ Pergi ke awal baris $ Pergi ke akhir baris U Membatalkan perintah yang terakhir kali U Membatalkan seluruh perubahan teks pada baris tempat kursor berada :! Keluar untuk sementara dari editor vi dan menjalankan perintah yang lain :wq Write dan quite. 2. Pada awal vi dijalankan. Editing Editor vi mengintepretasikan input sebagai teks yang akan dimasukkan ke dalam buffer editor. $ ls –a $ more .bash_profile dijalankan pada home direktori pemakai yang login. Bash shell menyimpan ‖history‖ perintah yang digunakan sebelumnya. Untuk kembali ke command mode. berfungsi sebagai house clearing jobs. simpan berkas dan keluar :q! Keluar vi tanpa menyimpan :se all Menampilkan semua pilihan set status :se nu Menampilkan nomor baris pada kiri layar /string Mencari string ke arah depan ?string Mencari string ke arah belakang N Meneruskan pencarian untuk arah yang sama N Meneruskan pencarian untuk arah yang berbeda III. maka program memasuki command mode. misalnya menghapus temporary file atau job lainnya.bash_profile 2.bash_logout B.

Jika diketikkan !who maka yang dijalankan adalah perintah who. Tetapi bila Anda ketikkan !whoa maka yang dijalankan adalah perintah whoami. Kemudian gunakan perintah history. Anda dapat mencari perintah dengan menyertakan perintah yang diinginkan. Ketik perintah berikut $ echo „Ini perintah saya‟ 5. $ history $ tail . $ echo „HISTSIZE=5000‟ >> . Perintah history bersifat up to date.bash_history 1000 . $ tail . Misalnya ketik cat /bin/bash | strings | grep shell | less dan tekan Enter.bashrc pada home directory. $ !?etc? 6. masukkan kunci ! diikuti nomor perintah.bash_history 8. Cara yang mudah menggunkaan nomor pada perintah history atau mencarinya.bash_history. Lihat beberapa baris pada file . Anda bisa menggantikant string pada perintah history. Log out dan log in kembali sebagai user yang sama.bash_history dan tekan Enter. Ketik history dan tekan Enter. $ cd 2.bash_history 6. maka ubahlah variable HISTSIZE pada skrip startup yang disebut . Bash shell akan menyimpan perintah history meskipun telah log out dan login kembali. Tekan spacebar untuk melihat file lebih banyak. $ history 4. Anda dapat memilih perintah sebelumnya dengan menggunakan Panah Atas. File ini bukan file yang up to date. Misalnya !?etc?! akan menjalankan perintah ls –l /etc yang sebelumnya digunakan. $ !<Nomor Perintah> Contoh : !780 5. $ !?wombat99? 8. maka akan terlihat perintah ls –l /etc yang kedua dan bukan !?etc? $ history 7.bash_history. $ history 4. terutama pada perintah yang panjang.bashrc Joko S STMIK El Rahma Yogyakarta | 18 . dapat menggunakan perintah history untuk melihat semua perintah yang pernah dimasukkan. Untuk keluar tekan q. karena disimpan pada memory sistem. maka Anda tidak perlu mengetik perintah yang panjang lagi. Ketik history dan tekan Enter. Maka akan menampilkan semua string pada file /bin/bash yang berisi kata ‖shell‖. Untuk memilih dan mengeksekusi perintah dengan nomor. Maka perintah echo ’Ini perintah saya’ akan berada pada baris terakhir. Maka akan terlihat baris terakhir adalah perintah history dan baris sebelumnya adalah tail . $ !who $ !whoa 9.bash_history. Output menunjukkan bahwa 1000 perintah history disimpan pada file history. Untuk melihat jangkauan history ketik sebagai berikut $ set|grep HISTSIZE 9. tetapi hal ini tidak efisien untuk perintah yang semakin bertambah banyak.bash_history menyimpan file history yang terdapat pada home directory. maka perintah tsb akan terdapat pada file . Bila ingin memperbesar jangkauan file history.bash_history dengan ketik tail . $ cat /bin/bash | strings | grep shell | less $ ^shell^alias^ C. File . Untuk keluar tekan q $ history|less 7. Mengubah Feature History Bash 1.Modul Praktikum Sistem Operasi $ ls –l /etc $ ls –l $ whoami $ who 3. Lihat file . tetapi cukup ketik ^shell^alias^ dan tekan Enter maka akan menggantikan kata ‖shell‖ dengan ‖alias‖. Untuk melihat jangkauan (limit) perintah history digunakan variable HISTSIZE. Jika ingin menampilkan kata ‖alias‖. Ketik history|less untuk melihat perintah history terakhir pada screen.bash_history 3. Untuk melihat berapa banyak perintah history yang ada pada file ketik berikut dan output yang keluar serupa di bawah ini $ wc –l . Apabila string tidka ditemukan pada perintha history maka akan terdapat pesan error. Untuk memeriksa apakah perintah ini ditambahkan pada history.

berkedip dan warna kebalikannya. Jika current directory adalah home directory. Sebagai contoh. Anda bisa menampilkan atribut visual seperti lebih terang. Ketik penutup quote (‘) dan tekan Enter. Untuk mendapatkan prompt warna merah ketikkan berikut : $ PS1=‟\033[0. Prompt PS2 digunakan sebagai prompt sekunder. Lihat perubahan variabel HISTSIZE. 32=hijau. PS3 dan PS4.31m\w\$ \033[0. Direktory dapat ditampilkan dalam bentuk keseluruhan path atau hanya nama direktory.34m\w\033[5.32m\$ \033[0.37m‟ E.bashrc 13. Bila menginginkan beberapa warna. Log out dan log in kembali sebagai user yang sama. $ echo ‟Hello Selesai memasukkan perintah Anda:‟ 9. yaitu PS2. $ set|grep HISTSIZE 11. ketik echo ’Hello (tanpa diakhiri penutup quote) dan tekan Enter. ” muncul diikuti dengan prompt PS1 pada baris baru.37m‟ 10. $ echo ‟Hello >‟ 7. seperti perintah berikut : $ PS1=’\033[1.37m‟ 30=hitam. Mengubah Prompt Shell 1. Prompt BASH dapat ditampilkan berwar na dengan melakukan setting colorsetting string . Contohnya. Ketik perintah berikut : $ PS2=‟Selesai memasukkan perintah Anda:‟ 8. Selain menampilkan string statik sebagai prompt. maka perintah ini akan disimpan pada BASH history meskipun yang diketikkan perintahnya sama. ketikkan perintah berikut : $ PS1=‟\033[0. Ketikkan perintah history beberapa kali. 11.34m\w\033[1.37m‟ 14. Kemudian ketikkan penutup quote (’) dan tekan Enter.34m\w\$ \033[0. Untuk setting warna menjadi biru ketikkan berikut : $ PS1=‟\033[0. Anda dapat menampilkan menjadi dinamis. Perintah ini akan menyelesaikan prompt PS2. 36=cyan.31m\w\033[0. Untuk menampilkan prompt yang lebih terang. Pastikan Anda berada di home directory $ cd ~ Joko S STMIK El Rahma Yogyakarta | 19 .Modul Praktikum Sistem Operasi 10. Ketik cd /usr/sbin untuk melihat prompt /usr/sbin: $ cd /usr/sbin 5. Simbol lebih besar dari (>) akan muncul. akan menampilkan current working directory yang diikuti $ (atau # jika anda login sebagai root). Menambahkan otomatisasi ke Prompt Shell 1. Jika perintah selesai. maka kata Hello akan muncul diikuti prompt PS1 pada baris baru. 34=biru. Anda dapat mengubah prompt PS2 seperti mengubah prompt PS1. Kebanyakan orang menginginkan prompt Bash menampilkan current working directory.34m\w\033[7. Pada baris berikutnya akan muncul Selesai memasukkan perintah Anda:. 31=merah.32m\$ \033[0. Ketik PS1=’\t:’ dan tekan Enter untuk menampilkan waktu sistem dalam format 24 jam sebagai prompt Bash. Anda dapat melakukan konfigurasi BASH agar tidak menambah perintah ke history jika perintah yang diketikkan sama dengan sebelumnya. Log out dan log in kembali sebagai user yang sama. Prompt Bash shell dikonfigurasi dengan men-setting nilai variabel PS1.37m’ 13. kata ”Hello. 12. seperti perintah berikut : $ PS1=‟\033[5. Ada beberapa prompt BASH lain yang dapat diubah. D. Hal ini dilakukan dengan menambahkan variabel HISTCONTROL dan diberikan nilai ignoredups pada file .32m\$ \033[0.37m‟ 12. Untuk menampilkan format 12 jam dengan indikator am dan pm ketik sebagai berikut : $ PS1=‟\t:‟ 3. atribut control diganti 5. 35=ungu. maka tampil prompt ~ : $ PS1=‟\w:‟ 4. Format dalam HH:MM:SS $ PS1=‟\t:‟ 2. 37=putih. Untuk menampilkan prompt dengan warna berkebalikan. Karakter \w menampilkan hanya nama direktory. seperti perintah berikut : $ PS1=‟\033[7. Ketik PS1=’\W:’ untuk melihat prompt sbin: $ PS1=‟\W:‟ 6. apabila ingin menunjukkan current directory atau current time. Ketikkan history beberapa kali dan perhatikan berapa kali history muncul. prompt BASH di-set dengan \w\$. Untuk menampilkan prompt berkedip.32m\$ \033[0. atribut control diganti 7.bashrc $ echo „HISTCONTROL=ignoredups‟ >> . Kemudian ketik echo ’Hello (tanpa diakhiri penutup quote) dan tekan Enter. Untuk melihat bagaimana penggunaannya. Hal ini memberitahukan bahwa BASH menunggu Anda menyelesaikan perintah. atribut control diganti 1.

bashrc. p1. Proses foreground $ ps x 2. $ echo ‟John Smith:13001‟>>list 6.sh 3./p1. Anda tidak perlu menambahkan variable PROMPT_COMMAND=~/sorter pada file konfigurasi seperti .Modul Praktikum Sistem Operasi 2.sh echo “Program bash Script” 2. Ketik cat list dan tekan Enter.sh $ vi p1. Buatlah file ploop. gunakan perintah echo untuk membuat file. Membuat Bash-script dan menjalankannya 1. Menjalankan beberapa program shell dalam satu baris instruksi yang dipisahkan dengan tanda . Maka Anda akan melihat isi file list. Tambahkan pada file p1.sh . Jalankan program sorter diatas setiap shell Bash menampilkan prompt PS1. Setiap job mempunyai PID yang tunggal (unique). $ cat p1. tetapi karena hanya satu baris. Buatlah skrip sederhana untuk mengurut daftar file.sh $ . Untuk melakukannya. mv ~/r13 ~/list‟ > ~/sorter 3. Job Control 1. buatlah variable PROMPT_COMMAND dimana nilainya adalah nama dari program sorter. Proses background $ ps x > hasil & 3. $ echo ‟sort ~/list > ~/r13. $ echo ‟Anita:13002‟>>list $ echo ‟Sponse Bob:13005‟>>list $ echo ‟Samantha:13003‟>>list $ echo ‟Lisa:13006‟>>list $ echo ‟Patrik:13004‟>>list $ echo ‟Squid:13007‟>>list 8. Untuk melihat jobs yang aktif $ jobs 4. Apabila Anda tidak menginginkan Shell Bash menampilkan file terurut sepanjang waktu. Pada saat ini.sh $ chmod +x p1. File ini tidak akan pernah berhenti kecuali ditekan Ctrl-C $ vi ploop.sh $ .sh sleep 10 #!/bin/bash echo “Hallo” while [ true ] done do Joko S STMIK El Rahma Yogyakarta | 20 . Kemudian ketik cat list dan tekan Enter. Buatlah file p2. .sh $ sh p1.sh $ . Anda dapat menggunakan teks editor.sh #!/bin/bash echo “Program bash script” 5.sh G. $ cat list 7.sh $ vi p2. Menjalankan script $ bash p1. cat p2.sh #!/bin/bash echo “Program 2 bash script” 6. Ketikkan echo ’John Smith:13001’>>list dan tekan Enter. Jika file list tidak ada.sh 4. Bila Anda ingin BASH berhenti menjalankan program sorter.sh $ ls –l p1.sh konvensi tersebut $ vi p1. string ’John Smith:13001’ aka h ditambahkan. Mengubah program menjadi executable $ ls –l p1. $ PROMPT_COMMAND=~/sorter 5. tetapi jika sudah ada. file mungkin mempunyai hanya satu baris sehingga tidak dapat dilihat apakah file sudah terurut. $ PROMPT_COMMAND= F. Membuat file p1. Masukkan bebe rapa perintah serupa dengan point 5 tetapi dengan nama dan nomor yang berbeda./p1. Konvensi dalam pembuatan script shell dinyatakan sebagai #!/bin/bash. Buatlah file skrip diatas menjadi file executable $ chmod +x sorter 4.sh ./p2.sh. maka ketikkan variable PROMPT_COMMAND= dan tekan Enter atau log out dan login kembali. akan dibuat secara otomatis.

Membuat beberapa alias $ alias del=‟rm –i‟ $ alias h=‟history‟ 3. Alias 1. Manipulasi stack untuk Direktori 1.Modul Praktikum Sistem Operasi H. Instruksi dirs digunakan untuk melihat stack direktori. Alias adalah mekanisme untuk memberi nama alias pada satu atau sekelompok instruksi. Untuk menghapus alias gunakan instruksi unalias $ unalias del $ del files (Terdapat Pesan Kesalahan) Joko S STMIK El Rahma Yogyakarta | 21 . Membuat 3 buah direktori $ mkdir marketing sales support I. Gunakan instruksi hasil alias $ ls $ del hasil $ h | more 4. Untuk melihat alias yang sudah terdaftar pada system : $ alias 2. pada output hanya ditampilkan direktori home ~ $ dirs 2.

instruksi echo dapat menampilkan isi variable tersebut. Membaca Keyboard Nilai variable dapat diisi melalui keyboard (stdin) dengan instruksi read. baris ini akan diabaikan oleh program shell. $8 dan $9. maka nilai $# adalah 0. 3. sebagai dokumentasi. contoh : VPT=‖STMIK El Rahma Yogyakarta‖ Gaji=450000 echo $VPT echo $Gaji C. yang dimulai dengan tanda #. Pid ini akan terus berubah (umumnya) menaik. Tata penulisan variable adalah sebagai berikut : nama_var = nilai_var Variable harus dimulai dengan alfabet. Pemberian nilai variable tidak boleh dipisahkan dengan spasi. D. Bila program berakhir dengan sukses. Untuk melihat nilai/isi dari sebuah variable. $4. Awal dari program shell. maka string tersebut harus berada dalam tanda kutip atau apostrof. Nama program she ll (nama script) direpresentasikan melalui variable $0. Script selalu diawali dengan komentar. $5. $$ menyatakan nomor proses id (pid) dari script yang dijalankan. Penggunaan variable (assignment). Shell membedakan huruf besar dan huruf kecil (case sensitive). $7. /bin/ksh dan lainnya 2. disusul dengan alfanumerik dan karakter lain. Program shell dapat dipilih. Bila tidak memberikan parameter. karena shell akan menganggap pemisahan tersebut sebagai parameter. Pada shell. Bila menggunakan string yang terdiri dari lebih dari satu kata. disambung dengan ! dan nama shell yang digunakan. Parameter Sebuah program shell dapat mempunyai parameter sebanyak 9 buah dan direpresentasikan melalui variable khusus yaitu variable $!. $? 0 Nilai dari status exit dapat dilihat melalui instruksi echo $? F. $6.Modul Praktikum MODUL VI PEMROGRAMAN SHELL 1 I. komentar awal ini akan dibaca oleh system.sh‖. misalnya /bin/csh. Konstruksi If if instruksi-awal then instruksi1 instruksi2 Joko S STMIK El Rahma Yogyakarta | 22 . E. #!/bin/sh [1] # Program shell [2] # var1=x [3] var2=8 1. Shell variable $* menyatakan seluruh string yang menjadi parameter / argument sebuah script ($@ mempunyai arti yang sama). Status Exit Setiap program setelah selesai dieksekusi akan memberikan informasi melalui variable spesial $?. $? = 0 2. setiap kali proses berjalan. kemudian system mengaktifkan program shell (/bin/sh) yang tertera di situ. Indikasi yang diberikan adalah : 1.       TUJUAN Mempelajari elemen dasar shell script Membuat program shell interaktif Menggunakan parameter dalam program Mempelajari test kondisi serta operator logic yang terkait dengan instruksi test Mengenal variable built-in dari shell Membuat aplikasi dengan shell menggunakan konstruksi if-then-else Sistem Operasi II. $3. Shell Script Shell script dibuat dengan editor teks (ASCII editor) dan umumnya diberikan ekstensi ―. Variabel. TEORI SINGKAT A. Bila program berakhir dengan error. gunakan tanda $ di depan nama variable tersebut. Variabel dapat ditulis dalam huruf kecil atau huruf besar atau campuran keduanya. tidak boleh ada spasi di antara nama variable dan konstanta B. Jumlah parameter dinyatakan sebagai $#. Variable shell adalah variable yang dapat mempunyai nilai berupa nilai String. $2. Adalah komentar.

dapat ditulis. Bila 0. 1. Bila hasil instruksi1 adalah FALSE.1 instruksi1. jika -f namafile File ada. III.sh Joko S STMIK El Rahma Yogyakarta | 23 .2 ……………… else instruksi2. Oleh karena itu. Oleh karena itu instruksi2 tidak perlu dijalankan. G.1 instruksi2. Hasil test akan memberikan nilai berupa status exit. Instruksi Test Instruksi test digunakan untuk memeriksa kondisi dari sebuah ekspresi. Sebaliknya bila hasil instruksi1 adalah TRUE(0). H. PRAKTEK A. maka instruksi2 dijalankan. sehingga instruksi2 tidak mempunyai pengaruh lagi. bila exit status adalah TRUE(0). kosong dan lainnya. file adalah direktori -r namafile File dapat dibaca -w namafile File dapat ditulis -x namafile File adalah executable -s namafile File ada dan tidak kosong -w namafile File dapat ditulis Untuk memudahkan pembacaan (readability). Notasi && dan || sering ditemukan dalah shell script system administrator untuk menjalankan routine dari system operasi. instruksi1 && instruksi2 shell akan mengeksekusi instruksi1.sh dengan editor vi $ vi prog01. maka instruksi selanjutnyua masuk ke dalam blok then. I. maka alur program diteruskan setelah kunci kata fi.2 ……………… Fi Bila status exit tidak sama dengan 0. instruksi1 || instruksi2 shell akan menge ksekusi instruksi1. maka hasil dari AND tersebut sudah pasti sama dengan FALSE. 1. Test untuk files dan directory Test dapat dilakukan untuk memeriksa apakah file ada (Exist). bila tidak maka hasil adalah ≠0. Buatlah file prog01. Operator 0 / TRUE. Operator untuk test Operator 0 / TRUE. Membuat shell script 1. terlepas dari hasil eksekusi instruksi2. jika string1 = string2 Identical string1 != string2 Not identical -n string String is not null -z string String is null 2. hasil dari operasi OR tersebut sudah pasti menghasilkan TRUE. file biasa -d namafile File ada. maka kondisi menjadi FALSE dan instruksi setelah else akan dijalankan. instruksi2 tidak dijalankan. maka instruksi2 akan dijalankan. dan exit status dari instruksi tersebut akan menjadi kondisi. dapat dibaca. 2. test dapat ditulis dengan [ ekspresi ] [ sebenarnya adalah nama lain dari test. Bila tidak 0.Modul Praktikum Sistem Operasi ……………… Fi if akan mengeksekusi instruksi-awal. yaitu 0 bila ekspresi sesuai. Ekspresi terdiri dari factor dan operator yang dipisahkan oleh spasi. dan bila exit status instruksi1 adalah FALSE. bedanya [ akan mencari kurung penutup ] pada akhir ekspresi yang harus dipisahkan oleh spasi. Konstruksi If Then Else if instruksi1 then instruksi1. Logical && Dan || (Shell Level) Notasi && dan || digunakan untuk menggabungkan instruksi shell sebagai alternatif untuk if then else.

Contoh menggunakan variable pada shell interaktif $ VPT=elrahma $ echo $VPT 2.sh berikut $ vi prog01. Untuk menjalankan shell. Modifikasi file prog01. Jika digabungkan dengan nama variable ya ng belum didefinisikan (kosong) maka instruksi echo menghasilkan string kosong.Modul Praktikum Sistem Operasi #!/bin/sh # Program shell # var1=x var2=8 2./prog01.sh #!/bin/sh V1=stmik V2=‟:‟ V3=elrahma echo “Pemrograman shell” echo $V1$V2$V3 V3=jogja echo $V1$V2 di $V3 7. instruksi tersebut akan dieksekusi $ CMD=who $ $CMD $ CMD=”ls –l” $ $CMD 6.sh C. Bila direktori actual tidak terdaftar dalam PATH. $ . Pemisahan 2 kata dengan spasi menandakan eksekusi 2 buah instruksi. nama variable perlu diproteksi dengan { } dan kemudian isi variable tersebut digabung dengan string.sh $ prog01.sh (Terdapat pesan error) $ chmod +x prog01.sh B. Bila script belum executable. gunakan notasi TITIK di depan nama program $ . Untuk menjalankan shell.sh $ . Menggunakan instruksi read $ read nama aman $ echo $nama Joko S STMIK El Rahma Yogyakarta | 24 . Variabel dapat berisi instruksi. script tidak dapat dieksekusi. yang kemudian bila dijadikan input untuk shell.sh $ ./prog01. $ echo $V3 $ echo $V3jogja $ echo ${V3}jogja 5. Menggabungkan isi variable dengan string yang lain. Menggabungkan dua variable atau lebih $ V1=stmik $ V2=‟:‟ $ V3=elrahma $ V4=$V1$V2$V3 $ echo $V4 4. dapat juga dengan membuat executable file dan dieksekusi relatif dari current directory $ chmod +x prog01. $ VPT2=stmik el rahma (Terdapat pesan error) $ VPT2=”stmik el rahma” $ echo VPT2 $ echo $VPT2 3. Karakter $ harus ada pada awal nama variable untuk melihat isi variable tersebut. Membaca keyboard 1.sh (Terdapat pesan error) $ . Variabel 1. jika tidak. prog01. maka command tersebut tidak dapat ditemukan. Cara sederhana mengeksekusi shell adalah dengan menggunakan notasi titik di depan nama shell script tersebut. Untuk menghindari kekeliruan. maka echo akan mengambil parameter tersebut sebagai string.sh 3. prog01./prog01.

prog02.sh # Joko S STMIK El Rahma Yogyakarta | 25 .sh Nama Anda : Aman Alamat : Jl piringan 76 Kota : jojga Hasil adalah : Aman. Variabel ini didapat atas assignment atau membaca dari keyboard atau variable yang belum didefinisikan $ read nama <CR> $ echo $nama $ A= $ B=”” $ C=$A$B $ echo $C 7.sh $ vi prog02. Instruksi echo secara otomatis memberikan baris baru.sh #!/bin/sh # prog02.sh $ . $alamat di $kota‖ 5.sh $ vi prog03. Eksekusi program prog02. prog02. Modifikasi program prog02. $ pwd $ DIR=`pwd` $ echo $DIR 8.Modul Praktikum Sistem Operasi 2.sh $ . Variabel kosong adalah variable yang tidak mempunyai nilai. Hasil dari eksekusi tersebut akan masuk sebagai nilai variable DIR.sh #!/bin/sh # prog02. Membaca nama dan alamat dari keyboard $ vi prog02. yang menyatakan kepada echo untuk menghilangkan baris baru. Jl piringan 76 di jogja 4.sh #!/bin/sh # prog03. maka untuk menghindari hal tersebut disediakan opsi –n. Pada contoh dibawah . instruksi pwd dieksekusi lebih dahulu dengan sepasang Back Quate (tanda kutip terbalik). Jl piringan 76 di jogja 6.sh # membaca nama dan alamat echo –n “Nama Anda : “ read nama echo –n “Alamat : “ read alamat echo –n “Kota : “ read kota echo echo ―Hasil adalah : $nama.sh Nama Anda : Aman Alamat : Jl piringan 76 Kota : jogja Hasil adalah : Aman. $alamat di $kota” 3. Variabel dapat disubtitusikan dengan hasil eksekusi dari sebuah instruksi.sh # membaca nama dan alamat echo “Nama Anda : “ read nama echo “Alamat : “ read alamat echo “Kota : “ read kota echo echo “Hasil adalah : $nama. Eksekusi program prog02. Buatlah shell script prog03.

sh $ vi prog04. maka status exit adalah 0 $ grep <user> /etc/passwd $ echo $? F.sh $ . Parameter 1.sh versi 3 dengan menambahkan total parameter dan nomor proses id (PID) $ vi prog04. Eksekusi prog04.Modul Praktikum Sistem Operasi NAMA=`whoami` echo Nama Pengguna Aktif adalah $NAMA tanggal=`date | cut –c1-10` echo Hari ini tanggal $tanggal 9.sh aman amin amar amor 5. Eksekusi prog04.sh versi 2 # Parameter passing # echo “Jumlah parameter yang diberikan adalah $#” echo ―Nama program adalah $0‖ echo ―Parameter 1 adalah $1‖ echo ―Parameter 2 adalah $2‖ echo ―Parameter 3 adalah $3‖ 4.sh aman amin $ . prog04.sh aman amin amar amor E.sh dengan 4 parameter $ .sh $ . Eksekusi prog04.sh tanpa parameter dan dengan 4 parameter $ .sh versi 1 # Parameter passing # echo “Nama program adalah $0” echo “Parameter 1 adalah $1” echo “Parameter 2 adalah $2” echo “Parameter 3 adalah $3” 2.sh versi 3 # Parameter passing # echo ―Jumlah parameter yang diberikan adalah $#‖ echo ―Nama program adalah $0‖ echo ―Parameter 1 adalah $1‖ echo ―Parameter 2 adalah $2‖ echo ―Parameter 3 adalah $3‖ echo “Total parameter adalah $*” echo “PID proses shell ini adalah $$” 6. dengan 4 parameter $ . String tidak diketemukan. prog04. String diketemukan. Instruksi dengan exit status 0 $ who $ who | grep <user> $ echo $? Joko S STMIK El Rahma Yogyakarta | 26 . prog04. prog04.sh #!/bin/sh # prog04. prog03. Membuat shell script prog04.sh $ . dengan 2 parameter. Membuat shell script prog04.sh tanpa parameter.sh aman amin amar amor 3.sh #!/bin/sh # prog04. Eksekusi prog03. Membuat shell script prog04. prog04.sh D. Konstruksi if 1. maka status exit adalah 1 $ grep xyz /etc/passwd $ echo $? 2.sh #!/bin/sh # prog04.sh versi 2 dengan memberikan jumlah parameter $ vi prog04. Status Exit 1. prog04.

prog05. sorry!” fi 3. Aplikasi test dengan konstruksi if $ vi prog06. prog06. Instruksi Test 1.sh # Program akan memberikankonfirmasi apakah nama # user sedang aktif atau tidak # echo –n “Berikan nama pemakai : ” read nama if who | grep $nama > /dev/null then echo “$nama sedang aktif” else echo “$nama tidak aktif” fi 2. masukkan nama pemakai yang aktif yang tampil pada instruksi who dan coba juga untuk nama pemakai yang tidak aktif $ who $ . Membuat shell script prog05. Menggunakan instruksi test.sh echo –n “NAMA = “ read NAMA if test “$NAMA” = amir then echo “Selamat Datang $NAMA” else echo “Anda bukan amir.sh.sh [nama=studentOS] H.sh #!/bin/sh # prog06. If membandingkan exit status dengan 0. prog06.sh dengan memasukkan NAMA = amir dan NAMA = <CR> perhatikan hasil tampilannya $ .sh dengan menggunakan notasi untuk test $ vi prog06.sh [NAMA = amir] $ . Jalankan program prog06. Konstruksi if then else 1. perhatikan spasi antara $ NAMA=amir $ test $NAMA = amir $ echo $? $ test $NAMA = boris $ echo $? 2.sh [NAMA = <CR>] (Terdapat pesan error) 4. Nomor (1) dan (2) diatas dapat disederhanakan dengan $ if who|grep <user> >/dev/null > then > echo okay > fi G. bila sama.sh echo –n ―NAMA = ― read NAMA if [ “$NAMA” = amir ] then echo ―Selamat Datang $NAMA‖ Joko S STMIK El Rahma Yogyakarta | 27 .Modul Praktikum Sistem Operasi 2.sh #!/bin/sh # prog06. prog05. Modifikasi prog06. maka blok program masuk ke dalam blok then-fi $ if [ $? = 0 ] > then > echo “Pemakai tersebut sedang aktif” > fi 3. Jalankan prog05.sh $ vi prog05.sh #!/bin/sh # prog05.sh [nama=<user>] $ .

sh 4. File prog99.sh ] && echo “Prog01. hasil masih tergantung atas exit status instruksi ke dua. karena itu exit status adalah FALSE. sorry!‖ fi Sistem Operasi 5. dan dengan demikian instruksi echo akan dijalankan. File prog01. karena itu exit status adalah TRUE. Bila file prog01.sh [NAMA = amir] I.sh ] || echo “Sorry.sh tidak ada. Bila prog01. dan karena sudah TRUE maka instruksi echo tidak lagi dijalankan $ [ -f prog01. karena itu instruksi echo dijalankan $ [ -f prog99. prog01. karena itu exit status adalah TRUE. maka tampilkan pesan error $ [ -f prog99. File prog99.sh ada” 2. Bila prog01.sh dengan memasukkan NAMA = amir $ .sh tidak ada” Joko S STMIK El Rahma Yogyakarta | 28 . prog06.sh ada maka jalankan shell script tersebut $ [ -f prog01. prog99. Notasi && dan || 1. karena itu exit status adalah FALSE dan instruksi echo tidak dijalankan $ [ -f prog99.sh tidak ada. File prog01.sh ada (TRUE). maka jalankan program berikutnya.Modul Praktikum else echo ―Anda bukan amir.sh ada maka jalankan program berikutnya. Jalankan program prog06.sh ] || echo “Dieksekusi tidak ?” 6.sh ada.sh ] && .sh ] || echo “Dieksekusi tidak ?” 5.sh tidak ada. $ [ -f prog01.sh memang ada. File prog99. hasil operasi AND masih tergantung pada hasil eksekusi instruksi ke 2.sh ada” 3.sh ] && echo “Prog99.

Floating.    TUJUAN Menggunakan struktur case – esac.Modul Praktikum MODUL VII PEMROGRAMAN SHELL 2 I. maka kondisi menjadi FALSE dan instruksi setelah else akan dijalankan. Instruksi Exit Program dapat dihentikan (terminated/selesai) dengan instruksi exit.2 ……………… Fi Bila status exit tidak sama dengan 0. Konstruksi Case Case digunakan untuk menyederhanakan pemakaian if yang berantai. Tidak ada tipe lain seperti Numerik. TEORI SINGKAT A. match2) Joko S STMIK El Rahma Yogyakarta | 29 . Operator ini menggabungkan hasil ekspresi sebagai berikut : 1. D. AND : symbol –a 3.1 instruksi1. OR dan NOT. Operator 0/TRUE.2 ……………… . jika i1 –eq i2 Bilangan sama i1 –ge i2 Lebih besar atau sama dengan i1 –gt i2 Lebih besar i1 –le i2 Lebih kecil atau sama dengan i1 –lt i2 Lebih kecil i1 –ne i2 Bilangan tidak sama B. Boolean ata u lainnya. Operator Bilangan Bulat Untuk Test Untuk membandingkan 2 buah bilangan. OR : symbol -o C. test memerlukan operator yang berbeda dengan string. Operator Logical (Test Level) Logical operator terdiri dari AND. NOT : symbol ! 2.. Sistem Operasi II. for. misalnya : A=5 B=$A +1 ## error UNIX menyediakan utilitas yang bernama expr yaitu suatu utilitas yang melakukan aritmetika sederhana. Hitungan Aritmetika Tipe dari variable SHELL hanya satu yaitu STRING.1 instruksi2. Membuat fungsi dan mengetahui cara memanggil fungsi tersebut. E. Sebagai nilai default program tersebut akan memberikan status exit 0. Konstruksi If Then Else If if instruksi1 then instruksi1. Akibatnya variable ini tidak dapat membuat perhitungan aritmetika.1 instruksi3. sehingga dengan case. do while.2 ……………… elif instruksi2 then instruksi2. Loop dengan while.1 instruksi1. F. kondisi dapat dikelompokkan secara lo gis dengan lebih jelas dan mudah untuk ditulis.2 ……………… else instruksi3. case variable in match1) instruksi1.

Operator Logical dan konstruksi elif 1. ……. Hal yang perlu diperhatikan. Buatlah file prog07. Membuat fungsi diawali dengan nama fungsi. kemudian blok program yang dinyatakan dalam { … }. Selama kondisi tersebut TRUE. parameter. Menggunakan operator dengan notasi test $ i=5 $ test “$i” –eq 5 $ echo $? 2.2 ……………… .strn do instruksi1 instruksi2 ……………… Done Konstruksi While While digunakan untuk pengulangan instruksi. instruksi dummy dapat digunakan sebagai kondisi forever pada loop (misalnya while). Contoh : F1( ) { ……..2 ……………… .. Simbol instruksi dummy adalah : Fungsi Fungsi adalah program yang dapat dipanggil oleh program lainnya dengan menggunakan notasi NamaFungsi().1 instruksi3. J. Operator bilangan bulat untuk test 1. maka pengulangan terus dilakukan..1 instruksi2. Case diakhiri denan esac dan pada setiap kelompok instruksi diakhiri dengan . *) instruksi3. yang umumnya dibatasi dengan suatu kondisi. Konstruksi For For digunakan untuk pengulangan dengan menggunakan var yang pada setiap pengulangan akan diganti dengan nilai yang berada pada daftar (list). while kondisi do instruksi1 instruksi2 ……………… done Instruksi Dummy Instruksi dummy adalah instruksi yang tidak melakukan apa -apa.sh Joko S STMIK El Rahma Yogyakarta | 30 . Esac Sistem Operasi G. Loop akan berhenti.. Pada akhir pilihan yaitu *) yang berarti adalah ―default‖..sh $ vi prog07. Menggunakan operator dengan notasi [ ] (penganti notasi test) $ [ “$i” –eq 5 ] $ echo $? B. bila kondisi tidak memenuhi pola sebelumnya..Modul Praktikum instruksi2. I. PRAKTEK A. atau nilai 0 sebagai default. jangan sampai bentrok dengan nama variable yang sam adi luar fungsi.. H. Fungsi memberikan exit status ($?) yang dinyatakan dengan return nr. nama variable yang digunakan dalam sebuah fungsi. for var in str1 str2 …. namun instruksi ini memberikan status exit 0 (TRUE). Oleh karena itu. III. sehingga tidak terjadi isi variable berubah. bila kondisi FALSSE. atau program keluar dari blok while melalui exit atau break. return 1 } Variabel dapat didefinisikan dalam fungsi sebagai variable local atau global.

Substitusi isi variable dengan hasil utilitas expr $ A=5 $ B=`expr $A + 1` $ echo $B D.sh ] then exit 3 else exit –1 fi 2.sh dan masukkan untuk INCOME=5000.sh [INCOME=20000] $ . Instruksi exit 1.sh $ echo $? E.sh #!/bin/sh # Prog: prog09.. Menggunakan utilitas expr $ expr 5 + 1 $ A=5 $ expr $A + 2 $ expr $A – 4 $ expr $A * 2 (Ada Pesan Error) $ expr $A \* 2 $ expr $A / 6 +10 $ expr 17 % 5 2. 28000 $ . Kalender bulan ini” echo –n “ Pilihan : “ read PILIH case $PILIH in 1) echo “Yang aktif saat ini” who . prog07. Tanggal hari ini” echo “3.sh dengan editor vi $ vi prog09.sh #!/bin/sh if [ -f prog01. prog07..sh [INCOME=5000] $ . Buatlah file prog09.sh [INCOME=28000] C. prog08. Hitungan aritmetika 1. Jalankan script prog08.sh $ vi prog08. Sistem Operasi Joko S STMIK El Rahma Yogyakarta | 31 . Jalankan file prog07. Buat shell script prog08.sh echo “1. Konstruksi case – esac 1.Modul Praktikum #!/bin/sh # prog07. 2) echo “Tanggal hari ini” date . 20000.sh echo –n “INCOME = “ read INCOME if [ $INCOME –ge 0 –a $INCOME –le 10000 ] then BIAYA=10 elif [ $INCOME –gt 10000 –a $INCOME –le 25000 ] then BIAYA=25 else BIAYA=35 fi echo “Biaya = $BIAYA” 2. Siapa yang aktif” echo “2.sh dan periksa status exit $ . prog07.

esac 4. Buatlah file prog10.sh echo –n “Jawab (Y/T) : \c“ read JWB case $JWB in [yY] | [yY][aA] ) JWB=y .sh 3.sh $ . program ini akan menampilkan nama file yang berada di current direktori $ vi prog12..sh echo –n “Jawab (Y/T) : “ read JWB case $JWB in y | Y | ya |Ya |YA ) JWB=y .sh yang berisi konstruksi for dan wildcard.sh yang merupakan bentuk lain dari case $ vi prog10.sh #!/bin/sh # Prog: prog12. program ini akan menampilkan long list dari file yang mempunyai ekstensi lst $ vi prog12.sh. *) JWB=? .sh 5.sh #!/bin/sh # Prog: prog11.sh..sh yang merupakan bentuk lain dari case $ vi prog10..Modul Praktikum 3) echo “Kalender bulan ini” cal .sh #!/bin/sh # Prog: prog12. Modifikasi file prog12.sh 5.sh F. esac 6..sh $ vi prog11. cobalah beberapa kali dengan inputan yang berbeda $ .lst Joko S STMIK El Rahma Yogyakarta | 32 . prog10. prog09.sh $ . Jalankan program prog10. Jalankan program prog11.sh for F in * do echo $F done 4. prog11. Modifikasi file prog10. cobalah beberapa kali dengan inputan yang berbeda $ . Buatlah file prog11.sh for NAMA in bambang harry kadir amir do echo “Nama adalah : $NAMA” done 2. Jalankan program prog12. Esac Sistem Operasi 2. Jalankan program prog09.sh.sh #!/bin/sh # Prog: prog10.sh for F in *. cobalah beberapa kali dengan inputan yang berbeda $ .sh. Konstruksi for-do-done 1.. Jalankan program prog10. Buatlah file prog12. prog10.. *) echo “Salah pilih !!” .sh 3.sh #!/bin/sh # Prog: prog10.. [tT] | [tT]idak ) JWB=t . t | T | tidak | Tidak | TIDAK ) JWB=t . prog12.

sh $ .sh PILIH=1 while : do echo “1.sh #!/bin/sh # Prog: prog13. prog13.sh $ vi prog13.sh #!/bin/sh # Prog: prog14. Buatlah file prog14.sh $ .sh $ vi prog13. Siapa yang aktif” echo “2.sh yang berisi instruksi dummy untuk konstruksi if $ vi prog14.sh PILIH=1 while [ $PILIH –ne 4 ] do echo “1.sh #!/bin/sh # Prog: prog13. Siapa yang aktif” echo “2. prog12. Jalankan program prog13.sh G. Jalankan program prog12. Kalender bulan ini” echo “4.sh H. Kalender bulan ini” echo “4. Jalankan program prog13. Keluar” echo “ Pilihan : \c” read PILIH if [ $PILIH –eq 4 ] then break fi clear done echo “Program berlanjut di sini setelah break” 2.sh $ . Buatlah file prog13.sh echo –n “Masukkan nilai : “ read A if [ $A –gt 100 ] then : else echo “OK !” fi Sistem Operasi Joko S STMIK El Rahma Yogyakarta | 33 . Tanggal hari ini” echo “3. Tanggal hari ini” echo “3.Modul Praktikum do ls –l $F done 6. Modifikasi file prog13. Konstruksi while-do-done 1. Keluar” echo “ Pilihan : \c” read PILIH if [ $PILIH –eq 4 ] then break fi clear done echo “Program berlanjut di sini setelah break” 2.sh 3. Instruksi dummy 1. prog13.

sh $ .sh F1( ) { echo “Fungsi F1” return 1 } echo “Menggunakan Fungsi” F1 F1 echo $? 2.sh $ .sh $ vi fungsi.sh I. fungsi.sh Sistem Operasi Joko S STMIK El Rahma Yogyakarta | 34 .sh beberapa kali dengan input yang berbeda $ .sh 5. Jalankan program fungsi. Jalankan program prog14.sh $ . Jalankan program fungsi.sh #!/bin/sh # Prog: fungsi. fungsi. Fungsi 1. Jalankan program fungsi. Menggunakan variable pada fungsi dengan memodifikasi file fungsi.Modul Praktikum 4. prog14. Buatlah file fungsi.sh $ vi fungsi.sh $ vi fungsi.sh 3.sh F1( ) { Honor=10000 echo “Fungsi F1” return 1 } echo “Menggunakan Fungsi” F1 F1 echo “Nilai balik adalah $?” echo “Honor = $Honor” 4.sh F1( ) { local Honor=10000 echo ―Fungsi F1‖ return 1 } echo ―Menggunakan Fungsi‖ F1 F1 echo ―Nilai balik adalah $?‖ echo ―Honor = $Honor‖ 6. Menggunakan variable pada fungsi dengan memodifikasi file fungsi.sh #!/bin/sh # Prog: fungsi.sh #!/bin/sh # Prog: fungsi. fungsi.

Ijin akses : menentukan hak user terhadap file ini. 3.    TUJUAN Memahami atribut file dan ijin akses. TEORI SINGKAT A. Jumlah link : jumlah link untuk file ini. Ijin Akses Setiap obyek pada Linux harus mempunyai pemilik. Ijin akses dibagi menjadi 3 peran yaitu : 1. Group : menentukan group yang memiliki file ini 6.Modul Praktikum MODUL VIII SISTEM FILE I. antara lain : 1. Waktu pembuatan : menentukan kapan file terakhir dimodifikasi 8. yaitu nama pemakai Linux (account) yang terdaftar pada /etc/passwd . Pada Direktori  R (Read) Ijin untukmembaca daftar file dalam direktori  W (Write) Ijin untuk mengubah/membuat file di direktori  X (Execute) Ijin untuk masuk ke direktori (cd) Pemilik File/Direktori dapat mengubah ijin akses sebagai berikut : Format untuk mengubah ijin akses chmod [ugoa] [= + -] [rwx] File(s) chmod [ugoa] [= + -] [rwx] Dir(s) dimana u = user (pemilik) Joko S STMIK El Rahma Yogyakarta | 35 . yaitu : Karakter Arti File biasa d direktori l Symbolic link b Block special file c Character special file s Socket link p FIFO 2. 4. Kelompok (Group) 3. Tipe file : menentukan tipe dari file. Nama file : menentukan nama file yang dimaksud Contoh : B. Pemilik (Owner) : menentukan siapa pemilik file ini 5. Atribut File File mempunyai beberapa atribut. Memahami perintah untuk mengubah ijin akses suatu file. Lainnya (Others) Setiap peran dapat melakukan 3 bentuk operasi yaitu : 1. Pada File  R (Read) Ijin untukmembaca  W (Write) Ijin untuk mengubah / membuat  X (Execute) Ijin untuk menjalankan program 2. Jumlah karakter : menentukan ukuran file dalam byte 7. Sistem Operasi II. Menggunakan perintah-perintah untuk mengubah ijin akses. Pemilik (Owner) 2.

$ su root $ echo Hallo > f1 $ ls –l f1 $ chown <user-baru> f1 contoh : chown student1 f1 $ ls –l f1 5. Masuk ke root untuk mengganti kepemilikan tersebut. Ubahlah ijin akses home directory <user> (student) pada root sehingga <userbaru> (student1) pada satu group dapat mengakses home direktory <user>. maka dapat dilakukan kalkulasi sebagai berikut : Kreasi file (biasa) 666 Nilai umask 022 ------. Cobalah untuk mengakses file f1 $ su <user-baru> $ ls –l f1 $ cat f1 $ exit 7. Mengubah group dengan perintah chgrp $ $ grep root /etc/group $ grep other /etc/group $ su $ chgrp root f1 $ ls –l f1 $ chgrp <group-baru> f3 $ ls –l f3 $ exit Joko S STMIK El Rahma Yogyakarta | 36 . informasi apa yang ditampilkan ? $ id $ grep <user> /etc/passwd $ grep [Nomor group id] /etc/group 2. User Mask Untuk menentukan ijin akses awal pada saat file atau direktori dibuat digunakan perintah umask.g-r. Perhatikan ijin akses setiap perubahan ! $ touch f1 f2 f3 $ chmod o-r f1 $ ls –l f3 $ ls -l $ ls –l f1 $ chmod 751 f1 $ chmod u+x f1 $ chmod a=x f2 $ chmod 624 f2 $ ls –l f1 $ ls –l f2 $ chmod 430 f3 $ chmod g=w f1 $ chmod u+x.o=w f3 $ ls –l f1 f2 f3 $ ls –l f1 4.755 III. Ijin Akses 1.644 Kreasi direktori Nilai umask 777 022 ------.Modul Praktikum Sistem Operasi g = group (kelompok) o = others (lainnya) a = all Format lain dari chmod adalah menggunakan bilangan octal sebagai berikut r w x 4 2 1=7 C. Hal ini dimaksudkan agar file f1 yang sudah diubah kepemilikannya dapat diakses <user-baru>. Untuk menghitung nilai default melalui umask pada file. $ chmod g+rwx /home/<user> contoh : chmod g+rwx /home/student $ ls –l /home $ exit 6. PRAKTEK A. Melihat identitas diri melalui etc/passwd atau etc/group. Mengganti kepemilikan digunakan perintah chown. Perubahan ijin akses home directory <user> hanya dapat dilakukan pada root. Sekarang cobalah untuk subtitute user ke <user-baru> (student1). Mengubah Ijin akses (chmod). Memeriksa direktori home $ ls -ld /home/<user> 3.

User Mask 1. Modifikasi nilai umask $ umask 027 $ umask 077 $ umask $ touch xfiles $ touch file_baru $ mkdir xdir $ mkdir mydir $ ls –l $ ls -l Sistem Operasi Joko S STMIK El Rahma Yogyakarta | 37 .Modul Praktikum B. Melihat nilai umask $ umask 3. Menentukan ijin akses awal pada saat file atau direktori dibuat $ touch myfile $ ls -l myfile 2.

perintah mempunyai kelebihan dalam skrip yang lebih mudah diotomatisasi. 2. Jika sistem administrator membuat user baru. Perintah pada virtual console Baik aplikasi User Manager dan utilitas perintah membentuk task yang sama. file tersebut harus diedit atau aplikasi harus digunakan untuk perubahan teresebut. Aplikasi User Account Dan Group Terdapat dua tipe dasar aplikasi yang digunakan untuk mengatur user account dan group pada sistem Linux : 1. 4. yang berisi informasi mengenai : 1.   TUJUAN Menambah. Aplikasi Graphical User Manager 2. User root mempunyai home directory /root/ dan menggunakan shell /bin/bash. Group ID (GID) — Bilangan numerik yang ekuivalen dengan group name.bob Baris diatas menunjukkan. Menambah dan menghapus group Sistem Operasi II. GECOS — nama histori. group general menggunakan password shadow. 5. 6.shelley. Username — nama user yang diketik saat login system 2. 3. Perintah passwd juga digunakan untuk tujuan ini Joko S STMIK El Rahma Yogyakarta | 38 . mempunyai GID 502 dan anggota juan. maka shadow group password digunakan. Juga digunakan untuk menentukan keanggotaan primer dan sekunder passwd Melakukan setting password. kolom GECOS[1] bersifat opsional dan digunakan untuk menyimpan informasi tambahan (seperti nama lengkap user). Password — berisi pasword yang di-enkripsi (atau x bila shadow password digunakan) 3. Tabel berikut berisi beberapa perintah yang umum untuk membuat dan mengatur user command dan group : Aplikasi Fungsi /usr/sbin/useradd Menambah user account. Contoh baris pada file /etc/group: general:x:502:juan.Modul Praktikum MODUL IX MANAJEMEN USER DAN GROUP I. Setiap baris berisi informasi mengenai : 1. Member list — daftar user yang menjadi milik group. Group ID (GID) — bilangan numerik yang ekuivalen dengan nama group primer yang menjadi acuan sistem. Shell — program yang otomatis dijalankan bila user login. Group password — Bila di-set. Jika lebih kecil dari x. Digunakan untuk keanggotaan primer dan sekunder /usr/sbin/userdel Menghapus user account /usr/sbin/usermod Meng-edit atribut account termasuk beberapa fungsi yang berhubungan dengan masa berlaku password. A. C. Home directory — path absolut untuk home directory dari user. UID dan GID nya 0. 7. File /etc/passwd File /etc/passwd adalah file yang berisi daftar user yang dipisahkan dengan baris. Selain untuk mengubah password user juga untuk mengontrol semua aspek tentang masa berlaku password /usr/sbin/chpasswd Membaca file yang berisi username dan password dan update setiap password user change Mengubah masa berlaku password user. TEORI SINGKAT Pada Linux. 4. Group name — nama group. Setiap baris terdiri dari 4 kolom. Berupa command intepreter (biasanya disebut shell) Contoh isi file /etc/passwd : root:x:0:0:root:/root:/bin/bash Baris idatas menunjukkan root user mempunyai shadow password. File /etc/group File /etc/group adalah file yang berisi daftar group yang dipisahkan per baris. User ID (UID) — bilangan numerik yang ekuivalen dengan username yang menjadi acuan sistem. mengijinkan user yang bukan bagian dari group bergabung ke dalam group dengan menggunakan printah newgrp dan mengetikkan password. B. informasi tentang user account dan groups disimpan dalam beberapa file teks dalam direktory /etc/. shelley dan bob. memodifikasi dan menghapus user.

Lihatlah isi file /etc/passwd dan sebutkan kolom apa saja yang terdapat pada setiap baris. PRAKTEK A. # cat /etc/passwd | more 2. Juga perhatikan apakah home direktory setiap user juga dibuat pada saat pembuatan user baru # useradd –g friend bob # grep bob /etc/passwd # useradd lili # passwd lili # grep lili /etc/passwd # ls –l /home 2. sehingga tidak dapat digunakan sebagai passwrod pada saat login. tetapi tidak mengubah keanggotaan group. Lihatlah isi file /etc/group dan sebutkan kolom apa saja yang terdapat pada setiap baris. # usermod –g classmate -G friend. tetapi tidak menentukan user pada group tersebut.neighbour bob # usermod –g friend -G classmate lili E. # cat /etc/group | more B. modifikasi group dari Setiap user merupakan milih suatu group primer dan kemungkinan juga bagian dari group lain (supplementary group). Perintah useradd dan usermod digunakan untuk menentukan user pada group yang ada. /usr/sbin/groupdel Menghapus group /usr/sbin/groupmod Memodifikasi nama group adau GID.Modul Praktikum chfn chsh Mengubah informasi GECOS user Mengubah shell default user Sistem Operasi Tabel berikut berisi beberapa perintah untuk membuat dan mengatur group : Aplikasi Fungsi /usr/sbin/groupadd Menambah group. # useradd –g neighbour jane # ls –l /home D. Untuk memodifikasi group dari suatu user dapat digunakan perintah usermod. Memodifikasi group dari user Dengan perintah usermod. gpasswd Mengubah keanggotaan group dan melakukan setting password untuk mengijinkan anggota selain group tersebut yang mengetahui password group untuk bergabung. Root dapat mengubah password dari user. Opsi –g pada perintah useradd untuk menentukan group dari user yang dibuat. Perintah useradd dan usermod menentukan user pada group yang ada. Joko S STMIK El Rahma Yogyakarta | 39 . # groups bob # groups lili # groups jane F. Menambah User 1. Melihat group dari user Lihat group dari seorang user dengan perintah groups. Melihat file /etc/passwd dan /etc/group 1. Perhatikan informasi group user baru pada file /etc/group. Menambah group user Buatlah 3 group user baru dengan perintah groupadd. Perhatikan perubahan isi file /etc/passwd setelah pembuatan user baru. Buatlah user baru dengan perintah useradd. # passwd bob 2. Password yang diubah dengan perintah usermod merupakan file enkripsi. # groupadd friend # groupadd classmate # groupadd neighbour # cat /etc/group C. Mengubah password user 1. Juga digunakan untuk menentukan administrator group /usr/sbin/grpck Memeriksa integritas file /etc/group dan /etc/gshadow III.

Modul Praktikum Sistem Operasi # useradd –g friend diane # usermod –p diane diane 3. apakah anda dapat login ? 4. Cobalah mengubah password user dengan login pada user yang bersangkutan. dan ubahlah password user. Login sebagai user. # userdel –r bob # userdel –r lili # userdel –r jane # userdel –r diane H. # rmdir /home/bob # rmdir /home/lili # rmdir /home/jane # rmdir /home/diane Joko S STMIK El Rahma Yogyakarta | 40 . Menghapus user Hapus user dengan menggunakan perintah userdel. # groupdel friend # groupdel classmate # groupdel neighbour I. $ passwd G. Menghapus group Hapus group dengan menggunakan perintah userdel. Opsi –r untuk menghapus seluruh isi home directory. Menghapus home directory Hapus home direktory. Cobalah login sebagai diane.

Sign up to vote on this title
UsefulNot useful