Ketahui asas -asas shell ZSH
- 4979
- 345
- Clay Weber
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