Zsh là một công cụ dòng lệnh được biết đến với khả năng tùy chỉnh cao và nhiều tính năng hữu ích. Trong bài viết này, Vietnix sẽ giới thiệu đến bạn bảng cheat Zsh với các lệnh và phím tắt thiết yếu của Zsh để giúp bạn làm việc trên terminal nhanh chóng và hiệu quả hơn.
Zsh là gì?
Zsh, (viết tắt của Z Shell) là một loại giao diện dòng lệnh (CLI) dành cho các hệ điều hành tương tự như Unix và Linux. Zsh giống như một phiên bản nâng cấp của Bourne shell (sh) với nhiều tính năng mới và cải tiến. Zsh cho phép bạn tùy chỉnh giao diện theo ý thích, soạn thảo lệnh dễ dàng hơn, và viết các script phức tạp. Zsh được phát triển dựa trên Bourne shell (sh) nhưng được cải tiến với nhiều tính năng mới và ưu việt hơn.
Dưới đây là một số điểm nổi bật của Zsh:
Khả năng tùy biến cao: Zsh cho phép bạn thay đổi giao diện và chức năng theo ý muốn, từ việc tùy chỉnh thanh nhắc lệnh, tạo alias cho các lệnh dài dòng, đến thiết lập môi trường làm việc cá nhân hóa.
Chỉnh sửa dòng lệnh nâng cao: Zsh cung cấp nhiều công cụ hỗ trợ chỉnh sửa dòng lệnh hiệu quả, bao gồm tìm kiếm lịch sử lệnh, sử dụng phím tắt tùy chỉnh, tự động hoàn thành lệnh,…
Khả năng viết script mạnh mẽ: Zsh hỗ trợ nhiều cấu trúc lập trình và hàm, cho phép bạn viết các đoạn script phức tạp để tự động hóa các tác vụ.
Nhờ những ưu điểm vượt trội, Zsh được nhiều người dùng ưa chuộng, đặc biệt là các lập trình viên và quản trị hệ thống.
Đặc biệt, trước khi áp dụng Zsh Cheat Sheet, bạn cần tham khảo và hệ thống lại toàn bộ các câu lệnh trong Linux cơ bản trước khi thực thi chúng dưới dạng tập lệnh (script).
Tại sao nên sử dụng Zsh thay vì Bash?
Có nhiều lý do để bạn chọn Zsh thay vì Bash, cụ thể:
Zsh có nhiều tính năng hơn: Zsh cung cấp các tính năng bổ sung như tự động hoàn thiện lệnh nâng cao, khả năng chỉnh sửa dòng lệnh tốt hơn và hỗ trợ viết script mạnh mẽ hơn. Những điều này giúp bạn làm việc nhanh hơn và hiệu quả hơn.
Zsh có thể tùy chỉnh nhiều hơn: Bạn có thể thay đổi giao diện và cách hoạt động của Zsh theo ý thích của mình nhiều hơn so với Bash.
Zsh tự động hoàn thiện lệnh thông minh hơn: Zsh không chỉ gợi ý các lệnh và tên file, mà còn gợi ý các tùy chọn, biến và nhiều thứ khác.
Zsh hiện đại hơn: Zsh được thiết kế với các tính năng mới và khả năng mở rộng, giúp Zsh dễ dàng thích ứng với nhu cầu thay đổi.
Ngoài ra, bạn có thể tham khảo hệ thống Bash Script Cheat Sheet để nắm bắt rõ hơn các dạng phím tắt và tính năng của công cụ tập lệnh (script) này.
Bảng 2: 16 cú pháp lệnh điều hướng, thay đổi file/thư mục
Lệnh
Mô tả
cd
Thay đổi thư mục hiện tại.
cd ..
Di chuyển lên một cấp trong hệ thống phân cấp thư mục.
cd /
Thay đổi thư mục hiện tại thành thư mục gốc.
cd ~
Thay đổi thư mục hiện tại thành thư mục home.
cd -P
Thay đổi thư mục hiện tại và giải quyết các symbolic link.
cd -L
Thay đổi thư mục hiện tại mà không giải quyết các symbolic link.
cd /path/to/directory
Thay đổi thư mục hiện tại thành đường dẫn thư mục được chỉ định.
code .
Mở thư mục hiện tại trong Visual Studio Code
dirs
Hiển thị hoặc thao tác với ngăn xếp thư mục (directory stack).
explorer .
Mở thư mục hiện tại trong file explorer mặc định (trên Windows).
ls
Liệt kê file và thư mục trong thư mục hiện tại.
open .
Mở thư mục hiện tại trong file explorer mặc định (trên macOS).
pushd
Thay đổi thư mục hiện tại và đẩy thư mục hiện tại vào ngăn xếp thư mục.
popd
Xoá các mục khỏi ngăn xếp thư mục và thay đổi thư mục hiện tại thành thư mục được lấy ra.
pwd
Hiển thị thư mục làm việc hiện tại.
Bảng 3: 9 cú pháp lệnh điều khiển luồng và thực thi Script
Lệnh
Mô tả
break
Thoát khỏi vòng lặp hoặc câu lệnh switch.
bye
Thoát khỏi shell.
continue
Bỏ qua các bước lặp còn lại của vòng lặp hiện tại và bắt đầu bước lặp tiếp theo.
return
Thoát khỏi hàm và trả về một giá trị tuỳ chọn.
exit
Thoát khỏi shell với một trạng thái thoát (exit status) tùy chọn.
fc
Quản lý và chỉnh sửa lịch sử lệnh.
shift
Dịch các tham số vị trí sang trái theo số lượng được chỉ định.
test
Đánh giá các biểu thức điều kiện và thực hiện kiểm tra.
trap
Thiết lập hoặc hiển thị các hành động sẽ được thực hiện khi nhận được một tín hiệu (signal).
Bảng 4: 7 cú pháp lệnh quản lý, điều khiển tác vụ trong quy trình
Lệnh
Mô tả
bg [job …]
Chạy lại các tác vụ đang tạm dừng trong nền (background).
disown [job …]
Loại bỏ các công việc khỏi bảng công việc, cho phép chúng tiếp tục chạy ngay cả khi bạn đóng terminal.
fg [job …]
Đưa các công việc lên tiền cảnh (foreground), cho phép bạn tương tác trực tiếp với công việc.
jobs
Liệt kê các tác vụ đang hoạt động và trạng thái.
kill [options] job …
Gửi tín hiệu đến các tiến trình hoặc ID tác vụ.
suspend [-f]
Tạm dừng phiên shell hiện tại.
wait [job …]
Chờ đợi cho đến khi các tác vụ background hoàn thành.
Bảng 5: 6 cú pháp lệnh quản lý biến và môi trường
Tính năng của hệ thống bảng cú pháp lệnh quản lý biến và môi trường: Định nghĩa biến, thay đổi môi trường, và kiểm soát cách các script và lệnh tương tác với shell
Lệnh
Mô tả
declare
Hiển thị hoặc thiết lập các biến shell.
export
Thiết lập biến môi trường.
readonly
Đánh dấu các biến là chỉ đọc (read-only).
typeset
Khai báo biến với các thuộc tính cụ thể.
unset
Hủy thiết lập biến hoặc hàm.
unsetopt
Vô hiệu hóa các tùy chọn shell.
Bảng 6: 9 cú pháp lệnh thực thi có điều kiện
Tính năng của hệ thống bảng cú pháp lệnh thực thi có điều kiện: Kiểm soát luồng chạy script dựa trên các điều kiện nhất định.
Thực thi có điều kiện là một khái niệm quan trọng trong lập trình shell
Lệnh
Mô tả
if
Thực hiện một block code dựa trên một điều kiện. Nếu điều kiện đúng, code bên trong block “if” được thực thi, nếu không sẽ bị bỏ qua.
then
Chỉ định bắt đầu của block code được thực thi nếu điều kiện của câu lệnh “if” là đúng.
else
Chỉ định block code được thực thi nếu điều kiện của câu lệnh “if” trước đó là sai.
fi
Đánh dấu kết thúc của một câu lệnh “if”.
do
Đánh dấu bắt đầu block code được thực thi trong vòng lặp “for” hoặc “while”.
done
Đánh dấu kết thúc của vòng lặp “for” hoặc “while”.
for
Thực thi một khối lệnh lặp đi lặp lại cho một số lần nhất định hoặc cho mỗi phần tử trong một danh sách.
until
Thực thi một block code lặp đi lặp lại cho đến khi một điều kiện nhất định là đúng.
while
Thực thi một block code lặp đi lặp lại miễn là một điều kiện nhất định là đúng.
Bảng 7: 4 cú pháp lệnh viết Zsh Script và thực thi
Tính năng của hệ thống bảng cú pháp lệnh viết Zsh script: tạo script toàn diện với khả năng lọc qua dữ liệu, đưa ra quyết định dựa trên điều kiện và thực thi lệnh tương ứng.
Lệnh
Mô tả
noglob
Thực thi một lệnh mà không mở rộng các ký tự đặc biệt trong tham số (globbing).
rehash
Cập nhật hash table của các lệnh thực thi.
source
Thực thi các lệnh từ một file ngay trong phiên làm việc hiện tại của shell.
time
Hiển thị thời gian hệ thống và thời gian người dùng cho phiên làm việc hiện tại của shell.
Bảng 8: 4 cú pháp lệnh kiểm tra vị trí và thông tin của lệnh
Lệnh
Mô tả
unhash
Xóa lệnh khỏi hash table.
where
Hiển thị tất cả các vị trí mà một lệnh được định nghĩa.
which
Hiển thị đường dẫn đến file thực thi của một lệnh.
whence
Hiển thị thông tin về một lệnh, bao gồm loại lệnh và vị trí của lệnh đó.
Bảng 9: 4 cú pháp lệnh quản lý lịch sử và chỉnh sửa lệnh
Lệnh
Mô tả
fc
Xem, chỉnh sửa, thực thi lại hoặc thay đổi thứ tự của các lệnh đã nhập trước đó.
getln
Hiển thị lịch sử lệnh, bao gồm danh sách các lệnh đã chạy cùng với số dòng.
getopts optstring
Cho phép xử lý các đối số và tùy chọn dòng lệnh, giúp bạn tạo ra các script shell tương tác và linh hoạt hơn.
history
Hiển thị lịch sử lệnh, hiển thị danh sách các lệnh đã chạy trước đó cùng với số dòng.
Bảng 10: 4 cú pháp lệnh đọc Input/Output và tùy chỉnh shell
Lệnh
Mô tả
echo
Hiển thị một dòng văn bản hoặc giá trị của một biến trên terminal.
print
Hiển thị văn bản hoặc biến trên terminal, cung cấp nhiều tùy chọn định dạng để kiểm soát cách hiển thị output.
read
Đọc input từ người dùng hoặc từ một file và gán cho các biến. Cho phép người dùng nhắc nhập, lưu trữ các giá trị được nhập và thực hiện xử lý tiếp theo dựa trên input.
ttyctl -fu
Kiểm soát cài đặt và hành vi của terminal. Tùy chọn -fu buộc terminal xuất dữ liệu đang chờ xử lý ngay lập tức.
Bảng 11: 2 cú pháp lệnh ghi log và thoát khỏi shell
Tính năng của hệ thống cú pháp lệnh ghi log: Ghi log hoạt động của terminal và nắm bắt được cách thoát shell là những kỹ năng quan trọng khi làm việc với dòng lệnh
Lệnh
Mô tả
log
Ghi lại input/output của shell vào một file.
logout
Thoát khỏi phiên shell hiện tại với trạng thái thoát (exit status) tùy chọn.
Bảng 12: 16 cú pháp lệnh tích hợp sẵn trong shell
Tính năng của hệ thống bảng cú pháp lệnh tích hợp sẵn trong Shell: Đóng vai trò thiết yếu trong chức năng của shell (shell-built-in) như quản lý alias cho các lệnh thường dùng, tùy chỉnh hành vi shell, xử lý biến và hàm, quản lý các tùy chọn shell,…
Lệnh
Mô tả
alias
Tạo hoặc liệt kê các alias cho các lệnh
unalias
Xoá alias cho các lệnh.
builtin
Thực thi một lệnh tích hợp sẵn của shell
disable
Vô hiệu hóa các lệnh hoặc hàm tích hợp sẵn của shell.
enable
Kích hoạt các lệnh hoặc hàm tích hợp sẵn của shell.
false
Trả về trạng thái thoát khác 0 (thường biểu thị lỗi).
functions
Liệt kê hoặc định nghĩa các hàm.
unfunction
Xóa các hàm đã được định nghĩa.
hash
Hiển thị hoặc sửa đổi hash table.
set
Thiết lập hoặc hiển thị các tùy chọn shell hoặc các tham số vị trí.
setopt
Thiết lập hoặc hiển thị các tùy chọn shell.
true
Trả về trạng thái thoát bằng 0.
type
Hiển thị thông tin về một lệnh.
typeset
Khai báo hoặc hiển thị các biến shell với các thuộc tính bổ sung.
unset
Hủy thiết lập các biến shell hoặc hàm.
unsetopt
Hủy thiết lập các tùy chọn shell.
Bảng 13: 10 cú pháp lệnh thao tác, quản lý file/directory trong Zsh
Lệnh
Mô tả
cp
Tạo bản sao của file và thư mục.
file
Hiển thị thông tin về file được chỉ định.
mkdir
Tạo một thư mục mới.
mkcd
Tạo một thư mục mới và chuyển thư mục hiện tại sang đó chỉ trong một lệnh.
mv
Di chuyển hoặc đổi tên file và thư mục.
rm
Xóa một file.
rm -r
Xóa một thư mục và nội dung của thư mục đó theo đệ quy.
touch
Tạo một file trống hoặc cập nhật dấu thời gian truy cập và sửa đổi của một file hiện có.
zmv
Cho phép người dùng đổi tên nhiều file bằng cách sử dụng các mẫu và biểu thức phức tạp.
zmvn
Cho phép người dùng đổi tên file bằng cách sử dụng thứ tự sắp xếp tự nhiên, xử lý các chuỗi số theo cách thân thiện với con người hơn.
Bảng 14: 20 cú pháp lệnh tùy chỉnh mở rộng chức năng
Lệnh
Mô tả
zmodload -dL
Tải một hoặc nhiều module chia sẻ vào shell Zsh.
zmodload -e
Tải một hoặc nhiều module và tạo thông báo lỗi nếu tải không thành công.
zmodload [ -a [ -bcp [ -I ] ] ] [ -iL ] …
Tải các module, chỉ định các tùy chọn tải khác nhau.
zmodload-u [ -abcdp [ -I ] ] [ -iL ] …
Gỡ các module, chỉ định các tùy chọn gỡ khác nhau.
zmodload -d [ -L ] [ name ]
Gỡ một module cụ thể hoặc tất cả các module đã tải.
zmodload -d name dep
Gỡ một module và các phụ thuộc (dependency).
zmodload -ud name [ dep … ]
Gỡ một module và các phụ thuộc, gỡ bất kỳ module nào không được sử dụng.
zmodload -ab [ -L ]
Liệt kê tất cả các module tích hợp sẵn.
zmodload -ab [ -i ] name [ builtin … ]
Tải một hoặc nhiều module tích hợp sẵn và tạo thông báo lỗi nếu tải không thành công.
zmodload -ub [ -i ] builtin …
Gỡ một hoặc nhiều module tích hợp sẵn.
zmodload -ac [ -IL ]
Liệt kê tất cả các module có điều kiện.
zmodload -ac [ -iI ] name [ cond … ]
Tải một hoặc nhiều module có điều kiện và tạo thông báo lỗi nếu tải không thành công.
zmodload -uc [ -iI ] cond …
Gỡ một hoặc nhiều module có điều kiện.
zmodload -ap [ -L ]
Liệt kê tất cả các module mở rộng tham số.
zmodload -ap [ -i ] name [ parameter … ]
Tải một hoặc nhiều module mở rộng tham số và tạo thông báo lỗi nếu tải không thành công.
zmodload -up [ -i ] parameter …
Gỡ một hoặc nhiều module mở rộng tham số.
zmodload -a [ -L ]
Liệt kê tất cả các module.
zmodload -a [ -i ] name [ builtin … ]
Tải một hoặc nhiều module và tạo thông báo lỗi nếu tải không thành công.
zmodload -ua [ -i ] builtin …
Gỡ một hoặc nhiều module.
zmodload -e [ string … ]
Đánh giá các chuỗi được cho là code Zsh.
Bảng 15: 16 cú pháp lệnh thông dụng khác trong Zsh
Ngoài các lệnh cơ bản ở trên, Zsh còn cung cấp nhiều lệnh hữu ích khác, giúp mở rộng chức năng và tùy chỉnh shell theo ý muốn. Bạn có thể tham khảo thêm trong bảng sau đây:
Lệnh
Mô tả
zcalc
Thực hiện các phép tính toán học trực tiếp trong shell.
xargs
Áp dụng một lệnh khác cho một danh sách các đối số, tương tự như xargs nhưng có các tính năng nâng cao.
zprof
Cung cấp thông tin về thời gian khởi động của các tệp cấu hình Zsh, giúp bạn tối ưu hóa tốc độ khởi động. Ngoài ra còn có khả năng phân tích các file khởi động Zsh, giúp tối ưu hóa thời gian tải của chúng bằng cách xác định các điểm nghẽn hiệu suất tiềm ẩn.
zstyle
Tùy chỉnh hành vi và giao diện của shell bằng cách đặt các tùy chọn và kiểu khác nhau.
zargs
Áp dụng một lệnh khác cho một danh sách các đối số.
vared
Cung cấp một cách thuận tiện để chỉnh sửa các biến trong shell bằng cách sử dụng trình soạn thảo được chỉ định bởi biến môi trường EDITOR.
push-line
Đẩy dòng lệnh hiện tại vào bộ đệm và cho phép bạn tiếp tục chỉnh sửa, hữu ích cho các cấu trúc lệnh phức tạp.
autoload
Cho phép người dùng lazy load các hàm Zsh.
clone/detach
Cho phép bạn tạo các phiên bản mới của shell hiện tại, dưới dạng một tiến trình con được phân nhánh (clone) hoặc là một tiến trình nền tách rời (detach).
zcompile
Biên dịch các tập lệnh Zsh thành một định dạng hiệu quả hơn, có thể cải thiện thời gian thực thi.
zpty
Cung cấp cách tạo và tương tác với các pseudo-terminal từ bên trong Zsh.
ztcp
Cho phép người dùng tạo kết nối TCP và UDP trực tiếp từ shell và có thể được sử dụng cho các tác vụ liên quan đến mạng khác nhau.
zsocket
Cho phép người dùng tạo và tương tác với các Unix domain socket từ bên trong Zsh. Điều này có thể hữu ích cho giao tiếp giữa các tiến trình.
zparseopts
Đơn giản hóa việc xử lý các tùy chọn dòng lệnh và đối số trong các tập lệnh Zsh bằng cách cung cấp cách thuận tiện để phân tích cú pháp và xử lý chúng.
zregexparse
Cung cấp một cách để phân tích cú pháp văn bản bằng cách sử dụng biểu thức chính quy và trích xuất các phần tử cụ thể. Lệnh này rất hữu ích cho các tác vụ thao tác văn bản.
zsh-mime-setup
Cấu hình các chương trình và hành động mặc định liên kết với các loại MIME khác nhau trong môi trường Zsh.
Câu hỏi thường gặp
Có thể sử dụng bảng cheat Zsh để viết kịch bản không?
Có thể, nhưng không trực tiếp. Zsh Script mang tính năng chính là hỗ trợ người dùng làm việc trong môi trường Linux với các lệnh, cú pháp để điều khiển hệ thống.
Có thể sử dụng bảng cheat Zsh để tạo một trang web không?
Có thể, nhưng không trực tiếp. Bởi vig Zsh chỉ tập trung cung cấp các lệnh và cú pháp để tương tác với hệ điều hành qua dòng lệnh, chứ không phải là một công cụ để xây dựng các ứng dụng web.
Có những tài nguyên nào để tìm bảng cheat Zsh miễn phí trên internet?
1. Trang web tài liệu tham khảo 2. Kho lưu trữ Git 3. Trang Web chia sẻ tài liệu 4. Công cụ tìm kiếm
Lời kết
Bài viết trên đã tổng hợp các lệnh Zsh cơ bản và nâng cao, giúp bạn sử dụng shell hiệu quả hơn. Với bảng cheat Zsh này, bạn có thể dễ dàng tra cứu và áp dụng các lệnh cần thiết. Hãy tận dụng tối đa sức mạnh của Zsh để tăng năng suất công việc của bạn!
THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM
Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày
Tôi là Nguyễn Hưng (Bo) - Chuyên gia về hệ thống, mạng và bảo mật với hơn 10 năm kinh nghiệm. Là Co-Founder của Vietnix, một trong những nhà cung cấp dịch vụ Hosting, VPS và điện toán đám mây hàng đầu tại Việt Nam.Ngoài ra, tôi có kiến thức dịch vụ chuyên sâu về Linux, Control Panel, chứng chỉ SSL, Server, Web Server và đã tham gia vào nhiều dự án, cụ thể như cùng cộng sự phát triển hệ thống bảo mật cho Vietnix, giúp giảm thiểu chi phí và nâng cao hiệu suất bảo mật cho khách hàng.Với đam mê chia sẻ kiến thức thông qua các bài viết, hy vọng có thể cung cấp thông tin hữu ích đến độc giả!
Kết nối với mình qua
Theo dõi
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận
Tăng tốc độ website - Nâng tầm giá trị thương hiệu