Re: lug-bg: Странно поведение на binutils
- Subject: Re: lug-bg: Странно поведение на binutils
- From: Svilen Ivanov <svilen@xxxxxxxxxxxx>
- Date: Thu, 13 Oct 2005 09:09:52 +0300
- Delivered-to: lug-bg-list@xxxxxxxxxxxxxxxxxx
- Delivered-to: lug-bg@xxxxxxxxxxxxxxxxxx
- Organization: Netclime Inc.
> Супер изродско. Някаква дебиан базирана дистрибуция си сглобих тука. И
> не мога да проумея следното. Каквито и файлови операции да правя върху
> файловете в дадена директория използвайки маска, маската лови само
> "стандартните файлове". Ако отида в ~ и напиша chmod -R 0666 * , то
> това ще засегне файлове от вида abcd, def,fgh и подобни ,но няма да
> хване неща като .abc,.def,.ghi . Объркан съм. Ако направя chmod -R 0666
> .*, това пък променя и mode-a на parent директорията (..), заедно със
> скритите файлове. Това не е стандартно поведение.
> Доста куцо. Къде мислите, че трябва да търся проблема?
Това което те обърква е "защо звездата (*) не съвпада с .abc файл". По
подразбиране * не съвпада с точка. Ако искаш да промениш това, трябва да
включиш 'dotglob' опцията на Bash ето така:
$ shopt -s dotglob
Сега вече ще можеш да правиш това:
$ ls -a
. .. .abc .def abc def
$ ls -a *
abc def
$ shopt -s dotglob
$ ls -a *
.abc .def abc def
$ shopt -u dotglob
$ ls -a *
abc def
Иначе за конкретната ти задача ("смени правата на всички файлове") използвай
командата find както Nikola Antonov е показал.
Повече инфо за bash: man bash > Pathname Expansion
Надявам се че съм бил полезен.
|