Chmod невозможно получить доступ к

Chmod невозможно получить доступ к

1 Tony [2014-04-03 03:10:00]

У меня есть две строки в моем файле aaa.sh :

Когда я запускаю его на AWS EC2 Linux:

Я получил это сообщение:

2 ответа

2 Решение Andrew Medico [2014-04-03 08:14:00]

У вас есть окончание строк Windows в вашем файле ( r
). Он должен иметь окончание строк в стиле Unix (только
).

Вы можете выполнить преобразование с помощью общей утилиты dos2unix или команды set ff=unix в vim.

0 Jimko [2014-04-03 07:39:00]

chmod не должен заботиться о содержимом ваших файлов. Уверен, у вас есть файл с контрольным символом в самом имени файла. Может отображаться как знак вопроса, но ls -b *.html должен показать вам виновника. Вы уверены, что хотите исполняемые html файлы?

Я использую ubuntu 14.04 LTS , я хочу установить xampp, но столкнувшись с

1 ответ

Вероятно, вы пытаетесь запустить chmod в неправильном каталоге (каталог, в котором ваш файл xampp-linux-x64-5.6.12-0-installer.run недоступен).

Перейдите в нужную папку, используя cd (см. здесь для получения дополнительной информации о команде cd ):

Затем запустите команду еще раз.

Я предполагаю, что вы пытаетесь XAMPP, так что вот полная процедура установки, если вы все еще не можете выполнить свою команду:

Навигатор

Сейчас на сайте

Archives

Последние записи в блогах

Права на вложенные файлы и папки

Подскажите как задать одинаковые права на все вложенные файлы и папки

  • 20423 просмотра

Права на вложенные файлы и папки

Во-первых, не папки, а директории!
Во-вторых, chmod -R mode path

Права на вложенные файлы и папки

встречный вопрос.
если в какой-либо папке нужно рекурсивно задать права для файлов и каталогов, например для файлов 0644 а для папок 0755.
как это лучше сделать?

Читайте также:  Dlc для borderlands 2

Права на вложенные файлы и папки

find $target_dir -type [f или d] | xargs chmod $mode

Права на вложенные файлы и папки

да уж. не очень то и тривиальное решение =(( без знаний программирования не обойтись =((

Права на вложенные файлы и папки

Что здесь нетривиального? Чтобы провести какую-то операцию над множеством объектов, это множество надо как-то задать. Не очевидно? Для этого find или ls -R. Далее надо для каждого элемента выполнить команду. Все просто и логично.
Можно еще тривиальней — через вашу любимую графическую среду.

Права на вложенные файлы и папки

>без знаний программирования не обойтись
Без знаний Вам не обойтись нигде, либо Вы слишком долго будете познавать мир методом научного тыка и в конечном итоге останетесь. скажем так, на обочине прогресса.
Да и что, собственно Вы видите сложного в этом?:
find КАТАЛОГ_ВЕРХНЕГО_УРОВНЯ -type f | xargs chmod МАСКА_ДОСТУПА — поменять права на файлы
find КАТАЛОГ_ВЕРХНЕГО_УРОВНЯ -type d | xargs chmod МАСКА_ДОСТУПА — поменять права на каталоги

find, xargs, chmod — обычные общеупотребительные команды, с которыми пользователь UNIX-подобных систем рано или поздно всё равно должен будет "познакомиться" (например, для начала можете почитать man xargs)

Права на вложенные файлы и папки

Спасибо за пример. Работает но только когда в мени файладиректории нету пробелов.

на самом деле папка выглядит следующим образом /var/ftp/pub/Games/Cossacks — Back To War/Video
как пофиксить это? =)
П.С. К сожалению варианты неиспользования пробела отпадают.

Права на вложенные файлы и папки

find КАТАЛОГ_ВЕРХНЕГО_УРОВНЯ -type f | xargs -n 1 -I <> chmod МАСКА_ДОСТУПА "<>"
find КАТАЛОГ_ВЕРХНЕГО_УРОВНЯ -type f | xargs -n 1 -I <> chmod МАСКА_ДОСТУПА "<>"
Или даже через цикл. Надёжнее будет:
IFS="" for i in `find КАТАЛОГ_ВЕРХНЕГО_УРОВНЯ -type f`;do chmod МАСКА_ДОСТУПА "$i";done

Читайте также:  Android studio первый проект

Re: Права на вложенные файлы и папки

find КАТАЛОГ -type d -exec chmod ПРАВА ‘<>’ ;
find КАТАЛОГ -type f -exec chmod ПРАВА ‘<>’ ;

find КАТАЛОГ -type d -exec chmod ПРАВА_КАТАЛОГА ‘<>’ ; -o -type f -exec chmod ПРАВА_ФАЙЛА ‘<>’ ;

Re: Права на вложенные файлы и папки

В результате получил такое вот.

Что это может быть?

Re: Права на вложенные файлы и папки

IFS="" for i in `find КАТАЛОГ_ВЕРХНЕГО_УРОВНЯ -type f`;do chmod МАСКА_ДОСТУПА "$i";done

Re: Права на вложенные файлы и папки

Всем огромное спасибо за участие =)

Re: Права на вложенные файлы и папки

find "$ftp_dir" -type f | xargs -n 1 -I <> chmod 0666 "<>"
echo "CHMOD directories. ";
find "$ftp_dir" -type d | xargs -n 1 -I <> chmod 0777 "<>"
echo "Done.";

Желательно обрабатывать каталоги перед файлами, а то find может не получить доступ к
файлу, лежащему в каталоге, на который еще нет прав.

В результате получил такое вот.
Код:

Set permissions for /var/ftp/pub.
CHOWN files.
CHMOD files
xargs: unmatched одинарная quote; by default quotes are special to xargs unless you use the -0 option
CHMOD directories.
Done.

В имени файла попался спецсимвол (возможно символ конца строки).
Для этих случаев у find есть опция "-print0" — разделять имена файлов символом ‘’,
а для xargs "-0" — принимать имена файлов, разделенных ‘’

Re: Права на вложенные файлы и папки

find "$ftp_dir" -type f | xargs -n 1 -I <> chmod 0666 "<>"

Ну а зачем?
find "$ftp_dir" -type f | xargs -n 1 -I <> chmod 0666 <>

Re: Права на вложенные файлы и папки

Часть цитаты. 😕 В чем вопрос?

Права на вложенные файлы и папки

Кавычки вокруг <> не нужны.

Читайте также:  After effects плавное движение

Права на вложенные файлы и папки

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

П.С. я понимаю что это на скорость может не сыграть, просто хотелось бы приучить себя сразу делать как надо =)

Права на вложенные файлы и папки

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

хотелось бы приучить себя сразу делать как надо =)

И правильно!

Ссылка на основную публикацию
Adblock detector