Sau Bash và Korn, hôm nay chúng ta sẽ khám phá ra vỏ Zsh rất phổ biến. Trong thực tế, Zsh rất phổ biến đến nỗi nhiều người đã để Bash cho anh ta. Lý do chính đằng sau sự phổ biến của nó là do một tương tác đáng kinh ngạc với người dùng, và một chức năng tự động hoàn thành toàn diện và mạnh mẽ.

Lịch sử

Phiên bản đầu tiên của Zsh được tạo ra vào năm 1990 bởi một sinh viên Princeton tên là Paul Falstad. Cái tên "Zsh" được cho là xuất phát từ ID kết nối của giáo sư Princeton Zhong Shao. Vỏ trong chính nó đã bị ảnh hưởng từ Bash, Ksh, và Tcsh: Zsh có một chức năng tự động hoàn thành rất mạnh mẽ, cùng với các tìm kiếm đệ quy và một bộ chỉnh sửa được bao gồm. Và tất nhiên, lời nhắc có thể được xác định theo mong muốn của người dùng. Đối với tất cả những điều đó, một số xem xét Zsh như là một Bourne Shell mở rộng.

Cài đặt

Bây giờ bạn đã biết thêm về Zsh, hãy cài đặt nó. Đối với Ubuntu, quá trình cài đặt khá đơn giản:

 sudo apt-get cài đặt zsh 

Đối với các bản phân phối khác, nó cũng có sẵn trong kho của bạn. Trong trường hợp xấu nhất, tải xuống gói từ trang chính thức.

Khi gói đã được cài đặt, bạn có thể khởi chạy một vỏ Zsh từ bất kỳ thiết bị đầu cuối nào thông qua lệnh:

 zsh 

Nếu bạn thực sự thích vỏ này và muốn nó thay thế cái hiện tại của bạn, bạn có thể làm điều đó bằng cách gõ

 sudo usermod -s / bin / zsh [tên người dùng] 

Lưu ý rằng như thường lệ, tập tin cấu hình nằm ở “~ / .zshrc” và sẽ được tạo trên lần khởi chạy đầu tiên. Giống như bash, điều này có thể được sử dụng để thêm bí danh và cá nhân hóa lời nhắc.

Sử dụng

Zsh rất trực quan. Lúc đầu, bạn không nên nhận thấy bất kỳ sự khác biệt nào trong hành vi với Bash. Tuy nhiên, cách tốt để phát hiện đối tượng địa lý đầu tiên là nhập:

 rm - [phím tabulation] 

và sau đó sử dụng phím tabulation. Điều này sẽ hiển thị tất cả các đối số có thể cho lệnh “rm”. Như bạn thấy, tự động hoàn thành là không thể tin được với Zsh.

Không chỉ các đối số của lệnh, mà còn các máy chủ ssh trình bày trong / etc / hosts, các mục tiêu có thể cho lệnh “make”, các trang hướng dẫn, các tệp trên máy chủ ở xa, vv, tất cả có thể được tự động hoàn thành bởi Zsh. Và tốc độ tự động hoàn thành cũng ấn tượng.

Bạn cũng có thể thử gõ một lệnh sai như

 gdit .zshrc 

và nó sẽ kích hoạt tính năng chỉnh sửa:

Nếu điều chỉnh không hoạt động lúc đầu, điều đó có nghĩa là bạn chưa kích hoạt nó. Để làm như vậy, chỉ cần gõ:

 setopt chính xác 

Chỉnh sửa không phải là tùy chọn duy nhất mà bạn có thể kích hoạt. Sau lệnh “setopt”, bạn cũng có thể sử dụng

  • tiếng bíp : phát âm bíp khi xảy ra lỗi
  • hist_ignore_all_dups : để ngăn chặn cùng một lệnh được ghi hai lần trong lịch sử
  • auto_cd : để di chuyển đến một thư mục chỉ bằng cách gõ tên của nó (không cần lệnh cd nữa)

Ngược lại, nếu bạn muốn xóa một tùy chọn, cú pháp là:

 unsetopt [tùy chọn] 

Một cách sử dụng tốt khác của Zsh là tìm kiếm đệ quy. Bạn đã được sử dụng với Bash cho toán tử “*” có nghĩa là “tất cả”. Bây giờ với Zsh, "**" có thể được dịch "tất cả trong tất cả". Nói cách khác, tìm kiếm đệ quy. Hãy để tôi minh họa bằng một ví dụ. Nếu bạn muốn xóa một tệp có tên “foobar” nhưng bạn không thể nhớ nó ở đâu, dòng này sẽ trở nên hữu ích:

 rm ** / foobar 

Zsh sẽ tìm kiếm tệp foobar trong thư mục hiện tại và trong mọi thư mục con, cho đến khi nó xóa nó.

Toán tử đệ quy có thể trở nên thực sự hữu ích khi tìm kiếm một loại tệp cụ thể. Có thể sử dụng kết hợp lệnh “ls” và regex. Một lệnh đơn giản như

 ls ** / *. mp3 

sẽ trả về tất cả các tệp mp3 mà Zsh có thể tìm thấy đệ quy từ thư mục hiện tại.

Cuối cùng, chúng ta hãy nói một chút về cấu hình của Zsh. Như bạn biết, nó xảy ra trong ~ / .zshrc. Nếu bạn muốn thử một số lời nhắc được cá nhân hóa, Zsh đi kèm với một số chủ đề đã lưu. Để xem cái nào có sẵn, hãy tải hệ thống nhắc với

 autoload -U promptinit promptinit 

Và sau đó liệt kê các chủ đề với:

 prompt -l 

Và để thay đổi lời nhắc hiện tại của bạn, hãy nhập

 nhắc [tên chủ đề] 

Nếu bạn đã tạo nhiều bí danh trong bash, chúng sẽ không hoạt động trong zsh. Bạn phải chuyển chúng qua tập tin ~ / .zsh. Cú pháp cơ bản giống như cú pháp của Bash:

 alias [alias 'name] = "[command]" 

Ngoài ra, bạn cũng có thể xác định bí danh cụ thể cho tiện ích mở rộng tệp. Điều này cho phép bạn tự động khởi động lệnh thích hợp cho tệp mà bạn muốn. Ví dụ, tôi sử dụng chương trình “mpg123” để phát mp3 từ dòng lệnh. Vì vậy, tôi có thể thêm vào .zshrc của tôi:

 alias -s mp3 = "mpg123" 

Từ đó, mỗi lần tôi viết một cái gì đó như

 ./song.mp3 

Mpg123 sẽ được khởi chạy và phát bài hát. Với một chút trí tưởng tượng, chúng ta có thể kết hợp chức năng này với bài viết trước của tôi về thỏa thuận với các lưu trữ từ dòng lệnh:

 alias -s tar = "tar -xvf" bí danh -s rar = "unrar x" bí danh -s zip = "giải nén" bí danh -s pdf = "evince" 

Phần kết luận

Có, Zsh và Bash là rất giống nhau, nhưng zsh là linh hoạt hơn mà làm cho nó phổ biến hơn. Cá nhân, tôi thực sự đánh giá cao tính năng tự động hoàn thành và bí danh cho phần mở rộng tệp. Những lời khuyên được đề cập ở trên chỉ bao gồm một phần nhỏ của những gì zsh có thể làm. Để tìm hiểu thêm về Zsh, tôi mời bạn đọc wiki Archlinux.

Bạn nghĩ gì về vỏ Zsh? Bạn đã thử một cái khác chưa? Bạn có bất kỳ câu hỏi liên quan đến vỏ nói chung? Xin vui lòng cho chúng tôi biết trong các ý kiến.