Với một bộ tính năng lớn và hoàn thiện, thật dễ hiểu tại sao Bash là shell mặc định trên nhiều bản phân phối Linux. Tuy nhiên, với những người dùng thành thạo, Bash phải đối mặt với sự cạnh tranh từ các lựa chọn thay thế như Zsh.
Một tính năng đặc biệt hữu ích của cả Bash và Zsh là cơ chế lịch sử của chúng, giúp dễ dàng nhớ lại các lệnh bạn đã nhập trước đây. Tìm hiểu cách tiết kiệm thời gian và tránh tìm kiếm thủ công các lệnh phức tạp bằng cách sử dụng lịch sử lệnh của shell của bạn.
1. Lịch sử Shell là gì?
Lịch sử Shell là danh sách các lệnh bạn đã đưa ra trên dòng lệnh (command line). Bash lưu trữ lịch sử này trong một tệp có tên .bash_history trong thư mục chính (home directory). Trong Zsh, nó được gọi là .zsh_history. Bạn có thể sử dụng lệnh history để hiển thị nội dung hiện tại của lịch sử:
Bạn có thể thay đổi vị trí của tệp này bằng cách đặt biến môi trường (environment variable) HISTFILE .
Bạn có thể đặt số mục lịch sử tối đa bằng biến môi trường HISTFILESIZE :
HISTFILESIZE=1000
Điều này đặt kích thước file lịch sử thành 1.000.
Lịch sử shell rất hữu ích khi bạn muốn lặp lại lệnh bạn đã nhập trước đó hoặc thay đổi lệnh đó mà không cần phải nhập lại hoàn toàn một dòng. Lệnh !! sẽ lặp lại lệnh đã gõ trước đó. Nếu bạn muốn thay đổi điều gì đó trong lệnh đã đặt tên trước đó, hãy nhập ^old^new. Ở đây, “old” là phần của dòng lệnh bạn muốn thay thế và “new” là phần thay thế của nó.
Nếu bạn muốn liệt kê thư mục /bin sau khi liệt kê / với ls/ , đây là cách bạn thay đổi lệnh:
^/^/bin
Điều này sẽ giống như khi bạn nhập ls /bin .
2. Chỉnh sửa dòng lệnh
Bash và Zsh đều hỗ trợ chỉnh sửa dòng lệnh. Đây là một phương pháp linh hoạt hơn để truy cập lịch sử lệnh của bạn hơn là mở rộng lịch sử. Theo mặc định, các lệnh chính giống như các lệnh được sử dụng bởi trình soạn thảo Emacs. Bạn có thể đảo chúng lại để hoạt động giống Vim hơn, nếu muốn. Tuy nhiên, lưu ý rằng các phím tắt vim khó sử dụng hơn để chỉnh sửa dòng lệnh, dù Vim là một trình soạn thảo văn bản thông thường rất tốt.
Khi bạn muốn gọi lại một lệnh, chỉ cần nhấn vào mũi tên lên trên bàn phím. Bạn có thể nhấn lên để di chuyển qua tất cả các lệnh trước đó của mình, trong khi mũi tên xuống cho phép bạn di chuyển đến các lệnh gần đây hơn. Bạn cũng có thể sử dụng Ctrl + P và Ctrl + N để kéo lên và xuống trong lịch sử của mình.
Để tìm kiếm ngược, nhấn CTRL + R , sau đó bắt đầu nhập để tìm kiếm lịch sử cho đến khi bạn thấy lệnh bạn muốn chỉnh sửa. Nhấn Ctrl + S để tìm kiếm tiếp.
Để thay đổi dòng lệnh, bạn có thể di chuyển qua lại trên dòng bằng các phím mũi tên phải và trái. Alt + F sẽ di chuyển về phía trước một từ và Alt + B sẽ di chuyển về phía sau. Để đi đến đầu dòng, nhấn Ctrl + A. Để đến cuối, nhấn Ctrl + E. Để xóa hoàn toàn một dòng, hãy nhấn Ctrl + K.
3. Bây giờ bạn có thể truy cập lịch sử Shell
Với một vài phương pháp đơn giản, bạn có thể tìm lịch sử Shell của mình và thay đổi lệnh mà không cần gõ lại toàn bộ dòng. Cả Bash và Zsh đều có khả năng chỉnh sửa dòng lệnh rất dễ dàng.
>>> Nếu bạn đang có nhu cầu học lập trình trực tuyến, tìm hiểu ngay tại đây:
>>> Xem thêm bài viết:
Đại học trực tuyến? Tại sao nên chọn học đại học trực tuyến thay vì đại học offline?
5 điều có thể bạn chưa biết về học lập trình trực tuyến FUNiX
Review khóa học trực tuyến FUNiX FPT đang được nhiều bạn trẻ lựa chọn
FUNiX đào tạo lập trình trực tuyến cung cấp nhân sự tập đoàn FPT
5 Điểm đáng chú ý tại khóa học lập trình trực tuyến FPT – FUNiX
Dịch từ: https://www.makeuseof.com/bash-command-history/
Vân Nguyễn
Bình luận (0
)