මැක් ඕඑස් එක්ස් සඳහා උබුන්ටු treeවිධානයට සමාන දෙයක් තිබේද?
මැක් ඕඑස් එක්ස් සඳහා උබුන්ටු treeවිධානයට සමාන දෙයක් තිබේද?
Answers:
ඔබට treeMacOS මතද විධානය ලබා ගත හැකිය . ඔබට හෝම්බ rew තිබේ නම් , ඔබ කළ යුත්තේ ධාවනය පමණි:
brew install tree
විස්තර සඳහා කියවන්න.
මැකෝස් සඳහා පැකේජ කළමනාකරුවන් කිහිප දෙනෙක් ඇත. වඩාත් ජනප්රිය: බරපැනක් , MacPorts , හෝ Fink . ඔබට එකක් ස්ථාපනය කළ හැකිය, නමුත් මම හෝම්බ rew නිර්දේශ කරමි. එකවර මේවායින් එකකට වඩා ස්ථාපනය නොකරන්න!
වෙබ් අඩවියේ ඇති උපදෙස් අනුගමනය කරන්න, ඉන්පසු ඔබ තෝරාගත් පැකේජ කළමණාකරු මත පදනම්ව පහත දැක්වෙන විධානයන්ගෙන් එකක් ක්රියාත්මක කරන්න.
හෝම්බ rew සඳහා:
brew install tree
මැක්පෝර්ට්ස් සඳහා:
sudo port install tree
ෆින්ක් සඳහා:
fink install tree
පැකේජ කළමණාකරුවන් විසින් පෙරනිමියෙන් මැකෝස් සමඟ නොපැමිණෙන ග්නූ / ලිනක්ස් ඇතුළු වෙනත් විධාන රේඛා වැඩසටහන් ඉදිරිපත් කරයි.
පළමුව, ඔබ ධාවනය කිරීමෙන් Xcode විධාන රේඛා මෙවලම් ස්ථාපනය කළ xcode-select --installයුතුය.
ඉන්පසු, මූලාශ්රය බාගන්නtree . ඉන්පසු එය ක්රියාත්මක කිරීම සඳහා Makefile වෙනස් කරන්න , එය @ apuche ගේ පිළිතුරෙන් පහතින් විස්තර කෙරේ . ලිනක්ස් විකල්පයන් ගැන අදහස් දැක්වීම සහ මැකෝස් විකල්පයන් නොසලකා හැරීම ප්රමාණවත් විය යුතුය.
එවිට, ක්රියාත්මක ./configureපසුව, make.
දැන් ඔබට treeද්විමය ගොනුව ඔබේ ක්රියාත්මක කළ හැකි ස්ථානයකට ගෙන යා යුතුය . උදාහරණයක් වශයෙන්:
sudo mkdir -p /usr/local/bin
sudo cp tree /usr/local/bin/tree
ඇතුළත් කිරීමට දැන් සංස්කරණය කරන්න ~/.bash_profile:
export PATH="/usr/local/bin:$PATH"
කවචය නැවත පූරණය කරන්න, දැන් which treeයොමු විය යුතුය /usr/local/bin/tree.
makeOS X මත ධාවනය කිරීම ක්රියා නොකරන නිසා. පළමුව, ඔබ Xcode විධාන රේඛා මෙවලම් ස්ථාපනය කරන්නේ කෙසේදැයි දැන සිටිය යුතුය (හෝ සාමාන්යයෙන් මෘදුකාංග තැනීම පිළිබඳ යම් අදහසක් ඇත) එවිට එය නිර්වචනය නොකළ සංකේතයක් මත දෝෂ ඇති බව ඔබට පෙනී යනු ඇත. එබැවින් ඔබ මේක්ෆයිල් සඳහා යම් යම් වෙනස්කම් කළ යුතුය ( මෙහි විස්තර කර ඇති පරිදි ). ඕනෑවට වඩා කරදරකාරී IMO.
                    ./configureසහ makeහරියටම කරන්නේ කුමක්ද සහ ඒවා මුලින් අවශ්ය වන්නේ ඇයිද යන්න තේරුම් ගැනීමටය. නැතහොත් ඔවුන්ට එය සමඟ කටයුතු කිරීමට අවශ්ය නැත. හෝ ඒ සඳහා ඕනෑම උපකාරක ලිපිගොනු කියවන්න. ඔවුන් ඒ වගේ දෙයක් කරන්න කැමතියි apt-get install. ඔබ ප්රභවයෙන් ස්ථාපනය කිරීමට කැමති නම් එය හොඳයි (මම පෞද්ගලිකව ද එසේ කරමි), නමුත් වෙනත් අයට පහසු යැයි පෙනෙන විසඳුම් ඇති බව ඔබ පිළිගත යුතුය, නැතහොත් සාමාන්ය පරිගණක භාවිතා කරන්නන්ගෙන් බහුතරයක් පවා.
                    ./configureසහ makeකරන්න. මෘදුකාංග ස්ථාපනය කිරීම සඳහා ඒවා මා විසින් කළ යුතු පියවර බව මම දනිමි. මම README සහ INSTALL ගොනු අන්ධ ලෙස කියවා, එය කියන ඕනෑම දෙයක් මම කරමි.
                    grep. කැමති tree | grep -v 'json'හෝ සමාන.
                    හරියටම සමාන නොවේ, නමුත් මැක්හි එක් ඉක්මන් ක්රමයක් නම්:
find .
ඒක තමයි. එය වත්මන් නාමාවලියෙහි ඇති සියලුම ගොනු මාර්ග ලැයිස්තුවක් ලෙස ලැයිස්තුගත කරනු ඇත.
find . -type f
                    find . -type d -maxdepth 2මා වෙනුවෙන් වැඩ කළ නාමාවලි ව්යුහය පෙන්වීමට මට්ටම් කිහිපයක් ගැඹුරට යාමට පමණි
                    find *සැඟවුණු ලිපිගොනු සහ නාමාවලි බැලීමට ඔබට අවශ්ය නැතිනම් වඩා හොඳ භාවිතය . treeපෙරනිමියෙන් සැඟවුණු ලිපිගොනු සහ නාමාවලි පෙන්වන්නේ නැත.
                    find万金油 මෙවලමකි.
                    හෝ නම් ඔබගේ පරිපාලක ඔබ ඕනෑම ස්ථාපනය ඉඩ දෙන්නේ නැහැ brew, fink, portඔබ හැම විටම ප්රභවය සිට එය ගොඩනැගීමට හැකි මෙවලම්:
curl -O ftp://mama.indstate.edu/linux/tree/tree-1.5.3.tgz
tar xzvf tree-1.5.3.tgz
cd tree-1.5.3/
ls -al
ලිනක්ස් කොටස සහ නොගැලපෙන ඔක්ස් ප්රදේශය අදහස් දැක්වීමට මේක්ෆයිල් සංස්කරණය කරන්න:
# Linux defaults:
#CFLAGS=-ggdb -Wall -DLINUX -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
#CFLAGS=-O2 -Wall -fomit-frame-pointer -DLINUX -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
#LDFLAGS=-s
# Uncomment for OS X:
CC=cc
CFLAGS=-O2 -Wall -fomit-frame-pointer -no-cpp-precomp
LDFLAGS=
XOBJS=strverscmp.o
ඔබ එහි සිටින අතරතුර, සෑම විටම ප්රතිදානය වර්ණ ගැන්වීමට ගසට බල කිරීමට ඔබට අවශ්ය නම්, ඔබට සෑම විටම ගොනුවේ mainක්රමය සංස්කරණය කර පෙර tree.cඑකතු force_color=TRUE;කළ හැකියsetLocale(LC_TYPE,"");
අවසාන වශයෙන් පහර දී makeඔබ treeමැක් සඳහා ගොඩනැගීම අවසන් කර ඇත.
උපහාරය ෂෝන් චැප්මන් වෙත ඔහුගේ බ්ලොග් අඩවියේ මුල් සටහන සඳහා ය.
force_color = TRUE;. අර්ධ සළකුණක් නොමැති අතර ඔබට සම්පාදක දෝෂයක් ලැබේ.
                    setLocaleඑහි setlocale. ඉතින් tree.c, ඔබ සොයන්නේ setlocale(LC_TYPE,""); ස්තූතියි!
                    /bin(හෝ ගෝලීයව භාවිතා කළ හැකි වන පරිදි යම් මාර්ගයකට) ගෙන යන්නේ කෙසේද යන්න පිළිබඳ සටහනක් එක් කළ හැකිද ?
                    warning: format specifies type 'long' but the argument has type 'long long'. නිවැරදි කිරීම වූයේ ආකෘති පිරිවිතරයක් සිට වෙනස් %9ldකිරීමයි %9lld.
                    ඔබට විධිමත් treeවිධානයක් නැත, කෙසේ වෙතත් ඔබට මෙය කළ හැකිය:
පහත පිටපත / usr / local / bin / tree වෙත සුරකින්න
#!/bin/bash
SEDMAGIC='s;[^/]*/;|____;g;s;____|; |;g'
if [ "$#" -gt 0 ] ; then
   dirlist="$@"
else
   dirlist="."
fi
for x in $dirlist; do
     find "$x" -print | sed -e "$SEDMAGIC"
done
ඔබට එය ක්රියාත්මක කිරීමට අවසර වෙනස් කරන්න:
chmod 755 /usr/local/bin/tree 
ඇත්ත වශයෙන්ම ඔබට නිර්මාණය කිරීමට සිදුවනු ඇත /usr/local/bin:
sudo mkdir -p /usr/local/bin/tree 
tree, නමුත් තවමත් ලස්සන කුඩා විසඳුමක්.
                    මම මෙහි සරල විසඳුමක් සොයා ගතිමි: http://murphymac.com/tree-command-for-mac/
ඔබේ පහත සඳහන් එකතු එසේ .bashrc, .bash_profileහෝ වෙනත් ඕනෑම තැනක එය වැඩ කිරීමට වනු ඇත:
alias tree="find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'"
දැන් treeවිධානයක් එකතු කිරීමෙන් මේ ආකාරයට මුද්රණය වේ:
# ~/my-html-app [13:03:45]$ tree
.
|____app.js
|____css
| |____main.css
| |____theme.css
|____index.html
/tmp. කරුණාකර තේරුම් ගන්න, මම මෙම එක්-ලයිනර්හි අලංකාරයට කැමතියි සහ ඔබේ පිළිතුර ඉහළට ඔසවා තැබුවෙමි, මෙය “සැබෑ” treeවිධානය සඳහා පූර්ණ ආදේශකයක් නොවන බව පෙන්වා දීමට අවශ්ය විය , යමෙකු එය සොයන්නේ නම්.
                    OSX El Capitan rootless ලක්ෂණය සඳහා @ apuche ගේ පිළිතුරට කුඩා කරුණක් එකතු කිරීම . ඩිරෙක්ටරියට ලිවීමට අපට අවසර නැති බැවින් අසමත් වේ .make install/usr/bin
vikas@MBP:~/Downloads/tree-1.7.0$ sudo make install
Password:
install -d /usr/bin
install: chmod 755 /usr/bin: Operation not permitted
install -d /usr/share/man/man1
if [ -e tree ]; then \
        install tree /usr/bin/tree; \
    fi
install: /usr/bin/tree: Operation not permitted
make: *** [install] Error 71
vikas@MBP:~/Downloads/tree-1.7.0$
මෙය මඟහරවා ගැනීම සඳහා, සංස්කරණය Makefileකරන්නprefix = /usr/local
./configure --prefix=/usr/localධාවනය පෙර makeහා make installඑය එම ප්රතිඵල ලබා ඇත.
                    Terminal.app හි භාවිතය සඳහා මම පහත සඳහන් දෑ ~ / .bash_profile වෙත එක් කළෙමි. සොයා ගැනීම භාවිතා කරන ආකාරය මතක තබා ගැනීමට සමහර අදහස් ඇතුළත් කර ඇත.
##########
## tree ##
##########
## example ...
#|____Cycles
#| |____.DS_Store
#| |____CyclesCards.json
#| |____Carbon
#| | |____Carbon.json
# alternate: alias tree='find . -print | sed -e "s;[^/]*/;|____;g;s;____|; |;g"'
# use$ tree ; tree . ; tree [some-folder-path]
function tree {
    find ${1:-.} -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'
}
වත්මන් නාමාවලිය සඳහා උදාහරණයක්
$> tree
යම් මාර්ගයකට උදාහරණයක්
$> tree /some/path
මෙන්න රූබි ස්ක්රිප්ට් විසඳුමක් වන අතර එය ප්රයෝජනවත් පාර-දත්ත සමඟ ලස්සන යුනිකෝඩ් ගසක් නිපදවයි.
#!/usr/bin/env ruby
def tree_hierarchy( root, &children )
  queue = [[root,"",true]]
  [].tap do |results|
    until queue.empty?
      item,indent,last = queue.pop
      kids = children[item]
      extra = indent.empty? ? '' : last ? '└╴' : '├╴'
      results << [ indent+extra, item ]
      results << [ indent, nil ] if last and kids.empty?
      indent += last ? '  ' : '│ '
      parts = kids.map{ |k| [k,indent,false] }.reverse
      parts.first[2] = true unless parts.empty?
      queue.concat parts
    end
  end
end
def tree(dir)
  cols = tree_hierarchy(File.expand_path(dir)) do |d|
    File.directory?(d) ? Dir.chdir(d){ Dir['*'].map(&File.method(:expand_path)) } : []
  end.map do |indent,path|
    if path
      file = File.basename(path) + File.directory?(path) ? '/' : ''
      meta = `ls -lhd "#{path}"`.split(/\s+/)
      [ [indent,file].join, meta[0], meta[4], "%s %-2s %s" % meta[5..7] ]
    else
      [indent]
    end
  end
  maxs = cols.first.zip(*(cols[1..-1])).map{ |c| c.compact.map(&:length).max }
  tmpl = maxs.map.with_index{ |n,i| "%#{'-' if cols[0][i][/^\D/]}#{n}s" }.join('  ')
  cols.map{ |a| a.length==1 ? a.first : tmpl % a }
end
puts tree(ARGV.first || ".") if __FILE__==$0meta = …ප්රදර්ශනය සඳහා විවිධ පාර-දත්ත උකහා ගැනීම සඳහා ඔබට රේඛාව වෙනස් කළ හැකිය , ඊළඟ පේළියේ බෙදීම් කෑලි අතින් තෝරා ගැනීම. තව ටිකක් වැඩ කිරීමෙන් ඔබට පෙන්වීමට පාර-දත්ත තෝරා ගැනීමට අත්තනෝමතික ls තර්ක ඉදිරිපත් කළ හැකිය.
නියැදි ප්රතිදානය (ස්ටැක් පිටාර ගැලීමේ අකුරු වලට වඩා OS X පර්යන්තයේ වඩා හොඳ පෙනුමක්):
phrogz$ tree UCC_IVI/
UCC_IVI/                               drwxr-xr-x  510B  Nov 20 11:07
  ├╴docs/                              drwxr-xr-x  102B  Nov 20 19:21
  │ └╴CANMessages.txt                  -rwxr-xr-x  2.2K  Nov 20 19:21
  │ 
  ├╴effects/                           drwxr-xr-x  204B  Nov 19 17:19
  │ ├╴Depth Of Field HQ Blur.effect    -rwxr-xr-x  2.4K  Nov 19 17:19
  │ ├╴FXAA.effect                      -rwxr-xr-x  1.6K  Nov 17 15:38
  │ ├╴HDRBloomTonemap.effect           -rwxr-xr-x   11K  Nov 17 15:38
  │ └╴SMAA1X.effect                    -rwxr-xr-x  4.4K  Nov 19 17:19
  │ 
  ├╴fonts/                             drwxr-xr-x  136B  Nov 17 15:38
  │ ├╴Arimo-Regular.ttf                -rwxr-xr-x   43K  Nov 17 15:38
  │ └╴OFL.txt                          -rwxr-xr-x  4.3K  Nov 17 15:38
  │ 
  ├╴maps/                              drwxr-xr-x  238B  Nov 19 17:19
  │ ├╴alpha-maps/                      drwxr-xr-x  136B  Nov 17 15:38
  │ │ ├╴rounded-boxes-3.png            -rwxr-xr-x  3.6K  Nov 17 15:38
  │ │ └╴splatter-1.png                 -rwxr-xr-x   35K  Nov 17 15:38
  │ │ 
  │ ├╴effects/                         drwxr-xr-x  136B  Nov 19 17:19
  │ │ ├╴AreaTex-yflipped.dds           -rwxr-xr-x  175K  Nov 19 17:19
  │ │ └╴SearchTex-yflipped.png         -rwxr-xr-x  180B  Nov 19 17:19
  │ │ 
  │ ├╴IBL/                             drwxr-xr-x  136B  Nov 17 15:38
  │ │ ├╴028-hangar.hdr                 -rwxr-xr-x  1.5M  Nov 17 15:38
  │ │ └╴FieldAirport.hdr               -rwxr-xr-x  1.5M  Nov 17 15:38
  │ │ 
  │ ├╴icons/                           drwxr-xr-x  238B  Nov 19 17:19
  │ │ ├╴icon_climate.dds               -rwxr-xr-x  683K  Nov 19 17:19
  │ │ ├╴icon_music.dds                 -rwxr-xr-x  683K  Nov 19 17:19
  │ │ ├╴icon_navigation.dds            -rwxr-xr-x  683K  Nov 19 17:19
  │ │ ├╴icon_phone.dds                 -rwxr-xr-x  683K  Nov 19 17:19
  │ │ └╴icon_surroundView.dds          -rwxr-xr-x  683K  Nov 19 17:19
  │ │ 
  │ └╴materials/                       drwxr-xr-x  102B  Nov 19 17:19
  │   └╴spherical_checker.png          -rwxr-xr-x   11K  Nov 19 17:19
  │   
  ├╴materials/                         drwxr-xr-x  102B  Nov 19 17:19
  │ └╴thin_glass_refractive.material   -rwxr-xr-x  6.0K  Nov 19 17:19
  │ 
  ├╴models/                            drwxr-xr-x  136B  Nov 19 17:19
  │ ├╴BokehParticle/                   drwxr-xr-x  136B  Nov 19 17:19
  │ │ ├╴BokehParticle.import           -rwxr-xr-x  739B  Nov 19 17:19
  │ │ └╴meshes/                        drwxr-xr-x  102B  Nov 19 17:19
  │ │   └╴Mesh.mesh                    -rwxr-xr-x  1.1K  Nov 19 17:19
  │ │   
  │ └╴Glass_Button/                    drwxr-xr-x  136B  Nov 19 17:19
  │   ├╴Glass_Button.import            -rwxr-xr-x  1.2K  Nov 19 17:19
  │   └╴meshes/                        drwxr-xr-x  136B  Nov 19 17:19
  │     ├╴GlassButton.mesh             -rwxr-xr-x   44K  Nov 19 17:19
  │     └╴Icon.mesh                    -rwxr-xr-x  1.8K  Nov 19 17:19
  │     
  ├╴scripts/                           drwxr-xr-x  204B  Nov 19 17:19
  │ ├╴App.lua                          -rwxr-xr-x  764B  Nov 17 15:38
  │ ├╴CANSim.lua                       -rwxr-xr-x   29K  Nov 17 15:38
  │ ├╴ObjectWiggler.lua                -rwxr-xr-x  3.7K  Nov 19 17:19
  │ └╴PathWiggler.lua                  -rwxr-xr-x  2.9K  Nov 17 15:38
  │ 
  ├╴states/                            drwxr-xr-x  170B  Nov 19 18:45
  │ ├╴app-camera.scxml                 -rwxr-xr-x  2.4K  Nov 20 11:07
  │ ├╴app-navigation.scxml             -rwxr-xr-x  590B  Nov 19 18:32
  │ └╴logic.scxml                      -rwxr-xr-x  4.2K  Nov 19 18:59
  │ 
  ├╴tests/                             drwxr-xr-x  102B  Nov 17 15:38
  │ └╴interface-navigation.scxml-test  -rwxr-xr-x   83B  Nov 17 15:38
  │ 
  ├╴UCC_IVI.uia                        -rwxr-xr-x  630B  Nov 19 17:32
  ├╴UCC_IVI.uia-user                   -rwxr-xr-x  832B  Nov 20 17:22
  ├╴UCC_IVI.uip                        -rwxr-xr-x  1.5K  Nov 17 15:38
  └╴UCC_Menu.uip                       -rwxr-xr-x   33K  Nov 19 17:19Xcode ස්ථාපනය කරන්න
විධාන රේඛා මෙවලම් ලබා ගන්න
xcode-select --install
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install tree
ක්රීඩාවට ප්රමාද වූ නමුත් මට ඇත්තේ එකම ප්රශ්නයකි. සේවා ස්ථාන සීමාවන් නිසා, මට ප්රභවයකින් හෝ තෙවන පාර්ශවීය පැකේජ කළමනාකරුවෙකු හරහා පැකේජයක් ස්ථාපනය කිරීමට නොහැකි විය.
මෙය මගේ ක්රියාත්මක කිරීමයි:
# Faux tree command in OS X                                      
#####################################################################
# tree
# Recursive directory/file listing of present working directory 
#
# tree /Users/foo/foo_dir
# Recursive directory/file listing of named directory, e.g foo_dir
#
# tree /System/Library/ 2
# Recursive directory/file listing of named directory, 
# with-user defined depth of recursion, e.g. 2 
#####################################################################
tree ()
{
    [ -n "$2" ] && local depth="-maxdepth $2";
    find "${1:-.}" ${depth} -print 2> /dev/null | sed -e 's;[^/]*/;|____;g;s;____|; |;g'
}
හුදෙක්ම මෙම උත්සවයට එක් /Users/foo/.profileහෝ .bash_profile, එසේ නම් සමග පැතිකඩ refresh: source .profileහෝ:source .bash_profile