Cách sử dụng Z Shell (zsh) trên server cloud
Giới thiệu
Bài viết này trình bày cách sử dụng zsh trên server cloud . Bạn có thể xác minh zsh đã được cài đặt trên VPS của bạn bằng cách thử khởi động nó:
zsh
Nếu bạn đã cài đặt zsh, bạn sẽ chạy ngay vào shell đó.
Nếu không, bạn nên cài đặt zsh trước khi tiếp tục.
Sử dụng zsh
Đến đây, có thể khó hiểu zsh mạnh hơn bao nhiêu so với một shell như bash. Hãy bắt đầu bằng cách xem xét các khả năng tự động hoàn thành của shell .
Tự động hoàn thành
Hãy tưởng tượng rằng ta muốn cài đặt “vim-addon-manager” để giúp ta sắp xếp file cấu hình editor của bạn . Mặc dù vậy, ta không thể nhớ gói được gọi là gì. Thay vì sử dụng apt-cache để tìm kiếm tên gói, ta chỉ có thể sử dụng zsh để đưa ra danh sách các gói bắt đầu bằng “vim”.
sudo apt-get install vim<tab>
vim vim-doc vim-lesstif vim-scripts vim-addon-manager vim-gnome vim-migemo vim-syntax-go vim-athena vim-gtk vim-nox vim-syntax-gtk vim-common vim-gui-common vim-puppet vim-tiny vim-conque vimhelp-de vim-rails vim-vimoutliner vim-dbg vim-latexsuite vim-runtime
Khi ta sử dụng <tab> hoàn thành với apt, ta thấy rằng nó cung cấp cho ta danh sách các gói có sẵn. Sau đó, ta có thể nhập các chữ cái bổ sung cần thiết để có được một lần truy cập duy nhất. Trong trường hợp này, gõ “-ad <tab>” sẽ hoàn thành lệnh nếu cần.
sudo apt-get install vim-ad<tab>
Hãy làm cho tính năng tự động hoàn thành của ta mạnh mẽ hơn nữa. Hãy thêm phần sau vào .zshrc của ta :
nano ~/.zshrc
zstyle ':completion:*' menu select setopt completealiases
Điều này sẽ làm được hai điều. Nó sẽ cho phép ta tự động hoàn thành bất kỳ alias nào mà ta có thể viết trong .zshrc của ta và nó cũng cho phép ta chọn ra khỏi menu khi có nhiều lựa chọn. Hãy nguồn lại file .zshrc để tải các thay đổi của ta và sau đó thử lại ví dụ apt-get.
source ~/.zshrc sudo apt-get install vim<tab>
Nó trông giống nhau. Sự khác biệt là bây giờ ta có thể nhấn lại phím <tab> và sau đó sử dụng phím <tab> và phím mũi tên để chọn các tùy chọn của bạn. Điều này có thể dẫn đến việc chọn nhanh hơn nhiều trong một số trường hợp.
Đánh bóng
Một trong những tùy chọn ta cài đặt ban đầu là sử dụng các biểu thức nhấp nháy mở rộng. Globbing là một loại cú pháp sử dụng các ký hiệu đặc biệt để đối sánh và lọc kết quả khi tìm kiếm hoặc chuyển đối số cho bất kỳ chương trình hoặc hàm nào.
Hãy thử một vài ví dụ. Đầu tiên, ta sẽ thử một số kiểu cầu vồng truyền thống hơn trong trường hợp bạn không quen với ý tưởng này. Hãy tạo một folder thử nghiệm và điền vào nó một số file .
mkdir test cd test touch file1 file2 file3 file100 file120 file122 file200 file222 touch file250 file800 file808 file80 somefile anotherfile touch thisotherfile file.txt file.c file.o file.html file.css touch completelydifferent different separate mkdir directa directb directc directd
Thư mục thử nghiệm của ta hiện có rất nhiều file và folder mà ta có thể chọn và thao tác.
Hãy chọn mọi thứ với file word trong đó. Ký tự dấu hoa thị (*) là viết tắt của 0 hoặc nhiều ký tự.
ls *file*
anotherfile file120 file200 file3 file808 file.html somefile file1 file122 file80 file.c file.o thisotherfile file100 file2 file250 file800 file.css file.txt
Kết quả là mọi file có từ “tệp” trong tiêu đề của nó. Giả sử rằng ta chỉ muốn tìm các file bắt đầu bằng “tệp”.
ls file*
file1 file122 file222 file80 file.c file.o file100 file2 file250 file800 file.css file.txt file120 file200 file3 file808 file.html
Điều này làm giảm kết quả của ta một chút, nhưng hãy thu hẹp điều này hơn nữa. Ký tự dấu mũ (^) được sử dụng để phủ định mẫu sau. Vì vậy, giả sử ta muốn tất cả các file bắt đầu bằng “tệp” nhưng ta không muốn các file nào mà “1” nằm ngay sau “tệp”.
ls file^1*
file2 file222 file3 file800 file.c file.html file.txt file200 file250 file80 file808 file.css file.o
Giả sử ta muốn tìm tất cả các file bắt đầu bằng “tệp” và có số sau đó nằm trong repository ảng từ 100 đến 300. Ta có thể sử dụng các dấu hiệu nhỏ hơn (<) và lớn hơn (>) để bao gồm một dải số.
ls file<100-300>
file100 file120 file122 file200 file222 file250
Nếu ta muốn tất cả các kết quả đó, nhưng ta đặc biệt không muốn file 200, ta có thể yêu cầu zsh không chọn nó bằng ký tự dấu ngã (~).
ls file<100-300>~file200
file100 file120 file122 file222 file250
Hãy thực hiện một số lựa chọn phức tạp hơn. Ta có thể xác định thêm kết quả của bạn bằng cách cung cấp một bộ chọn trong một tập hợp các dấu ngoặc đơn. Nếu ta muốn chọn mọi thứ là file thông thường (không phải folder , liên kết, v.v.), ta có thể sử dụng thông tin như thế này.
ls *(.)
anotherfile file100 file200 file80 file.css separate completelydifferent file120 file222 file800 file.html somefile different file122 file250 file808 file.o thisotherfile file1 file2 file3 file.c file.txt
Lưu ý không có folder nào mà ta đã tạo được liệt kê. Nếu thay vào đó, ta chỉ muốn các folder , ta có thể sử dụng điều này:
ls *(/)
directa: directb: directc: directd:
Tiếp theo, hãy chọn 5 file mới nhất trong folder thử nghiệm của ta . Ta có thể làm điều đó bằng cách sử dụng từ "o" trong ngoặc đơn. Điều này chọn phương pháp sắp xếp của ta . Ta sẽ theo sau chữ “o” với chữ “m” nghĩa là ta đang sắp xếp theo thời gian sửa đổi. Cuối cùng, ta sẽ cung cấp một phạm vi trong dấu ngoặc cho zsh biết ta muốn có bao nhiêu kết quả.
ls *(.om[1,5])
completelydifferent different file.css file.html separate
Điều khoản khác
Dưới đây là một số ý tưởng bổ sung để thử.
Ta có thể cấu hình zsh để tự động sử dụng các chương trình cụ thể để mở file dựa trên phần mở rộng file . Ta sẽ thực hiện điều này bằng cách sử dụng "bí danh hậu tố". Chúng có thể được thêm vào .zshrc của ta để nếu ta chỉ cần nhập tên của một file và nhấn return, nó sẽ được mở bằng chương trình chính xác.
Hãy sử dụng “less” để mở các file nào có phần mở rộng là .view và sử dụng “nano” để mở các file nào có đuôi .edit. Thêm dòng này vào cuối file .zshrc của bạn.
nano ~/.zshrc
alias -s view=less alias -s edit=nano
source ~/.zshrc
Bây giờ, hãy tạo hai file để kiểm tra điều này.
touch test.view test.edit
Nếu ta gõ:
test.view
Tệp sẽ mở ở “less” khi ta nhấn enter. Tuy nhiên, nếu ta nhập:
test.edit
Tệp sẽ mở ở dạng nano, như mong đợi.
Một điều thú vị khác mà zsh cung cấp cho ta là gợi ý hoàn thành. Zsh cung cấp cho ta các chỉ số trực quan tuyệt vời khi nhập đầu vào nhiều dòng. Thử một lần đi. Nếu ta nhập thông tin như thế này và nhấn "enter":
print “this is a line
Ta sẽ được giới thiệu với một dấu nhắc như sau:
dquote>
Ta có thể hoàn thành dòng này bằng cách kết thúc đầu vào của ta bằng bộ dấu ngoặc kép thứ hai.
dquote> that goes onto the next line”
Như bạn thấy , nó cho ta biết loại đầu vào nào cần được đóng để hoàn thành câu lệnh. Ta có thể thấy một điều tương tự xảy ra nếu ta cố gắng nhập một tập lệnh shell đơn giản vào dấu nhắc .
if [[ -o interactive ]]; then then> print yes then> else else> print no else> fi
Như bạn thấy , nó cho ta cùng một loại gợi ý. Điều này có thể rất hữu ích nếu bạn có các câu lệnh đầu vào dài kéo dài nhiều dòng.
Đặt zsh làm shell mặc định
Nếu bạn quyết định rằng zsh trên server cloud phù hợp với nhu cầu shell hàng ngày của bạn, bạn có thể đặt nó làm shell mặc định cho user của bạn . Bằng cách này, mỗi khi bạn đăng nhập, các tùy chọn của bạn sẽ được tải và một phiên zsh sẽ được tạo ra. Bạn sẽ không còn phải gõ “zsh” để truy cập zsh trong VPS của bạn .
chsh -s $(which zsh)
Lần tới khi đăng nhập, bạn sẽ được hiển thị với dấu nhắc zsh.
Các tin liên quan
Cách thêm tệp swap trên server cloud Arch Linux2013-06-28
Cách cài đặt server DNS BIND trên CentOS 6
2013-06-12
Cách cài đặt eJabberd XMPP Server trên Ubuntu
2013-06-04
Cách cấu hình tmux trên server cloud
2013-05-20
Cách cài đặt cPanel trên server ảo chạy Centos 6
2012-11-02
Cách cài đặt Linux, Apache, MySQL, PHP (LAMP) trên Debian
2012-10-04
Cách cài đặt Joomla trên server ảo chạy CentOS 6
2012-09-27
Cách cài đặt Joomla trên server ảo chạy CentOS 6
2012-09-27
Cách cài đặt Drupal trên server ảo chạy CentOS 6
2012-09-25
Cách cài đặt Ruby on Rails trên Arch Linux với RVM
2012-09-21