Skip to content

Latest commit

 

History

History
396 lines (256 loc) · 13.6 KB

Linux Command Line.md

File metadata and controls

396 lines (256 loc) · 13.6 KB

Belajar Dengan Jenius Linux

Penulis : Gun Gun Febrianza

Linux Command Line

Ketika kita membahas Linux command line, maka artinya kita sedang membahas shell. Linux shell seringkali disebut bash shell yang kepanjangannya adalah Bourne Again Shell, yang diciptakan oleh Stephen Bourne saat menciptakan shell untuk sistem operasi UNIX.

Bash menjadi shell standar untuk seluruh linux distribution, namun shell lainnya juga tersedia seperti C shell (csh), Korn shell (ksh), ash Shell dan sebagainya. Bab ini akan fokus membahas penggunaan bash shell saja.

Apa itu Shell?

Shell adalah sebuah program interpreter yang menunggu perintah (Command), menerjemahkan perintah dan memproses perintah yang diberikan oleh user.

Ketika kita memulai program shell maka anda akan melihat simbol dollar ($), yang menandakan shell prompt sudah siap untuk digunakan.

~$

Di bawah ini adalah struktur command di dalam shell :

Perintah (Command) pertama yang akan kita pelajari adalah echo, silahkan eksekusi perintah di bawah ini :

~$ echo hello maudy
hello maudy
~$ echo hello world
hello world

Apa itu Command?

Command adalah perintah yang akan kita berikan agar dieksekusi oleh shell. Untuk menguji perintah pertama kita, ketik perintah (Command) pada shell prompt whoami kemudian tekan Enter.

Perintah (Command) ini digunakan untuk mencetak nama pengguna sistem operasi linux yang sedang menggunakan shell. Linux command bersifat case sensitive.

Secara konvensi penulisan perintah (Command) ditulis menggunakan huruf kecil (lowercase). Selanjutnya kita akan mencoba perintah dasar yang paling sering digunakan di dalam shell.

Present Working Directory

Untuk mengetahui saat ini kita berada di posisi directory yang mana eksekusi perintah (command) pwd kemudian tekan enter.

~$ pwd
/home/ubuntu

Kita akan mencoba untuk pindah directory menuju /home directory menggunakan perintah (command) cd.

Change Directory

Untuk berpindah directory eksekusi perintah cd /home kemudian tekan enter.

~$ cd  /home
/home$ 

Seketika kita langsung berpindah directory.

Root Directory

Untuk berpindah menuju root directory agar bisa melihat struktur filesystem linux eksekusi perintah cd / kemudian tekan enter.

~$ cd /
/$

Perhatikan posisi Present Working Directory (PWD) saat ini berada di dalam root directory yang ditandai dengan path xxx@xxx : /$.

List Directory Content

Untuk melihat terdapat directory apa saja eksekusi perintah ls kemudian tekan enter.

~$ /$ ls
bin   home            lib64       opt   sbin  tmp      vmlinuz.old
boot  initrd.img      lost+found  proc  snap  usr
dev   initrd.img.old  media       root  srv   var
etc   lib             mnt         run   sys   vmlinuz

Perintah ini akan menampilkan daftar file (lists files) di dalam suatu directory.

Jika kita ubah kedalam tampilan visual kita bisa melihat terdapat banyak sekali sub-directory di dalam root directory. Kita akan membahas masing-masing directory di bab khusus.

Jika anda ingin mengetahui penjelasan setiap directories, eksekusi perintah di bawah ini :

~$ man hier

Menggunakan perintah change directory yaitu cd kita bisa mengeksplorasi setiap directory di atas, silahkan lakukan sendiri untuk latihan dan eksplorasi. Untuk membaca posisi anda saat ini gunakan perintah pwd.

Jika anda merasa tersesat eksekusi perintah di bawah ini :

~$ cd ~ 

Anda akan kembali lagi di halaman /home/ubuntu.

Path Directory

Pada sistem operasi linux alamat (path) dari directory menggunakan simbol forward slash (/) dan pada sistem operasi windows menggunakan simbol backward slash ().

Absolute & Relative Path

Selain memahami konsep path directory pada linux yang mengunakan simbol forward slash (/), kita juga harus memahami konsep absolute path dan relative path.

Pada absolute path, alamat (path) ditulis secara lengkap misal /home/ubuntu

~$ cd /home/ubuntu

Pada relative path alamat tidak ditulis dengan lengkap, misal jika kita melakukan change directory menuju /var directory :

~$ cd /var

Selanjutnya kita dapat menggunakan alamat (path) log/cloud-init.log di dalam var directory tanpa perlu mengeksekusi menggunakan full path /var/log/cloud-init.log.Jadi jika perintah (command) di atas tidak menampilkan output apapun berarti dalam directory tersebut tidak terdapat visible file sama sekali.

Untuk melihat hidden file kita akan mempelajarinya di halaman selanjutnya, untuk itu pastikan kita kembali melakukan navigasi menuju directory home/ubuntu :

/$ cd home/ubuntu
~$

Apa itu Command Options?

Setelah mempelajari Command (Perintah) kita akan mempelajari options atau command-line options (Opsi Perintah).

Opsi perintah atau biasa disebut command-line options digunakan agar perintah (Command) yang dieksekusi memiliki karakteristik tertentu. Untuk memberikan karakteristik perintah kita perlu menggunakan switches atau flags.

Pada perintah di atas kita menggunakan switches -a untuk melihat seluruh file termasuk hidden file. Perintah di atas akan memproduksi output berupa sekumpulan hidden files yang ditandai dengan ciri awalan nama file menggunakan simbol dot (.) :

~$ ls -a
.   .bash_history  .bashrc  .gnupg    .ssh
..  .bash_logout   .cache   .profile  .sudo_as_admin_successful

Hidden File

Pada sistem operasi linux kita dapat membuat file yang terlihat (visible file) dan file yang tersembunyi (hidden file).

Perintah (command) ls digunakan untuk menampilkan daftar file yang terlihat saja (visible file) sementara command ls dengan options -a membantu kita melihat hidden file.

Current Directory & Parrent Directory

Simbol dot (.) artinya kita sedang berada dalam sebuah directory dan double dot (..) menandakan terdapat sebuah parent directory.

Switches

Switches atau flags dimulai dengan strip (single dash), atau kita juga bisa menggunakan opsi perintah menggunakan nama kepanjanganya dengan dua strip (two dash symbols).

Penggunaan single dash biasanya menggunakan 1 karakter tunggal sebagai singkatan (abbreviations) dari nama kepanjanganya. Sebagai contoh di bawah ini terdapat single-character command-line options :

  • -a (single dash) atau --all (two dash)
  • -l (single dash) atau --list (two dash)
  • -t (single dash) atau --time (two dash)
  • -h (single dash) atau --human (two dash)

Kita dapat menggunakan lebih dari satu options dalam satu perintah (Command) untuk mendapatkan karakteristik lainnya.

Sebagai contoh eksekusi perintah (Command) ini ls -alth kemudian tekan enter :

~$ ls -alth
total 36K
drwxr-xr-x 5 ubuntu ubuntu 4.0K Mar 15 04:53 .
-rw------- 1 ubuntu ubuntu   32 Mar 15 04:53 .bash_history
-rw-r--r-- 1 ubuntu ubuntu    0 Mar 15 04:53 .sudo_as_admin_successful
drwx------ 2 ubuntu ubuntu 4.0K Mar 15 01:01 .cache
drwx------ 3 ubuntu ubuntu 4.0K Mar 15 01:01 .gnupg
drwx------ 2 ubuntu ubuntu 4.0K Mar 14 19:41 .ssh
drwxr-xr-x 3 root   root   4.0K Mar 14 19:41 ..
-rw-r--r-- 1 ubuntu ubuntu  220 Apr  4  2018 .bash_logout
-rw-r--r-- 1 ubuntu ubuntu 3.7K Apr  4  2018 .bashrc
-rw-r--r-- 1 ubuntu ubuntu  807 Apr  4  2018 .profile

Fungsi dari masing-masing switch :

  • Option -l switch memberikan karakteristik pada perintah untuk menampilkan seluruh file dalam bentuk list lengkap dengan detil informasi lainnya seperti waktu pembuatan file (creation date).
  • Option -t switch memberikan karakteristik pada perintah untuk mensortir file berdasarkan waktu modifikasi (modification date) dimulai dari yang terbaru diurutan paling atas/awal.
  • Option -h stands memberikan karakteristik human readable, output akan menampilkan ukuran file yang lebih mudah dibaca dalam satuan Mega Bytes (MB) bukan dalam satuan bytes.

Apa itu Command Arguments?

Arguments adalah informasi yang menjadi input untuk diproses sebuah command, sebelumnya kita sudah menggunakan arguments. Di bawah ini contoh Command, Options dan Arguments secara lengkap :

Selanjutnya kita akan belajar bagaimana membuat sebuah file, mengubah modification time, dan access time file dengan memanfaatkan command argument.

Touch Command

Setiap file yang kita ciptakan dalam sistem operasi linux memiliki modification time dan access time. Dengan perintah (Command) touch kita dapat membuat sebuah file, dan argument yang dibutuhkan adalah nama file yang akan di buat.

Untuk membuat file eksekusi perintah (Command) dan Argument di bawah ini :

~$ touch indonesia

Perintah (Command) touch hanya dapat digunakan untuk membuat file saja, tidak bisa digunakan untuk membuat sebuah directory. Selanjutnya eksekusi perintah ls -l untuk melihat waktu pembuatan file :

~$ ls -l
…
-rw-rw-r-- 1 ubuntu ubuntu    0 Mar 26 13:22 indonesia
…

Waktu pembuatan file yaitu pada March 26 13:22, untuk mengubah modification time tambahkan options -m pada perintah (Command) touch.

Untuk mengubah modification time eksekusi perintah (Command) di bawah ini :

~$ touch -m indonesia

Jika sudah kita dapat memeriksanya dengan mengeksekusi perintah di bawah ini :

~$ ls -l
…
-rw-rw-r-- 1 ubuntu ubuntu    0 Mar 26 13:25 indonesia
…

Modification time pada file indonesia kini berubah menjadi March 26 13:25, namun jika kita mengeksekusi perintah ls -lu kita dapat melihat waktu akses masih belum berubah :

~$ ls -lu
…
-rw-rw-r-- 1 ubuntu ubuntu    0 Mar 26 13:22 indonesia
…

Untuk mengubah waktu access time tambahkan options -a pada perintah (Command) touch.

Untuk mengubah access time eksekusi perintah (Command) di bawah ini :

~$ touch -a indonesia

Jika sudah kita dapat memeriksanya dengan mengeksekusi perintah di bawah ini :

~$ ls -lu
…
-rw-rw-r-- 1 ubuntu ubuntu    0 Mar 26 13:27 indonesia
…

Access time pada file indonesia kini sudah berubah.

Make Directory

Untuk membuat sebuah directory eksekusi perintah (Command) di bawah ini :

~$ mkdir maudy

Untuk melihat hasilnya eksekusi perintah (Command) di bawah ini:

$ ls
maudy

Make Multiple Directory

Kita juga dapat membuat 3 directories sekaligus dengan memanfaatkan multi-arguments seperti pada perintah (Command) di bawah ini :

~$ mkdir maudya ayunda faza

Untuk melihat hasilnya eksekusi perintah (Command) list :

~$ ls
ayunda faza maudy maudya

Kini terdapat 4 directories.

Make Subdirectory

Untuk membuat sub-directory kita dapat menggunakan option -p, pada argument kita membuat full path /perahu/kertas/maudy. Silahkan coba eksekusi perintah (Command) di bawah ini :

~$ mkdir -p perahu/kertas/maudy

Untuk melihat hasilnya eksekusi perintah (Command) list :

~$ ls
ayunda  faza  maudy  maudya  perahu
ubuntu@xxx : ~$ cd perahu
ubuntu@xxx : ~$ ls
kertas
ubuntu@xxx : ~$ cd kertas
ubuntu@xxx : ~$ ls
maudy

Anda bisa mencobanya sebagai latihan.

List Subdirectory

Ada cara yang lebih mudah untuk mendapatkan informasi seluruh sub-directory dalam sebuah directory. Kita akan menggunakan perintah (Command) ls dengan option -R seperti di bawah ini :

~$ ls -R perahu
perahu:
kertas

perahu/kertas:
maudy

perahu/kertas/maudy:

Metode pencarian dilakukan secara rekursif menggunakan option -R (R kapital).

Command History

Jika kita ingin melihat perintah apa saja yang telah kita eksekusi sebelumnya gunakan perintah command di bawah ini :

~$ history
    1  whoami
    2  pwd
    3  cd /
    4  ls 
     …

Jika anda ingin mengeksekusi kembali perintah yang telah dilakukan misal perintah (Command) nomor satu, maka eksekusi !1 di dalam shell :

$ !1
ubuntu

Anda juga dapat menekan tombol arrow up and down dalam keyboard anda untuk mendapatkan Command History sebelumnya.