Cách thiết lập ZSH và Oh-my-zsh trên Linux

theanh

Administrator
Nhân viên
Z shell hay ZSH là một shell UNIX tương tác và là trình thông dịch dòng lệnh mạnh mẽ cho các ngôn ngữ lập trình, bao gồm cả lập trình shell. Zsh được phát triển bởi 'Paul Fastad' từ năm 1990 và tên 'zsh' bắt nguồn từ giáo sư Zong Shao của Yale.

Z-Shell đã trở thành một trong những shell phổ biến nhất cho hệ điều hành Linux. Nó có nhiều tính năng và dễ cấu hình và tùy chỉnh. Dưới đây là một số chức năng zsh quan trọng:
  • Tự động hoàn thành lệnh
  • Cải thiện khả năng xử lý biến
  • Sửa lỗi chính tả
  • Chia sẻ lịch sử lệnh
  • Hoàn thành tab Kill
  • Thiết lập dễ dàng biến môi trường
  • Có thể tùy chỉnh

Oh-my-zsh​

Oh-my-zsh là một khuôn khổ mã nguồn mở để quản lý ZSH, Z shell. Ngoài ra còn có các khuôn khổ khác cho Z shell, chẳng hạn như prezto, Zgen, Antigen, v.v. Trong hướng dẫn này, chúng tôi sử dụng 'oh-my-zsh' cho cấu hình zsh của mình.

Oh-my-zsh là một khuôn khổ dựa trên cộng đồng với nhiều chức năng. Nó đi kèm với thiết kế có thể tùy chỉnh và có danh mục plugin mở rộng dành cho quản trị viên hệ thống và nhà phát triển.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Z-Shell hoặc zsh trên Ubuntu Linux và CentOS. Sau đó, chúng tôi sẽ cấu hình khuôn khổ oh-my-zsh để quản lý ZSH. Chúng tôi cũng sẽ chỉ cho bạn cách thay đổi giao diện zsh và kích hoạt plugin.

Điều kiện tiên quyết​

  • Linux - Ubuntu 20.04 hoặc CentOS 8
  • Quyền root

Những gì chúng ta sẽ làm​

  1. Cài đặt và cấu hình ZSH
  2. Cài đặt và cấu hình Oh-my-zsh framework
  3. Thay đổi giao diện mặc định
  4. Kích hoạt plugin oh-my-zsh

Bước 1 - Cài đặt và cấu hình ZSH​

Trong bước này, chúng ta sẽ cài đặt Z shell từ kho lưu trữ, sau đó cấu hình người dùng để sử dụng Z shell làm giao diện mặc định. Về cơ bản, shell mặc định trên Ubuntu và CentOS là bash, vì vậy chúng ta sẽ cấu hình người dùng root để sử dụng zsh làm shell mặc định. Bạn phải đăng nhập với tư cách là root trên máy tính của mình để thực hiện các bước tiếp theo. Trên CentOS, sử dụng lệnh 'su -' để trở thành người dùng root, trên Ubuntu, sử dụng lệnh 'sudo -s' để trở thành root.

Để cài đặt zsh từ kho lưu trữ, hãy sử dụng các lệnh sau.

Trên Ubuntu:
Mã:
apt install zsh
Trên CentOS:
Mã:
dnf install zsh
Sau khi cài đặt hoàn tất, hãy thay đổi shell mặc định của người dùng root thành zsh bằng lệnh chsh bên dưới.

Trên Ubuntu:
Mã:
chsh -s/usr/bin/zsh root
Trên CentOS:
Mã:
chsh -s /bin/zsh root
Bây giờ hãy đăng xuất khỏi người dùng root, đăng nhập lại và bạn sẽ nhận được shell zsh.

Kiểm tra shell hiện tại được sử dụng bằng lệnh bên dưới.
Mã:
echo $SHELL
Đầu ra phải là zsh. Đây là kết quả trên Ubuntu.



Và đây là kết quả trên CentOS.



Z shell zsh đã được cài đặt.

Bước 2 - Cài đặt và cấu hình Oh-my-zsh framework​

Vậy là Z shell đã được cài đặt trên hệ thống. Tiếp theo, chúng ta muốn cài đặt oh-my-zsh framework để quản lý Z shell zsh. Oh-my-zsh cung cấp một tập lệnh cài đặt để cài đặt framework và chúng ta cần cài đặt một số gói cần thiết khác, bao gồm wget để tải xuống tập lệnh cài đặt và Git để tải xuống oh-my-zsh shell từ GitHub.

Vậy là bước đầu tiên là cài đặt wget và git trên hệ thống. Sau đây là các lệnh bạn cần chạy:

Trên Ubuntu:
Mã:
apt install wget git
Trên CentOS:
Mã:
dnf install wget git
Bây giờ hãy tải xuống tập lệnh cài đặt và thực thi nó.
Mã:
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | zsh
Kết quả/đầu ra sẽ tương tự như kết quả hiển thị bên dưới.



Vì vậy, oh-my-zsh được cài đặt trong thư mục gốc '~/.oh-my-zsh'.

Tiếp theo, chúng ta cần tạo cấu hình mới cho zsh. Giống như shell Bash, có cấu hình tên là '.bashrc', đối với zsh, chúng ta cần tệp cấu hình '.zshrc'. Nó có sẵn trong thư mục mẫu oh-my-zsh.

Sao chép tệp cấu hình mẫu .zshrc.zsh-template vào thư mục gốc .zshrc và áp dụng cấu hình bằng cách chạy lệnh nguồn, như được hiển thị bên dưới.
Mã:
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
source ~/.zshrc
Oh-my-zsh hiện đã được cài đặt trên hệ thống và Z shell đã được định cấu hình để sử dụng khung oh-my-zsh với cấu hình mặc định.

Kết quả sau đây là trên Ubuntu.



Và đây là những gì bạn sẽ thấy trên CentOS.


Bước 3 - Thay đổi giao diện mặc định​

Cấu hình .zshrc mặc định do oh-my-zsh cung cấp đang sử dụng giao diện 'robbyrusell'. Ở bước này, chúng ta sẽ chỉnh sửa cấu hình và thay đổi chủ đề mặc định.

Khung Oh-my-zsh cung cấp nhiều chủ đề cho shell zsh của bạn, hãy truy cập liên kết bên dưới để xem các tùy chọn có sẵn.

https://github.com/robbyrussell/oh-my-zsh/wiki/Themes

Ngoài ra, bạn có thể vào thư mục 'themes' và xem danh sách các chủ đề có sẵn.
Mã:
cd ~/.oh-my-zsh/themes/
ls -a


Để thay đổi chủ đề mặc định, chúng ta cần chỉnh sửa tệp cấu hình .zshrc. Chỉnh sửa cấu hình bằng trình soạn thảo vim.
Mã:
vim ~/.zshrc
Chọn một chủ đề zsh - ví dụ như chủ đề 'risto'.

Sau đó thay đổi 'ZSH_THEME' dòng 10 bằng chủ đề 'risto' như bên dưới.
Mã:
ZSH_THEME='risto'
Lưu và thoát.

Bây giờ, hãy tải lại cấu hình .zshrc và bạn sẽ thấy chủ đề 'risto' hiện đang được sử dụng làm chủ đề shell của bạn.
Mã:
source ~/.zshrc
Kết quả trên Ubuntu.



Kết quả trên CentOS.



Vì vậy, theo cách này, bạn có thể áp dụng chủ đề oh-my-zsh mới.

Bước 4 - Bật plugin Oh-my-zsh​

Oh-my-zsh cung cấp các plugin tuyệt vời. Có rất nhiều plugin cho môi trường của chúng tôi, nhắm vào các nhà phát triển, quản trị viên hệ thống và mọi người khác.

Các plugin mặc định nằm trong thư mục 'plugins'.
Mã:
cd ~/.oh-my-zsh/plugins/
ls -a


Trong bước này, chúng ta sẽ tinh chỉnh zsh bằng cách sử dụng khuôn khổ 'oh-my-zsh' bằng cách bật một số plugin. Để bật các plugin, chúng ta cần chỉnh sửa tệp cấu hình .zshrc.

Chỉnh sửa tệp cấu hình .zshrc.
Mã:
vim ~/.zshrc
Đi đến dòng 54 của 'plugins' và thêm một số plugin mà bạn muốn bật bên trong dấu ngoặc (). Ví dụ, đây là thay đổi tôi đã thực hiện trong trường hợp của mình:
Mã:
plugins=(git extract web-search yum git-extras docker vagrant)
Sau đây là kết quả khi sử dụng plugin 'extract' - bạn có thể giải nén tệp zip và tar bằng lệnh 'extract'.



Lệnh Yum - thông tin yum chỉ bằng lệnh 'yp'.



Plugin Vagrant để tự động hoàn thành lệnh.



Để kết luận, Z shell cũng như khung oh-my-zsh đã được cài đặt. Ngoài ra, chủ đề mặc định oh-my-zsh đã được thay đổi khi một số plugin được bật.

Tài liệu tham khảo​

 
Back
Bên trên