Terminalde takma adları kalıcı olarak tanımlama


18

Tüm Terminal örneklerinde kullanılabilmeleri için ortamıma takma adlar eklemek istiyorum.

Bu cevabı aldım :

Evet, .bashrc, .bash_profile veya .profile içine koyabilirsiniz. Bazı sistemlerde kabuk başlatma komut dosyaları da .bash_aliases veya .aliases kaynak kodunu kullanır, böylece bu dosyalardan biri sisteminizde varsa bunları kullanmak mantıklı olabilir.

Ancak bu dosyaların hiçbirini bulamıyorum.

(OS X'i gizli dosyaları görecek şekilde yapılandırdım, ancak yukarıdakilerin hiçbirini göremiyorum 4.)


Takma adlar yalnızca kabukta (Terminal'de) çalışır, bu nedenle OS X ortamınıza takma adlar ekleyerek tam olarak ne demek istersiniz? Bir takma adı tüm kullanıcılar için erişilebilir hale getirmek istiyor musunuz?
nohillside

Gelecekte
açacağım

Düzenlemenizi geri aldım çünkü sorunun odağını değiştirdi. Hala zsh'a takma ad ekleme hakkında bir cevap arıyorsanız, lütfen yeni bir soru sorun.
nohillside

Yanıtlar:


23

Bash kullanırsanız, ~ / .bashrc'ye diğer ad komutlarını ekleyin ve ~ / .bash_profile gibi bir dosyayı kaydedin:

. ~/.bashrc

Bash etkileşimli bir oturum açma kabuğu olarak çağrıldığında, .bashrc'yi okur, ancak .bash_profile okumaz. Bash etkileşimli bir giriş kabuğu olarak çağrıldığında, .bash_profile değerini okur, ancak .bashrc'yi okumaz.

Terminal ve iTerm, varsayılan olarak giriş kabukları olarak yeni kabuklar açar, bu nedenle birçok OS X kullanıcısı kişisel yapılandırma dosyası olarak .bash_profile kullanır. Örneğin Emacs'daki tmux ve kabuk modu, giriş yapmayan kabuklar olarak yeni kabuklar açar.

.profile ayrıca ksh gibi diğer kabuklar tarafından okunur. Hem .bash_profile hem de .profile varsa, bash yalnızca .bash_profile öğesini etkileşimli bir giriş kabuğu olarak çağrıldığında okur.

Daha fazla bilgi için https://www.gnu.org/software/bash/manual/html_node/Bash-Startup-Files.html adresine bakın .


3
@EladBenda Eğer kullanıyorsanız zsh, takma ad komutlarını ekleyin ~/.zshrc. ~/.zshrchem (etkileşimli) hem giriş yapmayan hem de giriş yapma kabukları tarafından okunur, bu yüzden onu kaynaklamanız gerekmez ~/.zprofile.
Lri

Her zaman .bash_profile ve .bashrc arasındaki farkı bilmek istedim, şimdi biliyorum. Teşekkürler.
Deesbek

Daha iyi bir seçenek, oh-my-zsh kullanıyorsanız, takma adları ~ / .aliases adlı bir dosyada tutmaktır. Bu dosya yoksa, ana klasöre eklenebilir ve gizli bir dosya olabilir.
Anusha

6

Yeni bir Terminal penceresi açın ve ana dizininize gidin (sadece yazın cdve Enter tuşuna basın).

Bundan sonra ls .bash*ve yazın ls .profile(lütfen bu dosya adlarının her birinin bir nokta ile başladığını unutmayın). Bu dosyalara sahipseniz (ve en azından .profile dosyasına sahip olmanız gerekiyorsa), dosyaları düzenlemeniz ve diğer adlarınızı bunlara eklemeniz gerekir. Bu dosyaları düzenlemek için VI (veya VIM) kullanıyorum, ancak başka bir düzenleyici kullanabilirsiniz (aslında Terminal pencerenize open .bash_profileyazdığınızda, VI'ya aşina değilseniz biraz daha kullanıcı dostu olabilecek TextEditor'da açılır) . Herhangi bir nedenle, bu dosyalardan hiçbirine sahip değilseniz, yeni bir dosya oluşturun (ve .bashrc olarak adlandırın), diğer ad satırlarınızı içine ekleyin (böylece, bunları yazdığınız gibi her satıra bir komut olacak) ve ardından dosyayı kaydedin. Daha sonra .bash_profile ve .profile için semboller kullanarak oluşturabilirsiniz ln -s .bashrc .bash_profile; ln -s .bashrc .profile.

Ben tipik olarak .bashrc ve .bash_profile .profile sembolik bağlantılar yapmak ve sonra sadece bir dosya hakkında endişelenmek zorunda.

Bu dosyalar arasındaki fark, bash'ın bir giriş kabuğu (genellikle bir giriş işlemi kabuğu bir giriş kabuğu olarak başlatır) veya yalnızca etkileşimli (ancak giriş değil) bir kabuk olarak başlatılıp başlatılmamasına bağlı olarak farklı olanları kaynaklayacağıdır. etkileşimli olmayan bir kabuk. Üç dosyanın hepsinin aynı olması, bash'ın nasıl başlatıldığına bakılmaksızın bana tutarlı bir ortam sağlar.

Yaparak daha fazla bilgi alacaksınız man bash, ancak hazırlıklı olun, bu uzun bir sayfa. Hangi modun başlatıldığına bağlı olarak üç dosyadan (.bashrc, .profile ve .bash_profile) hangilerinin kaynaklandığını görebilirsiniz.

Umarım yardımcı olur - eğer değilse, bana bağır.


3

Terminal'e aşağıdaki komutları girin:

cd /etc
sudo vi bashrc

aşağıdaki gibi ekleyin:

alias ll="ls -lrt"

Son olarak Terminal'i yeniden başlatın.


2

Bu makine genişliğine ihtiyacınız varsa, /etcklasöre bakmanız gerekir . Ancak, varsayılan olarak mevcut olmayabilirler, bu durumda bunları yukarıdaki klasörde oluşturmanız ve terminali yeniden başlatmanız yeterlidir. Büyük olasılıkla klasöre ait olduğundan sudobunları oluşturmak için kullanmanız gerekecektir ./etcroot

Açtığınız her terminal için buna ihtiyacınız varsa, onu makine çapında yapmanız gerekmez. Bu dosyaları kendi ana klasörünüzde oluşturabilirsiniz ve her terminal oturumuna başladığınızda terminal tarafından okunur.

Ayrıca yorumlarda belirtildiği gibi, bunları yalnızca terminal kullanarak ve kullanarak görebilirsiniz ls -lha.


0

yakut yüklüyse, bu yakut betiğine göz at https://github.com/ytbryan/aka

Komut dosyası nokta dosyasının kalıcılığı ve otomatik kaynaklanması gibi işlevler sağlar. Diğer adları terminal aracılığıyla iş akışınızı bozmadan yönetebilir ve bir metin düzenleyicisi açabilirsiniz.

Feragatname: Bu senaryoyu yazdım ve her gün kullanıyorum. Herhangi bir hata / fikir olup olmadığını bana bildirin. :)


0

Linux BASH'da olduğu gibi ll komutunu arayanlarınız için, bu şekilde oluşturulur ...

alias ll="ls -laF"

Bu satırı .bashrcdosyanıza ekleyin , ardından .bashrcdosyayı şu şekilde çoğaltın; .bash_profileher zaman ve daha fazla süreye sahip olursunuz.

Değeri için, linux BASH ll sadece " ls -laF" bir takma addır .


-2

Profiller konumumda hiçbir .bash veya .profile bulunmadığı gibi aynı Sorun vardı. sonunda buldum / vb


1
/ etc sistem genelinde kullanılır. Bu dosyaları düzenlememenizi, ancak ana klasörünüzdeki kendi profil dosyalarınızı kullanmanızı öneririz, örneğin ~ / .bash_profile.
grg

Ben ~ / .bash_profile için dikiş yok, ben denedim ilk şey oldu ve eğer bir oluşturmak, hatta bir yeniden başlatma sonra kullanılan beeing değil, ben benim yöneticiler bunu nasıl önlenmiş olması gerektiğine inanıyorum. şimdi zsh kullanıyorum ve .zshrc iyi çalışıyor
Leo Boulanger
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.