टीसॉर्ट: Difference between revisions

From Vigyanwiki
(Created page with "{{for|the Discworld location|Discworld (world)#Tsort}} {{lowercase|tsort}} {{Infobox software | name = tsort | logo = | screenshot...")
 
No edit summary
 
(5 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{for|the Discworld location|Discworld (world)#Tsort}}
{{for|डिस्कवर्ल्ड स्थान|डिस्क वर्ल्ड (विश्व)#टीसॉर्ट}}
{{lowercase|tsort}}
 
{{Infobox software
{{Infobox software
| name                  = tsort
| name                  = tsort
Line 17: Line 17:
| website                =  
| website                =  
}}
}}
टीसॉर्ट प्रोग्राम [[यूनिक्स]] और यूनिक्स जैसे प्लेटफार्मों पर एक [[कमांड लाइन इंटरफेस]] उपयोगिता है, जो अपने इनपुट पर [[ टोपोलॉजिकल छँटाई ]] करता है। {{As of|2017}}, यह [[POSIX]].1 मानक का हिस्सा है।<ref>{{cite web|title=क्रम से लगाना|url=http://pubs.opengroup.org/onlinepubs/9699919799/utilities/क्रम से लगाना.html|publisher=The Open Group|work=The Open Group Base Specifications Issue 7, 2018 edition
'''टीसॉर्ट''' प्रोग्राम [[यूनिक्स]] और यूनिक्स जैसे प्लेटफार्मों पर एक [[कमांड लाइन इंटरफेस]] उपयोगिता है, जो अपने इनपुट पर [[ टोपोलॉजिकल छँटाई |सांस्थितिक सॉर्ट]] करता है। {{As of|2017}}, यह [[POSIX|पोसिक्स]]1 मानक का हिस्सा है। <ref>{{cite web|title=क्रम से लगाना|url=http://pubs.opengroup.org/onlinepubs/9699919799/utilities/क्रम से लगाना.html|publisher=The Open Group|work=The Open Group Base Specifications Issue 7, 2018 edition
}}</ref>
}}</ref>




==इतिहास==
==इतिहास==
इसकी जानकारी के अनुसार (यूनिक्स)<ref>{{Cite web|url=https://www.gnu.org/software/coreutils/manual/html_node/tsort-background.html|title = Tsort background (GNU Coreutils 9.0)}}</ref> पेज, यह कमांड शुरू में ऑब्जेक्ट फ़ाइलों का क्रम प्रदान करने के लिए लिखा गया था जो [[लिंकर (कंप्यूटिंग)]] को उन्हें क्रमिक रूप से संसाधित करने की अनुमति देता था (प्रत्येक एक बिल्कुल एक बार, और क्रम में)। फ्रीबीएसडी मैनुअल पेज की उपस्थिति [[संस्करण 7 यूनिक्स]] पर आधारित है।<ref>{{Cite web|url=http://www.freebsd.org/cgi/man.cgi?query=tsort|title = Tsort}}</ref>
इसकी जानकारी के अनुसार (यूनिक्स) <ref>{{Cite web|url=https://www.gnu.org/software/coreutils/manual/html_node/tsort-background.html|title = Tsort background (GNU Coreutils 9.0)}}</ref> पेज, यह कमांड प्रारम्भ में ऑब्जेक्ट फ़ाइलों का क्रम प्रदान करने के लिए लिखा गया था जो [[लिंकर (कंप्यूटिंग)]] को उन्हें क्रमिक रूप से संसाधित करने की अनुमति देता था (प्रत्येक एक बिल्कुल एक बार, और क्रम में)। फ्रीबीएसडी मैनुअल पेज की उपस्थिति [[संस्करण 7 यूनिक्स]] पर आधारित है। <ref>{{Cite web|url=http://www.freebsd.org/cgi/man.cgi?query=tsort|title = Tsort}}</ref>
ध्यान दें कि निम्नलिखित विवरण tsort के [[FreeBSD]] कार्यान्वयन के व्यवहार का वर्णन कर रहा है और GNU सुविधाओं का उल्लेख करता है जहां वे मौजूद हो सकते हैं। अन्य कार्यान्वयन या संस्करण भिन्न हो सकते हैं.
 
ध्यान दें कि निम्नलिखित विवरण टीसॉर्ट के [[FreeBSD|फ्रीबीएसडी]] कार्यान्वयन के व्यवहार का वर्णन कर रहा है और जीएनयू सुविधाओं का उल्लेख करता है जहां वे उपस्थित हो सकते हैं। अन्य कार्यान्वयन या संस्करण भिन्न हो सकते हैं.


==वाक्यविन्यास==
==वाक्यविन्यास==
  tsort [-dlq] [फ़ाइल]
  '''tsort [-dlq] [FILE]'''
फ्रीबीएसडी विकल्प हो सकते हैं:
-d        turn on debugging
 
-l        search for and display the longest cycle.
 
-q        Do not display informational messages about cycles.
 


फ्रीबीएसडी विकल्प हो सकते हैं:
-डी डिबगिंग चालू करें
-l सबसे लंबे चक्र को खोजें और प्रदर्शित करें।
-q चक्रों के बारे में सूचनात्मक संदेश प्रदर्शित न करें।


GNU केवल निम्नलिखित विकल्प प्रदान करता है:
जीएनयू केवल निम्नलिखित विकल्प प्रदान करता है:
  --help सहायता संदेश प्रदर्शित करें और बाहर निकलें
  --help     display help message and exit
--संस्करण संस्करण जानकारी प्रदर्शित करें और बाहर निकलें


POSIX द्वारा कोई विकल्प निर्धारित नहीं हैं।
--version  display version information and exit
पोसिक्स द्वारा कोई विकल्प निर्धारित नहीं हैं।


==व्यवहार==
==व्यवहार==
tsort अपने इनपुट को (दी गई फ़ाइल से, या मानक स्ट्रीम से यदि कोई इनपुट फ़ाइल नहीं दी गई है या '-' की फ़ाइल के लिए) स्ट्रिंग के जोड़े के रूप में पढ़ता है, रिक्त स्थान से अलग किया जाता है, जो आंशिक क्रम का संकेत देता है। आउटपुट कुल ऑर्डरिंग है जो दिए गए आंशिक ऑर्डरिंग से मेल खाता है।<ref>{{Cite web|url=https://www.gnu.org/software/coreutils/manual/html_node/tsort-invocation.html|title = Tsort invocation (GNU Coreutils 9.0)}}</ref>
टीसॉर्ट अपने इनपुट को (दी गई फ़ाइल से, या मानक स्ट्रीम से यदि कोई इनपुट फ़ाइल नहीं दी गई है या '-' की फ़ाइल के लिए) स्ट्रिंग के जोड़े के रूप में पढ़ता है, रिक्त स्थान से अलग किया जाता है, जो आंशिक क्रम का संकेत देता है। आउटपुट कुल क्रमण है जो दिए गए आंशिक क्रमण से मेल खाता है। <ref>{{Cite web|url=https://www.gnu.org/software/coreutils/manual/html_node/tsort-invocation.html|title = Tsort invocation (GNU Coreutils 9.0)}}</ref>
दूसरे शब्दों में: एक निर्देशित चक्रीय ग्राफ ([[निर्भरता ग्राफ]] के रूप में प्रयुक्त) के लिए, tsort एक सूची तैयार करता है
 
शीर्षों को ताकि सभी किनारों 'a->b' के लिए, 'a' सूची में 'b' से पहले आए।
दूसरे शब्दों में: एक निर्देशित चक्रीय आरेख ([[निर्भरता ग्राफ|निर्भरता आरेख]] के रूप में प्रयुक्त) के लिए, टीसॉर्ट शीर्षों की एक सूची तैयार करता है ताकि सभी किनारों 'a->b' के लिए, 'a' सूची में 'b' से पहले आए।


==उदाहरण==
==उदाहरण==
tsort एक निर्देशित चक्रीय ग्राफ के शीर्षों को इस तरह से सूचीबद्ध करता है कि सभी क्रम/दिशा संबंधों का सम्मान किया जाता है:
टीसॉर्ट एक निर्देशित चक्रीय आरेख के शीर्षों को इस तरह से सूचीबद्ध करता है कि सभी क्रम/दिशा संबंधों का सम्मान किया जाता है:
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|<syntaxhighlight lang="console">
|<syntaxhighlight lang="console">
Line 72: Line 76:




=== कॉल ग्राफ़ ===
=== आह्वान आरेख़ ===
tsort किसी स्रोत फ़ाइल में फ़ंक्शंस को पुनर्व्यवस्थित करने में मदद कर सकता है ताकि जितना संभव हो उतना उपयोग करने से पहले परिभाषित किया जा सके (निम्नलिखित को इस प्रकार समझें: {{code|main()}} कॉल करता है {{code|parse_options()}}, {{code|tail_file()}} और {{code|tail_forever()}}; {{code|tail_file()}} कॉल करता है {{code|pretty_name()}}, और इसी तरह। नतीजा यह है {{code|dump_remainder()}} को पहले परिभाषित किया जाना चाहिए, {{code|start_lines()}} दूसरा, आदि):
टीसॉर्ट किसी स्रोत फ़ाइल में फलन को पुनर्व्यवस्थित करने में मदद कर सकता है ताकि जितना संभव हो उतना उपयोग करने से पहले परिभाषित किया जा सके (निम्नलिखित को इस प्रकार समझें: {{code|main()}} आह्वान करता है {{code|parse_options()}}, {{code|tail_file()}} और {{code|tail_forever()}}; {{code|tail_file()}} आह्वान करता है {{code|pretty_name()}}, और इसी तरह। नतीजा यह है कि {{code|dump_remainder()}} को पहले {{code|start_lines()}} दूसरा, आदि परिभाषित किया जाना चाहिए):
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-valign="top"
|-valign="top"
Line 126: Line 130:


=== पुस्तकालय ===
=== पुस्तकालय ===
पारंपरिक [[एलडी (यूनिक्स)]] (यूनिक्स लिंकर) के लिए आवश्यक है कि उसके लाइब्रेरी इनपुट को टोपोलॉजिकल क्रम में क्रमबद्ध किया जाए, क्योंकि यह एक ही पास में फाइलों को संसाधित करता है। यह स्थिर पुस्तकालयों दोनों पर लागू होता है ({{code|*.a}}) और गतिशील पुस्तकालय ({{code|*.so}}), और स्थैतिक पुस्तकालयों के मामले में अधिमानतः भीतर निहित व्यक्तिगत ऑब्जेक्ट फ़ाइलों के लिए।<ref>{{cite web |title=c++ - gcc ld: method to determine link order of static libraries |url=https://stackoverflow.com/questions/34164594/gcc-ld-method-to-determine-link-order-of-static-libraries/63530973 |website=Stack Overflow}}</ref>
पारंपरिक [[एलडी (यूनिक्स)]] (यूनिक्स लिंकर) के लिए आवश्यक है कि उसके लाइब्रेरी इनपुट को सांस्थितिक क्रम में क्रमबद्ध किया जाए, क्योंकि यह एक ही पास में फाइलों को संसाधित करता है। यह स्थिर पुस्तकालय ({{code|*.a}}) और गतिशील पुस्तकालय ({{code|*.so}}) दोनों पर लागू होता है, और स्थैतिक पुस्तकालयों की स्तिथि में अधिमानतः भीतर निहित व्यक्तिगत ऑब्जेक्ट फ़ाइलों के लिए है। <ref>{{cite web |title=c++ - gcc ld: method to determine link order of static libraries |url=https://stackoverflow.com/questions/34164594/gcc-ld-method-to-determine-link-order-of-static-libraries/63530973 |website=Stack Overflow}}</ref> बीएसडी यूनिक्स विशिष्ट [[ar (Unix)|एआर (यूनिक्स)]] और रैनलिब कमांड इनवोकेशन (/usr/share/mk/bsd.lib.mk से) के एक सामान्य भाग के रूप में टीसॉर्ट का उपयोग करता है:
BSD UNIX विशिष्ट [[ar (Unix)]] और [[ranlib]] कमांड इनवोकेशन (/usr/share/mk/bsd.lib.mk से) के एक सामान्य भाग के रूप में tsort का उपयोग करता है:
<syntaxhighlight lang="make">
<syntaxhighlight lang="make">
lib${LIB}.a: ${OBJS} ${STATICOBJS}
lib${LIB}.a: ${OBJS} ${STATICOBJS}
Line 161: Line 164:
समान वस्तुओं के जोड़े एक शीर्ष की उपस्थिति का संकेत देते हैं, लेकिन क्रमबद्ध नहीं (इसलिए निम्नलिखित किनारों के बिना एक शीर्ष का प्रतिनिधित्व करता है):
समान वस्तुओं के जोड़े एक शीर्ष की उपस्थिति का संकेत देते हैं, लेकिन क्रमबद्ध नहीं (इसलिए निम्नलिखित किनारों के बिना एक शीर्ष का प्रतिनिधित्व करता है):


  एक ए
  a asammilit


कड़ाई से कहें तो ऐसे ग्राफ़ का कोई टोपोलॉजिकल ऑर्डर नहीं होता है जिसमें एक या अधिक चक्र (ग्राफ़ सिद्धांत) शामिल हो। हालाँकि tsort एक चेतावनी प्रिंट करता है और GNU tsort चक्र पहचान (ग्राफ सिद्धांत) को [[stderr]] ('tsort:' से शुरू होने वाली पंक्तियाँ) पर प्रिंट करता है:
कड़ाई से कहें तो ऐसे आरेख़ का कोई सांस्थितिक ऑर्डर नहीं होता है जिसमें एक या अधिक चक्र (आरेख़ सिद्धांत) सम्मिलित हो। हालाँकि टीसॉर्ट एक चेतावनी मुद्रित करता है और जीएनयू टीसॉर्ट चक्र पहचान (आरेख सिद्धांत) को [[stderr|सत्देरर]] ('टीसॉर्ट:' से प्रारम्भ होने वाली पंक्तियाँ) पर मुद्रित करता है:
<syntaxhighlight lang="console">
<syntaxhighlight lang="console">
$ tsort <<EOF
$ tsort <<EOF
Line 182: Line 185:
==यह भी देखें==
==यह भी देखें==
{{Portal|Free and open-source software}}
{{Portal|Free and open-source software}}
* क्रमबद्ध करें (यूनिक्स)
* सॉर्ट (यूनिक्स)
* [[बनाओ (सॉफ्टवेयर)]]
* [[बनाओ (सॉफ्टवेयर)|मेक (सॉफ्टवेयर)]]
* टोपोलॉजिकल सॉर्टिंग
* सांस्थितिक सॉर्टिंग
* [[यूनिक्स कमांड की सूची]]
* [[यूनिक्स कमांड की सूची]]
* [[कॉल ग्राफ़]]
* [[कॉल ग्राफ़|आह्वान आरेख़]]


==संदर्भ==
==संदर्भ==
Line 200: Line 203:


==बाहरी संबंध==
==बाहरी संबंध==
manual page of tsort on
manual page of टीसॉर्ट on
* [http://www.freebsd.org/cgi/man.cgi?query=tsort FreeBSD],
* [http://www.freebsd.org/cgi/man.cgi?query=tsort FreeBSD],
* [http://man.openbsd.org/tsort.1 OpenBSD],
* [http://man.openbsd.org/tsort.1 OpenBSD],
Line 212: Line 215:
{{Core Utilities commands}}
{{Core Utilities commands}}


<!-- Categories -->[[Category: यूनिक्स SUS2008 उपयोगिताएँ]] [[Category: इन्फर्नो (ऑपरेटिंग सिस्टम) कमांड]]
<!-- Categories -->
 
 


[[Category: Machine Translated Page]]
[[Category:All articles containing potentially dated statements]]
[[Category:Articles containing potentially dated statements from 2017]]
[[Category:Articles with hatnote templates targeting a nonexistent page]]
[[Category:CS1 errors]]
[[Category:Collapse templates]]
[[Category:Created On 11/07/2023]]
[[Category:Created On 11/07/2023]]
[[Category:Machine Translated Page]]
[[Category:Navigational boxes| ]]
[[Category:Navigational boxes without horizontal lists]]
[[Category:Pages with empty portal template]]
[[Category:Pages with script errors]]
[[Category:Portal templates with redlinked portals]]
[[Category:Sidebars with styles needing conversion]]
[[Category:Template documentation pages|Documentation/doc]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates generating microformats]]
[[Category:Templates that are not mobile friendly]]
[[Category:Templates using TemplateData]]
[[Category:Wikipedia metatemplates]]
[[Category:इन्फर्नो (ऑपरेटिंग सिस्टम) कमांड]]
[[Category:यूनिक्स SUS2008 उपयोगिताएँ]]

Latest revision as of 11:00, 27 July 2023

tsort
Initial release1979; 45 years ago (1979)
Operating systemUnix, Unix-like, V, Inferno
PlatformCross-platform
TypeCommand

टीसॉर्ट प्रोग्राम यूनिक्स और यूनिक्स जैसे प्लेटफार्मों पर एक कमांड लाइन इंटरफेस उपयोगिता है, जो अपने इनपुट पर सांस्थितिक सॉर्ट करता है। As of 2017, यह पोसिक्स1 मानक का हिस्सा है। [1]


इतिहास

इसकी जानकारी के अनुसार (यूनिक्स) [2] पेज, यह कमांड प्रारम्भ में ऑब्जेक्ट फ़ाइलों का क्रम प्रदान करने के लिए लिखा गया था जो लिंकर (कंप्यूटिंग) को उन्हें क्रमिक रूप से संसाधित करने की अनुमति देता था (प्रत्येक एक बिल्कुल एक बार, और क्रम में)। फ्रीबीएसडी मैनुअल पेज की उपस्थिति संस्करण 7 यूनिक्स पर आधारित है। [3]

ध्यान दें कि निम्नलिखित विवरण टीसॉर्ट के फ्रीबीएसडी कार्यान्वयन के व्यवहार का वर्णन कर रहा है और जीएनयू सुविधाओं का उल्लेख करता है जहां वे उपस्थित हो सकते हैं। अन्य कार्यान्वयन या संस्करण भिन्न हो सकते हैं.

वाक्यविन्यास

tsort [-dlq] [FILE]

फ्रीबीएसडी विकल्प हो सकते हैं:

-d         turn on debugging
-l         search for and display the longest cycle.
-q         Do not display informational messages about cycles.


जीएनयू केवल निम्नलिखित विकल्प प्रदान करता है:

--help     display help message and exit
--version  display version information and exit

पोसिक्स द्वारा कोई विकल्प निर्धारित नहीं हैं।

व्यवहार

टीसॉर्ट अपने इनपुट को (दी गई फ़ाइल से, या मानक स्ट्रीम से यदि कोई इनपुट फ़ाइल नहीं दी गई है या '-' की फ़ाइल के लिए) स्ट्रिंग के जोड़े के रूप में पढ़ता है, रिक्त स्थान से अलग किया जाता है, जो आंशिक क्रम का संकेत देता है। आउटपुट कुल क्रमण है जो दिए गए आंशिक क्रमण से मेल खाता है। [4]

दूसरे शब्दों में: एक निर्देशित चक्रीय आरेख (निर्भरता आरेख के रूप में प्रयुक्त) के लिए, टीसॉर्ट शीर्षों की एक सूची तैयार करता है ताकि सभी किनारों 'a->b' के लिए, 'a' सूची में 'b' से पहले आए।

उदाहरण

टीसॉर्ट एक निर्देशित चक्रीय आरेख के शीर्षों को इस तरह से सूचीबद्ध करता है कि सभी क्रम/दिशा संबंधों का सम्मान किया जाता है:

$ tsort <<EOF
> 3 8
> 3 10
> 5 11
> 7 8
> 7 11
> 8 9
> 11 2
> 11 9
> 11 10
> EOF
3
5
7
11
8
10
2
9
sample DAG


आह्वान आरेख़

टीसॉर्ट किसी स्रोत फ़ाइल में फलन को पुनर्व्यवस्थित करने में मदद कर सकता है ताकि जितना संभव हो उतना उपयोग करने से पहले परिभाषित किया जा सके (निम्नलिखित को इस प्रकार समझें: main() आह्वान करता है parse_options(), tail_file() और tail_forever(); tail_file() आह्वान करता है pretty_name(), और इसी तरह। नतीजा यह है कि dump_remainder() को पहले start_lines() दूसरा, आदि परिभाषित किया जाना चाहिए):

$ cat call-graph
main parse_options
main tail_file
main tail_forever
tail_file pretty_name
tail_file write_header
tail_file tail
tail_forever recheck
tail_forever pretty_name
tail_forever write_header
tail_forever dump_remainder
tail tail_lines
tail tail_bytes
tail_lines start_lines
tail_lines dump_remainder
tail_lines file_lines
tail_lines pipe_lines
tail_bytes xlseek
tail_bytes start_bytes
tail_bytes dump_remainder
tail_bytes pipe_bytes
file_lines dump_remainder
recheck pretty_name
$ # note: 'tac' reverses the order
$ tsort call-graph | tac
dump_remainder
start_lines
file_lines
pipe_lines
xlseek
start_bytes
pipe_bytes
tail_lines
tail_bytes
pretty_name
write_header
tail
recheck
parse_options
tail_file
tail_forever
main


पुस्तकालय

पारंपरिक एलडी (यूनिक्स) (यूनिक्स लिंकर) के लिए आवश्यक है कि उसके लाइब्रेरी इनपुट को सांस्थितिक क्रम में क्रमबद्ध किया जाए, क्योंकि यह एक ही पास में फाइलों को संसाधित करता है। यह स्थिर पुस्तकालय (*.a) और गतिशील पुस्तकालय (*.so) दोनों पर लागू होता है, और स्थैतिक पुस्तकालयों की स्तिथि में अधिमानतः भीतर निहित व्यक्तिगत ऑब्जेक्ट फ़ाइलों के लिए है। [5] बीएसडी यूनिक्स विशिष्ट एआर (यूनिक्स) और रैनलिब कमांड इनवोकेशन (/usr/share/mk/bsd.lib.mk से) के एक सामान्य भाग के रूप में टीसॉर्ट का उपयोग करता है:

lib${LIB}.a: ${OBJS} ${STATICOBJS}
    @${ECHO} building static ${LIB} library
    @${AR} cq ${.TARGET} `lorder ${OBJS} ${STATICOBJS} | tsort -q` ${ARADD}
    ${RANLIB} ${.TARGET}

यहाँ lorder (लाइब्रेरी ऑर्डर) का उपयोग प्रतीक तालिका का निरीक्षण करके अंतर-फ़ाइल निर्भरता सूची उत्पन्न करने के लिए किया जाता है।

उपयोग नोट्स

श्वेत स्थान विभाजकों की विनिमेयता पर ध्यान दें ताकि निम्नलिखित इनपुट समतुल्य हों:

a b
b c
a b b
c
a
b b c
a b b c
a
b
b
c

समान वस्तुओं के जोड़े एक शीर्ष की उपस्थिति का संकेत देते हैं, लेकिन क्रमबद्ध नहीं (इसलिए निम्नलिखित किनारों के बिना एक शीर्ष का प्रतिनिधित्व करता है):

a asammilit 

कड़ाई से कहें तो ऐसे आरेख़ का कोई सांस्थितिक ऑर्डर नहीं होता है जिसमें एक या अधिक चक्र (आरेख़ सिद्धांत) सम्मिलित हो। हालाँकि टीसॉर्ट एक चेतावनी मुद्रित करता है और जीएनयू टीसॉर्ट चक्र पहचान (आरेख सिद्धांत) को सत्देरर ('टीसॉर्ट:' से प्रारम्भ होने वाली पंक्तियाँ) पर मुद्रित करता है:

$ tsort <<EOF
> a b
> b c
> c a
> EOF
UX: tsort: INFORM: cycle in data
tsort: a
tsort: b
tsort: c
a
b
c


यह भी देखें

संदर्भ

  1. से लगाना.html "क्रम से लगाना". The Open Group Base Specifications Issue 7, 2018 edition. The Open Group. {{cite web}}: Check |url= value (help)
  2. "Tsort background (GNU Coreutils 9.0)".
  3. "Tsort".
  4. "Tsort invocation (GNU Coreutils 9.0)".
  5. "c++ - gcc ld: method to determine link order of static libraries". Stack Overflow.



अग्रिम पठन


बाहरी संबंध

manual page of टीसॉर्ट on