टर्मिनल में एलियंस को लगातार कैसे परिभाषित करें


18

मैं अपने वातावरण में उपनाम जोड़ना चाहता हूं ताकि वे सभी टर्मिनल उदाहरणों में उपलब्ध हों।

मुझे यह उत्तर मिला :

हां, आप इसे अपने .bashrc, .bash_profile या .profile में डाल सकते हैं। कुछ सिस्टम पर शेल इनिट स्क्रिप्ट भी स्रोत .bash_aliases या .aliases तो अगर उन फ़ाइलों में से एक आपके सिस्टम पर मौजूद है तो इसका उपयोग करने के लिए समझ में आ सकता है।

लेकिन मुझे इनमें से कोई भी फाइल नहीं मिल रही है।

(मैंने छुपी हुई फ़ाइलों को देखने के लिए OS X को कॉन्फ़िगर किया है, और फिर भी मुझे उपरोक्त 4 में से कोई नहीं दिखता है)


उपनाम केवल शेल में काम करते हैं (टर्मिनल में), तो वास्तव में आपके ओएस एक्स वातावरण में उपनाम जोड़ने का क्या मतलब है? क्या आप सभी उपयोगकर्ताओं के लिए एक उपनाम बनाना चाहते हैं?
nohillside

मेरा मतलब था कि यह भविष्य में मेरे द्वारा खोले जाने वाले हर टर्मिनल उदाहरण के लिए सेट किया जाएगा
एलाड बेंडा

मैंने आपका संपादन वापस कर दिया है क्योंकि इसने सवाल का फोकस बदल दिया है। यदि आप अभी भी एक उत्तर की तलाश कर रहे हैं कि एलियश को ज़ीश में कैसे जोड़ा जाए, तो कृपया एक नया प्रश्न पूछें।
nohillside

जवाबों:


23

यदि आप बैश का उपयोग करते हैं, तो अन्य कमांड को ~ / .bashrc में जोड़ें और एक फाइल को इस तरह सेव करें ~ / .bash -profile:

. ~/.bashrc

जब बैश को एक इंटरैक्टिव नॉन-लॉगिन शेल के रूप में लगाया जाता है, तो यह पढ़ता है .bashrc लेकिन नहीं .bash_profile। जब बैश किया जाता है तो इसे इंटरेक्टिव लॉगिन शेल के रूप में आमंत्रित किया जाता है, यह पढ़ता है .bash_profile लेकिन .bashrc नहीं।

टर्मिनल और iTerm डिफ़ॉल्ट रूप से लॉगिन गोले के रूप में नए गोले खोलते हैं, इसलिए बहुत से ओएस एक्स उपयोगकर्ता सिर्फ .bash_profile का उपयोग उनके नए कॉन्फ़िगरेशन फ़ाइल के रूप में करते हैं। उदाहरण के लिए tmux और Emacs में शेल मोड गैर-गोले शेल के रूप में नए शेल खोलते हैं।

.profile को ksh जैसे अन्य शेल द्वारा भी पढ़ा जाता है। यदि दोनों .bash_profile और .profile मौजूद हैं, तो bash केवल पढ़ता है .bash_profile जब इसे एक इंटरैक्टिव लॉगिन शेल के रूप में लागू किया जाता है।

अधिक जानकारी के लिए https://www.gnu.org/software/bash/manual/html_node/Bash-Startup-Files.html देखें ।


3
@EladBenda यदि आप उपयोग करते हैं zsh, तो उपनाम आदेश जोड़ें ~/.zshrc~/.zshrcदोनों (संवादात्मक) गैर-लॉगिन और लॉगिन शेल द्वारा पढ़ा जाता है, इसलिए आपको इसे स्रोत नहीं करना है ~/.zprofile
लारी

हमेशा .bash_profile और .bashrc के बीच अंतर जानना चाहते थे, अब मुझे पता है। धन्यवाद।
डेसबेक

एक बेहतर विकल्प यह है कि अगर आप ओह-माय-ज़ेड का उपयोग कर रहे हैं, तो एलियाज़ नामक एक फ़ाइल में है। यदि यह फ़ाइल मौजूद नहीं है, तो इसे होम फ़ोल्डर में जोड़ा जा सकता है और यह एक छिपी हुई फ़ाइल होगी।
अनुशा

6

एक नई टर्मिनल विंडो खोलें और अपने होम डायरेक्टरी में जाएं (बस टाइप करें cdऔर एंटर दबाएं)।

उसके बाद, टाइप करें ls .bash*और भी ls .profile(कृपया ध्यान दें कि उनमें से प्रत्येक फ़ाइल नाम डॉट से शुरू होता है)। यदि आपके पास वे फ़ाइलें हैं (और आपके पास कम से कम। उपयोगी एक होना चाहिए) तो आपको उन्हें संपादित करने और अपने उपनामों को उनके साथ जोड़ने की आवश्यकता है। मैं उन फ़ाइलों को संपादित करने के लिए VI (या VIM) का उपयोग करता हूं, लेकिन आप किसी अन्य संपादक का उपयोग कर सकते हैं (वास्तव में आपकी टर्मिनल विंडो में टाइप करने से open .bash_profileयह TextEditor में खुल जाएगा, जो यदि आप VI से परिचित नहीं हैं, तो थोड़ा अधिक उपयोगकर्ता के अनुकूल हो सकता है) । यदि, किसी कारण से, आपके पास उन फ़ाइलों में से कोई भी नहीं है, तो एक नया बनाएं (और इसे .bashrc) कहें, इसमें अपनी उपनाम रेखाएं जोड़ें (इसलिए यह प्रति पंक्ति एक कमांड होगी, जैसा कि आप उन्हें टाइप करेंगे। शेल में) और फिर फाइल को सेव करें। तब आप उपयोग करके .bash_profile और .profile के लिए सहानुभूति बना सकते हैं ln -s .bashrc .bash_profile; ln -s .bashrc .profile

मैं आमतौर पर क्या करता हूं मैं .bashrc और .bash_profile प्रतीकात्मक लिंक को .profile करता हूं और फिर केवल एक फ़ाइल के बारे में चिंता करना पड़ता है।

उन फ़ाइलों के बीच अंतर यह है कि बैश अलग-अलग लोगों को स्रोत पर निर्भर करेगा कि क्या यह एक लॉगिन शेल के रूप में शुरू किया गया है (आमतौर पर एक लॉगिन प्रक्रिया एक शेल खोल के रूप में खोलना शुरू करेगी) या सिर्फ एक इंटरैक्टिव (लेकिन लॉगिन नहीं) शेल के रूप में, या एक गैर-इंटरैक्टिव शेल। सभी तीन फ़ाइलों को अनिवार्य रूप से एक ही होने के बावजूद मुझे लगातार वातावरण देता है कि कैसे बैश शुरू किया गया था।

आपको अधिक जानकारी मिल जाएगी man bash, लेकिन तैयार रहें, यह एक लंबा आदमी पृष्ठ है। आप यह देख पाएंगे कि तीन में से कौन सी फाइल (.bashrc, .profile और .bash_profile) पर निर्भर है और किस मोड पर बैश शुरू किया गया था।

आशा है कि मदद करता है - यदि नहीं, तो मुझे एक चिल्लाओ।


3

टर्मिनल में निम्नलिखित कमांड दर्ज करें:

cd /etc
sudo vi bashrc

निम्नलिखित जोड़ें जैसे:

alias ll="ls -lrt"

अंत में टर्मिनल को पुनः आरंभ करें।


2

यदि आपको इस मशीन की आवश्यकता है तो आपको /etcफ़ोल्डर में देखने की आवश्यकता है । हालाँकि, वे डिफ़ॉल्ट रूप से मौजूद नहीं हो सकते हैं, इस स्थिति में आपको बस उन्हें उपरोक्त फ़ोल्डर में बनाना होगा और टर्मिनल को पुनरारंभ करना होगा। फ़ोल्डर के स्वामित्व sudoमें होने के कारण आपको उन्हें बनाने के लिए उपयोग करने की आवश्यकता होगी ।/etcroot

यदि आपको प्रत्येक टर्मिनल के लिए इसकी आवश्यकता होती है तो आपको इसे मशीन वाइड करने की आवश्यकता नहीं है। आप इन फ़ाइलों को अपने स्वयं के होम फ़ोल्डर में बना सकते हैं और यह टर्मिनल सत्र शुरू करने पर हर बार टर्मिनल द्वारा पढ़ा जाएगा।

जैसा कि टिप्पणियों में उल्लेख किया गया है, आप आम तौर पर केवल इन टर्मिनल और उपयोग का उपयोग कर पाएंगे ls -lha


0

यदि आपके पास माणिक स्थापित है, तो इस माणिक स्क्रिप्ट की जाँच करें https://github.com/ytbryan/aka

स्क्रिप्ट डॉट फ़ाइल की दृढ़ता और ऑटो सोर्सिंग जैसी कार्यक्षमता प्रदान करती है। आप अपने वर्कफ़्लो को तोड़ने के बिना टर्मिनल के माध्यम से उपनाम का प्रबंधन कर सकते हैं और एक पाठ संपादक खोल सकते हैं।

अस्वीकरण: मैंने यह स्क्रिप्ट लिखी है और इसे हर रोज उपयोग करता हूं। अगर कोई बग / विचार है तो मुझे बताएं। :)


0

लिनक्स BASH की तरह ll कमांड की तलाश करने वालों के लिए, इसे इस तरह बनाया गया है ...

alias ll="ls -laF"

उस लाइन को अपनी .bashrcफ़ाइल में जोड़ें , फिर .bashrcफ़ाइल को इस रूप में डुप्लिकेट करें .bash_profile, और आपके पास हमेशा और हमेशा के लिए होगा।

इसके लायक क्या है, linux BASH पर ll सिर्फ " ls -laF" का उपनाम है ।


-2

मैं एक ही समस्या थी, कि मैं अपने प्रोफ़ाइल स्थान में कोई .bash या .profile नहीं था। मैं अंत में इसे / etc में पाया


1
/ etc का प्रयोग प्रणाली-व्यापी है। मैं दृढ़ता से इन फ़ाइलों को संपादित न करने की सलाह देता हूं, बल्कि अपने घर के फ़ोल्डर में अपनी स्वयं की प्रोफ़ाइल फ़ाइलों का उपयोग कर रहा हूं, जैसे ~ / .bash_profile।
GRG

मैं सीवन नहीं करता ~ ~। मैं अब zsh और .zshrc का अच्छी तरह से उपयोग कर रहा हूं
Leo Boulanger
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.