в создании файла отказано без запроса пароля

Я пытаюсь создать файл, используя cat > list, но каждый раз, когда он показывает мне «Отказано в доступе».

xyz@jaishreeram:/home$ sudo cat > list
bash: l: Permission denied
xyz@jaishreeram:/home$ sudo cat > list
bash: l: Permission denied
-2
задан 29 September 2013 в 21:09

4 ответа

Местоположение, в которое вы записываете необходимые права суперпользователя. Однако способ, которым вы пишете в файл, не предполагает этого. Для этого либо войдите в систему как root с помощью su, а затем напишите с помощью cat > list или выполните sudo vi list.

0
ответ дан 29 September 2013 в 21:09

попробуйте

sudo bash -c 'cat file1 >> file2'

или

cat file1 | sudo tee -a file2

прочитать здесь в ubuntuforums

0
ответ дан 29 September 2013 в 21:09

AFAIK, вы не можете создать файл, используя cat. Вместо этого вы должны использовать echo. Так что просто запустите это, чтобы создать файл с именем «list»:

echo> list

Если вам нужны привилегии root, сначала вы должны аутентифицироваться как root, используя
su -
теперь вы можете echo > list
теперь вы можете выйти из системы как root с помощью logout

Это потому, что перенаправление выполняется раньше sudo запускается, поэтому вы получаете «разрешение запрещено» без запроса пароля.


cat используется для объединения файлов и печати на стандартном выводе.
echo используется для отображения строки текста, используя «> имя_файла», вы перенаправляете эту строку текста в «имя_файла», и если «имя_файла» не существует, файл будет создан.

PS: Существует множество способов создания нового файла с использованием командной строки, но, на мой взгляд, это быстрее и легче запомнить.

0
ответ дан 29 September 2013 в 21:09

Причина проста: у вас нет прав на запись в каталог /home, поскольку он принадлежит root.

/home$ ls -la .
total 36
drwxr-xr-x.  6 root          root           4096 Apr 19 05:03 .
drwxr-xr-x. 22 root          root           4096 Sep 24 09:49 ..

Вы должны использовать ту же команду, но в «вашем домашнем» каталоге. Ваш домашний каталог - это каталог пользователя под /home:

/home$ ls -la .
total 36
drwxr-xr-x.  6 root          root           4096 Apr 19 05:03 .
drwxr-xr-x. 22 root          root           4096 Sep 24 09:49 ..
drwxr-xr-x. 70 braiam        braiam         4096 Sep 29 10:06 braiam

У вас есть несколько способов перейти в ваш домашний каталог:

  • Запустить cd без каких-либо параметров. [ 118]
  • Запустите cd ~ или cd $HOME
  • Откройте еще один новый терминал
  • Используйте cd /home/yourusername, чтобы перейти в личный каталог.
0
ответ дан 29 September 2013 в 21:09

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

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