Как копировать из CLI без GUI или мыши

Рассмотрите возможность использования updatedb, а затем найдите . Он работает очень быстро, так как locate запрашивает базу данных, и это намного быстрее, чем запрашивать каждый файл по отдельности. updatedb также работает быстро, поскольку он только обновляет базу данных с изменениями, а не создает ее заново. Единственным недостатком является то, что вам могут потребоваться привилегии root для запуска updatedb по умолчанию, если только вы не создадите и не сохраните свою собственную базу данных в пользовательском пространстве.

Имейте в виду, что в ваших именах файлов могут быть символы новой строки, так что вам нужно быть более осторожным при обработке вывода locate. Лучше всего использовать нулевой байт в качестве разделителя имени файла.

Подводя итог:

updatedb && locate -0 "$(pwd)" | awk -v RS='\0' -F"/" '{print NF-1}' | сортировать -n | tail -n1

Спасибо @sai sasanka за отличный awk-скрипт.

0
27.06.2017, 14:22
2 ответа

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

script temp_file.txt

, а затем

sudo enter-chroot

и т. Д. При выходе из chroot вы снова должны выйти, чтобы выйти из скрипта , и вы найдете нужный текст (вместе со всем остальным, что вы сделали) в temp_file.txt .

Другая возможность - запустить сеанс в screen ; который позволяет сохранять текущее "окно" (на языке screen ) в файл ( Ctrl + a , за которым следует h по умолчанию ; это выгружает содержимое экрана в файл с именем hardcopy.n , где n - счетчик) и копирует и вставляет между окнами ( Ctrl + a , за которым следует Esc по умолчанию перейдет в режим прокрутки / копирования; подробности см. в документации).

5
28.01.2020, 02:19

Возьмите за привычку работать в Screen (или tmux , который имеет примерно такой же набор функций). Экран предоставляет терминал в терминал с несколькими преимуществами; наиболее часто полезным является то, что вы можете отсоединить и повторно подключить к терминалу Screen, но вам нужно, чтобы Screen поддерживал настраиваемое количество истории прокрутки, и вы можете копировать текст из него.

Чтобы выбрать часть отображаемого текста или истории прокрутки и скопировать ее, нажмите Ctrl + A Esc . Теперь вы находитесь в режиме копирования / прокрутки . Нажмите клавиши со стрелками для перемещения, Пробел , чтобы начать выбор, переместите еще немного и снова нажмите и Пробел , чтобы скопировать. Чтобы вставить текст в окно экрана, нажмите Ctrl + A ] . Чтобы вставить в файл, нажмите Ctrl + A > .

1
28.01.2020, 02:19

Теги

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