Modul 1
SHELL
INTERAKTIF dan SKRIP
Shell
dapat dikatakan sebagai tempat interaksi antara pengguna dan sistem Linux yang
sedang digunakan. Shell juga bertugas menerjemahkan atau mengeksekusi
program.
Shell menyediakan suatu antarmuka teks
(command line). Shell dapat diguakan untuk mengelola (administering) sistem
Linux seperti menambah pengguna, mengatur file dan direktori dan memantau kerja
dari sistem operasi. Shell Linux ditandai oleh $ (user reguler) atau # (root).
Shell Bash dapat digunakan dalam dua
modus, yaitu modus interaktif dan modus skrip.
Pada modus interaktif, anda menuliskan
satu baris perintah disamping prompt dan mengakhirinya dengan ENTER. Hasil
eksekusi akan ditampilkan langsung pada layar dan anda kembali disediakan prompt
untuk memasukkan perintah-perintah berikutnya.
Pada modus skrip, anda menuliskan skrip
atau kode program, berisi perintah-perintah Linux, menyimpannya ke dalam sebuah
file dengan ekstensi .sh. Selanjutnya file ini dijalankan pada modus
Interaktif.
1.1
Perintah-perintah shell pada linux
cat
Perintah untuk menampilkan isi teks file
cat
[namafile]
cp
Perintah untuk Mencopy file
$
cp [source] [destination]
mv
Perintah untuk Memindah file
/direktori
$
mv [source] [destination]
touch
Perintah untuk membuat file kosong
touch
[file name]
contoh : $touch /tmp/cobadeh
Contoh program perintah-perintah yang
berkaitan dengan pengelolaan file seperti cp, mv, touch dan cat :
cantieq@cantieq-laptop:~$
pico rusmiati.txt
cantieq@cantieq-laptop:~$
ls
Desktop Downloads Pictures Templates
Do examples.desktop Public Videos
Documents Music rusmiati.txt xampp-linux-1.7.3a.tar.gz
cantieq@cantieq-laptop:~$ cp rusmiati.txt
Documents/
cantieq@cantieq-laptop:~$ ls Documents/
basdat1.ods rusmiati.txt
cantieq@cantieq-laptop:~$
mv rusmiati.txt Desktop/
cantieq@cantieq-laptop:~$ ls Desktop/
rusmiati.txt
cantieq@cantieq-laptop:~$ cd Desktop/
cantieq@cantieq-laptop:~/Desktop$ ls
rusmiati.txt
cantieq@cantieq-laptop:~/Desktop$ cat
rusmiati.txt
belajar shell pada linux
|
1.2 Penggunaan baca manual dari grep dan tr.
grep
Perintah untuk melakukan scan file terhadap karakter tertentu
grep
"pattern" filename
tr
Perintah untuk melakukan penghapusan karakter
Contoh program perintah-perintah yang berkaitan dengan pengelolaan
file seperti cp, mv, touch dan cat :
cantieq@cantieq-laptop:~$ ls Desktop/
rusmiati.txt
cantieq@cantieq-laptop:~$ cd Desktop/
cantieq@cantieq-laptop:~/Desktop$
ls
rusmiati.txt
cantieq@cantieq-laptop:~/Desktop$
cat rusmiati.txt
belajar shell pada linux
cantieq@cantieq-laptop:~/Desktop$ grep "e" rusmiati.txt
belajar shell pada
linux
cantieq@cantieq-laptop:~$
echo "linux" | tr
"i" "o"
lonux
cantieq@cantieq-laptop:~$
echo "linux" | tr -d
"n"
liux
|
1.3 Coba buka file
/etc/passwd dengan perintah cat atau more. Gunakan grep dan ambil informasi mengenai pengguna tertentu!
cantieq@cantieq-laptop:~$ cat /etc/passwd
cantieq@cantieq-laptop:~$ cat /etc/passwd | grep cantieq
cantieq:x:1000:1000:cantieq,,,:/home/cantieq:/bin/bash
cantieq@cantieq-laptop:~$ grep
cantieq /etc/passwd
cantieq:x:1000:1000:cantieq,,,:/home/cantieq:/bin/bash
|
1.4 Program skrip sederhana untuk
menampilkan daftar file yang ada di dalam direktori aktif!
public@labprog01:~$ pico penutup.sh
public@labprog01:~$ chmod +x
penutup.sh
public@labprog01:~$ ./penutup.s
direktori yang aktif
/home/public
file dan direktori yang ada pada
direktori aktif
Desktop examples.desktop penutup.sh
|
Modul 2
VARIABEL & KARAKTER ESCAPE
Pembuatan
Variabel
Perlu dicatat bahwa
harus tidak ada spasi (ruang) sebelum dan sesudah tanda sama dengan
("="): VAR=value benar sedangkan VAR = value tidak bekerja. Pada kasus pertama,
shell melihat simbol "=" dan
memperlakukan perintah sebagai pemberian atau pelewatan variabel. Pada kasus
kedua, shell menganggap bahwa VAR harus berupa nama perintah dan mencoba
mengeksekusinya.
Coba tulis kode
berikut ke dalam file skrip var1.sh:
#!/bin/sh
# Nama file skrip: var1.sh
MY_MESSAGE="Halo dunia" echo
$MY_MESSAGE
2.1 Perintah
mengubah
semua file terakhir .html menjadi.php
Untuk di terminal bisa langsung menggunakan perintah : mv *.html
*.php tapi untuk di script bash tidak diperbolehkan, untuk itu kita bisa
menggunakan perulangan. adapun scriptnya adalah sebagai berikut:
#!/bin/bash
#program tp_mod2_1.sh
for i in *.html; do mv
"$i" "`basename $i .html`.php"; done
proses :
achan@labprogserver:~/p_so/mod2$
touch a.html b.html c.html d.html
achan@labprogserver:~/p_so/mod2$
ls
a.html b.html c.html
d.html
achan@labprogserver:~/p_so/mod2$
nano tp_mod2_1.sh
achan@labprogserver:~/p_so/mod2$
chmod +x tp_mod2_1.sh
achan@labprogserver:~/p_so/mod2$
./tp_mod2_1.sh
achan@labprogserver:~/p_so/mod2$
ls
a.php b.php c.php d.php
tp_mod2_1.sh
achan@labprogserver:~/p_so/mod2$
|
2.2 Penggunaan perintah
LOGNAME, date, who i am, dan pwd
Logname
Perintah untuk menampilkan nama user (nama login)
Date
Perintah untuk menampilkan hari, tanggal dan jam
Who
I am
Perintah untuk mencetak pengguna saat ini dan nama id
Pwd
Perintah untuk mencetak direktori kerja
Contoh Syntax:
#!/bin/bash
echo "Halo, $LOGNAME"
echo "Tanggal sekarang
`date`"
echo "Pengguna: `who i am`"
echo "Direktori aktif `pwd`"
|
Keluaran :
2.3
Perintah menampilkan daftar file dan direktori yang terdapat di dalam direktorti
aktif
ls
perintah
untuk menampilkan list informasi tentang file
contoh
syntax:
#!/bin/bash
echo "Halo, $LOGNAME"
echo "Tanggal sekarang
`date`"
echo "Pengguna: `who i am`"
echo
"Direktori aktif `pwd`"
echo
–e "Daftar file dan direktori \n `ls`"
|
Hasil
running :
2.4 Perintah operasi bilangan
matematika (Penambahan, Pengurangan, Perkalian, Pembagian, dan Pangkat)
·
Operasi bilangan tambahan dan
pengurangan
Skrip :
Running :
·
Operasi bilangan pada pembagian,
pangkat dan perkalian
Jawaban:
Skrip:
Running:
2.5 Perintah menhitung luas
·
Luas lingkaran
Skrip menghitung luas Lingkaran:
Running :
·
Skrip Menghitung Luas Persegi
Running:
·
Skrip Menghitung Luas Segitiga samakaki
Running:
Modul 3
Perulangan dan
Seleksi
Sebagian besar bahasa pemrograman mempunyai konsep perulangan atau loop.
Jika kita perlu mengulangi suatu tugas sebanyak 20 kali, kita tidak harus
menuliskan kode yang sama sebanyak 20 kali. Shell Bash menyediakan perulangan
for dan while. Shell Linux memang menyediakan lebih sedikit fitur dibandingkan
bahasa dunia C/C++.
Perulangan for
Perulangan
for digunakan untuk melakukan pekerjaan berulang sebanyak daftar yang
disediakan. Contoh :
#!/bin/sh
# Nama file skrip: for1.sh
for i in 1 2 3 4 5
do
echo "Looping ... number $i"
done
Perulangan while
Perulangan
while dapat digunakan untuk melakukan pekerjaan berulang yang jumlah
perulangannya tidak pasti tetapi bergantung pada suatu kondisi yang harus
dipenuhi. Perhatikan skrip berikut:
#!/bin/sh
# Nama file skrip: while.sh
INPUT_STRING=hello
while [ "$INPUT_STRING" != "bye" ]
do
echo "Ketikkan sesuatu (bye untuk keluar)"
read INPUT_STRING
echo "Anda mengetikkan: $INPUT_STRING"
3.1
Program tebak angka dengan bahasa C menggunakan
perulangan dan seleksi
Fungsi
percabangan berfungsi melakukan suatu aksi tertentu bila suatu syarat dipenuhi,
sedangkan fungsi perulangan berfungsi melakukan perulangan terhadap suatu aksi
hingga atau sampai suatu syarat terpenuhi.
Program
Tebak angka dengan Bahasa C
#include
<stdio.h>
typedef enum{false =
0, true = 1}boolean;
int RandomIsi(int
jarak);
main() {
int angka, Jawaban;
boolean ketemu;
printf("Game
Tebak Angka!\n"); /*Judul Game*/
ketemu=false;
Jawaban=RandomIsi(100);
/*buat angka acak antara 1-100*/
while(!ketemu) //Pengulangan
{ printf("Masukan
angka tebakan = ");
scanf("%d",
&angka); /*Membaca Jawaban angka dari user*/
if(angka==Jawaban) //
Penyeleksian Kondisi Untuk Mengetahui
kebenaran jawaban dari
user
{ ketemu=true; //jika
sama berarti jawaban benar
}else
{ if(angka {
printf("Terlalu kecil\n"); //jika lebih kecil
}else
{ printf("Terlalu
besar\n"); //jika lebih besar
}
}
}
if(ketemu)
{ printf("Tebakan
anda benar!\n"); }
}
/*fungsi membuat angka
acak*/
int RandomIsi(int
jarak)
{ int RandomAngka;
srand(time(NULL)); /*memakai fungsi time
agar hasil angka acak
berbeda-beda*/
RandomAngka=(rand()%jarak)+1;
return RandomAngka; }
|
1.1
Skrip memeriksa keshahihan username dari sistem Linux
dengan memberikan inputan dari keyboard (gunakan perintah read).
Hasil running :
1.2
program untuk menampilkan daftar semua pengguna yang ada
di dalam sistem Linux mencakup Username, Nama lengkap dan Home directory-nya
Hasil running :
1.3
program tebak angka dengan menggunakan
perintah case...esac
Hasil running :
1.4
Program while, for, case, dan if
#!/bin/bash
echo "1. While - Login System"
echo "2. For - Looping nama 3x"
echo "3. Case - Nama Hari"
echo "4. If - Nilai"
echo -n "Masukkan pilihan: "
read pil
if [ $pil = 1 ]; then
echo "semangad \(^.^)/"
elif [ $pil = 2 ]; then
for i in 1 2 3
do
echo "Henny Elvandari"
done
elif [ $pil = 3 ]; then
echo -n
"Masukkan angka 1-7: "
read hari
case $hari in
1) echo "Senin";;
2) echo "Selasa";;
3) echo "Rabu";;
4) echo "Kamis";;
5) echo "Jumat";;
6) echo "Sabtu";;
7) echo "Minggu";;
*) echo "Masukkan
angka 1-9";;
esac
elif [ $pil = 4 ]; then
echo -n "Masukkan Nilai Anda: "
read nilai
if [ $nilai >60 ]; then
echo "Ye . .yE. . Anda lulus"
else
echo "Maaf !Anda tidak lulus"
fi
fi
|
Hasil Running :
Modul 4
VARIABLE
LINGKUNGAN & PROGRAM EKSTERNAL
Variabel
Lingkungan
Ada
beberapa himpunan variabel yang telah disiapkan oleh shell Linux dan sebagian
besar tidak dapat diberikan suatu nilai tertentu. Variabel-variabel ini
biasanya menyimpan informasi penting yang bermanfaat mengenai lingkungan dimana
ia berjalan. Himpunan variabel pertama adalah $0 .. $9 dan $#. Variabel $0
adalah basename (nama dasar) dari program saat dipanggil. Variabel $1 .. $9
adalah 9 parameter tambahan yang disertakan saat pemanggilan skrip. Variabel $@
adalah semua parameter $1 .. whatever. Variabel $*, serupa dengan $@, tetapi
tidak mempertahankan whitespace dan tanda petik sehingga "File with
spaces" menjadi "File" "with" "spaces". Ini
menyerupai echo. Sebagai aturan umum, gunakan $@ dan hindari $*. $# adalah
jumlah dari parameter yang disertakan saat pemanggilan skrip.
2.1 Perintah-perintah
penggunaan variabel
1.
Nama file var3.sh
Hasil
Running
2.
Nama File var4.sh
Hasil
Running
3.
Nama file ulang.sh
Hasil
Running :
4.
Nama file nama.sh
Hasil
Running
4.2 Perintah
Menampilkan daftar proses dengan nama user dari masing-masin komputer!
Syntax
:
Hasil
Running :
4.3 perintah
untuk mengkonfigurasi LAN via terminal
Konfigurasi koneksi LAN peer to peer.
Langkah-Langkahnya sebagai berikut :
Jadi Super User terlebih dahulu dengan ketik “sudo bash”
pada terminal.
Ketahui IP addres laptopnya dengan ketikkan perintah
“ifconfig”
Setting dengan ketikkan “ifconfig eth0 192.168.1.0
netmask 255.255.255.0
Route add default gw 192.168.1.1
Ping laptop client dengan ketikkan perintah “ping
192.168.1.11
Running :
4.4 program
untuk mengkonfigurasi internet sharing di terminal (NB IP Masquarade)
Mensharing koneksi internet dengan 2
Laptop menggunakan Kabel Cross,dan dengan perintah Masquerade di OS Ubuntu
1. Laptop TOSHIBA (sebagai Router)
Koneksikan
dengan Wi-FI/Hotspot ( UKK TKJ 2010/
tkj_sas ) dengan IP Automatically/ DHCP, lalu mengecek koneksi internetnya
dengan perintah di Terminal “ping google.com”, lalu muncul “Replay from
google.com . . . . .” menandakan bisa mengakses internet
-Masukkan kabel cross ke NIC Laptop Toshiba
dihubungkan ke Compaq
-Berikutnya setting IP pada masing-masing
laptop
TOSHIBA (LAN)
Ip Adress: 192.168.7.1
NetMask : 255.255.255.098
Gateway : 0.0.0.0
COMPAQ sbg
Client(LAN) .
Ip Adress: 192.168.7.1
NetMask : 255.255.255.0
Gateway : 192.168.7.1
DNS : 202.134.0.155
DNS : 202.134.0.155/192.168.1.1
Mengecek koneksinya dengan perintah
“ping . . . . “
· Pada laptop Toshiba, setting/rubah
terlebih dahulu file sysconf, caranya Masuk ke Terminal, ketik “sudo su”,
Enter. Selanjutnya ketik “sudo nautilus”, rubah file di file system/etc.sysconf
lalu enter. Hilangkan tanda pagar (#) pada tulisan “#net.ipv4.ip-forward.1
,jika sudah dihapus lalu SAVE
· Langkah berikutnya buat file
Masquerade dengan perintah di Terminal “gedit masquerade”
· Isi dengan perintah seperti berikut
#!/bin/bash
iptables -F
iptables -X
iptables -P INPUT
ACCEPT
iptables -P OUTPUT
ACCEPT
iptables -P FORWARD
ACCEPT
iptables -t nat -A
POSTROUTING –s 192.168.7.0/24 -d 0/0 –j MASQUERADE
·
Lalu SAVE
· Berikutnya merubah formatnya dengan
perintah “chmod u+x masquerade” lalu Enter, cek dengan perintah dir/ls,file
akan berubah berwarna hijau. -Lalu jalankan filenya dengan perintah
“./masquerade”
· Cek pada laptop Client/Compaq dengan
browsing internet. www.google.com - Sharing Internet dengan perintah MASQUERADE
di Ubuntu selesai.
Modul 5
FUNGSI
5.1 Perintah
Menggunakan Fungsi
Contoh
Skrip 1:
#!/bin/sh
#
Nama file skrip:
fungsi.sh
#
fungsi add_a_user()...
add_a_user()
{
USER=$1
PASSWORD=$2
shift;
shift;
# dua kali
shift, sisanya dianggap
komentar ...
COMMENTS=$@
echo
"Menambahkan
pengguna $USER ..."
echo
useradd -c "$COMMENTS" $USER
echo
passwd $USER $PASSWORD
echo
"Pengguna $USER ($COMMENTS) ditambahkan, passwordnya $PASSWORD"
}
#
Bagian utama dari
skrip berawal di
sini
echo
"Memulai skrip..."
add_a_user
bob letmein Bob
Holness the presenter
add_a_user
fred badpassword Fred
Durst the singer
add_a_user
bilko worsepassword Sgt.
Bilko the role
model
echo
"Akhir dari skrip..."
|
syntax :
Contoh
Skrip 2:
#!/bin/sh
# Nama
file skrip:fungsivar.sh
myfunc()
{
echo "\$1
is $1"
echo "\$2
is $2"
# tidak
dapat mengubah $1
– jika ditulis:
# 1="Goodbye Cruel"
# maka
itu not valid
syntax. Caranya: ubah
nilai variabel $a:
a="Goodbye Cruel"
}
### Skrip
utama bermula di
sini
a=Hello
b=World
myfunc $a
$b
echo "a
is $a"
echo "b
is $b"
|
syntax
:
hasil running:
5.2 Konfigurasi
cron jobs pada crontabs yang mengeksekusi file "jadwal.sh" fitur
jadwal.sh, shutdown, restart, sleep dengan menggunakan fungsi.
berikut sintaxnya :
0 komentar:
Posting Komentar