SlideShare a Scribd company logo
1 of 78
Download to read offline
TK2123 Pemrograman Shell
Semester Genap 2014/2015
TASS, Bandung 2015
www.tass.telkomuniversity.ac.id
Hanya dipergunakan untuk kepentingan pengajaran di lingkungan Applied Science School –Telkom University
Kajian 1 – Dasar Pemrograman Shell
Aturan Perkuliahan
Kehadiran
 16 pekan ( 13x kuliah + 3x assessmen )
 1 pekan 2x pertemuan (teori + exercise)  32
pertemuan
 Hadir > 24 pertemuan
Presensi:
1. RFID card, dan
2. Tanda tangan
Keterlambatan
 Max 15 menit
 Tugas / praktek / kuis : 30%
 Assessmen 1 : 20%-30%
 Assessmen 2 : 20%-30% 70%
 Assessmen 3 : 20%-30%
Penilaian
mahasiswa dapat membuat program yang
mampu memanipulasi, memonitoring sistem
operasi dan sumber daya komputer
berbasis Linux dengan memanfaatkan Shell
Programming
Standar Kompetensi
 Burtch, K. O. (2004). Linuk Shell ScriptingWith Bash.
(E. Finney, Ed.) Indianapolis, United States of
America: Developer's Library.
 Albing, C.,Vossen, J., & Newham, C. (2007). Bash
Cookbook (1st ed.). (L. R. Ruma, Ed.) United States
of America: O'Reilly Media inc.
 Quigley, E. (2005). Unix Shell by Example (4th ed.).
(N. Regina, Ed.) United States of America: Prentice
Hall.
 Sobell, M. G. (2011). A practical guide to linux
Command, editors, and Shell programming (2nd ed.).
Boston, United States of America: Prentice Hall.
Referensi
Review OS (Linux) - History
Minix, 1987,
Prof. Andrew S.Tanenbaum
Linux, 1991,
LinusTorvalds
UNICS, 1969,
AT&T
UNIX 6 ,1976
Linux Directory
Linux
Command
http://linoxide.com/linux
-command/linux-
commands-cheat-sheet
$ date
$ date +”Hari ini %A,%B %d, %Y.%nJam %r,%Z.”
$ cal 9 2006
$ cal -y
Waktu & Tanggal
$ whatis cal
$ whatis date
$ date --help
$ cal –help
$ man date
$ man man
$ man –f cal
$ man –k date
$ man –K date
$ man 1 passwd
$ man 5 passwd
$ info date
$ info cal
Manual
$ ls /usr/share/doc
$ pwd
$ echo $HOME
$ mkdir work
$ cd /home/student/work
$ cd ..
$ cd -
Direktori
$ pwd
$ cd .
$ pwd
$ cd ..
$ pwd
$ cd
$ ls
$ ls –a
$ ls /
$ ls –l /usr
$ ls –ld /usr
Direktori
$ touch testfile
$ ls /home/student
$ cp ~student/tesfile /tmp/student_test_file
$ ls /tmp
$ cd /tmp
$ ls –l file3.txt
$ cp file3.txt ~/backups
$ ls –l ~/backups
$ cp file3.txt /home/student/backup/
$ ls –l /home/student/backup/
$ cp file3.txt /home/student/copies/
Manipulasi File & Direktori
$ ls ~student
$ mv ~student/testfile /tmp/student_test_file
$ ls ~student
$ ls /tmp/
$ mv procedure.txt.bak2 /home/student/procedures/
$ ls –l foo
$ mv foo bar
$ ls –l bar
Manipulasi File & Direktori
$ cd
$ rm work
$ rm –ri work
$ mkdir work
$ rmdir work
Manipulasi File & Direktori
$ file /usr/share/doc/HTML/bookmarks.html
$ file testfile
$ cat /etc/profile
$ cat /etc/passwd
$ less /etc/profile
$ more /etc/profile
Manipulasi File & Direktori
$ echo $HOME
$ echo $PATH
$ env
$ printenv
$ echo “Hello world”
$ echo ‘Hello world’
Interaksi
Antarmuka interaksi user dan kernel sistem
operasi berbasis command line.
Shell
Macam Shell Linux
# Melihat jenis shell yang ada
$ cat /etc/shells <enter>
# Menampilkan jenis shell aktif
$ echo $SHELL <enter>
# Menampilkan path aktif
$ echo $PATH <enter>
Perintah Terkait Shell
#!/bin/bash
#myinfo
#membersihkan tampilan layar
clear
#menampilkan informasi
echo -n "Waktu sistem :"; date
echo -n "Nama :"; whoami
echo -n "Banyak pemakai :"; who | wc –l
echo -e "ading"
#end
nano latihan2a.sh
shebang, sha-bang,
hashbang, pound-bang,hash-
exclam,hash-pling
#!/bin/bash
echo "halo $LOGNAME ,senang bertemu denganmu"
echo "direktori anda saat ini `pwd`“
echo "anda bekerja di mesin `uname –a`"
#end
LOGNAME merupakan variabel environtment
nano latihan2b.sh
 Nama lokasi di memori yang dipakai
untuk menyimpan data, bersifat temporer
/ sementara.
Variabel
1. EnvironmentVariable
2. Positional Parameter
3. User DefinedVariable
MacamVariabel
variabel yang dipakai khusus untuk proses kerja
sistem.
Contoh PS1, PS2, HOME, PATH, USER, SHELL, dll
PS1 untuk men-set prompt shell pertama
(default "s-v$")
PS2 untuk prompt pelengkap perintah, ditampilkan
jika perintah dianggap belum lengkap oleh shell
(default ">").
EnvironmentVariable
#Simpan dulu prompt lama
$ PS1LAMA=$PS1 <enter>
#set prompt ke nilai baru
$ PS1="Promptku!“<enter>
Latihan Set Prompt
#contoh pemakaian
$ PS1="[t][u@h:w]$"<enter>
Karakter backslash untuk prompt
Berikan perintah berikut
$ env <enter>
ListVariabel Environment
Buatlah shell script untuk menampilkan
berbagai varibel yang ada. Jangan lupa
berikan labelnya
Merupakan parameter yang digunakan shell
untuk menampung argumen pemanggilan
baik berupa argumen saat sebuah file
dijalankan atau argumen yang dikirim ke
subrutin.
Positional Parameter
#!/bin/bash
#argumen1
echo $1 adalah salah satu $2
populer di $3
#end
./argumen1 joko siti asep
nano latihan2c.sh
#!/bin/bash
#argumen2
clear
echo "Nama script : $0";
echo "Banyak argumen : $#";
echo "Argumennya adalah: $*";
#end
./argumen 1 2 3 empat
nano latihan2d.sh
variabel yang didefinisikan sendiri oleh
pembuat script.
Ketentuan :
 dimulai dengan huruf atau underscore
 hindari pemakaian karakter spesial seperti
*,$,#,dll ...
 bersifat case sensitive
User DefinedVariable
myos="linux" #double-quoted
nama='pinguin' #single-quoted
hasil=`ls -l`; #back-quoted
angka=12
Contoh
#!/bin/bash
nama="pinguin"
kata='Hi $nama, apa kabar'
#menyisipkan variabel nama
echo $kata;
nano latihan2e.sh
#!/bin/bash
hapus=`clear`;
#hasil dari perintah ls -l disimpan di variabel isi
isi=`ls -l`;
#hapus layar
echo $hapus
#ls -l
echo $isi;
nano latihan2f.sh
Adalah sebuah metode yang dilakukan
untuk mencari, mengurangi, menghilangkan
bug (error atau kesalahan) dalam program.
Memakai command built in :
 set -x : display commands dengan
argument yang dieksekusi.
 set -v : menampilkan baris shell input
seperti yang tertulis.
Debugging
#!/bin/bash
echo "hello ${LOGNAME}"
echo "hari ini ${date}"
echo "Mencoba melakukan debug pada
script"
w
nano latihan2g.sh
#!/bin/bash -x
echo "hello ${LOGNAME}"
echo "hari ini ${date}"
echo "Mencoba melakukan debug pada
script"
w
nano latihan2ged.sh
Melihat identitas diri (nomor id dan group id)
$ id
Melihat tanggal dan kalender dari system
Melihat tanggal saat ini
$ date
Melihat kalender
$ cal 18 2008
$ cal -y
Melihat identitas mesin
$ hostname
$ uname
$ uname -a
Perintah-perintah
Melihat siapa yang sedang aktif
Mengetahui siapa saja yang sedang aktif
$ w
$ who
$ whoami
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.
Melihat informasi finger
$ finger
$ finger <user>
Menggunakan manual
$ man ls
$ man man
$ man –k file
$ man 5 passwd
Menghapus layer
$ clear
Mencari perintah yang deskripsinya mengandung kata kunci yang
dicari
$ apropos date
$ apropos mail
$ apropos telnet
Mencari perintah yang tepat sama dengan kunci yang dicari
$ whatis date
Melihat tipe file
$ file
$ file *
$ file /bin/ls
Menyalin file
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
Mengkopi ke direktori
$ mkdir backup
$ cp f1 f3
$ cp f1 f2 f3 backup
$ ls backup
$ cd backup
$ ls
Melihat isi file
Menggunakan instruksi cat
$ cat f1
Menampilkan file per satu layar penuh
$ more f1
$ pg f1
Mengubah nama file
Menggunakan instruksi mv
$ mv f1 prog.txt
$ ls
Memindahkan file ke direktori lain. Bila argumen
terakhir adalah nama direktori, maka berkas-berkas
akan dipindahkan ke direktori tersebut.
$ mkdir mydir
$ mv f1 f2 f3 mdir
Menghapus file
$ rm f1
$ cp mydir/f1 f1
$ cp mydir/f2 f2
$ rm f1
$ rm –i f2
Mencari kata atau kalimat dalam file
$ grep root /etc/passwd
$ grep “:0:” /etc/passwd
$ grep student /etc/passwd
Tugas resume perintah
$echo "$var"
atau
$echo $var
atau
$echo "${var} "
atau
$printf $var atau printf "%sn" ${Var} //
gunakan man printf untuk kontrol lainnya
atau
$echo ${var=nilai variabel} atau $echo ${var-
nilai variable}
atau
${var:=defaultvalue}
Variabel
$ echo ${coba:=test}
$ kelas=PCE102
$ echo ${kelas:=PCE103}
$ unset kelas
$ echo ${kelas:=PCE103}
#!/bin/bash
# welcome message
echo "*** Backup Shell Script ***"
echo
echo "*** Run time: $(date) @ $(hostname)"
echo
# Definisi variabel
BACKUP="/PCE10"
NOW=$(date +"%d-%m-%Y")
# Start backup
echo "*** Dumping MySQL Database to $BACKUP/$NOW..."
# Just sleep for 3 secs
sleep 3
# And we are done...
echo
echo "*** Backup wrote to $BACKUP/$NOW/latest.tar.gz"
nano latihan2h.sh
$vech="shell"
$printf "%sn" $vech
$printf "%1sn" $vech
$printf "%1.1sn" $vech
$printf "%1.2sn" $vech
$printf "%1.3sn" $vech
$printf "%10.3sn" $vech
$printf "%10.1sn" $vech
$no=10
$printf "%dn" $no
$big=5355765
$printf "%en" $big
$printf "%5.2en" $big
$sales=54245.22
$printf "%fn" $sales
$printf "%.2fn" $sales
printf
$echo "Path is $PATH" ## $PATH akan dieksekusi
atau
$echo 'I want to print $PATH' ## PATH tidak dieksekusi
Quote
$FILE="/etc/resolv.conf"
$echo "File is "$FILE" "
FILE="/etc/resolv.conf"
echo "File is $FILE "
Backslash
read -p "Prompt" variable1 variable2 variableN
Jika tidak ada opsi, masukan dibaca tanpa dipilah
terlebih dahulu. Batas pembacaan adalah karakter
<enter>
READ (Input dari keyboard)
Format READ
#!/bin/bash
read -p "Enter your name : " name
echo "Hi, $name. Welcome to Shell
Programming Lab.!"
nano latihan2i.sh
#!/bin/bash
# baca multiple input, 3 angka
read -p "Bilangan pertama : " n1
read -p "Bilangan kedua : " n2
read -p "Bilangan ketiga : " n3
# tampilkan
echo "Angka 1 - $n1"
echo "Angka 2 - $n2"
echo "Angka 3 - $n3"
nano latihan2j.sh
Untuk membatasi waktu penginputan nilai
variable dapat diset waktunya dengan
option –t .
Timeout inputan
nano latihan2k.sh
#!/bin/bash
read -t 10 -p "Nama domain internet :
" nama_domain
echo $nama_domain
Penanganan form untuk password dengan
menyembunyikan karakter yang dimasukkan
dapat menggunakan option –s.
Inputan Password
#!/bin/bash
read -s -p "Enter Password : "
my_password
echo
echo "Your password -
$my_password"
nano latihan2l.sh
 String yang mengandung spasi, dapat
dipisahkan dengan option -r
MultipleValues Split
#!/bin/bash
nameservers="ns1.telu.cu ns2.telu.cu
ns3.telu.cu"
echo "$nameservers"
printf "%s" $nameservers
read -r ns1 ns2 ns3 <<< "$nameservers"
echo "DNS Server #1 $ns1"
echo " #2 $ns2"
echo " #3 $ns2"
printf "DNS Server #1 %sn #2 %sn #3 %sn" $ns1 $ns2
$ns3
nano latihan2m.sh
#!/bin/bash
echo "Surnamen"
echo "First name: c"
read name1 name2
echo "Welcome to Tel U $name2 $name1"
nano latihan2n.sh
#!/bin/bash
declare –i data1 data2 hasil
read –p "Masukkan sebuah angka : "
data1=$REPLY
read –p "Masukkan angka lagi : "
data2=$REPLY
hasil=data1/data2
echo "hasil dari $data1 / data2
adalah $hasil"
unset data1 data2 hasil
nano latihan2o1.sh
#!/bin/bash
let data1 data2 hasil
read –p "masukkan sebuah angka : "
data1=$REPLY
read –p "masukkan sebuah angka lagi : "
data2=$REPLY
((hasil=data1-data2))
echo "hasil dari $data1 - $data2 adalah
$hasil "
unset data1 data2 hasil
nano latihan2o2.sh
Variabel yang menyimpan nilai lebih dari
satu. Biasanya bertipe sama.
Cara mendefinisikan :
- declare –a
- read –a
- varX[index]
Array
#!/bin/bash
declare –a nilai=(mhs1 mhs2 mhs3 mhs4)
echo "isi dari array indek 0 adalah
${nilai[0]} "
echo "isi array ke 1 adalah ${nilai[1]}
"
echo "jumlah indek adalah ${#nilai[*]}"
echo "isi array adalah ${nilai[*]} "
unset nilai
nano latihan2p.sh
#!/bin/bash
declare –a x=(2 [3]=hai [8]=ali)
echo "indek ke 0 berisi ${x[0]}"
echo "indek ke 1 berisi ${x[1]}"
echo "indek ke 3 berisi ${x[3]}"
echo "indek ke 8 berisi ${x[8]}"
echo "total indek adalah ${#x[*]}"
unset x
nano latihan2q.sh
#!/bin/bash
echo "Ketikkan min. 3 nama buah "
read –a buah
echo "nama buah : ${buah[*]}"
echo "jumlah buah ${#buah[*]}"
nano latihan2r.sh
#!/bin/bash
x[0]=3
x[5]=2
x[2]=4
echo "isi array adalah ${x[*]}"
echo "jmlh indeks adalah ${#x[*]}"
unset x
nano latihan2s.sh
#!/bin/bash
declare –ai x
x[0]=2
x[2]=3
x[3]=${x[0]}*${x[2]}
echo "hasil ${x[0]} kali ${x[2]} = ${x[3]}"
echo "jumlah indek array adalah ${#x[*]}"
nano latihan2t.sh
#!/bin/bash
declare -ai larik
larik[1,1]=1
larik[1]=10
larik[1,1,1]=4
echo "Jumlah elemen larik ${#larik[*]}"
echo "Isi larik ${larik[*]}"
echo "[1,1]= ${larik[1,1]}"
echo "[1]= ${larik[1]}"
echo "[1,1,1]=${larik[1,1,1]}"
nano latihan2u.sh
#!/bin/bash
declare -ai larik
larik[1,1]=1
echo "[1,1]= ${larik[1,1]}"
larik[1]=10
echo "[1]= ${larik[1]}"
larik[1,1,1]=4
echo "[1,1,1]=${larik[1,1,1]}"
echo "Jumlah elemen larik ${#larik[*]}"
echo "Isi larik ${larik[*]}"
nano latihan2v.sh
#!/bin/bash
declare -ai larik
larik[1,1]=1
larik[1,2]=2
larik[1,3]=3
larik[2,1]=20
larik[2,2]=40
larik[2,3]=60
echo "[1,1]=${larik[1,1]}"
echo "[1,2]=${larik[1,2]}"
echo "[1,3]=${larik[1,3]}"
echo "[2,1]=${larik[2,1]}"
echo "[2,2]=${larik[2,2]}"
echo "[2,3]=${larik[2,3]}"
echo "Jumlah elemen larik ${#larik[*]}"
echo "Isi larik ${larik[*]}"
nano latihan2w.sh
#!/bin/bash
declare -Ai larik
larik[1,1]=1
larik[1,2]=2
larik[1,3]=3
larik[2,1]=20
larik[2,2]=40
larik[2,3]=60
echo "[1,1]=${larik[1,1]}"
echo "[1,2]=${larik[1,2]}"
echo "[1,3]=${larik[1,3]}"
echo "[2,1]=${larik[2,1]}"
echo "[2,2]=${larik[2,2]}"
echo "[2,3]=${larik[2,3]}"
echo "Jumlah elemen larik ${#larik[*]}"
echo "Isi larik ${larik[*]}"
nano latihan2x.sh
#!/bin/bash
declare -Ai larik
larik[1,1]=1
larik[1,2]=2
larik[1,3]=3
larik[2,1]=20
larik[2,2]=40
larik[2,3]=60
echo –n "[1,1]=${larik[1,1]}"
echo –n "[1,2]=${larik[1,2]}"
echo "[1,3]=${larik[1,3]}"
echo –n "[2,1]=${larik[2,1]}"
echo –n "[2,2]=${larik[2,2]}"
echo "[2,3]=${larik[2,3]}"
echo "Jumlah elemen larik ${#larik[*]}"
echo "Isi larik ${larik[*]}"
nano latihan2y.sh
#!/bin/bash
declare -Ai larik
larik[1.nim]=1
larik[1.nama]="Mbilung"
larik[1.kelas]="SP1"
larik[2.nim]=20
larik[2.nama]="Cangik"
larik[2.kelas]="SP2"
echo –n "[1.nim]=${larik[1.nim]}"
echo –n "[1.nama]=${larik[1.nama]}"
echo "[1.kelas]=${larik[1.kelas]}"
echo –n "[2.nim]=${larik[2.nim]}"
echo –n "[2.nama]=${larik[2.nama]}"
echo "[2.kelas]=${larik[2.kelas]}"
echo "Jumlah elemen larik ${#larik[*]}"
echo "Isi larik ${larik[*]}"
nano latihan2z.sh

More Related Content

What's hot

Lapres so d_modul5_yuka
Lapres so d_modul5_yukaLapres so d_modul5_yuka
Lapres so d_modul5_yukaYuka Arjaka
 
Laporan Praktikum Web dengan PHP
Laporan Praktikum Web dengan PHPLaporan Praktikum Web dengan PHP
Laporan Praktikum Web dengan PHPOkta Riveranda
 
Os2013 lap2-rizqitohopi
Os2013 lap2-rizqitohopiOs2013 lap2-rizqitohopi
Os2013 lap2-rizqitohopirizqitohopi
 
Laporan praktikum bengkel web dengan PHP
Laporan praktikum bengkel web dengan PHPLaporan praktikum bengkel web dengan PHP
Laporan praktikum bengkel web dengan PHPOkta Riveranda
 
Os2013 lap5-rizqitohopi
Os2013 lap5-rizqitohopiOs2013 lap5-rizqitohopi
Os2013 lap5-rizqitohopirizqitohopi
 
Os2013 lap4-rizqitohopi
Os2013 lap4-rizqitohopiOs2013 lap4-rizqitohopi
Os2013 lap4-rizqitohopirizqitohopi
 
Os2013 lap1-sasmita daeng sembang
Os2013 lap1-sasmita daeng sembangOs2013 lap1-sasmita daeng sembang
Os2013 lap1-sasmita daeng sembangrhamalia
 
Pengenalan perintah terminal pada linux
Pengenalan perintah terminal pada linuxPengenalan perintah terminal pada linux
Pengenalan perintah terminal pada linuxIrsal Shabirin
 
Semua tentang php
Semua tentang phpSemua tentang php
Semua tentang phpZero_c00l
 
Modul praktikum-so-2013
Modul praktikum-so-2013Modul praktikum-so-2013
Modul praktikum-so-2013Tri Atsumori
 
Instalasi Squid Proxy di Ubuntu
Instalasi Squid Proxy di UbuntuInstalasi Squid Proxy di Ubuntu
Instalasi Squid Proxy di UbuntuIsus Isusay
 
Slide web programming ii
Slide web programming iiSlide web programming ii
Slide web programming iiIlman Kadori
 

What's hot (20)

Lapres so d_modul5_yuka
Lapres so d_modul5_yukaLapres so d_modul5_yuka
Lapres so d_modul5_yuka
 
Os2013 lap6-ridwan
Os2013 lap6-ridwanOs2013 lap6-ridwan
Os2013 lap6-ridwan
 
Laporan Praktikum Web dengan PHP
Laporan Praktikum Web dengan PHPLaporan Praktikum Web dengan PHP
Laporan Praktikum Web dengan PHP
 
Os2013 lap2-rizqitohopi
Os2013 lap2-rizqitohopiOs2013 lap2-rizqitohopi
Os2013 lap2-rizqitohopi
 
Laporan praktikum bengkel web dengan PHP
Laporan praktikum bengkel web dengan PHPLaporan praktikum bengkel web dengan PHP
Laporan praktikum bengkel web dengan PHP
 
Os2013 lap5-rizqitohopi
Os2013 lap5-rizqitohopiOs2013 lap5-rizqitohopi
Os2013 lap5-rizqitohopi
 
Praktikum 5B
Praktikum 5BPraktikum 5B
Praktikum 5B
 
Os2013 lap4-rizqitohopi
Os2013 lap4-rizqitohopiOs2013 lap4-rizqitohopi
Os2013 lap4-rizqitohopi
 
Pertemuan7
Pertemuan7Pertemuan7
Pertemuan7
 
Os2013 lap1-sasmita daeng sembang
Os2013 lap1-sasmita daeng sembangOs2013 lap1-sasmita daeng sembang
Os2013 lap1-sasmita daeng sembang
 
Os2013 lap1-ridwan
Os2013 lap1-ridwanOs2013 lap1-ridwan
Os2013 lap1-ridwan
 
Pengenalan perintah terminal pada linux
Pengenalan perintah terminal pada linuxPengenalan perintah terminal pada linux
Pengenalan perintah terminal pada linux
 
Os2013 lap1-riska
Os2013 lap1-riskaOs2013 lap1-riska
Os2013 lap1-riska
 
Blog 10
Blog 10Blog 10
Blog 10
 
Semua tentang php
Semua tentang phpSemua tentang php
Semua tentang php
 
Modul praktikum-so-2013
Modul praktikum-so-2013Modul praktikum-so-2013
Modul praktikum-so-2013
 
Instalasi Squid Proxy di Ubuntu
Instalasi Squid Proxy di UbuntuInstalasi Squid Proxy di Ubuntu
Instalasi Squid Proxy di Ubuntu
 
Fungsi-Fungsi PHP
Fungsi-Fungsi PHPFungsi-Fungsi PHP
Fungsi-Fungsi PHP
 
Slide web programming ii
Slide web programming iiSlide web programming ii
Slide web programming ii
 
Perintah perintah dasar linux
Perintah perintah dasar linuxPerintah perintah dasar linux
Perintah perintah dasar linux
 

Similar to 01 tk2123 - pemrograman shell-2

Praktikum os bab2 perintah dasar di linux
Praktikum os bab2 perintah dasar di linuxPraktikum os bab2 perintah dasar di linux
Praktikum os bab2 perintah dasar di linuxSyaiful Ahdan
 
Praktikum os babk3
Praktikum os babk3Praktikum os babk3
Praktikum os babk3yats hidayat
 
Praktikum Sistem Operasi Linux
Praktikum Sistem Operasi LinuxPraktikum Sistem Operasi Linux
Praktikum Sistem Operasi LinuxMirza Afrizal
 
Pertemuan2 basic commands linux operating system-handout
Pertemuan2 basic commands linux operating system-handoutPertemuan2 basic commands linux operating system-handout
Pertemuan2 basic commands linux operating system-handoutSyaiful Ahdan
 
20150927 lab2 basiccommandlinux
20150927 lab2 basiccommandlinux20150927 lab2 basiccommandlinux
20150927 lab2 basiccommandlinuxWahyu W
 
Lapres so d_modul1_yuka
Lapres so d_modul1_yukaLapres so d_modul1_yuka
Lapres so d_modul1_yukaYuka Arjaka
 
Modul praktikum sistem operasi
Modul praktikum sistem operasiModul praktikum sistem operasi
Modul praktikum sistem operasiHidayatullah Aldy
 
Praktikum ii linux file system
Praktikum ii linux file systemPraktikum ii linux file system
Praktikum ii linux file systemMooksHal Mhiestri
 
Modul so praktikum
Modul so praktikumModul so praktikum
Modul so praktikumjoko2016
 
Lapres so d_modul2_yuka
Lapres so d_modul2_yukaLapres so d_modul2_yuka
Lapres so d_modul2_yukaYuka Arjaka
 
Laporan praktikum 1 perintah dasar sistem operasi linux
Laporan praktikum 1 perintah dasar sistem operasi linuxLaporan praktikum 1 perintah dasar sistem operasi linux
Laporan praktikum 1 perintah dasar sistem operasi linuxistiocta
 
Materi Training Basic Linux - Debian 7
Materi Training Basic Linux - Debian 7Materi Training Basic Linux - Debian 7
Materi Training Basic Linux - Debian 7Neno Sulistiyawan
 
Meeting 8-practice5 a-working with bash shell-b-modul
Meeting 8-practice5 a-working with bash shell-b-modulMeeting 8-practice5 a-working with bash shell-b-modul
Meeting 8-practice5 a-working with bash shell-b-modulSyaiful Ahdan
 
Perintah dasar linux
Perintah dasar linuxPerintah dasar linux
Perintah dasar linuxdindasilvana
 
Perintah dasar linux
Perintah dasar linuxPerintah dasar linux
Perintah dasar linuxdindasilvana
 
Pertemuan1 - PHP Dasar
Pertemuan1 - PHP DasarPertemuan1 - PHP Dasar
Pertemuan1 - PHP DasarAri Effendi
 

Similar to 01 tk2123 - pemrograman shell-2 (20)

Modul1
Modul1Modul1
Modul1
 
Praktikum os bab2 perintah dasar di linux
Praktikum os bab2 perintah dasar di linuxPraktikum os bab2 perintah dasar di linux
Praktikum os bab2 perintah dasar di linux
 
Praktikum os babk3
Praktikum os babk3Praktikum os babk3
Praktikum os babk3
 
Praktikum Sistem Operasi Linux
Praktikum Sistem Operasi LinuxPraktikum Sistem Operasi Linux
Praktikum Sistem Operasi Linux
 
Pertemuan2 basic commands linux operating system-handout
Pertemuan2 basic commands linux operating system-handoutPertemuan2 basic commands linux operating system-handout
Pertemuan2 basic commands linux operating system-handout
 
20150927 lab2 basiccommandlinux
20150927 lab2 basiccommandlinux20150927 lab2 basiccommandlinux
20150927 lab2 basiccommandlinux
 
Lapres so d_modul1_yuka
Lapres so d_modul1_yukaLapres so d_modul1_yuka
Lapres so d_modul1_yuka
 
Perintah dasar linux
Perintah dasar linux Perintah dasar linux
Perintah dasar linux
 
Modul praktikum sistem operasi
Modul praktikum sistem operasiModul praktikum sistem operasi
Modul praktikum sistem operasi
 
Praktikum ii linux file system
Praktikum ii linux file systemPraktikum ii linux file system
Praktikum ii linux file system
 
Modul so praktikum
Modul so praktikumModul so praktikum
Modul so praktikum
 
Lapres so d_modul2_yuka
Lapres so d_modul2_yukaLapres so d_modul2_yuka
Lapres so d_modul2_yuka
 
Manajemen file
Manajemen fileManajemen file
Manajemen file
 
Laporan praktikum 1 perintah dasar sistem operasi linux
Laporan praktikum 1 perintah dasar sistem operasi linuxLaporan praktikum 1 perintah dasar sistem operasi linux
Laporan praktikum 1 perintah dasar sistem operasi linux
 
Materi Training Basic Linux - Debian 7
Materi Training Basic Linux - Debian 7Materi Training Basic Linux - Debian 7
Materi Training Basic Linux - Debian 7
 
Materi 2
Materi 2Materi 2
Materi 2
 
Meeting 8-practice5 a-working with bash shell-b-modul
Meeting 8-practice5 a-working with bash shell-b-modulMeeting 8-practice5 a-working with bash shell-b-modul
Meeting 8-practice5 a-working with bash shell-b-modul
 
Perintah dasar linux
Perintah dasar linuxPerintah dasar linux
Perintah dasar linux
 
Perintah dasar linux
Perintah dasar linuxPerintah dasar linux
Perintah dasar linux
 
Pertemuan1 - PHP Dasar
Pertemuan1 - PHP DasarPertemuan1 - PHP Dasar
Pertemuan1 - PHP Dasar
 

More from Setia Juli Irzal Ismail (20)

slide-share.pdf
slide-share.pdfslide-share.pdf
slide-share.pdf
 
slide-lp3i-final.pdf
slide-lp3i-final.pdfslide-lp3i-final.pdf
slide-lp3i-final.pdf
 
society50-jul-share.pdf
society50-jul-share.pdfsociety50-jul-share.pdf
society50-jul-share.pdf
 
57 slide presentation
57 slide presentation57 slide presentation
57 slide presentation
 
Panduan Proyek Akhir D3 Teknologi Komputer Telkom University
Panduan Proyek Akhir D3 Teknologi Komputer Telkom UniversityPanduan Proyek Akhir D3 Teknologi Komputer Telkom University
Panduan Proyek Akhir D3 Teknologi Komputer Telkom University
 
Sosialisasi kurikulum2020
Sosialisasi kurikulum2020Sosialisasi kurikulum2020
Sosialisasi kurikulum2020
 
Welcoming maba 2020
Welcoming maba 2020Welcoming maba 2020
Welcoming maba 2020
 
Slide jul apcert agm 2016
Slide jul apcert agm 2016Slide jul apcert agm 2016
Slide jul apcert agm 2016
 
Tugas besar MK Keamanan Jaringan
Tugas besar MK Keamanan Jaringan Tugas besar MK Keamanan Jaringan
Tugas besar MK Keamanan Jaringan
 
05 wireless
05 wireless05 wireless
05 wireless
 
04 sniffing
04 sniffing04 sniffing
04 sniffing
 
03 keamanan password
03 keamanan password03 keamanan password
03 keamanan password
 
02 teknik penyerangan
02 teknik penyerangan02 teknik penyerangan
02 teknik penyerangan
 
01a pengenalan keamanan jaringan upload
01a pengenalan keamanan jaringan upload01a pengenalan keamanan jaringan upload
01a pengenalan keamanan jaringan upload
 
Kajian3 upload
Kajian3 uploadKajian3 upload
Kajian3 upload
 
1.pendahuluan sistem operasi
1.pendahuluan sistem operasi1.pendahuluan sistem operasi
1.pendahuluan sistem operasi
 
10 tk3193-ids
10 tk3193-ids10 tk3193-ids
10 tk3193-ids
 
09 vpn
09 vpn 09 vpn
09 vpn
 
17. representasi data 5 jul
17. representasi data 5   jul17. representasi data 5   jul
17. representasi data 5 jul
 
16. representasi data 4 jul
16. representasi data 4   jul16. representasi data 4   jul
16. representasi data 4 jul
 

Recently uploaded

Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5KIKI TRISNA MUKTI
 
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxBab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxssuser35630b
 
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docxTugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docxmawan5982
 
11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx
11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx
11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptxMiftahunnajahTVIBS
 
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdf
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdfBab 6 Kreatif Mengungap Rasa dan Realitas.pdf
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdfbibizaenab
 
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docxTugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docxmawan5982
 
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptxPPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptxdpp11tya
 
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMLaporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMmulyadia43
 
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfREFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfirwanabidin08
 
tugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDtugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDmawan5982
 
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdfsdn3jatiblora
 
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxBAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxJamhuriIshak
 
Latihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajat
Latihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajatLatihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajat
Latihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajatArfiGraphy
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAAndiCoc
 
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfContoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfCandraMegawati
 
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxRefleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxIrfanAudah1
 
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfAksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfDimanWr1
 
Keterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTKeterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTIndraAdm
 
Aksi nyata Malaikat Kebaikan [Guru].pptx
Aksi nyata Malaikat Kebaikan [Guru].pptxAksi nyata Malaikat Kebaikan [Guru].pptx
Aksi nyata Malaikat Kebaikan [Guru].pptxsdn3jatiblora
 
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..ikayogakinasih12
 

Recently uploaded (20)

Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5
 
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxBab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
 
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docxTugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
 
11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx
11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx
11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx
 
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdf
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdfBab 6 Kreatif Mengungap Rasa dan Realitas.pdf
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdf
 
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docxTugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
 
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptxPPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
 
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMLaporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
 
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfREFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
 
tugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDtugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SD
 
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
 
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxBAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
 
Latihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajat
Latihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajatLatihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajat
Latihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajat
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
 
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfContoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
 
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxRefleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
 
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfAksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
 
Keterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTKeterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UT
 
Aksi nyata Malaikat Kebaikan [Guru].pptx
Aksi nyata Malaikat Kebaikan [Guru].pptxAksi nyata Malaikat Kebaikan [Guru].pptx
Aksi nyata Malaikat Kebaikan [Guru].pptx
 
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
 

01 tk2123 - pemrograman shell-2

  • 1. TK2123 Pemrograman Shell Semester Genap 2014/2015 TASS, Bandung 2015 www.tass.telkomuniversity.ac.id Hanya dipergunakan untuk kepentingan pengajaran di lingkungan Applied Science School –Telkom University Kajian 1 – Dasar Pemrograman Shell
  • 2. Aturan Perkuliahan Kehadiran  16 pekan ( 13x kuliah + 3x assessmen )  1 pekan 2x pertemuan (teori + exercise)  32 pertemuan  Hadir > 24 pertemuan Presensi: 1. RFID card, dan 2. Tanda tangan Keterlambatan  Max 15 menit
  • 3.  Tugas / praktek / kuis : 30%  Assessmen 1 : 20%-30%  Assessmen 2 : 20%-30% 70%  Assessmen 3 : 20%-30% Penilaian
  • 4. mahasiswa dapat membuat program yang mampu memanipulasi, memonitoring sistem operasi dan sumber daya komputer berbasis Linux dengan memanfaatkan Shell Programming Standar Kompetensi
  • 5.  Burtch, K. O. (2004). Linuk Shell ScriptingWith Bash. (E. Finney, Ed.) Indianapolis, United States of America: Developer's Library.  Albing, C.,Vossen, J., & Newham, C. (2007). Bash Cookbook (1st ed.). (L. R. Ruma, Ed.) United States of America: O'Reilly Media inc.  Quigley, E. (2005). Unix Shell by Example (4th ed.). (N. Regina, Ed.) United States of America: Prentice Hall.  Sobell, M. G. (2011). A practical guide to linux Command, editors, and Shell programming (2nd ed.). Boston, United States of America: Prentice Hall. Referensi
  • 6. Review OS (Linux) - History
  • 7. Minix, 1987, Prof. Andrew S.Tanenbaum Linux, 1991, LinusTorvalds UNICS, 1969, AT&T UNIX 6 ,1976
  • 10. $ date $ date +”Hari ini %A,%B %d, %Y.%nJam %r,%Z.” $ cal 9 2006 $ cal -y Waktu & Tanggal
  • 11. $ whatis cal $ whatis date $ date --help $ cal –help $ man date $ man man $ man –f cal $ man –k date $ man –K date $ man 1 passwd $ man 5 passwd $ info date $ info cal Manual
  • 12. $ ls /usr/share/doc $ pwd $ echo $HOME $ mkdir work $ cd /home/student/work $ cd .. $ cd - Direktori
  • 13. $ pwd $ cd . $ pwd $ cd .. $ pwd $ cd $ ls $ ls –a $ ls / $ ls –l /usr $ ls –ld /usr Direktori
  • 14. $ touch testfile $ ls /home/student $ cp ~student/tesfile /tmp/student_test_file $ ls /tmp $ cd /tmp $ ls –l file3.txt $ cp file3.txt ~/backups $ ls –l ~/backups $ cp file3.txt /home/student/backup/ $ ls –l /home/student/backup/ $ cp file3.txt /home/student/copies/ Manipulasi File & Direktori
  • 15. $ ls ~student $ mv ~student/testfile /tmp/student_test_file $ ls ~student $ ls /tmp/ $ mv procedure.txt.bak2 /home/student/procedures/ $ ls –l foo $ mv foo bar $ ls –l bar Manipulasi File & Direktori
  • 16. $ cd $ rm work $ rm –ri work $ mkdir work $ rmdir work Manipulasi File & Direktori
  • 17. $ file /usr/share/doc/HTML/bookmarks.html $ file testfile $ cat /etc/profile $ cat /etc/passwd $ less /etc/profile $ more /etc/profile Manipulasi File & Direktori
  • 18. $ echo $HOME $ echo $PATH $ env $ printenv $ echo “Hello world” $ echo ‘Hello world’ Interaksi
  • 19. Antarmuka interaksi user dan kernel sistem operasi berbasis command line. Shell
  • 21. # Melihat jenis shell yang ada $ cat /etc/shells <enter> # Menampilkan jenis shell aktif $ echo $SHELL <enter> # Menampilkan path aktif $ echo $PATH <enter> Perintah Terkait Shell
  • 22. #!/bin/bash #myinfo #membersihkan tampilan layar clear #menampilkan informasi echo -n "Waktu sistem :"; date echo -n "Nama :"; whoami echo -n "Banyak pemakai :"; who | wc –l echo -e "ading" #end nano latihan2a.sh shebang, sha-bang, hashbang, pound-bang,hash- exclam,hash-pling
  • 23. #!/bin/bash echo "halo $LOGNAME ,senang bertemu denganmu" echo "direktori anda saat ini `pwd`“ echo "anda bekerja di mesin `uname –a`" #end LOGNAME merupakan variabel environtment nano latihan2b.sh
  • 24.  Nama lokasi di memori yang dipakai untuk menyimpan data, bersifat temporer / sementara. Variabel
  • 25. 1. EnvironmentVariable 2. Positional Parameter 3. User DefinedVariable MacamVariabel
  • 26. variabel yang dipakai khusus untuk proses kerja sistem. Contoh PS1, PS2, HOME, PATH, USER, SHELL, dll PS1 untuk men-set prompt shell pertama (default "s-v$") PS2 untuk prompt pelengkap perintah, ditampilkan jika perintah dianggap belum lengkap oleh shell (default ">"). EnvironmentVariable
  • 27. #Simpan dulu prompt lama $ PS1LAMA=$PS1 <enter> #set prompt ke nilai baru $ PS1="Promptku!“<enter> Latihan Set Prompt
  • 29. Berikan perintah berikut $ env <enter> ListVariabel Environment Buatlah shell script untuk menampilkan berbagai varibel yang ada. Jangan lupa berikan labelnya
  • 30. Merupakan parameter yang digunakan shell untuk menampung argumen pemanggilan baik berupa argumen saat sebuah file dijalankan atau argumen yang dikirim ke subrutin. Positional Parameter
  • 31. #!/bin/bash #argumen1 echo $1 adalah salah satu $2 populer di $3 #end ./argumen1 joko siti asep nano latihan2c.sh
  • 32. #!/bin/bash #argumen2 clear echo "Nama script : $0"; echo "Banyak argumen : $#"; echo "Argumennya adalah: $*"; #end ./argumen 1 2 3 empat nano latihan2d.sh
  • 33. variabel yang didefinisikan sendiri oleh pembuat script. Ketentuan :  dimulai dengan huruf atau underscore  hindari pemakaian karakter spesial seperti *,$,#,dll ...  bersifat case sensitive User DefinedVariable
  • 35. #!/bin/bash nama="pinguin" kata='Hi $nama, apa kabar' #menyisipkan variabel nama echo $kata; nano latihan2e.sh
  • 36. #!/bin/bash hapus=`clear`; #hasil dari perintah ls -l disimpan di variabel isi isi=`ls -l`; #hapus layar echo $hapus #ls -l echo $isi; nano latihan2f.sh
  • 37. Adalah sebuah metode yang dilakukan untuk mencari, mengurangi, menghilangkan bug (error atau kesalahan) dalam program. Memakai command built in :  set -x : display commands dengan argument yang dieksekusi.  set -v : menampilkan baris shell input seperti yang tertulis. Debugging
  • 38. #!/bin/bash echo "hello ${LOGNAME}" echo "hari ini ${date}" echo "Mencoba melakukan debug pada script" w nano latihan2g.sh
  • 39. #!/bin/bash -x echo "hello ${LOGNAME}" echo "hari ini ${date}" echo "Mencoba melakukan debug pada script" w nano latihan2ged.sh
  • 40. Melihat identitas diri (nomor id dan group id) $ id Melihat tanggal dan kalender dari system Melihat tanggal saat ini $ date Melihat kalender $ cal 18 2008 $ cal -y Melihat identitas mesin $ hostname $ uname $ uname -a Perintah-perintah
  • 41. Melihat siapa yang sedang aktif Mengetahui siapa saja yang sedang aktif $ w $ who $ whoami 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. Melihat informasi finger $ finger $ finger <user>
  • 42. Menggunakan manual $ man ls $ man man $ man –k file $ man 5 passwd Menghapus layer $ clear Mencari perintah yang deskripsinya mengandung kata kunci yang dicari $ apropos date $ apropos mail $ apropos telnet Mencari perintah yang tepat sama dengan kunci yang dicari $ whatis date
  • 43. Melihat tipe file $ file $ file * $ file /bin/ls Menyalin file 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 Mengkopi ke direktori $ mkdir backup $ cp f1 f3 $ cp f1 f2 f3 backup $ ls backup $ cd backup $ ls
  • 44. Melihat isi file Menggunakan instruksi cat $ cat f1 Menampilkan file per satu layar penuh $ more f1 $ pg f1 Mengubah nama file Menggunakan instruksi mv
  • 45. $ mv f1 prog.txt $ ls Memindahkan file ke direktori lain. Bila argumen terakhir adalah nama direktori, maka berkas-berkas akan dipindahkan ke direktori tersebut. $ mkdir mydir $ mv f1 f2 f3 mdir Menghapus file $ rm f1 $ cp mydir/f1 f1 $ cp mydir/f2 f2 $ rm f1 $ rm –i f2
  • 46. Mencari kata atau kalimat dalam file $ grep root /etc/passwd $ grep “:0:” /etc/passwd $ grep student /etc/passwd
  • 48. $echo "$var" atau $echo $var atau $echo "${var} " atau $printf $var atau printf "%sn" ${Var} // gunakan man printf untuk kontrol lainnya atau $echo ${var=nilai variabel} atau $echo ${var- nilai variable} atau ${var:=defaultvalue} Variabel
  • 49. $ echo ${coba:=test} $ kelas=PCE102 $ echo ${kelas:=PCE103} $ unset kelas $ echo ${kelas:=PCE103}
  • 50. #!/bin/bash # welcome message echo "*** Backup Shell Script ***" echo echo "*** Run time: $(date) @ $(hostname)" echo # Definisi variabel BACKUP="/PCE10" NOW=$(date +"%d-%m-%Y") # Start backup echo "*** Dumping MySQL Database to $BACKUP/$NOW..." # Just sleep for 3 secs sleep 3 # And we are done... echo echo "*** Backup wrote to $BACKUP/$NOW/latest.tar.gz" nano latihan2h.sh
  • 51. $vech="shell" $printf "%sn" $vech $printf "%1sn" $vech $printf "%1.1sn" $vech $printf "%1.2sn" $vech $printf "%1.3sn" $vech $printf "%10.3sn" $vech $printf "%10.1sn" $vech $no=10 $printf "%dn" $no $big=5355765 $printf "%en" $big $printf "%5.2en" $big $sales=54245.22 $printf "%fn" $sales $printf "%.2fn" $sales printf
  • 52. $echo "Path is $PATH" ## $PATH akan dieksekusi atau $echo 'I want to print $PATH' ## PATH tidak dieksekusi Quote
  • 53. $FILE="/etc/resolv.conf" $echo "File is "$FILE" " FILE="/etc/resolv.conf" echo "File is $FILE " Backslash
  • 54. read -p "Prompt" variable1 variable2 variableN Jika tidak ada opsi, masukan dibaca tanpa dipilah terlebih dahulu. Batas pembacaan adalah karakter <enter> READ (Input dari keyboard)
  • 56. #!/bin/bash read -p "Enter your name : " name echo "Hi, $name. Welcome to Shell Programming Lab.!" nano latihan2i.sh
  • 57. #!/bin/bash # baca multiple input, 3 angka read -p "Bilangan pertama : " n1 read -p "Bilangan kedua : " n2 read -p "Bilangan ketiga : " n3 # tampilkan echo "Angka 1 - $n1" echo "Angka 2 - $n2" echo "Angka 3 - $n3" nano latihan2j.sh
  • 58. Untuk membatasi waktu penginputan nilai variable dapat diset waktunya dengan option –t . Timeout inputan
  • 59. nano latihan2k.sh #!/bin/bash read -t 10 -p "Nama domain internet : " nama_domain echo $nama_domain
  • 60. Penanganan form untuk password dengan menyembunyikan karakter yang dimasukkan dapat menggunakan option –s. Inputan Password
  • 61. #!/bin/bash read -s -p "Enter Password : " my_password echo echo "Your password - $my_password" nano latihan2l.sh
  • 62.  String yang mengandung spasi, dapat dipisahkan dengan option -r MultipleValues Split
  • 63. #!/bin/bash nameservers="ns1.telu.cu ns2.telu.cu ns3.telu.cu" echo "$nameservers" printf "%s" $nameservers read -r ns1 ns2 ns3 <<< "$nameservers" echo "DNS Server #1 $ns1" echo " #2 $ns2" echo " #3 $ns2" printf "DNS Server #1 %sn #2 %sn #3 %sn" $ns1 $ns2 $ns3 nano latihan2m.sh
  • 64. #!/bin/bash echo "Surnamen" echo "First name: c" read name1 name2 echo "Welcome to Tel U $name2 $name1" nano latihan2n.sh
  • 65. #!/bin/bash declare –i data1 data2 hasil read –p "Masukkan sebuah angka : " data1=$REPLY read –p "Masukkan angka lagi : " data2=$REPLY hasil=data1/data2 echo "hasil dari $data1 / data2 adalah $hasil" unset data1 data2 hasil nano latihan2o1.sh
  • 66. #!/bin/bash let data1 data2 hasil read –p "masukkan sebuah angka : " data1=$REPLY read –p "masukkan sebuah angka lagi : " data2=$REPLY ((hasil=data1-data2)) echo "hasil dari $data1 - $data2 adalah $hasil " unset data1 data2 hasil nano latihan2o2.sh
  • 67. Variabel yang menyimpan nilai lebih dari satu. Biasanya bertipe sama. Cara mendefinisikan : - declare –a - read –a - varX[index] Array
  • 68. #!/bin/bash declare –a nilai=(mhs1 mhs2 mhs3 mhs4) echo "isi dari array indek 0 adalah ${nilai[0]} " echo "isi array ke 1 adalah ${nilai[1]} " echo "jumlah indek adalah ${#nilai[*]}" echo "isi array adalah ${nilai[*]} " unset nilai nano latihan2p.sh
  • 69. #!/bin/bash declare –a x=(2 [3]=hai [8]=ali) echo "indek ke 0 berisi ${x[0]}" echo "indek ke 1 berisi ${x[1]}" echo "indek ke 3 berisi ${x[3]}" echo "indek ke 8 berisi ${x[8]}" echo "total indek adalah ${#x[*]}" unset x nano latihan2q.sh
  • 70. #!/bin/bash echo "Ketikkan min. 3 nama buah " read –a buah echo "nama buah : ${buah[*]}" echo "jumlah buah ${#buah[*]}" nano latihan2r.sh
  • 71. #!/bin/bash x[0]=3 x[5]=2 x[2]=4 echo "isi array adalah ${x[*]}" echo "jmlh indeks adalah ${#x[*]}" unset x nano latihan2s.sh
  • 72. #!/bin/bash declare –ai x x[0]=2 x[2]=3 x[3]=${x[0]}*${x[2]} echo "hasil ${x[0]} kali ${x[2]} = ${x[3]}" echo "jumlah indek array adalah ${#x[*]}" nano latihan2t.sh
  • 73. #!/bin/bash declare -ai larik larik[1,1]=1 larik[1]=10 larik[1,1,1]=4 echo "Jumlah elemen larik ${#larik[*]}" echo "Isi larik ${larik[*]}" echo "[1,1]= ${larik[1,1]}" echo "[1]= ${larik[1]}" echo "[1,1,1]=${larik[1,1,1]}" nano latihan2u.sh
  • 74. #!/bin/bash declare -ai larik larik[1,1]=1 echo "[1,1]= ${larik[1,1]}" larik[1]=10 echo "[1]= ${larik[1]}" larik[1,1,1]=4 echo "[1,1,1]=${larik[1,1,1]}" echo "Jumlah elemen larik ${#larik[*]}" echo "Isi larik ${larik[*]}" nano latihan2v.sh
  • 75. #!/bin/bash declare -ai larik larik[1,1]=1 larik[1,2]=2 larik[1,3]=3 larik[2,1]=20 larik[2,2]=40 larik[2,3]=60 echo "[1,1]=${larik[1,1]}" echo "[1,2]=${larik[1,2]}" echo "[1,3]=${larik[1,3]}" echo "[2,1]=${larik[2,1]}" echo "[2,2]=${larik[2,2]}" echo "[2,3]=${larik[2,3]}" echo "Jumlah elemen larik ${#larik[*]}" echo "Isi larik ${larik[*]}" nano latihan2w.sh
  • 76. #!/bin/bash declare -Ai larik larik[1,1]=1 larik[1,2]=2 larik[1,3]=3 larik[2,1]=20 larik[2,2]=40 larik[2,3]=60 echo "[1,1]=${larik[1,1]}" echo "[1,2]=${larik[1,2]}" echo "[1,3]=${larik[1,3]}" echo "[2,1]=${larik[2,1]}" echo "[2,2]=${larik[2,2]}" echo "[2,3]=${larik[2,3]}" echo "Jumlah elemen larik ${#larik[*]}" echo "Isi larik ${larik[*]}" nano latihan2x.sh
  • 77. #!/bin/bash declare -Ai larik larik[1,1]=1 larik[1,2]=2 larik[1,3]=3 larik[2,1]=20 larik[2,2]=40 larik[2,3]=60 echo –n "[1,1]=${larik[1,1]}" echo –n "[1,2]=${larik[1,2]}" echo "[1,3]=${larik[1,3]}" echo –n "[2,1]=${larik[2,1]}" echo –n "[2,2]=${larik[2,2]}" echo "[2,3]=${larik[2,3]}" echo "Jumlah elemen larik ${#larik[*]}" echo "Isi larik ${larik[*]}" nano latihan2y.sh
  • 78. #!/bin/bash declare -Ai larik larik[1.nim]=1 larik[1.nama]="Mbilung" larik[1.kelas]="SP1" larik[2.nim]=20 larik[2.nama]="Cangik" larik[2.kelas]="SP2" echo –n "[1.nim]=${larik[1.nim]}" echo –n "[1.nama]=${larik[1.nama]}" echo "[1.kelas]=${larik[1.kelas]}" echo –n "[2.nim]=${larik[2.nim]}" echo –n "[2.nama]=${larik[2.nama]}" echo "[2.kelas]=${larik[2.kelas]}" echo "Jumlah elemen larik ${#larik[*]}" echo "Isi larik ${larik[*]}" nano latihan2z.sh