25-01-04 11:44
Unix: Kako uloviti skrivene datoteke?
piše ACO DMITROVIC
Ako želimo u nekom direktoriju izvršiti operacije nad svim datotekama, uključujući i one skrivene, kako to izvesti?
Skrivene datoteke na Unixu počinju točkom, na pr: .bashrc. Kada izlistavate sadržaj nekog direktorija i napišete "ls", nećete ih vidjetii. Trebalo bi još dodati -a, što znači "all", sve:
# ls -a
Ako treba promijeniti vlasništvo ili atribute u svim datotekama unutar direktorija i svih njegovih poddirektorija, čini se da je to lako, prsti već lete da napišu:
# chmod -r 755 .*
Ali nemojte srljati! Točka se koristi i za druge stvari, ne samo za skrivanje datoteka. Tako jedna točka "." označava direktorij u kojem se nalazimo, a dvije točke za redom ".." roditeljski direktorij. Želimo li i direktoriju ispred onog u kojem se nalazimo promijeniti dozvole?
Ne, naravno da ne želimo! Zamislite da ste u /home/pero, i da tu napišete:
# chown -r pero:pero .*
Naredba će zahvatiti i /home direktorij pa će direktoriji svih korisnika odjednom pripadati Peri!
Što da se radi? Umjesto ".*" koristite kombinaciju ".??*", na pr:
# chmod 755 .??*
Ovime ćete zahvatiti sve datoteke čije je ime duže od dva znaka. Znači da nećete zahvatiti datoteku "..", roditeljski direktorij.
Nećete uloviti niti datoteku koja se zove, na primjer: ".a", ali i to je bolje nego popravljati nehotičnu štetu.
|