Linux Shell Scripting Part 2

  • Membuat shell script yang menampilkan data user linux dan user id saat ini
#! /bin/bash

echo "username : $USER"
echo "user id : $EUID"

$USER = variabel untuk menampilkan username login saat ini
$EUID = variabel untuk menampilkan user ID login saat ini

Output ketika kita jalankan script ini adalah sbb:

  • Membuat shell script untuk menampilakn data pencarian file di direktori /etc yang memiliki ukuran file 10kb
#! /bin/bash

sudo find /etc -type f -size 10k

sudo = untuk akses root karena ingin mengakses direktori /etc
type = untuk menentukan jenis yang akan dicari, dalam case ini adalah file (f)
size = untuk memfilter berdasarkan ukuran file, dalam case ini adalah 10 Kb (10k)

Output ketika kita jalankan script ini adalah sbb:

  • Membuat shell script untuk mengalihkan standar output menjadi standar eror sebagai informasi ke user
#! /bin/bash

echo "Ini adalah output dari script"
echo "Ini adalah output error sebagai informasi ke user">&2

>&2 = mengalihkan standar output ke standar error

Output dari script tersebut adalah sbb :

Continue reading “Linux Shell Scripting Part 2”

Linux Shell Scripting

Shell scripting merupakan suatu proses automatisasi dari beberapa perintah yang kita jalankan kepada sistem. Contoh konkritnya seperti ini, seorang admin ingin melakukan backup harian yang meliputi: memfilter file yang ingin di backup, membuat direktori backup berdasarkan tanggal, dan terakhir membuat backup file tersebut pada direktori tadi. Nah hal ini tentu time consuming sekali apalagi jika proses tersebut merupakan daily job.

Solusi dari permasalahan tersebut adalah membuat shell script yang isinya adalah perintah untuk menjalankan serangkaian proses di atas. Sekarang jika si admin ingin membuat backup, ia hanya tinggal menjalankan satu command saja, yaitu tinggal memanggil script tersebut.

Berikut ini adalah use case dari proses filtering file dan pembuatan shell script :

Filter Data dari Sebuah File

Sebagai contoh kita memiliki file listnama.csv yang berisi :

rudi,tabuti,Sizuoka,rudtab@gmail.com
nobi,nobita,Tokyo,nobi@gmail.com
kapten,tsubasa,Sizuoka,kapten@gmail.com
yugi,muto,Tokyo,yug@ccc.com

Untuk mendapatkan file dengan filter yang menampilkan user dengan domisili Tokyo dengan kondisi terurut, maka dapat kita ketikkan command sbb:

cut -d, -f1,3 listnama.csv | grep Tokyo | sort >  listnama_filtered.csv

cut : command parsing pada setiap baris
-d : menyatakan delimitasi dari setiap kolom. Pada case ini adalah koma (,)
-f: menyatakan kolom yang ingin ditampilkan. Pada case ini adalah kolom pertama (nama user) dan ketiga (nama kota)
grep : perintah untuk memfilter berdasarkan kata yang kita tentukan
sort : untuk melakukan pengurutan sesuai abjad
>: menyimpan hasil ke dalam sebuah file

Output dari listnama_filter.csv adalah sbb:

Continue reading “Linux Shell Scripting”