Wednesday, 26 August 2015

Raspberry Pi Command Line

Command Line pada RPi dapat diakses melalui 'Terminal'. Pada terminial akan terlihat 'pi@raspberrypi ~$', sedangkan kita tidak tahu di folder mana kita berada. Kita bisa gunakan perintah 'pwd'. Maka tampilan akan seperti ini:

  1. pi@raspberrypi ~ $ pwd
  2. /home/pi
  3. pi@raspberrypi ~ $

diatas dikatakan bahwa kita berada di folder home/pi.

Bila kita ingin mengetahui file atau folder apa saja yang ada di folder sekarang, kita gunakan perintah 'ls'.

  1. pi@raspberrypi ~ $ ls
  2. Desktop  Docs  Documents  Downloads  python_games  Scratch  
  3. pi@raspberrypi ~ $

Warna biru pada output (Desktop  Docs  Documents  Downloads  python_games  Scratch ) adalah folder, dan warna hijau adalah file (ciri lain dari sebuah file biasanya ada extention dibelakang nama file tersebut, misalnya abcd.sh.

Dan bila kita ingin mengganti direktori yang ingin kita gunakan, kita bisa gunakan perintah 'cd' (change directory), perintah cd ini ada 2 jenis, yaitu: absolute path dan relative part. contoh:

  1. pi@raspberrypi ~ $ pwd
  2. /home/pi
  3. pi@raspberrypi ~ $ cd /
  4. pi@raspberrypi ~ $ pwd
  5. /
  6. pi@raspberrypi ~ $ ls
  7. bin   dev  home  lost+found  mnt  proc  run   selinux  sys  usr
  8. boot  etc  lib   media       opt  root  sbin  srv      tmp  var
  9. pi@raspberrypi ~ $

Perintah cd dengan '/' maka kita akan masuk ke folder paling luar, semua folder-folder paling luar ada disini, dari sini kita tidak bisa lagi ke folder yang lebih luar lagi.

Sekarang kita akan masuk ke folder defaut dari RPi yaitu '/home/pi'

  1. pi@raspberrypi ~ $ cd /home/pi
  2. pi@raspberrypi ~ $ pwd
  3. /home/pi
  4. pi@raspberrypi ~ $ ls
  5. Desktop  Docs  Documents  Downloads  python_games  Scratch 
  6. pi@raspberrypi ~ $


Contoh diatas adalah untuk path absolute, yang berbasis dengan folder terluar. 


Lalu ada relative path adalah alamat yang berbasis dengan folder saat ini. Sekarang kita berada di folder /home/pi, maka dengan relative path basis foldernya adalah /home/pi. Relative path dapat dipergunakan dengan perintah '.' (dot)  atau '..' (dot dot). contoh:

  1. pi@raspberrypi ~ $ pwd
    /home/pi
  2. pi@raspberrypi ~ $ cd ..
  3. pi@raspberrypi /home $

Kita mempergunakan perintah 'cd ..' pada folder /home/pi sehingga kita sekarang berada pada folder home. Kita naik satu folder keluar.  

Perintah ls adalah untuk menampilkan isi dari folder, dan bila kita menambahkan parameter yang lain, seperti -l maka ini yang akan terjadi:
  1. pi@raspberrypi ~ $ ls -l
  2. total 28
    drwxr-xr-x 2 pi pi 4096 May  7 06:32 Desktop
  3. drwxr-xr-x 2 pi pi 4096 Jul  3 21:16 Docs
  4. drwxr-xr-x 3 pi pi 4096 Aug 23 10:16 Documents
  5. drwx------ 2 pi pi 4096 May  7 06:56 Downloads
  6. drwxrwxr-x 2 pi pi 4096 Jan 27  2015 python_games
  7. drwxr-xr-x 2 pi pi 4096 Aug 23 10:16 Scratch
  8. -rwxr-xr-x 1 pi pi   61 Aug 23 10:38 vnc.sh
  9. pi@raspberrypi ~ $

disini penampilan isi folder lebih lengkap (pada folder anda mungkin tidak ada file vnc.sh,  karena file tersebut saya yang buat sendiri). Dan bila kita ingin melihat semua isi folder termasuk yang disembunyikan, perintah ls -la:


  1. pi@raspberrypi ~ $ ls -la
  2. total 264
  3. drwxr-xr-x 22 pi   pi     4096 Aug 26 12:30 .
  4. drwxr-xr-x  3 root root   4096 May  7 05:20 ..
  5. -rw-r--r--  1 pi   pi       69 May  7 06:32 .asoundrc
  6. -rw-------  1 pi   pi     1406 Aug 26 11:43 .bash_history
  7. -rw-r--r--  1 pi   pi      220 May  7 05:20 .bash_logout
  8. -rw-r--r--  1 pi   pi     3243 May  7 05:20 .bashrc
  9. drwxr-xr-x  9 pi   pi     4096 May  7 06:55 .cache
  10. drwxr-xr-x 14 pi   pi     4096 Aug 24 20:31 .config
  11. drwx------  3 pi   pi     4096 May  7 06:32 .dbus
  12. drwxr-xr-x  2 pi   pi     4096 May  7 06:32 Desktop
  13. drwxr-xr-x  2 pi   pi     4096 Jul  3 21:16 Docs
  14. drwxr-xr-x  3 pi   pi     4096 Aug 23 10:16 Documents
  15. drwx------  2 pi   pi     4096 May  7 06:56 Downloads
  16. drwxr-xr-x  2 pi   pi     4096 Aug 23 09:53 .fontconfig
  17. drwx------  2 pi   pi     4096 Aug 24 20:19 .gconf
  18. drwxr-xr-x  2 pi   pi     4096 May  7 06:32 .gstreamer-0.10
  19. drwx------  2 pi   pi     4096 May  7 06:32 .gvfs
  20. drwxr-xr-x  2 pi   pi     4096 Jul  3 19:06 .idlerc
  21. drwx------  3 pi   pi     4096 May  7 06:32 .local
  22. -rw-r--r--  1 pi   pi      675 May  7 05:20 .profile
    drwxrwxr-x  2 pi   pi     4096 Jan 27  2015 python_games
  23. drwxr-xr-x  3 pi   pi     4096 Aug 23 10:16 .scratch
  24. drwxr-xr-x  2 pi   pi     4096 Aug 23 10:16 Scratch
  25. drwxr-xr-x  4 pi   pi     4096 Aug 24 20:19 .sonic-pi
  26. drwxr-xr-x  3 pi   pi     4096 May  7 06:32 .themes
  27. drwx------  4 pi   pi     4096 May  7 07:00 .thumbnails
  28. drwx------  2 pi   pi     4096 Aug 26 12:30 .vnc
  29. -rwxr-xr-x  1 pi   pi       61 Aug 23 10:38 vnc.sh
  30. -rw-------  1 pi   pi      210 Aug 26 12:30 .Xauthority
  31. -rw-------  1 pi   pi   146852 Aug 26 12:36 .xsession-errors
  32. pi@raspberrypi ~ $

Untuk mengganti nama atau memindahkan file, kita gunakan perintah 'mv', sebagai contoh  untuk mengganti nama file:


  1. pi@raspberrypi ~ $ touch testfile
  2. pi@raspberrypi ~ $ ls
  3. Desktop  Docs  Documents  Downloads  python_games  Scratch  testfile  vnc.sh
  4. pi@raspberrypi ~ $ mv testfile gantinama
  5. pi@raspberrypi ~ $ ls
  6. Desktop  Docs  Documents  Downloads  gantinama  python_games  Scratch  vnc.sh
  7. pi@raspberrypi ~ $



Perintah 'touch' adalah untuk membuat sebuah file kosong. Pada baris 1, kita membuat file kosong yang bernama testfile

Pada baris ke 2 kita periksa file tersebut sudah dibuat atau belum, kita gunakan perintah ls untuk mendisplay isi folder.

Baris ke 4, kita mencoba mengganti nama file testfile dengan gantinama menggunakan perintah mv.

Baris ke 5, kita mendisplay lagi, dan file testfile telah berubah namanya menjadi gantinama.

Dan untuk memindahkan file adalah sebagai berikut:


  1. pi@raspberrypi ~ $ ls 
  2. Desktop  dir1.tar.gz  Documents  hello.txt  hi.txt        Scratch
    dir1     Docs         Downloads  hillo.txt  python_games  vnc.sh
  3. pi@raspberrypi ~ $ mkdir fol1
  4. pi@raspberrypi ~ $ ls 
  5. Desktop  dir1.tar.gz  Documents  fol1       hillo.txt  python_games  vnc.sh  dir1     Docs         Downloads  hello.txt  hi.txt     Scratch
  6. pi@raspberrypi ~ $ pwd 
  7. /home/pi
  8. pi@raspberrypi ~ $ mv hillo.txt /home/pi/fol1/hillo.txt
  9. pi@raspberrypi ~ $ ls 
  10. Desktop  dir1.tar.gz  Documents  fol1       hi.txt        Scratch
    dir1     Docs         Downloads  hello.txt  python_games  vnc.sh
  11. pi@raspberrypi ~ $ cd fol1
  12. pi@raspberrypi ~/fol1 $ ls
  13. hillo.txt
  14. pi@raspberrypi ~/fol1 $

Sekarang kita hapus file gantinama dengan perintah rm (untuk menghapus file, dan perintah rmdir untuk menghapus direktori atau folder jika folder tersebut kosong, dan dengan rm -r bila folder ada isinya sehingga semua yang ada dalam direktori atau folder tersebut juga ikut dihapus).
  1. pi@raspberrypi ~ $ rm gantinama
  2. pi@raspberrypi ~ $ ls
  3. Desktop  Docs  Documents  Downloads  python_games  Scratch  vnc.sh
  4. pi@raspberrypi ~ $

Untuk mengetahui lebih jauh semua perintah dengan parameter-parameternya kita bisa menggunakan perintah man atau --help
  1. pi@raspberrypi ~ $ man rm
  2. pi@raspberrypi ~ $ rm --help

Untuk membuat direktori atau folder, perintah mkdir
Untuk menbundle semua file dalam satu folder menjadi sebuah file, perintah tar. Untuk mengkompress file tersebut dengan gzip.
  1. pi@raspberrypi ~ $ mkdir dir1
  2. pi@raspberrypi ~ $ ls
  3. Desktop  dir1  Docs  Documents  Downloads  python_games  Scratch  vnc.sh
  4. pi@raspberrypi ~ $ cd dir1
  5. pi@raspberrypi ~/dir1 $ touch file1 file2 file3
  6. pi@raspberrypi ~/dir1 $ ls
  7. file1  file2  file3
  8. pi@raspberrypi ~/dir1 $ cd ..
  9. pi@raspberrypi ~ $ tar -cf dir1.tar dir1
  10. pi@raspberrypi ~ $ ls
  11. Desktop  dir1.tar  Documents  python_games  vnc.sh dir1     Docs      Downloads  Scratch
  12. pi@raspberrypi ~ $ gzip dir1.tar
  13. pi@raspberrypi ~ $ ls
  14. Desktop  dir1.tar.gz  Documents  python_games  vnc.sh dir1     Docs         Downloads  Scratch
  15. pi@raspberrypi ~ $
Ada juga kontrol key yang bisa digunakan seperti tombol TAB untuk autocomplete dan tombol panah atas, antara lain:
ctrl + c    untuk mengakhiri program yang sedang berjalan. Ada kalanya tombol ini tidak berfungsi ketika kita menggunakan progam-program tertentu, seperti text editor
ctrl + d     Keluar dari shell. Jangan menulis apapun setelah tanda $
ctrl + s     Kursor akan pindah ke awal dari baris
ctrl + e     Kursor akan pindah ke akhir dari baris

Bila kita ingin menampilkan beberapa baris terakhir dari sebuah file (biasanya untuk melihat log.file) kita gunakan perintah tail, dan head untuk menampilkan beberapa baris diawal file.

Untuk mencari file dengan kata kunci tertentu, kita bisa mengunakan perintah grep:

  1. pi@raspberrypi ~ $ grep d *.*
  2. Binary file dir1.tar.gz matches
  3. hello.txt:dir1
  4. hello.txt:dir1.tar.gz
  5. hello.txt:Downloads
  6. hillo.txt:dir1
  7. hillo.txt:dir1.tar.gz
  8. hillo.txt:Downloads
  9. hillo.txt:dir1
  10. hillo.txt:dir1.tar.gz
  11. hillo.txt:Downloads
  12. hi.txt:dir1
  13. hi.txt:dir1.tar.gz
  14. hi.txt:Downloads
  15. vnc.sh:vncserver :0 -geometry 1024x768 -depth 24 -dpi 96
  16. pi@raspberrypi ~ $
Salah satu alasan Linux atau Unix berhasil dalam design adalah membuat system yang komplek dalam suatu modular kecil dan simple yang dapat berhubungan dengan pipes dan redirection. 

Pipes adalah hubungan sederhana antara dua buah program, sehingga output dari salah satu program dapat dijadikan input dalam program yang lain. Semua program Linux dapat membaca data dari input standar (stdin), dan menulis data dari output standar (stdout), dan bila terjadi kesalahan dapat memberi pesan. 
Redirection adalah perintah yang mengeksekusi dan output stdout dapat dikirim kesebuah file. Untuk meng-redirection kita menggunakan operator '>'.

No comments:

Post a Comment