Автор Тема: Приёмы профессиональной работы в shell (справочник - вопросы не задавать. )  (Прочитано 174959 раз)

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Сюда предлагаю складывать разные неочевидные изюминки, трюки и все неочевидные но полезные вещи.
Кому-то они покажутся необходимыми.

Пожалуйста, не обсуждайте в этой теме.
Эта тема только для готовых решений - это своеобразный справочник Linux Hacks.
Тема для обсуждения:
Re: Приёмы профессиональной работы в shell (Вопросы по справочнику)
https://forum.altlinux.org/index.php?topic=37837.0

Полное содержание справочника:

Приёмы профессиональной работы в shell
Справочник в примерах


Просмотр пакетов и архивов через less
https://forum.altlinux.org/index.php?topic=32361.msg227844#msg227844

Недокументированная в ALT Linux команда: Reverse Depends
https://forum.altlinux.org/index.php?topic=32361.msg227847#msg227847

Несколько полезных команд shell
https://forum.altlinux.org/index.php?topic=32361.msg227854#msg227854

Блокировка/разблокировка аккаунта и учётной записи пользователя
https://forum.altlinux.org/index.php?topic=32361.msg227924#msg227924

Захват и перенаправление выводов в файл
https://forum.altlinux.org/index.php?topic=32361.msg227929#msg227929

Зеркалирование сайтов
https://forum.altlinux.org/index.php?topic=32361.msg227930#msg227930

Поиск файлов и каталогов не соответствующих UID или GID пользователя
https://forum.altlinux.org/index.php?topic=32361.msg233034#msg233034

Поиск устройств подключённых USB-накопителей
https://forum.altlinux.org/index.php?topic=32361.msg233037#msg233037

Инструментарий монтирования съёмных блочных устройств в shell
https://forum.altlinux.org/index.php?topic=32361.msg234470#msg234470

Youtube-dl — загрузка с YouTube в терминале Linux
https://forum.altlinux.org/index.php?topic=32361.msg234629#msg234629

Установка пакетов из списка
https://forum.altlinux.org/index.php?topic=32361.msg234696#msg234696

Если apt-repo на установочном диске не оказалось
https://forum.altlinux.org/index.php?topic=32361.msg234918#msg234918

Управление процессами в UNIX-подобных системах в вопросах и ответах
https://forum.altlinux.org/index.php?topic=32361.msg234950#msg234950

Полное перефоматирование usb-flash в shell
https://forum.altlinux.org/index.php?topic=32361.msg235258#msg235258

Доступ к яндекс-диску из Thunar и krusader
https://forum.altlinux.org/index.php?topic=32361.msg235350#msg235350

Доступ к яндекс-диску из shell
https://forum.altlinux.org/index.php?topic=32361.msg235505#msg235505

Команды 'su', 'su -' и переменные окружения в примерах
https://forum.altlinux.org/index.php?topic=32361.msg235510#msg235510

Перенос содержимого каталога /usr на другой накопитель
https://forum.altlinux.org/index.php?topic=32361.msg236773#msg236773

Потоковое видео в консоли. Трансляция и воспроизведение в локальной сети.
https://forum.altlinux.org/index.php?topic=32361.msg238030#msg238030

Краткая информация о системе
https://forum.altlinux.org/index.php?topic=32361.msg238282#msg238282

Сохранение аудио или/и музыки транслируемого потока
https://forum.altlinux.org/index.php?topic=32361.msg238745#msg238745

Запись в файловую систему udf файлов размером более 4Gb
https://forum.altlinux.org/index.php?topic=32361.msg239540#msg239540

Определение типа файловых систем
https://forum.altlinux.org/index.php?topic=32361.msg240691#msg240691

Удалить старые файлы, оставив только измененные за последние 30 дней
https://forum.altlinux.org/index.php?topic=32361.msg243995#msg243995

Запуск приложения в DISPLAY=:1
https://forum.altlinux.org/index.php?topic=32361.msg244820#msg244820

Просмотр утилизации ресурсов компьютера
https://forum.altlinux.org/index.php?topic=32361.msg244821#msg244821

Сетевые мелочи: поиск хостов, нод, шар
https://forum.altlinux.org/index.php?topic=32361.msg244822#msg244822

Очистка буферов и кеша
https://forum.altlinux.org/index.php?topic=32361.msg244823#msg244823

Ещё один поиск активных хостов в локальной сети по ip-адресам
https://forum.altlinux.org/index.php?topic=32361.msg244856#msg244856

Извлечение аудиотрека из видеофайла
https://forum.altlinux.org/index.php?topic=32361.msg247414#msg247414

ALSA Запись звука с выхода аудиокарты
https://forum.altlinux.org/index.php?topic=32361.msg248049#msg248049

Дата установки операционной системы
https://forum.altlinux.org/index.php?topic=32361.msg248927#msg248927

Замена открытого пароля на хэш в конфиге wifi-соединения NetworkManager
https://forum.altlinux.org/index.php?topic=32361.msg248944#msg248944

XTerm: будни шелл, шлифовка и трюки безопасности
https://forum.altlinux.org/index.php?topic=32361.msg252076#msg252076

Удаление дубликатов строк из bash_history
https://forum.altlinux.org/index.php?topic=32361.msg252081#msg252081

Корректное размонтирование самба-ресурсов на разгрузке или останове системы sysv
https://forum.altlinux.org/index.php?topic=32361.msg253079#msg253079

Сокрытие логина пользователя и имени хоста из панели окна X-терминала и из терминала
https://forum.altlinux.org/index.php?topic=32361.msg253906#msg253906

Инициализация UNIX System V init: выключение по кнопке Power
https://forum.altlinux.org/index.php?topic=32361.msg254907#msg254907

Распределение прав доступа на файлы и каталоги в Линукс
https://forum.altlinux.org/index.php?topic=32361.msg254908#msg254908

Разблокировка DVD-привода
https://forum.altlinux.org/index.php?topic=32361.msg257150#msg257150

Ещё раз о разблокировке DVD-привода
https://forum.altlinux.org/index.php?topic=32361.msg257700#msg257700

Простой скрипт-триггер для отключения/включения wlan-интерфейса в etcnet
https://forum.altlinux.org/index.php?topic=32361.msg259724#msg259724

Скрипт отображения загруженных модулей ядра, их количество и объем занимаемой памяти
https://forum.altlinux.org/index.php?topic=32361.msg260485#msg260485

Получение информации о компьютере
https://forum.altlinux.org/index.php?topic=32361.msg262528#msg262528

Защита файлов от удаления/изменения
https://forum.altlinux.org/index.php?topic=32361.msg262718#msg262718

Замедление манипулятора мышь
https://forum.altlinux.org/index.php?topic=32361.msg263483#msg263483

Контроль выполнения заданий cron
https://forum.altlinux.org/index.php?topic=32361.msg264166#msg264166

Как очистить свободное от файлов пространство на локальных файловых системах
https://forum.altlinux.org/index.php?topic=32361.msg265339#msg265339

Куда на диск флэш-плагин сохраняет saves
https://forum.altlinux.org/index.php?topic=32361.msg269415#msg269415

Браузеры Firefox и Pale Moon не восстанавливают сессию игнорируя файл sessionstore.js
https://forum.altlinux.org/index.php?topic=32361.msg269914#msg269914

Скрипт терминального сетевого монитора nload для беспроводного интерфейса wifi
https://forum.altlinux.org/index.php?topic=32361.msg271109#msg271109

Как узнать поддерживает ли процессор инструкции 64 bit (Long Mode)
https://forum.altlinux.org/index.php?topic=32361.msg275067#msg275067

Как сделать скриншот виртуального терминала
https://forum.altlinux.org/index.php?topic=32361.msg275693#msg275693

Downgrade текущего Sisyphus-ядра (будущий p8) на ядро из p7/branch  в системе на Сизиф
https://forum.altlinux.org/index.php?topic=32361.msg276259#msg276259

Переменная CDPATH и функции в bash
https://forum.altlinux.org/index.php?topic=32361.msg276561#msg276561

Сражаемся с bad-блоками
https://forum.altlinux.org/index.php?topic=32361.msg276715#msg276715

Несколько команд... initrd текущего ядра и модуль nouveau
https://forum.altlinux.org/index.php?topic=32361.msg278306#msg278306

Воспроизведение потокового аудио в консольных плеерах или вторая жизнь старого железа
https://forum.altlinux.org/index.php?topic=32361.msg280028#msg280028

Воспроизведение потокового аудио в консольных плеерах или вторая жизнь старого железа. Продолжение
https://forum.altlinux.org/index.php?topic=32361.msg280029#msg280029

Сервисы и их краткие описания
https://forum.altlinux.org/index.php?topic=32361.msg282438#msg282438

Контроль файлов в каталоге
https://forum.altlinux.org/index.php?topic=32361.msg283998#msg283998

Как сделать внешнюю usb-аудиокарту дефолтной в системе с alsa
https://forum.altlinux.org/index.php?topic=32361.msg284251#msg284251

Скрипт-триггер для переключения аудиокарты и usb-audio гарнитуры в системе с alsa
https://forum.altlinux.org/index.php?topic=32361.msg284323#msg284323

Останов с выключением питания на системах с System V init
https://forum.altlinux.org/index.php?topic=32361.msg288014#msg288014

Как узнать версию флэш-плеера
https://forum.altlinux.org/index.php?topic=32361.msg288632#msg288632

Устранение фриза usb-мыши и usb-клавиатуры подключенных к ноутбуку
https://forum.altlinux.org/index.php?topic=32361.msg289356#msg289356

Включаем подсветку клавиатуры USB
https://forum.altlinux.org/index.php?topic=32361.msg289421#msg289421

Как посчитать суммарный объём резидентно занятой процессами памяти
https://forum.altlinux.org/index.php?topic=32361.msg292092#msg292092

wireless_etcnet_restart скрипт
https://forum.altlinux.org/index.php?topic=32361.msg294800#msg294800

man-pages: погружение в поиск
https://forum.altlinux.org/index.php?topic=32361.msg295628#msg295628

unblock беспроводных интерфейсов на системах с SysVinit
https://forum.altlinux.org/index.php?topic=32361.msg300896#msg300896

apt-repo, выбор сервера и альтовые зеркала
https://forum.altlinux.org/index.php?topic=32361.msg301581#msg301581

xset - отключение скринсейвера и монитора
https://forum.altlinux.org/index.php?topic=32361.msg302241#msg302241

Как посмотреть имена установленных пакетов и их исполняемые файлы
https://forum.altlinux.org/index.php?topic=32361.msg302401#msg302401

Как посмотреть исполняемые файлы приложений
https://forum.altlinux.org/index.php?topic=32361.msg302418#msg302418

Опции для /etc/X11/xinit/Xkbmap
https://forum.altlinux.org/index.php?topic=32361.msg305657#msg305657

Отображение в коммандере на системе с udisks2, файловой системы на скрытом разделе NTFS
https://forum.altlinux.org/index.php?topic=32361.msg306651#msg306651

Редактирование без редакторов. Редактирование ASCII текстовых файлов
https://forum.altlinux.org/index.php?topic=32361.msg308887#msg308887

Прогноз погоды в консоли
https://forum.altlinux.org/index.php?topic=32361.msg310169#msg310169

Как увидеть шары через thunar
https://forum.altlinux.org/index.php?topic=32361.msg311768#msg311768

Установка максимальной яркости дисплея ноутбука на Intel графике
https://forum.altlinux.org/index.php?topic=32361.msg311778#msg311778

Пара однострочников: список sysvinit скриптов в порядке очерёдности старта, температура и частота процессора
https://forum.altlinux.org/index.php?topic=32361.msg312418#msg312418

Температура и частота процессора через watch
https://forum.altlinux.org/index.php?topic=32361.msg312419#msg312419

Если не перечитался /etc/inputrc
https://forum.altlinux.org/index.php?topic=32361.msg312778#msg312778

Кратко о сборке пакета npapi-plugin-adobe-flash
https://forum.altlinux.org/index.php?topic=32361.msg315193#msg315193

Температура процессора в ноутбуках использующих адаптер виртуального устройства acpitz-virtual-0
https://forum.altlinux.org/index.php?topic=32361.msg317319#msg317319

Показать установленные в системе пакеты, которые требуют запрашиваемый установленный пакет
https://forum.altlinux.org/index.php?topic=32361.msg317832#msg317832

Как добавить видеорежим
https://forum.altlinux.org/index.php?topic=32361.msg318862#msg318862

Как посмотреть тип блочного устройства
https://forum.altlinux.org/index.php?topic=32361.msg318933#msg318933

Как получить список имён пакетов из файла-списка прилагающегося к установочному образу на сервере
https://forum.altlinux.org/index.php?topic=32361.msg319000#msg319000

Где найти логи apt-get
https://forum.altlinux.org/index.php?topic=32361.msg319496#msg319496

Смена приоритета аудиокарт (переиндексация)
https://forum.altlinux.org/index.php?topic=32361.msg320090#msg320090

Блокировка установки нового пакета в системе с apt
https://forum.altlinux.org/index.php?topic=32361.msg320882#msg320882

Сравнение дробных чисел
https://forum.altlinux.org/index.php?topic=32361.msg322835#msg322835

Проект документации Midnight Commander (ссылка)
https://forum.altlinux.org/index.php?topic=32361.msg323179#msg323179

Как получить параметры виртуального терминала
https://forum.altlinux.org/index.php?topic=32361.msg324086#msg324086

Хэлпы в скриптах
https://forum.altlinux.org/index.php?topic=32361.msg324233#msg324233

Фиксация в системе дефолтного nvidia_glx_173.*.* драйвера
https://forum.altlinux.org/index.php?topic=32361.msg324287#msg324287

Перекодирование видеофайлов. Перекодирование MOV в mp4 формат
https://forum.altlinux.org/index.php?topic=32361.msg325546#msg325546

xclip - интерфейс командной строки для X выборов (clipboard)
https://forum.altlinux.org/index.php?topic=32361.msg326018#msg326018

Когда стоит символическую ссылку /etc/mtab заменить на файл
https://forum.altlinux.org/index.php?topic=32361.msg326028#msg326028

RAM-диск в Linux
https://forum.altlinux.org/index.php?topic=32361.msg328135#msg328135

Падение производительности графической подсистемы
https://forum.altlinux.org/index.php?topic=32361.msg328511#msg328511

Установка GRUB2 в MBR
https://forum.altlinux.org/index.php?topic=32361.msg329111#msg329111

Как посмотреть MBR
https://forum.altlinux.org/index.php?topic=32361.msg330741#msg330741

Настройка проверки файловой системы на загрузке
https://forum.altlinux.org/index.php?topic=32361.msg330742#msg330742

Монтирование файловых систем файла-образа hdd
https://forum.altlinux.org/index.php?topic=32361.msg336252#msg336252

Распаковка RAM-диска инициализации системы ( initramfs )
https://forum.altlinux.org/index.php?topic=32361.msg336316#msg336316

Соответствие Intel HD Graphics процессору Intel (справка)
https://forum.altlinux.org/index.php?topic=32361.msg338043#msg338043

Скрипт wpr - какие пакеты требуют этот пакет
https://forum.altlinux.org/index.php?topic=32361.msg346031#msg346031

Поиск байтов с указанным hex кодом
https://forum.altlinux.org/index.php?topic=32361.msg346649#msg346649

Просто и понятно о переиндексации аудиокарт
https://forum.altlinux.org/index.php?topic=32361.msg348824#msg348824

Подробности о модулях памяти
https://forum.altlinux.org/index.php?topic=32361.msg349426#msg349426

Перекодирование аудиофайла из wma в mp3
https://forum.altlinux.org/index.php?topic=32361.msg349832#msg349832

Скрипт hex<->dec<->oct<->bin
https://forum.altlinux.org/index.php?topic=32361.msg351134#msg351134

Архив документации по gdm2.20
https://forum.altlinux.org/index.php?topic=32361.msg352323#msg352323

Админим альтовую флешку по-спектрумовски
https://forum.altlinux.org/index.php?topic=32361.msg353093#msg353093

HDD и SSD. Как устроены и как работают
https://forum.altlinux.org/index.php?topic=32361.msg353361#msg353361

Что такое SPD EEPROM
https://forum.altlinux.org/index.php?topic=32361.msg354149#msg354149

Монтирование NTFS
https://forum.altlinux.org/index.php?topic=32361.msg355912#msg355912

Лог сквид с читабельной датой
https://forum.altlinux.org/index.php?topic=32361.msg357854#msg357854

Обновление образа до свежего по rsync
https://forum.altlinux.org/index.php?topic=32361.msg362433#msg362433

Особенности монтировани loop устройств с partx
https://forum.altlinux.org/index.php?topic=32361.msg362512#msg362512

Возврат и декодирование edid на драйверах без drm
https://forum.altlinux.org/index.php?topic=32361.msg383180#msg383180

Сброс пароля root в альтлинукс прямым редактированием
https://forum.altlinux.org/index.php?topic=32361.msg383454#msg383454

Спецификации VESA E-EDID 1R3 1R4
https://forum.altlinux.org/index.php?topic=32361.msg384163#msg384163
« Последнее редактирование: 25.07.2023 14:48:11 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Пара трюков с командой less

Трюк с локальными пакетами *.rpm через less для забывчивых:
less /путь/к/пакету/acpid-2.0.9-alt1.i586.rpm

Результат выполнения команды:
Name        : acpid                        Relocations: (not relocatable)
Version     : 2.0.9                             Vendor: ALT Linux Team
Release     : alt1                          Build Date: Пн 18 апр 2011 19:57:41
Install date: (not installed)               Build Host: skip
Group       : Система/Серверы   Source RPM: acpid-2.0.9-alt1.src.rpm
Size        : 74584                            License: GPL
Packager    : Valery Inozemtsev <shrek@nichego.net>
URL         : http://www.tedfelix.com/linux/acpid-netlink.html
Summary     : ACPI kernel daemon and control utility
Description :
The ACPI specification defines power and system management functions
for each computer, in a generic manner.  The ACPI daemon coordinates
the management of power and system functions when ACPI kernel
support is enabled (kernel 2.3.x or later).
* Пн апр 18 2011 Valery Inozemtsev <shrek@nichego.net> 1:2.0.9-alt1
- 2.0.9
- added systemd support (closes: #25461)
drwxr-xr-x    2 root    root                0 апр 18  2011 /etc/acpi
drwxr-xr-x    2 root    root                0 апр 18  2011 /etc/acpi/events
-rwxr-xr-x    1 root    root             1374 июн 25  2010 /etc/rc.d/init.d/acpid
-rw-r--r--    1 root    root               16 апр 18  2011 /etc/sysconfig/acpid
-rw-r--r--    1 root    root              219 апр 18  2011 /lib/systemd/system/acpid.service
-rwxr-xr-x    1 root    root             9972 апр 18  2011 /usr/bin/acpi_listen
-rwxr-x---    1 root    root            42792 апр 18  2011 /usr/sbin/acpid
drwxr-xr-x    2 root    root                0 апр 18  2011 /usr/share/doc/acpid-2.0.9
-rw-r--r--    1 root    root            14552 апр 15  2011 /usr/share/doc/acpid-2.0.9/Changelog
-rw-r--r--    1 root    root             1774 янв 26  2010 /usr/share/doc/acpid-2.0.9/README
-rw-r--r--    1 root    root              557 ноя 15  2010 /usr/share/doc/acpid-2.0.9/TODO
-rw-r--r--    1 root    root              691 апр 18  2011 /usr/share/man/man8/acpi_listen.8.gz
-rw-r--r--    1 root    root             2637 апр 18  2011 /usr/share/man/man8/acpid.8.gz

less на rpm-пакет суммарно работает как одновременно выполненные команды:
rpm -qpi /путь/пакет.rpm && rpm -qpl /путь/пакет.rpm
на случай, если забылось, как же это делается.

Также less умеет просматривать заархивированные ascii текстовые файлы:
# less /var/log/user/info.2.bz2

...
Apr  3 16:34:47 comp-c2d rpm: asoundconf-0.1-alt1 installed
Apr  3 16:34:47 comp-c2d rpm: asoundconf-0.0.bzr8-alt1.1.1 removed
...

Или список содержимого архива:
less ./Kernigan_Pike_-_Unix_Universalnaya_sreda_programmirovaniya.rar


Арифметический калькулятор, это просто!
$ expr 256 / 8
32
$ expr 64 \* 4
256
$ expr 64 + 4
68
$ expr 64 - 4
60
$ expr 127 % 5 # Показывает остаток от деления
2

Баг в документации Пингвина?
Спойлер
Всё-таки документация в Linux разгильдяйская:
$ expr --help|head -25|tail -1
  АРГ1 * АРГ2       арифметическое произведение АРГ1 и АРГ2
$ expr 64 * 4
expr: синтаксическая ошибка


И ещё один трюк подсмотренный у классиков: Рассел Сейдж. Приемы профессиональной работы в UNIX

Выполните в терминале команду:
$ cat > test
и печатайте всё, что вам вздумается.
Когда надоест, нажмите комбинацию клавиш ^D (Ctrl+d) и выполните команду:
$ cat test
Уверяю, будете под впечатлением.
Команда:
$ cat >> test
продолжит уже сделанное.
« Последнее редактирование: 17.04.2014 08:09:19 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Упоминал как-то, как случайно найденное, но здесьне потеряется.

Недокументированная в ALT Linux команда:
Reverse Depends

$ apt-cache rdepends acpid
acpid
Reverse Depends:
  eeepc-acpi-scripts
  appliance-pbx-office
  acpid-events-power
  acpid-events-power
  powersave
  fglrx-tools
Цитировать
rdepends pkg(s)

    rdepends показывает список каждой обратной зависимости от пакета.

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 099
Сюда предлагаю складывать разные неочевидные изюминки, трюки и все неочевидные но полезные вещи.
Это удобнее тогда на http://www.altlinux.org, наверное... Там хоть оглавление можно сделать.

Оффлайн Pureproft

  • Давно тут
  • **
  • Сообщений: 329
    • Email
можно и по месту. по мере наполнения автор темы правит первый пост превратив его в оглавление, благо внутренние ссылки в пределах темы работают ;-)
Рассвет наступит неизбежно!

Оффлайн asterix81

  • Завсегдатай
  • *
  • Сообщений: 150
1. Команда sudo !!

Спойлер
Предположим, вы ввели какую-либо команду, требующую привилегий администратора, без sudo, и получили в ответ сообщение об ошибке доступа. Вам не нужно вводить команду заново, просто поставьте символы "!!" после sudo, и последняя команда будет подставлена автоматически.

2. Команда python

Спойлер
Приведенная ниже команда генерирует простую веб-страницу для древа структуры директорий, которую можно просмотреть в браузере, используя порт 8000, пока не будет отправлен сигнал прерывания.

# python -m SimpleHTTPServer

3. Команда mtr

Спойлер
Большинство из нас хорошо знакомы с ping и traceroute. А как насчет объединения их функциональности в одной команде mtr? Если эта программа у вас не установлена, это можно сделать с помощью apt или yum.

Для систем на базе Debian:

$ sudo apt-get install mtr
Для систем на базе Red Hat:

# yum install mtr
Теперь запустите команду mtr, чтобы исследовать сетевые соединения между вашим хостом и google.com.

# mtr google.com

4. Команда Ctrl+x+e

Спойлер
Эта команда очень полезна для администраторов и разработчиков. Для автоматизации повседневных задач администратору требуется редактор, например vi, vim, nano и т.д. Нажав "Ctrl-x-e", вы сразу запустите текстовый редактор, установленный в вашей системе в качестве редактора по умолчанию.
5. Команда nl

Спойлер
Команда nl нумерует строки файла. Например, у нас есть файл "one.txt". Сначала выведем его на экран с помощью команды "cat":

# cat one.txt fedora debian arch slack suse
Теперь запустим "nl", чтобы вывести его в пронумерованном виде:

# nl one.txt 1 fedora 2 debian 3 arch 4 slack 5 suse
6. Команда shuf

Спойлер
Команда "shuf" случайным образом выбирает строки/файлы/папки из файла/папки. Выведем содержимое домашней директории с помощью команды ls, а затем применим к выводу команду shuf:

# ls Desktop Documents Downloads Music Pictures Public Templates Videos # ls / shuf (shuffle Input) Music Documents Templates Pictures Public Desktop Downloads Videos # ls / shuf -n1 Public # ls / shuf -n1 Videos # ls / shuf -n1 Templates # ls / shuf -n1 Downloads

Примечание: вы можете всегда заменить "n1" на "n2", чтобы выбрать два случайных результата, или любое другое количество, используя n3, n4...

7. Команда ss

Спойлер
Эта команда выводит информацию о сокетах. Она исследует сокет и показывает подробную информацию о его параметрах и статистике использования (похоже на команду netstat), более полную, чем у других аналогичных утилит.

# ss State Recv-Q Send-Q Local Address:Port Peer Address:Port ESTAB 0 0 192.168.1.198:41250 *.*.*.*:http CLOSE-WAIT 1 0 127.0.0.1:8000 127.0.0.1:41393 ESTAB 0 0 192.168.1.198:36239 *.*.*.*:http ESTAB 310 0 127.0.0.1:8000 127.0.0.1:41384 ESTAB 0 0 192.168.1.198:41002 *.*.*.*:http ESTAB 0 0 127.0.0.1:41384 127.0.0.1:8000
8. Команда last

Спойлер
Команда "last" выводит сведения о пользователях, входивших в систему. Она производит поиск в файле "/var/log/wtmp" и выводит список пользователей, входивших и выходивших из системы, а также дополнительную информацию (время, номер виртуальной консоли и т.д.).

# last server pts/0 :0 Tue Oct 22 12:03 still logged in server tty8 :0 Tue Oct 22 12:02 still logged in ... ... (unknown tty8 :0 Tue Oct 22 12:02 - 12:02 (00:00) server pts/0 :0 Tue Oct 22 10:33 - 12:02 (01:29) server tty7 :0 Tue Oct 22 10:05 - 12:02 (01:56) (unknown tty7 :0 Tue Oct 22 10:04 - 10:05 (00:00) reboot system boot 3.2.0-4-686-pae Tue Oct 22 10:04 - 12:44 (02:39) wtmp begins Fri Oct 4 14:43:17 2007
9. curl ifconfig.me

Спойлер
Как узнать свой внешний IP-адрес? Приведенная ниже команда выводит в терминале ваш внешний IP-адрес.

# curl ifconfig.me
Примечание: если у вас не установлен пакет curl, необходимо установить его с помощью apt или yum.
10. Команда tree

Спойлер
Выводит структуру директорий в в формате древа.

# tree . /-- Desktop /-- Documents / `-- 37.odt /-- Downloads / /-- attachments.zip / /-- ttf-indic-fonts_0.5.11_all.deb / /-- ttf-indic-fonts_1.1_all.deb / `-- wheezy-nv-install.sh /-- Music /-- Pictures / /-- Screenshot from 2013-10-22 12:03:49.png / `-- Screenshot from 2013-10-22 12:12:38.png /-- Public /-- Templates `-- Videos 10 directories, 23 files
11. pstree

Спойлер
Эта команда выводит все запущенные процессы, вместе с соответствующими дочерними процессами, в формате древа, как и команда tree.

# pstree init─┬─NetworkManager───{NetworkManager} ├─accounts-daemon───{accounts-daemon} ├─acpi_fakekeyd ├─acpid ├─apache2───10*[apache2] ├─at-spi-bus-laun───2*[{at-spi-bus-laun}] ├─atd ├─avahi-daemon───avahi-daemon ├─bluetoothd ├─colord───{colord} ├─colord-sane───2*[{colord-sane}] ├─console-kit-dae───64*[{console-kit-dae}] ├─cron ├─cupsd ├─2*[dbus-daemon] ├─dbus-launch ├─dconf-service───2*[{dconf-service}]

...взято с сайта http://www.itshop.ru/11-maloizvestnyh-no-poleznyh-komand-Linux/l9i36533
« Последнее редактирование: 17.04.2014 10:47:41 от asterix81 »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Блокировка/разблокировка учётной записи пользователя:
# usermod --help
Использование: usermod [параметры] имя пользователя

Параметры:
...
  -L, --lock                    заблокировать учётную запись
...
  -U, --unlock                  разблокировать учётную запись

Блокировка/разблокировка аккаунта
# passwd --help
Использование: passwd [ОПЦИЯ...] [ИМЯ ПОЛЬЗОВАТЕЛЯ]
...
  -l, --lock                 Заблокировать специфический аккаунт
...
  -S, --status               Сообщение о статусе пароля на специфическом аккаунте
  -u, --unlock               Разблокировать специфический аккаунт
...
Команде passwd требуется, чтобы пароль на аккаунте был установлен.

В обоих случаях использовать заблокированный аккаунт пользователю root разрешено.
Как и всем пользователям группы wheel (через получение прав root с парольным входом разумеется).
« Последнее редактирование: 19.04.2014 01:01:46 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Захват и перенаправление выводов в файл

# tee --help
Использование: tee [КЛЮЧ]… [ФАЙЛ]…
Копирует стандартный ввод в каждый ФАЙЛ, а также в стандартный вывод.

  -a, --append              дописать в заданные ФАЙЛЫ
...

Применение:
# fsck -nv /dev/sdd* | tee fsck.sdd
# cat fsck.sdd
Все выводы идущие от предыдущей команды, команда tee захватывает и перенаправляет в указанный файл.
Эта общая конструкция удобна, если объём информации идущий в стандартный вывод не помещается в буфер и часть информации может быть утеряна.

Применение tee в качестве одной из функций (функций набора текста) текстового редактора:
$ tee proba > /dev/null
Ну вот теперь всё хорошо:
2+2=4
2*2=5
Oh, no! So bad!
$ cat proba
Ну вот теперь всё хорошо:
2+2=4
2*2=5
Oh, no! So bad!

Обе конструкции, эта и предыдущая, совершенно аналогичны по функциональности:
$ cat > proba2
Всё отлично:
2+3=5
2*3=5
Very, very bad!
$ cat proba2
Всё отлично:
2+3=5
2*3=5
Very, very bad!

и могут применяться в связке с more и sed как замена редактору, если редактор отсутствует совсем.
Или по другим причинам.
Завершение работы обеих: ^D (Ctrl+d)

Например наличие связки
$ ll /bin/cat
-rwxr-xr-x 1 root root 46892 янв  4 13:10 /bin/cat
$ ll /bin/sed
-rwxr-xr-x 1 root root 129360 янв  4 13:10 /bin/sed
$ ll /bin/more
-rwxr-xr-x 1 root root 34536 янв  4 13:11 /bin/more
и отсутствии
$ rpm -qf /bin/vi
vim-minimal-7.3.353-alt2
при размонтированном /usr способно иногда заменить редактор.
« Последнее редактирование: 19.04.2014 00:54:28 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Зеркалирование сайтов
wget -rk -np http://адрес_сайта

При слишком частых запросах может появиться ошибка
403 FORBIDDEN

В этом случае надо заставить wget прикинуться браузером:
wget -rk -np -nc -U "Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20110328 Firefox/24.0" --wait=5 --random-wait  http://адрес_сайта
увеличив время между запросами и сделав его случайным.
« Последнее редактирование: 19.04.2014 00:55:08 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Было бы несправедливо обделить новичков командной строки, пусть и в этой теме.

Великолепнейший, на мой взгляд лучший из увиденного, хорошо проиллюстрированный материал, раскрывающий тайны Command Line Interface - Интерфейс Командной Строки:
http://younglinux.info/book/export/html/10

Базовые основы и основные понятия в примерах, изложены в простой и доступной форме.
Каждый раздел снабжён практическими заданиями и вопросами с помощью которых можно проверить свои знания на прочность.

Нетрудно заметить, что приведённые примеры рассматриваются в среде операционной системы ALT Linux.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Поиск файлов и каталогов не соответствующих UID или GID пользователя
(поиск чужих файлов и каталогов в домашнем каталоге):
$ find /home/user/ \! -user 500 -print -o \! -group 500 -print

Поиск с выводом в подробном формате:
$ ls -la $(find /home/user/ \! -user 500 -print -o \! -group 500 -print)

при условии, что
$ id
uid=500(user) gid=500(user) группы=500(user),...
пользовательские UID/GID=500


Присвоить файлу свой UID
# chown 500 ./.smartout

Присвоить файлу свой GID
# chown :500 ./.smartout
« Последнее редактирование: 01.08.2014 21:55:53 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Поиск устройств подключённых USB-накопителей:
# DEVUSB=$(find /dev/disk/by-id/ -name usb-*) && [ -z "$DEVUSB" ] || \
ls -l $DEVUSB|cut -d '>' -f2|sed 's/ ..\/../\/dev/'|grep -v sd[a-z][1-9]

Поиск устройства USB-накопителя подключённого последним:
# BLKUSB=$(find /dev/disk/by-id/ -name usb-*) && [ -z "$BLKUSB" ] || \
ls -lt --time-style=full-iso $BLKUSB|grep -v sd[a-z][1-9]|head -n 1|cut -d '>' -f2|sed 's/ ..\/../\/dev/'

Поиск устройства USB-накопителя подключённого первым:
# BLKUSB=$(find /dev/disk/by-id/ -name usb-*) && [ -z "$BLKUSB" ] || \
ls -lt --time-style=full-iso -r $BLKUSB|grep -v sd[a-z][1-9]|head -n 1|cut -d '>' -f2|sed 's/ ..\/../\/dev/'

Подробнее здесь и ниже:
http://forum.altlinux.org/index.php/topic,32762.msg231361.html#msg231361
И тут поиск решения с нуля:
http://forum.altlinux.org/index.php/topic,32762.msg231046.html#msg231046
« Последнее редактирование: 14.07.2014 00:39:39 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Инструментарий монтирования съёмных блочных устройств в shell
(usb-flash, cardreader+microSDHC, CD/DVD)

Инструменты отображения состояния съёмных блочных устройств

Самый простой и быстрый способ:
$ lsblk
Его недостаток в том, что он отобразит все блочные устройства, которых в совокупности со съёмными может оказаться очень много. Что малоудобно для просмора.

Следующие три скрипта показывают состояние файловых систем (смонтировано/размонтировано) для блочных usb-устройств, т.е. usb-flash, но не usb-hdd:
$ lsblk -o NAME,MOUNTPOINT,LABEL,FSTYPE $( \
BLKUSB=$(find /dev/disk/by-id/ -name usb-* ) && \
[ -z "$BLKUSB" ] || ls -l --time-style=full-iso $BLKUSB | \
grep -v sd[a-z][1-9]|cut -d '>' -f2|sed 's/ ..\/../\/dev/')
Вывод:
NAME   MOUNTPOINT  LABEL                            FSTYPE
sdb                ISOIMAGE                         iso9660
└─sdb1             ISOIMAGE                         iso9660

$ BLKUSB=$(find /dev/disk/by-id/ -name usb-* \
  | grep -v part | sort) && [ -z "$BLKUSB" ] \
  || lsblk -o NAME,MOUNTPOINT,LABEL,FSTYPE $BLKUSB
Вывод:
NAME   MOUNTPOINT LABEL                            FSTYPE
sdb               ALT Linux altlinux-p7-icewm/i586 iso9660
├─sdb1            ALT Linux altlinux-p7-icewm/i586 iso9660
└─sdb2            alt-live-storage                 ext4

$ find /dev/disk/by-id/ -name usb-* -print0 | \
xargs -r -0 realpath | sort | \
xargs -r lsblk -d -l -o NAME,MOUNTPOINT,LABEL,FSTYPE,SIZE
Вывод:
NAME MOUNTPOINT LABEL                            FSTYPE   SIZE
sdb             ALT Linux altlinux-p7-icewm/i586 iso9660  3,6G
sdb1            ALT Linux altlinux-p7-icewm/i586 iso9660  333M
sdb2            alt-live-storage                 ext4     3,3G


Ещё один инструмент просмотра извлекаемых устройств: lmount - последняя версия:
0. Предположительно в будущем пакете будет именоваться как lsmount
В аттаче еще более универсальный вариант. Отличается от простого на шелл
тем, что:
1. поддерживает и USB-devices, _и_ все removable devices (т.е. должно
нормально понимать CD, флоппики, и т.д.)
Скрипт поддерживает отображение всех извлекаемых блочных устройств, таких как:
оптический привод с матрицей CD/DVD, usb-flash и usb-hdd, который хоть и маркирован как не removable, тем не менее отображается в списке извлекаемых устройств.

2. Не требует упоминания съёмных устройств в каких-либо конфигурационных файлах
3. Требует perl
P.S. Если будет ругаться на Text::Table -- apt-get install perl-Text-Table
Права доступа: 755
Контрольная сумма файла во вложении:
md5sum ./lmount.zip
df6081386c37cbff88dfad2e27fc47fe  ./lmount.zip


И в заключение, команда:
Эта команда, которую можно сделать скриптом или алиасом, покажет состояние файловых систем всех блочных устройств. Может оказаться полезной, например в сборке стартеркита p7-icewm.
$ lsblk -o NAME,MOUNTPOINT,LABEL,FSTYPE,SIZE,MODEL
NAME   MOUNTPOINT LABEL                            FSTYPE    SIZE MODEL
sda                                                        149,1G SAMSUNG HM160H
├─sda1 /                                           ext4     46,6G
├─sda2            home                             ext4    100,6G
└─sda3 [SWAP]                                      swap      1,9G
sdb               ALT Linux altlinux-p7-icewm/i586 iso9660   3,6G TransMemory   
├─sdb1            ALT Linux altlinux-p7-icewm/i586 iso9660   333M
└─sdb2            alt-live-storage                 ext4      3,3G
sdc               ALT Linux altlinux-p7-sysv-tde/i iso9660   7,5G Silicon-Power8
└─sdc1            ALT Linux altlinux-p7-sysv-tde/i iso9660   707M
sdd               ISOIMAGE                         iso9660   3,8G DataTraveler 2
└─sdd1            ISOIMAGE                         iso9660   556M
sr0                                                         1024M DVD-RW GWA-408


Монтирование съёмных блочных устройств usb

Связка hmount + hal

Просмотр наличия блочных usb-устройств
$ hmount -l
</dev/sdb1>=8_17 label: "ALT Linux altlinux-p7-sysv-tde%i" product: "ALT Linux altlinux-p7-sysv-tde%i" FS: "iso9660"
Found 1 devices

Монтирование
$ hmount /dev/sdb1
.... s= <sdb1>

at "/media/sdb1" - указывает куда смонтирована файловая система. При отсутствии, файловая система размонтирована.
$ hmount -l
</dev/sdb1>=8_17  at "/media/sdb1" label: "ALT Linux altlinux-p7-sysv-tde%i" product: "ALT Linux altlinux-p7-sysv-tde%i" FS: "iso9660"
Found 1 devices

Размонтировать файловую систему
$ hmount -u /dev/sdb1

Просмотр, - здесь размонтировано
$ hmount -l
</dev/sdb1>=8_17 label: "ALT Linux altlinux-p7-sysv-tde%i" product: "ALT Linux altlinux-p7-sysv-tde%i" FS: "iso9660"
Found 1 devices


Инструмент pmount

Смонтировать файловую систему в режиме чтение/запись
$ pmount -w /dev/sdb1

Посмотреть состояние и точку монтирования
$ lsblk |grep -v sda
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sdb      8:16   1   3,6G  0 disk
├─sdb1   8:17   1   333M  0 part /media/sdb1
└─sdb2   8:18   1   3,3G  0 part
sr0     11:0    1  1024M  0 rom 

Размонтировать файловую систему
$ pumount /dev/sdb1

Для монтирования файловой системы матрицы DVD или CD, вы должны указать оптический привод
$ cat /etc/pmount.allow
# /etc/pmount.allow
# pmount will allow users to additionally mount all devices that are
# listed here.

/dev/sr0


Инструментарий udisks2

Этот инструмент интересен тем, что не требует настройки /etc/fstab для монтирования файловых систем каких-либо блочных устройств.

Смонтировать файловую систему устройства sda2
$ udisksctl mount -b /dev/sda2
Mounted /dev/sda2 at /media/home.

Смонтировать файловую систему устройства sdb2
$ udisksctl mount -b /dev/sdb2
Mounted /dev/sdb2 at /media/alt-live-storage.

Посмотреть состояние
$ mount|grep sd[a,b]2
/dev/sda2 on /media/home type ext4 (rw,nodev,nosuid,uhelper=udisks2)
/dev/sdb2 on /media/alt-live-storage type ext4 (rw,nodev,nosuid,uhelper=udisks2)

Размонтировать файловые системы
$ udisksctl unmount -b /dev/sda2
Unmounted /dev/sda2.
$ udisksctl unmount -b /dev/sdb2
Unmounted /dev/sdb2.

Использование алиасов для упрощения ввода команды
alias udskmnt='udisksctl mount -b'
alias udskumnt='udisksctl unmount -b'

Использование:
$ udskmnt /dev/sdXY
$ udskumnt /dev/sdXY
« Последнее редактирование: 07.08.2014 21:54:38 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Youtube-dl — загрузка с YouTube в терминале Linux

youtube-dl — утилита для загрузки потокового видео с видеохостингов, таких как youtube. Эта утилита поддерживает загрузку с множества видеохостингов, помимо YouTube, что собственно понятно с названия, поддерживается такие как:

DepositFiles, exfm, FaceBook, Instagram, MTV, NBA, NBCNews, Rutube, Space, Statigram, Steam, Vevo, Vice, viki, Vine, vk.com и т.д. Это малая часть всех ресурсов с которыми работает youtube-dl и этот список постоянно расширяется, с полным списком можно ознакомится тут.

Также, при помощи этой утилиты, есть возможность скачивать видео и с других ресурсов, которые не входят в этот список.

Документацию на утилиту можно почитать тут.

Эта маленькая утилита, но обладает весьма внушительным функционалом, например можно указать: формат, качество, имя сохраняемого файла. Может извлечь аудио-дорожку, есть возможность скачать плейлист, обладает поддержкой прокси.

Описывать процесс установки не буду, у каждого дистрибутива Linux он свой, также можно скачать с офф-сайта. Имеется версия для Windows.

Основные команды youtube-dl

Для простого скачивания, достаточно перейти в нужную директорию и ввести следующею команду:
$ youtube-dl http://www.ссылка-на-видео

Для выбора нужного формата и качества, введем параметр -F:
$ youtube-dl -F http://www.ссылка-на-видео

После чего, на экране появится список возможных форматов, например:
$ [youtube] Setting language
[youtube] d27gTrPPAyk: Downloading webpage
[youtube] d27gTrPPAyk: Downloading video info webpage
[youtube] d27gTrPPAyk: Extracting video information
Available formats:
18 : mp4 [640x360]
43 : webm [640x360]
5 : flv [400x240]
36 : 3gp [320x240]
17 : 3gp [176x144]
135 : mp4 [480p] (DASH Video)
134 : mp4 [360p] (DASH Video)
133 : mp4 [240p] (DASH Video)
160 : mp4 [192p] (DASH Video)
172 : webm [256k] (DASH Audio)
140 : m4a [128k] (DASH Audio)
171 : webm [128k] (DASH Audio)
139 : m4a [48k] (DASH Audio)

Напротив формата имеется цифра, например 18 : mp4 [640x360], вот ее нужно ввести, для выбора качества, после параметра -f:
$ youtube-dl -f 18 http://www.ссылка-на-видео

Для скачивания всего плейлиста, достаточно ввести ссылку на плейлист:
$ youtube-dl -Acitf 18 http://www.youtube.com/playlist?list=ссылка-на-плейлист
-Acitf — это параметры, вот их расшифровка:

    -A — автонумерация.
    -с — в случае обрыва соединения, продолжит с момента обрыва, после повторного ввода команды в том же каталоге.
    -i — игнорирование ошибок.
    -t — назвать файл, так же как имя записи.
    -f 18 — выбор формата и качества (см. выше).

Если нужен только аудио трек, тогда введем аргумент -х:
$ youtube-dl -x http://www.ссылка-на-видео

Для скачивание через прокси, ввести следующие:
$ youtube-dl --proxy XX.XX.XX.XX:Порт http://www.ссылка-на-видео
Где хх.хх.хх.хх — ip адрес прокси сервера и через двоеточие порт.

Скачивание с конвертацией в аудиоформат:
$ youtube-dl -f bestaudio -x --audio-format mp3 <youtube_link>

Не забывайте при этом устанавливать и дополнительные пакеты, - по зависимостям они не подтянутся
# apt-get install youtube-dl avprobe avconv

Команда
youtube-dl -f bestaudio -x --audio-format mp3 <youtube_link>

по-умолчанию конвертирует в аудиофайл с переменным битрейтом (Variable).

Если после конвертации на выходе требуется аудиофайл с фиксированным битрейтом (Constant), укажите этот битрейт опцией и параметром.
Здесь в примере, это 192 kb/s:
$ youtube-dl -f bestaudio -x --audio-format mp3 --audio-quality 192K <youtube_link>


Более подробно о всех доступных параметрах можно почитать введя:
$ youtube-dl -h

Или воспользоватся мануалом:
$ man youtube-dl

Источник с добавлениями by Speccyfighter
« Последнее редактирование: 01.09.2018 12:02:36 от Speccyfighter »

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 099
Арифметический калькулятор, это просто!
$ expr 256 / 8
32
Можно и без expr. Правда, возможно, что это bash-специфика:
$ echo $[256/8]
32
$ echo $[256*8]
2048