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.
β
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.
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 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
<
: mengalihkanstdin
.>
: mengalihkanstdout
.|
: 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 ../
.
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 mv
juga dapat digunakan untuk mengganti nama file atau folder. Misalnya, mungkin terlihat seperti ini:
mv my_old_file_name.jpg my_new_file_name.jpg
: membuat salinan file
cp my_source_file target_directorymy_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.
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
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
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 stdin
menggunakan perintah ini sebagai bagian dari pipeline.
tail my_file
: membaca baris dari akhir file. Perintah ini juga dapat digunakan dalam pipeline.
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.
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.
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.
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.
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
Π ~/.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 -
Pembaca yang terhormat Perintah apa yang berguna untuk pemula yang ingin Anda tambahkan ke perintah yang telah dibahas di artikel ini?
β
Sumber: www.habr.com