सुरक्षा स्कैन - वायु रक्षा कमान
विषयसूची:
diffकमांड का उपयोग कैसे करें- सामान्य प्रारूप
- प्रसंग स्वरूप
- एकीकृत प्रारूप
- मामले की अनदेखी करें
- निष्कर्ष
diff
एक कमांड-लाइन उपयोगिता है जो आपको दो फ़ाइलों की लाइन लाइन से तुलना करने की अनुमति देती है। यह निर्देशिकाओं की सामग्री की तुलना भी कर सकता है।
patch
कमांड का उपयोग करके एक या अधिक फ़ाइलों के बीच अंतर रखने वाले पैच बनाने के लिए आमतौर पर अलग कमांड का उपयोग किया जाता है।
diff
कमांड का उपयोग कैसे करें
diff
कमांड के लिए सिंटैक्स निम्नानुसार है:
diff… FILES
अलग-अलग कमांड सामान्य, संदर्भ और एकीकृत प्रारूप के साथ कई प्रारूपों में आउटपुट प्रदर्शित कर सकते हैं। आउटपुट में जानकारी शामिल है कि फ़ाइलों में कौन सी लाइनें बदलनी चाहिए ताकि वे समान हो जाएं। यदि फ़ाइलें मेल खाती हैं, तो कोई आउटपुट उत्पन्न नहीं होता है।
किसी फ़ाइल में कमांड आउटपुट को बचाने के लिए, पुनर्निर्देशन ऑपरेटर का उपयोग करें:
diff file1 file2 > patch
, हम यह बताने के लिए कि कमांड कैसे काम करती है, निम्नलिखित दो फाइलों का उपयोग करेंगे:
Ubuntu Arch Linux Debian CentOS Fedora
करें 2
Kubuntu Ubuntu Debian Arch Linux Centos Fedora
सामान्य प्रारूप
अपने सरलतम रूप में जब बिना किसी विकल्प के दो टेक्स्ट फ़ाइलों पर
diff
कमांड चलाया जाता है, तो यह सामान्य प्रारूप में आउटपुट उत्पन्न करता है:
diff file1 file2
आउटपुट कुछ इस तरह दिखाई देगा:
0a1 > Kubuntu 2d2 < Arch Linux 4c4, 5 < CentOS --- > Arch Linux > Centos
सामान्य आउटपुट स्वरूप में एक या अधिक अनुभाग होते हैं जो अंतरों का वर्णन करते हैं। प्रत्येक अनुभाग इस तरह दिखता है:
change-command < from-file-line… --- > to-file-line…
0a1
,
2d2
और
4c4, 5
परिवर्तन कमांड हैं। प्रत्येक परिवर्तन आदेश में निम्नलिखित हैं, बाएं से दाएं:
- पहली फ़ाइल में लाइनों की संख्या या रेंज। विशेष परिवर्तन वर्ण। दूसरी फ़ाइल में लाइनों की संख्या या सीमा।
परिवर्तन चरित्र निम्नलिखित में से एक हो सकता है:
-
a- लाइनें जोड़ें।c- लाइनों को बदलें।d- लाइनों को हटा दें।
परिवर्तन आदेश को पूरी लाइनों द्वारा हटा दिया जाता है (
<
) और फ़ाइल में जोड़ा जाता है (
>
)।
आइए आउटपुट को समझाएं:
-
0a1- फ़ाइल1की शुरुआत में दूसरी फ़ाइल की लाइन1(लाइन0बाद) जोड़ें।-
> Kubuntu- दूसरी पंक्ति से वह रेखा जो ऊपर बताई गई पहली फ़ाइल में जोड़ी जाती है।
2d2- पहली फ़ाइल में लाइन2हटाएं।dचिन्ह के बाद के2अर्थ है कि यदि रेखा नहीं हटाई गई तो यह दूसरी फ़ाइल में पंक्ति2पर दिखाई देगी।-
< Arch Linux- हटाई गई रेखा।
4c4, 5- दूसरी फ़ाइल से4-5लाइनों के साथ पहली फ़ाइल में लाइन5को बदलें (बदलें)।-
< CentOS- पहली फ़ाइल में पंक्ति को प्रतिस्थापित किया जाना है।---- विभाजक।> Arch Linuxऔर> Centos- पहली फ़ाइल में लाइन की जगह दूसरी फ़ाइल से लाइनें।
-
प्रसंग स्वरूप
जब संदर्भ आउटपुट प्रारूप का उपयोग किया जाता है, तो अलग-अलग कमांड फाइलों के बीच अलग-अलग लाइनों के आसपास संदर्भ की कई पंक्तियों को प्रदर्शित करता है।
-c
विकल्प संदर्भ प्रारूप में आउटपुट उत्पन्न करने के लिए अलग-अलग बताता है:
diff -c file1 file2
*** file1 2019-11-25 21:00:26.422426523 +0100 --- file2 2019-11-25 21:00:36.342231668 +0100 *************** *** 1, 6 **** Ubuntu - Arch Linux Debian ! CentOS Fedora --- 1, 7 ---- + Kubuntu Ubuntu Debian ! Arch Linux ! Centos Fedora
आउटपुट नाम और टाइमस्टैम्प से शुरू होता है यदि फ़ाइलों की तुलना की जाती है, और एक या एक से अधिक अनुभाग जो अंतर का वर्णन करते हैं। प्रत्येक अनुभाग इस तरह दिखता है:
*************** *** from-file-line-numbers **** from-file-line… --- to-file-line-numbers ---- to-file-line…
-
from-file-line-numbersऔरto-file-line-numbers- क्रमशः पहली और दूसरी फ़ाइल में लाइनों की संख्या या अल्पविराम से अलग की गई श्रेणी।from-file-lineऔरto-file-line- वह रेखाएँ जो भिन्न होती हैं और संदर्भ की रेखाएँ:- दो स्थानों से शुरू होने वाली रेखाएँ संदर्भ की रेखाएँ होती हैं, जो रेखाएँ दोनों फ़ाइलों में समान होती हैं। ऋण चिह्न के साथ शुरू होने वाली रेखाएँ (
-) ऐसी रेखाएँ होती हैं जो दूसरी फ़ाइल में कुछ भी नहीं के साथ मेल खाती हैं। दूसरी फ़ाइल में गायब लाइनें। प्लस सिंबल (+) के साथ शुरू होने वाली लाइनें वे लाइनें हैं जो पहली फ़ाइल में कुछ भी नहीं के अनुरूप हैं। पहली फ़ाइल में लाइनें गायब हैं। विस्मयादिबोधक चिह्न (!) से शुरू होने वाली लाइनें दो फ़ाइलों के बीच बदली जाने वाली लाइनें हैं। लाइनों के प्रत्येक समूह के साथ शुरू!पहली फ़ाइल से दूसरी फ़ाइल में एक संगत मिलान होता है।
- दो स्थानों से शुरू होने वाली रेखाएँ संदर्भ की रेखाएँ होती हैं, जो रेखाएँ दोनों फ़ाइलों में समान होती हैं। ऋण चिह्न के साथ शुरू होने वाली रेखाएँ (
आइए आउटपुट के सबसे महत्वपूर्ण भागों की व्याख्या करें:
- इस उदाहरण में हमारे पास मतभेदों का वर्णन करने वाला केवल एक खंड है।
*** 1, 6 ****और--- 1, 7 ----हमें इस खंड में शामिल पहली और दूसरी फ़ाइलों से लाइनों की श्रेणी बताता है।Ubuntu,Debian,Fedoraऔर अंतिम खाली लाइन दोनों फाइलों में समान हैं। ये लाइनें डबल स्पेस से शुरू हो रही हैं। पहली फाइल से- Arch Linuxदूसरी फाइल में कुछ भी नहीं है। हालाँकि यह लाइन दूसरी फ़ाइल में भी मौजूद है, पोजीशन अलग हैं+ Kubuntuदूसरी फाइल से+ Kubuntuकुबंटु पहली फाइल में कुछ भी नहीं है! CentOSपहली फ़ाइल और लाइनों से! CentOS! Arch Linux! Arch Linuxऔर! CentOSदूसरी फ़ाइल से! CentOSको फ़ाइलों के बीच बदल दिया जाता है।
डिफ़ॉल्ट रूप से संदर्भ पंक्तियों की संख्या तीन तक सीमित हो जाती है। अन्य नंबर का उपयोग करने के लिए
-C
(
--contexts
) विकल्प निर्दिष्ट करें:
diff -C 1 file1 file2
*** file1 2019-11-25 21:00:26.422426523 +0100 --- file2 2019-11-25 21:00:36.342231668 +0100 *************** *** 1, 5 **** Ubuntu - Arch Linux Debian ! CentOS Fedora --- 1, 6 ---- + Kubuntu Ubuntu Debian ! Arch Linux ! Centos Fedora
एकीकृत प्रारूप
एकीकृत आउटपुट प्रारूप संदर्भ प्रारूप का एक उन्नत संस्करण है और एक छोटे आउटपुट का उत्पादन करता है।
एकीकृत प्रारूप में आउटपुट प्रिंट करने के लिए अलग बताने के लिए
-u
विकल्प का उपयोग करें:
diff -u file1 file2
--- file1 2019-11-25 21:00:26.422426523 +0100 +++ file2 2019-11-25 21:00:36.342231668 +0100 @@ -1, 6 +1, 7 @@ +Kubuntu Ubuntu -Arch Linux Debian -CentOS +Arch Linux +Centos Fedora
आउटपुट नामों और फाइलों के टाइमस्टैम्प और एक या अधिक वर्गों के साथ शुरू होता है जो अंतर का वर्णन करते हैं। प्रत्येक अनुभाग निम्नलिखित रूप लेता है:
*************** @@ from-file-line-numbers to-file-line-numbers @@ line-from-files…
-
@@ from-file-line-numbers to-file-line-numbers @@- इस सेक्शन में शामिल पहली और दूसरी फाइल से लाइनों की लाइन नंबर या रेंज।line-from-files- वे लाइनें जो भिन्न होती हैं और संदर्भ की रेखाएं:- दो स्थानों से शुरू होने वाली लाइनें संदर्भ की रेखाएं हैं, जो रेखाएं दोनों फाइलों में समान हैं। शून्य से शुरू होने वाले चिह्न (
-) पहली फ़ाइल से हटाए गए रेखाएं हैं। प्लस चिह्न (+) से शुरू होने वाली रेखाएं हैं पहली फ़ाइल से जो लाइनें जोड़ी जाती हैं।
- दो स्थानों से शुरू होने वाली लाइनें संदर्भ की रेखाएं हैं, जो रेखाएं दोनों फाइलों में समान हैं। शून्य से शुरू होने वाले चिह्न (
मामले की अनदेखी करें
जैसा कि आप ऊपर दिए गए उदाहरणों में देख सकते हैं, डिफॉल्ट रूप से
diff
कमांड संवेदनशील है।
मामले की अनदेखी करने के लिए अलग बताने के लिए
-i
विकल्प का उपयोग करें:
diff -ui file1 file2
--- file1 2019-11-25 21:00:26.422426523 +0100 +++ file2 2019-11-25 21:00:36.342231668 +0100 @@ -1, 6 +1, 7 @@ +Kubuntu Ubuntu -Arch Linux Debian +Arch Linux CentOS Fedora
निष्कर्ष
अंतर के लिए पाठ फ़ाइलों की तुलना करना लिनक्स सिस्टम प्रशासकों के लिए सबसे आम कार्यों में से एक है।
अलग कमांड फाइलों की लाइन लाइन से तुलना करती है। अधिक जानकारी के लिए, टाइप करें
man diff
आपके टर्मिनल में
man diff
है।
नोवेल नेटबुक से एसयूएसई लिनक्स के उच्च गोद लेने की अपेक्षा करता है, हालांकि यह उम्मीद करता है कि कुल मिलाकर लिनक्स बाजार एम्बेडेड लिनक्स पर जा रहा है।
लिनक्स के लिए नोवेल की मुख्य तकनीक और रणनीति अधिकारी के अनुसार, नेटबुक की मांग में बढ़ोतरी लिनक्स के लिए ड्राइव व्यवसाय की मदद कर रही है, क्योंकि उपकरणों को छोटे भंडारण के साथ कम लागत के लिए डिज़ाइन किया गया है।
की तुलना में कमांड 14 कमांड लाइन उपयोगिता का उपयोग करना आसान है: पावरशेल
कंसोल में गंभीर काम के लिए कमांड 14 कमांड लाइन उपयोगिता का उपयोग करना आसान है, कुछ उपयोगिताओं (यदि कोई है) ले लो कमांड की शक्ति से मेल खा सकते हैं। यदि आप नियमित रूप से कमांड लाइन का उपयोग करते हैं, तो यह एक अच्छा निवेश है।
लिनक्स में ग्रीप कमांड (फाइलों में पाठ ढूंढें)
ग्रेप लिनक्स में सबसे शक्तिशाली और आमतौर पर इस्तेमाल होने वाली कमांड में से एक है। Grep उन लाइनों के लिए एक या एक से अधिक इनपुट फ़ाइलों की खोज करता है जो किसी दिए गए पैटर्न से मेल खाती हैं और प्रत्येक मिलान रेखा को मानक आउटपुट में लिखती हैं।







