Android

Maghanap ng mga malalaking file sa linux

Поиск файлов в Linux и Unix — find, grep, ack, ripgrep

Поиск файлов в Linux и Unix — find, grep, ack, ripgrep

Talaan ng mga Nilalaman:

Anonim

Sa paglipas ng panahon, ang iyong disk drive ay maaaring makakuha ng kalat ng maraming hindi kinakailangang mga file na kumukuha ng maraming halaga ng puwang sa disk. Karaniwan, ang mga sistema ng Linux ay naubusan ng puwang ng disk dahil sa malaking log o backup file.

Ipinapaliwanag ng tutorial na ito kung paano mahanap ang pinakamalaking mga file at direktoryo sa mga sistema ng Linux gamit ang find and du utos.

Maghanap ng Malalaking mga File Gamit ang find Utos

Ang find utos ay isa sa mga pinakamalakas na tool sa arsenal ng system ng Linux. Pinapayagan kang maghanap para sa mga file at direktoryo batay sa iba't ibang pamantayan kabilang ang laki ng file.

Halimbawa, kung nais mong maghanap para sa mga file na may sukat na mas malaki kaysa sa 100MB, sa kasalukuyang direktoryo ng nagtatrabaho ay gagamitin mo ang sumusunod na utos:

sudo find. -xdev -type f -size +100M Palitan gamit ang landas sa direktoryo kung saan nais mong maghanap para sa pinakamalaking mga file.

Ang output ay magpapakita ng isang listahan ng mga file nang walang karagdagang impormasyon.

/var/lib/libvirt/images/centos-7-desktop_default.img /var/lib/libvirt/images/bionic64_default.img /var/lib/libvirt/images/win10.qcow2 /var/lib/libvirt/images/debian-9_default.img /var/lib/libvirt/images/ubuntu-18-04-desktop_default.img /var/lib/libvirt/images/centos-7_default.img

Ang find utos ay maaari ring magamit kasama ang iba pang mga tool tulad ng ls o pag- sort - sort upang maisagawa ang mga operasyon sa mga file na iyon.

Sa halimbawa sa ibaba, ipinapasa namin ang output ng find command sa ls na i-print ang laki ng bawat nahanap na file at pagkatapos ay i-pipe ang output sa sort utos upang mai-uri ito batay sa ika-5 haligi na kung saan ay ang laki ng file.

find. -xdev -type f -size +100M -print | xargs ls -lh | sort -k5, 5 -h -r

Ang output ay magiging hitsura ng isang bagay tulad nito:

-rw------- 1 root root 40967M Jan 5 14:12 /var/lib/libvirt/images/win10.qcow2 -rw------- 1 root root 3725M Jan 7 22:12 /var/lib/libvirt/images/debian-9_default.img -rw------- 1 root root 1524M Dec 30 07:46 /var/lib/libvirt/images/centos-7-desktop_default.img -rw------- 1 root root 999M Jan 5 14:43 /var/lib/libvirt/images/ubuntu-18-04-desktop_default.img -rw------- 1 root root 562M Dec 31 07:38 /var/lib/libvirt/images/centos-7_default.img -rw------- 1 root root 378M Jan 7 22:26 /var/lib/libvirt/images/bionic64_default.img

Kung ang output ay naglalaman ng maraming mga linya ng impormasyon maaari mong gamitin ang utos ng head upang i-print lamang ang unang 10 linya:

find. -xdev -type f -size +100M -print | xargs ls -lh | sort -k5, 5 -h -r | head

Ihiwalay natin ang utos:

  • find. -xdev -type f -size +100M -print find. -xdev -type f -size +100M -print - maghanap lamang para sa mga file ( -type f ) sa kasalukuyang direktoryo ng nagtatrabaho ( . ), mas malaki kaysa sa 100MB ( -size +100M ), huwag bumaba ng mga direktoryo sa iba pang mga filesystem ( -xdev ) at i-print ang buong pangalan ng file sa karaniwang output, na sinusundan ng isang bagong linya ( -print ). xargs ls -lh - ang output ng find command ay piped sa xargs na nagsasagawa ng ls -lh utos na ls -lh -print ang output sa mahabang listahan ng nababasa na format ng tao. sort -k5, 5 -h -r - uri ng mga linya batay sa ika-5 haligi ( -k5, 5 ), ihambing ang mga halaga sa nababasa na format ( -h ) at baligtarin ang resulta ( -r ). head : mga kopya lamang ang unang 10 linya ng piped output.

Ang find utos ay may maraming makapangyarihang mga pagpipilian. Halimbawa, maaari kang maghanap para sa mga malalaking file na mas matanda kaysa sa x araw, malalaking file na may isang tiyak na extension o malalaking file na kabilang sa isang partikular na gumagamit.

Maghanap ng Malalaking Mga File at Direktor ng Paggamit ng du Command

Ang du utos ay ginagamit upang matantya ang paggamit ng puwang ng file at ito ay partikular na kapaki-pakinabang para sa paghahanap ng mga direktoryo at mga file na kumonsumo ng malaking halaga ng puwang sa disk.

Ang sumusunod na utos ay i-print ang pinakamalaking mga file at direktoryo:

du -ahx. | sort -rh | head -5

Kasama sa unang haligi ang laki ng file at ang pangalawa ang pangalan ng file:

55G. 24G./.vagrant.d/boxes 24G./.vagrant.d 13G./Projects 5.2G./.minikube

Paliwanag ng utos:

  • du -ahx. : tinantya ang paggamit ng puwang ng disk sa kasalukuyang direktoryo ng nagtatrabaho ( . ), bilangin ang parehong mga file at direktoryo ( a ), mga laki ng pag-print sa isang nababasa na format ( h ) at laktawan ang mga direktoryo sa iba't ibang mga system ng file ( x ). sort -rh : sort -rh linya sa pamamagitan ng paghahambing ng mga halaga sa nababasa na format ng tao ( -h ) at baligtarin ang resulta ( -r ). head -5 : mga kopya lamang ang unang 5 linya ng piped output.

Kasama sa du command ang iba pang mga pagpipilian na maaari mong gamitin upang pinuhin ang output ng paggamit ng puwang sa disk.

Konklusyon

Ang paghahanap ng mga malalaking file ay lubos na kapaki-pakinabang kapag puno ang iyong disk at nais mong malaya ito.

Ngayon na natagpuan mo ang pinakamalaking mga file sa iyong system ay maaaring nais mong basahin ang aming gabay tungkol sa Paano Alisin ang mga File at Mga Direktoryo Gamit ang Linux Command Line.

hanapin ang disk terminal