Задать вопрос
  • Как получить число символов в Unicode строке в bash?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    Почему-то показывает 11, на 1 больше, чем правда.

    оно считает еще перенос строки как символ

    возвращает 16 – кириллицу считает один за два.

    добавьте тогда просто нужную кодировку перед командой, например:
    LANG=ru_RU.UTF-8 CHRLEN=$(echo -n $TEST | wc -m)
    или
    LANG=ru_RU.UTF-8 echo ${#TEST}
    из приведённых выше примеров
    Ответ написан
    1 комментарий
  • Linux Manjaro сложности с пониманием документации?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    добавлю к вышесказанному по поводу поиска пакетов для Арча:
    Через веб-браузер
    Официальные репозитории(бинарные пакеты): https://www.archlinux.org/packages/
    Неофициальные репозитории(бинарные пакеты): часть из них можно найти здесь https://wiki.archlinux.org/index.php/Unofficial_us...
    Неофициальный общий репозиторий АУР(хранятся рецепты сборки пакетов): https://aur.archlinux.org/

    Через командную строку
    Подключенные бинарные репозитории(официальные и неофициальные):
    Поиск ведется по описанию и имени пакета(-Qs для уже установленных)
    pacman -Ss слово_для_поиска
    Поиск по имени файла(когда известен какой-то файл из пакета):
    pacman -Fs имя_файла
    предварительно синхронизировав базу pacman -Fy

    Для работы с AUR лучше установить один из инструментов работы с рецептами сборки, например yaourt, остальные перечислены здесь - https://wiki.archlinux.org/index.php/AUR_helpers
    Ответ написан
    Комментировать
  • Можно ли создать полностью автоновный bash скрипт, не требующий ввода руками?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    Большинство утилит в linux могут работать в режиме "скрипта"(например, parted -s ...), то есть производить автоматизированное принятие заданного ответа или действия по умолчанию(например, rm -f ... удалять без подтверждения).
    В крайнем случае можно найти утилиты которые это умеют. Например, для задания пароля после создании пользователя вместо passwd можно использовать chpasswd:
    echo "root:1234" | chpasswd

    Если же утилита не поддерживает режим скрипта и нету подходящих замен то можно воспользоваться утилитой expect о которой ранее писал Константин.
    Ответ написан
    Комментировать
  • Чем ключ отличается от пароля?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    Это опасно.

    Здесь скорее всего имеется в виду не опасность взлома ключа, а опасность его утечки.
    При использовании одного ключа(доступ по паролю) чтобы открыть зашифрованный канал ssh необходимо этот ключ для начала отправить получателю по не зашифрованному каналу. Его могут перехватить и тогда система будет скомпрометирована.
    А вот при использовании открытого(2) и закрытого(2) ключей, перехватить можно только открытые ключи которые используются для зашифровки сообщений, то есть "злоумышленник" сможет только писать но не читать.
    Ответ написан
    6 комментариев
  • Почему df показывате разные данные?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    Разрежённый файл
    df показывает реально занимаемый размер, а вот к примеру команда ls будет показывать нереальный(полный размер разряженный файлов)
    Ответ написан
  • Почему не работает systemd?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    Комментировать
  • Как по фэншую разбить диск на разделы в Linux?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    есть какое-либо принципиальное значение, в какой последовательности размещать разделы на диске?

    принципиального значения нет

    В теории, swap в начале диска работает быстрее, можно swap первым размещать? Или первым желательно /boot, а потом уже swap и / ?

    я так понимаю вас не интересуют использование в виртуалке и SSD, а конкретное размещение на "железе" HDD ?
    если да, то учтите что скорость чтения у HDD, примерно, в два раза падает от начала к концу диска. Отсюда и стратегия в размещении часто используемой информации ближе к началу диска. Правда также нужно учитывать и ресурсы затраченные на смещения головки при чтении/записи.
    В общем, если немного потериоризировать то можно прийти к выводу что в самое начало следует поместить boot раздел который нам нужен на старте системы. Необходимые файлы будут последовательно, быстро и единожды считаны с диска.
    Если редко используете swap раздел то поместите его после boot что позволит быстро с ним работать, правда в ущерб повышенному износу диска за счет более интенсивных механических нагрузок(постоянное шныряние головки в начало диска).
    Если часто используете swap раздел то лучше поместить его поближе к центру диска в аккурат после корня, что позволит почти также быстро с ним работать но с меньшим износом.
    И да, если есть в наличии несколько дисков то размещайте swap и систему на разных дисках.
    Ответ написан
    2 комментария
  • Почему не выходит сменить DE?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    Ответ написан
    Комментировать
  • Установка jdk на Antergos?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    Java[en] | Java[ru]
    Примечание: После установки вам может понадобиться обновить переменную окружения $PATH. Для этого отредактируйте файл /etc/profile или перезайдите в среду рабочего стола.
    Ответ написан
    4 комментария
  • Как заставить скрипт запускаться от рута при запуске системы?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    сейчас, как универсальный метод, для запуска скриптов при загрузке системы лучше всего использовать systemd
    пример я уже писал в одном из постов - тыц1, тыц2
    Ответ написан
    2 комментария
  • Как объединить два каталога?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    до:
    % tree -h test
    test
    ├── [4.0K]  dir1
    │   ├── [4.0K]  a
    │   │   ├── [ 60M]  file1.txt
    │   │   └── [1.0M]  file2.txt
    │   ├── [4.0K]  b
    │   │   └── [ 20M]  file3.txt
    │   └── [4.0K]  c
    │       └── [1.0M]  file4.txt
    └── [4.0K]  dir2
        ├── [4.0K]  a
        │   ├── [ 10M]  file1.txt
        │   └── [1.0M]  file6.txt
        ├── [4.0K]  b
        │   ├── [ 50M]  file3.txt
        │   └── [1.0M]  file8.txt
        └── [4.0K]  c
            ├── [1.0M]  file10.txt
            └── [1.0M]  file9.txt
    
    8 directories, 10 files

    не копируем, а создаём жесткие ссылки:
    % cp -lrf test/dir{1/*,2} && rm -rf test/dir1/*

    после:
    % tree -h test
    test
    ├── [4.0K]  dir1
    └── [4.0K]  dir2
        ├── [4.0K]  a
        │   ├── [ 60M]  file1.txt
        │   ├── [1.0M]  file2.txt
        │   └── [1.0M]  file6.txt
        ├── [4.0K]  b
        │   ├── [ 20M]  file3.txt
        │   └── [1.0M]  file8.txt
        └── [4.0K]  c
            ├── [1.0M]  file10.txt
            ├── [1.0M]  file4.txt
            └── [1.0M]  file9.txt
    
    5 directories, 8 files
    Ответ написан
    1 комментарий
  • Как в bash получить часть названия файла?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    ls | awk -F"_|.txt" '{print $2}'
    Ответ написан
    Комментировать
  • Привязка выполнения файла к инициализации в терминале?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    если используете оболочку bash, то:
    для пользователя:
    $ echo 'export PATH="$PATH:/usr/local/pgsql/bin"' >> ~/.bashrc
    $ echo 'export PGDATA=/usr/local/pgsql/data' >> ~/.bashrc

    или в ~/.bash_profile

    если нужно для суперпользователя(root), то положите в /etc/profile:
    # echo 'export PATH="$PATH:/usr/local/pgsql/bin"' >>/etc/profile
    # echo 'export PGDATA=/usr/local/pgsql/data' >> /etc/profile

    только не забудьте перезайти
    Ответ написан
  • Почему Transmission создаёт лишние файлы?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    как писали выше Transmission создаёт "лишний файл" разряженным, скорее всего для своих каких-то нужд. Данный файл практически никак не будет влиять на заполнение файловой системы, точнее будет но в зависит от степени его наполненности.

    Вот к примеру:
    создаём разряженный файл:
    $ truncate -s 5G ФАЙЛ
    Смотрим его размер через ls:
    $ ls  -l ФАЙЛ
    ... 5G ... ФАЙЛ

    Смотрим его реальный размер через du:
    $ du -h ФАЙЛ                
    0	ФАЙЛ

    Смотрим его нереальный размер через du:
    $ du -h --apparent-size ФАЙЛ                   
    5,0G	ФАЙЛ


    В общем размер данного(здесь он нулевой) ФАЙЛа не влияет на реальное заполнение ФС (к примеру на вывод команды df -h тоже никак не отразится), естественно по мере его заполнения ситуация будет меняться.
    Ответ написан
    Комментировать
  • Кто за то, чтобы добавить шкалу сложности к новому, только что созданному вопросу?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    лучше не шкалу сложности рассчитывать которая является сильно уж относительной и для более-менее точного определения нужна довольно большая выборка пользователей что для многих вопросов является непреодолимо, а полезность вопроса, хотелось бы например получить уведомление только тогда когда будет найдено решение а не отслеживать все перипетии данного процесса при подписке на него.
    То есть на некоторые вопросы мне интересна подписка, для других вопросов мне интересен только результат.
    Ответ написан
    5 комментариев
  • Домашний "сервер" из ноутбука?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    для домашнего сервака использую нетбук ao521-12Dcc [1 ядро 1.7 гГц, 4 RAM], без проблем справляется с:
    • торентокачалка
    • файловое хранилище
    • просмотр фильмов, вернее подключение к спутниковому ресиверу по nfs для просмотра записанных фильмов
    • запись с видеокамеры
    • вебсервер, gogs -сервер и др.

    работает тихо и не греется, раз в год профилактика - очистка от пыли
    Ответ написан
    3 комментария
  • Таймер/аларм для Ubuntu?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    можно сделать еще проще, написать маленькую функцию, для удобного использования, например:
    alarm 10s
    сработает через 10 секунд
    alarm 20m
    сработает через 20 минут
    alarm 1h /путь/к/запускаемому/аудио/видео/файлу
    сработает через час и запустит файл по указанному пути

    сама функция:
    alarm(){
    	_t="$1"
    	_src="$2"
    	_alarm(){
    		sleep $_t && notify-send -u critical "Прошло $_t" && echo -en "\a"
    		if [ "$_src" ];	then mpv "$_src"; fi
    	}
    	_alarm &!
    	echo "ok: напомню через $_t"
      sleep 2
      exit 0
    }

    update: в конце добавлен exit 0 так как bash иногда дает осечку при закрытии терминала.

    вместо mpv можно взять, к примеру, vlc или другой проигрыватель

    Функцию нужно поместить в конец файла инициализации используемой вами консольной оболочки, для zsh будет ~/.zshrc , для bash можно ~/.bashrc или ~/.bashrc_profile
    Ответ написан
    41 комментарий
  • Как в linux узнать точное время создания или изменения файла (чтобы секунды показывались)?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    в настройках Double Comander можно указывать отображение разных форматов времени.
    В консоли можно через ls как выше писал Владимир Куц или с помощью утилиты stat, например:
    stat --format="%n %y" *
    или полную информацию по конкретному файлу:
    stat ФАЙЛ
    Ответ написан
    Комментировать
  • Не компилируется .go?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    директория в которую установлен go прописывается в переменную GOROOT, а общая рабочая директория прописывается в переменную GOPATH.
    В общей рабочей директории должны находится папки bin, pkg и src.
    Ваши проекты будут лежать в src, как и скачанные с помощью go get ... репозитории.

    обратите внимание на то куда вы разместили свой проект test:
    set GOPATH=C:\GOPATH
    set GOROOT=C:\Go
    получил: C:\Go\src\test>go run main.go
    Ответ написан
    Комментировать