03/28/2024

Cum să obțineți dimensiunea unui fișier sau director în Linux

Când utilizați comanda Linux du, obțineți atât utilizarea reală a discului, cât și dimensiunea reală a unui fișier sau director. Vom explica de ce aceste valori nu sunt aceleași.

Utilizarea reală a discului și dimensiunea adevărată

Dimensiunea unui fișier și spațiul pe care îl ocupă pe hard disk sunt rareori aceleași. Spațiul pe disc este alocat în blocuri. Dacă un fișier este mai mic decât un bloc, un întreg bloc îi este încă alocat, deoarece sistemul de fișiere nu are o unitate mai mică de imobil de utilizat.

Cu excepția cazului în care dimensiunea unui fișier este un multiplu exact de blocuri, spațiul pe care îl folosește pe hard disk trebuie întotdeauna rotunjit la următorul bloc întreg. De exemplu, dacă un fișier este mai mare de două blocuri, dar mai mic de trei, este nevoie de trei blocuri de spațiu pentru a-l stoca.

Sunt utilizate două măsurători în raport cu dimensiunea fișierului. Prima este dimensiunea reală a fișierului, care este numărul de octeți de conținut care alcătuiesc fișierul. A doua este dimensiunea efectivă a fișierului de pe hard disk. Acesta este numărul de blocuri de sistem de fișiere necesare pentru a stoca acel fișier.

Un exemplu

Să ne uităm la un exemplu simplu. Vom redirecționa un singur caracter într-un fișier pentru a crea un fișier mic:

echo "1" > geek.txt

geek.txt” într-o fereastră de terminal.’ width=”646″ height=”57″ onload=”pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);” onerror=”this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);”>

Acum, vom folosi lista cu format lung, ls, pentru a analiza lungimea fișierului:

ls -l geek.txt

The

Lungimea este valoarea numerică care urmează intrărilor dave dave, care este de doi octeți. De ce sunt doi octeți când am trimis un singur caracter în fișier? Să aruncăm o privire la ce se întâmplă în interiorul fișierului.

  Cum se instalează Docker Images pe Linux

Vom folosi comanda hexdump, care ne va oferi un număr exact de octeți și ne va permite să „vedem” caractere care nu se imprimă ca valori hexazecimale. Vom folosi, de asemenea, opțiunea -C (canonică) pentru a forța ieșirea să arate valori hexazecimale în

x