Bash Tree Command

Bash Tree Command

Bash Tree-kommandoen er sammenlignbar med den velkjente LS-kommandoen til Linux, som brukes til å liste opp filene og katalogene. Den største forskjellen mellom kommandoene er at filene og mappene presenteres i en trelignende struktur av trekommandoen. Tre -kommandoen itererer gjennom et filhierarki og skriver ut filene og underkatalogene i en formatert liste med dybdeinnrykk. Med trekommandoen over bash kan vi raskt bestemme posisjonene til filene og mappene, undersøke deres tilgangstillatelser og også hente de skjulte filene eller katalogene.

Eksempel 1: Installasjon av tre i bash.

Treekommandoen er ikke den innebygde kommandoen til bash. Vi må installere trekommandoen i bash før vi ringer det inn i bash -skallet. Vi bruker sudo -privilegiene med APT -kommandoen for å installere tremodulen i bash. Når kommandoen for installasjonen er utført, ba den passordet for autentisering og deretter installert treet i bash. Her har vi allerede installert trekommandoen med den nyeste versjonen.

$ Sudo apt installer tre
[sudo] Passord for Linux:
Lesing av pakkelister ... ferdig
Bygningsavhengighetstre
Leser tilstandsinformasjon ... ferdig
Følgende nye pakker vil bli installert:
tre
0 oppgradert, 1 nylig installert, 0 for å fjerne og 0 ikke oppgradert.
Trenger å få 43.0 kb av arkiver.
Etter denne operasjonen vil 115 kb av ekstra diskplass brukes.
Få: 1 http: // pk.arkiv.Ubuntu.com/ubuntu fokal/univers AMD64 Tree AMD64 1.8.0-1 [43.0 kb]
Hentet 43.0 kb i 1s (33.4 kb/s)
Velge tidligere ikke valgt pakketre.
(Lesedatabase… 188740 filer og kataloger som for øyeblikket er installert.)
Forbereder seg på å pakke ut ... /tree_1.8.0-1_AMD64.Deb ..
Pakke ut tre (1.8.0-1) ..
Sette opp tre (1.8.0-1) ..
Behandler triggere for Man-DB (2.9.1-1) ..

Nå kan trekommandoen brukes i bash, da vi har installert den i systemet vårt. Følgende kommando brukes til å sjekke versjonen av trekommandoen. Kommandoen returnerte den nyeste versjonen av treet som er installert i systemet vårt.

$ tre -Versjon
tre v1.8.0 (c) 1996 - 2018 av Steve Baker, Thomas Moore, Francesc Rocher, Florian Sesser, Kyosuke Tokoro

For å få hjelp angående Tree Command of Bash, kan vi kjøre følgende trekommando med alternativet "-hjelp". Den viser ut all nødvendig informasjon relatert til trekommandoen i bash -skallet som vist på bildet.

$ tre -Help
Bruk: Tree [-AcdFghilnpqrstuvxAcdfjqnsux] [-h basehref] [-t tittel]
[-L nivå [-r]] [-p mønster] [-i mønster] [-o filnavn] [--version]
[-hjelp] [-Inodes] [--enhet] [--Noreport] [-Nolinks] [----Dirsfirst]
[-Charset Charset] [--filelimit [=]#] [--Si] [-TimeFmt [=]]
[-sort [=]] [-Matchdirs] [--ignore-case] [-fromfile] [-]
[]
------- Listealternativer -------
-a alle filer er oppført.
-D Listekataloger bare.
-Jeg følg symbolske lenker som kataloger.
-f Skriv ut hele Path -prefikset for hver fil.
-x Hold deg kun på gjeldende filsystem.
-L nivå nedover bare nivå kataloger dypt.
-R Rerun Tree da Max DIR -nivå nådde.
-P mønsterliste bare de filene som samsvarer med mønsteret gitt.
-Jeg mønster ikke lister filer som samsvarer med det gitte mønsteret.
--Ignorer-case ignorere tilfellet når mønstermatching.
--Matchdirs inkluderer katalognavn i -p mønster matching.
--noreport slå av fil/katalogtall på slutten av treoppføringen.
--charset x bruk charset x for terminal/html og innrykkslinjeutgang.
--Filelimit # Ikke gå ned Dirs med mer enn # filer i dem.
--TIMEFMT Utskrift og format tid i henhold til formatet .
-o filnavnutgang til fil i stedet for stdout.
------- Filalternativer -------
-q Skriv ut ikke-skrivbare tegn som '?'.
-N Skriv ut ikke-skrivbare tegn som det er.
-Q Sitat filnavn med doble sitater.
-P Skriv ut beskyttelsen for hver fil.
-u viser fileier eller uid -nummer.
-g viser filgruppeeier eller GID -nummer.
-S Skriv ut størrelsen i byte på hver fil.
-H Skriv ut størrelsen på en mer menneskelig lesbar måte.
--Si som -h, men bruk i SI -enheter (Powers of 1000).
-D Skriv ut datoen for siste modifisering eller (-c) statusendring.
-F legger til '/', '=', '*', '@', '|' eller '>' som per ls -f.
--Inodes Skriv ut inode nummer av hver fil.
--Enhetsutskrift Devne -ID -nummer som hver fil hører til.
------- Sorteringsmuligheter -------
-v Sorter filer alfanumerisk etter versjon.
-T Sorter filer etter siste modifiseringstid.
-C Sorter filer etter siste statusendringstid.
-Du legger igjen filer.
-r reversere rekkefølgen av sorteringen.
--Dirsfirst List-kataloger før filer (-u deaktiverer).
--Sorter x Velg Sorter: Navn, versjon, størrelse, mtime, ctime.
------- Grafikkalternativer -------
-Jeg skriver ikke ut innrykkslinjer.
-En utskrift av ANSI -linjer grafiske innrykkslinjer.
-S Skriv ut med CP437 (konsoll) grafiske innrykkslinjer.
-n Slå av fargelegging alltid (-C overstyrer).
-C Slå alltid på fargelegging.
------- XML/HTML/JSON -alternativer -------
-X skriver ut en XML -representasjon av treet.
-J skriver ut en JSON -representasjon av treet.
-H BASEHREF Skriver ut HTML -format med basehref som toppkatalog.
-T String Bytt ut standard HTML -tittel og H1 -overskrift med streng.
--Nolinks slår av hyperkoblinger i HTML -utgang.
------- Inngangsalternativer -------
--Fromfile leser stier fra filer (.= stdin)
------- Diverse alternativer -------
--Versjonsutskriftsversjon og exit.
--Hjelp med å skrive ut bruken og denne hjelpemeldingen og avslutte.
-- Optionsbehandling Terminator.

Videre kan vi også få informasjonen fra Tree -kommandoen i detalj ved å kjøre Tree -kommandoen med "mann" nøkkelordet.

$ tre mann

Eksempel nr. 2: Bruke trekommandoen i bash.

Installasjonsprosessen til trekommandoen oppnås i seksjonen over. For å bruke trekommandoen i bash, må vi bare gi nøkkelordet "tre" i bash -skallet. Kommandoen “Tree” viser innholdet i den spesifiserte katalogen i et treformat. Her har vi gitt en trekommando uten noe argument. Når trekommandoen utføres uten noe argument, viste den trestrukturen til alle filene og katalogene til den nåværende banen. Bildet viser filene på vår hjemmebane og katalogene med filene sine i en trestruktur. Til slutt viste det de totale katalogene og filene i hjemmekatalogen vår.

$ tre
├── Linux1.PDF
├── Linux2.PDF
└── Linux3.PDF
0 kataloger, 3 filer

Utgangen kan gjøres mer lesbar ved å bruke trekommandoen med det "mindre" nøkkelordet. Det kommer godt med når du vil liste opp alle filene og mappene i en katalog. Vi har gitt en trekommando nedenfor der vi bruker skråstreket "/" -symbolet med tretasten for å se på filene og mappene i den gjeldende katalogen. Deretter brukte vi rørledningen “|” symbol der nøkkelordet “mindre” er spesifisert. Vi kan se inne i bildet at bare noen få mapper og filer er oppført i form av en trelignende struktur. Tykktarmen “:” ligger på slutten som på pressen vil vise ytterligere mapper og filer i den gjeldende katalogen.

$ tre / | mindre
/
├── bin -> usr/bin
├── Boot
│ ├── Config-5.15.0-46-generisk
│ ├── Config-5.15.0-56-generisk
│ ├── EFI [Feil åpning DIR]
│ ├── Grub
│ │ ├── skrifter
│ │ │ └── Unicode.PF2
│ │ ├── gfxBlackList.tekst
│ │ ├── grub.CFG
│ │ ├── Grubenv
│ │ ├── i386-PC
│ │ │ ├── 915 -oppløsning.mod
│ │ │ ├── ACPI.mod
│ │ │ ├── Adler32.mod
│ │ │ ├── affs.mod
│ │ │ ├── AFS.mod
│ │ │ ├── Ahci.mod
│ │ │ ├── all_video.mod
│ │ │ ├── aout.mod
│ │ │ ├── Archelp.mod
│ │ │ ├── ATA.mod
:

Bash Tree -kommandoen kan også brukes til å vise prosess treet. Tenk på kommandoen nedenfor der "proc" representerer prosessen som kjører i gjeldende katalog. Når vi trykker Enter til trekommandoen, genererer den treprosessen i katalogen vår i bash -skallet.

$ tre /proc
│ ├── Bruker
│ │ ├── MAX_CGROUP_NAMESPACES
│ │ ├── max_fanotify_groups
│ │ ├── max_fanotify_marks
│ │ ├── max_inotify_instances
│ │ ├── max_inotify_watches
│ │ ├── MAX_IPC_NAMESPACES
│ │ ├── max_mnt_namespaces
│ │ ├── Max_net_namespaces
│ │ ├── max_pid_namespaces
│ │ ├── max_time_namespaces
│ │ ├── max_user_namespaces
│ │ └── MAX_UTS_NAMESPACES
│ └── Vm
│ ├── admin_reserve_kbytes
│ ├── Compaction_Proactivity
│ ├── Compact_Memory
│ ├── Compact_unevictable_allowed
│ ├── Dirty_background_bytes
│ ├── Dirty_background_ratio
│ ├── Dirty_bytes
│ ├── DIRTY_EXPIRE_CENTISECS
│ ├── Dirty_ratio
│ ├── DirtyTime_Expire_seconds
│ ├── DIRTY_WRITEBACK_CENTISECS
│ ├── drop_caches
│ ├── extfrag_threshold
│ ├── Hugetlb_shm_group
│ ├── Laptop_mode
│ ├── Legacy_va_layout
│ ├── LOWMEM_RESERVE_RATIO
│ ├── MAX_MAP_COUNT
│ ├── Memory_failure_early_kill
│ ├── Memory_failure_recovery
│ ├── min_free_kbytes
│ ├── min_slab_ratio
│ ├── min_unmapped_ratio
│ ├── MMAP_MIN_ADDR
│ ├── MMAP_RND_BITS
│ ├── MMAP_RND_COMPAT_BITS
│ ├── nr_hugepages
│ ├── nr_hugepages_mempolicy
│ ├── NR_OVERCOMMIT_HUGEPAGES
│ ├── numa_stat
│ ├── numa_zonelist_order
│ ├── OOM_DUMP_TASKS
│ ├── OOM_KILL_ALLOCATING_TASK
│ ├── Overcommit_kbytes
│ ├── Overcommit_memory
│ ├── Overcommit_ratio
│ ├── Page-klyngen
│ ├── Page_lock_unfairness
│ ├── Panic_on_oom
│ ├── Percpu_pagelist_high_fraksjon
│ ├── Stat_interval
│ ├── Stat_refresh
│ ├── swappiness
│ ├── uprivileged_userfaultfd
│ ├── user_reserve_kbytes
│ ├── VFS_CACHE_Pressure
│ ├── Watermark_boost_factor
│ ├── Watermark_scale_factor
│ └── sone_reclaim_mode
├── sysrq-trigger
├── SYSVIPC
│ ├── msg
│ ├── SEM
│ └── SHM
├── tråd -selv -> 5259/oppgave/5259
├── Timer_list
├── tty
│ ├── driver [feilåpning Dir]
│ ├── drivere
│ ├── LDISC
│ └── lDiscs
├── Oppetid
├── versjon
├── versjon_signatur
├── Vmallocinfo
├── VMSTAT
└── ZoneInfo
10618 Kataloger, 169916 filer

Eksempel nr. 3: Bruke trekommando med forskjellige alternativer i bash.

Tree-kommandoalternativ “-a”:

Tree -kommandoen støtter forskjellige alternativer i bash som vi har brukt i dette avsnittet for å demonstrere ytelsen til hvert tre -kommandoalternativ i bash. For det første har vi distribuert trekommandoen med alternativet "-a". Alternativet “-a” hentet alle filene i katalogen, inkludert de skjulte filene som kan sees på bildet av bash-skallet.

tre -a
-skru av.JSONLZ4
│ │ ├── økt-state.JSON
│ │ └── Stat.JSON
│ ├── DirectoryTree.JSON
│ ├── Kryptert-OpenPGP-Passphrase.tekst
│ ├── forlengelsesforferd.JSON
│ ├── utvidelser.JSON
│ ├── favicons.sqlite
│ ├── Formhistory.sqlite
│ ├── Globale-Messages-DB.sqlite
│ ├── Historie.sqlite
│ ├── Key4.db
│ ├── Lås -> 127.0.1.1: +2021
│ ├── MailViews.Dat
│ ├── minidumps
│ ├── OpenPGP.sqlite
│ ├── .Parentlock
│ ├── tillatelser.sqlite
│ ├── PKCS11.tekst
│ ├── steder.sqlite
│ ├── prefs.JS
│ ├── lagret-telemetri-pingene
│ │ └── 0C85AD5F-60C2-40D9-A342-F533E121A844
│ ├── søk.JSON.Mozlz4
│ ├── Security_state
│ ├── SessionCheckpoints.JSON
│ ├── Innstillinger
│ │ └── data.sikker.søppelkasse
│ ├── SitesecurityServicestate.tekst
│ ├── lagring
│ │ ├── Standard
│ │ ├── ls-archive.sqlite
│ │ ├── permanent
│ │ │ └── krom
│ │ │ ├── IDB
│ │ │ │ ├── 3870112724Rsegmnoittet-ES.filer
│ │ │ │ └── 3870112724Rsegmnoittet-ES.sqlite
│ │ │ └── .Metadata-V2
│ │ └── midlertidig
│ ├── lagring.sqlite
│ ├── ganger.JSON
│ └── Xulstore.JSON
├── .VBoxClient-Clipboard.PID
├── .VBoxClient-Display-SVGA-X11.PID
├── .VBoxClient-DragandDrop.PID
├── .VBoxClient-sømløs.PID
└── .WGET-HSTS
1262 kataloger, 10126 filer

Her har vi igjen brukt Bash Tree-kommandoen med alternativet “-A” for å vise trehierarkiet til den spesifiserte katalogen “Snap” i bash-skallet. SNAP -katalogen viste alle filene i treformatet i skjermdumpen nedenfor.

tre -a ./snap
-En [feilåpningsdir]
./snap [feilåpning Dir]
0 kataloger, 0 filer

Tree kommandoalternativ “-f”: Bruken av -F -flagget med Tree -kommandoen er å liste opp dataene til katalogen sammen med hele Path -prefikset for hver underkatalog og fil. Her har vi brukt trekommandoen med “-f” -flagget i privilegiet til sudoen som ber om rottilgangstillatelse fra den loggede brukeren. Filene og underkatalogene kan visualiseres i det gitte bashskallbildet i det gitte bashskallbildet.

$ sudo tre -f
[sudo] Passord for Linux:
.
├── ./Bash Tree Command.Docx
├── ./Linux1.PDF
├── ./Linux2.PDF
└── ./linux3.PDF
0 kataloger, 4 filer

Tree kommandoalternativ “-s”: Deretter brukes trekommandoen med alternativet "-s". Alternativet “-s” lar oss ikke bare skrive ut navnene på filene, men også størrelsene i byte. I følgende kommando av treet blir flagget “-f” først lagt til for å ta hierarkiet til filene og katalogene sammen med banen. Deretter brukes "-s" -flagget til å spesifisere størrelsen på trefilene og underkatalogene.

$ tre -f -s
-F [Feil åpning Dir]
0 kataloger, 0 filer

tre-kommandoalternativ “-DF”: “D” -alternativet gjør det mulig for trekommandoen å generere trehierarkiet av underkataloger uten filnavn. Vi har etablert trekommandoen der alternativet "-d" og "-f" kombineres for å hente underkatalogene med full sti.

$ sudo tre -df
0 Kataloger

Tree kommandoalternativ “-l”: Tre-kommandoen “-l” -alternativet lar oss spesifisere det maksimale antall mapper som er hentet gjennom trekommandoen. Å begrense dybden er gunstig når vi bare trenger å utforske de øverste trinnene i ekstremt dype mappestrukturer. I den følgende bashre-kommandoen er alternativet “-l” gitt med nummeret “3” som indikerer at tre filer eller underkataloger bare kan vises i trehierarkiet.

$ tre -L 3
-L [Feil åpning Dir]
3 [Feil åpning Dir]

Konklusjon

Bash Tree -kommandoen hjelper til med å finne ut hvordan filene er organisert i systemet vårt. Vi installerte først Tree -kommandoen i bash -skallet og får deretter en kort detalj om kommandoen ved hjelp av mannen og hjelpealternativet. Treekommandoen over Bash har forskjellige alternativer som få implementeres i Bash for å utforske funksjonaliteten til disse alternativene.