Терминал

О том о сем
Аватара пользователя
Bill Williamson
Сообщения: 433
Зарегистрирован: 31 авг 2016, 10:38
Решено: 16
Благодарил (а): 161 раз
Поблагодарили: 85 раз

Терминал

Сообщение Bill Williamson » 05 окт 2016, 18:23

Давно хотелось тему с таким громким названием для небольших вопросов по сабжу.
Итак, мой первый вопрос: недавно именно в Linux случайным образом познакомился с консольной утилитой Image Magick - мне, как человеку связанному с полиграфией, данная программа оказалась просто находкой. Особенно интересна возможность объединения множества растровых изображений в один файл PDF. Так вот, предположим в каталоге находятся файлы 01.tif, 02.tif, 03.tif... По команде ls можно увидеть содержимое раскиданным по столбцам, но как сделать вид просмотра по порядку 01.tif 02.tif 03.tif..., чтоб можно было копипастой вставить в код:

Код: Выделить всё

convert 01.tif 02.tif 03.tif output.pdf

Можно ли как-то управлять видом команды ls? Ну там: в одну строчку, в обратном порядке, по алфавиту, сначала цифры или наоборот и т.д. и т.п.
Изображение

В сети
Аватара пользователя
Chocobo
Сообщения: 4556
Зарегистрирован: 27 авг 2016, 19:57
Решено: 107
Откуда: НН
Благодарил (а): 372 раза
Поблагодарили: 1221 раз

Re: Терминал

Сообщение Chocobo » 05 окт 2016, 18:28

Bill Williamson, по этой задаче можно попробовать вот так - срезать перенос строки:

Код: Выделить всё

ls | tr "\n" " "


пример (по содержимому /etc/):
► Показать
Изображение

Аватара пользователя
val
Сообщения: 32
Зарегистрирован: 02 сен 2016, 22:17
Решено: 2
Поблагодарили: 7 раз

Re: Терминал

Сообщение val » 05 окт 2016, 18:33

Bill Williamson писал(а):Источник цитаты Можно ли как-то управлять видом команды ls?

прочтите ls --help
В чем Сила Брат?!А Сила,она во Сне! :smoke:

Аватара пользователя
zuzabrik
Сообщения: 759
Зарегистрирован: 29 авг 2016, 09:08
Решено: 15
Благодарил (а): 48 раз
Поблагодарили: 218 раз

Re: Терминал

Сообщение zuzabrik » 05 окт 2016, 18:39

Практически на любую команду есть man страница. Чтобы посмотреть руководство достаточно набрать в консоли man команда. В данном случае это будет man ls. Выход из режима man - кнопка "Q". :)

P.S. Иногда нужного результата можно добиться перенаправляя вывод одной команды в другую. Поищите в гугле что такое пайп (pipe) и конвейер в линукс. Например отсортировать вывод строк команды ls в обратном порядке можно попробовать так:

ls -Al | sort -r -

где ls - вывод файлов и папок, -A - включая скрытые, -l - по одному на строку, | - перенаправить вывод дальше в команду, sort - команда сортировки, -r - отсортировать в обратном порядке, - - взять данные не из файла, а из вывода в консоль.

P.P.S. Аналогично используя команды перенаправления потоков можно сразу скармливать программе вывод команды ls без всякой копипасты, используя > и < потоки :)
Последний раз редактировалось zuzabrik 05 окт 2016, 18:57, всего редактировалось 1 раз.
Имею желание иметь всех желающих, но не имею желающих.

Аватара пользователя
symon2014
Сообщения: 1509
Зарегистрирован: 29 авг 2016, 02:17
Решено: 18
Откуда: Феодосия
Благодарил (а): 46 раз
Поблагодарили: 398 раз

Re: Терминал

Сообщение symon2014 » 05 окт 2016, 18:56

:sry:
Debian (8.8) , LMDE2 , LM 18.2 Mate .

Аватара пользователя
Bill Williamson
Сообщения: 433
Зарегистрирован: 31 авг 2016, 10:38
Решено: 16
Благодарил (а): 161 раз
Поблагодарили: 85 раз

Re: Терминал

Сообщение Bill Williamson » 13 окт 2016, 15:56

Добрый вечер! Спасибо за ответы на предыдущий вопрос. Теперь возник следующий. Есть у меня программа, которая без cd диска не запускается. Я сделал с этого диска iso образ и могу монтировать вбив в терминале команду:

Код: Выделить всё

mount -t auto -o loop '/home/teacher/Образы/UCH_961.iso' '/home/teacher/Образы/UCH_961_iso'

Эта команда работает только через root. Я сделал .sh из него, поставил галку, чтоб она была исполняемой. Но при запуске скрипт не спрашивает пароль. Добавление sudo su в скрипт не монтирует образ. Как правильно сделать, что пароль спрашивался обычным окном? И можно ли команду mount выполнять без root (ведь флешки и др. устройства как-то монтируются без пароля)? Спасибо.
Изображение

Аватара пользователя
zuzabrik
Сообщения: 759
Зарегистрирован: 29 авг 2016, 09:08
Решено: 15
Благодарил (а): 48 раз
Поблагодарили: 218 раз

Re: Терминал

Сообщение zuzabrik » 13 окт 2016, 16:19

ммм... я думал правильно будет

Код: Выделить всё

sudo mount -o loop -t iso9660 /home/user/disk.iso /mnt/mount_point


а самый простой способ не спрашивать пароль - настроить судо так, чтобы от имени вашего пользователя команды mount и umount работали без пароля
Имею желание иметь всех желающих, но не имею желающих.

Аватара пользователя
Bill Williamson
Сообщения: 433
Зарегистрирован: 31 авг 2016, 10:38
Решено: 16
Благодарил (а): 161 раз
Поблагодарили: 85 раз

Re: Терминал

Сообщение Bill Williamson » 31 окт 2016, 18:04

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

Код: Выделить всё

apt policy название_программы

Так вот, пример:
~ $ apt policy wine
wine:
Установлен: (отсутствует)
Кандидат: 1:1.6.2-0ubuntu14
Таблица версий:
1:1.6.2-0ubuntu14 500
500 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages

По этой информации не совсем понятно, что программа wine из репозитория deb http://ppa.launchpad.net/wine/wine-builds/ubuntu xenial main
Изображение

Аватара пользователя
adargeos
Сообщения: 180
Зарегистрирован: 09 окт 2016, 11:40
Решено: 7
Откуда: Москва
Благодарил (а): 21 раз
Поблагодарили: 45 раз

Re: Терминал

Сообщение adargeos » 31 окт 2016, 18:37

Bill Williamson, у Вас просто не подключен репозиторий самого Wine. А версия 1.6 уже давно валяется в репозитории Ubuntu. Если подключите репозиторий Wine, то Вам apt policy покажет еще версию 1.9
if you do this - you know what you are doing

Аватара пользователя
Bill Williamson
Сообщения: 433
Зарегистрирован: 31 авг 2016, 10:38
Решено: 16
Благодарил (а): 161 раз
Поблагодарили: 85 раз

Re: Терминал

Сообщение Bill Williamson » 31 окт 2016, 19:05

adargeos, вроде как подключен:
Снимок экрана от 2016-10-31 22-01-57.png

Код: Выделить всё

~ $ wine --version
wine-1.9.21
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Изображение

Аватара пользователя
adargeos
Сообщения: 180
Зарегистрирован: 09 окт 2016, 11:40
Решено: 7
Откуда: Москва
Благодарил (а): 21 раз
Поблагодарили: 45 раз

Re: Терминал

Сообщение adargeos » 31 окт 2016, 19:19

Bill Williamson, странно, у меня показывает так:

Код: Выделить всё

$ apt policy wine
wine:
  Установлен: 1:1.9.21-gallium-nine~x
  Кандидат:   1:1.9.21-gallium-nine~x
  Таблица версий:
     1:1.9.21-gallium-nine~x 500
        500 http://ppa.launchpad.net/commendsarnex/winedri3/ubuntu xenial/main amd64 Packages
     1:1.6.2-0ubuntu14 500
        500 http://mirror.yandex.ru/ubuntu xenial/universe amd64 Packages
if you do this - you know what you are doing

В сети
Аватара пользователя
Chocobo
Сообщения: 4556
Зарегистрирован: 27 авг 2016, 19:57
Решено: 107
Откуда: НН
Благодарил (а): 372 раза
Поблагодарили: 1221 раз

Re: Терминал

Сообщение Chocobo » 01 ноя 2016, 04:05

Bill Williamson, причина в нейминге пакетов.
На wine-builds можно найти devel, staging, compat суффиксы => http://ppa.launchpad.net/wine/wine-buil ... ol/main/w/
Изображение

Аватара пользователя
Bill Williamson
Сообщения: 433
Зарегистрирован: 31 авг 2016, 10:38
Решено: 16
Благодарил (а): 161 раз
Поблагодарили: 85 раз

Re: Терминал

Сообщение Bill Williamson » 01 ноя 2016, 07:12

А вообще способа узнать из какого репозитория тот или иной пакет (или был он установлен из deb пакета), не будущий подключенным к тому репозиторию, нет?
Изображение

Аватара пользователя
Bill Williamson
Сообщения: 433
Зарегистрирован: 31 авг 2016, 10:38
Решено: 16
Благодарил (а): 161 раз
Поблагодарили: 85 раз

Re: Терминал

Сообщение Bill Williamson » 01 ноя 2016, 08:01

Возникло еще несколько вопросов по терминалу:
    1) Предыстория:
    ► Показать

    Как подобное организовать через терминал? Пусть с получением списка файлов в директории и чисто в терминале, хотя в идеале кнопку в контекстном меню или пункт в других параметрах окна "Создать архив".
    2) Обычно, когда я обновляю ядро, если что-то пошло не так, то в меню grub выбираю старое ядро, а новое после загрузки удаляю. Как быть если linux установлен единственной системой на ПК с меткой раздела GPT и меню grub при загрузке не появляется?
Изображение

Аватара пользователя
symon2014
Сообщения: 1509
Зарегистрирован: 29 авг 2016, 02:17
Решено: 18
Откуда: Феодосия
Благодарил (а): 46 раз
Поблагодарили: 398 раз

Re: Терминал

Сообщение symon2014 » 01 ноя 2016, 08:10

Попробуй при загрузке зажать левый Shift.
:sry:
Debian (8.8) , LMDE2 , LM 18.2 Mate .

Аватара пользователя
Bill Williamson
Сообщения: 433
Зарегистрирован: 31 авг 2016, 10:38
Решено: 16
Благодарил (а): 161 раз
Поблагодарили: 85 раз

Re: Терминал

Сообщение Bill Williamson » 01 ноя 2016, 08:44

PeaZip умеет каждый файл в отдельный архив.
PeaZip.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Изображение

Аватара пользователя
zuzabrik
Сообщения: 759
Зарегистрирован: 29 авг 2016, 09:08
Решено: 15
Благодарил (а): 48 раз
Поблагодарили: 218 раз

Re: Терминал

Сообщение zuzabrik » 01 ноя 2016, 10:09

1) man find, man 7zr
2) уже ответили

пример скрипта

find ~/tmp/test/ -name "*.txt" -exec 7zr a -t7z '{}'.7z '{}' \;

find - ищет файлы
~/tmp/test/ - путь где искать
-name - шаблон имени файла (тут все .txt файлы)
-exec - выполнить команду
7zr - консольный 7zip
a - добавить в архив
-t7z - тип архива 7z
'{}'.7z - подставить сюда вывод команды find и добавить .7z (получится имя архива)
'{}' - подставить сюда вывод команды find (будет имя файла для упаковки)
\; - нечто из черной магии, чтобы команда exec корректно сработала в консоли :)
Имею желание иметь всех желающих, но не имею желающих.

Аватара пользователя
Bill Williamson
Сообщения: 433
Зарегистрирован: 31 авг 2016, 10:38
Решено: 16
Благодарил (а): 161 раз
Поблагодарили: 85 раз

Re: Терминал

Сообщение Bill Williamson » 01 ноя 2016, 10:47

zuzabrik писал(а):Источник цитаты find ~/tmp/test/ -name "*.txt" -exec 7zr a -t7z '{}'.7z '{}' \;

Большое спасибо! Привычное окно 7-Zip и намного быстрее, и самое главное стабильнее PeaZip.
Изображение

Аватара пользователя
Bill Williamson
Сообщения: 433
Зарегистрирован: 31 авг 2016, 10:38
Решено: 16
Благодарил (а): 161 раз
Поблагодарили: 85 раз

Re: Терминал

Сообщение Bill Williamson » 02 ноя 2016, 16:52

symon2014 писал(а):Источник цитаты Попробуй при загрузке зажать левый Shift.

А как действовать в обратном направлений: например, "скушали" мы Windows и не хотим больше видеть меню grub? Как правильно его скрыть?
Изображение

Аватара пользователя
hellonet
Сообщения: 220
Зарегистрирован: 11 окт 2016, 09:58
Решено: 2
Откуда: Новосибирск
Благодарил (а): 86 раз
Поблагодарили: 23 раза

Re: Терминал

Сообщение hellonet » 02 ноя 2016, 16:56

Bill Williamson писал(а):Источник цитаты А как действовать в обратном направлений: например, "скушали" мы Windows и не хотим больше видеть меню grub? Как правильно его скрыть?

Сделать, чтоб его было видно 1 секунду и тогда оно не успевает отрисоваться.


Вернуться в «Болталка: Оффтоп, разбор полетов»

Кто сейчас на конференции

Сейчас этот форум просматривают: Linkdex [Bot] и 1 гость