- Windows पर UNIX-स्टाइल core utilities को native रूप से चलाकर, Linux/macOS/WSL में इस्तेमाल किए जाने वाले वही commands और pipelines ज्यों-के-त्यों इस्तेमाल किए जा सकते हैं
- Microsoft-प्रबंधित build में uutils/coreutils, findutils, grep को एक ही multicall binary में पैक किया गया है
- वही commands/flags/pipelines उसी तरह काम करते हैं, इसलिए मौजूदा scripts को बिना किसी बदलाव के port किया जा सकता है
- लक्ष्य है Linux/macOS/WSL/container/Windows के बीच आवाजाही को बिना friction के बनाना
- PowerShell 7.4 या उससे ऊपर आवश्यक है (
~support के लिए 7.6 या उससे ऊपर अनुशंसित)- कुछ commands के नाम CMD·PowerShell built-in commands से टकराते हैं, इसलिए कौन-सा command चलेगा यह PATH order और alias table पर निर्भर करता है
- उपलब्ध नहीं कराए गए commands:
dir/expand/more(built-in DOS commands से टकराव),kill(signals नहीं),timeout(killपर निर्भर),whoami(Windows built-in command से टकराव) findऔरsortमूल DOS commands के unified ports हैं,hostnameWindows built-in command का superset है
- Windows के environment differences मौजूद हैं
/dev/nullकी जगहNULका उपयोग, POSIX signals unsupported हैं (Ctrl+Cही काम करता है)- path separators
/और\दोनों स्वीकार्य हैं, file permissions POSIX bits नहीं बल्कि ACL-आधारित हैं - CRLF line endings ज़्यादातर अपने-आप transparently संभाली जाती हैं, लेकिन
uniqजैसे byte-based behavior में अंतर संभव है - symbolic links को पढ़ना सामान्य रूप से काम करता है, लेकिन नए symbolic links बनाने के लिए Developer Mode या elevated terminal चाहिए
- POSIX-विशेष concepts (
chmod,chown,id,whoआदि) और Windows पर अनावश्यक commands (dircolors,shred,unameआदि) को जानबूझकर बाहर रखा गया है - MIT लाइसेंस: Rust + PowerShell + Inno Setup से implemented
4 टिप्पणियां
PowerShell+Coreutils for Windowsका संयोजन एक और तरह का fragmentation लेकर आता हुआ लगता है।अब जाकर। वो भी इसे अधूरा बनाकर रखा है, यह MS की सिहरन पैदा करने वाली अक्षमता का एहसास कराता है
क्या यह Linux के साथ पूरी तरह integrate हो पाएगा?
सारांश: Windows पर
ls,grep,find,cp,mv,cat, ... इस्तेमाल किए जा सकते हैं!