Comando Bash Tree

Comando Bash Tree

Il comando Bash Tree è paragonabile al noto comando LS di Linux, che viene utilizzato per elencare i file e le directory. La differenza principale tra i comandi è che i file e le cartelle sono presentati in una struttura simile a un albero dal comando ad albero. Il comando ad albero itera attraverso una gerarchia di file e stampa i file e le sottodirectory in un elenco formattato con rientro di profondità. Con il comando ad albero di bash, possiamo determinare rapidamente le posizioni dei file e delle cartelle, esaminare le autorizzazioni di accesso e recuperare anche i file o le directory nascoste.

Esempio n. 1: installazione di albero in bash.

Il comando albero non è il comando incorporato di bash. Dobbiamo installare il comando albero in bash prima di chiamarlo nella shell bash. Usiamo i privilegi sudo con il comando apt per installare il modulo albero all'interno della bash. Una volta eseguito il comando dell'installazione, ha chiesto la password per l'autenticazione e quindi ha installato l'albero nel bash. Qui, abbiamo già installato il comando albero con l'ultima versione.

$ Sudo Apt Installa Tree
[sudo] password per Linux:
Leggere gli elenchi dei pacchetti ... fatto
Costruire l'albero di dipendenza
Leggere le informazioni sullo stato ... fatto
Verranno installati i seguenti nuovi pacchetti:
albero
0 aggiornato, 1 appena installato, 0 per rimuovere e 0 non aggiornato.
Hai bisogno di ottenere 43.0 kb di archivi.
Dopo questa operazione, verranno utilizzati 115 kb di spazio su disco aggiuntivo.
Ottieni: 1 http: // pk.archivio.Ubuntu.com/ubuntu focal/universo amd64 albero amd64 1.8.0-1 [43.0 kb]
Recuperato 43.0 kb in 1s (33.4 kb/s)
Selezione dell'albero del pacchetto precedentemente non selezionato.
(Database di lettura… 188740 file e directory attualmente installate.)
Prepararsi a disimballare ... /albero_1.8.0-1_AMD64.Deb ..
Disimballaggio dell'albero (1.8.0-1) ..
Impostazione dell'albero (1.8.0-1) ..
Trigger di elaborazione per Man-DB (2.9.1-1) ..

Ora, il comando ad albero può essere utilizzato all'interno del bash mentre lo abbiamo installato nel nostro sistema. Il comando seguente viene utilizzato per controllare la versione del comando albero. Il comando ha restituito la versione più recente dell'albero installato nel nostro sistema.

$ Tree -Version
albero v1.8.0 (c) 1996-2018 di Steve Baker, Thomas Moore, Francesc Rocher, Florian Sesser, Kyosuke Tokoro

Per ottenere qualsiasi aiuto riguardo al comando albero di bash, possiamo eseguire il seguente comando albero con l'opzione "-help". Elenca tutte le informazioni necessarie relative al comando ad albero nella shell bash come mostrato nell'immagine.

$ Tree -Help
Utilizzo: albero [-acdfghilnpqrsuvxacdfjqnsux] [-h basehref] [-t title]
[-L Level [-r]] [-p pattern] [-i pattern] [-o fileName] [--Veversion]
[--help] [--indes] [--device] [--norport] [--nolinks] [--dirsfirst]
[--charset chatset] [--filelimit [=]#] [--si] [-timefmt [=]]
[--Sort [=]] [--matchdirs] [--ignore-case] [--fromfile] [-]
["
------- Opzioni di quotazione -------
-sono elencati tutti i file.
-solo directory di elenco d.
-l Segui collegamenti simbolici come le directory.
-f Stampa il prefisso del percorso completo per ogni file.
-x Resta solo sul filesystem corrente.
-L Livello scende solo le directory di livello profonde.
-R RERUNE TREE quando ha raggiunto il livello di Dir Max.
-P Elenca dei modelli solo quei file che corrispondono al modello dato.
-I pattern non elenca i file che corrispondono al modello dato.
--Ignora il caso ignora il caso in cui la corrispondenza del pattern.
--I matchDirs includono i nomi delle directory nella corrispondenza del pattern -p.
--Noreport Disattiva il conteggio del file/directory alla fine dell'elenco degli alberi.
--chatset x usa chatset x per terminale/html e output della linea di rientro.
--FileLimit # Non scendere dir con più di # file in essi.
--timefmt Tempo di stampa e formati in base al formato .
-o Output del fileName su file anziché stdout.
------- Opzioni di file -------
-Q Stampa caratteri non stampabili come '?'.
-N Stampa caratteri non stampabili così com'è.
-Q QUOTE FILIENAMI CON QUATIVI.
-p stampare le protezioni per ogni file.
-U Visualizza il proprietario del file o il numero UID.
-G visualizza il proprietario del gruppo di file o il numero GID.
-S Stampa la dimensione nei byte di ogni file.
-H Stampa le dimensioni in modo più leggibile.
--si like -h, ma usa in unità SI (poteri di 1000).
-D Stampa la data di ultima modifica o (-c) modifica dello stato.
-F Apprend '/', '=', '*', '@', '|' o '>' secondo LS -f.
--inode stampa il numero di inode di ciascun file.
--Numero ID dispositivo di stampa del dispositivo a cui appartiene ciascun file.
------- Opzioni di smistamento -------
-V Ordina file alfanumericamente per versione.
-t Ordina i file per ultimo tempo di modifica.
-C Ordina i file per ultimo tempo di modifica dello stato.
-U lasciano i file non mobiliti.
-r invertire l'ordine del tipo.
--directory dell'elenco dirsfirst prima dei file (-u disabilita).
--Ordina x Seleziona Ordina: nome, versione, dimensione, mtime, ctime.
------- Opzioni grafiche -------
-Non stampino linee di rientro.
-Linee di indentazione grafica di linee di stampa a stampa.
-S Stampa con linee di rientro grafica CP437 (console).
-n spegnere la colorazione sempre (-c sovrascrizione).
-C Accendi la colorazione sempre.
------- Opzioni XML/HTML/JSON -------
-X stampa una rappresentazione XML dell'albero.
-J stampa una rappresentazione JSON dell'albero.
-H BaseHref stampare il formato HTML con basehref come directory superiore.
-T String Sostituire il titolo HTML predefinito e l'intestazione H1 con stringa.
--Nolink disattiva i collegamenti ipertestuali nell'output HTML.
------- Opzioni di input -------
--da File legge percorsi dai file (.= stdin)
------- Opzioni varie -------
--Versione di stampa versione ed uscita.
--aiutare a stampare l'utilizzo e questo messaggio di aiuto ed esci.
-- Terminator di elaborazione delle opzioni.

Inoltre, possiamo anche ottenere le informazioni del comando albero in dettaglio eseguendo il comando albero con la parola chiave "uomo".

$ Tree Man

Esempio n. 2: usando il comando albero in bash.

Il processo di installazione del comando ad albero è realizzato nella sezione sopra. Ora, per usare il comando ad albero nel bash, dobbiamo solo fornire la parola chiave "albero" nella conchiglia bash. Il comando "albero" visualizza il contenuto della directory specificata in un formato albero. Qui, abbiamo dato un comando ad albero senza alcun argomento. Quando il comando ad albero viene eseguito senza alcun argomento, ha visualizzato la struttura ad albero di tutti i file e le directory del percorso corrente. L'immagine mostra i file del nostro percorso domestico e le directory con i loro file in una struttura ad albero. Alla fine, ha visualizzato le directory totali e i file all'interno della nostra home directory.

$ Tree
├── Linux1.PDF
├── Linux2.PDF
└── Linux3.PDF
0 directory, 3 file

L'output può essere reso più leggibile utilizzando il comando albero con la parola chiave "meno". È utile quando si desidera elencare tutti i file e le cartelle in una directory. Abbiamo dato un comando ad albero di seguito in cui utilizziamo il simbolo Slash "/" con la parola chiave albero per guardare i file e le cartelle all'interno della directory corrente. Quindi, abbiamo usato la pipeline "|" simbolo in cui è specificata la parola chiave "meno". Possiamo vedere all'interno dell'immagine che solo poche cartelle e file sono elencati sotto forma di una struttura simile a un albero. Il colon ":" si trova alla fine che su pressione mostrerà ulteriori cartelle e file della directory corrente.

$ Tree / | meno
/
├── bin -> usr/bin
├── Avvio
│ ├── config-5.15.0-46-GENERICO
│ ├── config-5.15.0-56-generico
│ ├── efi [errore di apertura di errore]
│ ├── Grub
│ │ ├── caratteri
│ │ │ └── Unicode.Pf2
│ │ ├── gfxblacklist.TXT
│ │ ├── Grub.cfg
│ │ ├── Grubenv
│ │ ├── i386-pc
│ │ │ ├── 915Resolution.mod
│ │ │ ├ così meno ACPI.mod
│ │ │ ├── Adler32.mod
│ │ │ ├── Affs.mod
│ │ │ ├── AFS.mod
│ │ │ ├── ahci.mod
│ │ │ ├── all_video.mod
│ │ │ ├── Aout.mod
│ │ │ ├── Archelp.mod
│ │ │ ├── Ata.mod
:

Il comando Bash Tree può anche essere utilizzato per visualizzare l'albero di processo. Considera il comando in basso in cui il "proc" rappresenta il processo in esecuzione nella directory corrente. Quando premiamo Invio al comando ad albero, genera il processo ad albero della nostra directory nella shell bash.

$ Tree /Proc
│ ├── utente
│ │ ├── 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
│ ├── ammin_reserve_kbytes
│ ├── compatta_proattività
│ ├── compact_memory
│ ├── compact_unevictable_alloted
│ ├── Dirty_Background_Bytes
│ ├── Dirty_Background_ratio
│ ├── Dirty_Bytes
│ ├── Dirty_Expire_Centisecs
│ ├── Dirty_ratio
│ ├── Dirtytime_expire_seconds
│ ├── Dirty_WriteBack_Centisecs
│ ├── drop_caches
│ ├── extfrag_threshold
│ ├── Hudetlb_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_unmap_ratio
│ ├── mmap_min_addr
│ ├── mmap_rnd_bits
│ ├── mmap_rnd_compat_bits
│ ├── nr_hugepages
│ ├── NR_HUGEPAGES_MEMPOLICE
│ ├── nr_overcompmit_hugepages
│ ├── NUMA_STAT
│ ├── NUMA_ZONELIST_ORDER
│ ├── oom_dump_tasks
│ ├── oom_kill_allocating_task
│ ├── overCompmit_kbytes
│ ├── overCompmit_memory
│ ├── overCompmit_ratio
│ ├── Pagina-cluster
│ ├── Page_lock_unfairness
│ ├── panic_on_oom
│ ├── Percpu_Pagelist_High_Fraction
│ ├── stat_interval
│ ├── stat_refresh
│ ├── SCAFFINESS
│ ├── non privilegiato_userfaultfd
│ ├── User_reserve_kbytes
│ ├── vfs_cache_pressure
│ ├── watermark_boost_factor
│ ├── watermark_scale_factor
│ └── zone_reclaim_mode
├── TRIGGER SYSRQ
├── sysvipc
│ ├── msg
│ ├── sem
│ └── shm
├── thread -se stesso -> 5259/task/5259
├── timer_list
├── tty
│ ├── driver [errore di apertura di errore]
│ ├── driver
│ ├── ldisc
│ └── LDiscs
├── Uptime
├── versione
├── versione_signature
├── vmallocinfo
├── vmstat
└── ZoneInfo
10618 directory, 169916 file

Esempio n. 3: usando il comando albero con diverse opzioni in bash.

Opzione di comando albero "-a":

Il comando albero supporta varie opzioni in bash che abbiamo usato in questa sezione per dimostrare le prestazioni di ciascuna opzione di comando albero in bash. In primo luogo, abbiamo distribuito il comando ad albero con l'opzione "-a". L'opzione "-a" ha preso tutti i file della directory, inclusi i file nascosti che possono essere visualizzati nell'immagine della shell bash.

albero -a
-fermare.JSONLZ4
│ │ ├─ Bro-State.JSON
│ │ └── State.JSON
│ ├── DirectoryTree.JSON
│ ├── Cripted-openpgp-Passfrasi.TXT
│ ├── preferenze di estensione.JSON
│ ├ Cossions.JSON
│ ├−─ Favicons.sqlite
│ ├── formhistory.sqlite
│ ├── Global-Messages-DB.sqlite
│ ├── storia.sqlite
│ ├── key4.db
│ ├── blocco -> 127.0.1.1: +2021
│ ├── Mailviews.dat
│ ├── minidumps
│ ├── OpenPGP.sqlite
│ ├── .parenterk
│ ├── autorizzazioni.sqlite
│ ├── PKCS11.TXT
│ ├── luoghi.sqlite
│ ├── pref.js
│ ├──P-telemetria salvata
│ │ └── 0c85ad5f-60c2-40d9-a342-f533e121a844
│ ├── cerca.JSON.Mozlz4
│ ├── Security_state
│ ├── sessionCheckpoints.JSON
│ ├ impegno
│ │ └── dati.sicuro.bidone
│ ├── SiteSecurityServicetate.TXT
│ ├── spazio di archiviazione
│ │ ├── impostazione predefinita
│ │ ├── ls-archive.sqlite
│ │ ├── permanente
│ │ │ └── Chrome
│ │ │ ├── idb
│ │ │ │ ├ così meno 3870112724RSEGMNoittet-ES.File
│ │ │ │ └ così meno 3870112724RSEGMNoittet-ES.sqlite
│ │ │ └ └rante .Metadata-V2
│ │ └ così temporaneo
│ ├── spazio di archiviazione.sqlite
│ ├── volte.JSON
│ └── xulstore.JSON
├── .VBoxClient-Clipboard.pid
├── .VBoxClient-Display-SVGA-X11.pid
├── .VBoxClient-Dragandrop.pid
├── .VBoxClient-Seamless.pid
└── .wget-hsts
1262 directory, 10126 file

Qui, abbiamo nuovamente usato il comando bash albero con l'opzione "-a" per visualizzare la gerarchia dell'albero della directory specificata "snap" nella shell bash. La directory snap ha visualizzato tutti i file nel formato dell'albero nello screenshot seguente.

albero -a ./affrettato
-una [errore di apertura di errore]
./snap [Errore aprendo la dir]
0 directory, 0 file

Opzione di comando albero "-f": L'uso del flag -f con il comando albero è elencare i dati della directory insieme all'intero prefisso del percorso per ciascun sottodirectory e file. Qui, abbiamo usato il comando albero con il flag "-f" nel privilegio di SUDO che chiede l'autorizzazione di accesso alla root dell'utente registrato. Il percorso completo dei file e delle sottodirectory può essere visualizzato nell'immagine della shell bash data.

$ sudo albero -f
[sudo] password per Linux:
.
├── ./Comando Bash Tree.docx
├── ./Linux1.PDF
├── ./Linux2.PDF
└── ./Linux3.PDF
0 directory, 4 file

Opzione di comando albero "-s": Successivamente, il comando albero viene utilizzato con l'opzione "-s". L'opzione "-s" ci consente di stampare non solo i nomi dei file ma anche le loro dimensioni in byte. Nel seguente comando dell'albero, la flag "-f" viene aggiunta per prima per prendere la gerarchia dei file e delle directory insieme al percorso. Quindi, il flag "-s" viene utilizzato per specificare la dimensione di quei file di albero e sottodirectory.

$ albero -f -s
-f [Errore che aprirà la dir]
0 directory, 0 file

Opzione di comando albero "-df": L'opzione "D" consente al comando albero di generare la gerarchia dell'albero delle sottodirectory senza i nomi di file. Abbiamo stabilito il comando ad albero in cui l'opzione "-d" e "-f" è combinata per recuperare le sottodirectory con il percorso completo.

$ sudo albero -df
0 directory

Opzione di comando albero "-l": L'opzione del comando albero "-l" ci consente di specificare il numero massimo di cartelle recuperate tramite il comando albero. Limitare la profondità è benefico quando dobbiamo solo esplorare le prime fasi di strutture di cartelle estremamente profonde. Nel seguente comando Bash Tree, l'opzione "-l" è data con il numero "3" che indica che tre file o sottodirectory possono essere visualizzati solo nella gerarchia degli alberi.

$ Tree -l 3
-L [Errore che aprirà la dir]
3 [errore di apertura di errore]

Conclusione

Il comando Bash Tree aiuta a capire come sono organizzati i file nel nostro sistema. Per prima cosa abbiamo installato il comando ad albero nella shell bash e poi abbiamo ottenuto un breve dettaglio sul comando usando l'uomo e l'opzione di aiuto. Il comando albero di bash ha varie opzioni da cui pochi sono implementati in bash per esplorare la funzionalità di queste opzioni.