Làm chủ lịch sử dòng lệnh trong Linux
Nếu bạn dành nhiều thời gian làm việc trên Linux, bạn nên học cách tối ưu hóa việc sử dụng các tùy chọn dòng lệnh - đặc biệt là thời gian bạn nhập vào các lệnh. Hầu hết người dùng Linux đều quen thuộc với lịch sử dòng lệnh cơ bản của Linux. Cách đơn giản nhất để tránh gõ lệnh là nhấn phím mũi tên lên cho đến khi bạn tìm thấy lệnh của bạn, hoặc sử dụng đơn giản !!
cho lệnh được thực thi cuối cùng. Hôm nay, chúng tôi sẽ chỉ cho bạn một số cách tương đối chưa biết và hiệu quả mà bạn có thể sử dụng lịch sử Linux để tăng tốc độ hoạt động của bạn.
Mở rộng sự khiêm nhường !! làm việc cho bạn
Giả sử bạn đã chạy một lệnh yêu cầu đặc quyền gốc, nhưng bạn quên làm một sudo
. Thay vì loại nó ra một lần nữa, hoặc điều hướng lên và sau đó trái, đây là những gì bạn có thể làm
$ touch build_04052014.tgz touch: không thể chạm vào 'build_04052014.tgz': Quyền bị từ chối $ sudo !! sudo touch new_binary [sudo] mật khẩu cho richa:
Nếu bạn muốn lưu lệnh trước đó vào một tập lệnh mới, dưới đây là cách bạn có thể thực hiện điều đó mà không cần phải loại bỏ nó
$ touch build_04052014.tgz $ echo !! > script1.sh $ cat script1.sh liên lạc build_04052014.tgz
Tìm kiếm và chạy lệnh từ lịch sử
Có quyền truy cập vào lệnh chạy cuối cùng đã hạn chế sử dụng. Đôi khi bạn muốn tìm kiếm thông qua lịch sử để tìm lệnh tối nghĩa hoặc thực sự lớn mà bạn đã nhập. Một tìm kiếm ![keyword]
đơn giản cho phép bạn truy cập nó. Ví dụ, bạn có một lệnh lớn mà bạn muốn chạy vào buổi sáng, và bạn không hoàn toàn nhớ các tùy chọn bạn đã cung cấp, nhưng bạn vẫn muốn chạy lại nó. Nếu đây là ảnh chụp màn hình lịch sử của bạn từ thời điểm đó là:
Vậy làm thế nào để bạn chạy lệnh đó một lần nữa? Cứ làm đi:
$! make make brutus.mk && tar brutus / * brutus.tgz && cp brutus.tgz ../output Xây dựng ....
Cách thực hiện đối số từ lệnh trước
Đôi khi bạn có thể không muốn thực thi lệnh trước đó, nhưng chỉ cần thực hiện đối số. Bạn có thể sử dụng toán tử “ !$
” Như hình dưới đây.
Nếu có nhiều đối số cho lệnh trước đó của bạn và bạn chỉ muốn truy cập vào lệnh đầu tiên, bạn có thể sử dụng “ !^
”
$ ls * .png * .txt * .tgz build_04052014.tgz OOO2.png out2.png unix.txt OOO1.png out1.png out3.png windows.txt $ ls -a! ^ ls -a * .png OOO1.png OOO2.png out1.png out2.png out3.png
Để truy cập số đối số x, chỉ cần sử dụng “ ![prev_command]:[argument_number]
“. Ví dụ dưới đây cho thấy nó rõ ràng hơn.
$ ls * .png * .txt * .tgz build_04052014.tgz OOO2.png out2.png unix.txt OOO1.png out1.png out3.png windows.txt $ ls -a! ls: 3 ls -a * .tgz build_04052014 .tgz
Điều gì sẽ xảy ra nếu bạn có một số lệnh mà bạn không muốn hiển thị trong lịch sử - nếu bạn chỉ muốn loại bỏ các bản sao và có một lịch sử rõ ràng hơn. Bạn có thể đặt biến môi trường HISTCONTROL để xử lý điều này. Đây là cách để làm điều đó.
$ export HISTCONTROL = xóa bỏ
Ngăn lệnh xuất hiện trong lịch sử
Đôi khi, bạn có thể muốn ngăn các mẫu lệnh đơn giản xuất hiện trong lịch sử, như " ls
" hoặc " pwd
". Trong những trường hợp như vậy, bạn có thể ngăn chúng xuất hiện trong lịch sử bằng cách sử dụng lệnh HISTCONTROL một lần nữa, như chúng ta đã làm trong ví dụ trên. Tuy nhiên, thường không phải là một ý tưởng tốt để ẩn một lệnh xuất hiện trong lịch sử.
Để ẩn một lệnh, trước tiên bạn cần đặt HISTCONTROL để bỏ qua các khoảng trắng, nghĩa là bỏ qua tất cả các lệnh bắt đầu bằng dấu cách. Sau đó, khi bạn gõ lệnh, hãy đảm bảo thêm một khoảng trắng trước khi bạn nhập. Điều này sẽ ngăn chặn lịch sử nhớ lệnh.
$ export HISTCONTROL = bỏ qua không gian
Chỉ trong trường hợp vì một số lý do lạ, bạn có thể muốn tắt hoàn toàn lịch sử Linux của mình. Để làm điều đó, bạn có thể sử dụng lệnh sau:
$ xuất HISTSIZE = 0
Nếu bạn tìm kiếm lịch sử của mình ngay bây giờ, nó sẽ trống. Lưu ý rằng lệnh HISTSIZE cũng có thể được sử dụng để thay đổi kích thước lịch sử của bạn. Nếu bạn muốn lưu trữ nhiều lệnh hơn trong lịch sử, hãy mở tệp .bash_profile trong thư mục Nhà của bạn và thay đổi HISTSIZE (làm cho nó lớn hơn hoặc nhỏ hơn).
Tín dụng hình ảnh: bash dòng lệnh bash dòng lệnh linux, Giới thiệu về bìa dòng lệnh