Saturday, September 19, 2015

Belajar Baris Perintah Terminal (Shell) Linux




Dengan mengharap ridha Allah, saya menyatukan tulisan-tulisan lama saya menjadi satu dalam rangka membantu saudara-saudara yang sedang belajar perintah shell atau perintah terminal di Linux. Pada awalnya saya berpikir lebih baik dipisah-pisah tetapi akhirnya saya menyerah, lebih gampang kalau dijadikan satu soalnya cukup sulit dibaca/ditulis kalau terpisah-pisah. Tulisan ini akan menjelaskan shell berikut perintah-printahnya yang saya jadikan bab-bab kecil. Tulisan ini terbatas sekali dengan pengalaman saya dan mohon maaf jika ada yang kurang. Semoga Allah menolong saya mengikhlaskan niat dan semoga ini dapat dimanfaatkan semua saudaraku di seluruh dunia.

Perkenalan
Ini adalah sebuah artikel tutorial berseri tentang shell Linux. Yang akan dibahas dalam artikel ini adalah penerapan perintah-perintah shell dalam sistem operasi. Artikel berseri ini ditujukan bagi siapa saja. Yang pertama ini berisi perkenalan tentang apa itu shell. Yang kedua berisi konsep-konsep dasar shell. Yang ketiga adalah pengingat untuk hal-hal yang patut diketahui ketika Anda menerapkan tutorial shell kami ini. Mulai yang keempat, tutorial inti kami berikan. Semoga artikel ini bermanfaat.
Kami berusaha menuliskan apa yang telah kami ketahui tentang shell. Karena penerapan shell bisa sangat luas dan kami masih baru belajar, kami hanya dapat memberikan sedikit. Anda dapat melakukan sendiri penjelajahan lebih jauh.

Pengertian
Shell ( dengan nama lain command interpreter) adalah program yang menyediakan antarmuka untuk pengguna sistem operasi. Program antarmuka ini bertugas menerjemahkan perintah-perintah dari pengguna ke sistem operasi. Wujud dari program antarmuka ini ada dua, yaitu berbasis teks (CLI/Command Line Interface) dan berbasis grafis (GUI/ Graphical User Interface). Demikian secara umum pengertian shell.
Shell yang akan dibahas pada artikel tutorial ini adalah shell CLI di Linux. Mengapa kita membahas shell CLI? Karena dua alasan, yaitu ia lebih cepat daripada shell GUI dan ia mampu melaksanakan perintah-perintah dasar yang tidak semuanya bisa dilakukan lewat shell GUI. Lebih cepat karena shell CLI tidak perlu banyak interpretasi/penerjemahan instruksi ke kernel daripada shell GUI. Lebih mampu karena memang semua perintah yang kita akses lewat shell GUI diinterpretasikan/diterjemahkan dulu ke perintah CLI lalu diserahkan ke kernel untuk diproses tetapi tidak semua perintah shell CLI dimiliki oleh shell GUI. Inilah keunggulan shell CLI yang menjadikannya patut dipelajari.

Contoh Shell
Untuk shell CLI, di Windows kita mengenal Command Prompt (cmd.exe). Di dunia Linux, kita mengenal ksh, csh, sh, fish, bash, dan lain-lain. Untuk shell GUI, kita mengenal antarmukanya Windows Shell (explorer.exe) di Windows. Di dunia Linux, kita mengenal Fluxbox, Enlightenment, GNOME, KDE, LXDE, dan XFCE sebagai shell GUI.
Contoh shell di Linux, yang CLI (bash) dan GUI (Lingkungan Destop GNOME).

Kegunaan Shell
Secara umum, shell berguna sebagai penerjemah instruksi dari pengguna ke kernel. Secara khusus, banyak sekali gunanya sampai tidak bisa disebutkan semua. Keberadaan shell sangat penting bagi pengguna dalam pengoperasian sistem operasi. Sekadar contoh, ketika berinteraksi dengan komputer, kita mungkin pernah melakukan salin-tempel (copy-paste) berkas. Atau secara sederhana, menginstal program, menjelajahi isi hard disk, menghapus berkas, membuat folder, dan lain-lain. Itu semua kita lakukan dengan memerintah kernel. Nah, yang menerjemahkan perintah-perintah itu kepada kernel adalah shell. Semua instruksi yang kita berikan kepada kernel diterjemahkan dulu oleh shell. Jadi, shell selalu berperan dalam tiap-tiap perintah yang kita berikan kepada sistem operasi.
Salah satu kegunaannya (shell GUI) yang lain adalah menyediakan antarmuka yang mewakilkan perintah-perintah CLI dalam wujud tulisan dan gambar. Secara sederhana, jika kita sekarang memakai sistem operasi dengan prinsip ‘klik dan jalankan’ (atau jika kita kini menjalankan program dengan memakai menu-menu yang tinggal diklik) maka bisa dipastikan itu memakai shell GUI. Kegunaan shell GUI itu untuk apa? Tidak lain adalah menyederhanakan kerumitan CLI yang akhirnya berimbas pada kemudahan penggunaan. Contohnya: menyunting video akan jauh lebih mudah dengan memakai GUI daripada mengetik perintah-perintah dengan CLI.< 7 April 2011: 19.33>

Di Mana Harus Memulai Belajar?
Artikel tutorial ini dibuat berdasarkan percobaan dengan bash di Ubuntu 10.10. Anda dapat mengakses bash lewat Terminal di Applications > Accessories > Terminal. Anda yang tidak memakai Ubuntu pun bisa mempraktikkan ini dengan memakai shell yang ada. Tidak masalah meskipun Anda tidak memakai bash karena perintah-perintah dasar Linux itu sama. Sekadar info, istilah terminal dipakai secara umum untuk perangkat yang berfungsi sebagai tempat input maupun output. Terminal yang digunakan untuk mempraktikkan tutorial yang akan datang adalah GNOME Terminal. Terminal ini hanya tampilan luar shell-nya saja. Anda pun bisa mengakses shell-nya lewat Ctrl+Alt+FAngka (misalnya Ctrl+Alt+F1). Linux biasanya menyediakan 6 shell CLI plus 1 shell GUI yang semuanya bisa berjalan bersama-sama. Dan semuanya bisa diakses dari F1 sampai F7. Sebaiknya Anda memulai dengan Terminal saja dulu agar bisa menyambi pekerjaan lainnya.

Konsep-konsep Dasar
Case Sensitive
Shell di Linux membedakan input antara huruf besar dan huruf kecil. Sehingga linux tidak sama dengan Linux dan tidak sama juga dengan LiNuX. Sifat seperti itu dinamakan case sensitive. Jadi, Anda harus benar-benar teliti dalam menuliskan nama file, direktori, atau perintah.
Direktori
Nama lainnya adalah folder. Direktori adalah tempat maya di dalam sistem berkas yang menampung file atau direktori lainnya. Contoh penulisan alamat direktori yang umum dari shell di Linux adalah:
/home/master/Videos/
yang bermakna / sebagai direktori tertinggi, master sebagai direktori di bawah /, dan Videos sebagai direktori di bawah master. Ciri khas sistem operasi Unix-like seperti Linux adalah dipergunakannya / (slash) sebagai pemisah antardirektori. Sistem operasi MS-DOS dan Windows menggunakan (backslash) sebagai pemisah.

Struktur prompt
Anda akan menemukan yang seperti ini di shell:
Apa maksudnya? Maksudnya sebagai berikut.
master: adalah username Anda.
@: penanda bahwa Anda sekarang sedang login pada suatu mesin.
localhost: nama mesin.
master@localhost: penanda lokasi absolut, bahwa Anda login di dalam sebuah mesin.
:: pemisah antara penanda lokasi absolut (yang menjadi induk) dan penanda lokasi relatif (yang bisa diubah).
~: sebenarnya /home/username-anda. Ini penanda lokasi relatif Anda, yaitu lokasi yang dapat Anda ubah-ubah dalam satu mesin. Ini akan berganti dengan sendirinya ketika Anda berpindah ke direktori lain.
$: penanda bahwa Anda sedang login sebagai pengguna biasa. Jika Anda login sebagai root, tandanya menjadi #.

Root dan nonroot
Ada dua jenis pengguna di dunia Linux, root dan nonroot. Root, secara kasar adalah administrator sistem. Jadi, ia memiliki otoritas tertinggi dan mampu melakukan apa pun terhadap sistem. Sedangkan nonroot adalah pengguna biasa yang otoritasnya terbatas (tidak bisa melakukan instalasi, masuk ke sistem, mengubah isi sistem, menghapus isi sistem, dkk.) Anda akan berlatih memerintah dengan shell sebagai root dan nonroot. Ingat, login sebagai root berbahaya! Kalau sembarangan, bisa jadi satu sistem terhapus karena otoritas root yang luar biasa.
Secara default, Ubuntu tidak mengizinkan Anda memasuki shell sebagai root. Anda masuk sebagai pengguna biasa. Untuk bisa menjadi root, Anda harus menyetel sandinya dahulu. Berikut caranya:
$ sudo passwd

Enter new UNIX password:
Masukkan saja sandi yang Anda inginkan. Jika selesai, Anda bisa menjadi root dengan perintah
$ su

Cara menggunakan shell
Ketikkan perintah lalu tekan enter.
Penulisan perintah
Anda akan terbiasa memerintah dengan format demikian.
$ perintah [opsi] [file]
# perintah [opsi] [file]
$ adalah tanda bagi pengguna biasa dan # adalah tanda bagi pengguna super/root. Tanda kurung siku di atas hanya penanda, jadi mereka tidak ikut ditulis dalam perintah. Contoh mudahnya perintah rm sebagai pengguna biasa
$ rm -r /home
yang berarti menghapus direktori /home beserta isinya.
Anda pun boleh menggunakan lebih dari satu opsi atau menggabungkannya. Contoh
$ rm -i -r /home
$ rm -ir /home
Keduanya bermaksud sama, yaitu menghapus direktori /home beserta isinya (-r) secara interaktif (-i). Contoh-contoh ini berlaku untuk semua perintah shell.

Yang Patut Diketahui
Ketika belajar memberi perintah lewat shell, mungkin Anda akan mengalami kesulitan. Artikel ini memuat cara-cara umum untuk menyelesaikan masalah yang biasa ditemui itu. Dan kami akan jelaskan gaya kami dalam menyusun tutorial shell.

Manual dan help
Jika Anda tidak mengetahui fungsi dari suatu perintah, misalnya ls, cukup berikan perintah ini:
man ls
dan Anda akan melihat manual dari perintah ls di layar. Begitu pula dengan perintah lainnya. Untuk keluar dari manual, tekan Q. Anda pun bisa melihat berkas bantuan suatu perintah, misalnya ls, dengan perintah ini:
ls –help
Perintah ini dapat Anda laksanakan untuk semua perintah dan semua program (yang sudah menyertakan manual/help dalam sistem).
Opsi perintah
Hampir semua perintah di shell memiliki opsi. Opsi adalah parameter tertentu yang membuat perintah melakukan suatu hal yang khusus. Contohnya -a atau –all adalah opsi untuk ls yang fungsinya sama, memperlihatkan semua berkas tanpa terkecuali. Opsi biasanya diawali dengan sebuah atau dua buah tanda minus. Opsi ditulis setelah perintah dan harus dipisahkan oleh spasi (boleh lebih dari satu). Contoh penggunaan opsi untuk perintah ls adalah
ls -a /home

Kebiasaan umum shell
  • Anda dapat mengulang perintah yang sudah pernah Anda lakukan dengan tombol panah atas atau bawah di kibor. Ini berguna sebagai pintasan agar Anda tidak perlu mengulang perintah-perintah yang sama.
  • Anda dapat memasukkan alamat/nama berkas yang ada di dalam direktori saat ini sebagian saja dan shell akan melengkapinya secara otomatis, dengan mengetik beberapa karakter awal namanya lalu menekan Tab.
  • Anda dapat menjalankan program yang telah terinstal dalam sistem dengan mengetik namanya. Contohnya shotwell.
Gaya kami menulis
Karena beberapa keterbatasan, kami membatasi pengunggahan skrinsot ke server TeknoPLASMA. Jadi, kami berusaha menyalin-rekat teks di shell ke artikel-artikel tutorial ini sebagai penjelasan. Kami berusaha menggunakan font yang berbeda dengan font paragraf untuk perintah-perintah. Kami berikan hal-hal umum (seperti perkenalan, konsep, dan hal-hal lain) pada artikel-artikel awal, dan pada artikel-artikel tutorialnya kami tidak lagi menjelaskan hal-hal umum tersebut. Anda yang membaca tutorial, silakan merujuk ke artikel-artikel awal itu jika mengalami kesulitan.
$ dan #
Kami akan membedakan perintah untuk pengguna biasa (nonroot) dengan pengguna super (root). Contoh penulisan kami demikian:
$ chmod +x run.exe
yang berarti Anda harus menjalankan perintah sebagai pengguna biasa ($), dan
# chmod +x run.exe
yang berarti Anda harus menjalankan perintah sebagai pengguna super/root (#). Sekali masuk shell, Anda telah menjadi pengguna biasa. Cara menjadi root telah dijelaskan pada artikel mengenai konsep-konsep dasar.
Perintah-perintah Dasar Terminal
Berikut ini saya beberkan perintah-perintah dasar terminal yang saya ketahui dan sering saya gunakan di Linux.

ls dan cd
Ada perintah list (ls) dan change directory (cd). Secara sederhana, ls dipakai untuk melihat isi suatu direktori dan cd dipakai untuk berpindah dari suatu direktori yang sedang dipakai ke direktori lainnya. Penerapan ls dan cd secara luas dapat Anda temukan di program manajer berkas Anda (entah itu Windows Explorer, Nautilus, Konqueror, atau lainnya). Kita langsung praktikkan.
Misalnya sekarang Anda masuk shell dan prompt menunjukkan demikian:
master@master:~$
~ itu artinya Anda yang sedang menggunakan shell sedang berada di direktori /home/master. Cobalah perintah ls dan lihat hasilnya.
master@master:~$ ls
Destop examples.desktop gstreamer0.10-ffmpeg Publik Unduhan
Dokumen Gambar Musik Templat Video
Sekarang cobalah perintah ls -l.
master@master:~$ ls -l
total 40
drwxr-xr-x 2 master master 4096 2011-05-19 17:59 Destop
drwxr-xr-x 2 master master 4096 2011-05-20 07:59 Dokumen
-rw-r–r– 1 master master 179 2011-05-19 17:55 examples.desktop
drwxr-xr-x 2 master master 4096 2011-05-21 18:26 Gambar
drwx—— 2 master master 4096 2011-02-14 08:47 gstreamer0.10-ffmpeg
drwxr-xr-x 2 master master 4096 2011-05-19 17:59 Musik
drwxr-xr-x 4 master master 4096 2011-05-21 16:47 Publik
drwxr-xr-x 10 master master 4096 2011-05-19 23:11 Templat
drwxr-xr-x 23 master master 4096 2011-05-19 22:58 Unduhan
drwxr-xr-x 2 master master 4096 2011-05-19 17:59 Video
Lalu cobalah perintah ls -a.
master@master:~$ ls -a
. .gconf .profile
.. .gconfd Publik
.bash_history .gksu.lock .pulse
.bash_logout .gnome2 .pulse-cookie
.bashrc .gnome2_private .recently-used.xbel
.cache .gstreamer-0.10 .shotwell
.config gstreamer0.10-ffmpeg .shutter
.dbus .gtk-bookmarks .sudo_as_admin_successful
Destop .gvfs Templat
.dmrc .ICEauthority .themes
Dokumen .icons .thumbnails
emblem-sem.png .local Unduhan
.esd_auth .mozilla Video
.evolution Musik .xsession-errors
examples.desktop .nautilus .xsession-errors.old
.fontconfig .openoffice.org
Gambar .pki
Anda juga bisa mengetahui isi direktori di luar direktori prompt Anda sekarang dengan perintah semisal ls /boot.
master@master:~$ ls /boot
abi-2.6.35-22-generic memtest86+_multiboot.bin
config-2.6.35-22-generic System.map-2.6.35-22-generic
grub vmcoreinfo-2.6.35-22-generic
initrd.img-2.6.35-22-generic vmlinuz-2.6.35-22-generic
memtest86+.bin

Penjelasan
Perintah ls bersama opsinya dapat dipakai untuk memperoleh informasi berkas apa saja yang ada dalam suatu direktori. Dengan memakai opsi, kita dapat memperluas fungsi ls misalnya untuk mengetahui tanggal modifikasi berkas, ukuran berkas, menentukan tampilan informasi, memberi warna pada teks, menampilkan berkas tersembunyi, menampilkan berkas berdasarkan jenis, dan lain-lain. Sedangkan perintah cd digunakan untuk berpindah dari satu direktori ke direktori lain.

mkdir
Cobalah di Home Anda
$ mkdir belajar
dan akan tercipta sebuah folder bernama belajar di Home Anda.
Catatan: syarat melakukan mkdir adalah belum ada folder dengan nama yang sama dengan yang akan dibuat dalam folder yang dikenai perintah.

rm
Kali ini kita akan belajar menghapus dengan rm (remove). Cobalah hapus direktori belajar dari pelajaran membuat direktori.
$ rm /home/master/belajar
Perintah ini bisa dipakai untuk menghapus direktori maupun file. Cobalah membuat sebuah file odt di direktori Home Anda, misalkan namanya belajar.odt
$ rm /home/master/belajar.odt
Syarat berlakunya rm untuk menghapus direktori adalah folder itu kosong. Jika berisi, harus memakai opsi -r (rekursif). Contoh, buat dahulu sebuah folder di direktori Home Anda, lalu masuk dan buat lagi folder lain (misalnya belajar-02). Bisa juga Anda masukkan satu file tak terpakai misalnya belajar.odt. Jadi, isi folder tersebut (misal namanya belajar) adalah direktori belajar-02 dan file belajar.odt. Cobalah
$ rm -r /home/master/belajar
dan direktori belajar beserta isinya akan terhapus.
Untuk lebih berhati-hati, gunakan opsi -i (interactive) agar kita ditanyai dulu sebelum menghapus. Contohnya
$ rm -ir /home/master/belajar
Anda bisa menjawab setiap pertanyaan dengan y atau n lalu eksekusi dengan menekan enter. Opsi -i ini berguna ketika kita akan menghapus semua file dalam direktori yang salah satunya sangat penting, agar isi yang penting tidak ikut hilang.

halt
Kali ini kita belajar mematikan komputer dengan halt. Cobalah
$ sudo halt
Fungsi halt adalah menghentikan sistem. Perintah ini langsung mematikan komputer tanpa menentukan jangka waktu. Anda hanya bisa melakukan halt ketika menjadi root.

shutdown
Kita bisa mematikan komputer dengan shutdown. Fungsinya sama dengan halt, bedanya ia bisa dilakukan dengan menentukan jangka waktu. Cobalah
$ sudo shutdown 21.00
dan komputer Anda akan mati pada jam 21.00. Format opsi yang bisa diterima oleh shutdown adalah +m untuk m yang bisa Anda ganti dengan bilangan menit yang Anda mau dan jj:mm untuk menentukan jam berapa komputer akan dimatikan. Contoh untuk opsi pertama
$ sudo shutdown +60
Ini akan mematikan komputer satu jam ke depan.

reboot
Kita bisa melakukan restart komputer dengan reboot. Cobalah
$ sudo reboot
Perintah ini juga langsung me-restart komputer. Anda juga hanya bisa melakukannya ketika menjadi root.

poweroff
Sama dengan halt.
eject
Sekarang kita mempelajari perintah eject. Secara sederhana, eject dipakai untuk mencabut suatu perangkat dari sistem. Dengan opsi, eject dapat pula dipakai untuk mengaitkan kembali perangkat yang sudah dicabut. Kita langsung praktikkan.
Untuk CD-ROM
Cobalah perintah eject cdrom. Perangkat pembaca CD Anda akan terbuka bakinya. Lalu cobalah eject -t cdrom, baki itu akan masuk kembali.
Cobalah perintah eject -v cdrom. Anda akan melihat langkah-langkah yang dilakukan shell untuk membuka baki CD-ROM Anda. v di sini singkatan dari verbose.
Jika Anda sudah melihat manual dari eject, Anda akan menemukan opsi -i on|1|off|0. Opsi ini berguna ketika Anda membawa laptop yang masih menyala di dalam tas dan Anda tidak ingin CD-ROM terbuka secara tidak sengaja karena tombolnya terpencet oleh sesuatu. Cara menulisnya adalah eject -i on atau eject -i 1 untuk mengunci, dan eject -i off atau eject -i 0 untuk membuka. Tanda pipa (|) berarti ‘atau’.
Catatan: tidak semua perangkat optik mendukung perintah eject.
Untuk Flash Disk
Jika flash disk yang Anda masukkan bernama ARASAFAREL, maka perintah eject-nya adalah
eject ARASAFAREL
Memang sesederhana itu.


0 comments:

Post a Comment