Ghidul complet pentru căutarea fișierelor în Linux: un tutorial pentru începători

URMĂREȘTE-NE
16,065FaniÎmi place
1,142CititoriConectați-vă

Găsirea fișierelor în Linux poate părea descurajantă pentru începători, mai ales atunci când aveți de-a face cu mii de fișiere din mai multe directoare. Acest ghid vă va ghida prin cele mai eficiente metode de căutare a fișierelor în Linux, făcând gestionarea fișierelor o ușoară.

Linux oferă două instrumente principale pentru găsirea fișierelor:

  • localiza: Un instrument de căutare rapid, bazat pe baze de date
  • găsi: Un utilitar de căutare puternic, bogat în funcții

Comanda locate: Căutări rapide și ușoare

The locate comanda oferă o modalitate simplă de a găsi fișiere după nume. Căută într-o bază de date pre-construită de căi de fișiere, făcându-l incredibil de rapid.

# Basic syntax
locate filename

# Example: Finding zip-related files
locate zip | grep bin

Iată un eșantion de ieșire de la terminalul meu:

steve@server:~$ locate zip | grep bin
/bin/bunzip2
/bin/bzip2
/bin/bzip2recover
/bin/gunzip
/bin/gzip
/lib/firmware/qed/qed_init_values_zipped-8.10.10.0.bin
/lib/firmware/qed/qed_init_values_zipped-8.10.5.0.bin
/lib/firmware/qed/qed_init_values_zipped-8.15.3.0.bin
/lib/firmware/qed/qed_init_values_zipped-8.20.0.0.bin
/lib/firmware/qed/qed_init_values_zipped-8.33.1.0.bin
/lib/firmware/qed/qed_init_values_zipped-8.37.2.0.bin
/lib/firmware/qed/qed_init_values_zipped-8.37.7.0.bin
/lib/firmware/qed/qed_init_values_zipped-8.4.2.0.bin
/lib/firmware/qed/qed_init_values_zipped-8.7.3.0.bin
...

Sfat pro: Baza de date de localizare este actualizată zilnic. Dacă trebuie să căutați fișiere create recent, rulați sudo updatedb pentru a actualiza manual baza de date.

The find comanda este mai puternică, dar necesită o sintaxă mai detaliată. Căută în directoare în timp real, oferind control precis asupra criteriilor de căutare.

Sintaxa de bază a comenzii find

find /path/to/search -type f -name "filename"

Criterii comune de căutare

1. Căutați după tip de fișier

# Find directories
find ~ -type d

# Find regular files
find ~ -type f

Exemplu de ieșire de la terminalul meu:

steve@server:~$ find ~ -type d
/home/steve
/home/steve/.local
/home/steve/.local/share
/home/steve/.local/share/nano
/home/steve/.config
/home/steve/.config/htop
/home/steve/docker
/home/steve/.cache
/home/steve/.cache/update-manager-core
/home/steve/sandbox
/home/steve/.gnupg
/home/steve/.gnupg/private-keys-v1.d
/home/steve/snap
/home/steve/snap/docker
/home/steve/.ssh

2. Căutați după dimensiunea fișierului

# Find files larger than 1MB
find ~ -type f -size +1M

# Find files smaller than 100KB
find ~ -type f -size -100k

Exemplu de ieșire de la terminalul meu:

steve@server:~$ find ~ -type f -size -100k
/home/steve/.smbcredentials
/home/steve/?
/home/steve/.sudo_as_admin_successful
/home/steve/.config/htop/htoprc
/home/steve/jcameron-key.asc
/home/steve/pat_backup.tag.bz
/home/steve/.viminfo
/home/steve/ls.txt
/home/steve/.bashrc
/home/steve/docker/docker-compose.yml.save
/home/steve/docker/docker-compose.yml
/home/steve/pat_backup.tar.bz
/home/steve/.bash_logout
/home/steve/.cache/motd.legal-displayed
/home/steve/.cache/update-manager-core/meta-release-lts
/home/steve/sandbox/test_file.txt
/home/steve/.bash_history
/home/steve/.ssh/authorized_keys
/home/steve/.ssh/known_hosts
/home/steve/.profile

3. Căutați după permisiuni

# Find files with specific permissions
find ~ -type f -perm 0644

Exemplu de ieșire de la terminalul meu:

steve@server:~$ find ~ -type f -perm 0644
/home/steve/?
/home/steve/.sudo_as_admin_successful
/home/steve/.bashrc
/home/steve/pat_backup.tar.bz
/home/steve/.bash_logout
/home/steve/.cache/motd.legal-displayed
/home/steve/.profile

Încercați acest exercițiu practic:

Problemă: Găsiți-le pe toate .txt fișiere din directorul dvs. de acasă care au mai mult de 1 MB și au fost modificate în ultimele 24 de ore.

Încercați să scrieți comanda înainte de a căuta soluția de mai jos.

Click aici pentru solutie!

Soluţie:

find ~ -type f -name "*.txt" -size +1M -mtime -1

Combinarea criteriilor de căutare

Utilizați operatori logici pentru a crea căutări complexe:

find ~ ( -type f -not -perm 0600 ) -or ( -type d -not -perm 0700 )

Executarea comenzilor pe fișierele găsite

# List details of found files
find ~ -type f -name "*.jpg" -exec ls -l {} ;

# Delete found files (use with caution!)
find ~ -type f -name "*.tmp" -delete
  1. Utilizare locate pentru căutări rapide de nume de fișiere
  2. Utilizare find pentru căutări detaliate, bazate pe criterii
  3. Nu uitați să actualizați baza de date de localizare cu sudo updatedb
  4. Combinați criteriile de căutare pentru rezultate precise
  5. Utilizare -exec pentru a efectua acțiuni asupra fișierelor găsite
  1. Î: De ce nu pot găsi fișiere create recent cu locate? R: Baza de date de localizare este actualizată periodic. Fugi sudo updatedb pentru a-l actualiza manual.

  2. Î: Cum pot căuta fișiere după conținut? A: Combină find cu grep: find . -type f -exec grep "search text" {} ;

  3. Î: Pot căuta fișiere după dată? A: Da, folosește -mtime (timp de modificare) sau -ctime (schimbați ora) opțiuni cu find.

  4. Î: Cum manipulez numele fișierelor cu spații? R: Folosiți ghilimele în jurul numelor de fișiere sau folosiți -print0 opțiunea cu find.

  5. Î: Există o alternativă GUI la aceste comenzi? R: Da, majoritatea distribuțiilor Linux includ instrumente de căutare grafică, dar instrumentele din linia de comandă oferă mai multă putere și flexibilitate.

Stăpânirea căutării fișierelor în Linux este esențială pentru un management eficient al sistemului. în timp ce locate oferă rezultate rapide pentru căutări simple, find oferă opțiuni puternice pentru cerințe complexe de căutare. Exersați aceste comenzi în mod regulat pentru a deveni priceput în gestionarea fișierelor Linux.

Ne-ar plăcea să aflăm despre experiențele dvs. cu căutarea fișierelor Linux! Împărtășiți-vă sfaturile și trucurile în comentariile de mai jos sau urmăriți-ne pe rețelele sociale pentru mai multe tutoriale Linux.

Dominic Botezariu
Dominic Botezariuhttps://www.noobz.ro/
Creator de site și redactor-șef.

Cele mai noi știri

Pe același subiect

LĂSAȚI UN MESAJ

Vă rugăm să introduceți comentariul dvs.!
Introduceți aici numele dvs.