Materi Siswa Command Line

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 dasar
  • ls -a Mencantumkan semua file, termasuk file yang biasanya tersembunyi
  • ls -l Daftar panjang, menampilkan informasi tentang setiap file
  • ls -R Rekursif, mencantumkan isi direktori
  • ls -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.

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:

  1. Direktori yang ingin Anda buka tidak dapat diakses dari direktori kerja Anda saat ini.
  2. Ada dua direktori yang memiliki nama awal yang mirip (seperti Documents dan Downloads) dan Anda belum memberikan informasi yang cukup agar pelengkapan otomatis mengetahui direktori mana yang Anda inginkan. Tekan tab lagi untuk melihat daftar direktori yang mungkin cocok dengan yang Anda ketik. Kemudian, ketik sedikit lagi (cukup hingga hanya ada satu kecocokan) dan tekan tab lagi.
  3. 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:

  1. Kita menggunakan perintah mv - singkatan dari move.
  2. Ikuti perintah pemindahan dengan nama file atau folder yang ingin Anda pindahkan.
  3. 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

  1. Buat 5 file teks (.txt).
  2. Membuat direktori baru.
  3. Pindahkan 5 file yang Anda buat ke dalam folder.
  4. 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:

  1. Perintah cp - singkatan dari copy
  2. Nama file yang akan disalin
  3. 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.

  1. Perintah cp -R - singkatan dari copy recursive - gunakan perintah ini untuk folder kosong dan tidak kosong
  2. Nama sumber (folder atau file yang ingin kita pindahkan)
  3. 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

  1. Buat file bernama my_original.txt
  2. Buat salinan my_original.txt dengan nama baru di folder yang sama.
  3. Membuat direktori baru.
  4. Buat salinan direktori tersebut, tetapi beri nama yang berbeda.
  5. 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

  1. Buat 4 file.
  2. Hapus 2 file.
  3. Buat folder.
  4. Buat folder lain dan buat file di dalam folder ini.
  5. 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

  1. Campur semua file Anda lagi, lalu masuk ke kota pilihan Anda. Atur ulang file, sambil tetap berada di kota tersebut.
  2. Coba salah satu game command line seru yang ditautkan di bawah
    Terminus Game
    Advanced Game (siap untuk mencari di Google)
  3. Penggemar berat Star Wars? Coba jalankan telnet towel.blinkenlights.nl di command line Anda, lalu tekan enter.... (Perhatikan bahwa di MacOS versi terbaru, perintah telnet tidak lagi diinstal secara default; dalam hal ini, perintah nc 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.

perayaan

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

  1. 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"
  1. 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.
  2. 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.
  3. 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.
# 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 .., atau cd <folder name>.
  • Lihat konten folder menggunakan ls.
  • Buat file menggunakan touch; buat folder menggunakan mkdir.
  • 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?

  1. pwd
  2. ls
  3. cd
  4. mkdir
  5. touch

Pertanyaan 2

Bagaimana cara berpindah dua tingkat dari direktori kerja Anda saat ini?

  1. mv ~
  2. cd ../..
  3. mv up/up
  4. cd ^(2)

Pertanyaan 3

Perintah mana yang akan Anda gunakan untuk mengganti nama file?

  1. mv
  2. cd
  3. ls
  4. python
  5. rename

Pertanyaan 4

Mengapa perintah mv script.py menampilkan error?

  1. Karena ‘script.py' adalah nama file yang tidak valid.
  2. Karena perintah mv tidak dapat diikuti oleh informasi lain.
  3. Ini adalah pertanyaan sulit; tidak akan menampilkan error.
  4. Karena memindahkan file memerlukan setidaknya dua argumen - target dan tujuan

Pertanyaan 5

Apa fungsi perintah cd ~?

  1. Ubah direktori kerja Anda ke direktori utama Anda.
  2. Ulangi perintah sebelumnya.
  3. Menggunakan algoritma untuk menentukan perintah yang paling berguna saat ini.
  4. Menampilkan error.

Pertanyaan 6

Manakah dari berikut ini yang BUKAN merupakan alasan untuk menggunakan tab guna melengkapi otomatis nama file?

  1. Karena menghemat waktu.
  2. Karena fitur ini membantu menghilangkan kesalahan ejaan.
  3. 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?

  1. Karena touch tidak dapat membuat file baru.
  2. Karena .py bukan ekstensi file yang valid.
  3. Karena perintah ini akan membuat dua file, satu bernama "my" dan satu lagi bernama "script.py", bukan hanya satu.
  4. 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:

  1. move
  2. mkdir
  3. pwd
  4. cd

Pertanyaan 2

Perintah apa yang akan Anda jalankan jika ingin membuka folder induk dari direktori kerja Anda saat ini?

  1. cd up
  2. cd .
  3. cd ..
  4. cd ~

Pertanyaan 3

Perintah mana yang digunakan untuk membuat file?

  1. touch
  2. mkdir
  3. create
  4. pwd

Pertanyaan 4

Manakah dari perintah berikut yang akan membuat dua file bernama index.html dan style.css?

  1. touch index.html, touch style.css
  2. touch index.html, style.css
  3. touch index.html style.css
  4. touch index.html + style.css

Pertanyaan 5

Perintah mana yang Anda gunakan untuk mengganti nama file atau folder?

  1. rename
  2. move
  3. mv
  4. rm

Pertanyaan 6

Flag apa yang diperlukan perintah rm dan cp untuk berfungsi di folder?

  1. -f
  2. -r
  3. -x
  4. -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
  1. pwd
  2. cd projects
  3. mv ~ projects
  4. cd ~/Documents
  5. ls

Pertanyaan 8

Apa yang akan dilakukan perintah berikut?

rm -r projects

  1. Hapus file bernama projects
  2. Menghapus folder bernama projects
  3. Ganti nama file yang bernama projects
  4. 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.