[dibookmark] Bash untuk pemula: 21 perintah berguna

Materi terjemahan yang kami terbitkan hari ini ditujukan bagi Anda yang ingin menguasai command line Linux. Kemampuan menggunakan alat ini secara efektif dapat menghemat banyak waktu. Secara khusus, kita akan berbicara tentang Bash shell dan 21 perintah berguna di sini. Kami juga akan membahas cara menggunakan flag perintah dan alias Bash untuk mempercepat pengetikan instruksi yang panjang.

[dibookmark] Bash untuk pemula: 21 perintah berguna

β†’ Baca juga di blog kami serangkaian publikasi tentang skrip bash

hal

Saat Anda belajar bekerja dengan baris perintah Linux, Anda akan menemukan banyak konsep yang berguna untuk dinavigasi. Beberapa di antaranya, seperti "Linux" dan "Unix", atau "shell" dan "terminal", terkadang membingungkan. Mari kita bahas hal ini dan istilah penting lainnya.

Unix adalah sistem operasi populer yang dikembangkan oleh Bell Labs pada tahun 1970an. Kodenya ditutup.

Linux adalah sistem operasi mirip Unix yang paling populer. Sekarang digunakan di banyak perangkat, termasuk komputer.

Terminal (terminal), atau terminal emulator adalah program yang memberikan akses ke sistem operasi. Anda dapat membuka beberapa jendela terminal secara bersamaan.

Shell (shell) adalah program yang memungkinkan Anda mengirimkan perintah yang ditulis dalam bahasa khusus ke sistem operasi.

Menampar singkatan dari Bourne Again Shell. Ini adalah bahasa shell yang paling umum digunakan untuk berinteraksi dengan sistem operasi. Selain itu, shell Bash adalah default di macOS.

Antarmuka baris perintah (Command Line Interface, CLI) adalah metode interaksi antara seseorang dan komputer, yang dengannya pengguna memasukkan perintah dari keyboard, dan komputer, menjalankan perintah ini, menampilkan pesan dalam bentuk teks untuk pengguna. Kegunaan utama CLI adalah untuk mendapatkan informasi terkini tentang entitas tertentu, seperti file, dan untuk bekerja dengan file. Antarmuka baris perintah harus dibedakan dari antarmuka pengguna grafis (GUI), yang terutama menggunakan mouse. Antarmuka baris perintah sering disebut hanya sebagai baris perintah.

Skrip (skrip) adalah program kecil yang berisi urutan perintah shell. Skrip ditulis ke file dan dapat digunakan berulang kali. Saat menulis skrip, Anda dapat menggunakan variabel, kondisional, loop, fungsi, dan fitur lainnya.

Sekarang kita telah membahas istilah-istilah penting, saya ingin menunjukkan bahwa saya akan menggunakan istilah "Bash", "shell" dan "command line" secara bergantian di sini, serta istilah "direktori" dan "folder".

Standar sungai, yang akan kita gunakan disini adalah input standar (standard input, stdin), keluaran standar (keluaran standar, stdout) dan keluaran kesalahan standar (kesalahan standar, stderr).

Jika pada contoh perintah yang akan diberikan di bawah ini, Anda akan menemukan sesuatu seperti my_whatever - ini berarti fragmen ini perlu diganti dengan milik Anda. Misalnya saja nama file.

Sekarang, sebelum melanjutkan dengan analisis perintah-perintah yang dikhususkan untuk materi ini, mari kita lihat daftar dan deskripsi singkatnya.

21 Perintah pesta

▍Mendapatkan informasi

  • man: Menampilkan panduan pengguna (bantuan) untuk perintah tersebut.
  • pwd: menampilkan informasi tentang direktori kerja.
  • ls: menampilkan isi direktori.
  • ps: Memungkinkan Anda melihat informasi tentang proses yang sedang berjalan.

▍ Manipulasi sistem file

  • cd: mengubah direktori kerja.
  • touch: membuat file.
  • mkdir: membuat direktori.
  • cp: Menyalin file.
  • mv: Memindahkan atau menghapus file.
  • ln: membuat tautan.

▍ Pengalihan I/O dan saluran pipa

  • <: mengalihkan stdin.
  • >: mengalihkan stdout.
  • |: menyalurkan keluaran dari satu perintah ke masukan dari perintah lain.

▍Membaca file

  • head: membaca awal file.
  • tail: membaca akhir file.
  • cat: Membaca file dan mencetak isinya ke layar, atau menggabungkan file.

▍Menghapus file, menghentikan proses

  • rm: Menghapus file.
  • kill: menghentikan prosesnya.

▍Cari

  • grep: mencari informasi.
  • ag: perintah lanjutan untuk pencarian.

▍ Pengarsipan

  • tar: membuat arsip dan mengerjakannya.

Mari kita bahas perintah ini lebih detail.

Detail Tim

Untuk memulainya, mari kita bahas perintah-perintahnya, yang hasilnya ditampilkan dalam bentuk stdout. Biasanya hasil ini muncul di jendela terminal.

▍Mendapatkan informasi

man command_name: menampilkan panduan perintah, yaitu informasi bantuan.

pwd: menampilkan jalur ke direktori kerja saat ini. Saat bekerja dengan baris perintah, pengguna sering kali perlu mencari tahu di mana tepatnya dia berada di sistem.

ls: menampilkan isi direktori. Perintah ini juga cukup sering digunakan.

ls -a: menampilkan file tersembunyi. bendera diterapkan di sini -a tim ls. Penggunaan flag membantu menyesuaikan perilaku perintah.

ls -l: Menampilkan informasi detail tentang file.

Perhatikan bahwa bendera dapat digabungkan. Misalnya - seperti ini: ls -al.

ps: Melihat proses yang sedang berjalan.

ps -e: Menampilkan informasi tentang semua proses yang berjalan, bukan hanya proses yang terkait dengan shell pengguna saat ini. Perintah ini sering digunakan dalam formulir ini.

▍ Manipulasi sistem file

cd my_directory: mengubah direktori kerja menjadi my_directory. Untuk naik satu tingkat di pohon direktori, gunakan my_directory Jalur relatif ../.

[dibookmark] Bash untuk pemula: 21 perintah berguna
perintah cd

touch my_file: pembuatan file my_file sepanjang jalan yang diberikan.

mkdir my_directory: membuat folder my_directory sepanjang jalan yang diberikan.

mv my_file target_directory: memindahkan berkas my_file ke folder target_directory. Saat menentukan direktori target, Anda perlu menggunakan jalur absolut ke sana (dan bukan konstruksi seperti itu ../).

Tim mvjuga dapat digunakan untuk mengganti nama file atau folder. Misalnya, mungkin terlihat seperti ini:

mv my_old_file_name.jpg my_new_file_name.jpg
cp my_source_file target_directory
: membuat salinan file my_source_file dan memasukkannya ke dalam folder target_directory.

ln -s my_source_file my_target_file: membuat tautan simbolis my_target_file per berkas my_source_file. Jika Anda mengubah link, file aslinya juga akan berubah.

Jika file my_source_file akan dihapus, kalau begitu my_target_file akan bertahan. Bendera -s tim ln memungkinkan Anda membuat tautan untuk direktori.

Sekarang mari kita bicara tentang pengalihan I/O dan saluran pipa.

▍ Pengalihan I/O dan saluran pipa

my_command < my_file: menggantikan deskriptor file input standar (stdin) per berkas my_file. Ini berguna jika perintah sedang menunggu masukan dari keyboard, dan data ini sudah disimpan dalam file.

my_command > my_file: mengalihkan hasil perintah, yaitu apa yang biasanya masuk stdout dan output ke layar, ke file my_file. Jika file my_file tidak ada - itu diciptakan. Jika file tersebut ada, maka file tersebut akan ditimpa.

Misalnya setelah menjalankan perintah ls > my_folder_contents.txt file teks akan dibuat berisi daftar apa yang ada di direktori kerja saat ini.

Jika bukan simbol > menggunakan konstruksi tersebut >>, kemudian, asalkan file yang menjadi tujuan pengalihan output perintah ada, file ini tidak akan ditimpa. Data akan ditambahkan ke akhir file ini.

Sekarang mari kita lihat pemrosesan saluran data.

[dibookmark] Bash untuk pemula: 21 perintah berguna
Output dari satu perintah dimasukkan ke dalam input perintah lain. Ini seperti menghubungkan satu pipa ke pipa lainnya

first_command | second_command: simbol konveyor, |, digunakan untuk mengirim output dari satu perintah ke perintah lain. Ke mana perintah di sisi kiri struktur yang dijelaskan dikirimkan stdout, Jatuh ke dalam stdin perintah di sebelah kanan simbol pipa.

Di Linux, data dapat disalurkan menggunakan hampir semua perintah yang dibuat dengan baik. Sering dikatakan bahwa segala sesuatu di Linux adalah sebuah pipeline.

Anda dapat merangkai beberapa perintah menggunakan simbol alur. Ini terlihat seperti ini:

first_command | second_command | third_command

[dibookmark] Bash untuk pemula: 21 perintah berguna
Sebuah pipeline yang terdiri dari beberapa perintah dapat dibandingkan dengan sebuah pipeline

Perhatikan bahwa ketika perintah di sebelah kiri simbol |, menghasilkan sesuatu stdout, apa yang dia keluarkan segera tersedia sebagai stdin tim kedua. Artinya, ternyata, dengan menggunakan pipeline, kita berurusan dengan eksekusi perintah secara paralel. Terkadang hal ini dapat menimbulkan hasil yang tidak terduga. Detail mengenai hal ini dapat dibaca di sini.

Sekarang mari kita bicara tentang membaca data dari file dan menampilkannya di layar.

▍Membaca file

head my_file: membaca baris dari awal file dan mencetaknya ke layar. Anda tidak hanya dapat membaca isi file, tetapi juga output perintahnya stdinmenggunakan perintah ini sebagai bagian dari pipeline.

tail my_file: membaca baris dari akhir file. Perintah ini juga dapat digunakan dalam pipeline.

[dibookmark] Bash untuk pemula: 21 perintah berguna
Kepala (head) berada di depan, dan ekor (tail) berada di belakang

Jika Anda bekerja dengan data menggunakan perpustakaan pandas, maka perintahnya head ΠΈ tail seharusnya tidak asing lagi bagi Anda. Jika tidak, lihatlah gambar di atas, dan Anda akan mudah mengingatnya.

Pertimbangkan cara lain untuk membaca file, mari kita bicara tentang perintahnya cat.

Tim cat baik mencetak konten file ke layar, atau menggabungkan beberapa file. Itu tergantung pada berapa banyak file yang diteruskan ke perintah ini saat dipanggil.

[dibookmark] Bash untuk pemula: 21 perintah berguna
perintah kucing

cat my_one_file.txt: ketika satu file diteruskan ke perintah ini, ia akan mengeluarkannya ke stdout.

Jika Anda memberikannya dua file atau lebih, maka perilakunya akan berbeda.

cat my_file1.txt my_file2.txt: setelah menerima beberapa file sebagai masukan, perintah ini menggabungkan isinya dan menampilkan apa yang terjadi di dalamnya stdout.

Jika hasil penggabungan file perlu disimpan sebagai file baru, Anda dapat menggunakan operator >:

cat my_file1.txt my_file2.txt > my_new_file.txt

Sekarang mari kita bicara tentang cara menghapus file dan menghentikan proses.

▍Menghapus file, menghentikan proses

rm my_file: menghapus berkas my_file.

rm -r my_folder: menghapus folder my_folder dan semua file dan folder di dalamnya. Bendera -r menunjukkan bahwa perintah akan dijalankan dalam mode rekursif.

Untuk mencegah sistem meminta konfirmasi setiap kali file atau folder dihapus, gunakan flag -f.

kill 012345: Menghentikan proses berjalan yang ditentukan, memberikan waktu untuk mematikannya dengan baik.

kill -9 012345: Secara paksa menghentikan proses berjalan yang ditentukan. Lihat bendera -s SIGKILL artinya sama dengan bendera -9.

▍Cari

Anda dapat menggunakan perintah berbeda untuk mencari data. Secara khusus - grep, ag ΠΈ ack. Mari kita mulai berkenalan dengan perintah-perintah ini dengan grep. Ini adalah perintah yang telah teruji waktu dan dapat diandalkan, namun lebih lambat dibandingkan yang lain dan tidak senyaman penggunaannya.

[dibookmark] Bash untuk pemula: 21 perintah berguna
perintah grep

grep my_regex my_file: pencarian my_regex Π² my_file. Jika kecocokan ditemukan, seluruh string dikembalikan, untuk setiap kecocokan. Bawaan my_regex diperlakukan sebagai ekspresi reguler.

grep -i my_regex my_file: Pencarian dilakukan dengan cara yang tidak peka huruf besar-kecil.

grep -v my_regex my_file: mengembalikan semua baris yang tidak berisi my_regex. Bendera -v artinya inversi, menyerupai operator NOT, ditemukan di banyak bahasa pemrograman.

grep -c my_regex my_file: Mengembalikan informasi tentang jumlah kecocokan yang ditemukan dalam file untuk pola pencarian.

grep -R my_regex my_folder: melakukan pencarian rekursif di semua file yang terletak di folder tertentu dan di folder yang bersarang di dalamnya.

Sekarang mari kita bicara tentang tim ag. Dia datang kemudian grep, lebih cepat, lebih nyaman untuk bekerja dengannya.

[dibookmark] Bash untuk pemula: 21 perintah berguna
perintah ag

ag my_regex my_file: mengembalikan informasi tentang nomor baris, dan baris itu sendiri, yang kecocokannya ditemukan my_regex.

ag -i my_regex my_file: Pencarian dilakukan dengan cara yang tidak peka huruf besar-kecil.

Tim ag memproses file secara otomatis .gitignore dan mengecualikan dari output apa yang ditemukan di folder atau file yang tercantum dalam file itu. Sangat nyaman.

ag my_regex my_file -- skip-vcs-ignores: isi file kontrol versi otomatis (seperti .gitignore) tidak diperhitungkan dalam pencarian.

Selain itu, untuk memberitahu tim ag di jalur file mana yang ingin Anda kecualikan dari pencarian, Anda dapat membuat file .agignore.

Di awal bagian ini, kami menyebutkan perintah ack. Tim ack ΠΈ ag sangat mirip, kita dapat mengatakan bahwa keduanya 99% dapat dipertukarkan. Namun, tim ag bekerja lebih cepat, itu sebabnya saya menjelaskannya.

Sekarang mari kita bicara tentang bekerja dengan arsip.

▍ Pengarsipan

tar my_source_directory: menggabungkan file dari folder my_source_directory menjadi satu file tarball. File seperti itu berguna untuk mentransfer kumpulan file besar ke seseorang.

[dibookmark] Bash untuk pemula: 21 perintah berguna
perintah tar

File tarball yang dihasilkan oleh perintah ini adalah file dengan ekstensi .tar (Arsip Pita). Fakta bahwa kata "tape" (tape) disembunyikan dalam nama perintah dan dalam ekstensi nama file yang dibuatnya menunjukkan berapa lama perintah ini telah ada.

tar -cf my_file.tar my_source_directory: membuat file tarball bernama my_file.tar dengan isi folder my_source_directory. Bendera -c singkatan dari "create" (penciptaan), dan bendera -f sebagai "berkas" (berkas).

Untuk mengekstrak file dari .tar-file, gunakan perintah tar dengan bendera -x ("ekstrak", ekstraksi) dan -f ("berkas", berkas).

tar -xf my_file.tar: mengekstrak file dari my_file.tar ke direktori kerja saat ini.

Sekarang mari kita bicara tentang cara mengompres dan mendekompresi .tar-file.

tar -cfz my_file.tar.gz my_source_directory: di sini menggunakan bendera -z ("zip", algoritma kompresi) menunjukkan bahwa algoritma tersebut harus digunakan untuk mengompresi file gzip (GNUzip). Kompresi file menghemat ruang disk saat menyimpan file tersebut. Jika file direncanakan, misalnya, untuk ditransfer ke pengguna lain, ini berkontribusi pada pengunduhan file tersebut lebih cepat.

Buka zip file .tar.gz Anda dapat menambahkan bendera -z ke perintah ekstrak konten .tar-files, yang kita bahas di atas. Ini terlihat seperti ini:

tar -xfz my_file.tar.gz
Perlu dicatat bahwa tim tar Masih banyak lagi bendera yang berguna.

Alias ​​pesta

Alias ​​bash (juga disebut alias atau singkatan) dirancang untuk membuat nama perintah yang disingkat atau urutannya, yang penggunaannya sebagai ganti perintah biasa akan mempercepat pekerjaan. Jika Anda memiliki alias bu, yang menyembunyikan perintah python setup.py sdist bdist_wheel, lalu untuk memanggil perintah ini cukup menggunakan alias ini.

Untuk membuat alias seperti itu, cukup tambahkan perintah berikut ke file ~/.bash_profile:

alias bu="python setup.py sdist bdist_wheel"

Jika sistem Anda tidak memiliki file tersebut ~/.bash_profile, lalu Anda dapat membuatnya sendiri menggunakan perintah touch. Setelah membuat alias, restart terminal, setelah itu Anda bisa menggunakan alias ini. Dalam hal ini, memasukkan dua karakter menggantikan masukan lebih dari tiga lusin karakter dari perintah yang dimaksudkan majelis Paket python.

Π’ ~/.bash_profile Anda dapat menambahkan alias untuk perintah apa pun yang sering digunakan.

▍Hasil

Dalam posting ini, kami telah membahas 21 perintah Bash yang populer dan berbicara tentang membuat alias perintah. Jika Anda tertarik dengan topik ini - di sini serangkaian publikasi yang didedikasikan untuk Bash. Di sini Anda dapat menemukan versi pdf dari publikasi ini. Selain itu, jika Anda ingin mempelajari Bash, ingatlah bahwa, seperti halnya sistem pemrograman lainnya, latihan adalah kuncinya.

Pembaca yang terhormat Perintah apa yang berguna untuk pemula yang ingin Anda tambahkan ke perintah yang telah dibahas di artikel ini?

β†’ Baca juga di blog kami serangkaian publikasi tentang skrip bash

[dibookmark] Bash untuk pemula: 21 perintah berguna

Sumber: www.habr.com

Tambah komentar