Я пытаюсь создать файл, используя cat > list
, но каждый раз, когда он показывает мне «Отказано в доступе».
xyz@jaishreeram:/home$ sudo cat > list
bash: l: Permission denied
xyz@jaishreeram:/home$ sudo cat > list
bash: l: Permission denied
Местоположение, в которое вы записываете необходимые права суперпользователя. Однако способ, которым вы пишете в файл, не предполагает этого. Для этого либо войдите в систему как root с помощью su
, а затем напишите с помощью cat > list
или выполните sudo vi list
.
попробуйте
sudo bash -c 'cat file1 >> file2'
или
cat file1 | sudo tee -a file2
прочитать здесь в ubuntuforums
AFAIK, вы не можете создать файл, используя cat
. Вместо этого вы должны использовать echo
. Так что просто запустите это, чтобы создать файл с именем «list»:
echo> list
blockquote>Если вам нужны привилегии root, сначала вы должны аутентифицироваться как root, используя
su -
теперь вы можетеecho > list
теперь вы можете выйти из системы как root с помощьюlogout
Это потому, что перенаправление выполняется раньше sudo запускается, поэтому вы получаете «разрешение запрещено» без запроса пароля.
cat
используется для объединения файлов и печати на стандартном выводе.
echo
используется для отображения строки текста, используя «> имя_файла», вы перенаправляете эту строку текста в «имя_файла», и если «имя_файла» не существует, файл будет создан.PS: Существует множество способов создания нового файла с использованием командной строки, но, на мой взгляд, это быстрее и легче запомнить.
Причина проста: у вас нет прав на запись в каталог /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
, чтобы перейти в личный каталог.