Linux cannot stat no such file directory

tar завершает работу в «Cannot stat: нет такого файла каталога», почему?

Я пытаюсь создать файл tar.gz с помощью следующей команды:

Затем он начинает создавать файлы (много файлов в папке), но затем я получаю следующую ошибку:

Я не вижу описания этой ошибки, что это значит?

Удалить — из vcfz вариантов. tar не нужен дефис для опций.

Аргументом для -f опции является дефис z . Таким образом, команда пытается выполнить архивирование dvr_rdk_v1.tar.gz и вызывается в dvr_rdk архиве z . Без дефиса семантика параметров изменяется, так что следующий аргумент в командной строке, то есть имя файла вашего архива, становится аргументом для f флага.

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

-f Параметр должен непосредственно предшествовать имя файла. Итак, используйте tar -vczf filename.tar.gz вместо -vcfz

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

Страница стандартов для tar говорит:

f
Используйте первый файловый операнд (или второй, если b уже указан) в качестве имени архива вместо системно-зависимого значения по умолчанию

Хотя правила синтаксиса включают это:

Рекомендация 5.
Один или несколько параметров без аргументов-параметров, за которыми следует не более одного параметра, который принимает аргумент-параметр, должны приниматься при группировании за одним разделителем ‘-‘.

Источник

Читайте также:  Как google chrome сделать браузером по умолчанию для windows 10

[Linux] adb: error: cannot stat ‘/usr/local/bin/scrcpy-server.jar’: No such file or directory #660

Comments

leinardi commented Jul 22, 2019 •

I built and installed scrcpy (git tag v1.9) on Fedora 30 following the instructions from the readme but, when I tried to start it, I got this error:

Looks like that ninja is installing scrcpy-server.jar in /usr/local/share/scrcpy/scrcpy-server.jar but scrcpy is looking for it in /usr/local/bin/scrcpy-server.jar .

Symlinking it didn’t work:

A workaround is to provide a copy of the sever on that path:

The text was updated successfully, but these errors were encountered:

rom1v commented Jul 22, 2019

You need few commits after v1.9. Just git pull .

leinardi commented Jul 22, 2019

Yep, can confirm that current master is working 👍

amanjaymariner commented Nov 9, 2019

scrcpy
INFO: scrcpy 1.10 https://github.com/Genymobile/scrcpy
adb: error: cannot stat ‘/usr/local/share/scrcpy/scrcpy-server.jar’: No such file or directory
ERROR: «adb push» returned with value 1
os — deepin linux distro

rom1v commented Nov 9, 2019

How did you install it?

It seems the file is not there:

amanjaymariner commented Nov 9, 2019

i installed it using sudo snap install scrcpy
then core 18 error was coming so i installed core by sudo snap install core
then again downloaded scrcpy it got installed
now when i am running scrcpy
INFO: scrcpy 1.10 https://github.com/Genymobile/scrcpy
adb: error: cannot stat ‘/usr/local/share/scrcpy/scrcpy-server.jar’: No such file or directory
ERROR: «adb push» returned with value 1
this error is coming

amanjaymariner commented Nov 9, 2019

daemon not running; starting now at tcp:5037
ADB server didn’t ACK
Full server startup log: /tmp/adb.1000.log
Server had pid: 6705
— adb starting (pid 6705) —
adb I 11-10 02:59:49 6705 6705 main.cpp:57] Android Debug Bridge version 1.0.39
adb I 11-10 02:59:49 6705 6705 main.cpp:57] Version 1:8.1.0+r23-5

18.04
adb I 11-10 02:59:49 6705 6705 main.cpp:57] Installed as /snap/scrcpy/174/usr/lib/android-sdk/platform-tools/adb
adb I 11-10 02:59:49 6705 6705 main.cpp:57]
error: could not install smartsocket listener: Permission denied

Читайте также:  Operating systems compatible with windows

failed to start daemon
adb: error: failed to get feature set: cannot connect to daemon
ERROR: «adb push»

Источник

Почему я продолжаю получать «cp: cannot stat »: No such file or directory» или «cp: missing opereand» в моем сценарии bash

Я пишу сценарий для установки debian, и эта ошибка меня расстраивает:

cp: cannot stat »: нет такого файла или каталога

cp: отсутствует операнд

Эти файлы находятся в текущем каталоге, в котором находится сценарий .

В чем, по-видимому, заключается проблема, и каковы лучшие методы и решения?

2 ответа

Вот ответ на эту проблему, данный в комментарии сэра @steeldriver на родственном сайте .

Принимая во внимание ваш предыдущий вопрос, sudo -u user bash работает, но $HOME не меняется соответствующим образом. Я предполагаю, что вы хотите, чтобы $HOME расширился до домашнего каталога $USER1’s — для этого , вам, вероятно, потребуется вызвать оболочку входа, добавив -i или —login в свой sudo вызов

Итак, теперь это выглядит так .

Но возникает новая проблема:

Причина этой ошибки заключается в том, что оболочка входа в систему имеет каталог /home/user1 в качестве текущего каталога, а не каталог, в котором выполняется сценарий, в котором скрывается этот файл .bashrc .

Я решил это, жестко закодировав каталог, где это необходимо, но если у кого-то есть способ использовать переменную, которая будет очень полезна, спасибо

Я решил последний кусок головоломки следующим образом:

Делаем мою переменную CURRENTDIR глобальной для всех команд входа в bash .

В Amazon Linux / etc / profile говорится:

Имея это в виду, я создал bash_profile.sh в /etc/profile.d/ .

Не забывайте, что, вероятно, потребуется выйти / войти, чтобы принять изменения.

Вы запускаете другой bash через sudo. BASHRC — это локальная переменная, которая не видна дочерним процессам.

Читайте также:  Windows taskbar icons size

Другая проблема возникнет из-за sudo: если / etc / sudoers содержит параметр Defaults env_reset , то sudo отбросит почти все переменные env (кроме PATH).

Источник

ru_linux

Русскоязычное Linux-сообщество

Есть две Убунты 16.04.2

На одной вот так:

А на другой та же команда не катит:

Ессесно, директория там есть, и ключи в ней лежат.
Почему так?

текущая директория одинаковая /home/user, даже юзернеймы и uid одинаковые

а вот в кавычках ошибку выдают оба одинаково

тогда вопрос, почему на одном хосте работает без кавычек? и как заставить работать второй хост

Дело, с очевидностью, не в stat()-е, а в шелле. Посмотрите, совпадают ли на обоих хостах:

1. собственно user shell-ы
2. настройки глоббинга (для bash-а shopt -p | grep glob)

Очевидно же, что в одном случае в текущей директории есть ssh_host_dsa_key.pub, ssh_host_ecdsa_key.pub и ssh_host_rsa_key.pub, а в другом — нет. Поэтому в одном случае шелл раскрывает *, а в другом передает ее tar’у, который воспринимает ее как имя файла.

Tar не делает glob-подстановки при создании архива, кроме как в опции —exclude (и еще паре других, менее часто используемых). При извлечении есть —wildcards (расширение GNU), но оно применяется исключительно к файлам, которые содержатся в архиве.

В целом, использование -C для создания архива — так себе идея. Все, что эта опция делает — это вызывает на старте tar chdir(2). Вызов cd в сабшелле даст абсолютно тот же эффект, но даст возможность пользоваться подстановками, например:
( cd /etc/ssh/ && tar cvf /dev/null *.pub )
скобки как раз создают сабшелл в баше (функционально аналогично bash -c «cd /etc/ssh/ && tar cvf /dev/null *.pub»)
—strip-components выше уже советовали.

Справедливости ради, скажем, в FreeBSD tar поддерживает опцию —include, которая как раз делает (примерно) то, что нужно. Но в GNU tar этой опции, насколько я знаю, нет.

Источник

Оцените статью