मैं विंडोज पर git-bash में 'ट्री' कमांड कैसे जोड़ूं?


53

मैं विंडोज 7 पर गिट-बैश का उपयोग कर रहा हूं। मैं वर्तमान निर्देशिका का एक पेड़ देखना चाहता हूं। हालाँकि:

jcollum@DEVELOPER01 ~/Dev/express_coffee            
$ tree .                                            
sh.exe": tree: command not found

ठीक है, इसलिए मेरे पास ट्री कमांड नहीं है। इसे कैसे स्थापित किया जा सकता है? मुझे एक लेख मिला लेकिन यह मैक के लिए था।


git-bashवास्तव में साइगविन का केवल एक कट डाउन संस्करण है। जाने के लिए सबसे अच्छा तरीका है cygwin.com से Cygwin को इनस्टॉल करना, और treeजो भी पैकेज इसमें मौजूद है (यदि वह मौजूद है तो) पैकेज मैनेजर का उपयोग करें ।
Allquixotic

2
@allquixotic वास्तव में इन दिनों यह mingw है
jcollum

जवाबों:


35

आप "cmd //c tree"विंडोज का उपयोग करने के लिए भी इस्तेमाल कर सकते हैं 'tree

स्पष्टीकरण:

  • Cmd को '/ c' तर्क के साथ लॉन्च करें और ट्री रन करें, फिर समाप्त करें

/ C स्ट्रिंग द्वारा निर्दिष्ट आदेश को पूरा करता है और फिर समाप्त करता है

(भागने के लिए अतिरिक्त स्लैश)

/ एससीआई चर के साथ चलाने के लिए एक उपयोग के मामले में यह सही प्रदर्शित नहीं करता है।

यहाँ अधिक विस्तार से उत्तर दिया गया: https://stackoverflow.com/q/515309/1261166


2
आप इस कमांड को अपने ~ / .bashrc:alias tree='cmd //c tree //a
onlyhuman

यह अब काम नहीं करता है। का उपयोग करेंtree.com /a
ऑटोमोर्फिक

30

मैंने सुझाव के रूप में यहाँ से जिप फाइल के अंदर के पेड़ को डाउनलोड किया है। http://gnuwin32.sourceforge.net/packages/tree.htm

तब मैंने ट्री। Exe फ़ाइल को निकाला है C:\Program Files\Git\usr\bin(मैंने नियमित सीएमडी के साथ काम करने के लिए इस फ़ोल्डर को विंडोज़ पथ में जोड़ा है लेकिन यह GITBash के साथ भी काम करता है)। खिड़कियों पर ट्री कमांड के साथ गिट बैश

मुझे आशा है कि यह आपको किसी तरह मदद करता है!


2
विंडोज 7 पर गिट-बैश के साथ बहुत अच्छी तरह से काम करता है, धन्यवाद!
cjauvin

2
tree.exe को C: \ Program Files \ Git \ usr \ bin में कॉपी किया जाता है, जिसे हम ढूंढ रहे थे। शानदार शेयर। धन्यवाद। डाउनलोड । इसके विपरीत मूल साइट से डाउनलोड करने का प्रयास करें।
डोगल

1
विंडोज़ 10 में मैं इसे C:\Users\myuser\AppData\Local\Programs\Git\usr\bin लगाता हूं कि मुझे लगता है कि अंगूठे का नियम यह है कि bash.exe या git.exe स्थित है, एक फ़ोल्डर ऊपर जाएं, फिर usr / bin / ढूंढें और वहां पेड़ लगाएं
चार्ल्स एल।

10

विंडोज़ में एक ट्री कमांड पहले से ही है - केवल समस्या यह है कि यह पेड़ है। और जीआईटी बैश स्वचालित रूप से एक्सटेंशन नहीं जोड़ेंगे। कॉम और इसे निष्पादित करें।

हालांकि यह आपको तब मिलेगा जब आप पेड़ या ट्रे टाइप करने के बाद टैब दबाएंगे

फ़ाइलों को देखने के लिए आपको // f - का उपयोग करना होगा / या bash को लगता है कि यह फ़ोल्डर का नाम होगा

मैंने ascii लाइन्स दिखाने के लिए // a का भी उपयोग किया है लेकिन आपको इसका उपयोग करने की आवश्यकता नहीं है

उदाहरण:

dean@dean:~/java$ tree
bash: tree: command not found
dean@dean:~/java$ tree.com //a
Folder PATH listing for volume c
Volume serial number is 4E70-B37A
C:.
+---atom
+---sublime
\---vscode
dean@dean:~/java$ tree.com //a //f
Folder PATH listing for volume c
Volume serial number is 4E70-B37A
C:.
+---atom
|       test1
|
+---sublime
|       test2
|
\---vscode
        test3

dean@dean:~/java$

1
कमाल है, एक आकर्षण की तरह काम किया ..
संतोष कुमार अर्जुन

7

GnuWin32 पेड़ का निर्माण http://gnuwin32.sourceforge.net/packages/tree.htm पर है - यदि आप पहले से ही GnuWin32 का उपयोग नहीं कर रहे हैं, तो आपको इसे अपने पथ में जोड़ना होगा।

यदि आप इसे विंडोज कंसोल पर उपयोग करना चाहते हैं, तो आपको कुछ और जैसे कि lstree.exe, का नाम बदलने या कॉपी करने की आवश्यकता होगी। अन्यथा, विंडोज ट्री कमांड पूर्ववर्ती ले जाएगा। ग्नूविन संस्करण का लाभ यह है कि इसमें बहुत सारे विकल्प हैं - जैसे tree -L 2कि पुनरावृत्ति की गहराई 2 तक सीमित होगी।

> tree --help
usage: tree [-adfghilnpqrstuvxACDFNS] [-H baseHREF] [-T title ] [-L level [-R]]
        [-P pattern] [-I pattern] [-o filename] [--version] [--help] [--inodes]
        [--device] [--noreport] [--nolinks] [--dirsfirst] [--charset charset]
        [--filelimit #] [<directory list>]
  -a            All files are listed.
  -d            List directories only.
  -l            Follow symbolic links like directories.
  -f            Print the full path prefix for each file.
  -i            Don't print indentation lines.
  -q            Print non-printable characters as '?'.
  -N            Print non-printable characters as is.
  -p            Print the protections for each file.
  -u            Displays file owner or UID number.
  -g            Displays file group owner or GID number.
  -s            Print the size in bytes of each file.
  -h            Print the size in a more human readable way.
  -D            Print the date of last modification.
  -F            Appends '/', '=', '*', or '|' as per ls -F.
  -v            Sort files alphanumerically by version.
  -r            Sort files in reverse alphanumeric order.
  -t            Sort files by last modification time.
  -x            Stay on current filesystem only.
  -L level      Descend only level directories deep.
  -A            Print ANSI lines graphic indentation lines.
  -S            Print with ASCII graphics indentation lines.
  -n            Turn colorization off always (-C overrides).
  -C            Turn colorization on always.
  -P pattern    List only those files that match the pattern given.
  -I pattern    Do not list files that match the given pattern.
  -H baseHREF   Prints out HTML format with baseHREF as top directory.
  -T string     Replace the default HTML title and H1 header with string.
  -R            Rerun tree when max dir level reached.
  -o file       Output to file instead of stdout.
  --inodes      Print inode number of each file.
  --device      Print device ID number to which each file belongs.
  --noreport    Turn off file/directory count at end of tree listing.
  --nolinks     Turn off hyperlinks in HTML output.
  --dirsfirst   List directories before files.
  --charset X   Use charset X for HTML and indentation line output.
  --filelimit # Do not descend dirs with more than # files in them.

विंडोज पेड़ की तुलना में:

> tree /?
Graphically displays the folder structure of a drive or path.

TREE [drive:][path] [/F] [/A]

   /F   Display the names of the files in each folder.
   /A   Use ASCII instead of extended characters.

IMO, यह साइगविन में ट्री सीएमडी प्राप्त करने का सबसे सीधा तरीका है और मैंने असफलता से पहले संकलन मार्ग की कोशिश की। इसके साथ आप बस बाइनरी डाउनलोड करते हैं, इसे अपने साइबरवेयर पथ और वायोला पर एक फ़ोल्डर में निकालते हैं, बॉक्स से ट्री कमांड
iloveretards

cygwin में: apt-cyg install treeऔर tree.execygwin binफ़ोल्डर में होगा।
तिमो

2

git-bash वास्तव में mingw का केवल एक कट डाउन संस्करण है। Cygwin.com से Cygwin को इनस्टॉल करें, और फिर 'ट्री' को स्थापित करने के लिए पैकेज मैनेजर का उपयोग करें या इसमें जो भी पैकेज है, या यदि यह मौजूद नहीं है, तो gcc इंस्टॉल करें, ट्री सोर्स यहाँ से डाउनलोड करें:

http://mama.indstate.edu/users/ice/tree/

फिर INSTALL फ़ाइल में निर्देशों का पालन करें (मेक, इनस्टॉल)


तो क्या मिंगग्व में यह असंभव है?
जेन एस।

1
मुझे लगता है कि यह मिंगव से बहुत मुश्किल नहीं है, लेकिन यह आपके डिफ़ॉल्ट गिट-बैश प्रॉम्प्ट से संभव नहीं है, क्योंकि मुझे लगता है कि गिट-बैश उन उपकरणों के साथ नहीं आता है जिन्हें आपको सी / सी ++ कंपाइलर की तरह की आवश्यकता होती है। लेकिन आप mingw को स्थापित करने की कोशिश कर सकते हैं, जिससे gcc को शामिल करना सुनिश्चित कर सकते हैं, और INSTALL फ़ाइल को ट्री में निर्देशों का पालन कर सकते हैं। मैंने अतीत में विंडोज पर इस तरह की चीजों को संकलित करने के लिए मिंगव का उपयोग किया है, इसलिए यह हिस्सा निश्चित रूप से संभव है।
जोनाथन हार्टले

1

एक अन्य विकल्प मिनगडब्ल्यू पैकेज का उपयोग करना होगा, यदि आपके पास पहले से ही मिनग्व स्थापित है, तो पेड़ को वहां पैक किया जाता है, बस इसे मिनगव टर्मिनल खोलकर और चलाकर स्थापित करें pacman -Sy tree

यदि आपके पास पहले से स्थापित मिनगव नहीं है, तो शायद यह केवल ट्री कमांड के लिए इसे स्थापित करने के लिए ओवरकिल है।


0

आपको तीन के लिए विंडोज को स्थापित करना होगा जैसा कि ऊपर दिए गए लिंक से कहा गया है: http://gnuwin32.sourceforge.net/packages/tree.htm

इसके अलावा आपको अपने विंडोज़ पथ में ट्री प्रोग्राम को जोड़ने की आवश्यकता है या ट्री कमांड केवल cmd पर उपलब्ध होगा। अपने विंडो पथ पर पहुँचें और इसे जोड़ें (डिफ़ॉल्ट स्थापना के लिए):

;C:\Program Files (x86)\GnuWin32\bin

उन्हें आप खिड़कियों पर गिट बैश पर ट्री कमांड का उपयोग करने में सक्षम होंगे।


0

यह मेरी .gitconfig फ़ाइल की शुरुआत है: मैंने लॉग -ग्राफ के लिए एक उपनाम बनाया है

# This is Git's per-user configuration file.
[user]
# Please adapt and uncomment the following lines:
    name = xxxxxx
    email = xxx@xxx.xxx 
[alias]
    tree = log --graph --oneline --all --pretty=format:'%C(yellow)%h%Creset -%Cred%d%Creset %s %Cgreen%cr%Creset %C(cyan)%an%Creset %gn'

1
समाधान नहीं। उपनाम कमिट दिखाता है न कि फाइल / डायर।
तिमो

0

Windows के लिए Git ( https://gitforwindows.org/ ) (Git Bash) है, लेकिन इसमें शामिल नहीं है tree। (पैकेज मैनेजर) के treeमाध्यम से उपलब्ध है, pacmanलेकिन यह केवल तभी उपलब्ध है जब आप "विंडोज एसडीके के लिए गिट" स्थापित करते हैं (gitforwindows.org/ के नीचे स्क्रॉल करें) जो https://github.com/ से इसके लिए इंस्टॉलर डाउनलोड करने के लिए एक लिंक प्रदान करता है। git-for-windows / build-extra / रिलीज़ / नवीनतम )

यह SO: "विंडो के लिए git में पैकेज प्रबंधन?" बहुत मददगार था https://stackoverflow.com/questions/32712133/package-management-in-git-s- Windows

उपरोक्त एसओ के रूप में भी टिप्पणी की गई है, वे इस मुद्दे को विंडोज़ के मुद्दे के लिए लिंक करते हैं [ताजा 2.5.2 पर लापता पचमैन # 397 स्थापित करें] कि यह pacmanडिफ़ॉल्ट इंस्टॉल में शामिल नहीं था ।

वैसे भी, मैंने "विंडोज एसडीके के लिए गिट" स्थापित किया है, तो इसमें बैश प्रॉम्प्ट (एसडीके -64) है मैंने वर्तमान पेड़ v1.7.0-1 (इस पोस्टिंग 30 अगस्त, 2018 के अनुसार) स्थापित करने के लिए निम्नलिखित भाग लिया:

[SDK-64: Bash Terminal for Git for Windows SDK]
pacman -S tree
...
Proceed with installation? [Y/n] Y

मेरे सिस्टम पर, Windows SDK के लिए Git के तहत इंस्टॉल किया गया है: C:\git-sdk-64इसलिए मेरे Git से विंडोज बैश शेल के लिए (जिसमें ट्री इंस्टॉल नहीं था), मैंने इसे पेड़ पर कॉपी किया है। इसे / usr / bin डायरेक्टरी, उदा।

[MINGW64: Bash Terminal for Git for Windows]
cd /usr/bin
cp /c/git-sdk-64/usr/bin/tree.exe .

अब मैं treeGit Bash गोले से v1.7.0 चला सकता हूं ।

इसलिए, इसे दूसरों के लिए और शायद खुद को भविष्य की मशीन के लिए आसान बनाने के लिए, मैंने देखा कि विंडोज एसडीके बैश टर्मिनल के लिए मेरे गिट में चलकर पैकेज कहां pacmanसे मिल रहा था tree:

$ pacman -S --info tree
Repository      : msys
Name            : tree
Version         : 1.7.0-1
Description     : A directory listing program displaying a depth indented list of files
Architecture    : x86_64
...

यहाँ महत्वपूर्ण बात pacmanयह है कि इसे "msys" रिपॉजिटरी (FYI) से मिल रहा है: भले ही यह कहता है कि msys, यह वास्तव में msys2 का उपयोग कर रहा है), इसलिए मैंने इसे देखा /etc/pacman.d/mirrorlist.msysऔर पहला मिरर पॉइंटhttp://repo.msys2.org/msys/$arch/

तो अगली बार जब आप एक ऐसा पैकेज चाहते हैं जो विंडोज के लिए Git में नहीं है, तो आप उनसे डाउनलोड कर सकते हैं: http://repo.msys2.org/msys/x86_64/ (64-बिट के लिए) या http: //repo.msys2 से .org / msys / i686 / (32-बिट)

उदाहरण के लिए पेड़ के लिए डायरेक्ट डाउनलोड लिंक v1.7.0-1


1
जानकारी के लिए: पर Git एससीएम के विंडो के डाउनलोड git-scm.com/download विंडोज GitHub के लिए Git (से नवीनतम खींचती github.com/git-for-windows/git/releases से) github.com/git-for-windows/git
एन। नागा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.