Anda di halaman 1dari 23

Command Line Interface

Shell – Muhammad Faizal Addi


Outline
● Job Control
● Terminal Multiplexer (tmux)
● Alias & dotfiles
● Environment Variables & Bash Configuration Files

© 2021 - Pacmann AI
Cron dan Crontab
• Crontab adalah sebuah comman yang digunakan untuk mengelola cron jobs
(tugas). Terdapat tiga command yang perlu diketahui:

crontab –l : menampilkan list cron jobs


crontab –e : Mengedit cron job menggunakan editor default
crontab –r : menghapus semua cron jobs

© 2021 - Pacmann AI
Penggunaan Cron Job

Backup Data Update Mengirim


Software Penginat

© 2021 - Pacmann AI
Sintaks Cron
Sintak crontab terdiri atas dua komponen, yaitu waktu dan perintah.

* * * * * Perintah_yang_akan di_eksekusi
Hari dalam minggu (0-7) – (0 = Minggu)
Bulan (1 - 12)
Tanggal (1 – 31 )
Jam (0 - 23)
Menit (0 - 59)

m h dom mon dow command

© 2021 - Pacmann AI
Contoh
• Setiap menit setiap hari

# m h dom mon dow command


* * * * * /home/user/script1.sh

• Setiap hari tengah malam

# m h dom mon dow command


0 0 * * * /home/user/script.sh

© 2021 - Pacmann AI
Operator Koma
Untuk mendefinisikan penjadwalan di dua waktu atau lebih digunakan karakter
koma.

Contoh:
• Mengeksekusi file /home/user/script1.sh setiap menit ke 0, 15, 25.

0, 15, 25 * * * * /home/user/script1.sh

• Mengeksekusi file /home/user/script1.sh setiap menit 10 menit setiap hari.

0, 10, 20, 30, 40, 50 * * * * /home/user/script1.sh

© 2021 - Pacmann AI
Operator Hyphen
Karakter hyphen digunakan untuk menentukan rentang waktu dalam satu eksekusi.

Contoh:
• Mengeksekusi file /home/user/script1.sh setiap weekday jam 6 pagi.

0 06 * * 1-5 /home/user/script1.sh

• Mengeksekusi file /home/user/script1.sh setiap weekend jam 2 pagi.

0 02 * * 6-7 /home/user/script1.sh

© 2021 - Pacmann AI
Operator Slash
• Karakter slash (/) digunakan untuk memberikan interval antar eksekusi job.
Contoh:
• Mengeksekusi file /home/user/script1.sh setiap 20 menit.

*/20 * * * * /home/user/script1.sh

• Mengeksekusi file /home/user/script1.sh 3 hari sekali.

0 */8 * * * /home/user/script1.sh

© 2021 - Pacmann AI
Exercise
Terjemahkan jadwal dari kode berikut:

1. 0 06 */4 * * /home/user/script.sh
2. 0 */8 * * * /home/user/script.sh
3. 0 0 * * 0-7 /home/user/script.sh
4. 0,10,20,30,40,50 * * * * /home/user/script.sh
Terminal Multliplexer
Terminal Multiplexer adalah sebuah program yang membuat kamu bisa membuka
lebih dari satu windows terminal,
Contoh: tmux
Di dalam tmux, kita bisa Membagi layar terminal kita menjadi bagian-bagian. Bisa
vertikal, horizontal, bahkan gabungan keduanya.
Jalankan tmux dengan memakai perintah “tmux” di terminal

© 2021 - Pacmann AI
TMux
1. ctrl-b + “: split horizontal
2. ctrl-b + %: split vertikal
3. ctrl-b + arrow keys: Navigasi di antara window yang ter-split

© 2021 - Pacmann AI
TMux
1. ctrl-b + c: new window
2. ctrl-b + n (maju), ctrl-b + p (mundur), ctrl-b + index (ke index
tertentu): navigasi antar window
3. ctrl-b + x: remove window
4. ctrl-b + d: mode detached
5. tmux a: mengembalikan sesi tmux terakhir

© 2021 - Pacmann AI
Allias
Perintah-perintah panjang dalam terminal dapat dipersingkat dengan
menggunakan alias.
demoserver~$ alias lh = “ls -lha”
demoserver~$ alias gpl = “git pull origin master”
demoserver~$ alias mv = “mv -r” # tambah flag -r sebagai default mv
demoserver~$ alias

Remove alias: unalias


demoserver~$ unalias lh

© 2021 - Pacmann AI
Dot Files
Dalam command-line environment, dotfiles adalah sekumpulan file
yang diawali oleh “dot” atau titik.
File-file yang dimulai oleh titik akan otomatis ter-hidden, dan biasanya
berisi file konfigurasi oleh sebuah program.
Contoh:
- .bashrc: file konfigurasi untuk bash
- .vimrc: file konfigurasi untuk vim

© 2021 - Pacmann AI
Environment Variables
Environment variable adalah variabel yang terdapat di sebuah sistem
dan berlaku untuk semua proses (bisa per user atau semua user)
Untuk mengakses environment variable:
demoserver~$ env

© 2021 - Pacmann AI
Environment Variables
Melihat nilai environment variable secara spesifik:
demoserver~$ echo $HOME
demoserver~$ echo $PATH

$HOME -> lokasi home atau “~” untuk masing-masing user


$PATH -> lokasi dari folder yang berisikan executable yang dapat
dijalankan via terminal

© 2021 - Pacmann AI
Set Environment Variables
demoserver~$ export TEST=123123
demoserver~$ echo $TEST

© 2021 - Pacmann AI
Bash Configuration Files
Konfigurasi system-wide:
a. /etc/profile
b. /etc/bashrc atau /etc/bash.bashrc
Konfigurasi spesifik tiap user:
a. ~/.bash_profile
b. ~/.bash_login
c. ~/.bash_logout
d. ~/.profile
e. ~/.bashrc

Note: tiap OS akan memiliki file default yang berbeda-beda

© 2021 - Pacmann AI
Bash Configuration (common usage)
Kegunaan file konfigurasi bash antara lain:
- Environment Variables
- Alias

Contoh: (edit file .bashrc di $HOME)


export TEST_ENV=test123
alias lh=”ls -lha”
source ~/.bashrc
echo $TEST_ENV

© 2021 - Pacmann AI
Foreground & background process
- Kita bisa menjalankan sebuah program di background dengan menambahkan “&” di
belakang
- Jobs: melihat program yang sedang berjalan
- fg %n: membuat program yang berjalan di background untuk kembali ke foreground
(command prompt)
- bg %n: membuat program untuk berjalan ke background
Foreground
Contoh:
demoserver~$ sleep 1000
ctrl+z
demoserver~$ fg

Akan kembali menjalankan program sleep setelah terhenti oleh signal SIGTSTP
Background & Jobs
Contoh:
demoserver~$ sleep 1000
ctrl+z
demoserver~$ bg
demoserver~$ jobs

Anda mungkin juga menyukai