Где находится файл .bashrc в Linux?

Предположим, у вас есть следующая структура каталогов:

$ ls -lR
.:
total 4
drwxr-xr-x 3 user users 4096 Aug  2 14:05 a

./a:
total 4
drwxr-xr-x 3 user users 4096 Aug  2 14:05 b

./a/b:
total 4
drwxr-xr-x 2 user users 4096 Aug  2 14:05 c

./a/b/c:
total 0

С помощью chmod 777 * разрешения всех файлов в текущем каталоге устанавливаются на 0777. Однако на файлы в подкаталогах это не влияет, т.е. для a/ будут установлены разрешения 0777, но не для a/b или a/b/c и т.д. :

$ chmod 777 *
$ ls -lR
.:
total 4
drwxrwxrwx 3 user users 4096 Aug  2 14:05 a

./a:
total 4
drwxr-xr-x 3 user users 4096 Aug  2 14:05 b    <=== Note

./a/b:
total 4
drwxr-xr-x 2 user users 4096 Aug  2 14:05 c    <=== Note

./a/b/c:
total 0

Здесь возникает рекурсия: при chmod -R 777 * будут затронуты все файлы и каталоги во всех подкаталогах текущего каталога:

$ ls -lR
.:
total 4
drwxrwxrwx 3 user users 4096 Aug  2 14:05 a

./a:
total 4
drwxrwxrwx 3 user users 4096 Aug  2 14:05 b    <=== Note

./a/b:
total 4
drwxrwxrwx 2 user users 4096 Aug  2 14:05 c    <=== Note

./a/b/c:
total 0

Примечание: Если вы используете bash, то значение "все файлы" зависит от значения dotglob, см. bash(1); аналогично для других оболочек.

13
03.01.2017, 14:17
0 ответов

Теги

Похожие вопросы