Command line adalah cara mengontrol komputer tanpa GUI. Dalam unit ini, kita akan mempelajari perintah dasar untuk berinteraksi dengan komputer.
Poin-Poin Penting
- Siswa akan berpindah-pindah di komputernya dengan perintah.
- Siswa akan membuat, memindahkan, menyalin, dan menghapus file dan folder.
Apa Itu Command Line?
Sebagian besar pengguna sebagian besar waktu menggunakan Antarmuka Pengguna Grafis (GUI) untuk berinteraksi dengan komputer. GUI biasanya mengandalkan mouse atau sentuhan untuk memanipulasi jendela dengan ikon, tombol, scrollbar, dll.
Command line adalah tampilan alternatif ke dalam komputer. Terkadang disebut sebagai "shell", "terminal", "bash", atau "antarmuka teks", command line adalah:
- Cara berinteraksi dengan program komputer saat pengguna mengetik perintah. Misalnya:
open README.txt
- Cara untuk menjelajahi dan mengoperasikan komputer tanpa mouse.
- Cara non-grafis untuk membuat, membaca, memperbarui, mengoperasikan, dan menghapus file dan direktori Anda. Misalnya:
mv README.txt readme.txt
GUI dan Command Line melihat hal yang sama. Keduanya adalah cara yang berbeda untuk berinteraksi dengan komputer.
Kapan Kita Menggunakan Command Line?
Antarmuka command line sering kali lebih disukai oleh developer:
- Perintah ini memberikan cara yang lebih ringkas untuk mengontrol program atau sistem operasi. Mengapa? Karena semuanya terjadi di jendela yang sama, dan dengan latihan, tindakan ini akan lebih mudah dilakukan daripada menemukan dan memanipulasi sesuatu dengan mouse.
- Opsi ini dengan mudah menampilkan opsi untuk mengontrol perintah. Mengapa? Menu di GUI menyediakan sejumlah kecil opsi. Di command line, ada ratusan perintah, dan beberapa karakter yang ditambahkan ke perintah dapat membuatnya melakukan banyak hal yang berbeda. Misalnya
ls
File daftar dasarls -a
Mencantumkan semua file, termasuk file yang biasanya tersembunyils -l
Daftar panjang, menampilkan informasi tentang setiap filels -R
Rekursif, mencantumkan isi direktorils -la
Mencantumkan semua file panjang- Alat ini mempermudah tindakan pada banyak file sekaligus dengan cara yang kompleks.
for i in *.png; do pngtogif $i `echo $i | sed s/png/gif/`; done
- Program ini menyediakan cara untuk memprogram sistem operasi (program shell), misalnya, contoh di atas adalah program shell yang sangat sederhana yang dirancang untuk mengubah gambar dengan nama file yang berakhiran
.png
.
Command Line Dalam Penerapannya
Bagian dari Perintah Command Line
Semua perintah memiliki tiga bagian:
- Perintah (atau utilitas) selalu didahulukan.
- Flag bersifat opsional, bergantung pada utilitas yang Anda gunakan. Flag selalu dimulai dengan - (minus).
- Argumen adalah hal-hal yang perlu ditindaklanjuti oleh perintah, atau informasi yang diperlukan. Biasanya nama file.
Pembingkaian
Konteks & tujuan
Command line adalah cara mengontrol komputer tanpa mouse atau GUI (Antarmuka Pengguna Grafis). Sebelum Apple Computer mulai membuat mesin dengan ikon dan folder yang dapat Anda klik, satu-satunya cara untuk berinteraksi dengan komputer Anda adalah melalui command line.
Sebagai developer, kami menggunakan command line karena jauh lebih cepat dan lebih canggih daripada GUI - tidak perlu membuang waktu untuk mengklik. Command line dapat memungkinkan Anda melakukan hampir semua interaksi yang Anda lakukan dengan komputer.
Karena terminal adalah antarmuka yang jauh lebih sederhana, terminal memiliki keunggulan besar dibandingkan GUI saat Anda perlu terhubung ke komputer dari jarak jauh melalui link jaringan. Hal ini sering dilakukan oleh developer, misalnya saat bepergian.
Dalam pelajaran ini, kita akan mempelajari perintah dasar untuk berinteraksi dengan komputer dengan: membuat file dan direktori, memindahkan folder, mengubah direktori, dan mencantumkan konten folder.
Tujuan pembelajaran
Siswa akan dapat
- Menggunakan Terminal untuk membuka file dan folder
- Mencantumkan konten folder
- Membuat file dan folder di command line
- Memindahkan file dan folder
- Menyalin file dan folder
- Menghapus file dan folder
Memulai
Mengakses Terminal
Framing dan tujuan bagian
Terminal menyediakan Antarmuka Command Line (CLI) ke sistem operasi. Dengan alat ini, Anda dapat memberikan petunjuk langsung berbasis teks ke komputer.
Untuk melakukannya, kita perlu meluncurkan terminal Anda berdasarkan sistem yang Anda gunakan.
Saat diluncurkan, terminal akan dimulai di direktori beranda komputer Anda (apa pun nama komputer Anda). Direktori beranda Anda ditandai dengan tilde ~
.
Saat membahas dunia kita di dalam Terminal, Direktori sama dengan Folder (terkadang kita hanya menyebutnya Direktori).
Mengubah Direktori
Framing dan tujuan bagian
Untuk berkomunikasi dengan komputer di Terminal dan memberi tahu apa yang ingin kita lakukan, kita perlu menggunakan bahasa yang sama. Command Line memahami perintah yang ditulis dalam bahasa skrip bash. Perintahnya adalah akronim atau singkatan dari kata-kata dalam bahasa Inggris.
Print Working Directory (pwd
)
Saat menjelajahi terminal, penting untuk mengetahui lokasi Anda (hal ini juga berlaku dalam kehidupan nyata - jika Anda ingin pergi ke suatu tempat, Anda harus mengetahui lokasi Anda saat ini terlebih dahulu).
# See your current location - abbreviation for 'print working directory'
pwd
Mencantumkan file dan direktori yang tersedia
Di dalam direktori kerja, kemungkinan ada beberapa file yang dapat Anda akses. Biasanya, kita mengandalkan petunjuk visual seperti ikon untuk mengetahui apa yang tersedia, tetapi akan sulit untuk menavigasi komputer jika kita hanya menebak lokasi file dan folder. Di command line, kita akan menggunakan perintah tertentu untuk mencantumkan apa yang dapat kita akses dari direktori kerja tertentu / lokasi tertentu.
Untuk melihat file atau folder mana yang ada di direktori saat ini, gunakan perintah ls
(singkatan dari list) untuk melihat tampilan daftar isinya.
# See files and folders in current location - abbreviation for 'list'
ls
Mengubah direktori kerja
Jika Anda memerlukan akses ke file atau direktori yang tidak ada dalam daftar, Anda dapat mengubah direktori kerja agar lebih mudah mengaksesnya.
Sintaksis untuk memberi tahu Command Line agar memindahkan Anda ke direktori baru (juga dikenal sebagai folder) adalah cd
diikuti (di baris yang sama) dengan jalur ke folder baru.
Jika Anda membuka direktori yang ada di dalam direktori tempat Anda berada saat ini (yaitu subfolder dari direktori kerja), gunakan perintah cd
yang diikuti dengan nama folder.
# Change your current working directory (current location)
# Abbreviation for 'change directory'
cd Documents
Anda juga dapat memulai navigasi dari direktori beranda ~.
# Add a `~/` to begin from the home directory.
cd ~/Downloads
Jika Anda telah mengubah direktori, tetapi perlu kembali ke direktori beranda, lakukan dengan kembali langsung ke beranda menggunakan ~
, atau menggunakan ..
untuk kembali ke satu tingkat di atas.
# Option 1: navigate directly to the home directory
cd ~
# Option 2: navigate back one level
cd ..
Perhatikan bahwa cd ..
hanya naik (kembali) satu tingkat, jadi jika Anda telah mengubah direktori tiga kali sejauh ini (turun tiga tingkat), Anda harus menggunakan cd ..
tiga kali untuk kembali ke direktori awal, tetapi hanya perlu menggunakan cd ~
satu kali.
Tantangan mini
- Gunakan
ls
untuk melihat isi direktori Anda saat ini. - Kembali ke direktori utama Anda dan gunakan
ls
untuk melihat isi folder utama Anda. - Pilih nama salah satu folder yang ada di dalam direktori beranda, lalu buka folder baru ini.
- Gunakan perintah list untuk melihat isinya.
Tips: Pelengkapan otomatis dengan tab
Saat mengubah direktori dengan perintah cd
, satu kesalahan ketik akan mencegah perintah dijalankan dengan benar. Namun, menggunakan tombol tab
akan melengkapi otomatis dengan nama direktori yang tersedia di dalam direktori Anda saat ini. Jadi, alih-alih mengetik cd Documents
, ketik saja cd Do
, lalu tekan tombol tab
dan terminal akan melengkapi otomatis perintah cd Documents/
untuk Anda (/
di akhir bersifat opsional, tetapi memberi tahu Anda bahwa tujuannya adalah direktori).
Fitur pelengkapan otomatis ini tidak hanya menghemat waktu saat berfungsi, tetapi juga memberikan informasi berharga saat tidak berfungsi. Jika tombol tab tidak melengkapi otomatis, Anda mungkin melakukan salah satu dari tiga masalah yang sangat umum berikut:
- Direktori yang ingin Anda buka tidak dapat diakses dari direktori kerja Anda saat ini.
- Ada dua direktori yang memiliki nama awal yang mirip (seperti
Documents
danDownloads
) dan Anda belum memberikan informasi yang cukup agar pelengkapan otomatis mengetahui direktori mana yang Anda inginkan. Tekantab
lagi untuk melihat daftar direktori yang mungkin cocok dengan yang Anda ketik. Kemudian, ketik sedikit lagi (cukup hingga hanya ada satu kecocokan) dan tekantab
lagi. - Anda sudah menyertakan kesalahan ketik di paruh pertama kata.
Semakin cepat Anda terbiasa menggunakan tab untuk melengkapi otomatis perintah, semakin besar kemungkinan Anda dapat mengatasi situasi yang membuat frustrasi saat perintah Anda tampaknya tidak berfungsi.
Direktori Induk dan Turunan
Direktori dan file dapat memiliki hubungan turunan dan induk satu sama lain. Jika directory_b
berada di dalam directory_a
, directory_b
disebut sebagai turunan dari directory_a
. directory_a
kemudian dikenal sebagai induk dari directory_b
. Jika item ketiga, my_file
, berada di dalam directory_b
, item tersebut dianggap sebagai turunan dari directory_b
dan cucu dari directory_a
.
Hubungan ini sering kali diilustrasikan di forum dengan diagram teks, seperti ini:
directory_a/ directory_b/ my_file
Perhatikan bahwa nama direktori diakhiri dengan /
, sedangkan nama file tidak. Organisasi hierarkis ini umumnya disebut sebagai struktur hierarki sistem file.
Saudara kandung
Jika ada beberapa file atau folder di tingkat yang sama, file atau folder tersebut dikenal sebagai saudara kandung. Contoh: Jika file_b
dan file_c
berada di dalam directory_a
, keduanya adalah saudara kandung.
Diagram teks tersebut akan terlihat seperti ini:
directory_a/ file_b file_c
Perhatikan bahwa karena file_b
dan file_c adalah saudara kandung, keduanya memiliki indentasi yang sama.
Jalur File
Berikut adalah diagram teks yang lebih kompleks yang menampilkan hubungan induk-turunan dan sibling.
north_america/ united_states/ new_york/ new_york_city/ manhattan queens staten_island bronx brooklyn california/ mountain_view los_angeles illinois/ chicago mexico/ mexico_city
Dalam contoh ini, new_york_city/
adalah nama direktori, tetapi juga memiliki jalur, yang menjelaskan cara menuju ke sana: ~/north_america/united_states/new_york/new_york_city/
.
Untuk mengubah direktori menjadi new_york_city/,
, Anda dapat berpindah langkah demi langkah menggunakan nama, atau Anda dapat berpindah langsung ke sana dalam satu perintah menggunakan jalur.
# Option 1: in four steps, using directory names.
cd ~ # navigate home, where these folders are located
cd north_america/
cd united_states/
cd new_york/
cd new_york_city/
# Option 2: in one step, using the path.
cd ~/north_america/united_states/new_york/new_york_city/
Ringkasan Perintah Navigasi
# See your current location - abbreviation for 'print working directory'
pwd
# Change to a new location - abbreviation for 'change directory'
cd ~/Downloads
# Navigates into a child directory called `some_directory`
# Only works if `some_directory` is a child of the current directory
cd some_directory
# Navigates into the parent of the current directory
# `..` is shorthand for parent.
cd ..
# Will take you back home
cd
Tantangan mini
- Gunakan
pwd
untuk mengetahui folder saat ini yang sedang Anda buka. - Ubah ke direktori lain dan konfirmasi lokasi baru Anda.
- Coba lagi dan buka folder lain. Gunakan perintah baru Anda untuk melihat lokasi Anda dan juga melihat file di dalam direktori ini.
Membuat File & Direktori
Framing dan tujuan bagian
Sebagai developer, kita perlu membuat file dengan kode. Agar file tersebut tetap teratur, kita perlu membuat folder / direktori tempat kita dapat menyimpan file.
Perhatikan lokasi Anda di terminal sebelum membuat file dan folder.
# See your current location.
pwd
Untuk membuat file, gunakan perintah touch
diikuti dengan nama file.
# `touch` creates a new file.
touch style.css
Saat membuat file, tambahkan ekstensi file untuk menentukan jenisnya. Contoh jenis file:
.js
sebagai file JavaScript.html
membuat file HTML.css
membuat file CSS.md
membuat file markdown
Nama file tidak boleh berisi spasi.
# make a file - this will create a file in the current folder
touch my_text_file.txt
# make a file - this will create a file on the desktop
touch ~/Desktop/my_new_style_sheet.css
Membuat beberapa file
Anda dapat membuat beberapa file sekaligus dengan menyertakan spasi di antara setiap nama.
# make multiple files - this will create multiple files in the current folder
touch my_new_js_file.js my_new_html_file.html my_second_html_file.html
Membuat direktori
Untuk membuat direktori / folder, gunakan perintah mkdir
- singkatan dari 'make directory' - diikuti dengan nama folder.
# make a folder - this will create a directory in the current folder
mkdir my_new_folder
# make a folder - this will create a directory on your desktop
mkdir ~/Desktop/my_new_desktop_folder
Membuat beberapa direktori
Anda dapat membuat beberapa folder sekaligus dengan menyertakan spasi di antara setiap nama.
# make multiple folders - this will create multiple folders in the current
# directory
mkdir folder_one folder_two folder_three
Tantangan mini
- Buat file baru.
- Buat beberapa file dalam satu perintah.
- Buat direktori baru.
- Buat beberapa direktori baru lagi. Coba gunakan satu perintah saja untuk melakukannya.
- Dengan menggunakan pengetahuan Anda tentang cara menjelajahi direktori serta membuat file dan folder, buat 'pohon keluarga' di desktop Anda menggunakan file dan folder.
Memindahkan & Menyalin
Memindahkan File & Direktori
Framing dan tujuan bagian
Kita dapat memindahkan file atau folder di command line, tetapi kita harus selalu menentukan tiga hal:
- Kita menggunakan perintah
mv
- singkatan dari move. - Ikuti perintah pemindahan dengan nama file atau folder yang ingin Anda pindahkan.
- Ikuti nama file dengan tujuan tempat Anda ingin memindahkannya.
Misalnya, jika Anda memiliki struktur file seperti ini:
my_child_folder/ my_parent_folder/
Anda dapat melihat bahwa item tersebut tidak diatur sebagaimana mestinya - item tersebut adalah saudara kandung, padahal seharusnya induk dan turunan. Gunakan perintah ini:
# move a directory - this will move the folder `my_child_folder` into the
# folder named `my_parent_folder` that is in the current folder
mv my_child_folder/ my_parent_folder/
Struktur yang dihasilkan akan terlihat seperti ini.
my_parent_folder/ my_child_folder/
Berikut beberapa variasi lain dari perintah mv
:
# move a directory - this will move the folder `my_folder` into the file named
# `my_desktop_folder` that is located on the Desktop
mv my_folder ~/Desktop/my_desktop_folder
# move a file - this will move the file `my_file.txt` into the file named
# `my_folder` that is in the current folder
mv my_file.txt my_folder
# move a file - this will move the file `my_file.txt` into the file named
# `my_desktop_folder` that is located on the Desktop
mv my_file.txt ~/Desktop/my_desktop_folder
Peringatan: mv
juga merupakan perintah untuk mengganti nama file menggunakan sintaksis mv old_name new_name
. Artinya, jika Anda memindahkan file ke direktori yang tidak ada, atau jika Anda salah mengeja tujuan, file itu sendiri akan diganti namanya, bukan dipindahkan.
Tantangan mini
- Buat 5 file teks (.txt).
- Membuat direktori baru.
- Pindahkan 5 file yang Anda buat ke dalam folder.
- Buat folder dan pindahkan folder baru ini ke dalam folder lain.
Menyalin File & Direktori
Framing dan tujuan bagian
Saat membangun aplikasi web, kita mungkin ingin menduplikasi file (jika membangun dua halaman web yang serupa, kita mungkin tidak ingin memulai dari awal), dan sintaksis untuk perintah cp
(salin) sangat mirip dengan sintaksis mv
.
Menyalin file
Perintah salin memiliki tiga bagian:
- Perintah
cp
- singkatan dari copy - Nama file yang akan disalin
- Nama salinan (jika tetap berada di folder yang sama) atau lokasi dan nama (jika dipindahkan ke folder lain).
# Copy a file named `my_file.txt` to a file called `my_file_copy.txt`
# The copy will be located in your Documents folder.
cp my_file.txt ~/Documents/my_file_copy.txt
# Copy a file named `my_file.txt` to a file called `my_file_copy.txt`.
# Since no directory was specified, this will occur within the same folder.
cp my_file.txt my_file_copy.txt
Jika Anda ingin salinan mempertahankan nama yang sama dengan aslinya, Anda dapat menentukan lokasi salinan tanpa nama file.
# Copy a file named `my_file.txt` to your Documents folder.
# The destination ends with a directory, so the copy will have the same name.
cp my_file.txt ~/Documents/
Memiliki banyak file dengan nama yang sama dapat membingungkan, jadi gunakan metode ini hanya jika Anda yakin bahwa itulah yang Anda butuhkan.
Menyalin direktori
Menyalin folder atau direktori sedikit lebih rumit, karena Anda mungkin ingin menyalin tidak hanya folder, tetapi juga semua yang ada di dalamnya.
- Perintah
cp -R
- singkatan dari copy recursive - gunakan perintah ini untuk folder kosong dan tidak kosong - Nama sumber (folder atau file yang ingin kita pindahkan)
- Nama salinan (jika tetap berada di folder yang sama) atau lokasi dan nama (jika dipindahkan ke folder lain).
Peringatan: Saat menentukan nama untuk salinan, jika file atau folder belum dibuat sebelumnya, file atau folder tersebut akan dibuat saat Anda membuat salinan. Jika file dibuat sebelum Anda menjalankan perintah salin, file tersebut akan menimpa apa pun yang sebelumnya ada dalam file, jadi berhati-hatilah.
# copy a directory named `my_folder` from your Desktop folder to a folder
# called `my_folder_copy` in your Documents folder
cp -R ~/Desktop/my_folder ~/Documents/my_folder_copy
# copy a file named `my_file.txt` from your Desktop folder to your Documents
# folder
cp -R my_folder my_folder_copy
Catatan: komponen -R
dari cp -R
disebut flag. Flag selalu diawali dengan tanda hubung, dan digunakan dalam kombinasi dengan perintah untuk memberikan petunjuk yang lebih spesifik tentang cara menjalankan perintah tersebut.
Tantangan mini
- Buat file bernama
my_original.txt
- Buat salinan
my_original.txt
dengan nama baru di folder yang sama. - Membuat direktori baru.
- Buat salinan direktori tersebut, tetapi beri nama yang berbeda.
- Buat salinan file yang Anda salin (dari langkah 2), tetapi tempatkan ke dalam direktori yang disalin (dari langkah 4).
Menghapus File & Folder
Framing dan tujuan bagian
Kita dapat menghapus file dan folder di command line, tetapi tindakan ini bersifat permanen.
Menghapus file
Untuk menghapus file, kita dapat menggunakan perintah rm
(singkatan dari remove) yang diikuti dengan nama file.
# delete a file in the working directory
rm unwanted_file.txt
# delete a file not in the working directory
rm ~/Desktop/unwanted_file.txt
Menghapus direktori yang kosong
Untuk menghapus direktori kosong, kita dapat menggunakan perintah rmdir
- singkatan dari remove directory - diikuti dengan nama folder.
# delete an empty folder
rmdir empty_directory
# delete an empty folder
rmdir ~/Documents/my_files/empty_directory
Menghapus direktori yang tidak kosong
Untuk menghapus folder yang tidak kosong, kita harus memasukkan tanda -R
- singkatan dari recursive - setelah perintah rm
yang memberi tahu komputer untuk menghapus konten di dalam folder. Sebagai pintasan, beberapa developer menggunakan tanda -Rf
yang menghapus secara paksa semuanya (jika tidak, Anda mungkin menerima perintah tentang penghapusan beberapa file atau folder turunan).
# delete a folder which contains other files or folders
rm -R directory_which_isnt_empty
# delete a folder which contains other files or folders
rm -R ~/Downloads/directory_which_isnt_empty
Peringatan: Penggunaan perintah rm
tidak seperti tempat sampah atau bagian yang dihapus di email Anda - file ini tidak dapat dipulihkan dengan mudah. BERHATI-HATILAH saat menghapus file dengan cara ini.
Tantangan mini
- Buat 4 file.
- Hapus 2 file.
- Buat folder.
- Buat folder lain dan buat file di dalam folder ini.
- Hapus kedua direktori.
Anda dapat menemukan kode untuk lab ini di folder berikut dalam repositori siswa yang Anda download dari GitHub: command-line/labs/around-the-world
Latar belakang
Semester Anda di luar negeri sudah dekat dan sekarang saatnya Anda mulai merencanakan perjalanan Anda di Eropa...
Dengan tiga bulan hidup yang serius dalam waktu dekat, Anda ingin memastikan bahwa Anda memanfaatkan sepenuhnya setiap perjalanan akhir pekan.
Untungnya, Anda tidak perlu memulai dari awal dan teman-teman Anda telah memberi Anda beberapa aktivitas favorit mereka dari semester di luar negeri. Sayangnya, beberapa file telah tercampur...
Jangan khawatir, dengan keajaiban command line, masalah ini akan segera teratasi.
Tugas
Pastikan setiap kota berada di negara yang benar dan setiap folder kota berisi monumen yang tepat. Berhati-hatilah atau Anda mungkin berakhir di Amsterdam saat mencari Menara Eiffel.
Jika Anda merasa SANGAT yakin dengan hal ini, sembunyikan GUI Anda dan hadapi tantangan ini langsung dari command line. Anda harus tetap berada di folder umum keliling dunia saat melakukan semua ini, yang berarti menggunakan jalur absolut saat merujuk ke folder dan file.
Setelah Anda yakin semuanya sudah benar, sekarang giliran Anda untuk mengendalikan beberapa bulan ke depan. Bertukar ide tentang kota, negara, dan monumen baru yang PERLU Anda lihat dan tambahkan ke hierarki file Anda.
Selamat! Anda telah resmi mempelajari cara berbicara dengan komputer. Siap untuk melangkah lebih jauh? Mari kita bahas ekstensi...
Ekstensi
- Campur semua file Anda lagi, lalu masuk ke kota pilihan Anda. Atur ulang file, sambil tetap berada di kota tersebut.
- Coba salah satu game command line seru yang ditautkan di bawah
Terminus Game
Advanced Game (siap untuk mencari di Google) - Penggemar berat Star Wars? Coba jalankan
telnet towel.blinkenlights.nl
di command line Anda, lalu tekan enter.... (Perhatikan bahwa di MacOS versi terbaru, perintahtelnet
tidak lagi diinstal secara default; dalam hal ini, perintahnc towel.blinkenlights.nl 23
dapat digunakan sebagai gantinya.)
Anda dapat menemukan kode untuk lab ini di folder berikut dalam repositori siswa yang Anda download dari GitHub: command-line/labs/bashing-away-repetition
Siap untuk menghilangkan pengulangan dari penggunaan command line harian Anda? Bagus, saya juga!
Latar belakang
Jika ada satu hal yang tidak disukai programmer, itu adalah pengulangan. Sebagai ilmuwan komputer, tugas kita adalah membuat komputer melakukan sebanyak mungkin pekerjaan kita. Menulis skrip bash akan membantu kita menggunakan command line secara lebih efisien.
Pertama-tama, Apa itu skrip bash?
Pertanyaan BAGUS. Untungnya, teman kami, Ryan Chadwick, di situs yang tepat ini untuk menemukan tutorial command line, memiliki jawabannya.
Skrip Bash memungkinkan kita menentukan serangkaian tindakan yang kemudian akan dilakukan oleh komputer tanpa kita harus memasukkan perintah sendiri. Jika tugas tertentu sering dilakukan, atau berulang, skrip dapat menjadi alat yang berguna.
Tidak ada pengulangan? Itulah yang saya maksud.
Tutorial
Pertama-tama, agar dapat menjalankan skrip, Anda harus memberikan izin kepada komputer Anda. Lakukan hal ini dengan menjalankan perintah di bawah.
chmod 755 myScript.sh
Baiklah, saatnya menulis program pertama Anda. Buka myScript.sh
Anda (lihat apakah Anda dapat membuka file dari command line). Di akhir file, tambahkan:
echo "Hello World"
Sekarang jalankan:
./myScript.sh
di terminal Anda. ** TA DA ** Anda akan melihat "Hello World" dicetak di terminal.
Semua yang Anda tulis dalam skrip bash akan berjalan seolah-olah Anda telah mengetiknya ke terminal. Mari kita pelajari satu contoh lagi sebelum mempelajari ekstensi. Pertama, buat file untuk skrip Anda. File ini dapat diberi nama apa pun yang Anda inginkan, tetapi harus memiliki ekstensi .sh
. Selanjutnya, pastikan untuk memberikan izin kepada skrip Anda agar dapat berjalan dengan mengetik chmod 755
, lalu nama skrip Anda di terminal, dan menekan enter. Setiap kali Anda memulai skrip bash baru, pastikan untuk menyelesaikan kedua langkah tersebut.
Tantangan Pengantar
Sekarang, mari kita coba menulis skrip yang membuat folder baru. Perintah apa yang kita ketahui dapat membuat folder baru? Jika Anda memikirkan kata yang dimulai dengan m
dan diakhiri dengan kdir
, Anda sudah berada di jalur yang tepat. Tulis perintah yang akan membuat folder baru Anda dan beri nama yang keren di file .sh
baru Anda, lalu jalankan di terminal Anda.
Jika berhasil, lanjutkan ke tantangan lainnya yang tercantum di bawah. Jika Anda masih sedikit bingung, coba lihat kembali lab keliling dunia Anda dan pikirkan cara Anda membuat folder negara dan kota baru.
Jangan ragu untuk menggunakan tutorial yang ditautkan di atas dan bersiaplah untuk menunjukkan kemampuan Googling terbaik Anda. Tulis dan jalankan skrip yang melakukan hal berikut:
Tugas Utama
- Tambahkan perintah ke file yang Anda buat di atas yang membuka folder yang Anda buat. (Perintah apa yang kita gunakan untuk mengubah direktori?)
- Beri stempel tanggal pada nama folder baru Anda. Misalnya, program Anda harus membuat folder bernama "
2017-12-07my_super_cool_folder
"
- Mencetak "Direktori saya saat ini adalah: " diikuti dengan direktori kerja Anda, dan "Berikut adalah daftar semua yang ada di direktori ini! " diikuti dengan isi direktori Anda saat ini.
- Cari tahu cara memberi skrip bash input, dan buat file berdasarkan string input tersebut. Tutorial yang ditautkan sebelumnya di lab memiliki beberapa contoh bagus di bagian variabel untuk diperiksa.
- Minta nama pengguna, lalu cetak "Hai, senang bertemu dengan Anda masukkan nama pengguna di sini"
- Coba minta info selengkapnya kepada pengguna dan buat pesan khusus untuknya.
KONTEKS
Command Line (atau Terminal) menyediakan interaksi langsung dengan Sistem Operasi (OS) komputer - semua yang dilakukan antarmuka pengguna grafis (GUI), tetapi melalui perintah teks - dari navigasi, hingga membuat file baru, hingga menjalankan skrip. Command line akan digunakan untuk membuka file, dan untuk memulai lingkungan pengembangan saat menggunakan Google App Engine.
Command Line Dalam Penerapannya
Mengakses Terminal
Pintasan Mac:
- Buka Spotlight dengan Command + spasi.
- Ketik Terminal di Spotlight Search.
Menavigasi Terminal
# See your current location - abbreviation for 'print working directory'.
pwd
# Change to a new location - abbreviation for 'change directory'.
cd /Users/jsmith/Downloads
# Navigate into a child directory called `some_directory`. This only works if
# `some_directory` is a child of the current directory.
cd some_directory
# Navigate into the parent of the current directory. `..` is shorthand for parent.
cd ..
# Return home.
cd
# Change directories to a folder called `my_folder` that is within the current
# directory.
cd my_folder ```
#### File Path Shorthand `~`
The `~` is generally short for "home". Home can be configured to mean different
things for different users and across different operating systems, but in the
example above, for a Mac user named "jsmith", the `~` is short for that user's
home directory: `/Users/jsmith`.
This means that `~/Downloads` and `/Users/jsmith/Downloads` are the same for
this user. But starting with a `~` allows us to specify absolute file paths
(agnostic of your current working directory, and starting at the root `/`)
without having to write out a full path each time.
### <a id="view"></a>Viewing the Contents of Folders
```bash
# See files and folders in current location - this is an abbreviation for 'list'.
ls
Membuat File & Folder
Membuat File
# Make a file - this will create a file in the current folder.
touch my_text_file.txt
# Make a file - this will create a file on the Desktop.
touch ~/Desktop/my_new_style_sheet.css
# Make multiple files - this will create multiple files in the current folder.
touch my_new_js_file.js my_new_html_file.html my_second_html_file.html
Membuat Folder
# Make a folder - this will create a directory in the current folder.
mkdir my_new_folder
# Make a folder - this will create a directory on your Desktop.
mkdir ~/Desktop/my_new_desktop_folder
# Make multiple folders - this will create multiple folders in the current
# directory.
mkdir folder_one folder_two folder_three
Memindahkan File & Folder
Memindahkan File
# Move a file - this will move the file `my_file.txt` into the folder named
# `my_folder` that is in the current folder.
mv my_file.txt my_folder
# Note that this will rename the file instead of moving it if the destination
# folder does not yet exist. Read below for more details on renaming.
# Move a file - this will move the file `my_file.txt` into the folder named
# `my_desktop_folder` that is located on the Desktop.
mv my_file.txt ~/Desktop/my_desktop_folder
Memindahkan Folder
# Move a directory - this will move the folder `my_child_folder` into the
# folder named `my_parent_folder` that is in the current folder.
mv my_child_folder my_parent_folder
# Move a directory - this will move the folder `my_folder` into the folder
# named `my_desktop_folder` that is located on the Desktop.
mv my_folder ~/Desktop/my_desktop_folder
Memindahkan berarti Mengganti Nama
Perlu diingat bahwa mv
juga merupakan perintah yang sama yang digunakan untuk mengganti nama file atau folder.
# Rename a file from `old_name.txt` to `new_name.txt`.
mv old_name.txt new_name.txt
Menyalin File & Folder
Menyalin File
# Copy a file named `my_file.txt` from your Desktop folder to your Documents
# folder.
cp ~/Desktop/my_file.txt ~/Documents
# Copy a file named `my_file.txt` to a file called `my_file_copy.txt` within
# the same folder.
cp my_file.txt my_file_copy.txt
Menyalin Folder
# Copy a directory named `my_folder` (and its contents) from your Desktop
# folder to a folder called `my_folder_copy` in your Documents folder.
cp -r ~/Desktop/my_folder ~/Documents/my_folder_copy
# Copy a directory named `my_folder` (and its contents) from the current
# working directory to a folder called `my_folder_copy` in the current working
# directory.
cp -r my_folder my_folder_copy
Menghapus File & Folder
Menghapus File
# Delete a file in the current working directory.
rm unwanted_file.txt
# Delete a file using its exact location and name.
rm ~/Desktop/unwanted_file.txt
Menghapus Folder
# Delete an empty folder.
rmdir empty_directory
# Delete a folder which contains other files or folders.
rm -r directory_which_isnt_empty
Tips & Trik
- Berlatih menggunakan command line, meskipun Anda merasa tidak perlu. Anda akan semakin mahir seiring waktu.
- Tombol
tab
akan melengkapi otomatis nama file atau folder Anda (dapat peka huruf besar/kecil). - Jika hanya ada satu file atau folder yang cocok, file atau folder tersebut akan otomatis dilengkapkan.
- Jika ada beberapa file atau folder yang cocok, tekan tab dua kali untuk melihat daftar kecocokan yang tersisa.
- Panah atas / bawah akan mengulang histori perintah Anda sehingga Anda tidak perlu mengetik ulang perintah.
- Gunakan perintah
clear
untuk menghapus jendela Terminal. Tindakan ini akan menyimpan semua pekerjaan Anda sebelumnya - scroll ke atas untuk melihatnya. - Gunakan
reset
untuk memulai ulang terminal. Tindakan ini tidak akan mempertahankan pekerjaan Anda sebelumnya di layar, tetapi dapat menyelesaikan beberapa masalah jika Terminal mulai berperilaku tidak terduga. - Tekan
option
+arrow
untuk memindahkan kursor per kata
Ringkasan Praktik Terbaik
- Buka Terminal menggunakan
cd
,cd ..
, ataucd <folder name>
. - Lihat konten folder menggunakan
ls
. - Buat file menggunakan
touch
; buat folder menggunakanmkdir
. - Memindahkan file dan folder menggunakan
mv <item to move> <destination>
. - Menyalin file dan folder menggunakan
cp <item to copy> <destination>
. - Menghapus file dan folder menggunakan
rm <item to remove>
.
Pertanyaan 1
Apa yang akan Anda gunakan untuk mengidentifikasi direktori kerja Anda saat ini?
pwd
ls
cd
mkdir
touch
Pertanyaan 2
Bagaimana cara berpindah dua tingkat dari direktori kerja Anda saat ini?
mv ~
cd ../..
mv up/up
cd ^(2)
Pertanyaan 3
Perintah mana yang akan Anda gunakan untuk mengganti nama file?
mv
cd
ls
python
rename
Pertanyaan 4
Mengapa perintah mv script.py
menampilkan error?
- Karena ‘
script.py
' adalah nama file yang tidak valid. - Karena perintah
mv
tidak dapat diikuti oleh informasi lain. - Ini adalah pertanyaan sulit; tidak akan menampilkan error.
- Karena memindahkan file memerlukan setidaknya dua argumen - target dan tujuan
Pertanyaan 5
Apa fungsi perintah cd ~
?
- Ubah direktori kerja Anda ke direktori utama Anda.
- Ulangi perintah sebelumnya.
- Menggunakan algoritma untuk menentukan perintah yang paling berguna saat ini.
- Menampilkan error.
Pertanyaan 6
Manakah dari berikut ini yang BUKAN merupakan alasan untuk menggunakan tab guna melengkapi otomatis nama file?
- Karena menghemat waktu.
- Karena fitur ini membantu menghilangkan kesalahan ejaan.
- Karena memerlukan daya pemrosesan yang lebih sedikit.
Pertanyaan 7
Jika developer baru mencoba membuat file bernama "my script.py
", mengapa perintah touch my script.py
tidak akan berfungsi?
- Karena
touch
tidak dapat membuat file baru. - Karena
.py
bukan ekstensi file yang valid. - Karena perintah ini akan membuat dua file, satu bernama "
my
" dan satu lagi bernama "script.py
", bukan hanya satu. - Karena tidak mungkin membuat file baru dari command line.
Pertanyaan 1
Apa yang akan Anda gunakan untuk mengidentifikasi direktori kerja Anda saat ini?
pwd
Pertanyaan 2
Bagaimana cara berpindah dua tingkat dari direktori kerja Anda saat ini?
Dengan cd ../..
, Anda akan naik dua level (setiap ..
mewakili satu level di atas).
Pertanyaan 3
Perintah mana yang akan Anda gunakan untuk mengganti nama file?
mv
digunakan untuk memindahkan file dari satu lokasi ke lokasi lain dan dapat digunakan untuk mengubah nama file juga.
Pertanyaan 4
Mengapa perintah mv script.py
menampilkan error?
Perintah mv
memerlukan dua argumen, file sumber dan file tujuan.
Pertanyaan 5
Apa fungsi perintah cd ~
?
Perintah ini akan mengubah direktori kerja Anda ke direktori utama Anda. Karakter khusus ~ digunakan untuk mengidentifikasi direktori beranda pengguna saat ini. Direktori ini juga dapat digunakan bersama dengan nama pengguna yang berbeda: ~user2 untuk mengarah ke folder beranda mereka.
Pertanyaan 6
Manakah dari berikut ini yang BUKAN merupakan alasan untuk menggunakan tab guna melengkapi otomatis nama file?
Karena memerlukan daya pemrosesan yang lebih sedikit adalah salah. tab
memerlukan daya pemrosesan dalam jumlah (sering kali tidak signifikan) untuk memindai folder guna mencari nama file yang akan dilengkapkan otomatis, tetapi hal ini menghemat waktu dan menghindari kesalahan ejaan dalam prosesnya.
Pertanyaan 7
Jika developer baru mencoba membuat file bernama "my script.py
", mengapa perintah touch my script.py
tidak akan berfungsi?
Tindakan ini akan membuat dua file, bukan hanya satu. Perintah touch
akan membuat file baru. Di terminal, spasi adalah pemisah, bukan karakter yang akan disertakan dalam nama file. Sebaiknya hindari penggunaan karakter ini sepenuhnya, tetapi jika Anda harus menggunakannya, nama file harus diapit dalam tanda kutip ganda:
touch "my script.py"
Pertanyaan 1
Perintah terminal untuk mengubah direktori adalah:
move
mkdir
pwd
cd
Pertanyaan 2
Perintah apa yang akan Anda jalankan jika ingin membuka folder induk dari direktori kerja Anda saat ini?
cd up
cd .
cd ..
cd ~
Pertanyaan 3
Perintah mana yang digunakan untuk membuat file?
touch
mkdir
create
pwd
Pertanyaan 4
Manakah dari perintah berikut yang akan membuat dua file bernama index.html
dan style.css
?
touch index.html, touch style.css
touch index.html, style.css
touch index.html style.css
touch index.html + style.css
Pertanyaan 5
Perintah mana yang Anda gunakan untuk mengganti nama file atau folder?
rename
move
mv
rm
Pertanyaan 6
Flag apa yang diperlukan perintah rm
dan cp
untuk berfungsi di folder?
-f
-r
-x
-d
Pertanyaan 7
Untuk memindahkan projects
ke ~/Documents
dan mengganti namanya menjadi Projects
, perintah mana yang harus dimasukkan ke dalam kolom kosong?
cd ~
mv projects ~/Documents
# fill in the blank here
mv projects Projects
pwd
cd projects
mv ~ projects
cd ~/Documents
ls
Pertanyaan 8
Apa yang akan dilakukan perintah berikut?
rm -r projects
- Hapus file bernama
projects
- Menghapus folder bernama
projects
- Ganti nama file yang bernama
projects
- Telusuri konten direktori saat ini untuk
projects
Pertanyaan 1
Perintah terminal untuk mengubah direktori adalah:
Perintah terminal untuk mengubah direktori adalah cd
. Perintah itu sendiri adalah singkatan dari "change directory" (ubah direktori).
Pertanyaan 2
Perintah apa yang akan Anda jalankan jika ingin membuka folder induk dari direktori kerja Anda saat ini?
Perintah untuk membuka folder induk adalah cd ..
Pertanyaan 3
Perintah mana yang digunakan untuk membuat file?
Perintah untuk membuat file adalah touch
Pertanyaan 4
Manakah dari perintah berikut yang akan membuat dua file bernama index.html
dan style.css
?
Perintah touch index.html style.css
akan membuat dua file. Koma tidak diperlukan dan sejumlah file dapat dibuat dengan cara ini, dipisahkan oleh spasi.
Pertanyaan 5
Perintah mana yang Anda gunakan untuk mengganti nama file atau folder?
Meskipun merupakan singkatan dari "move" (pindahkan) dan dapat digunakan untuk memindahkan file atau folder, mv
juga dapat digunakan untuk mengganti nama file dan folder.
Pertanyaan 6
Flag apa yang diperlukan perintah rm
dan cp
untuk berfungsi di folder?
Perintah rm
dan cp
memerlukan flag -r
agar berfungsi pada folder, karena flag -r
berarti "rekursif" dan menjalankan kembali perintah untuk file dan folder apa pun yang ada di dalamnya.
Pertanyaan 7
Untuk memindahkan projects
ke ~/Documents
dan mengganti namanya menjadi Projects
, perintah mana yang harus dimasukkan ke dalam kolom kosong?
cd ~
mv projects ~/Documents
# fill in the blank here
mv projects Projects
Karena kita mulai di direktori beranda, kita perlu menjalankan cd ~/Documents
untuk menjalankan perintah akhir di direktori yang benar.
Pertanyaan 8
Apa yang akan dilakukan perintah berikut?
rm -r projects
Perintah akan menghapus file ATAU folder yang bernama projects
karena dipanggil dengan -r
, atau flag rekursif. Tanpa tanda tersebut, perintah ini hanya akan berfungsi untuk menghapus file dengan nama tersebut.