|  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
System
  • Grundläggande datorkunskaper
  • Linux
  • Mac OS
  • Ubuntu
  • Unix
  • Windows
  • Windows Vista
  • Windows XP
  • Windows 7
  • Windows 10
  • Windows 11
  • Windows 2012
  • Windows 2016
  • Windows 2019
  • Windows 2022
  • Apple
  • Android
  • iOS
  • CentOS
  • * Dator Kunskap >> System >> Unix >> Content

    Vilken traversal beräknar den totala storleken på varje katalog i Unix -systemet?

    Ingen av standard Unix -traversalmetoderna (som `find`,` ls` eller `tree ') beräknar direkt den totala storleken på varje katalog i ett enda kommando. De visar vanligtvis storleken på filer i en katalog, men inte den rekursiva summan av storleken på alla filer och underkataloger i den katalogen.

    För att beräkna den totala storleken på varje katalog skulle du vanligtvis använda `du` (diskanvändning). Men "du" inte i sig "går" i betydelsen att besöka varje katalog och skriva ut sitt namn och storlek separat. Den rapporterar storleken på varje katalog, *inklusive dess underkataloger *, som skiljer sig subtilt från en traversal som uttryckligen skulle lista varje katalog och dess storlek oberoende av sina barn.

    Så här kan du uppnå en katalogövergång som visar den totala storleken på varje katalog:

    med `du` med` find`:

    Detta kombinerar "hitta" för traversal och "du" för storleksberäkning. "Hitta" listar varje katalog, och "xargs" matar dessa kataloger till "du":

    `` `bash

    hitta. -Typ d -print0 | xargs -0 -i {} du -sh {}

    `` `

    * `Hitta. -Typ d -print0`:Detta hittar alla kataloger (`-typ d`) från den aktuella katalogen (`. ') och skriver ut deras namn åtskilda av nolltecken (`-print0'). Nolltecken är avgörande för att hantera filnamn med mellanslag eller specialtecken.

    * `xargs -0 -i {} du -sh {}`:Detta tar de nollseparerade filnamnen från `find` och kör` du -sh` på var och en. `-0` säger` xargs` att förvänta sig noll-separerade ingångar, `-i {}` uppsättningar `{}` som en platshållare för filnamnet, 'du -sh` visar storleken i ett mänskligt läsbart format (' -H ') och bara sammanfattningsstorleken (inte storleken på varje fil in i).

    Detta är det närmaste du kommer till en traversal som uttryckligen ger dig storleken på varje katalog. Kommandot "du" är inte strikt en traversal algoritm, men när den används med "find" utför kombinationen önskad åtgärd.

    Tidigare:

    nästa:
    relaterade artiklar
    ·Vad är fällkommandot på Unix för?
    ·Vad betyder w-heldo127 i Gujarat University BCA?
    ·Hur delas filer mellan användare i Unix och Windows?
    ·Hur Packa en Z- fil i Unix
    ·Vad är execlp-systemanrop?
    ·Hur hitta antalet rader i en fil för Unix
    ·Specifikationerna för Unix Operativsystem
    ·Unix var ett av de första operativsystemen som impleme…
    ·Vad lagras i en körbar fil?
    ·Vad betyder symbolen i Linux?
    Utvalda artiklarna
    ·Hur du ändrar produktnyckeln i XP Pro
    ·Hur Ladda ner Windows CE bilder från en enhet
    ·Hur man installerar en mall Kit i Ubuntu
    ·Hur du kör XP på en Mac Mini
    ·Hur du tar en ögonblicksbild av en Windows -dator skä…
    ·Hur Jämför mappar
    ·Hur till Återvinna Toshiba M305 Laptop
    ·Hur spelar du en CD på MacBook Pro?
    ·Hur vill kolla Windows XP hårddisk skick
    ·Hur man gör ett bildspel med iPhoto
    Copyright © Dator Kunskap https://www.dator.xyz