Failu pārvaldība

Ir tikai saraksti direktoriji rekursīvi Linux?

Ir tikai saraksti direktoriji rekursīvi Linux?

Vārds “rekursīvs” attiecas uz faktu, ka Linux vai Unix operētājsistēmas komandas nodarbojas ar mapju saturu, un, ja mapē ir apakšmapes un dokumenti, instrukcija joprojām darbojas ar visiem šiem dokumentiem (rekursīvi). Iespējams, ka pakārtotajā direktorijā ir savs failu un mapju komplekts (piemēram, lielas mapes), utt. Jūs izmantosiet dažādas Linux instrukcijas, lai rekursīvi pārvietotos pa katru mapi, pirms tā nokļūs norādītās mapes malā. Šajā līmenī Linux instrukcijas atgriežas pie koka izslēgšanas un atkārto procesu visām esošajām apakšmapēm. Šajā apmācībā jūs uzzināsiet visas metodes, kā rekursīvi uzskaitīt direktorijus.

Vienkāršu sarakstu direktoriju piemēri

Pirmkārt, jums jāzina, kā uzskaitīt visus direktorijus no savas Linux sistēmas, izmantojot vienkāršo sarakstu komandu. Atveriet komandrindas termināli un izmēģiniet zemāk esošo komandu “ls”, lai uzskaitītu tikai direktorijus. Tajā tiks uzskaitīti ne tikai direktoriji, bet arī visu tajā esošo apakšmapju un failu skaits. Izejā tiek parādītas mapes ar informāciju par to īpašnieku, grupu, lasīšanas un rakstīšanas tiesībām un mapju izveides datumu.

$ ls -l

Lai uzskaitītu visus direktorijus un failus savā Linux sistēmā, saraksta komandā jāizmanto “-la”, nevis vienkārši “-l”. Tādējādi izpildiet atjaunināto komandu. Izejā tiek parādīti visi faili un mapes, kā arī to papildinformācija.

$ ls -la

Lai vienkārši uzskaitītu direktorijus bez papildu informācijas, izmēģiniet zemāk esošo komandu, kam seko karodziņš “-d”.

$ ls -d * /

Jūs varat arī izmantot to pašu komandu ar nelielām izmaiņām, lai uzskaitītu mapes kopā ar to papildu informāciju. Šajā komandā jums vienkārši jāpievieno karodziņš “-l” šādi:

$ ls -l -d * /

Lai pārbaudītu tikai kopējo failu skaitu konkrētajā mājas direktorijā, izmēģiniet čaulā zemāk redzamo komandu. Jūs saņemsiet kopējo failu skaitu savā Linux operētājsistēmā.

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

Katalogu uzskaites piemērs rekursīvi

Linux sistēmās ir pieejami dažādi rekursīvo komandu veidi, kurus var izmantot rekursīvu direktoriju uzskaitīšanai. Lai saprastu katru no tiem atsevišķi, pieņemsim, ka jūsu Linux direktorijā ir 5 faili ar nosaukumu “Documents”.

Uzskaitiet rekursīvi, izmantojot karodziņu “-lR”

Pirmā metode, kas tiek izmantota karodziņā “-lR”, lai rekursīvi uzskaitītu visus Linux sistēmas direktorijus. Izpildot zemāk esošo saraksta komandu, tajā tiks uzskaitītas visas mapes un to apakšmapes, kā arī to bonusa informācija, kā parādīts izvadē.

$ ls -lR

Ļaujiet mums tikai rekursīvi uzskaitīt visus failus vai mapes no kādas konkrētas jūsu Linux sistēmas mapes vai direktorija. Šim nolūkam pievienojiet konkrētā direktorija atrašanās vietas ceļu, lai to rekursīvi uzskaitītu. Mēs vēlamies rekursīvi uzskaitīt visus direktorijas “Documents” failus un mapes, kas atrodas “home” direktorijā, izmantojot zemāk atjaunināto komandu. Izejā tiek parādīti visi mapē “Dokumenti” esošie faili un mapes, kā arī papildu informācija.

$ ls -lR / home / aqsayasin / Dokumenti /

Uzskaitiet rekursīvi, izmantojot komandu “Atrast”

Paskaidrojiet sev, ka ne visas Linux sistēmas, t.g., macOS, Unix līdzīgā OS, direktoriju sarakstam ir iespēja izmantot “-R”. Tādā gadījumā mūsu vajadzībām ir pieejamas citas komandas, kas ir komanda “atrast” un “drukāt”. Šajā komandā mēs sniegsim ceļu uz mapi, kā arī komandu “-ls” izmantošanas iespējas. Ja komandā tiek izmantots “-ls”, tas nozīmē, ka tas parādīs arī papildu informāciju par konkrētā direktorija failiem un mapēm. Izmēģiniet čaulā zemāk norādīto komandu, lai rekursīvi uzskaitītu visus direktorija “Dokumenti” failus un mapes.

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

Tagad jums ir jāizmēģina tieši tāda pati instrukcija čaulā ar nelielām izmaiņām. Mēs pārtrauksim izmantot karogu “-ls” šajā komandā, lai pārtrauktu rādīt papildu informāciju par failiem. Izpildiet zemāk uzskaitīto vaicājumu čaulā, un jums tiks parādīta izeja.

$ find / home / aqsayasin / Documents / -print

Uzskaitiet rekursīvi, izmantojot komandu “-du”

Apskatīsim citu piemēru, lai rekursīvi uzskaitītu failus vai direktorijus ar citu jaunu metodi. Šoreiz mērķa sasniegšanai mēs izmantosim komandu “-du”. Šajā komandā ir “-a karodziņš. Kopā ar karodziņiem mums jānorāda arī direktorija atrašanās vieta. Izpildīsim šo instrukciju termināla čaulā, lai rekursīvi uzskaitītu visas direktorijas “Documents” mapes vai failus. Rezultātā tiek parādīti 5 tā ieraksti, kā parādīts zemāk. Var redzēt, ka šī komanda parāda arī katrā failā esošo kodumu skaitu.

$ du -a / mājas / aqsayasin / Dokumenti /

Rekursīvi uzskaitiet, izmantojot komandu “koks”

Visbeidzot, mums ir ļoti vienkārša un viegli izmantojama “koka” komandu metode, lai rekursīvi uzskaitītu failus vai mapes. Šajā komandā mēs līdz šim neizmantosim karodziņu. Jums jānorāda direktorijas atrašanās vieta kopā ar atslēgvārdu “koks”. Mums ir tā piemērs, izmantojot zemāk uzskaitīto komandu. Izvade parāda direktorija “Documents” sazarotā tipa “koks” izvadi. Tas parāda 0 direktorijus un 5 failus izvadē.

$ koks / mājas / aqsayasin / Dokumenti /

Izmēģināsim to pašu komandu “koks” ar citu atrašanās vietu. Šoreiz rekursīvi uzskaitām lietotāja “aqsayasin” direktorija “Home” mapes. Izvade parāda mapes “Home” filiāles, kurās kopā ir 14 dažādas mapes, apakšmapes un 5 faili.

$ koks / mājas / aqsayasin /

Secinājums

Mēs esam izmēģinājuši visas rekursīvās metodes, lai rekursīvi uzskaitītu direktorijus un failus, piem.g., “-LR” karodziņš, atrodiet un izdrukājiet, du un koku komandu

Kā lietot GameConqueror Cheat Engine Linux
Rakstā ir sniegts ceļvedis par GameConqueror apkrāptu dzinēja izmantošanu Linux. Daudzi lietotāji, kas spēlē spēles operētājsistēmā Windows, bieži izm...
Labākie Linux spēļu konsoles emulatori
Šajā rakstā tiks uzskaitīta populārā Linux spēļu konsoles atdarināšanas programmatūra. Emulācija ir programmatūras saderības slānis, kas atdarina spēļ...
Labākie Linux spēļu draiveri 2021. gadā
Linux operētājsistēma ir gājusi tālu no sākotnējā, vienkāršā uz serveriem balstītā izskata. Šī operētājsistēma pēdējos gados ir ārkārtīgi uzlabojusies...