BAB I UNIX INTRO Komponen Unix 1. Kernel : program dasar yang berinteraksi dengan hardware melalui device manager, mengatur memori dan mengkoordinasikan proses serta mengirim dan menerima data paket dari jaringan. 2. Shell : program yang menjalankan instruksi dari user pada terminal. Shell menunggu instruksi melaui prompt kemudian mengeksekusinya. Macam shell pada unix: • Bourne Shell (sh) • C Shell (csh) • Korn Shell (ksh) • Bourne Again Shell (bash shell) 3. Sistem File
Keterangan Tipe Terminal Identitas Diri Untuk mengetahui mesin Home Directory Create User Create password untuk user baru Untuk mengetahui tanggal Copy file
: : : : : : : :
Command Pada Prompt #echo $TERM #id #hostname #uname #pwd #echo $HOME #useradd –d /export/home/folderuser –m namauser #passwd namauser
: :
#date #cp /folder/namafile sumber /folder/namafile tujuan
BAB II UTILITAS DASAR File default saat login yang akan dieksekusi sistem Sh,ksh Csh Login /etc/profile /etc .profile .crhrs .kshrc .login Logout .logout .logout Keterangan
Bash /etc/profile .bash_profile .bash_login .bash_logout Command Pada Prompt
List List dengan keterangan file List menampilkan hidden file List sebuah folder Current user Untuk mengetahui user login Help online Help dengan command Membuat directory Melihat isi file Rename nama file Cut filr
: : : : : : : : : : : :
Menghapus file Menghapus directory Untuk mencari suku kata dalam directory
: : :
#ls #ls –l #ls -a #ls –l /etc #who atau #w #finger #man nama_command_yang_dicari #apropos nama_command #mkdir nama_direktory #cat nama_file #mv nama_file_lama nama_file_baru #mv /direktory/namafile_sumber /direktory/namfile_tujuan #rm namafile #rmdir namadirektory #grep nama_yang_dicari /direktori
BAB III Vi EDITOR 1. Kondisi Command ditandai dengan menekan <esc> sebelum melakukan perintah I : Menyisipkan teks pada awal baris kalimat i : Menyisipkanteks dibelakang huruf dimana kursor berada A : Menyisipkan teks pada akhir baris kalimat a : Menyisipkan teks didepan huruf diman kursor berada O : Menyisipkan teks satu baris/membuat paragraf baru diatas kursor berada o : Menyisipkan teks/paragraf satu baris dibawah kursor :q : Keluar dari vi editor tanpa melakukan penyimpanan :wq : Keluar dan menyimpan :w nama : Keluar dari vi editor dan menyimpan sesuai dengan nama file file yang baru :q! : Keluar dari vi editor dan menyimpan ZZ : Kelar dari vi editor dan menyimpan x : Menghapus satu karakter X : Menghapus satu suku kata r : Replace satu huruf saja R : Replace kata pertama dengan awal yang ditulis cw : Mengganti satu suku kata dd : Menghapus satu paragraf cc : Mengganti satu baris u : Undo 2. Kondisi Insert ditandai dengan menekan “i” sebelum melakukan perintah
BAB IV SISTEM FILE Keterangan Mengetahui aktif direktori
Command Pada Prompt :
#pwd
:
#echo $HOME
Naik satu direktori diatasnya
:
#cd ..
Masuk kedalam satu direktori
:
#cd nama direktori
Membuat direktori baru
:
#mkdir nama direktori
Menghapus direktori
:
#rmdir nama direktori
Membuat satu file baru dan kosong
:
#touch nama file
Mengahapus file
:
#rm nama file
Melakukan modifikasi penambahan ijin akses terhadap file dan direktori
:
#chmod u+r nama file #chmod g+w nama file #chmod o+x nama file
Melakukan modifikasi pengurangan ijin akses terhadap file dan direktori
:
#chmod u-r nama file
Melakukan modifikasi dengan cara oktal. 4=read;2=write;1=execution
:
#chmod 744 nama file
Memodifikasi umask (nilai default) file atau direktory. Dengan penjelasan umask file adalah 666 – 022 maka permission file adalah 644 yang berarti r+w untuk user,r untuk group, 4 untuk others
:
#umask 022
Melakukan link terhadap file. File hai.txt melakukan link ke file hallo.txt sehingga apabila salah satu file di-update maka semua file link akan ter-update
:
#ln hai.txt hallo.txt
#chmod g-w nama file
Membuat symbolic link. direktori : /home/marganda melakukan link simbolik ke /tmp. Link simbolik dapat dikatan sebagai sortcut
#ln -s /home/marganda /tmp/
BAB V PROSES I/O 1. Pembelokan / Redirection 0 = standard input 1 = standard output 2 = standard error Keterangan
Command Pada Prompt
Melakukan pembelokkan input. Memanggil isi file myfile.txt
:
Melakukan pembelokkan output
:
#cat 0< myfile.txt #cat < myfile.txt #echo hallo > myfile1.txt #echo hallo 1> myfile1.txt
Melakukan Pembelokkan output error. Apabila : direktori list sudah dibuat dan dipaksakan untuk dibuat lagi maka anakan muncul error handling yang nantinya akan dibelokkan pada file error.txt
#mkdir list
Menambahkan baris pada file dengan append sehingga saat di lihat isi file maka baris yang kedua akan bertambah dibawahnya
:
#echo surat pertama > surat.txt
Notasi here document berfungsi untuk membentuk satu blok
:
#mkdir list 2> error.txt
#echo surat kedua > >surat.txt #cat ++&&& hai,apa kabar pak maaf saya baru bisa ngirim ada banyak kerjaan yang deadline &&&
Penerus instruksi dengan menggunakan pipa (|) :
#who | sort
Filter dengan bantuan pipe. awal dan akhir haru : berupa perintah non-filter contoh:who,ls,ps,lp kemudian pada tengah instruksi haru berupa filter contoh : cat,sort,grep,pr,head,tail,paste
#who | sort | head | find | grep | ls
BAB VI KORN SHELL (KSH) Macam shell pada unix adalah : 1. Bourbe shell {sh} 2. C shell {csh} 3. Korn shell {ksh} 4. Bourne again shell {bash} biasa digunakan oleh linux Keterangan
Command Pada Prompt
Untuk melihat shell yang sedang dipakai
:
#echo $SHELL
Untuk menegetahui tree dari proses
;
#ptree
Mengubah prompt sesuai dengan keinginan. : Jika command ini diketik maka yang muncul di prompt adalah user login
#PS1=”$LOGNAME $ “
Pada korn shell memiliki fasilitas history
#history
:
#fc -l Mengubah size history
:
#HISTSIZE=1000
Menaktifkan fsilitas vi pada history di ksh
:
#set -o vi
Menon-aktifkan fasilitas vi history pada ksh
;
#set +o vi
Melihat services apa yang ada pada shell ksh :
#set -o
Mengeksekusi file script setelah dilakukan chmod pada file
:
#./nama file
Membuat sebuah file menjadi background
:
#./nama file &
Mengetahui job apa saja yang sedang run
:
#jobs
Mengembalikan sebuah job background kepada foreground. %1 adalah nomor proses yang didapat dengan menegtikkan #jobs terlebih dahulu sehingga mengetahui proses yang sedang running
:
#fg %1
Stop proses background setelah di fg %1 dengan kontrol D
:
#^D
Alias
:
#alias delete='rm -i'
Keterangan Menghapus alias
Command Pada Prompt ;
#unalias nama alias yang akan dihapus
BAB VII SISTEM PROSES Beberapa tipe proses pada unix : Foreground : proses yang diciptakan oleh pemakai langsung melalui treminal. Contoh : #ls -l, #pwd Background : proses yang dilakukan diluar dari shell tapi berhubungan langsung dengan kernel. Contoh : #./loop.sh & Batch : proses yang dilakukan dengan cara sequensial (satu per satu). Contoh :#batch;at>find / passwd > /tmp/file1; Daemon : proses yang dilakukan dengan menunggu permintaan proses yang lain. Contoh : #service inetd restart Keterangan Untuk mengetahui proses yang berjalan (proses status)
Command Pada Prompt : #ps #ps -e #ps -f
Untuk mengetahui uid(user id) dan current user
: #id
Menghentikan proses
: #kill -(no sinyal) (no PID) #pkill -(No sinyal) (nama program yang berjalan)
Mengetahui PID (Proses ID) dari sebuah program yang berjalan
: #pgrep (nama program)
No sinyal pada Unix : 1 : Sighup, sinyal dikirim bila proses terputus 2 : Sigint, ^C (kontrol C) 3 : Sigquit, ^\ (kontrol backslash) 9 : Sigkill, menghentikan status (stopped) 15 : Sigterm, terminasi proses
BAB VIII UTILITAS UNIX Keterangan
Command Pada Prompt
Melakukan sorting dari sebuah data dalam file
: #sort (nama file)
Melakukan sorting dari sebuah data tapi descanding
: #sort -r (nama file)
Sorting pada fields ke-1
: #sort +0 mobil.db
Sorting pada fields ke-2 pada karakter ke-3
: #sort +1.3 mobil.db
Sorting pada fields ke-1
: #sort -k2 mobil.db
Sorting data numerik
: #sort -n mobil.db
Sorting pada fields ke-3 namun data mempunyai separator(pemisah) “,”. option -t adalah pemberitahuan bahwa separator adalah “,”
: #sort -t, +2 peserta.sb
Menghitung line,word(suku kata),karakter dari sebuah data
: #wc mobil.db
Menghitung line
: #wc -l mobil.db
Menghitung word
: #wc -w mobil.db
Menghitung kaeakter
: #wc -c mobil.db
Menggabungkan dua buah data secara horisontal
: #paste (nama file1) (nama file2)
Menggubah huruf
: #tr 'a' 'f'
#paste mobil1.db data.db
#cat mobil.db | tr '[a-z]' '[A-Z]' Memotong karakter dari sebuah data pada field ke-3
: #cut -f3 mobil.db
Memotong karakter dan menghapus tanda pemisahnya dengan menggunakan option -d
; #cut -d: -f3 mobil.db
Keterangan Memotong pada paragraf teratas
Command Pada Prompt : #head -(baris yang diinginkan) (nama file) #head -3 mobil.db
Memotong paragraf terbawah
: #tail -(baris yang diinginkan) (nama file) #tail -(5) mobil.db
Mencari sebuah data/file
: #find (tempat direktori berada) (ekspresi) (nama file)
Daftar ekspresi pada command find: -name (namafile) -links +/-(jumlah link yang dicari) -group (nama group) -perm (permission yang dicari pada file misal : 644) -size +/-(kapasitas file yang dicari) -atime +/-(akses pada jumlah hari tertentu) -mtime +/-(modifikasi pada jumlah hari tertentu) -newer (nama file sebagai patokan) -exec (command\ ;)
BAB IX ARSIP DATA Keterangan Create backup data menggunakan tar
Command Pada prompt :
#tar -cvf (tempat penyimpanan data) (data yang di backup) #tar -cvf /tmp/back /home/fahori
Melihat isi dari file backup dalam format tar
:
#tar -tf /tmp/back
Melakukan restore terhadap file tar dengan catatan tar akan menempatkan pada current direktory
:
#tar -xvf /tmp/back
Create backup dengan menggunakan fasilitas cpio
:
#ls | cpio -ov > /tmp/back1
Melihat isi file dalam format cpio
:
#cpio -it < /tmp/back1
Melakukan restore file backup dalam format cpio
:
#cpio -iv < /tmp/back1
Memanfaatkan fasilitas compres : dengan catatan dhanya file backup dalam format cpio yang tidak dapat di compres
#compress back.tar
Decompress file
:
#uncompress back.tar.Z
Compress file dengan command yang lain
:
#gzip back.tar
Uncompress dengan cara
:
#gunzip back.tar.gz
BAB X SHELL PROGRAMMING vi program1.sh #!/bin/ksh #contoh program penampung variable v1=inix v2=indo echo “kata yang ditampilkan $v$v3” <esc> :wq
vi program2.sh #!/bin/ksh #contoh program membaca inputan dari keyboard echo “Siapa nama anda?” read nama echo “Dimana alamat anda?” read alamat echo “Berapa nomor telepon anda?” read telepon echo “Nama yang ditulis adalah : $nama” h “Nama yang ditulis adalah : $alamat” vi program3.sh #!/bin/ksh #contoh variable substitusi nama=`whoami` tanggal=`date | cut -c1-10` echo “User aktif adalah : $nama” echo “tanggal sekarang : $tanggal” <esc> wq
vi program4.sh #!/bin/ksh #Program untuk inputan parameter echo “Nama parameter 1 : $1” echo “Nama parameter 2 : $2” echo “Nama program yang dipakai adalah : $0” echo “Banyaknya parameter yang dimasukkan : $#” echo “String dari parameter itu adalah : $$” echo “No PID dari proses ini : $*” <esc> :wq vi program5.sh #!/bin/bash #program dengan konstruksi if then else #program menggunakan ekspresi test #untuk mencari nama user yang aktif echo “Masukkan nama user :” read nama if $nama = “root” then echo “user $nama sedang aktif” else echo “user $nama non-aktif” fi <esc> :wq vi program6.sh #!/bin/ksh #program menggunakan ekspresi test yang membandingkan string echo “Masukkan bilangan 1 :” read bil1 echo “Masukkan bilangan 2 :” raed bil2 echo “Masukkan tanda/operator aritmatika yang diinginkan :” read operator if [ “$operator” != “*” ] then hasil=`expr $bil1 $operator $bil2` else hasil=`expr $bil1 \* $bil2` fi echo “Hasilnya adalah : $hasil” <esc> :wq
vi program7.sh #!/bin/ksh #program mennggunakan fungsi test yang membandingkan antara bilangan numerik echo “Masukkan nilai ujian :” read nilai if [ “$nilai” -gt 0 -a “$nilai” -le 39 ] then echo “Nilai = E” elif [ “$nilai” -gt 40 -a “$nilai” -le 49 ] then echo “Nilai = D” elif [ “$nilai” -gt 50 -a “$nilai” -le 69 ] then echo “Nilai = C” elif [ “$nilai” -gt 70 -a “$nilai” -le 79 ] then echo “Nilai = B” elif [ “$nilai” -gt 80 -a “$nilai” -le 100 ] then echo “Nilai = A” else echo “Nilai tidak terdefinisi,jangan salah donk!” fi <esc> :wq
vi program8.sh #!/bin/ksh #program ini mengenai case yang menggunakan looping” MENU=1 while [ $MENU -ne 4 ] do echo “1 . Siapa yang aktif” echo “2 . Tanggal hari ini” echo “3 . Kalender bulan ini” echo “4 . Exit” echo “Pilihan menu:” read MENU case $MENU in 1) echo “Yang aktif saat ini:” who sleep 5 clear ;; 2) echo “Tanggal hari ini:” date sleep 5 clear ;; 3) echo “Kalender bulan ini:” cal sleep 5 clear ;; 4) echo “Keluar dari program” break esac done <esc> :wq
vi program9.sh #!/bin/ksh while : do sleep 5 echo “Hallo,saya belajar unix” done <esc> :wq
vi program10.sh #!/bin/ksh for nama in marganda fahori triana do echo “Nama adalah: $nama done <esc> :wq