NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
07/11/2024
Lượt xem

Hướng dẫn sử dụng lệnh hash trong Linux và 6 ví dụ chi tiết

07/11/2024
12 phút đọc
Lượt xem

Đánh giá

Bash, trình thông dịch dòng lệnh phổ biến trên các hệ điều hành kiểu Unix, sử dụng một cơ chế gọi là “hash table” để tăng tốc độ tìm kiếm và thực thi lệnh. Bài viết này sẽ giúp bạn tìm hiểu về khái niệm và cũng như cách sử dụng lệnh hash qua các ví dụ cụ thể.

Những điểm chính

Để bạn nhanh chóng nắm bắt được nội dung chính về lệnh hash trong Linux, tôi sẽ liệt kê các điểm quan trọng sau:

  • Lệnh hash trong Linux là gì?: Định nghĩa hash – lệnh tích hợp trong shell Bash, dùng để quản lý “hash table”, giúp tăng tốc độ tìm kiếm và thực thi lệnh.
  • Cú pháp lệnh: Cú pháp cơ bản của hash và giải thích các thành phần, bao gồm các tùy chọn hữu ích.
  • Tại sao nên sử dụng lệnh hash: Giải thích lợi ích của việc sử dụng hash, như tăng tốc độ thực thi và giảm thao tác I/O đĩa.
  • Mã trả về của lệnh hash: Mô tả mã trả về và cách kiểm tra.
  • Ví dụ về lệnh hash: 6 ví dụ thực tế minh họa cách sử dụng, bao gồm liệt kê hash table, thêm/xóa lệnh, và tìm kiếm đường dẫn lệnh.
  • Vietnix – Nhà cung cấp dịch vụ website an toàn và hiệu quả.

Lệnh hash trong Linux là gì?

Lệnh hash là một lệnh tích hợp trong shell Bash, đóng vai trò quan trọng trong việc quản lý “hash table” – một cấu trúc dữ liệu giúp Bash ghi nhớ vị trí của các lệnh đã được gọi. Nhờ đó, lần sau khi bạn gọi lệnh, Bash sẽ không cần mất thời gian tìm kiếm khắp hệ thống mà chỉ cần truy xuất từ bảng hash này, dẫn đến việc thực thi lệnh nhanh hơn.

Định nghĩa lệnh hash trong Linux
Định nghĩa lệnh hash trong Linux

Cú pháp của lệnh hash như sau:

hash [option] [command] 

Trong đó:

  • hash: Tên lệnh chính.
  • [option]: Các tùy chọn bổ sung, cho phép bạn chỉ định hành động mà bạn muốn thực hiện với hash table.
  • [command]: Đây là lệnh mà bạn muốn tác động.

Các tùy chọn hữu ích của lệnh hash:

Tuỳ chọnMô tả
l (List)Hiển thị danh sách các lệnh đã được lưu trong hash table.
r (Reset)Xóa toàn bộ nội dung của hash table.
p (Pathname)Thêm hoặc cập nhật thông tin đường dẫn của một lệnh vào hash table.
t (Type)Hiển thị đường dẫn của một lệnh cụ thể.
d (Delete)Xóa thông tin đường dẫn của một lệnh khỏi hash table.
commandChỉ định lệnh cụ thể mà bạn muốn thao tác.
Bảng mô tả các tùy chọn của lệnh hash trong Linux

Tại sao nên sử dụng lệnh hash trong Bash?

Lợi ích khi sử dụng hash:

  • Tăng tốc độ thực thi lệnh: Bằng cách ghi nhớ đường dẫn của các lệnh đã sử dụng, lệnh hash giúp Bash tìm thấy lệnh nhanh hơn, tránh việc tìm kiếm lại trong toàn bộ hệ thống.
  • Giảm thao tác I/O đĩa: Nhờ lưu trữ vị trí lệnh, hash giúp giảm thiểu số lần truy xuất dữ liệu từ ổ cứng, tiết kiệm thời gian và tăng hiệu suất hệ thống.
  • Hiển thị đường dẫn của lệnh: Bạn có thể sử dụng hash để xem hệ thống đang tìm lệnh ở đâu. Điều này rất hữu ích khi bạn gặp sự cố về đường dẫn lệnh.
  • Quản lý bảng hash: hash giúp hệ thống quản lý một bảng chứa thông tin vị trí của các lệnh, giúp việc tìm kiếm và thực thi trở nên nhanh chóng.
  • Cải thiện trải nghiệm người dùng: Tóm lại, hash giúp mọi thứ nhanh hơn, mượt mà hơn, giúp bạn làm việc hiệu quả hơn trên Linux.

Mã trả về (Exit Status) của lệnh hash

Thông thường, chỉ khi dùng hash trong script, bạn mới cần quan tâm đến mã trả về. Bảng dưới đây là giá trị cũng như mô tả về 2 giá trị này:

Giá trịMô tả
0Thực thi thành công
KhácKhông tìm thấy lệnh hoặc xảy ra lỗi
Bảng mô tả giá trị của lệnh hash

Bạn có thể kiểm tra mã trả về bằng biến shell đặc biệt $?, ngay sau khi thực thi lệnh hash. Ví dụ:

hash <command>
echo $?

Giải thích: 

  • hash <command>: Lệnh bạn muốn kiểm tra.
  • echo $?: Hiển thị mã trả về của lệnh hash vừa thực thi. $? chứa mã trả về của lệnh gần nhất được thực thi.
Mã trả về (Exit Status) của lệnh hash
Mã trả về (Exit Status) của lệnh hash

Ví dụ 1: Hiển thị hash table bằng lệnh hash

Nếu bạn muốn xem nội dung hash table, hãy làm theo các bước sau:

Bước 1: Mở Terminal Ubuntu.

Bước 2: Gõ lệnh sau và nhấn Enter để hiển thị hash table:

hash

Giải thích: Lệnh hash khi không có đối số nào sẽ hiển thị danh sách các lệnh hiện có trong hash table cùng với đường dẫn đầy đủ của chúng.

Kết quả: Bạn sẽ thấy một kết quả tương tự như hình ảnh sau nếu hash table chứa dữ liệu.

Hash bash chứa dữ liệu
Hash bash chứa dữ liệu

iconLưu ý

Nếu một phiên làm việc mới được mở, sẽ không có hash table nào và không có lệnh nào được thực thi. Bạn sẽ thấy một kết quả như sau cho thấy hash table trống.

Hash bash trống
Hash bash trống

Ví dụ 2: Hiển thị danh sách các lệnh đã được lưu trong hash table

Muốn xem danh sách các lệnh đã được lưu trữ trong hash table để sử dụng trong các chương trình khác, bạn thực hiện lệnh sau trên terminal:

hash -l

Giải thích: hash -l được dùng để hiển thị danh sách các lệnh trong hash table dưới dạng có thể sử dụng cho chương trình khác.

Hiển thị danh sách các lệnh đã được lưu trong hash table
Hiển thị danh sách các lệnh đã được lưu trong hash table

Ví dụ 3: Hiển thị vị trí của một lệnh cụ thể

Để xem đường dẫn của lệnh đã được lưu trữ, mở terminal của bạn (ví dụ trên Ubuntu) và nhập lệnh sau:

hash -t chmod

Giải thích:

  • hash -t: Yêu cầu lệnh hash hiển thị đường dẫn của lệnh đã lưu.
  • chmod: Lệnh mà bạn muốn tìm đường dẫn. Ở đây, chúng ta đang tìm đường dẫn của lệnh chmod.
Tìm đường dẫn của lệnh chmod
Tìm đường dẫn của lệnh chmod

Muốn tìm đường dẫn của nhiều lệnh cùng một lúc? Chỉ cần dùng dấu cách để phân tách các lệnh:

hash -t chmod nano

Giải thích: chmod nano dùng để phân tách các lệnh bằng dấu cách mà bạn muốn liệt kê. Ở đây, mình đã liệt kê hai lệnh chmod và nano.

Tìm đường dẫn của nhiều lệnh cùng một lúc
Tìm đường dẫn của nhiều lệnh cùng một lúc

Ví dụ 4: Thêm và đặt tên cho đường dẫn lệnh bằng lệnh hash

Bạn có thể sử dụng tùy chọn -p của lệnh hash để thêm một lệnh vào hash table. Để làm điều này, hãy nhập lệnh sau vào cửa sổ lệnh:

hash -p /home/hash.sh bash

Giải thích:

  • hash -p: Thêm hoặc sửa đổi các mục mới với đường dẫn cụ thể.
  • /home/hash.sh bash: Đường dẫn cụ thể cho nội dung mới được thêm vào bảng băm, cùng với tên gọi. Trong ví dụ này, bạn đã thêm tập lệnh /home/hash.sh vào bảng băm và đặt tên cho nó là bash.

Để kiểm tra xem mục mới đã được thêm vào hay chưa, hãy chạy lệnh hash -l. Kết quả sẽ tương tự như hình ảnh bên dưới.

Thêm và đặt tên cho đường dẫn lệnh bằng lệnh hash
Thêm và đặt tên cho đường dẫn lệnh bằng lệnh hash

Ví dụ 5: Xóa mục khỏi hash table bằng lệnh hash

Để xóa một mục khỏi hash table, bạn hãy gõ lệnh sau trong terminal:

hash -d command

Giải thích:

  • hash -d: Xóa một mục đã được băm khỏi bảng băm.
  • lệnh: Tên lệnh hoặc đường dẫn đến lệnh mà bạn muốn loại bỏ khỏi bảng băm. Ví dụ ở đây là /usr/bin/clear.

Sau đó, bạn chạy lệnh hash -l để kiểm tra xem mục đã bị xóa khỏi hash table hay chưa.

Xóa mục khỏi hash table bằng lệnh hash
Xóa mục khỏi hash table bằng lệnh hash

Ví dụ 6: Xóa toàn bộ hash table bằng lệnh hash

Sau khi kiểm tra tất cả các mục trong bảng băm, bạn có thể xóa hoàn toàn bảng băm bằng lệnh sau trong cửa sổ terminal:

hash -r

Lệnh này dùng để xóa tất cả các mục và làm trống hash table.

Xóa toàn bộ hash table bằng lệnh hash
Xóa toàn bộ hash table bằng lệnh hash

Để kiểm tra xem bảng băm đã được xóa thành công hay chưa, bạn chạy lại lệnh hash. Nếu xóa thành công, bạn sẽ thấy thông báo “hash: hash table empty” xuất hiện, giống như trong hình minh họa.

Vietnix – Nhà cung cấp dịch vụ website chuyên nghiệp và hiệu quả

Vietnix cung cấp các giải pháp chất lượng cho website của bạn với các dịch vụ hosting, tên miền, VPS, máy chủ, email doanh nghiệp, chứng chỉ SSL, Firewall Anti Ddos và tối ưu tốc độ. Với hơn 12 năm kinh nghiệm cùng chứng nhận ISO 27001 và ISO 9001, Vietnix cam kết mang đến trải nghiệm trực tuyến mượt mà, an toàn và hiệu suất cao, giúp website load nhanh chóng, thu hút khách hàng và tăng hạng trên công cụ tìm kiếm. Lựa chọn Vietnix là lựa chọn cho sự thành công của website!

Thông tin liên hệ: 

  • Hotline: 18001093
  • Email: sales@vietnix.com.vn
  • Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh.
  • Website: https://vietnix.vn/

Qua bài viết này, bạn đã được tìm hiểu chi tiết về lệnh hash trong Linux, từ cú pháp, cách thức hoạt động đến các ví dụ thực tế. Hy vọng những kiến thức bổ ích này sẽ giúp bạn khai thác tối đa hiệu quả của lệnh hash, từ đó nâng cao hiệu suất làm việc trong môi trường Linux. Ngoài ra, bạn có thể tìm hiểu các lệnh quan trọng khác trong Linux qua các bài viết dưới đây:

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

Chọn chủ đề :

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
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

Banner group
Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

Black Friday Hosting & VPS

Chương trình bắt đầu sau

Giảm giá 40% hosting VPS

50 coupon mỗi ngày

Gia hạn giá không đổi

NHẬN DEAL NGAY
Pattern

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

Icon
ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1
Icon
XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG