Bruke en Mac som tilsvarer Unix "tree"-kommando for å se mappetrær ved terminal

Anonim

Mac-brukere som kommer fra en unix-bakgrunn kan sette pris på å vite hvordan de implementerer tilsvarende Unix-kommandoen «tree» i macOS og Mac OS X. Det er faktisk noen forskjellige måter å vise et mappetre på. i terminalen til Mac OS X, vil vi dekke en enkel treekvivalent oppnådd gjennom et alias, i tillegg til hvordan du installerer innfødt 'tre' på en Mac akkurat som det du ser i Ubuntu eller andre steder i Linux.

Dette er åpenbart rettet mot kommandolinjebrukere, men hvis du bruker mer tid i Finder på Mac-en, vil du kanskje sette pris på å liste opp filer og mappeinnhold rekursivt der, som kan være likt, men som åpenbart ikke viser en katalogtre ved terminalen.

Lag et tre som tilsvarer visning av mappetrær i Terminal for Mac OS X

Et enkelt alias lar deg se mappetrær fra kommandolinjen i Mac OS:

  1. Start Terminal eller iTerm hvis du ikke allerede har gjort det
  2. Åpne .bashrc- eller .zshrc-profilen din i ditt foretrukne tekstredigeringsprogram, vi bruker nano fordi nano er enkelt:
  3. nano .zshrc

  4. På en ny linje limer du inn følgende alias:
  5. "

    aliastreet=finn . -trykk | sed -e &39;s;/;|____;g;s;____|; |;g&39;"

  6. Trykk på Control+O og Control+X for å lagre og avslutte nano (eller avslutte fra vim eller emacs som vanlig), trekommandoen din for å skrive ut katalogtrær er nå klar til bruk

Åpne en ny terminal eller last inn Terminal-profilen din på nytt og du er klar til å bruke det nye trealiaset.

Viser katalogtrestruktur med «tre» på Mac-en

Nå som du har implementert aliaset ditt, kan du bruke 'tree'-kommandoen til å vise den hierarkiske strukturen til den nåværende arbeidsmappen eller katalogen på kommandolinjen. For eksempel, hvis du er i roten / på en Mac og trykker på "tre", vil du vise den hierarkiske strukturen til alt på Macen (dette vil ta en stund og anbefales ikke, men gir en demonstrasjon av hvordan det fungerer )

tre

Trekommandoen er egentlig best brukt i underkataloger med et visst nivå av inneslutning, ellers vil du dumpe strukturen til hele filsystemet utover fra den nåværende arbeidskatalogen.

Installerer 'tree' for Mac-kommandolinjen

Hvis du vil ha litt mer kontroll over 'tree' som muligheten til å spesifisere en katalog, eller du bare vil ha den eksakte 'tree'-ekvivalenten som kommer fra unix-verdenen, kan du bruke homebrew eller macports for å installere treet direkte i macOS og Mac OS X:

Installerer ‘tre’ med Homebrew

brew install tree

Installere «tre» med MacPorts

sudo-portinstallasjonstreet

Min preferanse er Homebrew, men bruk det som fungerer for deg. Når du har installert fra begge, vil du skrive «tree» for å vise mappetreet til en hvilken som helst katalog på Macen.

Merk for å unngå konflikt, du vil ikke bruke et trealias i det første trinnet og deretter installere trekommandoen. Du kan implementere begge deler, men du vil sannsynligvis endre navn på aliaset til «treed» eller noe lignende.

Bruke en Mac som tilsvarer Unix "tree"-kommando for å se mappetrær ved terminal