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

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

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

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

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

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

seperti disk. Bila file asli dihapus. ―\‖. Named Pipe (FIFO) File yang digunakan secara intern oleh system operasi untuk komunikasi antar proses 6. 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. ―‖‖. floppy. koma dan lainnya kecuali spasi dan karakter ―&‖. ―[―. ―/‖. symbolic link dapat dibentuk melalui media disk atau partisi yang berbeda dengan soft link. Perbedaan lain. tetapi pada hard link terbatas pada partisi disk yang sama.Modul Praktikum Sistem Operasi D. ―$‖.c letter.txt: ASCII text webpage. ―>‖. Block Device (Peralatan I/O) Merupakan representasi dari peralatan hardware yang menggunakan transmisi data per block (misalnya 1 KB block). ―?‖.txt webpage. ―}‖. ―^‖. tape. plotter dll 5. ―)‖. 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.‖. ―. ―’‖. Simbolic Link Link adalah sebuah teknik untuk memberikan lebih dari satu nama file dengan data yang sama.  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. maka data yang baru juga terhapus . Symbolic Link diperlukan bila file tersebut di ―link‖ dengan direktori /file yang berada pada partisi yang berbeda. ―]‖. G. Pada bentuk soft link. H. 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. F. ―#‖. ―(―. find Format : find directory –name targetfile –print Joko S STMIK El Rahma Yogyakarta | 9 . ―{―.c: C program text letter. sedangkan pada hard link tidak dimungkinkan. Format : ln –s /FULLPATH/fileAsli /FULLPATH/fileDuplikat Pilihan –s (shortcut) merupakan bentuk soft link dimana jumlah link count pada file asal tidak akan berubah. E.  Jumlah link : jumlah link untuk file ini. Character Device (Peralatan I/O) Merupakan representasi dari peralatan hardware yang menggunakan transmisi data karakter per karakter. 4. ―|‖. antara lain :  Tipe file : menentukan tipe dari file. misalnya antara kode C++ dan Java. 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.html: HTML document text Perintah ini dapat digunakan secara luas untuk file yang kadang membingungkan. titik. Mencari File Jika ingin melihat bagaimana pohon direktori dapat digunakan perintah 1. 3. ―<‖. modem. Tipe file menjadi l (link) dan file tersebut menunjuk ke tempat asal. seperti terminal.html myprog. ―`‖.

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. 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. I. Direktory 1. Manipulasi file 1. Membuat satu direktori. $ pwd $ cd . Melihat direktori aktual dan parent direktori $ pwd $ cd .Modul Praktikum Sistem Operasi Akan melihat file yang bernama targetfile (bisa berupa karakter wildcard) 2. 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. $ pwd $ cd 3. PRAKTEK A. 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. Perintah mv untuk memindah file $ mv contoh contoh2 $ ls -l Joko S STMIK El Rahma Yogyakarta | 10 .. $ pwd $ ls -l $ cd A $ pwd $ cd . locate Format : locate string Akan me ncari file pada semua directori dengan lebih cepat dan ditampilkan dengan path yang penuh.. $ pwd $ cd /home/<user>/C $ pwd $ cd /<user/C (Terdapat pesan error $ pwd B. Melihat direktori HOME $ pwd $ echo $HOME 2. III. which Format : which command Untuk mengetahui letak system utility 3.

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

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

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

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

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

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

Pada awal vi dijalankan.bash_profile 2.Modul Praktikum Sistem Operasi 2. PRAKTEK A.bash_logout akan diekseksi sesaat sebelum logout. Maka perintah sebelumnya akan ditampilkan. 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. Berikutnya. Menggunakan Feature History Bash 1.bash_logout B. 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.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. $ cd Joko S STMIK El Rahma Yogyakarta | 17 . 2. Melihat file . $ ls –a $ more . berfungsi sebagai house clearing jobs. Dengan menekan tombol ―i‖ maka akan memasuki editing. File . Masukkan perintah berikut dan tekan Enter pada setiap baris. artinya membersihkan semuanya. 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. sehingga untuk melihatnya gunakan opsi a pada instruksi ls. Anda dapat mengaksis history dalam beberapa cara. maka program memasuki command mode. berikan Bash shell beberapa perintah untuk diingat. Editing Editor vi mengintepretasikan input sebagai teks yang akan dimasukkan ke dalam buffer editor. File .bash_profile adalah hidden file. Bash shell menyimpan ‖history‖ perintah yang digunakan sebelumnya.bash_logout dengan instruksi $ cat . Pada bagian bawah layar akan tampil teks ―INSERTING‖. tekan tombol Esc. 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. misalnya menghapus temporary file atau job lainnya. Profile 1.bash_profile dijalankan pada home direktori pemakai yang login. Cara paling mudah adalah menggunakan Panah Atas. File . Untuk kembali ke command mode.

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

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

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

Modul Praktikum Sistem Operasi H. 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. Alias 1. 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. Membuat beberapa alias $ alias del=‟rm –i‟ $ alias h=‟history‟ 3. Alias adalah mekanisme untuk memberi nama alias pada satu atau sekelompok instruksi. Instruksi dirs digunakan untuk melihat stack direktori. Manipulasi stack untuk Direktori 1.

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

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

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

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

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

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

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

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

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

Hitungan aritmetika 1. 2) echo “Tanggal hari ini” date . 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. Siapa yang aktif” echo “2. prog07.Modul Praktikum #!/bin/sh # prog07. Tanggal hari ini” echo “3.sh $ vi prog08. Sistem Operasi Joko S STMIK El Rahma Yogyakarta | 31 .. Buatlah file prog09.sh [INCOME=28000] C. 28000 $ .sh $ echo $? E.sh [INCOME=20000] $ . Buat shell script prog08. Instruksi exit 1.sh dengan editor vi $ vi prog09.sh [INCOME=5000] $ .sh echo “1.sh dan masukkan untuk INCOME=5000. Konstruksi case – esac 1..sh ] then exit 3 else exit –1 fi 2. Jalankan script prog08.sh dan periksa status exit $ . prog07. prog07.sh #!/bin/sh # Prog: prog09. Substitusi isi variable dengan hasil utilitas expr $ A=5 $ B=`expr $A + 1` $ echo $B D. Jalankan file prog07.sh #!/bin/sh if [ -f prog01. prog08. Kalender bulan ini” echo –n “ Pilihan : “ read PILIH case $PILIH in 1) echo “Yang aktif saat ini” who .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. 20000.

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

Keluar” echo “ Pilihan : \c” read PILIH if [ $PILIH –eq 4 ] then break fi clear done echo “Program berlanjut di sini setelah break” 2. Buatlah file prog14.sh G.sh $ .sh 3.sh PILIH=1 while [ $PILIH –ne 4 ] do echo “1. Siapa yang aktif” echo “2.Modul Praktikum do ls –l $F done 6. prog12. Keluar” echo “ Pilihan : \c” read PILIH if [ $PILIH –eq 4 ] then break fi clear done echo “Program berlanjut di sini setelah break” 2.sh $ .sh H. Kalender bulan ini” echo “4. Siapa yang aktif” echo “2.sh #!/bin/sh # Prog: prog13. Modifikasi file prog13. Jalankan program prog13. Jalankan program prog12.sh $ . prog13.sh $ vi 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 .sh PILIH=1 while : do echo “1.sh yang berisi instruksi dummy untuk konstruksi if $ vi prog14.sh #!/bin/sh # Prog: prog14. Konstruksi while-do-done 1.sh #!/bin/sh # Prog: prog13. Jalankan program prog13. Kalender bulan ini” echo “4.sh $ vi prog13. prog13. Tanggal hari ini” echo “3. Instruksi dummy 1. Tanggal hari ini” echo “3. Buatlah file prog13.

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

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

644 Kreasi direktori Nilai umask 777 022 ------. Sekarang cobalah untuk subtitute user ke <user-baru> (student1).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. $ su root $ echo Hallo > f1 $ ls –l f1 $ chown <user-baru> f1 contoh : chown student1 f1 $ ls –l f1 5. PRAKTEK A. maka dapat dilakukan kalkulasi sebagai berikut : Kreasi file (biasa) 666 Nilai umask 022 ------. Mengganti kepemilikan digunakan perintah chown. Untuk menghitung nilai default melalui umask pada file. Hal ini dimaksudkan agar file f1 yang sudah diubah kepemilikannya dapat diakses <user-baru>. Cobalah untuk mengakses file f1 $ su <user-baru> $ ls –l f1 $ cat f1 $ exit 7. 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. Ubahlah ijin akses home directory <user> (student) pada root sehingga <userbaru> (student1) pada satu group dapat mengakses home direktory <user>. Ijin Akses 1. Mengubah Ijin akses (chmod).g-r. Perubahan ijin akses home directory <user> hanya dapat dilakukan pada root.755 III. informasi apa yang ditampilkan ? $ id $ grep <user> /etc/passwd $ grep [Nomor group id] /etc/group 2. $ chmod g+rwx /home/<user> contoh : chmod g+rwx /home/student $ ls –l /home $ exit 6. Melihat identitas diri melalui etc/passwd atau etc/group.o=w f3 $ ls –l f1 f2 f3 $ ls –l f1 4. User Mask Untuk menentukan ijin akses awal pada saat file atau direktori dibuat digunakan perintah umask. Masuk ke root untuk mengganti kepemilikan tersebut. 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 . Memeriksa direktori home $ ls -ld /home/<user> 3.

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

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

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

Master your semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master your semester with Scribd & The New York Times

Cancel anytime.