Puncte:1

Cum de „ls -U” într-un director care conține multe fișiere durează ceva timp, în timp ce „ls -U | head” returnează un răspuns imediat?

drapel cn

Când doriți să obțineți un eșantion de nume de fișiere dintr-un director care conține multe fișiere, se recomandă să faceți „ls -U | head”, deoarece, altfel, să faceți singur „ls” poate dura destul de mult timp.

Cu toate acestea, de ce „ls -U” de la sine nu începe să returneze ieșiri de îndată ce a rulat?

Puncte:1
drapel cn

GNU ls -U înseamnă ieșire nesortată, deci nu trebuie să aștepte ca tot conținutul directorului să înceapă să le imprime.

head se va închide stdin și se va închide după un număr mic de linii. Când scriitorul la conductă, în acest caz, nu mai are cititori, se va retrage. Acest lucru va elimina toate I/O-urile implicate după doar un număr mic de linii, făcându-l să pară rapid în utilizarea interactivă.

Lectură suplimentară: Procesul nu se închide când stdin este închis


O întârziere vizibilă pentru oameni în listarea conținutului directorului este un semn de depășire a limitelor practice. O mulțime de fișiere într-un director înseamnă metadate mari ale sistemului de fișiere și, prin urmare, multe I/O. Loturi înseamnă de obicei sute de mii de fișiere, chiar și pentru sistemele de fișiere testate în producție.

Dincolo de un anumit număr de fișiere, este logic să reconsiderăm aspectele de director și bazele de date modificate. Pe termen scurt, puneți volumul problemei pe SSD-uri rapide pentru a-i face performanța tolerabilă.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.