Что означает точка (.) В команде?

Вот команда, которую я видел в уроке:

mkswap /swap && chown root. /swap && chmod 0600 /swap && swapon /swap

Что означает .?

2
задан 15 June 2017 в 07:46

2 ответа

. в этом контексте является устаревшей формой : и является разделителем между новым владельцем и группой.

Из info chown:

   Some older scripts may still use ‘.’ in place of the ‘:’ separator.
POSIX 1003.1-2001 (*note Standards conformance::) does not require
support for that, but for backward compatibility GNU ‘chown’ supports
‘.’ so long as no ambiguity results.  New scripts should avoid the use
of ‘.’ because it is not portable, and because it has undesirable
results if the entire OWNER‘.’GROUP happens to identify a user whose
name contains ‘.’.

Так что в этом контексте это то же самое, что chown root: /swap, что в свою очередь означает

OWNER:
     If a colon but no group name follows OWNER, that user is made the
     owner of the files and the group of the files is changed to OWNER’s
     login group.

, так как группа входа пользователя root root, она эквивалентна chown root:root /swap

0
ответ дан 15 June 2017 в 07:46

Это сокращенная версия

sudo chown root:root /swap

, так как для группы будет установлено то же имя, что и для имени пользователя.

Попробуйте создать папку, затем таким же способом установите для владельца права root, затем, когда закончите, попробуйте установить в качестве владельца свое имя пользователя.

sudo chown $USER. folder/

Надеюсь, что это поможет!

0
ответ дан 15 June 2017 в 07:46

Другие вопросы по тегам:

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