Рекурсивно ли в Linux са само директории с списък?

Is List Only Directories Recursively Linux



Думата рекурсивен се отнася до факта, че командите на операционна система Linux или Unix се занимават със съдържанието на папки и ако папка има подпапки и документи, инструкцията все още функционира с всички тези документи (рекурсивно). Възможно е дъщерната директория да има свой собствен набор от файлове и папки (например големи папки), така нататък и така нататък. Ще използвате различни инструкции на Linux за рекурсивно преминаване през всяка папка, преди да стигнете до ръба на посочената папка. На това ниво инструкциите на Linux се връщат към изключване на дървото и повтарят процеса за всички съществуващи подпапки. В този урок ще научите всички методи за рекурсивно изброяване на директориите.

Примери за прости директории със списъци

На първо място, трябва да знаете как да изброите всички директории от вашата Linux система, като използвате простата команда list. Отворете терминала на командния ред и опитайте командата ls по-долу, за да изброите само директориите. Той не само ще изброи директориите, но и общия брой подпапки и файлове, пребиваващи в тях. Изходът показва папките с информация относно техните собственици, група, права за четене и запис и датата на създаване на папки.







$ ls -l



За да изброите всички директории и файлове във вашата Linux система, трябва да използвате -la вместо просто -l в командата list. Следователно, изпълнете актуализираната команда, за да направите това. Изходът показва всички файлове и папки заедно с тяхната допълнителна информация.



$ ls -la





За да изброите просто директориите без допълнителна информация, опитайте командата по -долу, последвана от флага -d.

$ ls –d * /



Можете също да използвате същата команда с малка промяна, за да изброите папките заедно с тяхната допълнителна информация. Просто трябва да добавите флага -l в тази команда, както следва:

$ ls –l –d * /

За да проверите само общия брой файлове в конкретната домашна директория, опитайте представената по-долу команда в черупката. Ще получите общия брой файлове във вашата операционна система Linux.

$ ls –l | egrep –v ‘^ d’

Пример за списъчни директории рекурсивно

В Linux Systems има различни видове рекурсивни команди, които могат да се използват за рекурсивно изброяване на директориите. За да разберете всеки от тях поотделно, приемете, че имате 5 файла във вашата директория на Linux, наречени Documents.

Списък рекурсивно с помощта на -lR Flag

Използването на флага -lR във вашата заявка за рекурсивно изброяване на всички директории на вашата Linux система е първият метод за това. След изпълнението на командата list по -долу тя ще изброи всички папки и техните подпапки заедно с техните бонус данни, както е показано в изхода.

$ ls -lR

Нека просто рекурсивно изброим всички файлове или папки от някаква конкретна папка или директория на вашата Linux система. За тази цел добавете пътя на местоположението на конкретната директория, за да я изброите рекурсивно. Искаме рекурсивно да изброим всички файлове и папки от директорията Документи, пребиваващи в домашната директория, като използваме актуализираната по-долу команда. Изходът показва всички файлове и папки в папката Documents заедно с допълнителната информация.

$ ls –lR / home / aqsayasin / Documents /

Списък рекурсивно с помощта на командата Find

Пояснете си, че не всички Linux системи, например macOS, Unix -подобна операционна система, имат избор да използват -R за изброяване на директориите. В този случай има други команди, които да отговорят на нашите нужди, а именно командата find and print. В тази команда ще дадем път към папка заедно с лоста за използване на командата -ls. Когато -ls се използва в командата, това означава, че тя също така ще покаже допълнителната информация относно оставащите файлове и папки в конкретна директория. Опитайте командата по-долу в черупката, за да изброите рекурсивно всички файлове и папки на директорията Документи.

$ find/home/aqsayasin/Documents/-print -ls

Сега трябва да опитате същата инструкция в черупката с малка промяна. Ще избегнем използването на знака -ls в тази команда, за да спрем да показваме допълнителната информация относно файловете. Изпълнете изброената по-долу заявка в черупката и ще имате показания изход.

$ find/home/aqsayasin/Documents/-print

Списък рекурсивно с помощта на -du команда

Нека да разгледаме друг пример за рекурсивно изброяване на файловете или директориите с друг нов метод. Този път ще използваме командата -du, за да постигнем целта си. Тази команда съдържа знамето -a в него. Заедно с флаговете, трябва да посочим и местоположението на директорията. Нека изпълним инструкцията по -долу в терминалната обвивка, за да изброим рекурсивно всички папки или файлове от директорията Документи. Изходът показва 5 -те записа за него, както е показано по -долу. Можете да видите, че тази команда също показва броя на хапките, пребиваващи във всеки файл.

$ du –a / home / aqsayasin / Documents /

Списък рекурсивно с помощта на дървовидна команда

Не на последно място, имаме много прост и лесен за използване метод на дървовидна команда за рекурсивно изброяване на файловете или папките. Досега няма да използваме флаг в тази команда. Трябва да посочите местоположението на директорията заедно с дървото на ключовите думи. Нека имаме пример за това с помощта на изброената по-долу команда. Изходът показва дървовидния разклонен тип изход на директорията Документи. Той показва 0 директории и 5 файла в изхода.

$ дърво/начало/aqsayasin/Документи/

Нека опитаме същата команда на дърво с различно местоположение. Този път рекурсивно изброяваме папките в директорията „Начало“ на потребителя aqsayasin. Резултатът показва клоновете на папката Home, които имат общо 14 различни папки, подпапки и 5 файла.

$ дърво/дом/aqsayasin/

Заключение

Опитахме всички рекурсивни методи за рекурсивно изброяване на директориите и файловете, например, -lR флаг, командата за търсене и отпечатване, du и дърво