Introduction
Linux memiliki antarmuka pengguna grafis dan cara kerjanya hampir sama seperti GUI pada sistem lain yang Anda kenal seperti Windows dan OSX. Tutorial ini tidak akan fokus pada hal ini karena saya rasa Anda mungkin dapat memahaminya sendiri. Tutorial ini akan fokus pada baris perintah (juga dikenal sebagai terminal) yang menjalankan Bash.
Baris perintah adalah hal yang menarik, dan jika Anda belum pernah menggunakannya sebelumnya, bisa jadi sedikit menakutkan. Jangan khawatir, dengan sedikit latihan Anda akan segera menganggapnya sebagai teman Anda. Jangan menganggapnya sebagai meninggalkan GUI melainkan menambahkannya. Meskipun Anda dapat meninggalkan GUI sepenuhnya, kebanyakan orang membuka antarmuka baris perintah seperti jendela lain di desktop mereka (sebenarnya Anda dapat membuka sebanyak yang Anda suka). Ini juga menguntungkan kita karena kita dapat membuka beberapa baris perintah dan melakukan tugas yang berbeda di setiap baris perintah pada saat yang bersamaan. Kita juga dapat dengan mudah kembali ke GUI saat cocok untuk kita. Lakukan percobaan hingga Anda menemukan pengaturan yang paling cocok untuk Anda. Sebagai contoh, saya biasanya akan membuka 3 terminal: 1 untuk melakukan pekerjaan saya, yang lain untuk menampilkan data tambahan, dan yang terakhir untuk melihat halaman Manual (lebih lanjut tentang ini nanti).
Jadi apa sebenarnya mereka?
Baris perintah, atau terminal, adalah antarmuka berbasis teks ke sistem. Anda dapat memasukkan perintah dengan mengetiknya di papan ketik dan umpan balik akan diberikan kepada Anda seperti halnya teks.
Baris perintah biasanya menampilkan prompt. Saat Anda mengetik, prompt akan ditampilkan setelah prompt. Sering kali Anda akan mengeluarkan perintah. Berikut ini contohnya:
- ls -l /home/devapp
- total 3
- drwxr-xr-x 2 devapp users 4096 Mar 23 13:34 bin
- drwxr-xr-x 18 devapp users 4096 Feb 17 09:12 Documents
- drwxr-xr-x 2 devapp users 4096 May 05 17:25 public_html
Mari kita uraikannya:
- Baris 1 menyajikan kita dengan perintah (user@bash). Setelah itu kita memasukkan perintah (ls). Biasanya perintah selalu menjadi hal pertama yang Anda ketik. Setelah itu kita memiliki apa yang disebut sebagai argumen baris perintah (-l /home/devapp). Penting untuk dicatat, ini dipisahkan oleh spasi (harus ada spasi antara perintah dan argumen baris perintah pertama juga). Argumen baris perintah pertama (-l) juga disebut sebagai opsi. Opsi biasanya digunakan untuk mengubah perilaku perintah. Opsi biasanya dicantumkan sebelum argumen lain dan biasanya dimulai dengan tanda hubung (-).
- Baris 2 – 5 merupakan output dari perintah yang dijalankan. Sebagian besar perintah menghasilkan output dan akan dicantumkan langsung di bawah perintah yang dikeluarkan. Perintah lain hanya menjalankan tugasnya dan tidak menampilkan informasi apa pun kecuali terjadi kesalahan.
- Baris ke-6 kembali menampilkan prompt. Setelah perintah dijalankan dan terminal siap untuk Anda masukkan perintah lain, prompt akan ditampilkan. Jika tidak ada prompt yang ditampilkan, perintah mungkin masih berjalan (Anda akan mempelajari cara mengatasinya nanti).
- Terminal Anda mungkin tidak memiliki nomor baris. Saya hanya menyertakannya di sini untuk memudahkan merujuk ke berbagai bagian materi.
Shell, Bash
Di dalam terminal, Anda memiliki apa yang dikenal sebagai shell . Ini adalah bagian dari sistem operasi yang menentukan bagaimana terminal akan berperilaku dan terlihat setelah menjalankan (atau mengeksekusi) perintah untuk Anda. Ada berbagai shell yang tersedia, tetapi yang paling umum disebut BASH yang merupakan singkatan dari Bourne Again SHell. Tutorial ini akan mengasumsikan bahwa Anda menggunakan BASH sebagai shell Anda.
Jika Anda ingin mengetahui shell mana yang Anda gunakan, Anda dapat menggunakan perintah yang disebut echo untuk menampilkan variabel sistem yang menyatakan shell Anda saat ini. echo adalah perintah yang digunakan untuk menampilkan pesan.
- echo $SHELL
- /bin/bash
Selama ia mencetak sesuatu di layar yang diakhiri dengan bash maka semuanya baik-baik saja.
Shortcuts
Terminal mungkin tampak menakutkan, tetapi jangan khawatir. Linux penuh dengan shortcut untuk membantu mempermudah hidup Anda. Anda akan diperkenalkan pada beberapa di antaranya dalam tutorial ini. Catatlah shortcuttersebut karena shortcuttersebut tidak hanya mempermudah hidup Anda, tetapi juga sering kali menyelamatkan Anda dari kesalahan konyol seperti salah ketik.
Berikut shortcut pertama Anda. Saat Anda memasukkan perintah, perintah tersebut sebenarnya tersimpan dalam riwayat. Anda dapat menelusuri riwayat ini menggunakan tombol panah atas dan bawah. Jadi, jangan repot-repot mengetik ulang perintah yang telah Anda masukkan sebelumnya, Anda biasanya cukup menekan tombol panah atas beberapa kali. Anda juga dapat mengedit perintah ini menggunakan tombol panah kiri dan kanan untuk memindahkan kursor ke tempat yang Anda inginkan.
Riwayat juga diingat selama sesi sehingga Anda dapat terus meninjau kembali perintah dari beberapa waktu lalu. Biasanya 1000 perintah terakhir yang Anda masukkan akan diingat.
Jika Anda ingin mengetahui berapa banyak perintah terkini yang diingat, Anda dapat menggunakan perintah yang disebut
echo untuk menampilkan variabel sistem yang menyatakan ukuran riwayat Anda. echo adalah perintah yang digunakan untuk menampilkan pesan.
- echo $HISTSIZE
- 1000
Navigasi Dasar
Perintah pertama yang akan kita pelajari adalah
pwd yang merupakan singkatan dari Print Working Directory. (Anda akan menemukan bahwa banyak perintah di Linux diberi nama sebagai singkatan dari satu kata atau beberapa kata yang menjelaskannya. Ini memudahkan untuk mengingatnya.) Perintah tersebut berfungsi seperti itu. Perintah tersebut memberi tahu Anda direktori kerja Anda saat ini. Cobalah sekarang.
- pwd
- /home/devapp
Banyak perintah pada terminal yang bergantung pada lokasi yang tepat. Saat Anda bergerak, Anda dapat dengan mudah lupa di mana Anda berada. Gunakan perintah ini sesering mungkin untuk mengingatkan diri Anda di mana Anda berada saat ini.
Apa yang Ada di Lokasi Kita Saat Ini?
Mengetahui di mana kita berada adalah satu hal. Selanjutnya kita ingin tahu apa yang ada di sana. Perintah untuk tugas ini adalah
ls . Kependekan dari list. Mari kita coba.
- ls
- bin Documents public_html
Sementara pwd hanya dijalankan sendiri tanpa argumen, ls sedikit lebih canggih. Kami telah menjalankannya di sini tanpa argumen, yang mana dalam hal ini ia hanya akan melakukan pencantuman biasa dari lokasi kami saat ini. Namun, kami dapat melakukan lebih banyak hal dengan ls. Berikut ini adalah garis besar penggunaannya:
- ls
- bin Documents public_html
- ls -l
- total 3
- drwxr-xr-x 2 ryan users 4096 Mar 23 13:34 bin
- drwxr-xr-x 18 ryan users 4096 Feb 17 09:12 Documents
- drwxr-xr-x 2 ryan users 4096 May 05 17:25 public_html
- ls /etc
- a2ps.cfg aliases alsa.d cups fonts my.conf systemd
- …
- ls -l /etc
- total 3
- -rwxr-xr-x 2 root root 123 Mar 23 13:34 a2ps.cfg
- -rwxr-xr-x 18 root root 78 Feb 17 09:12 aliases
- drwxr-xr-x 2 ryan users 4096 May 05 17:25 alsa.d
- …
Dalam contoh di atas, tanda kurung siku ( [ ] ) berarti bahwa item tersebut bersifat opsional, kita dapat menjalankan perintah dengan atau tanpa tanda kurung siku. Di terminal di bawah ini saya telah menjalankan ls dengan beberapa cara berbeda untuk mendemonstrasikannya.
- pwd
- /home/ryan
- ls Documents
- file1.txt file2.txt file3.txt
- …
- ls /home/ryan/Documents
- file1.txt file2.txt file3.txt
- …
Mari kita uraikannya:
- Baris 1 – Kita menjalankan ls dalam bentuk paling dasar. Ia mencantumkan isi direktori kita saat ini.
- Baris 4 – Kami menjalankan ls dengan satu opsi baris perintah ( -l ) yang menunjukkan bahwa kami akan membuat daftar panjang. Daftar panjang memiliki yang berikut:
- Karakter pertama menunjukkan apakah itu file normal ( – ) atau direktori ( d )
- 9 karakter berikutnya adalah izin untuk file atau direktori (kita akan mempelajarinya lebih lanjut di bagian 6).
- Kolom berikutnya adalah jumlah blok (jangan terlalu khawatir tentang ini).
- Bidang berikutnya adalah pemilik berkas atau direktori (ryan dalam kasus ini).
- Bidang berikutnya adalah grup tempat file atau direktori berada (pengguna dalam kasus ini).
- Berikut ini adalah ukuran berkasnya.
- Berikutnya adalah waktu modifikasi berkas.
- Akhirnya kita memiliki nama sebenarnya dari berkas atau direktori.
- Baris 10 – Kita menjalankan ls dengan argumen baris perintah ( /etc ). Ketika kita melakukan ini, perintah tersebut memberi tahu ls untuk tidak mencantumkan direktori kita saat ini, tetapi mencantumkan isi direktori tersebut.
- Baris 13 – Kami menjalankan ls dengan opsi baris perintah dan argumen. Dengan demikian, ia membuat daftar panjang direktori /etc.
- Baris 12 dan 18 hanya menunjukkan bahwa saya telah menghilangkan beberapa perintah yang biasanya dikeluarkan demi singkatnya perintah. Saat Anda menjalankan perintah tersebut, Anda akan melihat daftar file dan direktori yang lebih panjang.
Path
Pada perintah sebelumnya, kita mulai menyinggung sesuatu yang disebut path. Saya ingin membahasnya lebih rinci sekarang karena path penting untuk menguasai Linux. Setiap kali kita merujuk ke berkas atau direktori pada baris perintah, sebenarnya kita merujuk ke path. Yaitu, path adalah sarana untuk mengakses berkas atau direktori tertentu pada sistem.
Jalur Absolut dan Relatif
Ada 2 jenis jalur yang dapat kita gunakan, absolut dan relatif . Setiap kali kita merujuk ke berkas atau direktori, kita menggunakan salah satu jalur ini. Setiap kali kita merujuk ke berkas atau direktori, kita dapat menggunakan salah satu jenis jalur (dengan cara apa pun, sistem akan tetap diarahkan ke lokasi yang sama).
Pertama-tama, kita harus memahami bahwa sistem berkas di Linux adalah struktur hierarkis. Di bagian paling atas struktur tersebut terdapat apa yang disebut direktori root . Direktori tersebut dilambangkan dengan garis miring tunggal ( / ). Direktori tersebut memiliki subdirektori, subdirektori memiliki subdirektori dan seterusnya. Berkas dapat berada di salah satu direktori ini.
Jalur absolut menentukan lokasi (berkas atau direktori) dalam kaitannya dengan direktori root. Anda dapat mengidentifikasinya dengan mudah karena selalu diawali dengan garis miring ( / )
Jalur relatif menentukan lokasi (berkas atau direktori) yang berhubungan dengan lokasi kita saat ini dalam sistem. Jalur ini tidak akan diawali dengan garis miring.
Berikut ini contoh untuk mengilustrasikannya:
- Baris 1 – Kami menjalankan pwd hanya untuk memverifikasi di mana kami berada saat ini.
- Baris 4 – Kami menjalankan ls dengan menyediakan jalur relatif. Documents adalah direktori di lokasi kami saat ini. Perintah ini dapat menghasilkan hasil yang berbeda tergantung di mana kami berada. Jika kami memiliki pengguna lain di sistem, bob, dan kami menjalankan perintah tersebut saat berada di direktori home mereka, maka kami akan mencantumkan konten direktori Documents mereka sebagai gantinya.
- Line 7 – We ran ls providing it with an absolute path. This command will provide the same output regardless of our current location when we run it.
Lebih lanjut tentang Paths
Anda akan menemukan bahwa banyak hal di Linux dapat dicapai dengan beberapa cara berbeda. Jalur pun tidak berbeda. Berikut ini beberapa blok penyusun yang dapat Anda gunakan untuk membantu membangun jalur Anda.
- ~ (tilde) – Ini adalah pintasan ke direktori home Anda. Misalnya, jika direktori home Anda adalah /home/ryan maka Anda dapat merujuk ke direktori Documents dengan jalur /home/ryan/Documents atau ~/Documents
- . (titik) – Ini adalah referensi ke direktori Anda saat ini. Misalnya, dalam contoh di atas, kami merujuk ke Dokumen pada baris 4 dengan jalur relatif. Ini juga dapat ditulis sebagai ./Documents (Biasanya bagian tambahan ini tidak diperlukan, tetapi di bagian selanjutnya kita akan melihat di mana ini berguna).
- .. (dotdot)- Ini adalah referensi ke direktori induk. Anda dapat menggunakan ini beberapa kali dalam satu jalur untuk terus naik hierarki. Misalnya jika Anda berada di jalur /home/ryan, Anda dapat menjalankan perintah ls ../../ dan ini akan membuat daftar direktori akar.
Jadi sekarang Anda mungkin mulai melihat bahwa kita dapat merujuk ke suatu lokasi dengan berbagai cara yang berbeda. Beberapa dari Anda mungkin bertanya, cara mana yang harus saya gunakan? Jawabannya adalah Anda dapat menggunakan metode apa pun yang Anda suka untuk merujuk ke suatu lokasi. Setiap kali Anda merujuk ke suatu berkas atau direktori pada baris perintah, Anda sebenarnya merujuk ke suatu jalur dan jalur Anda dapat dibuat menggunakan salah satu elemen ini. Pendekatan terbaik adalah yang paling nyaman bagi Anda. Berikut ini beberapa contoh:
- pwd
- /home/ryan
- ls ~/Documents
- file1.txt file2.txt file3.txt
- …
- ls ./Documents
- file1.txt file2.txt file3.txt
- …
- ls /home/ryan/Documents
- file1.txt file2.txt file3.txt
- …
- ls ../../
- bin boot dev etc home lib var
- …
- ls /
- bin boot dev etc home lib var
- …
Setelah mencoba-coba sendiri hal ini di baris perintah, Anda akan mulai memahaminya lebih baik. Pastikan Anda memahami cara kerja semua elemen pembuatan jalur ini karena Anda akan menggunakan semuanya di bagian selanjutnya.
Ayo Bergerak Sedikit
Untuk berpindah-pindah dalam sistem, kita menggunakan perintah yang disebut
cd yang merupakan singkatan dari change directory. Perintah ini berfungsi sebagai berikut:
Jika Anda menjalankan perintah cd tanpa argumen apa pun maka perintah tersebut akan selalu membawa Anda kembali ke direktori home Anda.
Perintah cd dapat dijalankan tanpa lokasi seperti yang kita lihat pada pintasan di atas, tetapi biasanya akan dijalankan dengan satu argumen baris perintah yang merupakan lokasi yang ingin kita ubah. Lokasi ditentukan sebagai jalur dan dengan demikian dapat ditentukan sebagai jalur absolut atau relatif dan menggunakan salah satu blok penyusun jalur yang disebutkan di atas. Berikut ini beberapa contohnya.
- pwd
- /home/ryan
- cd Documents
- ls
- file1.txt file2.txt file3.txt
- …
- cd /
- pwd
- /
- ls
- bin boot dev etc home lib var
- …
- cd ~/Documents
- pwd
- /home/ryan/Documents
- cd ../../
- pwd
- /home
- cd
- pwd
- /home/ryan
Penyelesaian Tab
Mengetik jalur ini bisa jadi membosankan. Jika Anda seperti saya, Anda juga rentan membuat kesalahan ketik. Baris perintah memiliki mekanisme kecil yang bagus untuk membantu kita dalam hal ini. Mekanisme ini disebut Tab Completion.
Saat Anda mulai mengetik jalur (di mana saja pada baris perintah, Anda tidak terbatas pada perintah tertentu), Anda dapat menekan tombol Tab pada papan ketik kapan saja yang akan menjalankan tindakan pelengkapan otomatis. Jika tidak terjadi apa-apa, berarti ada beberapa kemungkinan. Jika Anda menekan Tab lagi, kemungkinan-kemungkinan tersebut akan ditampilkan. Anda kemudian dapat terus mengetik dan menekan Tab lagi, lalu akan mencoba lagi untuk melengkapi otomatis bagi Anda.
Agak sulit untuk didemonstrasikan di sini, jadi mungkin lebih baik jika Anda mencobanya sendiri. Jika Anda mulai mengetik cd /h Tab /<awal nama pengguna Anda> Tab, Anda akan merasakan cara kerjanya.