Я хочу понять, как работает блокировка в Linux.

Ответ

Вы не можете повторно использовать вывод команды, которая не была захвачена явным образом (каналы и т. д. ), если только вы -не выполните команду и не захватите вывод самостоятельно.

Bash не сохраняет вывод команды ни в каких переменных, в отличие от того, как он хранит коды выхода команд и историю команд. Ваш терминал имеет вывод, и bash также не беспокоится о сохранении копии для себя.

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

Опции

Если на самом деле возникает вопрос: «Как я могу легко получить вывод, который я вижу в строке выше в терминале, и вставить его в командную строку как команду без большого количества ввода?» вы можете решить это несколькими способами.

  1. Используйте сочетания клавиш readline, чтобы упростить редактирование команды.

Например, ваш ответ на прекрасное предложение @choroba в другом месте заключается в том, что редактирование последней команды требует слишком большого объема ввода. Горячие клавиши строки чтения CTRL -a и CTRL -e позволяют редактировать последнюю команду (, достигнутую с помощью CTRL -p вместо ВВЕРХ waaaay вправо )гораздо быстрее.

  1. Используйте терминальный мультиплексор, например screenили tmux. Я предпочитаю tumx. Копирование и вставка довольно безболезненны с помощью простого CTRL -aCTRL -[ для перехода в режим копирования и еще нескольких клавиш VI, и вы только что скопировали нужную строку прямо в следующая подсказка (с настройкой tmuxс CTRL -ведущей клавишей .

Надеюсь, это предлагает некоторые другие точки зрения.

0
22.04.2019, 20:09
1 ответ

Проблема в вашем примере не в блокировке, а в ошибке разрешения. aptпытается прочитать/записать файл (/var/lib/apt/lists/lock), для которого у него нет разрешения на чтение/запись.

Посмотрите на chown, владение файлом и что такое пользователь (в системе Unix ).


Между прочим, этот файл используется для блокировки (для предотвращения одновременного доступа двух aptк базе данных apt ).

1
28.01.2020, 02:40

Теги

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