Cách xác định liên tục các bí danh trong Terminal


18

Tôi muốn thêm bí danh vào môi trường của mình để chúng có sẵn trong tất cả các phiên bản Terminal.

Tôi nhận được câu trả lời này :

Có, bạn có thể đặt nó trong .bashrc, .bash_profile hoặc .profile của bạn. Trên một số hệ thống, các tập lệnh init shell cũng có nguồn .bash_aliases hoặc .aliases vì ​​vậy nếu một trong những tệp đó tồn tại trên hệ thống của bạn, có thể có ý nghĩa khi sử dụng chúng.

Nhưng tôi không thể tìm thấy bất kỳ tập tin nào trong số này.

(Tôi đã cấu hình OS X để xem các tập tin ẩn, nhưng tôi không thấy bất kỳ điều nào ở trên 4.)


Các bí danh chỉ hoạt động trong trình bao (trong Terminal), vậy chính xác ý bạn là gì khi thêm bí danh vào môi trường OS X của bạn? Bạn có muốn làm cho một bí danh có thể truy cập được cho tất cả người dùng?
nohillside

Ý tôi là nó sẽ được đặt cho mọi phiên bản thiết bị đầu cuối mà tôi mở trong tương lai
Elad Benda

Tôi đã khôi phục chỉnh sửa của bạn vì nó đã thay đổi trọng tâm của câu hỏi. Nếu bạn vẫn đang tìm kiếm một câu trả lời về cách thêm bí danh vào zsh, vui lòng hỏi một câu hỏi mới.
nohillside

Câu trả lời:


23

Nếu bạn sử dụng bash, hãy thêm các lệnh bí danh vào ~ / .bashrc và lưu một tệp như thế này dưới dạng ~ / .bash_profile:

. ~/.bashrc

Khi bash được gọi dưới dạng shell không đăng nhập tương tác, nó sẽ đọc .bashrc chứ không phải .bash_profile. Khi bash được gọi như là một vỏ đăng nhập tương tác, nó đọc .bash_profile nhưng không phải .bashrc.

Terminal và iTerm mở shell mới dưới dạng shell đăng nhập theo mặc định, vì vậy nhiều người dùng OS X chỉ sử dụng .bash_profile làm tệp cấu hình cá nhân của họ. Ví dụ, tmux và chế độ shell trong Emacs mở shell mới dưới dạng shell không đăng nhập.

.profile cũng được đọc bởi các shell khác như ksh. Nếu cả .bash_profile và .profile tồn tại, bash chỉ đọc .bash_profile khi nó được gọi dưới dạng vỏ đăng nhập tương tác.

Xem https://www.gnu.org/software/bash/manual/html_node/Bash-Startup-Files.html để biết thêm thông tin.


3
@EladBenda Nếu bạn sử dụng zsh, hãy thêm các lệnh bí danh vào ~/.zshrc. ~/.zshrcđược đọc bởi cả vỏ (không tương tác) và không đăng nhập, vì vậy bạn không cần phải lấy nguồn từ đó ~/.zprofile.
Lri

Luôn luôn muốn biết sự khác biệt giữa .bash_profile và .bashrc, bây giờ tôi biết. Cảm ơn.
Deesbek

Một lựa chọn tốt hơn là giữ bí danh trong một tệp có tên ~ / .aliases nếu bạn đang sử dụng oh-my-zsh. Nếu tệp này không tồn tại, nó có thể được thêm vào thư mục chính và sẽ là một tệp ẩn.
Anusha

6

Mở một cửa sổ Terminal mới và vào thư mục chính của bạn (chỉ cần gõ cdvà nhấn Enter).

Sau đó, nhập ls .bash*và cũng ls .profile(xin lưu ý mỗi tên tệp bắt đầu bằng dấu chấm). Nếu bạn có các tệp đó (và bạn nên có ít nhất tệp .profile) thì bạn cần chỉnh sửa chúng và thêm bí danh của bạn vào chúng. Tôi sử dụng VI (hoặc VIM) để chỉnh sửa các tệp đó, nhưng bạn có thể sử dụng trình chỉnh sửa khác (thực tế gõ vào cửa sổ Terminal của bạn open .bash_profilesẽ mở nó trong TextEditor, có thể thân thiện với người dùng hơn một chút nếu bạn không quen với VI) . Nếu, vì một số lý do, bạn không có bất kỳ tệp nào trong số đó, sau đó tạo một tệp mới (và gọi nó là .bashrc), thêm các dòng bí danh của bạn vào đó (vì vậy đây sẽ là một lệnh trên mỗi dòng, như bạn sẽ gõ chúng trong shell) và sau đó lưu tệp. Sau đó, bạn có thể tạo liên kết tượng trưng đến .bash_profile và .profile bằng cách sử dụng ln -s .bashrc .bash_profile; ln -s .bashrc .profile.

Những gì tôi thường làm là tôi tạo các liên kết tượng trưng .bashrc và .bash_profile đến .profile và sau đó chỉ phải lo lắng về một tệp duy nhất.

Sự khác biệt giữa các tệp đó là bash sẽ cung cấp các tệp khác nhau tùy thuộc vào việc nó đã được bắt đầu như một vỏ đăng nhập (thông thường, quá trình đăng nhập sẽ khởi động shell như một vỏ đăng nhập) hoặc chỉ là một vỏ tương tác (nhưng không đăng nhập), hoặc một vỏ không tương tác. Có tất cả ba tệp về cơ bản giống nhau mang lại cho tôi môi trường nhất quán bất kể bash được bắt đầu như thế nào.

Bạn sẽ nhận được nhiều thông tin hơn bằng cách thực hiện man bash, nhưng hãy chuẩn bị, đó là một trang dài. Bạn sẽ có thể xem tệp nào trong ba tệp (.bashrc, .profile và .bash_profile) có nguồn gốc tùy thuộc vào chế độ nào được bash bắt đầu.

Hy vọng rằng sẽ giúp - nếu không, cho tôi một tiếng hét.


3

Nhập các lệnh sau trong Terminal:

cd /etc
sudo vi bashrc

thêm vào như sau:

alias ll="ls -lrt"

Cuối cùng khởi động lại Terminal.


2

Nếu bạn cần máy này rộng, bạn cần xem trong /etcthư mục. Tuy nhiên, chúng có thể không tồn tại theo mặc định, trong trường hợp đó bạn chỉ cần tạo chúng trong thư mục trên và khởi động lại thiết bị đầu cuối. Rất có thể bạn sẽ cần sử dụng sudođể tạo chúng vì /etcthư mục được sở hữu root.

Nếu bạn cần điều này cho mọi thiết bị đầu cuối bạn mở, bạn không cần phải mở rộng máy. Bạn có thể tạo các tệp này trong thư mục nhà riêng của mình và nó sẽ được đọc bởi thiết bị đầu cuối mỗi khi bạn bắt đầu một phiên cuối.

Ngoài ra, như đã đề cập trong các bình luận, nhìn chung bạn sẽ chỉ có thể thấy những điều này bằng cách sử dụng thiết bị đầu cuối và sử dụng ls -lha.


0

nếu bạn đã cài đặt ruby, hãy xem tập lệnh ruby ​​này https://github.com/ytbryan/aka

Kịch bản cung cấp các chức năng như tính bền vững và tự động tìm nguồn của tệp chấm. Bạn có thể quản lý bí danh thông qua thiết bị đầu cuối mà không phá vỡ quy trình làm việc của bạn và mở trình soạn thảo văn bản.

từ chối trách nhiệm: Tôi đã viết kịch bản này và sử dụng nó hàng ngày. Hãy cho tôi biết nếu có bất kỳ lỗi / ý tưởng. :)


0

Đối với những bạn đang tìm kiếm lệnh ll như trong Linux BASH, nó được tạo như thế này ...

alias ll="ls -laF"

Thêm dòng đó vào .bashrctệp của bạn , sau đó sao chép .bashrctệp dưới dạng .bash_profilevà bạn sẽ luôn luôn và mãi mãi.

Đối với những gì nó có giá trị, sẽ trên linux BASH chỉ là một bí danh của " ls -laF".


-2

tôi có cùng một vấn đề, rằng tôi không có .bash hoặc .profile trong vị trí Hồ sơ của tôi. cuối cùng tôi đã tìm thấy nó trong / etc


1
/ etc được sử dụng trên toàn hệ thống. Tôi thực sự khuyên bạn không nên chỉnh sửa các tệp này mà thay vào đó sử dụng các tệp hồ sơ của riêng bạn trong thư mục nhà của bạn, ví dụ ~ / .bash_profile.
grg

Tôi không có đường may để có ~ / .bash_profile, đó là điều đầu tiên tôi đã thử và nếu tôi tạo nó, nó không được sử dụng ngay cả sau khi khởi động lại, tôi tin rằng quản trị viên của tôi phải ngăn nó bằng cách nào. Bây giờ tôi đang sử dụng zsh và .zshrc hoạt động tốt
Leo Boulanger
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.