Ask Your Question
2

Find, predikáty s parametry +n -n

asked 2015-12-15 23:37:55 +0100

PavelSvagr gravatar image

updated 2015-12-16 21:13:49 +0100

Josef Kokeš gravatar image

Mám dotaz, co se týče ohledně zadávání do predikátů +n nebo -n. Zkoušel jsme hned několik predikátů, ctime, atime nebo třeba -perm a moc nechápu jak to pořádně funguje. V manuálu se píše, že plus je greater than a mínus less than, ale jak to funguje v praxi mi momentálně není úplně jasné, protože u perm mínus funguje jako má alespoň zadaná práva, plus by tedy mělo být má nejvíce tyto práva, ale tak to nějak nefunguje.

Například když zadám -perm +000 čekal bych, že to napíše všechny soubory co nemají žádná práva, ale tak to nefunguje. Nějaká rada, jak celé to obcházení u jednotlivých příkazů findu pochopit?

Díky! :)

edit retag flag offensive close delete

Comments

Pro upresneni: jedna se parametry/argumenty predikatu, ne o predikaty. Predikat je -perm-mtime, +3 je pak parametrem predikatu -mtime -- jen abychom si rozumeli.

VojtechMyslivec ( 2015-12-16 14:42:13 +0100 )edit

Jo, jasně, já to myslel tak že libovolné predikáty a pak +n / -n, ne že jsou to predikáty to +n/-n, ale asi je to zmatečné, změnil jsme název, díky. ;)

PavelSvagr ( 2015-12-16 19:14:47 +0100 )edit

1 Answer

Sort by » oldest newest most voted
3

answered 2015-12-16 14:51:23 +0100

VojtechMyslivec gravatar image

updated 2015-12-16 15:08:12 +0100

Funguje to tak jak je v manualu, ale pouze pro predikaty jako jsou time, min a size (-{a,m,c}{min,time} -size).

find . -mtime 3 najde soubory upravene pred prave tremi dny.
find . -mtime +3 najde soubory upravene pred vice jak tremi dny (tzn. 4 a vice).
find . -mtime -3 najde soubory upravene pred mene jak tremi dny (tzn. 2 a mene).

U perm je to trochu jinak.

find . -perm 750 najde soubory, ktere maji presne takto nastavena prava. tzn. pri pouziti ls bude prvni sloupec vzdy vypadat ?rwxr-x---
find . -perm -750 najde soubory, ktere maji alespon tato prava. tzn. ten 'sloupecek' bude vypadat ?rwxr?x???

Pokud bych chel maximalne takova, postacim s negaci predikatu (!)

EDIT:

To + u -perm je trosku slozitejsi, ale v zasade to rika: "alespon jedno z prav, ktere zadam". Priklad:

find . -perm +640 soubor je citelny pro vlastnika nebo zapisovatelny pro vlastnika nebo citelny pro skupinu
Coz je dost zvlastni kriterium, nicmene napr. tohle bude vyuzitelne:
find . -perm +111 soubor je nekym spustitelny.

A je to ekvivalentni s: find . \( -perm -001 -o -perm -010 -o -perm -100 \)

edit flag offensive delete publish link more

Comments

1

Díky moc za super odpověď... To perm mě zmátlo a chtěl jsem v tom mít před testem raději jasno. :)

PavelSvagr ( 2015-12-16 17:36:02 +0100 )edit
1

BTW: viz man find:
-perm +mode
Deprecated, old way of searching for files with any of the per‐
mission bits in mode set. You should use -perm /mode instead.

U -perm bych se omezil na -mode

VojtechMyslivec ( 2015-12-16 20:27:32 +0100 )edit

Your answer

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!

Add answer

[hide preview]

Stats

Asked: 2015-12-15 23:37:55 +0100

Seen: 213 times

Last updated: Dec 16 '15