Задать вопрос
  • Как сделать так чтобы скрипт брал последнюю минуту записи из файла?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    последняя запись из файла:
    tail -n 1 erors.txt

    но возможно вам нужна просто последняя запись из журнала, то тогда так:
    journalctl -p err -n 1
    Ответ написан
  • Насколько хорошо backend разработчик должен разбираться в Linux?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    не могу исправить какую-либо ошибку без гугла

    правильно сформулированный вопрос поисковику сродни хорошему знанию командной строки,
    но на сегодня это не противопоставление а скорее взаимодополняемость, особенно учитывая сегодняшние объемы потоков информации и её изменчивость.

    самые базовые команды типа ls, cat, ln, sed, dpkg, apt, nano;

    не заметил троеточие, если это всё то печально, их(базовых) где-то с пол сотни будет и хотя бы понимать что они делают очень желательно, а более плотно изучать их можно по мере необходимости.
    // это для того что-бы потом меньше глупых вопросов возникало как по разбору чужих цепочек команд так и составлении своих, будешь хоть сам примерно понимать где искать и во что нужно более глубже вникнуть.

    плохо знаю bash/sh, даже не знаю чем они отличаются;

    для backend разработчика это очень плохо, bash простой язык, база учится за день-два(на хабре можешь поискать свежие уроки). Зная его и базовые команды( ls, cat ...) ты уже будешь чувствовать себя полубогом в системе, ну а далее дело практики.
    Учи именно bash(это расширенный sh), во многих системах sh уже просто заменяют симлинком на bash.
    Ответ написан
  • Как изменить имя папки при копировании?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    Я пишу "cp -r mydir anotherdir". В этом случае у меня получается "anotherdir/mydir", а как мне сделать чтобы например получилось "anotherdir/mydir2" ?

    cp -r mydir anotherdir/mydir2
    если папки mydir2 нету то mydir при копировании переименуется в mydir2
    если папка mydir2 есть то mydir скопируется в каталог mydir2

    Если же нужно перенести содержимое папки из mydir в существующий mydir2 то:
    cp -r mydir/* anotherdir/mydir2
    Ответ написан
    Комментировать
  • Как узнать имя владельца файла?

    xotkot
    @xotkot Автор вопроса
    хорошо есть и хорошо весьма
    import (
        "fmt"
        "os"
        "os/user"
        "syscall"
    )
    func fileUserName(filename string) (username string, err error) {
    	stat, err := os.Stat(filename)
    	if os.IsNotExist(err) {
    		return
    	}
    	uid := stat.Sys().(*syscall.Stat_t).Uid
    	User, _ := user.LookupId(fmt.Sprint(uid))
    	username = User.Username
    	return
    }
    Ответ написан
    Комментировать
  • Как посмотреть список программ через linux terminal?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    Как мне посмотреть список программ установленных на машине которые я могу вызвать через терминал.

    через терминал можно вызывать программы напрямую(указывая относительный или полный путь) либо коротко(указывая лишь имя самой программы). Во втором случае, программа(исполняемый файл) либо ссылка на неё должна лежать в папках указанных в переменной PATH.
    echo $PATH
    Чтобы глянуть сразу все доступные программы из PATH, можно так(для bash):
    ls ${PATH//:/ }
    п.с.
    А если нужна конкретная программа из установленного пакета то смотрите куда и какие файлы она распаковывает после установки(с помощью своего пакетного менеджера)
    Ответ написан
    1 комментарий
  • Как сделать алиас для консольной строки с переменной?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    sudo systemctl {{название}} start

    случаем не напутали ?
    может так ?
    sudo systemctl start {{название}}
    если да, то проще некуда:
    alias ctl="sudo systemctl start"
    Ответ написан
    3 комментария
  • Как написать скрипт для включения ПК по WoL?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    wakeup.sh
    #!/usr/bin/sh
    IP=$1
    MAC=$2
    dT=$3
    
    while sleep $dT; do
    	until $(fping -r 1 -q $IP); do
    		etherwake $MAC
    	done
    done

    пример запуска:
    ./wakeup.sh 192.168.1.10 ff:ff:ff:ff:ff:ff 60
    Ответ написан
    1 комментарий
  • Как проверить через Bash есть Интернет или нет?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    fping 8.8.8.8

    fping -r 1 -a -q -g 192.168.1.1/24
    так например можно очень быстро узнать какие хосты пингуются в локальной сети(192.168.1.1/24)
    Ответ написан
    Комментировать
  • Как перейти к определённой строке файла в Bash?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    Слишком расплывчато сформулирован вопрос.
    Могу тока предположить что необходимо найти строки в логе где нужный нам параметр изменился относительно предыдущего, например:
    Л="дело1 было утром
    дело2 было утром
    дело3 было днём
    дело4 было днём
    дело5 было днём
    дело6 было вечером
    дело7 было вечером
    дело8 было ночью"

    допустим имеется лог Л и нужно найти строки где третий параметр изменился:
    echo $Л | awk 'BEGIN {k=""} {if (k!=$3){print $0}} {k=$3}'

    можно даже упростить запись:
    echo $Л | awk 'k!=$3 {print; k=$3}'

    выведет:
    дело1 было утром
    дело3 было днём
    дело6 было вечером
    дело8 было ночью
    Ответ написан
    Комментировать
  • Antergos pppoe подключение как настроить?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    /etc/ppp/pap-secrets /etc/ppp/chap-secrets
    someloginname * yourpassword

    надеюсь здесь не забыли указать свой логин и пароль
    v1768487 * пароль


    Потом пишу sudo pon your_provider
    Выдает : eth0 unknown parameter
    Если удаляю
    # network interface
    eth0

    здесь(в /etc/ppp/peers/your_provider) вместо eth0 вам нужно указать свой сетевой интерфейс через который будет проходит соединение. Имеющиеся интерфейсы можете посмотреть командой:
    ip link
    или
    networkctl --all
    Ответ написан
    1 комментарий
  • Как экспортировать команды из стороннего cli в систему через терминал?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    export PATH=$PATH: usr/local/ares-webos-sdk/bin( как сказано на сайте) не работает.

    на сайте сказано вот так:
    $ export PATH=$PATH:<webos-sdk-commands-full-path>/bin
    For exanple: export PATH=$PATH:/Users/ares/GIT/ares-webos-sdk/bin

    вы скорее всего неверно указали < webos-sdk-commands-full-path >
    Ответ написан
  • Как сравнить два массива в bash?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    здесь описаны разные способы

    от себя добавлю:
    Запишем эталонный массив в файл:
    $ echo $arr1 > arr1
    Сравниваем:
    $ echo $arr2 | diff -q -s arr1 -

    Если массивы одинаковые, выведет(ключ -s):
    Файлы arr1 и - идентичны
    Если массивы различаются, выведет(ключ -q):
    Файлы arr1 и - различаются

    p.s.
    Если сравнений много и/или эталонный массив довольно большой то чтобы не мучать диск можно записывать прямо в ОЗУ, обычно для этого служит tmpfs (куда монтируется смотри командой df)
    Ответ написан
    Комментировать
  • Как подать переменную на вход цикла?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    line='детский
    с аккумулятором'
    
    IFS=$'\n'
    for i in $line; do
    	echo "$i"
    	echo "---------"
    done
    unset IFS

    детский
    ---------
    с аккумулятором
    ---------
    Ответ написан
    Комментировать
  • Где находится скрипт выполняемый при входе SSH?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    Отключить сообщение о последнем входе(строка Last login: ...):
    в файле /etc/ssh/sshd_config исправить опцию c yes на no в параметре PrintLastLog

    Остальной текст или действия при входе прописываются в скрипте расположенном в папке /etc/profile.d/, где можно, например, создать файл /etc/profile.d/login.sh (или любой другой, все они обрабатываются при входе) в котором прописать путь к другому запускаемому файлу или напрямую вывести сообщение:
    #!/bin/sh
    ehco "Оставь надежду, всяк сюда входящий"

    выводится после Last login: ...

    п.с.
    можно еще вывести сообщение до Last login: ...
    если его прописать в файле /etc/motd

    Есть еще в файле /etc/ssh/sshd_config параметр PrintMotd no, возможно он работает у меня как-то неправильно так как если устанавливаю в yes то сообщение из файла /etc/motd выводится дважды, до и после Last login: ...
    Ответ написан
    Комментировать
  • Linux. Почему нет свободного места?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    Разрежённый файл
    Реальный размер: du ...
    Нереальный размер: ls, df, du --apparent-size ...
    Ответ написан
  • Как найти только что добавленный диск через bash-скрипт?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    можно начать с этого:
    dmesg -T | grep mounted
    Ответ написан
    Комментировать
  • Как включить в zsh регулярные выражения?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    аналогом bash-евскому расширению:
    shopt -s extglob
    в zsh служит:
    set -o kshglob
    после чего ваше выражениеls +([0-9]).jpg будет обрабатываться одинаково
    Ответ написан
  • Как запустить веб-сервер на go?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    если стоит systemd то есть еще такой вариант
    Ответ написан
    Комментировать
  • Как запустить систему или скопировать хотя бы файлы?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    При запуске системы выдаёт ошибки
    [sdb] no caching mode page found
    [sdb] assuming drive cache: write throgh

    Во первых, это не критическая ошибка, у меня шлешка к примеру так ругается в dmesg при подключении и ничего.
    Во вторых, вы пишите что у вас ноут, сколько у него дисков ? так как ошибка касается sdb а не sda. Возможно у вас просто вставлена флешка во время загрузки на которую и ругается система.
    как мне запустить Linux

    мало информации предоставили, сделали хотя бы фотки лога загрузки
    Ответ написан
    5 комментариев
  • Какую систему лучше поставить на Raspberry PI Zero W?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    из главного - ... + NodeJS + Electron + ..

    издеваетесь ?

    Technical Specifications
    ...
    1GHz, single-core CPU
    512MB RAM



    не спорю, ибо не знаю, но люди на базе этой железяки делают медиа-плэйеры...

    Процессор: BCM2835 with VC4
    то есть SoC имеет 4 VideoCore (видео ядра ), поэтому и с видео он справляется на ура

    Если хотите ARM-ы то нужно что нибудь помощней брать, хотя бы с 4-я процессорными ядрами и с 2 гиг оперативы, к примеру Orange Pi Prime
    Ответ написан
    2 комментария