Các bản phân phối Linux cấp người dùng cung cấp giao diện người dùng đồ họa (GUI) mạnh mẽ — tuy nhiên Linux, vì xuất phát từ thế giới Unix thập niên 1970, vẫn chạy trên kiến trúc không phụ thuộc vào một GUI cụ thể.
Điểm truy cập dựa trên văn bản vào hệ thống được gọi là shell, và Linux hỗ trợ một số loại shell.

Shell Là Gì?
Shell là phương pháp dựa trên văn bản để tương tác với hệ điều hành của máy tính — một chức năng gọi là bộ thông dịch lệnh (command interpreter). Shell sử dụng cú pháp và logic riêng; chúng hoạt động như trung gian giữa người dùng đã đăng nhập và kernel máy tính, thực thi các chương trình khác như tiện ích hệ thống hoặc ứng dụng do người dùng cài đặt.
Linux hỗ trợ một số shell khác nhau:
- Bash: Bash là shell mặc định trên hầu hết các bản phân phối Linux hiện đại. Nó được tối ưu cho sử dụng tương tác thông qua lịch sử lệnh, chỉnh sửa dòng lệnh, bí danh lệnh (alias), và kiểm soát tác vụ cơ bản.
- Fish: Được thiết kế để dễ tiếp cận hơn, Fish nhấn mạnh vào hoàn thành lệnh, script người dùng, và các tính năng terminal nâng cao. Nó được tối ưu cho sử dụng tương tác.
- Ksh: Korn shell là một ngôn ngữ lập trình cấp cao riêng biệt, mặc dù hỗ trợ tương tác của nó rất tốt.
- Zsh: Tuyệt vời cho người dùng nâng cao (power users), Zsh cung cấp các tính năng scripting nâng cao và khả năng tùy biến đáng kể. Nó hỗ trợ nhiều chỉ mục (indices).
Không có gì ngăn cản bạn cài đặt bao nhiêu shell khác nhau tùy thích. Mặc dù chỉ một shell phục vụ làm mặc định, bạn tự do gọi một shell trong một shell trong một shell. Để xem shell nào đã được cài cho bản phân phối của bạn, chạy cat /etc/shells.
Shell không giống với terminal. Terminal là chương trình đồ họa mà bên trong nó một phiên shell hoạt động. Nói chung, bạn cần một terminal để chạy phiên shell, nhưng phiên shell và terminal không liên kết chặt chẽ. Nghĩa là, cùng một chương trình terminal chạy bất kỳ shell nào, và bất kỳ shell nào cũng chạy trong bất kỳ chương trình terminal nào.
Tại Sao Sử Dụng Phiên Shell?
Người dùng Linux desktop thông thường hiếm khi cần dùng phiên shell, vì Linux hiện đại cung cấp bảng điều khiển GUI mạnh mẽ. Gần như tất cả các điều chỉnh desktop thông thường có thể hoàn thành trong GUI.
Tuy nhiên, vì Linux hỗ trợ nhiều bản phân phối khác nhau và hơn một chục môi trường desktop khác nhau, ngay cả lời khuyên cơ bản về cách thực hiện một nhiệm vụ trong Linux cũng nhanh chóng trở nên rối rắm. Trừ khi hướng dẫn của bạn tập trung vào môi trường desktop của bạn, các thủ tục từng bước sẽ khác nhau — thường là đáng kể. Vì lý do đó, phần lớn lời khuyên how-to hoặc khắc phục sự cố cho Linux nhấn mạnh vào các lệnh shell.
Ví dụ, để xem những chương trình đang chạy trên máy Linux của bạn, quy trình trong GUI khác tùy bản phân phối. Trên Ubuntu 20.04, bạn sẽ mở Launcher và chọn System Monitor trong khi trên openSuse Tumbleweed, bạn sẽ khởi chạy KSysGuard từ thư mục System của K Menu. Với mỗi công cụ GUI, giao diện và chức năng khác nhau, đòi hỏi hướng dẫn từng bước khác nhau và, nếu cần, ảnh chụp màn hình. Tuy nhiên, đối với bất kỳ bản phân phối nào, chỉ cần chạy ps -ax từ một phiên shell sẽ cho cùng đầu ra theo cùng cách.
Cách Sử Dụng Linux Shell
Sống sót trong vũ trụ chỉ văn bản không quá khó. Thực tế, nhiều fan hâm mộ Linux cứng rắn gần như "sống" trong shell. Để bắt đầu, chạy chương trình terminal của bản phân phối bạn hoặc chương trình tương đương. Khi cửa sổ mở, bạn sẽ ở một phiên shell mới.
10 Lệnh Linux Cần Thiết Để Điều Hướng Hệ Thống File
Khi bạn xong, dùng lệnh exit hoặc đóng chương trình terminal.
Mỗi shell cung cấp các tính năng khác nhau, tuy nhiên các tiện ích Linux phổ biến (như lệnh cd để thay đổi thư mục hoặc lệnh cat để hiển thị file) hoạt động giống nhau trong tất cả các shell. Hãy nghiên cứu cú pháp độc đáo của shell bạn dùng để khai thác sức mạnh của nó.