कैसे एक अनुगामी आगे-स्लेश के साथ निर्देशिका को सूचीबद्ध करने के लिए ls मिलता है?


13

मेरे खोल है bash। मैं lsएक अनुगामी आगे-स्लेश के साथ निर्देशिका दिखाने के लिए आउटपुट कैसे प्राप्त कर सकता हूं ? जब मैं कर lsमें tcshयह वांछित उत्पादन देता है। bashबिना किसी तर्कों का उपयोग किए मुझे यह कैसे हो सकता है?

जैसे।

bin/
lib/
src/
file1.txt
file2.txt

7
आपका शेल यहां प्रासंगिक नहीं है ... man lsफिर नीचे स्क्रॉल करें-p
don_crissti

क्या यह -Fझंडा है? मैं इसका इस्तेमाल कभी नहीं करता, इसलिए मैं याद नहीं कर सकता ...
जेफ स्कॉलर

1
अपने शीर्षक के अनुसार पीछे की ओर, या अनुगामी स्लैश के साथ (जो अधिक समझ में आता है) आपके उदाहरण के अनुसार?
गिल्स एसओ- बुराई को रोकें '23

@don_crissti प्रश्न को मेरा संपादन देखें।
CJ7

@ CJ7 - type lsआउटपुट क्या है ? शायद एक उपनाम?
don_crissti

जवाबों:


13

सबसे सरल उपाय (जैसा कि पहले ही टिप्पणी में @don_crissti द्वारा दिया गया है) है:

ls -p

आप के साथ एक समान प्रभाव प्राप्त कर सकते हैं:

ls -F

लेकिन इससे कुछ अन्य संकेतक भी जुड़ेंगे:

फ़ाइल प्रकार को इंगित करने वाले प्रत्येक फ़ाइल नाम के लिए एक चरित्र जोड़ें। इसके अलावा, नियमित फ़ाइलों के लिए जो निष्पादन योग्य हैं, संलग्न करें *। फ़ाइल प्रकार संकेतक /निर्देशिकाओं के लिए हैं , @प्रतीकात्मक लिंक के लिए, |एफआईएफओ के लिए, =सॉकेट के लिए, >दरवाजों के लिए, और नियमित फ़ाइलों के लिए कुछ भी नहीं है।


बेशक, आप एक उपनाम के साथ कमांड लाइन पर स्ट्रिंग lsनिष्पादित कर सकते हैं ls -p:

alias ls='ls -p'

यह अस्थायी है और इसके साथ मिटाया जा सकता है unalias ls
संभवतः आपके tcshपास एक सक्रिय उपनाम है।

जिसे आप कमांड को अंदर रखकर ~/.bashrcया कर सकते हैं ~/.bash_aliases


उस आखिरी बिट ने मेरा ध्यान आकर्षित किया। मैंने पहले कभी नहीं देखा या सुना है ~/.bash_aliases; केवल ~/.bash_profileऔर / या ~.bashrc। क्या यह सही है?
आवाज

1
@ tjt263 एक विशेष फ़ाइल में सभी उपनामों को bashrc से रखने के लिए रखना एक आम बात है । आपकी आवश्यकताओं के आधार पर सामग्री भिन्न हो सकती है

रंग रखने के लिए:alias ls='ls --color=auto -p'
mcczyk

2

आप -F का उपयोग कर सकते हैं, जैसे

$ /bin/ls -F
-/                                 diesel_folks                 grub                     presidents             user_mailer/
0/                                 dmStaffing/                  HJJJH/                   prime_scenarios   
...
# I'm using /bin/ls to make sure I run my system ls 
# (I actually have it aliased to add options automatically normally)
#
# Just read about your no argument requirement
# So you too could alias it, i.e.

alias ls='ls -F'

# Put it in your `.bashrc` or `.bash_aliases` file

क्या आप जानते हैं कि tcshमुझे वांछित उत्पादन क्यों दे रहा है और bashक्या नहीं?
CJ7

1
@ CJ7 क्योंकि tcsh और bash विभिन्न कॉन्फ़िगरेशन फ़ाइलों (विभिन्न सिंटैक्स के साथ) का उपयोग करते हैं। आप शायद पहले से ही अपने में एक समान उपनाम है .cshrc
गिल्स एसओ- बुराई को रोकें '

मैंने .bashrcअपने होम डाइरेक्टरी में एक फ़ाइल बनाने की कोशिश की, लेकिन यह काम नहीं किया
CJ7

@ CJ7, क्या आपने उस परिवर्तन को करने के बाद अपने शेल को पुनः आरंभ किया?
जोकेम शुल्नेक्लोपर

0

भी

   ls --classify

या:

   ls --indicator-style=slash

व्याख्या

   -F, --classify
          append indicator (one of */=>@|) to entries

   -p, --indicator-style=slash
          append / indicator to directories

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.