Ketahui asas -asas shell ZSH

Ketahui asas -asas shell ZSH

Objektif

Pasang ZSH dengan oh zsh saya dan pelajari ciri -ciri asas.

Pengagihan

ZSH boleh didapati di repositori hampir setiap pengedaran.

Keperluan

Pemasangan Linux Kerja dengan Keistimewaan Root.

Kesukaran

Mudah

Konvensyen

  • # - Memerlukan arahan Linux yang diberikan untuk dilaksanakan dengan keistimewaan akar sama ada secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah
  • $ - Memerlukan arahan Linux yang diberikan sebagai pengguna yang tidak layak

Pengenalan

Bash tidak buruk. Ia mendapat pekerjaan yang dilakukan dengan baik, tetapi adakah anda pernah mempertimbangkan bagaimana ia akan menjadi seperti jika Bash mempunyai beberapa ciri tambahan untuk menjadikannya lebih mudah untuk bekerjasama? Itu lebih atau kurang apa zsh.

Ia merangkumi semua ciri yang anda harapkan dari Bash, tetapi ia juga mempunyai beberapa tambahan yang sangat baik untuk menjadikan hidup anda lebih mudah. Sebenarnya, anda akan kagum betapa mudahnya mereka bekerja di baris arahan.

Pasang ZSH

Pertama, anda perlu memasang ZSH. Ia sangat popular, jadi anda tidak mempunyai masalah mencarinya di repositori pengedaran anda.

Ubuntu/Debian

$ sudo apt pasang zsh

Fedora

# dnf -y pasang zsh

Centos

# yum -y pasang zsh

Opensuse

# zyper di zsh

Arch Linux

# pacman -s zsh

Gentoo

# muncul -ZSH ZSH

Anda mungkin mendapat idea. Mungkin menggunakan ZSH dengan hanya menaipnya sebagai arahan di bash. Terminal tertentu akan beralih ke ZSH buat sementara waktu. Lebih baik hanya beralih secara kekal. Ia tidak akan membebankan anda apa -apa, dan anda boleh melakukan semua yang anda biasanya akan melakukan dengan cara yang sama. Plus, anda boleh menukar semula dengan cara yang sama, jika anda benar -benar mahukan.

$ chsh -s /bin /zsh

Anda mungkin mahu melog masuk semula atau menutup semua terminal anda untuk perubahan yang akan berkuatkuasa.



Pasang oh-my-zsh

Sekarang anda memasang ZSH dan didayakan sebagai shell lalai anda, itu adalah * idea yang sangat baik untuk mengambil tambahan untuk ZSH, yang dipanggil oh-my-zsh. Ini adalah satu kumpulan tema dan plugin yang meningkatkan fungsi sedia ada ZSH. Yang tidak akan melambatkannya atau menghalangnya, jadi ambil dan pasangkannya.

$ sh -c "$ (curl -fssl https: // mentah.Githubusercontent.com/robbyrussell/oh-my-zsh/induk/alat/pemasangan.sh) "

Sekiranya anda ingin membaca lebih lanjut mengenainya sebelum memasang, lihat projek tersebut https: // github.com/robbyrussell/oh-my-zsh.

Fail konfigurasi

Sama seperti Bash .Bashrc, ZSH mempunyai .ZSHRC. Ini adalah fail tunggal yang mengandungi pilihan konfigurasi untuk shell, dan anda boleh menggunakannya untuk menetapkan alias dan menyesuaikan tingkah laku runtime. Sehingga sekarang, anda sebenarnya mempunyai satu set mungkir yang bagus terima kasih kepada oh-my-zsh, yang menyediakan fail semasa pemasangannya.

Tema

ZSH menyokong mereka. Ia dilengkapi dengan beberapa tema terbina dalam, tetapi mereka tidak berada di tempat yang hampir sama dengan yang datang dengan oh-my-zsh. Anda boleh melihat apa yang mereka kelihatan seperti di https: // github.com/robbyrussell/oh-my-zsh/wiki/tema Oh-my-zsh wiki.

Untuk menukar tema anda, buka .ZSHRC dan cari garis di bawah. Tukar nama tema ke mana sahaja yang anda mahu cuba.

ZSH_THEME = "Robbyrussell"

Plugin

Oh-my-zsh juga membawa gunung plugin. Ia akan mengambil masa terlalu lama untuk menutup semuanya di sini, jadi lihat https: // github.com/robbyrussell/oh-my-zsh/wiki/plugin Oh-my-zsh wiki untuk keseluruhan senarai. Tidak kira yang lain yang anda pilih, membolehkan ekstrak dan z adalah idea yang baik. Sekali lagi, plugin anda ditetapkan dengan garis di .ZSHRC.

plugin = (git ekstrak z)

Penyelesaian Tab

Bash memang mempunyai penyempurnaan tab, tetapi paling lemah. ZSH mengambil penyelesaian tab ke tahap yang baru. Cuba menaip ls diikuti dengan nama direktori. Selepas nama, tekan tab dua kali berturut -turut. ZSH akan memaparkan fail dan folder secara automatik dalam direktori yang anda namakan. Anda boleh menavigasi direktori tersebut menggunakan kekunci anak panah. Tekan masukkan pada yang anda mahu lihat, dan jalankan arahan.

Perkara yang sama juga berfungsi dengan arahan lain. Cubalah dengan CD.

Bukan hanya direktori yang dapat diselesaikan oleh ZSH dengan tab. Ia juga berfungsi dengan arahan. Cuba menaip mk dan menekan tab dua kali. Anda akan mendapat jenis menu yang sama dengan arahan yang berbeza yang bermula dengan mk.

Direktori Shorthand

Adakah anda benci menaip laluan direktori panjang? ZSH mempunyai penyelesaian untuk itu juga. Ia menyokong versi tersendiri yang membolehkan anda menaip hanya beberapa huruf pertama setiap direktori di jalan. Ia akan memadankan mereka ke jalan penuh sebaik mungkin. Sekiranya ia mendapat banyak hasil, ia akan memaparkannya untuk anda pilih.

Cuba masukkan $ ls/u/sh/ico ke tab terminal dan menekan. ZSH akan mengembangkannya ke jalan penuh ke direktori ikon bersama.

Alias

Ini adalah ciri oh-my-zsh, bukan shell itu sendiri, tetapi ia masih sangat mudah. Oh-my-zsh dilengkapi dengan timbunan alias yang sangat baik untuk segala bentuk menavigasi direktori ke program biasa seperti Git dan Systemd. Sekali lagi, terdapat lebih banyak masa untuk pergi ke sini, tetapi inilah beberapa lampu suluh.

cd ... /... = ... cd ... /... /... = ... mkdir -p = md rmdir = rd git add = ga git add --all = gaa git cawangan = gb git commit -m = gcmsg git checkout = gco git pull origin CurrentBranch = ggpull git push asal currentbranch = ggpush Systemctl start = sc-start Systemctl stop = sc-stop Systemctl status = sc-status Systemctl enable = sc-enable 

Sekiranya anda ingin menyemak keseluruhan senarai, sekali lagi https: // github.com/robbyrussell/oh-my-zsh/wiki/cheatsheet Wiki adalah pertaruhan terbaik anda.



Z

Z sebenarnya bukan sebahagian daripada ZSH atau OH-MY-ZSH, ia hanya didayakan sebagai plugin oleh yang terakhir. Walaupun masih, ia mudah sesuai dengan gaya penggunaan yang sama yang membolehkan ZSH. Z adalah skrip yang menjejaki direktori yang kerap digunakan dan baru -baru ini, jadi anda boleh mengaksesnya dengan satu kerja atau gabungan watak.

Contohnya, jika anda mempunyai folder di /rumah/pengguna/gambar/fotografi/kanon/2017/gambar, Dan anda menggunakannya sepanjang masa, anda boleh menggunakan Z untuk memendekkannya secara drastik. Dengan Z Anda akan menggunakan arahan Linux berikut untuk memasukkan direktori itu.

$ z pics

Ya, itu sangat mudah.

Membunuh Proses Carian

Boleh menjadi kesakitan untuk membunuh proses yang tidak bertindak balas. Pertama, anda perlu menggunakan ps Untuk mencari proses yang menyinggung perasaan. Kemudian, anda perlu menggunakan bunuh dan nombor proses yang dipilih. ZSH menyelaraskan proses itu. Taipkan bunuh diikuti dengan nama, atau sebahagian daripada nama, proses atau program yang ingin anda bunuh. Kemudian, gunakan tab untuk memberitahu ZSH untuk mengetahui ID Proses.

Gunakan yang ini dengan tahap berhati -hati. Katakan anda mahu membunuh Firefox yang tidak bertindak balas, tetapi anda mempunyai Firaja yang berjalan dengan program lain. Menaip membunuh api mungkin tidak membawa anda apa yang anda cari, menaip Bunuh Firefox mungkin akan. Ia juga bukan idea yang baik untuk bermain -main dengan yang ini sebagai akar. Anda sebenarnya tidak mahu memasukkan sesuatu seperti Bunuh Sys dan menurunkan pid 1.

Perintah sejarah khusus

Kadang -kadang melihat kembali melalui sejarah arahan anda adalah kesakitan gergasi. Anda memerlukan arahan yang anda tulis 20 baris yang lalu kerana anda tidak sepenuhnya yakin apa yang anda gunakan, dan tidak dapat menemuinya walaupun semua alasan. Nah, ZSH menyokong sejarah khusus arahan. Jadi, jika anda tahu bahawa arahan yang anda gunakan adalah du, taipkan du dan kemudian mula menekan anak panah ke atas. Anda hanya akan melihat penggunaan perintah du baru -baru ini.

Tukar carian

Walaupun halaman manusia hebat, mereka bukan semua yang mudah apabila anda hanya ingin menulis satu arahan sekali. Selain itu, selalu ada lebih banyak daripada rujukan asas suis yang ada. ZSH mempunyai ciri hebat yang membolehkan anda mencari suis semasa anda menulis arahan anda. Mulakan arahan, tulis sengkang yang berkaitan dengan suis, kemudian tekan tab. ZSH akan memaparkan pilihan yang tersedia untuk anda. Sebilangan besar masa, ia akan bertanya kepada anda jika anda mahu memaparkan semua item, tekan y untuk mengesahkan.

Globbiing

Adakah anda pernah menggunakan watak wildcard untuk mencari sesuatu dari terminal?

$ ls -l *.png

Itu satu bentuk globbing. Globbing pada dasarnya adalah ungkapan biasa untuk cangkang. Walaupun Bash menyokongnya, ZSH memperluaskan keupayaan globbingnya jauh di luar Bash.

Cuba menaip arahan ini ke dalam anda /rumah Direktori menggunakan ZSH.

$ ls **/*

Ya, itu banyak sampah di terminal anda. Perintah itu sebenarnya menyenaraikan segala -galanya dalam direktori semasa anda serta semua subdirektori. Anda juga boleh menggunakannya untuk mencari jenis fail tertentu.

$ ls **/*.txt

Itu semua .txt fail di dalam anda /rumah direktori.

Anda juga boleh menentukan nama fail penuh. Cuba gunakannya untuk mencari semua BACA SAYA fail di dalam anda /rumah direktori.

$ ls **/readme.*

Anda juga boleh mencari perkataan atau frasa dalam nama fail.

## bermula dengan baca $ ls **/(baca)*.*## berakhir dengan baca $ ls **/*(baca).*## Mengandungi baca di mana sahaja $ ls **/*(baca)*.* 

Itu cara yang sangat janggal untuk menyenaraikan fail. Terdapat beberapa cara yang sangat mudah untuk menentukan fail dan folder.

# Fail hanya $ ls **/*(.) # Folder hanya $ ls **/*(/) 

Anda juga boleh menentukan salah satu daripada beberapa watak.

# Semua fail yang bermula dengan $ ls **/[a]*(.) # Semua fail yang bermula dengan A atau $ ls **/[aa]*(.) # Semua fail yang mengandungi nombor $ ls **/*[1]*(.) # Mana -mana fail yang berakhir dalam vokal $ ls **/*[aeiouy] (.) 


Sekiranya anda ingin mengecualikan watak atau watak, anda juga boleh melakukannya.

# Fail yang tidak bermula dengan atau $ ls **/[^aa] (.) 

Anda juga boleh mencari julat surat.

# Fail yang berakhir dengan nombor $ ls **/*(.) 

Kelayakan glob

Terdapat pilihan lain yang boleh anda gunakan untuk menyusun dan menapis hasil carian anda. Ini dipanggil kelayakan glob, dan mereka membuat mencari melalui fail anda mati mudah.

Pertama, anda boleh menyekat dengan saiz fail dengan L.

$ ls -Lahs **/*(.LM+250) 

Contoh di atas hanya menunjukkan fail fail lebih besar daripada urutan saiz 250MB.

Jadi, L mengehadkan saiz. Ia dipasangkan dengan k, m, dan g Untuk menentukan unit saiz. Kemudian, terdapat nombor positif atau negatif untuk menetapkan titik cutoff dan menentukan sama ada hasilnya akan berada di atas atau di bawah titik tersebut.

Lihat beberapa lagi.

# Senaraikan semua fail di bawah 1GB mengikut saiz $ ls -Lahs **/*(.LG -1) # Senaraikan semua fail melebihi 10MB dengan saiz $ ls -Lahs **/*(.LM+10) # Senaraikan semua fail yang bermula dengan di bawah 100MB dengan saiz $ ls -Lahs **/[a]*(.LM-100) 

Terdapat juga kelayakan untuk ditapis dengan pengubahsuaian dan akses. Mereka m dan a masing -masing. Mereka boleh dipasangkan dengan s, m, h, d, w, dan M. Mereka berdiri selama beberapa saat, minit, jam, hari, minggu, dan bulan.

Untuk menyenaraikan semua fail yang diubah suai dalam minggu lalu, cubalah ini.

$ ls -Lah **/*(.MW-1)

Nombor dalam pernyataan itu menandakan berapa banyak unit untuk melihat ke belakang. Ini akan menemui semua fail yang diubah suai dalam 3 hari terakhir.

$ ls -Lah **/*(.MD-3)

Terdapat kelayakan lain yang kurang biasa untuk diterokai, dan anda benar -benar boleh menyatukannya bersama -sama untuk menyempitkan carian anda lebih banyak lagi.

Autocorrect

Ciri terakhir ini sangat bagus. Semua orang tersilap sesuatu dan terpaksa mengulangi semuanya dari awal. Ia hanya menjengkelkan. ZSH cuba membantu. Sekiranya ZSH mengesan perkataan yang kelihatan seperti versi yang tidak tersirat dari perintah sebenar, ia akan bertanya kepada anda jika anda ingin membetulkannya dan menjalankan perintah itu, menjimatkan masalah untuk mengulangi segala -galanya.

Beri pukulan dengan membuat direktori, cara yang salah.

$ mdkir beberapa-folder

Zsh ke penyelamatan!

Pemikiran penutupan

Ada, zsh dalam semua kemuliaannya. Ini bukan sesuatu yang boleh anda baca di sini dan segera tahu. Ini alat yang boleh anda ambil sekarang, dan gunakan sama seperti anda akan bash. Kemudian, anda boleh mula mencuba ciri -ciri yang berbeza dan perlahan -lahan mengintegrasikannya ke dalam tabiat biasa anda.

Sebaik sahaja anda mula membiasakan diri dengan ZSH, anda akan menyedari betapa anda suka dan bergantung padanya. Tidak ada yang benar -benar revolusioner, tetapi ia menyediakan pelbagai kemudahan yang mungkin anda ingin anda ingini atau bertahun -tahun yang lalu.

Tutorial Linux Berkaitan:

  • Perkara yang hendak dipasang di Ubuntu 20.04
  • Perkara yang perlu dilakukan setelah memasang ubuntu 20.04 Focal Fossa Linux
  • Perkara yang perlu dipasang di Ubuntu 22.04
  • Perintah Linux: Top 20 Perintah Paling Penting yang Anda Perlu ..
  • Perintah Linux Asas
  • Mint 20: Lebih baik daripada Ubuntu dan Microsoft Windows?
  • Pasang Arch Linux di Workstation VMware
  • Muat turun linux
  • Perkara yang perlu dilakukan setelah memasang Ubuntu 22.04 Jur -ubur Jammy ..
  • Distro linux terbaik untuk pemaju