Вы должны указать конкретный каталог, в который вы хотите их переместить, и какие файлы вы хотите переместить.
Вы бы сделали что-то вроде
mv *.mp3./Music/
Использование подстановочного знака *переместит все файлы с окончанием.mp3 из текущей папки в папку с именем Музыка, расположенную в текущем каталоге. Но вы, вероятно, хотите что-то еще в этом роде
mv *.mp3 ~/Music/
~обозначает вашу домашнюю папку, где, скорее всего, находится папка «Музыка».
Поскольку он у вас есть, вы говорите ему переместить файл с именем.mp3 в папку с именем Музыка в корневом каталоге /
В ваших намерениях и целях то, что вы пытаетесь сделать, невозможно с текущими разрешениями и владельцем. Это можно сделать с помощью привязки, но тогда символическая ссылка не будет работать.
Как вы уже знаете, a
не может пройти никто, кроме владельца (и root ), что означает, что b
и c
также не могут быть доступны никому другому, поэтому не имеет значения, что они уже могут быть прочитаны и пройдены всеми.
Единственное, что вы можете сделать, это либо изменить права доступа для a
на 755
, либо, если вы не хотите давать доступ всем, создайте группу и добавьте только тех, кого вы хотите иметь доступ, установите его как группу для a
, а затем измените разрешения для a
на 750
.
Да, возможно :вам необходимо создать жесткую ссылку на a/b/c/some_files
. И тогда вы можете удалить абсолютно все разрешения "o
" из промежуточных каталогов!
Кстати, безопаснее всего указывать абсолютные пути при создании ссылок.
# whoami
root
# mkdir -p /a/b/c
# touch /a/b/c/d
# chmod o= /a/
# chmod o= /a/b/
# chmod o= /a/b/c/
# ls -ld /a/
drwxr-x--- 3 root root 15 Dec 23 20:45 /a/
# ls -ld /a/b/
drwxr-x--- 3 root root 15 Dec 23 20:45 /a/b/
# ls -ld /a/b/c/
drwxr-x--- 2 root root 15 Dec 23 20:45 /a/b/c/
# ls -l /a/b/c/d
-rw-rw-rw- 1 root root 0 Dec 23 20:46 /a/b/c/d
# ln -s /a/b/c/d /softlink-to-d
# ls -l /softlink-to-d
lrwxrwxrwx 1 root root 8 Dec 23 20:47 /softlink-to-d -> /a/b/c/d
# ln /a/b/c/d /hardlink-to-d
# ls -l /hardlink-to-d
-rw-rw-rw- 2 root root 0 Dec 23 21:09 /hardlink-to-d
# su - postgres -c 'touch /a/b/c/d'
touch: cannot touch ‘/a/b/c/d’: Permission denied
# su - postgres -c 'touch /softlink-to-d'
touch: cannot touch ‘/softlink-to-d’: Permission denied
# ls -l /a/b/c/d
-rw-rw-rw- 2 root root 0 Dec 23 20:46 /a/b/c/d
### Note, mtime still unchanged...
# su - postgres -c 'touch /hardlink-to-d'
# ls -l /a/b/c/d
-rw-rw-rw- 2 root root 0 Dec 23 21:13 /a/b/c/d
###...finally, mtime changed.