Cho đến nay, trong loạt bài hướng dẫn này, chúng ta đã thảo luận về cách sử dụng cơ bản cũng như các chi tiết liên quan của lệnh cd - và pushd/popd, cũng như biến môi trường CDPATH. Trong phần thứ tư và cũng là phần cuối cùng này, chúng ta sẽ thảo luận về khái niệm bí danh cũng như cách bạn có thể sử dụng chúng để điều hướng dòng lệnh dễ dàng và mượt mà hơn.
Ví dụ, lệnh sau đây tạo ra một bí danh 'home' cho lệnh 'cd ~':
Điều này có nghĩa là bây giờ bạn có thể nhanh chóng gõ 'home' và nhấn enter bất cứ khi nào bạn muốn quay lại thư mục gốc của mình từ bất kỳ đâu trên hệ thống.
Đây là những gì trang hướng dẫn lệnh bí danh nói về điều này tiện ích:
Vậy, chính xác thì bí danh giúp ích gì trong việc điều hướng dòng lệnh? Vâng, đây là một ví dụ đơn giản:
Giả sử bạn đang làm việc trong thư mục /home/himanshu/projects/howtoforge, thư mục này chứa nhiều thư mục con và thư mục con. Ví dụ, sau đây là một nhánh thư mục hoàn chỉnh:
Bây giờ hãy tưởng tượng, bạn đang ở trong thư mục 'cuối cùng', sau đó bạn muốn quay lại thư mục 'tips-tricks' và từ đó, bạn cần quay lại thư mục 'howtoforge'. Bạn sẽ làm gì?
Thông thường, bạn sẽ chạy tập lệnh sau:
Mặc dù cách tiếp cận này không sai, nhưng chắc chắn là không tiện lợi, đặc biệt là khi bạn phải quay lại, chẳng hạn như 5 thư mục trong một đường dẫn rất dài. Vậy, giải pháp là gì? Câu trả lời là: bí danh.
Những gì bạn có thể làm là tạo các bí danh dễ nhớ (và dễ gõ) cho mỗi lệnh cd ... Ví dụ:
Vì vậy, bây giờ bất cứ khi nào bạn muốn quay lại, chẳng hạn như 5 địa điểm, từ thư mục làm việc hiện tại của bạn, bạn chỉ cần chạy lệnh sau:
Bây giờ không phải dễ dàng sao?
Đối với điều này, bạn cần định nghĩa các bí danh của mình trong tệp ~/.bash_aliases, được tải bởi tệp ~/.bashrc của bạn theo mặc định (vui lòng xác minh điều này nếu bạn đang sử dụng phiên bản Ubuntu cũ hơn).
Sau đây là đoạn trích từ tệp .bashrc của tôi nói về tệp .bash_aliases:
Sau khi bạn đã thêm định nghĩa bí danh vào tệp .bash_aliases của mình, bí danh đó sẽ khả dụngtrên mọi terminal mới. Tuy nhiên, bạn sẽ không thể sử dụng nó trong bất kỳ terminal nào khác đã mở khi bạn định nghĩa bí danh đó - cách thoát là lấy .bashrc từ các terminal đó. Sau đây là lệnh chính xác mà bạn sẽ phải chạy:
Nếu điều đó nghe có vẻ hơi quá sức (vâng, tôi đang nhìn các bạn, NHỮNG NGƯỜI LƯỜI BIẾNG), thì đây là một phím tắt để thực hiện tất cả những điều này:
Không cần phải nói, bạn sẽ phải thay thế [the-alias] bằng lệnh thực tế. Ví dụ:
Tiếp tục, bây giờ giả sử bạn đã tạo một số bí danh và đã sử dụng chúng trong một vài tháng. Đột nhiên, một ngày nọ, bạn nghi ngờ rằng một trong số chúng không hoạt động như mong đợi. Vì vậy, bạn cảm thấy cần phải xem lệnh chính xác được gán cho thatalias. Bạn sẽ làm gì?
Tất nhiên, bạn có thể mở tệp .bash_aliases của mình và xem ở đó, nhưng quá trình này có thể hơi tốn thời gian, đặc biệt là khi tệp chứa nhiều bí danh. Vì vậy, nếu bạn đang tìm cách dễ dàng để thoát khỏi vấn đề, thì đây là một cách: tất cả những gì bạn phải làm là chạy lệnh alias với alias-name làm đối số.
Đây là một ví dụ:
Như bạn có thể thấy, lệnh đã đề cập ở trên hiển thị lệnh thực tế được gán cho bí danh bk6. Còn một cách nữa: sử dụng lệnh type. Sau đây là một ví dụ:
Vì vậy, lệnh type tạo ra đầu ra dễ hiểu hơn đối với con người.
Một điều khác đáng chia sẻ ở đây là bạn có thể sử dụng bí danh cho các lỗi đánh máy thường gặp. Ví dụ:
Cuối cùng, cũng đáng nói đến là không phải ai cũng ủng hộ việc sử dụng bí danh. Hầu hết họ cho rằng khi bạn đã quen với các bí danh mà bạn tự định nghĩa để dễ sử dụng, bạn sẽ thấy rất khó để làm việc trên một số hệ thống khác không có các bí danh đó (và bạn cũng không được phép tạo bất kỳ bí danh nào). Để biết thêm (cũng như lý do chính xác) tại sao một số chuyên gia không khuyến nghị sử dụng bí danh, bạn có thể truy cập tại đây.
Vậy là loạt bài hướng dẫn này kết thúc. Hy vọng bạn thích nó cũng như học được một số điều/khái niệm mới từ nó. Trong trường hợp bạn có bất kỳ thắc mắc hoặc câu hỏi nào, vui lòng chia sẻ với chúng tôi (và phần còn lại của thế giới) trong phần bình luận bên dưới.
Bí danh dòng lệnh trong Linux
Nói một cách dễ hiểu, bí danh có thể được coi là tên viết tắt hoặc từ viết tắt của một lệnh phức tạp hoặc một nhóm lệnh, bao gồm cả đối số hoặc tùy chọn của chúng. Về cơ bản, với các bí danh, bạn tạo ra những cái tên dễ nhớ cho các lệnh không dễ gõ/nhớ.Ví dụ, lệnh sau đây tạo ra một bí danh 'home' cho lệnh 'cd ~':
Mã:
alias home="cd ~"
Đây là những gì trang hướng dẫn lệnh bí danh nói về điều này tiện ích:
Mã:
The alias utility shall create or redefine alias definitions or write the values of existing alias definitions to standard output. An alias definition provides a string value that shall replace a command name when it is encountered
An alias definition shall affect the current shell execution environment and the execution environments of the subshells of the current shell. When used as specified by this volume of IEEE Std 1003.1-2001, the alias definition shall not affect the parent process of the current shell nor any utility environment invoked by the shell.
Giả sử bạn đang làm việc trong thư mục /home/himanshu/projects/howtoforge, thư mục này chứa nhiều thư mục con và thư mục con. Ví dụ, sau đây là một nhánh thư mục hoàn chỉnh:
Mã:
/home/himanshu/projects/howtoforge/command-line/navigation/tips-tricks/part4/final
Thông thường, bạn sẽ chạy tập lệnh sau:
Mã:
cd ../..
Mã:
cd ../../..
Những gì bạn có thể làm là tạo các bí danh dễ nhớ (và dễ gõ) cho mỗi lệnh cd ... Ví dụ:
Mã:
alias bk1="cd .."
alias bk2="cd ../.."
alias bk3="cd ../../.."
alias bk4="cd ../../../.."
alias bk5="cd ../../../../.."
Mã:
bk5
Chi tiết liên quan
Mặc dù kỹ thuật chúng tôi đã sử dụng để việc định nghĩa các bí danh cho đến nay (sử dụng lệnh alias) trên dấu nhắc shell sẽ giải quyết được vấn đề, các bí danh chỉ tồn tại trong phiên thiết bị đầu cuối hiện tại. Có nhiều khả năng là bạn muốn các bí danh do bạn định nghĩa được lưu lại để có thể sử dụng trong bất kỳ cửa sổ/tab đầu cuối dòng lệnh mới nào mà bạn khởi chạy sau đó.Đối với điều này, bạn cần định nghĩa các bí danh của mình trong tệp ~/.bash_aliases, được tải bởi tệp ~/.bashrc của bạn theo mặc định (vui lòng xác minh điều này nếu bạn đang sử dụng phiên bản Ubuntu cũ hơn).
Sau đây là đoạn trích từ tệp .bashrc của tôi nói về tệp .bash_aliases:
Mã:
[B]# Alias definitions.[/b]
[B]# You may want to put all your additions into a separate file like[/b]
[B]# ~/.bash_aliases, instead of adding them here directly.[/b]
[B]# See /usr/share/doc/bash-doc/examples in the bash-doc package.[/b]
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
Mã:
source ~/.bashrc
Mã:
"alias [the-alias]" >> ~/.bash_aliases && source ~/.bash_aliases
Mã:
"alias bk5='cd ../../../../..'" >> ~/.bash_aliases && source ~/.bash_aliases
Tất nhiên, bạn có thể mở tệp .bash_aliases của mình và xem ở đó, nhưng quá trình này có thể hơi tốn thời gian, đặc biệt là khi tệp chứa nhiều bí danh. Vì vậy, nếu bạn đang tìm cách dễ dàng để thoát khỏi vấn đề, thì đây là một cách: tất cả những gì bạn phải làm là chạy lệnh alias với alias-name làm đối số.
Đây là một ví dụ:
Mã:
$ alias bk6
alias bk6='cd ../../../../../..'
Mã:
$ type bk6
bk6 is aliased to `cd ../../../../../..'
Một điều khác đáng chia sẻ ở đây là bạn có thể sử dụng bí danh cho các lỗi đánh máy thường gặp. Ví dụ:
Mã:
alias mroe='more'
Kết luận
Giống như biến môi trường CDPATH mà chúng ta đã thảo luận ở phần trước, bí danh cũng là con dao hai lưỡi mà người ta nên sử dụng rất thận trọng. Tuy nhiên, đừng nản lòng, vì mọi thứ đều có ưu và nhược điểm riêng. Chỉ cần thực hành và kiến thức đầy đủ là chìa khóa khi bạn xử lý các khái niệm như bí danh.Vậy là loạt bài hướng dẫn này kết thúc. Hy vọng bạn thích nó cũng như học được một số điều/khái niệm mới từ nó. Trong trường hợp bạn có bất kỳ thắc mắc hoặc câu hỏi nào, vui lòng chia sẻ với chúng tôi (và phần còn lại của thế giới) trong phần bình luận bên dưới.