Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Расшифровать результат команды od

Всем привет.у меня стоит задача: есть файл file в нём какой-то текст. выполнили команду cat file | od -An -to4 её результат: 14730266146 06115661137 07116231065 06214462146 14230630546 00016030542 . нужно узнать что было изначально в file.
Ответ: что было изначально в файле неизвестно(файла нет есть только результат команды)
Вопрос: Получение результата от FTP комманды

Всем привет. Появилась задачка получать по FTP строку и обрабатывать ее в bash.
Сервер обучен команде time, которая возвращает строку формата dd.mm.yyyy hh:nn:ss

Нужен скрипт похожий на такое:
Bash
1
2
3
4
5
6
ftp 127.0.0.1 21
$Переменка=quote TIME
close
 
Работаем с $Переменка
...
Как правильно в Линуксе (Suse 10, если принципиально) читать результат команды?
Ответ:
Сообщение от nezabudka
озвучте найденное решение
Легко: plink.exe из Putty. С той лишь разницей, что информация будет запрошена не с Линукса, а наоборот передана на Линукс.
Предварительное решение конкретно под частный случай для линукса. В дальнейшем продумываю написать нативочку на Лазарусе. Или вообще в течении года заменить те дурацкие ПО, что в задаче участвуют на более новые и удобные.

P.S. Есть и еще одно решение именно баш скриптом, но я не буду его озвучивать.
Вопрос: команда Make в debian7 ругается.

добрый день! озадачился поддержкой OpenGL приложений в debian. с этой целью был скурен мануал, скачан пакет wine-1.6.2 и найден подходящий бубен. начинаю танцевать -

root@odin:/home/zloi/wine-1.6.2# nano tools/wineinstall
#здесь меняем строку CONFARGS= "" на CONFARGS="--with-opengl --disable-debug --disable-trace"
root@odin:/home/zloi/wine-1.6.2# sudo apt-get install auto-apt checkinstall sudo auto-apt -y run ./configure
# тут тоже вроде б все норм проходит,
# теперь собираем
root@odin:/home/zloi/wine-1.6.2# make
make: *** Не заданы цели и не найден make-файл. Останов.

результат команды ls -l /usr/bin/*make

-rwxr-xr-x 1 root root 41376 ноя 25 2012 /usr/bin/ccxxmake
-rwxr-xr-x 1 root root 160396 апр 15 2012 /usr/bin/make
-rwxr-xr-x 1 root root 4872 апр 18 2012 /usr/bin/pbmmake
-rwxr-xr-x 1 root root 4288 апр 18 2012 /usr/bin/ppmmake

root@odin:/home/zloi/wine-1.6.2# ls Makefile*
Makefile.in
но это ж просто шаблон....

вот общий ls
root@odin:/home/zloi/wine-1.6.2# ls
aclocal.m4 configure.ac include Makefile.in programs
ANNOUNCE COPYING.LIB libs Make.rules.in README
AUTHORS dlls LICENSE Maketest.rules.in server
config.log documentation LICENSE.OLD Make.vars.in tools
configure fonts loader po VERSION

куда дальше?
Ответ:
Ivan_Pisarevsky
Партизанишь. :) Поезда уже не надо под откос пускать.


было б что в тех поездах... давно б уже пускал. а так - жену мне надо, 28 лет, а я до часу ночи на работе пытаюсь в дебиане настроить wine для того, чтоб в сталкера можно было играть, не переключаясь на винду. такими темпами и до Gentoo недалеко.
Вопрос: Передача вывода команды через конвейер

Здравствуйте!

Помогите, пожалуйста, понять принцип передачи вывода\результата выполнения команды по конвейеру в bash. Вот, например:
Bash
1
2
3
[alexey@Satellite ~]$ echo '123' | tee new_file | > /dev/null
[alexey@Satellite ~]$ cat new_file 
[alexey@Satellite ~]$
Ход выполнения строки 1 я себе представляю так:
Вывод команды 'echo'(символы '123') поступает на вход команды 'tee', которая сначала направляет этот вывод в файл 'new_file', а затем передаёт его дальше по конвейеру(в /dev/null). Но почему же в 'new_file' ничего не записалось? Ведь, по-идее, вывод команды 'echo' должен быть направлен в битоприёмник только после записи в 'new_file'.

Добавлено через 31 минуту

До меня тут вдруг дошло, что написать надо было так:
Bash
1
echo '123' | tee new_file > /dev/null
Но я всё равно не понял, почему в первом случае в 'new_file' ничего не записалось.
Ответ: Alexey104, Небольшая поправка, я перечитала ваше сообщение с первой строчкой
кода и есть что добавить.
Команда tee читает поток из пайпа и синхронно раздваивает его в файл и на стандартный вывод.
Когда вы ставите дальше конвеер то перенаправляете один вывод команды tee со стандартного
выходного потока а конвеер, а второй поток остается направленным в файл, но так как после очередного
конвеера нет команды способной принять информацию то tee работая синхронно с двумя потоками
не передает информацию и в файл тоже.
Вот, думаю понятно и правильно обрисовала работу вашей первой строчки кода. В этом смысл
работы пайпа.

Добавлено через 3 часа 14 минут
volodin661, Создала в заметках памятку, буду исправляться. Спасибо
Вопрос: Команда-скрипт для открытия "Панели Управления" по клику. OS LM 17.1 "Rebecca" Cinnamon

Здравствуйте.
Настроил систему под себя, включил в настройках панели "Параметры автоматического скрытия" - Автоматически скрывать панель. Вместо "Панели Управления" включил в Docky на верхней панели - "Отображение приложений не имеющих ярлыков". В общем удобно если включить опцию "Интелектуальное скрытие", но не полнофункционально - НЕТ ВОЗМОЖНОСТИ ПРОСМОТРА РАСКЛАДКИ "RUS" или "EN". В "Докклетах" и "Дополнениях" Docky - этой функции тоже нет... И для того, что бы узнать раскладку, приходится перемещать курсор в верх экрана для открытия панели - что не очень удобно.
Видео:
---------------------------------------------------------------------------------------
С помощью утлиты "xdotool" создал скрипт для смены раскладки клавиатуры:

Смена раскладки.sh
------------------
#!/bin/sh

# Смена раскладки клавиатуры

xdotool key 37+50
sleep 1



# Открыть панель управления

?????????????
(добавить команду)
?????????????


------------------

Локаль меняется, но опять же скрыто...Хотелось бы совместить "Открытие панели" во время "Смены раскладки".
Нужен ( ????? команда-скрипт ????? ) для открытия панели.
------------------

Подскажите где находится файл конфигурации "Панели Управления"
для которой создана вот эта оболочка:


И в правильном ли направлении я "копаю".
Гугл результатов не дал.

За ранее спасибо.
Ответ: Здравствуйте helter

"Наверно, симулировать движение мыши с помощью того же xdotool" - спасибо за подсказку, очень пригодилась !


Создал скрипт:
#!/bin/sh

# Смена раскладки клавиатуры
xdotool key 37+50
sleep 1

# Координаты индикатора "Раскладка клавиатуры"

xdotool mousemove --sync 1747 0

# --------------------------------------------------------

# Задержка курсора на панели

sleep 1 # Отображение курсора на индикаторе
# sleep 2,2 # Короткое отображение курсора на индикаторе

# --------------------------------------------------------
xdotool mousemove_relative --sync 0 0

# Возврат курсора на кнопку "Сменить раскладку клавиатуры"

xdotool mousemove_relative --sync 0 1040

# ---------------------------------------------------------

# ПАНЕЛЬ (настройки) "sleep 1"

# Задержка перед показом - 500
# Задержка перед скрытием - 500


# ПАНЕЛЬ (настройки) "sleep 2,2"

# Задержка перед показом - 0
# Задержка перед скрытием - 500

# ---------------------------------------------------------


# xdotool позволяет перемещать указатель мыши по экрану, используя команду MouseMove. В X Window System языком, начало экрана в верхнем левом углу, которая имеет X и Y (горизонтальная и вертикальная) координаты 0 и 0. Если разрешение экрана 1024x768, то координаты для в правом верхнем углу локации 1023 (X) и 0 (Y). В нижней правой является 1023 (Х) и 767 (Y), и так далее.

# --------------------------------------------------------

# Ссылки: 1).
# 2).
# 3).
# 3).
# 4).


Видео:
Вопрос: Как совместить запуск команд от root и обычного пользователя в одном сценарии

Как совместить запуск команд от root и обычного пользователя в одном сценарии

Пример

Кликните здесь для просмотра всего текста
Bash
1
2
3
4
5
6
7
8
9
#!/usr/bin/env bash
 
suu(){
sudo -s
echo -e "---------- Первый -----------\n"
exit
}
 suu
 echo -e "---------------Второй---------\n"


Обычный ввод в консоли позволяет делать все по частям

Bash
1
sudo -s
Оболочка получает права суперпользователя, выполняем какие-то команды...
Для перехода в обычный профиль с правами пользователя, выполняем команду

Bash
1
exit
Выполнение

Bash
1
sudo какая-то_команда
не подходит.

Подскажите как можно видоизменить скрипт, чтобы возможно было во время работы одного сценария переключаться из профиля пользователя с правами root, в профиль обычного пользователя, и выполнять нужные команды уже под обычным пользователем.
Ответ: Что касается 1-го вопроса, ответ (как это я понимаю) такой:

Сообщение от masli
Что это за переменная - $a - для чего она ?

С помощью sed можно вставлять данные в текстовый поток, используя команды i и a:
• Команда i добавляет новую строку перед заданной.
• Команда a добавляет новую строку после заданной.
Bash
1
$ echo "Another test" | sed 'a\First test '
Разобрался

Это означает - вставить фрагмент текта после последней строки, в данный файл.
Здесь,
$ - символ, используемый в регулярных выражениях и означающий - конец строки.
a - команда, используемая с утилитой sed, и означающая, что нужно вставить указанный текст после указанной опорной строки.

Добавлено через 6 часов 9 минут
Тема решена
Вопрос: Изменение владельца и прав доступа к директории командами chown и chmod

Помогите понять и разобраться!

Предположим вы использовали команду sudo для создания директории dir. По умолчанию для dir были выставлены права доступа rwxr-xr-x (владелец root, группа root). Таким образом никто кроме пользователя root не может ничего записывать в эту директорию, например, не может создавать файлы в ней.

После выполнения какой команды user из группы group всё-таки сможет создать файл внутри dir? Укажите все верные варианты ответов!

Примечание: считаем, что все команды выполняются от имени user, если явно не указано, что команда выполнена с sudo.

Какие варианты верные?

Bash
1
2
3
4
5
6
7
8
9
sudo chown user dir
sudo chmod o+w dir
chown user:group dir
sudo chown user:group dir
sudo chmod a+w dir
sudo chmod g+w dir
sudo chmod o+x dir
sudo chown :group dir
chmod o+w dir
Ответ: Спасибо. Вот теперь, кажется, всё стало ясно.
Правильный ответ - 2, остальные неверны.
Сообщение от Marinero
Можете попробовать выполнять команды и смотреть как изменяются права.
Да я вроде разобрался. Но может быть попробую на досуге.
Вопрос: Выполнить команду с правами суперпользователя в Debian 8

Здравствуйте! Подскажите пожалуйста, как выполнять команды в терминале от суперпользователя? Вот чтобы разархивировать архив, просит права. Мне бы хотелось настроить так, чтобы я всегда работал с правами и мне не приходилось каждый раз выполнять к каждому действию команды.
Ответ: Переходим под рута командой su , после этого устанавливает утилиту sudo командой #apt-get install sudo, после этого добавляем своего пользователя в группу sudo командой # adduser имя_пользователя sudo и перезагружаемся. Всё теперь можно работать из под sudo
В некоторых окружениях таких как Мате программа sudo идёт из коробки
Вопрос: Зачем команду sudo нужно выполнять в режиме sudo и что с этим делать?

Уважаемые форумчане! Помогите пожалуйста разобраться с такой проблемой..

Мне необходимо дописать в файл /etc/hosts ещё один виртуальный хост. Открываю консоль ввожу следующую команду

Код
ls -l /etc/hosts
# -rw-r--r-- 1 root root 242 авг 21 17:57 /etc/hosts
Это чтобы понятно было о чём речь. Теперь сам экшн

Код
sudo echo '127.0.0.1 localhost' > /etc/hosts
# bash: /etc/hosts: Отказано в доступе
ничего не получилось, но если дальше ввести команды

Код
sudo su
# пароль

sudo echo '127.0.0.1 localhost' > /etc/hosts
# запись произведена успешно
возможно тут есть какая-то логика... объясните пожалуйста как с этим бороться?

Мне необходимо запустить bash-скрипт, в котором множество такого типа инструкций. Можно запустить скрипт через sudo bash myscript.sh, чтобы они все выполнились как надо, но там есть и другие команды, которые просто отказываются под рутом запускаться, например:

Код
sudo firefox http://localhost
# Running Firefox as root in a regular user's session is not supported.  ($XAUTHORITY is /home/myusername/.Xauthority which is owned by nix.)
сборка nix
Код
OS:             Xubuntu
Distributor ID:	Ubuntu 
Description:    Ubuntu 18.04.1 LTS
Release:        18.04
Codename:       bionic
Ответ: Дав команду
Bash
1
echo '127.0.0.1 localhost' | sudo tee /etc/hosts >/dev/null
Вы получите файл hosts состоящий из одной строчки
Bash
1
127.0.0.1 localhost
Не забывайте о ключах!!! Правильно эта команда выглядит так:
Bash
1
echo '127.0.0.1 localhost' | sudo tee -a /etc/hosts
Ну или как вариант, что-бы было красивишно:
Bash
1
echo -e '127.0.0.1\tlocalhost' | sudo tee -a /etc/hosts
Вопрос: Расспознование голосовых команд

Добрый день.
Пытаюсь сделать подобие умного дома на Raspberry. Стоит Raspbian (но думаю не суть что там стоит, linux короче).
В принципе распознавание команд можно и на Google сделать.
Вопрос в том, как в реальном времени слушать команду, скажем "Привет Бот"?
Т.е. после этой команды запись пойдет.
Вот как реализовать постоянное прослушивание микрофона и реагирование на одну фразу?
Спасибо.
Ответ: castorsky, а по теории подскажите:
1) Как постоянно поток анализировать?
2) Какие данные нам из микрофона приходят (double, byte или фильтры какие применять)?
3) Как анализировать присутствие команды? По образцу сверяя или частоты сравнивая?
4) Может это уже реализовано?
Спасибо за развернутый ответ.