आप test कमांड का उपयोग करके Linux सिस्टम पर फ़ाइल या डायरेक्टरी मौजूद है या नहीं, इसकी जांच कर सकते हैं। नीचे दिए गए उदाहरण देखें।
test कमांड सिंटैक्स
test EXPRESSION
test कमांड EXPRESSION का मूल्यांकन करेगा। एक्सप्रेशन को नीचे दिए गए ऑपरेटरों का उपयोग करके बनाया जा सकता है और ऑपरेटरों के संयोजन का उपयोग करके बनाया जा सकता है।
| -d file | सही यदि फ़ाइल एक डायरेक्टरी है। [[ -d demofile ]] |
| -e file | सही यदि फ़ाइल मौजूद है। [[ -e demofile ]] |
| -f file | सही यदि फ़ाइल एक नियमित फ़ाइल है। [[ -f demofile ]] |
| -h file | सही यदि फ़ाइल एक सिम्बोलिक लिंक है। [[ -h demofile ]] |
| -L file | सही यदि फ़ाइल एक सिम्बोलिक लिंक है। [[ -L demofile ]] |
| -s file | सही यदि फ़ाइल का आकार शून्य से अधिक है। [[ -s demofile ]] |
test कमांड का उपयोग अन्य प्रकार की तुलनाओं के लिए भी किया जा सकता है, जैसे फ़ाइल तिथियों, प्रकारों, और अनुमतियों की तुलना करना, और स्ट्रिंग्स और नंबरों की तुलना करना – test कमांड के लिए उपयोगकर्ता मैनुअल देखने के लिए Linux शेल में निम्न चलाएं:
man test
आपने शायद उन [[]] (वर्गाकार कोष्ठक) पर ध्यान दिया होगा – वर्गाकार कोष्ठक का उपयोग find कमांड के स्थान पर किया जा सकता है – लेकिन हम चीजों को समझने में आसान रखने के लिए ऐसा करने से बचेंगे।
test कमांड उदाहरण
आप Linux शेल पर && ऑपरेटर का उपयोग करके जल्दी से जांच सकते हैं कि फ़ाइल या डायरेक्टरी मौजूद है या नहीं, जो केवल तभी चलेगा जब test कमांड TRUE स्थिति के साथ समाप्त होता है:
test -e /path/to/myfile && echo "File or directory exists."
if स्टेटमेंट के साथ test कमांड का उपयोग करना
आप if..else स्टेटमेंट और find का उपयोग करके सशर्त तर्क के साथ स्क्रिप्ट बना सकते हैं:
if test -f path/to/myfile; then echo "File exists and is a regular file." elif test -d path/to/myfile; then echo "File exists and is a directory." else echo "File does not exist." fi
निष्कर्ष
उपयोगकर्ता के फ़ाइल सिस्टम पर लिखते समय, यह जांचे बिना कि पहले क्या था, किसी फ़ाइल को केवल संशोधित या बनाना कभी बुद्धिमानी नहीं है – आप मूल्यवान डेटा नष्ट कर सकते हैं और मुसीबत में पड़ सकते हैं।
अच्छी स्क्रिप्ट पहले फ़ाइल की उपस्थिति की जांच करेगी और उपयोगकर्ता से पूछेगी कि क्या कार्रवाई की जानी चाहिए – और उपरोक्त विधि को उस पर बनाया जा सकता है।
Linux शेल के साथ नेविगेट करने पर अधिक ट्यूटोरियल के लिए, यहां क्लिक करें!