Komentorivi Linux-ympäristössä
Sisällysluettelo:
- Linux
find
komentosyntaksin - Etsi tiedostoja nimen mukaan
- Etsi tiedostoja laajennuksen perusteella
- Etsi tiedostoja tyypin mukaan
- Etsi tiedostoja koon mukaan
- Etsi tiedostoja muokkauspäivän mukaan
- Etsi tiedostoja käyttöoikeuksien mukaan
- Etsi omistajan tiedostoja
- Etsi ja poista tiedostoja
- johtopäätös
find
komento on yksi tehokkaimmista työkaluista Linux-järjestelmänvalvojien arsenaalissa. Se etsii tiedostoja ja hakemistoja hakemistohierarkiassa käyttäjän antaman lausekkeen perusteella ja voi suorittaa käyttäjän määrittelemät toimenpiteet jokaisessa vastaavassa tiedostossa.
find
komennon avulla voit etsiä tiedostoja ja hakemistoja niiden oikeuksien, tyypin, päivämäärän, omistajuuden, koon ja muun perusteella. Sitä voidaan käyttää myös yhdessä muiden työkalujen, kuten
grep
tai
sed
.
Linux
find
komentosyntaksin
find
komennon yleinen syntaksi on seuraava:
find
-
options
ominaisuus hallitsee symbolisten linkkien, virheenkorjausvaihtoehtojen ja optimointimenetelmien käsittelyä.path…
-attribuutti määrittelee aloitushakemiston tai hakemistot, joista etsintä etsii tiedostoja. Lausekeominaisuus koostuu vaihtoehdoista, hakumalleista ja operaattoreiden erottamat toimet.
Hakeaksesi tiedostoja hakemistosta, etsimiskomentoa käyttävän käyttäjän on oltava kyseisen hakemiston lukuoikeudet.
Katsotaanpa seuraavaa esimerkkiä:
find -L /var/www -name "*.js"
- Vaihtoehto
-L
(asetukset) käskee etsimiskomennon seuraamaan symbolisia linkkejä./var/www
(polku…) määrittelee hakemiston, jota etsitään. (-name "*.js
)-name "*.js
käskee etsimään tiedostoja, jotka päättyvät.js
(JavaScript-tiedostot).
Etsi tiedostoja nimen mukaan
Tiedostojen etsiminen nimen perusteella on todennäköisesti etsimiskomennon yleisin käyttö. Jos haluat löytää tiedoston sen nimen perusteella,
-name
vaihtoehto seurasi etsimäsi tiedoston nimeä.
Esimerkiksi hakemalla
/home/linuxize
hakemistossa tiedostoa, jonka nimi on
document.pdf
, käyttäisit seuraavaa komentoa:
find /home/linuxize -type f -name document.pdf
Jos haluat suorittaa isojen ja isojen kirjaimien välillä haun, muuta
-name
asetusta
-iname
:
find /home/linuxize -type f -iname document.pdf
Yllä oleva komento vastaa ”Document.pdf”, “DOCUMENT.pdf”..etc.
Etsi tiedostoja laajennuksen perusteella
Tiedostojen etsiminen laajennuksen perusteella on sama kuin tiedostojen etsiminen nimen perusteella. Esimerkiksi löytääksesi kaikki tiedostot, jotka päättyvät
.log.gz
hakemistoon
/var/log/nginx
voit käyttää:
find /var/log/nginx -type f -name '*.log.gz'
On tärkeätä mainita, että kun käytät jokerimerkkiä, sinun on joko lainattava kuvio tai poistettava tähdellä
*
symboli alaviivalla
\
jotta kuori ei tulkitse sitä.
Löydät kaikki tiedostot, jotka eivät vastaa regex
*.log.gz
-vaihtoehtoa
*.log.gz
. Esimerkiksi löytääksesi kaikki tiedostot, jotka eivät lopu
*.log.gz
:
find /var/log/nginx -type f -not -name '*.log.gz'
Etsi tiedostoja tyypin mukaan
Joskus joudut ehkä etsimään tiettyjä tiedostotyyppejä, kuten normaalit tiedostot, hakemistot tai linkit. Linuxissa kaikki on tiedostoa.
Voit etsiä tiedostoja tyypin perusteella käyttämällä
-type
asetusta ja yhtä seuraavista kuvaajista määrittääksesi tiedostotyypin:
-
f
: tavallinen tiedostod
: hakemistol
: symbolinen linkkic
: merkkilaitteetb
: estää laitteetp
: nimeltään putki (FIFO)s
: liitin
Esimerkiksi, jos haluat löytää kaikki hakemistot nykyisestä työhakemistosta, käytä:
find. -type d
Yleinen esimerkki olisi verkkosivustotiedostojen käyttöoikeuksien rekursiivinen muuttaminen
644
ja hakemistojen käyttöoikeuksien
755
chmod
komennolla:
find /var/www/my_website -type d -exec chmod 0755 {} ;
find /var/www/my_website -type f -exec chmod 0644 {} ;
Etsi tiedostoja koon mukaan
Jos haluat löytää tiedostoja tiedostokokoon perustuen,
-size
parametri
-size
yhdessä kokoluokituksen kanssa. Voit määrittää tiedostokoko seuraavilla jälkiliitteillä:
-
b
: 512 tavun lohkot (oletus)c
: tavutw
: kahden tavun sanatk
: kilotavuaM
: megatavuaG
: gigatavua
Seuraava komento löytää kaikki tiedostot, joiden tarkkuus on
1024
tavua
/tmp
hakemistosta:
find /tmp -type f -size 1024c
find
komennon avulla voit myös etsiä tiedostoja, jotka ovat suurempia tai pienempiä kuin määritetty koko.
Seuraavassa esimerkissä etsimme kaikkia alle
1MB
tiedostoja nykyisessä työhakemistossa. Huomaa miinusmerkki ennen koon arvoa:
find. -type f -size -1M
find. -type f -size +1M
Voit jopa etsiä tiedostoja kokoalueelta. Seuraava komento löytää kaikki tiedostot välillä
1
2MB
:
find. -type f -size +1M -size 21M
Etsi tiedostoja muokkauspäivän mukaan
find
komento voi myös etsiä tiedostoja niiden viimeisen muokkaus-, käyttö- tai muutosajan perusteella.
Käytä plus- ja miinusmerkkejä samoin kuin etsiessäsi koon mukaan, jos olet suurempi kuin tai pienempi.
Oletetaan, että muutama päivä sitten muutit yhtä dovecot-asetustiedostoista, mutta unohdit kumman. Voit suodattaa helposti kaikki tiedostot hakemistossa
/etc/dovecot/conf.d
jonka lopussa on
.conf
ja joita on muokattu viimeisen viiden päivän aikana:
find /etc/dovecot/conf.d -name "*.conf" -mtime 5
Tässä on toinen esimerkki tiedostojen suodattamisesta muokkauspäivämäärän perusteella käyttämällä
-daystart
. Alla oleva komento luettelee kaikki
/home
hakemistossa olevat tiedostot, joita on muokattu vähintään
30
päivää sitten:
find /home -mtime +30 -daystart
Etsi tiedostoja käyttöoikeuksien mukaan
-perm
avulla voit etsiä tiedostoja tiedostojen käyttöoikeuksien perusteella.
Esimerkiksi, jos haluat löytää kaikki tiedostot, joiden käyttöoikeudet ovat tarkalleen
775
/var/www/html
hakemistosta, käyttäisit:
find /var/www/html -perm 644
Voit liittää numeerisen tilan eteen miinus
-
tai vinoviiva
/
-näppäimillä.
Kun viivaa
/
käytetään etuliitteenä, ainakin yhdellä luokalla (käyttäjä, ryhmä tai muu) on oltava ainakin vastaavat bitit asetettu tiedoston vastaamaan.
Mieti seuraavaa komentoa:
find. -perm /444
Yllä oleva komento vastaa kaikkia tiedostoja, joiden lukuoikeudet on asetettu joko käyttäjälle, ryhmälle tai muille.
Jos miinus
-
käytetään etuliitteenä, niin tiedoston on vastattava vähintään määritettyjä bittejä. Seuraava komento etsii tiedostoja, joilla on omistajan ja ryhmän lukemis- ja kirjoitusoikeudet ja jotka ovat muiden käyttäjien luettavissa:
Etsi omistajan tiedostoja
Löydät tietyn käyttäjän tai ryhmän omistamat tiedostot käyttämällä
-user
ja
-group
.
Esimerkiksi, jos haluat etsiä kaikkia käyttäjän omistamia tiedostoja ja hakemistoja
linuxize
, suorita:
find / -user linuxize
Tässä on reaalimaailman esimerkki. Oletetaan, että haluat löytää kaikki käyttäjän
www-data
omistamat tiedostot ja muuttaa vastaavien tiedostojen omistajuuden
www-data
nginx
:
find / -user www-data -type f -exec chown nginx {} ;
Etsi ja poista tiedostoja
Jos haluat poistaa kaikki vastaavat tiedostot, lisää-Poista-vaihtoehto
-delete
loppuun.
Varmista, että käytät tätä vaihtoehtoa vain, kun olet varma, että tulos vastaa poistettavia tiedostoja. On aina hyvä idea tulostaa vastaavat tiedostot ennen kuin
-delete
-vaihtoehto.
Voit esimerkiksi poistaa kaikki tiedostoja, jotka päättyvät
.temp
hakemistosta
/var/log/
:
find /var/log/ -name `*.temp` -delete
Käytä-
-delete
vaihtoehtoa erittäin varovaisesti. Find-komentorivi arvioidaan lausekkeena ja jos lisäät ensin
-delete
vaihtoehdon, komento poistaa kaiken määrittämiesi lähtöpisteiden alapuolella.
Haettaessa hakemistot,
find
voi poistaa vain tyhjät hakemistot samoin kuin
rmdir
.
johtopäätös
Olemme osoittaneet sinulle, kuinka voit käyttää
find
komentoa eri vaihtoehtojen ja kriteerien kanssa.
Tämän artikkelin tulisi antaa sinulle perusteellinen käsitys tiedostojen paikantamisesta Linux-järjestelmissä. Voit myös käydä
find
man-sivulla ja lukea kaikista muista löytökomennon tehokkaista vaihtoehdoista.
Käytä CAM Unzip zip & unzip tiedostoja helposti. Tämä freeware avulla voit salasanasuojaa zip-tiedostoja ja luetella ja tarkastella tiedostoja ZIP-arkistossa. Lataa ilmaiseksi.
CAM UnZip
Kuinka poistaa mysql-tietokanta linuxista komentorivin avulla
Tämä opetusohjelma kuvaa kuinka poistaa (tai pudottaa) MySQL- tai MariaDB-tietokanta komentoriviltä.
Kuinka löytää IP-osoitteesi linuxista
Laitteesi IP-osoitteen tunteminen on tärkeää verkkoongelmien vianmäärityksessä, uuden yhteyden muodostamisessa tai palomuurin määrittämisessä. Tässä artikkelissa selitetään useita erilaisia menetelmiä Linux-järjestelmän julkisten ja yksityisten IP-osoitteiden määrittämiseksi.