File Management

Czy lista katalogów jest rekursywna w systemie Linux?

Czy lista katalogów jest rekursywna w systemie Linux?

Słowo „rekurencyjne” odnosi się do faktu, że polecenia systemu operacyjnego Linux lub Unix zajmują się zawartością folderów, a jeśli folder ma podfoldery i dokumenty, instrukcja nadal działa ze wszystkimi tymi dokumentami (rekursywnie). Możliwe, że katalog podrzędny ma własny zestaw plików i folderów (na przykład duże foldery) itd. Użyjesz różnych instrukcji Linuksa, aby rekursywnie przeszukiwać każdy folder, zanim przejdziesz do krawędzi określonego folderu. Na tym poziomie instrukcje Linuksa powracają do wyłączenia drzewa i powtarzają proces dla wszystkich istniejących podfolderów. W tym samouczku poznasz wszystkie metody rekurencyjnej listy katalogów.

Przykłady prostych katalogów list

Przede wszystkim musisz wiedzieć, jak wyświetlić listę wszystkich katalogów z twojego systemu Linux za pomocą prostego polecenia list. Otwórz terminal wiersza poleceń i wypróbuj poniższe polecenie „ls”, aby wyświetlić tylko katalogi. Nie tylko wyświetli listę katalogów, ale całkowitą liczbę podfolderów i plików w nich znajdujących się. Dane wyjściowe pokazują foldery z informacjami dotyczącymi ich właściciela, grupy, uprawnień do odczytu i zapisu oraz daty utworzenia folderów.

$ ls -l

Aby wyświetlić listę wszystkich katalogów i plików w systemie Linux, musisz użyć „-la” zamiast prostego „-l” w poleceniu listy. Dlatego wykonaj zaktualizowane polecenie, aby to zrobić. Dane wyjściowe pokazują wszystkie pliki i foldery wraz z ich dodatkowymi informacjami.

$ ls -la

Aby po prostu wyświetlić listę katalogów bez dodatkowych informacji, wypróbuj poniższe polecenie, a następnie flagę „-d”.

$ ls -d */

Możesz również użyć tego samego polecenia z niewielką modyfikacją, aby wyświetlić listę folderów wraz z dodatkowymi informacjami. Musisz tylko dodać flagę „-l” w tym poleceniu w następujący sposób:

$ ls -l -d */

Aby sprawdzić tylko całkowitą liczbę plików w określonym katalogu domowym, wypróbuj poniższe polecenie w powłoce. Otrzymasz całkowitą liczbę plików w twoim systemie operacyjnym Linux.

$ ls -l | egrep -v '^d'

Przykład rekursywnego wystawiania katalogów

W systemach Linux dostępne są różne typy poleceń rekurencyjnych, które można wykorzystać do rekurencyjnej listy katalogów. Aby zrozumieć każdy z nich z osobna, załóżmy, że masz 5 plików w swoim katalogu Linux o nazwie „Dokumenty”.

Wyświetlanie listy rekurencyjnej przy użyciu flagi „-lR””

Użycie flagi „-lR” w zapytaniu do rekursywnej listy wszystkich katalogów systemu Linux jest pierwszą metodą na zrobienie tego. Po wykonaniu poniższego polecenia listy wyświetli listę wszystkich folderów i ich podfolderów wraz z ich szczegółami bonusowymi, jak pokazano w danych wyjściowych.

$ ls -lR

Pozwól nam po prostu rekursywnie wypisać wszystkie pliki lub foldery z określonego folderu lub katalogu twojego systemu Linux. W tym celu dodaj ścieżkę lokalizacji określonego katalogu, aby wyświetlić go rekurencyjnie. Chcemy rekursywnie wyświetlać wszystkie pliki i foldery katalogu „Dokumenty” znajdujące się w katalogu „domowym” za pomocą zaktualizowanego poniżej polecenia. Dane wyjściowe wyświetlają wszystkie pliki i foldery w folderze „Dokumenty” wraz z dodatkowymi informacjami.

$ ls -lR /home/aqsayasin/Dokumenty/

Lista rekurencyjna za pomocą polecenia „Znajdź”

Wyjaśnij sobie, że nie wszystkie systemy Linux, np.sol., macOS, uniksopodobny system operacyjny, może wybrać opcję „-R” do wyświetlenia katalogów. W takim przypadku dostępne są inne polecenia spełniające nasze potrzeby, takie jak polecenie „znajdź” i „drukuj”. W tym poleceniu podamy ścieżkę do folderu wraz z dźwignią użycia polecenia „-ls”. Gdy w poleceniu jest używane „-ls”, oznacza to, że pokaże również dodatkowe informacje dotyczące rezydujących plików i folderów określonego katalogu. Wypróbuj poniższe polecenie w powłoce, aby rekurencyjnie wyświetlić wszystkie pliki i foldery katalogu „Dokumenty”.

$ znajdź /home/aqsayasin/Dokumenty/ -print -ls

Teraz musisz wypróbować tę samą instrukcję w powłoce z niewielką zmianą. Unikamy używania flagi „-ls” w tym poleceniu, aby przestać wyświetlać dodatkowe informacje dotyczące plików. Wykonaj poniższe zapytanie w powłoce, a otrzymasz wyświetlony wynik.

$ znajdź /home/aqsayasin/Dokumenty/ -print

Wyświetlanie listy rekurencyjnej za pomocą polecenia „-du”

Rzućmy okiem na inny przykład rekurencyjnej listy plików lub katalogów za pomocą innej nowej metody. Tym razem użyjemy polecenia „-du”, aby osiągnąć nasz cel. To polecenie zawiera „-flagę”. Wraz z flagami musimy również określić lokalizację katalogu. Wykonajmy poniższą instrukcję w powłoce terminala, aby rekurencyjnie wyświetlić wszystkie foldery lub pliki katalogu „Dokumenty”. Wynik pokazuje 5 rekordów dla niego, jak pokazano poniżej. Możesz zobaczyć, że to polecenie pokazuje również liczbę bitów znajdujących się w każdym pliku.

$ du -a /dom/aqsayasin/Dokumenty/

Lista rekursywnie za pomocą polecenia „drzewo”

Wreszcie, mamy bardzo prostą i łatwą w użyciu metodę poleceń „drzewa”, aby rekurencyjnie wyświetlać pliki lub foldery. Jak dotąd nie będziemy używać żadnej flagi w tym poleceniu. Musisz określić lokalizację katalogu wraz ze słowem kluczowym „drzewo”. Weźmy na to przykład za pomocą poniższego polecenia. Wyjście pokazuje rozgałęzione wyjście typu „drzewo” katalogu „Dokumenty”. Pokazuje 0 katalogów i 5 plików na wyjściu.

$ drzewo /dom/aqsayasin/Dokumenty/

Wypróbujmy to samo polecenie „drzewo” z inną lokalizacją. Tym razem rekurencyjnie wymieniamy foldery katalogu „Home” użytkownika „aqsayasin”. Dane wyjściowe pokazują gałęzie folderu „Dom” zawierające w sumie 14 różnych folderów, podfolderów i 5 plików.

$ drzewo /dom/aqsayasin/

Wniosek

Wypróbowaliśmy wszystkie rekurencyjne metody rekurencyjnej listy katalogów i plików, np.sol., flaga „-lR”, polecenie znajdź i drukuj, du i drzewo

Gry Jak stworzyć grę na Linuksie
Jak stworzyć grę na Linuksie
Dziesięć lat temu niewielu użytkowników Linuksa przewidywało, że ich ulubiony system operacyjny pewnego dnia stanie się popularną platformą do gier dl...
Gry Open Source Ports of Commercial Game Engines
Open Source Ports of Commercial Game Engines
Free, open source and cross-platform game engine recreations can be used to play old as well as some of the fairly recent game titles. This article wi...
Gry Najlepsze gry wiersza poleceń dla systemu Linux
Najlepsze gry wiersza poleceń dla systemu Linux
Wiersz poleceń jest nie tylko twoim największym sprzymierzeńcem podczas korzystania z Linuksa - może być również źródłem rozrywki, ponieważ możesz go ...