9 mẹo tiết kiệm thời gian cho dòng lệnh của bạn
Làm thế nào để bạn viết mã nguồn tuyệt vời? Bằng cách làm việc hiệu quả. Nếu bạn muốn tạo ra điều gì đó tuyệt vời, bạn sẽ phải loại bỏ những thứ làm bạn chậm lại. Chỉ với vài mẹo, bạn có thể tăng tốc công việc và tập trung vào những điều quan trọng.
1. Tạo các bí danh (aliases)
Mỗi terminal đều đi kèm với một tệp gọi là ~/.bashrc hoặc ~/.bash_profile. Tùy thuộc vào hệ thống của bạn mà bạn sẽ sử dụng tệp nào. Bài viết này giải thích chi tiết về điều đó.
Bây giờ hãy nghĩ về các lệnh mà bạn thường xuyên sử dụng. Gõ chúng mỗi lần làm phiền, và bạn có thể làm hỏng mọi thứ nếu bạn hay gõ sai chữ. Đó chính là lý do tại sao bí danh (aliases) xuất hiện: Chúng thay thế lệnh ban đầu của bạn bằng một lối tắt.
alias $preferredAlias='$commandToAlias'Ví dụ, tôi có một thư mục Dropbox mà tôi thường xuyên cần truy cập. Vì tôi không thích gõ quá nhiều ký tự, tôi đã tạo bí danh sau trong ~/.bash_profile của mình:
alias topbox="cd ~/Dropbox/top-eft/"
Một số bí danh hữu ích khác là:
alias mv="mv -i"
alias cp="cp -i"
Tùy chọn -i cho biết bạn sẽ được nhắc trước khi ghi đè lên một tệp. Nếu bạn từng vô tình ghi đè lên điều gì đó quan trọng, bạn sẽ biết tôi đang nói gì.
Nếu bạn đang sử dụng rất nhiều bí danh, có thể tạo một tệp riêng. Hãy đóng gói tất cả các bí danh của bạn vào một tệp mới gọi là ~/.bash_aliases. Bây giờ, bạn cần thông báo cho tệp cấu hình ban đầu biết bí danh ở đâu. Để làm điều đó, thêm những dòng sau vào đầu ~/.bash_profile hoặc ~/.bashrc của bạn:
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
Và bạn đã hoàn tất!
Mỗi khi bạn chỉnh sửa tệp bash của mình, hãy chắc chắn chạy lệnh tương ứng từ hai lệnh sau:
source ~/.bash_profile
source ~/.bashrc
Như vậy, bạn đang thông báo cho hệ thống của mình tuân theo các thay đổi từ bây giờ trở đi. Nếu bạn mở một cửa sổ mới, nó sẽ tự động nguồn cấp file.
2. Cải thiện prompt của bạn
Giao diện dòng lệnh là điều đầu tiên bạn sẽ thấy khi bắt đầu làm việc và có thể là điều cuối cùng bạn nhìn trước khi ra về. Vì vậy, việc tùy chỉnh nó theo sở thích của bạn là hợp lý.
Tôi là người theo trường phái tối giản, vì thế tôi chỉ bao gồm thư mục hiện tại trong dấu nhắc của mình. Do đó, trong tệp ~/.bash_profile của tôi, tôi đã chỉ định:
PS1='[\W]$ '
Ở đây, \W đề cập đến thư mục hiện tại, và PS1 là biến tham chiếu đến dấu nhắc.
Các tùy chọn phổ biến khác là:
- Một dấu thời gian giúp bạn theo dõi công việc của mình. Thêm
\@vào tệp của bạn. - Thêm tên người dùng và tên máy chủ hợp lý nếu bạn đang làm việc trên máy chủ từ xa. Thêm
\uvà/hoặc\h. - Bạn có thể thêm thông tin về shell và phiên bản shell nếu nó liên quan đến công việc của bạn. Thêm \s và / hoặc \v vào tệp của bạn.
- Một dấu đô la $ thường đánh dấu cuối của dấu nhắc.
Bạn cũng có thể in dấu nhắc của mình bằng màu sắc. Điều này có thể hữu ích khi bạn tạo ra nhiều đầu ra (hoặc thông báo lỗi...) và bạn muốn xem chương trình bắt đầu ở đâu.
3. Tận dụng lịch sử của bạn một cách tối đa
Tất nhiên bạn không muốn gõ lại các lệnh giống nhau lần lượt. Tất nhiên cũng có tính năng hoàn thành bằng tab - bắt đầu gõ một lệnh, sau đó nhấn tab để tự động hoàn thành nó. Nhưng nếu bạn muốn truy cập các lệnh trong quá khứ của mình? Có một vài lựa chọn:
- Các mũi tên lên và xuống cho phép bạn di chuyển qua lịch sử gần đây của bạn.
- Nếu bạn muốn thực hiện lại lệnh cuối cùng của mình, gõ
!!. - Nếu bạn muốn thực hiện lại lệnh cuối cùng bắt đầu bằng foo, gõ
!foo. Cho ví dụ rằng lần cuối cùng tôi sử dụng trình soạn thảo văn bản yêu thích của tôi, tôi đã mở tệp cấu hình của mình:vim ~/.bash_profile. Lần tới, tôi chỉ cần gõ!vim. - Nếu bạn muốn truy cập đối số của lệnh trước đó, bạn có thể sử dụng
!$. Giả sử tôi vừa mở tệp cấu hình của mình với vim, nhưng bây giờ tôi muốn sử dụng một trình soạn thảo văn bản khác. Sau đó,nano !$là đủ. - Nếu bạn nhớ phần giữa của một lệnh dài, nhưng không nhớ các ký tự đầu tiên? Bạn có thể tìm kiếm lệnh bằng cách sử dụng
ctrl+Rvà sau đó gõ các ký tự mà bạn biết. Khi bạn đã tìm thấy lệnh, nhấnenternhư thông thường. - Nếu bạn muốn xem khoảng 500 lệnh gần đây mà bạn đã thực hiện, chỉ cần gõ history. Bạn có thể thay đổi số lượng lệnh được lưu trong lịch sử thành, ví dụ, một triệu lần nhập bằng cách thêm
HISTSIZE=1000000vàHISTFILESIZE=1000000vào cấu hình shell của bạn. Nếu bạn muốn xóa toàn bộ lịch sử, gõrm ~/.bash_history.
4. Sử dụng môi trường của bạn một cách hiệu quả
Bạn đã gặp một số biến môi trường - PS1, HISTSIZE và HISTFILESIZE. Nói chung, đây là các biến được viết bằng CHỮ IN HOA xác định các thuộc tính quan trọng của hệ thống.
Bạn có thể truy cập danh sách đầy đủ của chúng bằng lệnh set. Một ví dụ khác (trong nhiều ví dụ) là SHELLOPTS. Nó liệt kê tất cả các chương trình được đặt thành 'bật' khi bắt đầu phiên của bạn trong terminal. Tài liệu đầy đủ về các biến được thiết lập có sẵn có thể được tìm thấy trong tài liệu GNU.
5. Tận dụng các tùy chọn shell
Bạn có thể tùy chỉnh shell của bạn theo nhiều cách với các tùy chọn shell. Để hiển thị tất cả các tùy chọn, chạy các lệnh sau trong terminal của bạn:
bash -O
bash -o
Tùy chọn -O đề cập đến các tùy chọn cụ thể cho shell bash, trong khi -o đề cập đến tất cả các tùy chọn khác.
Trong danh sách hiển thị, bạn cũng sẽ thấy liệu một tùy chọn có được bật hay tắt. Bạn có thể thay đổi cài đặt mặc định bằng cách thêm dòng trong tệp cấu hình của bạn. Một số ví dụ hữu ích là:
# Chính tả chính xác
shopt -q -s cdspell
# Di chuyển đến thư mục chỉ với tên của nó
shopt -s autocd
# Nhận thông báo ngay lập tức khi công việc nền kết thúc
set -o notify
Tùy chọn đầu tiên được liệt kê ở đây giúp shell mạnh mẽ hơn trong việc xử lý những lỗi gõ sai. Tùy chọn thứ hai tiết kiệm bạn khỏi việc gõ cd mỗi khi bạn muốn thay đổi thư mục của mình. Và nếu bạn có nhiều công việc nền đang chạy, bạn có thể muốn nhận thông báo bằng cách thêm tùy chọn thứ ba vào tệp môi trường của bạn.
6. Tìm tệp theo tên
Hãy giả sử bạn đang tìm kiếm tệp foo.txt, nhưng bạn không biết bạn đã đặt nó ở đâu. Sau đó, từ thư mục home của bạn, gõ:
find . -name foo.txt
Ở đây, dấu . đại diện cho thư mục làm việc hiện tại và bạn chỉ định tên tệp với tùy chọn -name. Bạn cũng có thể sử dụng ký tự đại diện. Ví dụ, lệnh này sẽ trả về tất cả các tệp có định dạng txt:
find . -name *.txt
7. Tìm kiếm tệp theo nội dung
Giả sử bạn muốn tìm kiếm tất cả các trường hợp của bar trong foo.txt. Sau đó, grep sẽ giúp bạn:
grep bar foo.txt
Nếu bạn muốn tìm kiếm trong nhiều tệp, bạn có thể thêm chúng như sau:
grep bar foo.txt foo2.txt foo3.txt
Và nếu bạn muốn tìm kiếm bar trong tất cả các tệp của thư mục dirfoo, bạn có thể sử dụng chế độ đệ quy:
grep -r bar dirfoo
Để biết thêm tùy chọn, bạn có thể kiểm tra trang manual. Chỉ cần gõ man grep trong terminal của bạn.
8. Xử lý lượng đầu ra lớn
Đôi khi bạn sẽ muốn tìm kiếm với grep, nhưng đầu ra quá dài để in ra màn hình. Đó là lúc ký hiệu ống dẫn với | rất hữu ích.
Ví dụ, giả sử có một nghìn tệp trong thư mục dirfoo chứa từ khoá bar. Bạn có thể muốn xem lại đầu ra và chọn lọc những tệp bạn quan tâm. Sau đó, bạn có thể gõ:
grep -r bar dirfoo | less
Điều này sẽ hiển thị đầu ra một cách dễ tiếp thu hơn. Bạn có thể ghi chú lại các tệp bạn muốn, và đóng hiển thị bằng cách gõ q. Điều này sẽ giữ cho giao diện dòng lệnh của bạn sạch sẽ.
Bạn cũng có thể sử dụng grep theo cách nghịch đảo. Cho rằng bạn muốn chạy chương trình fooprog tạo ra nhiều đầu ra. Nhưng bạn chỉ quan tâm đến phần chứa bar.
Để làm cho đầu ra này dễ hiểu hơn, bạn có thể thêm ba dòng trước mỗi lần xuất hiện của bar, và năm dòng sau đó. Sau đó, bạn có thể gõ:
./fooprog | grep -B3 -A5 -i bar
Ở đây, -B3 chỉ ba dòng trước bar, và -A5 chỉ năm dòng sau nó. Như vậy, bạn có thể đảm bảo rằng chỉ có thông tin có ý nghĩa được in ra trên terminal của bạn.
9. Di chuyển trong văn bản
Bạn đã nghĩ rằng dòng lệnh của bạn chỉ là về phím? Đúng vậy, bạn có thể alt-click vào giữa một dòng trong cửa sổ terminal. Đôi khi hơi rối rắm, nhưng đủ để gây ấn tượng cho bạn bè của bạn.
Tuy nhiên, những phím tắt trên bàn phím sẽ tiết kiệm rất nhiều thời gian cho bạn. Để bắt đầu, tôi đề xuất bạn nên bắt đầu áp dụng các phím tắt sau:
- Di chuyển tới đầu dòng với
ctrl+a. - Di chuyển tới cuối dòng với
ctrl+e. - Xóa mọi thứ từ đầu dòng đến vị trí con trỏ với
ctrl+u. - Xóa mọi thứ từ con trỏ đến cuối dòng với
ctrl+k. - Bạn có thể áp dụng các phím tắt khác sử dụng danh sách đầy đủ phím tắt của Apple. Nó hoạt động tương đối tốt trên dòng lệnh Linux, cũng vậy.
Tất nhiên, bạn không thể học tất cả các phím tắt một lúc. Tôi đề xuất bắt đầu với một vài phím tắt và sau đó chuyển sang một vài phím tiếp theo sau khi bạn đã thành thạo những phím đầu tiên.
Điều quan trọng nhất: Hãy nhanh nhẹn, trở nên tuyệt vời.
Bạn đã học cách tùy chỉnh dòng lệnh của mình với các bí danh, dấu nhắc, biến môi trường và tùy chọn shell. Bây giờ bạn có thể truy cập vào lịch sử của nó, xem qua lượng lớn tệp tin và điều hướng đến các phần có ý nghĩa.
