Jelajahi eBook
Kategori
Jelajahi Buku audio
Kategori
Jelajahi Majalah
Kategori
Jelajahi Dokumen
Kategori
BAB II
2.1 Kebutuhan
CLI adalah antar muka yang tidak menyediakan grafik, baik berupa
gambar-gambar, jendela-jendela ataupun animasi-animasi yang bisa
memanjakan pengguna, melainkan hanya berupa teks yang harus
diketikkan oleh pengguna. Pada bagian ini akan dikenalkan beberapa
perintah dasar Linux yang diperlukan dalam kehidupan sehari-hari, bahkan
untuk proses administratif. Materi yang disajikan juga untuk mendukung
kegiatan praktikum pada bab selanjutnya. Materi-materi tersebut meliputi:
Membuat User
Untuk membuat user dan group hanya dapat dilakukan oleh super
user “root”. Perintah untuk membuat user baru adalah :
#useradd nama_user
#adduser nama_user
#passwd nama_user
Menghapus User
#userdel nama_user
Atau
# userdel –r nama_user
Membuat Group
#groupadd nama_group
#gpasswd nama_group
Perintah untuk menghapus group:
#groupdel nama_group
File merupakan koleksi dari data yang disimpan di dalam disk dan
dapat dimanipulasi sebagai suatu unit sesuai dengan namanya. Sedangkan
directories atau direktori adalah sebuah file yang bertindak sebagai folder
untuk file lain. Sebuah direktori juga berisi direktori lain(subdirektori).
Sebuah direktori yang berisi direktori lain disebut direktori parent. Sebuah
directory tree termasuk sebuah direktori dan semua file di dalamnya.
Sebuah karakter slash (‘/’) adalah nama dari root directory.
Sebuah file dapat terdiri dari huruf besar dan huruf kecil, nomor, titik
(.), tanda penghubung(-) dan tanda garis bawah (_). Sebuah nama dari file
juga mengandung case sensitive. ‘sisop’ , ‘Sisop’ dan ‘SISOP’ merupakan
nama yang berbeda.
Linux juga tidak membatasi dalam ekstensi sebuah file, tapi akan
sangat baik dan berguna jika memberikan ekstensi yang sesuai untuk
mengidentifikasi tipe file dengan sekali lihat. Nama file sebelum ekstensi
disebut dengan base file name. sebagai contoh base file name dari
‘sisop.txt’ adalah sisop.
Membuat File
Syntax :
$ touch sisop
Untuk membuat file ‘sisop’ di dalam direktori ‘home/praktikum’
subdirektori dari direktori tersebut
Syntax :
$ touch home/praktikum/sisop
Membuat Direktori
Syntax :
$ mkdir sisop
Syntax :
$ mkdir /tmp/sisop
Berpindah Direktori
Syntax :
$ cd [alamat_direktori]
Contoh : $ cd /var/www
$ cd ..
Syntax :
$ pwd
List Directory
Syntax :
$ ls [option]
OPTION FUNGSI
bila Anda ingin menampilkan semua file dan folder, termasuk
-a file dan folder yang tersembunyi
Copy Berkas
Syntax :
Memindah Berkas
Syntax :
$ mv /[direktori]/[file_yang_ingin_dicut] /[direktori
tujuan] (cut)
$ mv /[direktori]/[file_yang_ingin_direname]
/[nama_baru_file] (rename)
$ mv /etc/file1.txt file2.txt
Menghapus File
Syntax :
$ rm [nama_file]
Contoh : $ rm file1.txt
Menghapus Direktori
Syntax :
$ rmdir [nama_file]
Syntax :
$ rm –rf [nama_direktori]
Syntax :
$ more [nama_file]
Contoh : $ more file1.txt
Ketika sebuah file atau direktori dibuat, maka file atau direktori
tersebut kepemilikannya akan melekat pada suatu user dan group tertentu.
Selain itu pada file tersebut akan melekat juga tiga hak akses yang berbeda,
yaitu baca (read), tulis (write), dan eksekusi (execute), terhadap pemilik,
grup, atau user lain. Hak akses tersebut dapat diubah oleh root atau user
yang memilikinya. Mekanisme kepemilikan dan akses file tersebut sangat
penting, karena Linux bersifat multiuser, sehingga harus ada mekanisme
untuk mencegah akses-akses ilegal terhadap file. Secara umum
pengaturan hak akses atas file atau direktori mempunyai prinsip sebagai
berikut:
Setiap file selalu dimiliki oleh seorang yang berhak mengatur hak akses
terhadap file tersebut.
Hak akses
read :r
write :w
execute :x
Kelompok pemakai
User lain :o
Untuk mengubah hak akses sebuah file atau direktori hanya bisa
dilakukan oleh user root. Contoh berikut menunjukkan agar group (g) dan
other (o) bisa menulis (w). Selain menggunakan kombinasi huruf, hak akses
file atau direktori dapat dilakukan dengan kombinasi bilangan numerik, yaitu
0 sampai 7.
Untuk merubah kepemilikan file atau direktori baik user maupun grup
gunakan perintah chown dan chgrp, kepemilikan file ini terkadang perlu
dilakukan dengan alasan keamanan.
Begitu juga nama group pada sebuah file juga dapat kita ubah, untuk
mengubahnya kita bisa menggunakan chgrp.
Contoh :
Pemilik file/direktori dapat mengubah ijin akses sebagai berikut :
Dimana:
u = user (pemilik)
g = group (kelompok)
o = other (lainnya)
a = all
Contoh :
Ada file dengan nama file.txt dimana untuk ijin aksesnya owner diberi
seluruh akses, group hanya baca, other tidak ada akses sama sekali.
Bagaimanakah format yang digunakan untuk mengubah ijin akses dari
file.txt tersebut?
Jawab :
u =rwx=111 =7
g =rwx=100 =4
o =rwx=000 =0
# Apakah ada cara lain untuk mengganti hak ijin akses file selain
dengan menggunakan mode biner dan alfabet? jika ada jelaskan!
Ada, Dengan melakukan setting hak akses pada file itu langsung. Caranya
Klik kanan pada file -> properties -> permissions -> lalu atur hak akses
nya. Dengan catatan apabila Owner adalah root maka cara ini tidak akan
bisa
# Buatlah file dengan nama coba1 lalu ubahlah hak ijin aksesnya
dengan $chmod u-x,g+r,o=w coba1. Jelaskan proses perintah tersebut!
Sebelum syntax di jalankan Sesudah syntax di jalankan
Jadi syntax di atas akan mengubah hak akses sebagai berikut. User dikurangi
hak akses untuk mengeksekusi (execute), tetapi tetap bisa Read & Write seperti
Acces awal [u-x], Group ditambah aksesnya menjadi bisa membaca file (read)
namun karna akses awalnya sudah Read Only jadi setelah di jalankan Group
akan tetap Read Only [g+r] dan Other di set bisa menulis (write), Akses Read
Only berubah menjadi np read,write yang berarti hak akses sudah menjadi
Write Only [o=w]
Pemilik sebuah file atau direktori dapat diganti menjadi user yang lain
yang kita inginkan. Untuk menggantinya digunakan perintah chown.
Syntax:
Begitu juga nama group pada sebuah file juga dapat kita ubah, untuk
mengubahnya kita bisa menggunakan perintah chgrp.
Syntax:
Tipe Proses
Process Environment
USER user yang digunakan pada saat login pada sistem operasi
$ ps -aux
Untuk menampilkan atau melihat seluruh proses status atau antrian proses
yang sedang terjadi didalam OS Linux dan user dengan tampilan yang detail
Menampilkan semua proses yang sedang berjalan pada sistem
$ ps -e
# Atau Anda bisa menggunakan perintah lain, seperti ?
$ ps -aux
$ ps -P
ps -U root -u root -N
ps -u <user>
$ pstree
Pada pstree -h syntax ini berguna untuk meng highlight proses pada saat ini
dan proses induknya sedangkan pstree tidak meng highlight proses pada
saat ini
Controlling Proses
Dalam sistem operasi Linux semua proses dikontrol oleh shell yaitu
sebuah antar muka antara sistem operasi dengan user.
Sebagai contohnya kita akan mengirim output yang tidak akan pernah
selesai. Dengan menggunakan sintak sebagai berikut :
$yes
Hasil output:
#Bagaimana cara agar perintah $yes tetap dijalankan tetapi shell tetap
digunakan untuk hal yang lain ?
Hasil output:
Dengan cara membuka terminal baru File -> New Tab atau New Window.
$ ps
Hasil output:
PERINTAH KILL
Perintah kill adalah salah satu perintah dasar Linux yang digunakan
untuk menghentikan atau mematikan proses yang sedang berjalan pada
Sistem Operasi Linux / UNIX. perintah ini sangat penting karena dengan
memahami perintah ini kita bisa mengetahui mana proses yang
mengganggu performa, tidak dibutuhkan, dll.
# PID adalah nomor proses yang akan di hentikan. Tidak tahu PID
proses mana yang akan dihentikan? Cobalah bereksperimen dengan
perintah:
# Contoh Script :
pid_t pid,sid;
pid=fork();
if(pid < 0)
{
exit(EXIT_FAILURE);}
if(pid > 0)
{
printf("process_id of child process %d \n", pid);
exit(EXIT_SUCCESS);
}
umask(0);
# Contoh Script:
sid=setsid ();
if(sid<0){
exit(EXIT_FAILURE);
}
if((chdir("/"))<0){
exit(EXIT_FAILURE);
}
# Contoh Script:
close(STDIN_FILENO);
close(STDERR_FILENO);
pid_t pid,sid;
pid=fork();
if(pid < 0)
{
exit(EXIT_FAILURE);}
if(pid > 0)
{
printf("process_id of child process %d \n", pid);
exit(EXIT_SUCCESS);
}
umask(0);
● Running Directory
# Contoh Script :
sid = setsid();
if(sid < 0) {
exit(EXIT_FAILURE);
}
if((chdir(“/home/indra/Desktop/Data/”)) < 0){
exit(EXIT_FAILURE);
}
● Mendengarkan signal
# Tulislah pada kolom di bawah ini, apakah maksud dari proses ini?
● Logging
Shell
(/bin/sh)
Jika diketikkan pada saat kita menggunakan shell bash maka tidak akan
terjadi apa-apa. Tetapi jika kita menggunakan shell lainnya (selain bash)
maka shell yang kita gunakan akan berubah menjadi shell bash
/etc/passwd
.................................
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
.................................
Isi dari file tersebut tiap barisnya dibagi menjadi tujuh bagian, dan
setiap terakhir digunakan untuk mendefinisikan shell yang digunakan.
Dalam contoh di atas user root menggunakan shell Bash sedangkan
daemon menggunakan shell bourne shell.
Cara lain yang bisa digunakan untuk melihat shell adalah dengan
melihat environmet user dengan menjalankan perintah env. Environment
user merupakan lingkungan user yang berisi semua variabel atau ketentuan
khusus untuk user tersebut.
$env
...........
SHELL=/bin/bash
..............
● Mengganti Shell
Ada beberapa cara yang dapat digunakan untuk mengubah shell
default, yaitu dengan utilitas userconf, atau dapat juga dengan mengubah
pada file /etc/passwd tersebut tetapi harus sebagai root.
● Menjalankan Shell
Sebuah shell dapat dijalankan tanpa harus mengubah default shell-
nya. Cara yang digunakan adalah dengan memanggil nama shell pada
command prompt. Misalnya, user akan menggunakan shell sh, user tinggal
menjalankan shell sh, user tinggal menjalankan sh sehingga prompt akan
berubah sesuai dengan promt Bourne shell.
Untuk keluar dan kembali ke shell default, ketik exit atau tekan Ctrl
+ d.
Contoh :
bash@praktikum:~$ sh
$
$ exit
● Menjalankan Script Shell
Untuk menjalankan sebuah script shell, Ada dua cara yang
digunakan untuk menjalankan sebuah shell script, yaitu:
$ bash hello.sh
$ echo $PATH
Mengatur PATH di bash, ksh atau csh adalah satu dan sama.
Syntax:
$ PATH=$PATH:folder_baru_yang_mengandung_binari
Contoh : $ PATH=$PATH:/usr/share/java
export PATH=$PATH:/user/share/java
a. Struktur Sederhana
b. Struktur Lapisan
c. Struktur Monolitik
d. Struktur Microkernel
e. Struktur Modular
A. Struktur Sederhana
Ada sejumlah sistem komersial yang tidak memiliki struktur yang cukup
baik. Sistem operasi tersebut sangat kecil, sederhana dan memiliki banyak
keterbatasan. Salah satu contoh sistem tersebut adalah MS-DOS. MS-DOS
dirancang oleh orang-orang yang tidak memikirkan akan kepopuleran
software tersebut. Sistem operasi tersebut terbatas pada perangkat keras
sehingga tidak terbagi menjadi modul-modul. Meskipun MS-DOS
mempunyai beberapa struktur, antar muka dan tingkatan fungsionalitas
tidak terpisah secara baik.
B. Struktur Monolitik
C. Struktur Lapisan
D. Struktur Microkernel
E. Struktur Modular
2. Buat file hello.c dengan editor favorit Anda dengan isi sebagai berikut
hello.c
return 0;
module_init(hello_start);
module_exit(hello_end);
Penjelasan source code :
Pada kode hello.c tersebut terdapat dua fungsi callback yang dipanggil
yaitu module_init() dan module_exit(). Fungsi callback
module_init() akan dipanggil ketika kernel module dipasang.
Selanjutnya, fungsi hello_start() sebagai parameter dari
module_init() akan dieksekusi. Pada hello_start() dilakukan
pencetakan string dengan fungsi printk(). Prosedur yang sama
berlaku untuk fungsi module_exit() yang dipanggil ketika sebuah
kernel module dilepas.
Makefile
obj-m = hello.o
all:
clean:
5. Pada direktori tersebut akan muncul file baru yaitu hello.ko. File
tersebut adalah file executable dari kernel module yang kita buat.
9. Untuk melepas kernel module hello yang sudah terpasang tadi, kita
dapat memakai perintah:
sudo rmmod hello
10. Cek output dari kernel module setelah dilepas dengan perintah dmesg.
LABORATORIUM PEMBELAJARAN ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER
UNIVERSITAS BRAWIJAYA
2.4 Tugas
Direktori Deskripsi
/home Direktori ini berisi data-data pribadi dari user Linux yang
disimpan seperti hal pada umumnya berisi seperti:
Documents, Downloads, Music, Videos,Dll. Setiap user
memiliki hak akses untuk direktorinya sendiri
2 Buatlah file dengan nama coba2.txt lalu ubahlah ijin aksesnya dengan 2
cara yaitu biner & alfabet, dimana owner ijin hanya read, group hanya
execute, dan other tidak ada akses sama sekali. (Sertakan Screenshot)
4 Buatlah 2 groups dengan nama parent dan children dan buatlah user
baru untuk masing-masing groups lalu susunlah groups dan user
tersebut sehingga pengelompokannya menjadi seperti ini:
Parent Children
Joni Ana
Budi Ani
Sertakan Screenshot!
5. Hapuslah user yang telah kalian buat (min 2) beserta home directory-
nya!
Buat file hello.c dengan text editor dan save file dengan format .c seperti
gambar di atas
Buat file Makefile dengan text editor dan save file dengan nama yang sama
dan isi seperti gambar di atas . Di dalam 1 folder yg sama dengan hello.c
Kemudian compile seluruh code dengan cara klik kanan pada folder
directori kemudian pilih open terminal dan ketikkan syntax: make
Maka akan terbuat beberapa file baru salah satunya hello.ko
Kemudian hapus modul dengan perintah sudo rmmod hello lalu jalankan
dmesg maka akan tampil Goodbye Mr. Praktikan yang menandakan
bahwa modul sudah dihapus
LABORATORIUM PEMBELAJARAN ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER
UNIVERSITAS BRAWIJAYA
2.5 Kesimpulan
CLI atau Command Line Interface adalah salah satu User Interface yang
ada pada Sebuah Sistem Operasi. CLI merupakan media komunikasi
program dengan user. CLI itu sendiri berisi perintah-perintah yang
dimasukkan oleh user dan jika perintah tersebut benar dan tepat maka
akan di olah oleh Terminal dan dilanjutkan ke proses dari Sistem Operasi.
Kelebihan CLI :
- Tidak menggunakan unsur grafis sehingga sangat praktis digunakan
untuk membangun server dengan alasan CLI lebih stabil dan lebih ringan
dari pada menggunakan Interface GUI
- Sangat cepat dalam menjalankan program/fungsi yang tertentu dan
sederhana, contohnya seperti copy file,membuat directory, memanggil
file, menghapus data, bermain dengan kernel dan mengatur urusan yang
lambat dilakukan GUI. Ketika menggunakan CLI kita tidak perlu
berpindah-pindah folder dan menghabiskan banyak langkah, cukup
dengan mengetik dengan benar dan tepat, kita bisa melakukan pekerjaan
seperti membuat,menghapus dan mencopy data.
- Membutuhkan Spesifikasi hardware yang rendah dan tidak begitu
banyak menggunakan kapasitas memori RAM
Kekurangan CLI :
- Tampilan kurang User Friendly dan sangat sulit bagi pemula untuk
menggunakan CLI tanpa panduan. Jadi membutuhkan waktu untuk
mempelajari perintah-perintah CLI
- Sangat case sensitif, jadi mengakibatkan seringnya terjadi kesalahan
pada penulisan perintah
- Tidak bisa melakukan proses-proses berat dan komplex misalnya:
Rendering Foto, Edit Video, Edit Foto dan program-program yang secara
logika hanya bisa dilakukan dengan GUI
- Tampilan sangat membosankan dan tidak interaktif
3. Jelaskan kegunaan shell dan tunjukkan shell apa saja yang ada pada
Linux!
2. bash atau Bourne Shell Again : shell standar bagi program scripting
GNU. Pada Linux. Bash menjadi standar bagi seluruh pengguna. Shell ini
juga sering disebut sebagai tambahan bagi bourne shell
sehinggaperintah yang berjalan di sh, dapat dijalankan pada bash. Tetapi
tidak dapat sebaliknya
3. csh atau C Shell : shell ini adalah rakitan ulang dari bahas
pemrograman C.
Hak akses pada sistem operasi memiliki peran penting dalam menjaga
program atau data agar tidak sembarangan user dapat mengaksesnya.
Selain itu hak akses fle pada sistem operasi linux sangat penting untuk
melindungi data atau fle - fle yang tersimpan didalam sistem operasi
tersebut supaya aman dari pengguna lain. Pada sebuah sistem operasi
linux ada beberapa fle yang tidak dapat diakses oleh user tertentu,hal ini
dikarenakan hak akses yang diberikan oleh user dalam sebuah sistem
operasi