Pliki: wyszukiwanie (find)

Zapoznaj się ze stronami podręcznika dla komendy find, szczególnie z sekcją EXAMPLES.

  1. Przeanalizuj działanie następujących komend:

    # find /etc -name passwd
    # find /etc -name \*passwd
    
    # find /etc -name hosts
    # find /etc -name \*hosts
    # find /etc -name \*hosts\*
    
    # find /dev -type b|c|d|f|l
    # find /dev -type b|c|d|f|l  -exec ls -la {} \;
    
  2. Utwórz w osobnym katalogu kilka plików o różnej wielkości:

    # truncate -s 1 f-1
    # truncate -s 100 f-100
    # truncate -s 512 f-512
    # truncate -s 1023 f-1023
    # truncate -s 1k f-1k
    # truncate -s 2k f-2k
    # truncate -s 888k f-888k
    # truncate -s 2M f-2M
    

    Następnie przeanalizuj działanie następujących komend:

    # find . -size -1000c
    # find . -size -1023c
    # find . -size -1024c
    # find . -size -1k
    # find . -size  1k
    # find . -size +1k
    # find . -size -2k
    # find . -size +2k
    
    # find . -type f -size +2k
    # find . -type d -size +2k
    # find . -type f -size +1M
    # find . -type f -size 1M
    # find . -type f -size -1M
    
  3. Przejdź do katalogu /usr/bin/ i wykonaj następujce komendy:

    # find . -perm -4000 -exec ls -la {} \;
    # find . -perm -4000 -exec ls -la {} \;
    # find . \( -perm -4000 -or -perm -2000 \)
    # find . -perm /6000
    
  4. Uruchom skrypt perms.sh w pustym podkatalogu i wykonaj następujące komendy (ew. uzupełniając o -exec ls -l {} \;):

    # find . -type f -perm  100
    
    # find . -type f -perm -100
    # find . -type f -perm /100
    
    # find . -type f -perm  700
    # find . -type f -perm -700
    # find . -type f -perm /700
    
    # find . -type f -perm  400
    # find . -type f -perm -400
    # find . -type f -perm /400
    
    # find . -type f -perm  220
    # find . -type f -perm -220
    # find . -type f -perm /220
    
  5. Przejdź do katalogu /usr/share/doc i sprawdź prawa dostępu do katalogów i podkatalogów. Zmień prawa dostępu do wszystkich katalogów na 777, a następnie przywróć ustawienia pierwotne.

  6. Porównaj

    # time find . -exec ls -la {} \;
    # time find . -print0 | xargs -0 ls  -la