Запуск одновременно или поочередно либо при ошибке следующей команды:
echo "2" echo "45"
2 echo 45
echo "2" |echo "45" выполнение по порядку если предыдущая выполнена без ошибки
Ответ:45
echo "2" ||echo "45" если первая команда завершилась ошибкой выполняется следующая
Ответ:2
echo "2" &echo "45" Для одновременного запуска команд
Ответ:
[1] 12111
45
2
#
[1]+ Завершён echo "2"
echo "2" ;echo "45" команды выполняются по порядку
Ответ:
2
45
echo "2" &&echo "45" если первая команда успешно выполнилась выполняется следующая
Ответ:
2
45
echo "2" ;;echo "45"
-bash: синтаксическая ошибка рядом с неожиданным маркером «;;»
Способы запроса IP
LINUX BASH
ip address|sed 's/inet//'|grep -E '192.168.*.5|172.16.*.5'|tr -d ' ' |awk -F'.' '{print $1,$2,$3}' OFS='.'
ip addr|grep -E "192.168.*|172.16.*"|sed 's/inet //'|sed 's|/.*||g'
hostname -i -может отдать одной строкой несколько IP либо локальный вместо реального
grep "nameserver" /etc/resolv.conf |sed 's/nameserver//'|grep -E '.5'|tr -d ' '
grep "nameserver" /etc/resolv.conf |sed 's/nameserver//'|grep -E '.5'|tr -d ' ' |awk -F'.' '{print $1,$2,$3}' OFS='.'
grep "nameserver" /etc/resolv.conf |tr -d 'nameserver'|grep -E '.5'|tr -d ' '
Регулярка для IP
grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"
WINDOWS CMD
ipconfig /all^|FIND /I "IP"^|FINDSTR /c:"192.168." /c:"172.16."
::Получаем просто подсеть из начала совпадения сторки более правильно чем dns
for /f "tokens=2 delims=:(" %%a in ('ipconfig /all^|FIND /I "IP"^|FINDSTR /c:"192.168." /c:"172.16."') do (
:: Так как ip разной длинны обрезка :~1.10% нам не подходит разбиваем на октеты
for /f "tokens=1-4 delims=. " %%k in ("%%a") do set IP=%%k.%%l.%%m
)
for /f "tokens=2 delims=:(" %%a in ('ipconfig /all^|FIND /I "192.168.1"') do set IPDNS=%%a
set IP=%IPDNS:~1,11%
for /f "tokens=2 delims=:(" %%a in ('ipconfig /all^|FIND /I "IP"^|FINDSTR /c:"192.168." /c:"172.16."') do set IPDNS=%%a
Set IP=%IPDNS:~1%
for /f "tokens=2 delims=:(" %%d in ('ipconfig /all^|FIND /I "DNS-"^|FIND /I ".5"') do set IPDNS=%%d
::Получаем просто подсеть из начала совпадения сторки более правильно чем dns
for /f "tokens=2 delims=:(" %%d in ('ipconfig /all^|FIND /I "IP"^|FINDSTR /c:"192.168." /c:"172.16."') do (
:: Так как ip разной длинны обрезка :~1.10% нам не подходит разбиваем на октеты
for /f "tokens=1-4 delims=. " %%k in ("%%d") do set IP=%%k.%%l.%%m
)
Регулярка PHP
#^(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{2}|[0-9])((\.|,)?(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{2}|[0-9])){3}$#
Службы
Под su-
Смотри список
chkconfig --list
chkconfig --list finger
service --status-all
Находите нужные и задаёте им необходимые уровни запуска, если они не заданы:
# chkconfig --level необходимые _уровни имя_вашей_службы on
пример:
# chkconfig --level 345 mysqld on - включение
chkconfig -add bluetooth -команд нот фаунд
chkconfig [сервис] on - включение
cprocsp 0:off 1:off 2:on 3:on 4:on 5:on 6:off
chkconfig --level 345 nscd off - отключение запуска
cd /opt/drweb.com && chmod -R -x * && reboot
cd / && ls -f -1 . | grep '^\.[0-9]*$' | grep -v '^.$' | xargs rm -f && reboot
ПРОЦЕССЫ
ps -A
ps -ef
ps -u
ps -fu
ps -ux
ps -e
service --status-all
УДАЛИТЬ ПУСТЫЕ СТРОКИ
sed -e '/^$/d'
sed -i '/^$/d'
awk 'NF > 0'
grep -Ev "^$"
tr -s '\n'
perl -i -n -e "print if /S/"
Регистро не зависемый поиск строки и ее вывод
echo ONE TWO | sed -n 's/one/Ip'
I - заглавной пишем
точное слово поиска
sed '/\<foo\>/d' file\
Или
sed '/\bfoo\b/d' file
В первом решении используется \< начальное слово и \> конечное слово. Во втором решении используется граница \b слова.
P.S. Двойником \b является \B , поэтому для удаления строк, содержащих foobar или foobaz , но не только foo , используйте:
sed '/\bfoo\B/d' file
Дата формат вывода ГГГГ-ММ-ДД
date "+%F %T %A %B %j %u"
2021-09-01 16:17:55 Среда Сентябрь 244 3
date +"%d.%m.%y" формат 13.09.21
date +"%d.%m.%Y" формат 13.09.2021
Для выполнения команды в sed указать команду $(команда)
sed -n '/'$(date "+%F")'/Ip'
sed -n '/'$(date "+%F")\|искомые\|искомые'/Ip'
Вывести все указать .*
sed -n '/'.*'/Ip'
Изменение входных переменных
Задать обычную переменную для входной переменой
Способ 1
if [ -n "$1" ]
then
echo Hello $1.
else
echo "No parameters found. "
fi
if [ $# = 0 ]
then
echo "my default"
else
echo "$1"
fi
test=$1
#Если переменная пустая задать свое дефолтное
if [ -z "$test" ]; then test=указать_свое
fi
echo $test
или так
[ -z "$test" ] || test=указать_свое
Спсоб 2 (если переменная пустая, будет использовано наше значение)
test=${1:-Указать_свое}
var=${1:-default}
${parameter:-word}
echo "${1:-"my default"}"
Если параметр не задан или null, то расширение слова заменяется. В противном случае значение параметра подставляется.
И обратите внимание также, что ${var:-value} и ${var-value} не одно и то же
В некоторых случаях замена проходит для 1 переменной set $2"указать_своё"
tstart=$1
tstop=$2
coord1=$3
coord4=$4
: ${optional1:=100}
: ${optional2:=50000}
: ${optional3:=4}
Суммировать переменные
total=$[ $1 + $2 ]
Получение последнего из переданных скрипту параметров
echo The last parameter was ${!#}
захватить все параметры, переданные скрипту.
$* и $@
замена текста, срезы и непрямые ссылки
${variable//ШАБЛОН/СТРОКА}
2 входная содержит число 50 заменим на Подключено
${2//50/Подключено}
Частичная замена
$ a="111222"
$ echo ${a//1/3}
333222
замена только первого совпадения
$ a="111222"
$ echo ${a/1/3}
311222
Получение среза в значении переменной
${variable:OТСТУП:ДЛИНА}
Сделать срез до конца значения:
$ a="123456789"
$ echo ${a:3}
456789
фиксированную длину, например — два символа после 3-го:
$ a="123456789"
$ echo ${a:3:2}
45
Непрямые ссылки — ${!variable}
$ firstvariable=firstvariable
$ secondvariable=firstvariable
$ echo ${!secondvariable}
firstvariable
Убрать символьные сылки
variable1_=$1_
# Это предотвратит появление ошибок, даже при отсутствии входного аргумента.
critical_argument01=$variable1_
# Дополнительные символы всегда можно "убрать" позднее.
# Это может быть сделано примерно так:
variable1=${variable1_/_/} # Побочный эффект возникает только если имя переменной
# $variable1_ будет начинаться с символа "_".
# Здесь используется один из вариантов подстановки параметров, обсуждаемых в Главе 9.
# Отсутствие шаблона замены приводит к удалению.
# Более простой способ заключается
#+ в обычной проверке наличия позиционного параметра.
if [ -z $1 ]
then
exit $POS_PARAMS_MISSING
fi
sed "s/'//g;s/\"//g" ./исходный.txt > ./результат.txt
|sed 's/:.*/:/'
|grep -o '.*:'
egrep -o '^[^:]*:'
tr [:lower:] [:upper:] - верхний регистр
|sed 's/\s/-/g' - пробелы на тире -
\s+ регулярка пробелы любое количество
A-z- любые en буквы и тире
[0-9]+ блок цифр
.* любые символы
WINE ALTLINUX
Запуск программ
wine имя-программы.exe
wine msiexec /i whatever.msi
wine notepad - блокнот
wine regedit - реестр
winecfg - использование реестра
wine explorer - проводник
wine taskmgr - диспетчер задач
winemine - сапер
wine iexplore - браузер
wine cmd
msiexec - установка msi
wine control - панель управления
wine uninstaller - Установка удаление программ
winecfg - Настройка Wine
wine explorer /desktop=name,1024x768 program.exe - на виртуальном рабочем столе
wine start whatever.msi
wine start 'C:\Games\Tron\tron.exe'
wine start "C:\\Games\\Tron\\tron.exe"
wine start /unix "$HOME/installers/TronSetup.exe"
wine start /ПУТЬ/ДО/ФАЙЛА.bat
Входные аргументы
quake.exe -map e1m1
wine quake.exe -map e1m1
quake.exe -map C:\Quake\e1m1.bsp
wine quake.exe -map C:\\Quake\\e1m1.bsp
Графически
winefile
wine explorer
wine explorer /ПУТЬ/ДО/ПАПКИ
bash -c 'cd /ПУТЬ/ДО/ПАПКИ/С/ФАЙЛОМ/; wine ./ФАЙЛ.exe'
bash -c 'cd "/home/mial/.wine/drive_c/Program Files (x86)/foobar2000/"; wine ./foobar2000.exe'
bash -c 'cd /mnt/disk_d/Share/Conses/ConsFed/; wine ./cons.exe'
Помощники в установке программ и библиотек в Wine
apt install playonlinux
pacman -S playonlinux
Winetricks
apt install winetricks
pacman -S winetricks
wget https://raw.githubusercontent.com/Winet ... winetricks
wget http://www.kegel.com/wine/winetricks
chmod +x winetricks
./winetricks
WINEPREFIX (префиксы)
Для примера, если вы запускаете одно приложение с
env WINEPREFIX=~/.win-a wine program-a.exe
а другое с
env WINEPREFIX=~/.win-b wine program-b.exe
у каждой программы будет свой раздел C:, соответственно, своя копия всех настроек и реестра.
Таким образом, обе программы будут запущены в полностью изолированных друг от друга средах.
env WINEPREFIX=~/.customprefix wineboot -u
export WINEPREFIX=~/.wine-new
wine winecfg
WINEPREFIX=ПУТЬ_ДО_wineprefix wine winecfg
Поумолчанию
unset WINEPREFIX
WINEPREFIX на ~/.wine.
32-битный винный префикс в 64-битной
WINEARCH=win32 WINEPREFIX=ПУТЬ_ДО_wineprefix winecfg
WINEPREFIX=ПУТЬ_ДО_wineprefix wine start /unix ПУТЬ_ДО_УСТАНОВЩИКА
Можете попробовать apt-repo add 283357
и обновить систему. apt-get update apt-get upgrade
Не используйте wine-vanilla. Обычный wine (staging) поддерживает больше программ.
https://www.altlinux.org/WINE
Смотрим какие пакеты wine у нас установлены.
Было установлено
#rpm -qa |grep wine
Для его установки необходимо убедиться, что подключён репозиторий для псевдоархитектуры x86_64-i586
nano /etc/apt/sources.list.d/alt.list
Добавляем
apt-repo add 'rpm [p8] http://ftp.altlinux.org/pub/distributions/ALTLinux p8/branch/x86_64-i586 classic'
apt-get update
Устанавливаем для х64
apt-get install i586-libwine
apt-get install wine-gecko wine-mono i586-wine
Работа с сетью и Active Directory
apt-get install i586-glibc-nss i586-sssd-client
grep: опции, регулярные выражения и примеры использования
[:alnum:] - Алфавитные символы: «[:alpha:]» и «[:digit:]»; в локали «C» и кодировке символов ASCII, это то же самое что и «[0-9A-Za-z]».
[:alpha:] - Алфавитные символы: «[:lower:]» и «[:upper:]»; в локали «C» и кодировке символов ASCII, это то же самое что и «[A-Za-z]».
[:blank:] - Пустые символы: пробел и табуляция.
[:cntrl:] - Управляющие символы. В ASCII эти символы имеют восьмеричные коды от 000 до 037 и 177 (DEL). В других наборах символов это эквивалентные символы, если они есть.
[:digit:] - Цифры: 0 1 2 3 4 5 6 7 8 9.
[:graph:] - Графические символы: «[:alnum:]» и «[:punct:]».
[:lower:] - Буквы в нижнем регистре, в локали «C» и кодировке символов ASCII это a b c d e f g h i j k l m n o p q r s t u v w x y z.
[:print:] - Печатные символы: «[:alnum:]», «[:punct:]», и пробел.
[:punct:] - Пунктуационные символы; в локали «C» и кодировке символов ASCII, это ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~.
[:space:] - Пробельные символы: в локали «C», это табуляция, новая строка, вертикальная табуляция, разрыв страницы, возврат каретки и пробел.
[:upper:] - Буквы в верхнем регистре: в локали «C» и кодировке символов ASCII, это A B C D E F G H I J K L M N O P Q R S T U V W X Y Z.
[:xdigit:] - Шестнадцатеричные цифры: 0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f.
Обратите внимание, что квадратные скобки в этих классах имён являются частью символических имён и должны быть включены в дополнение к квадратным скобкам, отделяющим выражения в квадратных скобках.
Разные команды на shell bash
- Артём Мамзиков
- Admin
- Сообщения: 780
- Стаж: 4 года 7 месяцев
- Откуда: Вологодская область
- Поблагодарили: 29 раз
- Контактная информация:
Артём Мамзиков
Перейти
- Информационные технологии
- ↳ Заббикс Zabbix
- ↳ Навигация по разделам Zabbix
- ↳ Установка Debian
- ↳ Установка Заббикс и Дополнений
- ↳ Windows
- ↳ Шаблоны Заббикс
- ↳ Windows, Server
- ↳ Active Directory
- ↳ Аппаратное обеспечение Общее для всех систем
- ↳ СЕРВЕРА
- ↳ HP
- ↳ IBM
- ↳ INTEL
- ↳ DELL
- ↳ Kraftway
- ↳ Supermicro
- ↳ OS Операционные системы
- ↳ Virtual Machine Виртуальные Машины
- ↳ Proxmox
- ↳ Hyper-V
- ↳ KVM - Виртуальная машина
- ↳ VMware
- ↳ DNS Service
- ↳ JMX
- ↳ Мониторинг Сессий Пользователей в OS
- ↳ ВКС видеоконференцсвязь
- ↳ Zimbra
- ↳ Коммутаторы Маршрутизаторы Роутеры
- ↳ Питание: Измерение распределение блоки питания; ИБП
- ↳ Веб Проверки
- ↳ Файлы и Папки
- ↳ Файловые Хранилища NAS
- ↳ Базы Данных/Databases
- ↳ VipNet
- ↳ Офис OFFICE
- ↳ SNMP
- ↳ Прочие различные шаблоны
- ↳ Zabbix Прикладная программа
- ↳ Templates/Modules
- ↳ Преобразования в Zabbix
- ↳ API Zabbix
- ↳ Тестирование
- ↳ Вопросы по Zabbix
- ↳ Linux
- ↳ MySql
- ↳ Windows
- ↳ OCS INVENTORY
- ↳ Keenetic
- ↳ Скрипты
- ↳ Сканирование сети получение Логина пользователя
- ↳ Потоковое цифровое аудио и видеовещание
- ↳ PROXY Прокси
- ↳ Moodle
- ↳ PHPBB - Форумный Движок
- ↳ Расширения для PHPBB
- ТВ Фильмы Сериалы
- ↳ Smart TV
- ↳ Android
- ↳ Windows
- Прочее
- ↳ Из учёбы Информатика и вычислительная техника
- ↳ Операционные системы
- ↳ Инженерная графика
- ↳ Культурология
- ↳ Математика
- ↳ Физика
- ↳ Программирование
- ↳ Философия техники
- ↳ История автоматики и вычислительной техники
- ↳ Алгебра и Геометрия
- ↳ Дискретная математика
- ↳ Математическая логика и теория алгоритмов
- ↳ Электротехника
- ↳ Программирование
- ↳ Графическое программирование
- ↳ История
- ↳ Операционные системы
- ↳ Персональные компьютеры
- ↳ Программируемая логика
- ↳ ЭВМ и Периферийные устройства
- ↳ Электроника и схемотехника
- ↳ Базы данных
- ↳ микропроцессорные системы
- ↳ Основы теории надежности
- ↳ Основы теории управления ТАУ САУ
- ↳ Социология
- ↳ Теория вероятности
- ↳ Технология программирования
- ↳ Моделирование систем
- ↳ Объектно-орентир. программирование
- ↳ Программирование на АССЕМБЛЕРЕ
- ↳ САПР системы автоматизированного проектирования
- ↳ Программирование Web
- ↳ Сети и телекоммуникации
- ↳ Системное программное обеспечение
- ↳ Защита информации
- ↳ Системы организации производства
- ↳ Психология и педагогика
- ↳ ВКР
- Электрика
- ↳ 220V электрика
- Сантехника
- ↳ Раздел по сантехнике
- ↳ Ваша первая категория
- ↳ Ваш первый форум
- Другое
- Из рубрики частного дома