मैं कैसे बताऊं कि क्या एक फ़ोल्डर वास्तव में एक सिमलिंक है और मैं इसे कैसे ठीक करूं अगर यह टूट गया है?


28

मैं कैसे बता सकता हूं कि क्या मेरे पास सिम्लिंक, किसी प्रकार का एक शॉर्टकट या लिनक्स में एक फ़ोल्डर है? कृपया स्क्रीनशॉट को देखें।

लिनक्स खोल में प्रतीकात्मक लिंक

जैसा कि आप देख सकते हैं, lsकमांड उन वस्तुओं को सूचीबद्ध करता है जहां कुछ गहरे नीले रंग में रंगे होते हैं जबकि अन्य रंग हल्के नीले (सियान) होते हैं। ये सियान रंगीन वस्तुएं क्या हैं? क्या ये वास्तविक प्रतीकात्मक लिंक हैं?

जैसा कि आप देख सकते हैं, मैं cdhdd नामक एक को नहीं कर सकता ।

root@dm500hd:/# cd hdd
-sh: cd: can't cd to hdd

मुझे लगता है कि इसे पुनर्निर्देशित करना होगा /media/hddऔर मैंने देखा है कि hdd फ़ोल्डर गायब है।

क्या इसे ठीक करने का कोई तरीका है?

अद्यतन: यहाँ ls -alकमांड के परिणाम हैं ।

लिनेक्स शेल 2 में प्रतीकात्मक लिंक

जैसा कि आप देख सकते हैं कि यह कहता है hdd -> /media/hddऔर यह लाल रंग में रंगा है। इसका मतलब यह है कि यह टूट गया है या कि यह स्वचालित है, जब एक भौतिक HDD जुड़ा हुआ है?

अद्यतन: यहां grep media /etc/auto*कमांड का परिणाम है ।

लिनेक्स शेल 3 में प्रतीकात्मक लिंक

ये /etc/auto.master:/media/netऔर /etc/auto.networkप्रविष्टियाँ क्या करती हैं?

यहाँ ls -Fal /mediaकमांड के परिणाम हैं ।

लिनेक्स शेल 4 में प्रतीकात्मक लिंक

यह किसी भी मदद की है ...

यहाँ statऔर fileकमांड के परिणाम , साथ ही / usr और / bin की सूची दी गई है।

लिनक्स खोल 5 में प्रतीकात्मक लिंक

क्या यह मेरी किसी भी तरह से मदद करता है? ... क्या यह मेरी मदद करने में आपकी मदद करता है? ...

एक पक्ष के रूप में, आपको जो पता होना चाहिए वह यह है कि यह एक लिनक्स आधारित एसटीबी है जिसमें बिजीबॉक्स है, यह एक एम्बेडेड सिस्टम है। तो सभी आदेशों का समर्थन नहीं किया जा सकता है।

अपडेट: अंतिम स्क्रीनशॉट, / sbin और / usr / sbin में फाइलें और समर्थित कमांड दिखा रहा है।

लिनेक्स शेल 6 में प्रतीकात्मक लिंक

अपडेट: नया हिस्सा जोड़ा गया ...

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

SHARES
remote share   local share
mydream        dream1
mydream2       dream2

LOCATIONS
remote        local
C:\mydream    /media/net/dream1
C:\mydream2   /media/net/dream2

रिकॉर्डिंग्स को मीडिया / नेट / ड्रीम 1 / मूवी में रखा जाता है।

इसके अलावा, शेयर ड्रीम 2 के लिए मैंने इसे माउंट मैनेजर में एचडीडी प्रतिस्थापन के रूप में माउंट नहीं करने के लिए चुना है, क्योंकि मुझे संदेह है कि एचडीडी के रूप में एक से अधिक कार्य करना संभव नहीं है। यह कहां रिकॉर्ड होगा? दोनों स्थानों पर? डेटा दर के साथ दोगुना? ... मुझे नहीं लगता कि यह संभव है।

तो इस कारण से ड्रीम 2 शेयर के लिए मूवी नाम का कोई सबफ़ोल्डर नहीं है। केवल वही जो HDD प्रतिस्थापन के रूप में निर्दिष्ट किया जाता है, जब फिल्म सबफ़ोल्डर मिलता है।

अगर मैं cdजड़ से hdd करने के लिए इसे जाता है /media/net/dream1। मैं तो cdकरने के लिए ..(पैरेंट) इसे वापस करने के लिए चला जाता है root (/)

जड़ ls -alदेता है hdd -> media/hddls -al hddदेता है hdd -> media/hddls -al mediaदेता है /media/net/dream1

इसके अलावा, अगर मैं cdकरने के लिए /mediaएक और है hddसिमलिंक। मैंने इसे पहले नहीं देखा है। मुझे लगता है कि यह स्वचालित रूप से बनाया जाता है जब एक शेयर घुड़सवार होता है। और अगर मैं cdइस hdd के लिए यह जाता है /media/net/dream1

एक सिमिलिंक hdd(/ hdd) जो किसी अन्य hddसिम्लिंक (/ मीडिया / hdd) की ओर इशारा करता है, जो बदले में शेयर फ़ोल्डर (/ मीडिया / नेट / ड्रीम 1) की ओर इशारा करता है? ..... मुझे चक्कर आ रहा है ...?

यह 3.2.3 संस्करण से पहले या Enigma2 छवि के कम से कम 3.2.0 की तरह नहीं था।

संपादित करें: HDD प्रतिस्थापन के रूप में कार्य करने के लिए दूसरा हिस्सा सेटिंग्स द्वारा यह रिकॉर्डिंग के लिए सक्रिय हिस्सा बन जाता है। उसी समय जो शेयर पहले एचडीडी प्रतिस्थापन के रूप में कार्य करने के लिए सेट किया गया था, वह अब सक्रिय नहीं है, भले ही यह अभी भी "हां" (एचडीडी प्रतिस्थापन के रूप में कार्य) के लिए सेट हो।

यदि ड्रीम 1 को पहले एचडीडी रिप्लेसमेंट ("यस" टू रिप्लेसमेंट के रूप में कार्य करने के लिए) के रूप में इस्तेमाल किया गया था और फिर ड्रीम 2 को एचडीडी प्रतिस्थापन के रूप में कार्य करने के लिए सेट किया गया है, तो यह रिकॉर्डिंग के लिए नया हिस्सा बन जाता है। मैं अभी भी Dream1 में संग्रहीत वीडियो फ़ाइलों को देख और देख सकता हूं लेकिन मैं अब इसे रिकॉर्ड नहीं कर सकता। अगर मैं रिकॉर्डिंग के लिए ड्रीम 1 का उपयोग करने के लिए वापस जाना चाहता हूं, तो मुझे ड्रीम 2 को "नहीं" पर सेट करना होगा (एचडीडी प्रतिस्थापन के रूप में अभिनय करना बंद करना होगा) और फिर ड्रीम 1 को "हां" पर रीसेट करना होगा।

तो नहीं, यह एक ही समय में दो शेयरों को रिकॉर्ड नहीं कर सकता है। उनमें से एक को जाना है। तो यह या तो dream1 है या dream2, दोनों नहीं। हालांकि मुझे यह उल्लेख करना चाहिए कि एक से अधिक सेवा (टीवी चैनल) को रिकॉर्ड करना संभव है यदि वे दोनों एक ही ट्रांसपोंडर पर हैं, यदि आपको "कोई मुफ्त ट्यूनर" संदेश नहीं मिलता है। यह एक एसटीबी है जिसमें केवल एक ट्यूनर है।


3
कृपया पाठ के लिए स्क्रीनशॉट पेस्ट न करें। इसके बजाय पाठ को कॉपी और पेस्ट करें, और इंडेंटेशन / फॉर्मेटिंग को संरक्षित करने के लिए पूर्व या कोड टैग या बैकटिक्स का उपयोग करें। और जो भी आप दिखाने की कोशिश कर रहे हैं उसे दिखाने के लिए आवश्यक टेक्स्ट को नीचे संपादित करें। BTW, स्क्रीनशॉट के साथ एक समस्या यह है कि छोटे फोंट टीनएयर भी हो जाते हैं - अपठनीय के बिंदु तक - जब उच्च रिज़ॉल्यूशन स्क्रीन (जैसे 1920x1200 या 2566x1440) पर देखा जाता है ... पिक्सल तय किए जाते हैं, पाठ को छोटा किया जा सकता है।
कैस

@CraigSanders सैंडर्स आप संकल्प पर उच्च ... हैं! ;) स्पष्ट रूप से, मैं तुम्हें सुन आदमी! मैं वास्तव में इसके बारे में नहीं सोचता था। पारितोषिक के लिए धन्यवाद। मैं अगली बार कोड ब्लॉक का उपयोग करने का प्रयास करूंगा।
समीर

ls -alवास्तव में यह क्या करता है एक लंबी (-l) सूची में सभी फाइलों (-ए) को दर्शाता है। हां, इससे मुझे अधिक जानकारी मिलती है, लेकिन क्या यह मुझे प्रतीकात्मक लिंक की पहचान करने में मदद करता है? यदि इसके दाईं ओर एक तीर है, तो यह है कि मैं कैसे बताता हूं कि यह एक प्रतीकात्मक लिंक है? अन्य पहचानकर्ता स्पष्ट रूप से रंग कोड है, लेकिन आप में से कुछ का सुझाव है कि रंग पर भरोसा नहीं करना है।
समीर

यह अब कोई मुद्दा नहीं है। मैंने माउंट मैनेजर प्लगइन (ड्रीमबॉक्स, एनगमा 2, रिलीज़ 3.2.3) के माध्यम से एक विंडोज सीआईएफएस शेयर को माउंट किया और मैंने इसे एचडीडी प्रतिस्थापन के रूप में उपयोग करने के लिए चुना। ऐसा करने के बाद ls -alकमांड ने दिखाया hdd -> media/hdd। और अब यह cdhdd के लिए संभव है और लिंक काम करता है। लेकिन जो दिलचस्प है वह यह है कि ls -al mediaशो hdd -> /media/net/mydreamऔर यह वास्तव में है जहां यह जाता है जब मैं cdएचडीडी। "Mydream" शेयर का नाम है। मुझे अलग-अलग परिणाम क्यों मिले?
समीर

मेरा अनुमान है कि कुछ तंत्र (संभवतः एक udv नियम) है, यह सुनिश्चित करने के लिए कि / hdd सिमिलिंक को अद्यतन किया जाता है कि जो भी डिवाइस या शेयर माउंट किया गया है, उसे इंगित करने के लिए, ताकि अन्य प्रोग्राम और स्क्रिप्ट बस / hdd का उपयोग कर सकें (निर्देशिका का परीक्षण करने के बाद) यह एक घुड़सवार एफएस को इंगित करता है)। जिज्ञासा से बाहर, यदि आप दूसरी ड्राइव या शेयर को माउंट करते हैं तो क्या होता है? क्या यह / hde सिम्बल बनाता है? या ड्रीमबॉक्स एक रिकॉर्डिंग निर्देशिका तक सीमित है?
कैस

जवाबों:


29

आप फ़ाइल, स्टेट या एलएस का उपयोग कर सकते हैं।

फ़ाइल:

फ़ाइल कमांड का उपयोग उनके प्रकार (सिमिलिंक, डायरेक्टरी, डिवाइस) या सामग्री (टेक्स्ट, गज़िप, इमेज, टार, ..., उनके विस्तार की परवाह किए बिना) के आधार पर फ़ाइलों को वर्गीकृत करने के लिए किया जाता है:

$ फ़ाइल / देव / stdout
/ dev / stdout: '/ proc / self / fd / 1' का प्रतीकात्मक लिंक
$ फ़ाइल / proc / स्वयं / fd / 1
/ proc / स्व / एफडी / 1: प्रतीकात्मक लिंक `/ देव / पीटीएस / 0 'के लिए
$ फ़ाइल / देव / पीटीएस / ०
/ देव / पीटीएस / 0: चरित्र विशेष (136/0)
$ फ़ाइल / आदि / पासवार्ड
/ etc / passwd: ASCII टेक्स्ट

ls:

$ ls -al / dev / stdout
lrwxrwxrwx 1 रूट रूट 15 जनवरी 27 07:55 / dev / stdout -> / proc / self / fd / 1

स्टेट:

स्टेट कमांड, फाइल मेटाडाटा को अनुमति, प्रिंट, ब्लॉक की संख्या और इसी तरह प्रिंट करता है ...

$ स्टैट / देव / स्टैडआउट
  फ़ाइल: '/ देव / stdout' -> '/ proc / स्व / fd / 1'
  आकार: 15 ब्लॉक: 0 आईओ ब्लॉक: 4096 प्रतीकात्मक लिंक
डिवाइस: 5 ह / 5 डी इनोड: 1212 लिंक: 1
अभिगमन: (0777 / lrwxrwxrwx) उड: (0 / जड़) Gid: (0 / रु।)
अभिगमन: 2014-01-27 11: 22: 47.971187828 -0200
संशोधित: 2014-01-27 07: 55: 13.996981285 -0200
परिवर्तन: 2014-01-27 07: 55: 13.996981285 -0200
 जन्म: -

क्या file hddसंदर्भित करता है? मुझे नहीं मिला ...
समीर

stat hddमुझे देता है -sh: stat: not found
समीर

मुझे लगता है कि आपके पास स्टेट कमांड नहीं है (या यह आपके $ पेट में नहीं है)। वैसे भी फ़ाइल कमांड आपको एक शॉट दे सकती है ...
filipenf

मैक टर्मिनल पर बैश के लिए फ़ाइल कमांड डिफ़ॉल्ट रूप से सीमलिंक का अनुसरण करता है। यदि आप यह देखना चाहते हैं कि क्या यह सिमिलिंक जोड़ने के लिए -h कमांड है। जो सीमलिंक का पालन नहीं करता है।
क्लिंटन


3

यह देखने का सबसे आसान तरीका है कि fileकमांड का उपयोग करने के लिए किसी दी गई फ़ाइल किस तरह की इकाई होगी । इसमें स्पष्ट, बिना आउटपुट के आपको यह याद रखने की आवश्यकता है कि lsक्लासिफायर के निशान क्या हैं, या रंगीन आउटपुट पर निर्भर हैं जो उपयोगकर्ता से उपयोगकर्ता और मशीन से मशीन में भिन्न हो सकते हैं। उदाहरण के लिए:

mail ~ # file /test
/test: broken symbolic link to `/nonexist'
mail ~ # file /dev
/dev: directory
mail ~ # file /dev/fd
/dev/fd: symbolic link to `/proc/self/fd'

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

आपके प्रश्न के दूसरे भाग के रूप में, mediaनिर्देशिका को अक्सर किसी प्रकार के ऑटोमाउंटर्स द्वारा प्रबंधित किया जाता है। /media/hddप्रवेश USB विपुल भंडारण उपकरणों के लिए अपने सिस्टम के द्वारा प्रयोग किया जा सकता है या यहां तक कि हार्ड ड्राइव की सही तरह (एटीए बनाम एक्सईएन ब्लॉक युक्ति बनाम SCSI) की प्रतीक्षा में हो। जब तक कोई प्रोग्राम उनका उपयोग करने की कोशिश नहीं करता है, तब तक टूटे हुए लिंक कुछ भी चोट नहीं पहुंचाएंगे, और मीडिया लिंक वास्तव में आपकी सुविधा के लिए हैं। आप सुरक्षित रूप से /hddलिंक को छोड़ सकते हैं या कृपया इसे हटा सकते हैं ।


आप सही हैं, लगता है कि फ़ाइल यहाँ एक कमांड नहीं है, यह कहता है कि -sh: file: not foundजब मैं करता हूं fileऔर दर्ज करता हूं ।
समीर

लगता है जैसे आपके $ PATH थोड़ा प्रतिबंधित है। इसके बजाय सीधे इसे क्रियान्वित करने का प्रयास करें:/usr/bin/file
२१

मैं आपकी अन्य टिप्पणी से देखता हूं कि आप एक सेट टॉप बॉक्स पर हैं। हो सकता है कि बिजीबॉक्स स्थापित करने के अलावा कुछ भी न हो, और बिजीबॉक्स fileकमांड का अनुकरण नहीं करता है , लेकिन statयदि इसे संकलित किया गया है, तो कमांड के लिए इसका समर्थन नहीं है । यह अभी भी आपके $ पैथ के बाहर हो सकता है, या कहीं और अस्पष्ट हो सकता है जैसे / sbin या स्टेट। / usr / sbin / स्टेट।
जोर्फिन

यह नहीं दिखता है जैसे कि यह या तो के लिए समर्थन हासिल है fileया stat। मैंने आपके द्वारा बताए गए रास्तों में जाँच की (ऊपर स्क्रीनशॉट देखें)। वैसे भी ... आप जो कह रहे हैं, वह यह है कि एक आदर्श लिनक्स सिस्टम में, fileलक्ष्य फ़ाइल या फ़ोल्डर के खोज पथ के बाद कमांड, मुझे बताएगा कि यह किस प्रकार की इकाई है?
समीर

2
बिजीबॉक्स में समर्थित कमांड के रूप में आप चला सकते हैं /usr/bin/busyboxऔर यह आपको उन सभी कमांड को दिखाएगा जिनके लिए समर्थन है, भले ही कमांड स्थापित न हों। एक व्यस्त बॉक्स का उपयोग करने के लिए आप चला सकते हैं /usr/bin/busybox <command> <parameters>। तो अगर यह कहता है कि यह स्टेट कमांड का समर्थन करता है जिसे आप चला सकते हैं /usr/bin/busybox stat /hdd। आसान उपयोग के लिए आप इनवाइट करने के लिए कमांड के नाम के साथ बिजीबॉक्स के लिए सिमलिंक बना सकते हैं। यदि यह स्टेट कमांड का समर्थन करता है तो आप इसे आसानी से चला सकते हैं ln -s /usr/bin/busybox /usr/bin/stat
जोर्फिन

1
  1. हाँ सियान प्रतीकात्मक लिंक हैं
  2. यह देखने के लिए कि वे कहाँ इंगित कर रहे हैं: ls -Fal
  3. उत्पादन ls -Fal /media

यह संभवतः किसी प्रकार का एक स्वचालित बिंदु है।

grep media /etc/auto* एक हिट का उत्पादन कर सकते हैं।


ऑटोमाउंट-पॉइंट क्या है? आप की तरह मतलब है ... जब मैं एक भौतिक SATA डिस्क ड्राइव में प्लग करता हूं तो यह इस बिंदु पर चढ़ जाता है? ... यह एक लिनक्स एसटीबी है और इसमें कोई अंतर्निर्मित एचडीडी नहीं है, लेकिन इसमें बैक पर एक ईएसटीए पोर्ट की सुविधा है। यह इस उद्देश्य के लिए समर्पित हो सकता है।
समीर

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