Linux
الذهاب إلى القناة على Telegram
Все для системного администратора, новости и информация из мира Linux По всем вопросам @evgenycarter
إظهار المزيد2 345
المشتركون
لا توجد بيانات24 ساعات
-237 أيام
-20130 أيام
أرشيف المشاركات
2 344
Полезные команды Linux. Другие полезные команды
#
alias hh='history'
Создать псевдоним hh для команды history
# apropos ...keyword
Вывод комманд, так или иначе относящихся к ключевым словам. Полезно, когда вы знаете что делает программа, но не помните команду
# chsh
Изменить системную оболочку пользователя
# gpg -c file1
Шифрует файл file1 с помощью GNU Privacy Guard
# gpg file1.gpg
Дешифрует файл file1 с помощью GNU Privacy Guard
# ldd /usr/bin/ssh
Список библиотек, используемых программой ssh
# man ping
Ввывод страниц руководства по работе с программой, в данном случае, ping
# mkbootdisk --device /dev/fd0 `uname -r`
Создаёт загрузочный флоппи-диск
# wget -r www.example.com
Рекурсивно загружает содержимое сайта www.example.com
# wget -c www.example.com/file.iso
Загрузить файл www.example.com/file.iso с возможностью остановки и докачки
# echo 'wget -c www.example.com/files.iso' | at 09:00
Включить закачку в определенное время
# whatis ...keyword
Вывести описание действий указанной программы
# who -a
Вывести список залогиненных пользователей, время последней загрузки системы и прочую полезную информацию
👉@linuxchmod2 344
🖥 Bash-скрипты, руководство в 11 частях
Bash-скрипты: начало
Bash-скрипты, часть 2: циклы
Bash-скрипты, часть 3: параметры и ключи командной строки
Bash-скрипты, часть 4: ввод и вывод
Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями
Bash-скрипты, часть 6: функции и разработка библиотек
Bash-скрипты, часть 7: sed и обработка текстов
Bash-скрипты, часть 8: язык обработки данных awk
Bash-скрипты, часть 9: регулярные выражения
Bash-скрипты, часть 10: практические примеры
Bash-скрипты, часть 11: expect и автоматизация интерактивных утилит
👉@linuxchmod
2 344
Полезные команды Linux. Мониторинг и отладка системы
#
free -m
Вывод статистики по оперативной памяти
# kill -9 proc_id
Убить процесс с PID proc_id, без соблюдения целостности данных, то есть насмерть
# kill -1 proc_id
Перечитать файл конфигурации процессом с PID proc_id
# last reboot
Вывод истории ребутов системы
# lsof /home/user1
Вывести список открытых файлов из директории /home/user1
# lsof -p proc_id
Вывести список файлов, открытых процессом с PID proc_id
# lsmod
Список загруженных модулей ядра
# ps -e -o pid,args --forest
Вывести список PID'ов и процессов в виде дерева
# ps -eafw
Отобразить работающие в системе процессы, используемые ими ресурсы и другую полезную информацию ( единожды )
# pstree
Вывести дерево процессов
# smartctl -i /dev/hda
Проверить доступность SMART на жёстком диске /dev/hda
# smartctl -A /dev/hda
Проверка состояния жёсткого диска /dev/hda через SMART
# strace -c ls >/dev/null
Вывести список системных вызовов, созданных и полученных процессом ls
# strace -f -e open ls >/dev/null
Вывести список вызовов системных бибилотек
# tail /var/log/messages
Вывести десять последних записей из системного журнала
# tail /var/log/dmesg
Вывести десять последних записей из журнала загрузки ядра
# top
Вывести список работающих в системе процессов с различной полезной информацией в режиме реального времени с автоматическим обновлением данных
# watch -n1 'cat /proc/interrupts'
Выводить прерывания в режиме реального времени
👉@linuxchmod2 344
Полезные команды Linux. Фаервол IPTABLES, штатный, для большинства дистрибутивов Linux
# iptables -t filter -L
Вывести список всец цепочек правил
# iptables -t nat -L
Вывести все цепочки из NAT таблицы
# iptables -t nat -F
Очистить все цепочки правил в таблице NAT
# iptables -t filter -X
Очистить все пользовательские цепочки правил в таблице filter
# iptables -t filter -F
Очистить все цепочки правил в таблице filter
# iptables -t filter -A INPUT -p tcp --dport telnet -j ACCEPT
Разрешить входящие соединения с telnet
# iptables -t filter -A OUTPUT -p tcp --dport http -j DROP
Запретить исходящие HTTP соединения
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
включить NAT (Network Address Translate) исходящих пакетов на интерфейс eth0. Допустимо при использовании с динамически выделяемыми ip-адресами.
# iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp --dport 22 -j DNAT --to-destination 10.0.0.2:22
Пересылка пакетов, адресованных одному хосту, на другой хост
# iptables -t filter -A INPUT -j LOG --log-prefix
Включить логгирование пакетов, проходящих через цепочку INPUT, и добавлением к сообщению префикса "DROP INPUT"
# iptables -t filter -A FORWARD -p tcp --dport pop3 -j ACCEPT
Разрешить форвардинг POP3 соединений
👉@linuxchmod2 344
Восстановление удаленных файлов на ext3
Для восстановления файлов будем пользоваться утилитой ext3grep. Сначала установим её при помощи пакетного менеджера вашего дистрибутива. Например так:
# apt-get install ext3grep
Последовательность действий
Прежде чем приступить к восстановлению файлов, необходимо отмонтировать раздел с которым предстоит работать. Ни в коем случае не запускайте процесс на неотмонтированном разделе
# umount /mnt/sdb1/
Попробуем поискать удаленный файл по части его названия
# ext3grep --dump-names /dev/sdb1 |grep -i xxx
Эта команда должна выдать имена файлов, содержащие подстроку xxx. При обработке больших разделов придется набраться терпения и немного подождать. После этого выбираем нужный файл и даем команду на восстановление
# ext3grep --restore-file xxx.avi /dev/sdb1
Восстановленный файл будет помещен в каталог RESTORED_FILES рабочей директории. После этого монтируем раздел и перемещаем файл на прежнее место.
# mount /mnt/sdb1
# mv RESTORED_FILES/xxx.avi -t /mnt/sdb1/
Утилита ext3grep имеет много других опций и фильтров для поиска файла, поэтому обязательно ознакомьтесь со справкой man ext3grep. И помните, чем быстрее после случайного удаления файла произвести его восстановление, тем больше шансов на успех этой операции.
👉@linuxchmod2 344
Полезные команды Linux. Microsoft Windows networks (samba)
# mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share
Монтировать smb-ресурс, расшаренный на windows-машине, в папку локальной файловой системы
# nbtscan ip_addr
Преобразовать имя netbios. Программа nbtscan не во всех системах присутствует по-умолчанию, nmblookup включен в пакет samba
# nmblookup -A ip_addr
Преобразовать имя netbios. Программа nbtscan не во всех системах присутствует по-умолчанию, nmblookup включен в пакет samba
# smbclient -L ip_addr/hostname
Вывести список ресурсов, выделенных в общий доступ на windows-машине
# smbget -Rr smb://ip_addr/share
Аналог программы wget для SMB протокола
👉@linuxchmod2 344
+6
System Monitoring Center – Инструмент для мониторинга производительности и использования системы на основе GTK и Python
Оссобености:
• Мониторинг ЦП, ОЗУ, диска, сети, ГП, информации об оборудовании
• Мониторинг и управление процессами, пользователями, устройствами хранения, запускаемыми приложениями, службами (systemd) и переменными среды
• Мониторинг общей системной информации
• Параметры настройки для каждой вкладки
• Низкое использование системных ресурсов при мониторинге
• Предоставляет справочную информацию при наведении курсора мыши на несколько объектов графического интерфейса
• Адаптируется к теме системы
https://github.com/hakandundar34coding/system-monitoring-center
👉@linuxchmod
2 344
Примеры типовых операций в bash-скриптах
1.Ввод-вывод, перенаправление
#!/bin/bash
# Любой shell-скрипт всегда начинается со строчки #!/bin/bash (или #!/bin/sh)
# Комментарии всегда начинаются со знака #
# Для того, чтоб вывести на экран сообщение, используем команду ECHO
echo "hello, world"
# а это пример форматированного вывода... почти как в Си
printf "форматированный вывод десять=%d строка=%s float=%f шестнадцатиричное_число=0x%X\n" 10 "строка" 11.56 234
# пример чтения ввода с клавиатуры
read A
echo $A
printf "
вы только что ввели слово: %s\n" "$A"
#перенаправление, конвейеры, получение результата вывода другой программы
# пример генерации пароля из 10 букв
PASSWORD1=`cat /dev/urandom | tr -d -c 'a-zA-Z0-9' | fold -w 10 | head -1`
echo Password=$PASSWORD1
#кавычки вида `` дают результат вывода на экран того, что внутри них (т.е. выполняется
#программа или скрипт, написанные внутри таких кавычек и результат, выводимый ими на
#стандартный вывод является результатом операции "обратные кавычки"
#в данном случае результатом является вывод конвейера из нескольких программ.
#операция | обозначает конвейер. Т.е. в нашем примере:
#cat /dev/urandom выводит на стд.вывод содержимое файла /dev/urandom (спец.файл для генерации псевдослуч.чисел)
#tr осуществляет трансляцию,т.е. заменяет одни байты другими (это нужно, чтоб избежать появления в пароле непе-
#чатаемых символов)
#fold разбивает то, что ей пришло на стд.ввод на строки длиной 10 символов и выводит это на стд.вывод
#head -1 выводит первую строчку того, что ей пришло на стандартный ввод.
# или так:
PASSWORD2=`cat /dev/urandom | tr -dc _A-Z-a-z-0-9 | head -c10`
echo Password=$PASSWORD2
Не забываем, что для того, чтоб скрипт можно было запустить, надо изменить права доступа к нему, добавив возможность исполнения файла, например командой
chmod a+x script.sh
2.Арифметические действия, циклы по кол-ву раз
#!/bin/bash
A="10"
B="5"
C=`expr $A + $B`
printf "A=10 B=5 C=expr \$A + \$B C=%d \n" "$C"
# пример цикла по i
I=0
while [ $I -lt 15 ]
do
printf "0x%02x " "$I"
I=`expr $I + 1`
done
echo
3.Разного рода проверки
#!/bin/bash
# пример проверки существования файла
# создаем файл test1
touch test1
# проверяем существование файла test1
if [ -f test1 ] ; then
echo "файл test1 существует"
fi
# проверяем несуществование файла test2
if ! [ -f test2 ] ; then
echo "файл test2 не существует"
fi
# краткая справка по другим опциям команды [ ]
# -d filename директория существует
# -f filename файл существует
# -L filename символьная ссылка существует
# -r, -w, -x файл доступен для чтения, записи или выполнения
# -s filename файл существует и имеет ненулевую длину
# f1 -nt f2 f1 новее чем f2
# f1 -ot f2 f1 старше чем f2
4.Работа с FTP в скрипте.
#!/bin/bash
ADDRESS=192.168.1.150
USER=root
PASSWORD=root
ftp -n -p ADDRESS <<EoF
user USER PASSWORD
cd /usr/bin
put my_cool_program
quit
EoF
exit 0
5.Работа с telnet в скрипте.
#!/bin/bash
(
sleep 1
echo "root"
echo "cd /tmp"
echo "ls"
sleep 1
echo "quit"
) | telnet 192.168.1.150
Примечание: в этом случае root логинится без пароля, если нужен пароль, то надо добавить после echo "root" еще одно эхо с паролем.
Прочее полезное.
#!/bin/bash
# пример цикла по множеству значений
for A in раз два три четыре пять
do
echo "$A,"
done
echo "вышел заяц погулять"
echo
👉@linuxchmod2 344
Полезные команды Linux. Сети (LAN / WiFi)
#
dhclient eth0
Включить DHCP на сетевом интерфейсе eth0
# ethtool eth0
Вывод статистики по сетевому интерфейсу eth0
# hostname
Вывести имя компьютера
# host www.example.com
Преобразовать домен www.example.org в ip-адрес и наоборот
# ifconfig eth0
Вывести настройки сетевой карты eth0
# ifconfig eth0 promisc
Переключить интерфейс eth0 в promiscuous-режим для сбора ( сниффинг ) сетевых пакетов
# ifup eth0
Включить сетевой интерфейс eth0
# ifdown eth0
Отключить сетевой интерфейс eth0
# ifconfig eth0 192.168.1.1 netmask 255.255.255.0
Назначить IP адрес и маску сетевому интерфейсу eth0
# ip link show
Вывести статус связи всех сетевых интерфейсов
# iwconfig eth1
Вывести конфигурацию беспроводного сетевого интерфейса eth1
# iwlist scan
Сканирование и поиск беспроводных сетей и точек доступа
# mii-tool eth0
Вывести состояние связи сетевого интерфейса eth0
# nslookup www.example.com
Ресольвить ( преобразовать/разрешить ) доменное имя www.example.org в ip-адрес и наоборот
# route -n
Песать локальной таблицы маршрутизации
# route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1
Добавить статический маршрут в сеть 192.168.0.0/16 через шлюз с ip-адресом 192.168.1.1
# route add -net 0/0 gw IP_Gateway
Назначить ip-адрес шлюза по умолчанию ( default gateway )
# route del 0/0 gw IP_gateway
Удалить ip-адрес шлюза по умолчанию ( default gateway )
# netstat -tup
Выводит листинг всех установленных соединений по протоколам TCP и UDP без разрешения имён в ip-адреса а так-же PID'ы и имена процессов, обслуживающих данные соединения
# netstat -tupl
Вывод списка соединений по протоколам TCP и UDP без разрешения имён в ip-адреса а так-же и PID'ы и имена процессов, ожидающих соединений на сетевых портах
# netstat -rn
Вывести таблицу маршрутизации, аналог команды route -n
# echo "1" > /proc/sys/net/ipv4/ip_forward
Разрешить форвардинг ( пересылку ) пакетов
# tcpdump tcp port 80
Отлавливать и выводить весь трафик на TCP-порт 80 (обычно - HTTP)
# whois www.example.com
Вывести информацию о доменном имени из базы данных whois
👉@linuxchmod2 344
Полезные команды Linux. Резервное копирование ( Backup )
#
find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2
Поиск всех файлов, заканчивающихся на ".log" в директории /var/log, и упаковка их в bzip-архив
# find /home/user -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents
Поиск в директории /home/user файлов, имена которых оканчиваются на ".txt", и копирование их в другую директорию
# rsync -rogpav --delete /home /tmp
Синхронизировать директории /tmp и /home
# rsync -az -e ssh --delete ip_addr:/home/public /home/local
Синхронизировать локальную и удаленную директории через ssh туннель используя сжатие
# rsync -rogpav -e ssh --delete /home ip_address:/tmp
Синхронизация через SSH туннель
# rsync -az -e ssh --delete /home/local ip_addr:/home/public
Синхронизировать удалённую директорию с локальной используя ssh туннель со сжатием
# dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz'
Создать "слепок" локального диска в файл на удалённом сервере используя ssh туннель
# dd if=/dev/hda of=/dev/fd0 bs=512 count=1
Создание копии MBR ( Master Boot Record ) с /dev/hda на флоппи-диск
# dd if=/dev/sda of=/tmp/backup
Создание резервной копии содержимого жесткого диска в файл backup
# dd if=/dev/fd0 of=/dev/hda bs=512 count=1
Восстановить MBR с флоппи-диска на /dev/hda
# dump -0aj -f /tmp/home0.bak /home
Создать полную резервную копию директории /home в файл /tmp/home0.bak
# dump -1aj -f /tmp/home0.bak /home
Создать инкрементную резервную копию директории /home в файл /tmp/home0.bak
# restore -if /tmp/home0.bak
Восстановить данные из резервной копии /tmp/home0.bak
# tar -Puf backup.tar /home/user
Создать инкрементную резервную копию директории /home/user в файл backup.tar сохраняя права доступа
# ( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p'
Упаковка в архив и копирование содержимого /tmp/local в директорию /home/share/ удалённого сервера, используя ssh туннель
# ( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p'
Упаковка в архив и копирование содержимого /home в директорию /home/backup-home удалённого сервера, используя ssh туннель
# tar cf - . | (cd /tmp/backup ; tar xf - )
Упаковка в архив и копирование одной директории в другую с сохранением прав доступа и ссылок
👉@linuxchmod2 344
Полезные команды Linux. Форматирование файловой системы
# fdformat -n /dev/fd0
Форматирование флоппи-диска без проверки
# mkfs /dev/hda1
Создать файловую систему linux на разделе hda1
# mke2fs -j /dev/hda1
Создать журналируемую файловую систему ext3 на разделе hda1
# mke2fs /dev/hda1
Создание файловой системы ext2 на разделе hda1
# mkfs -t vfat 32 -F /dev/hda1
Создать файловую систему FAT32 на разделе hda1
👉@linuxchmod2 344
Команды мониторинга и отладки
top отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (с автоматическим обновлением данных)
ps -eafw отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (единожды)
ps -e -o pid,args --forest вывести PID’ы и процессы в виде дерева
pstree отобразить дерево процессов
kill -9 98989
kill -KILL 98989
«убить» процесс с PID 98989 «на смерть» (без соблюдения целостности данных)
kill -TERM 98989 Корректно завершить процесс с PID 98989
kill -1 98989
kill -HUP 98989 заставить процесс с PID 98989 перепрочитать файл конфигурации
lsof -p 98989 отобразить список файлов, открытых процессом с PID 98989
lsof /home/user1 отобразить список открытых файлов из директории /home/user1
strace -c ls > /dev/null вывести список системных вызовов, созданных и полученных процессом ls
strace -f -e open ls > /dev/null вывести вызовы бибилотек
watch -n1 ‘cat /proc/interrupts’ отображать прерывания в режиме реального времени
last reboot отобразить историю перезагрузок системы
last user1 отобразить историю регистрации пользователя user1 в системе и время его нахождения в ней
lsmod вывести загруженные модули ядра
free -m показать состояние оперативной памяти в мегабайтах
smartctl -A /dev/hda контроль состояния жёсткого диска /dev/hda через SMART
smartctl -i /dev/hda проверить доступность SMART на жёстком диске /dev/hda
tail /var/log/dmesg вывести десять последних записей из журнала загрузки ядра
tail /var/log/messages вывести десять последних записей из системного журнала
👉@linuxchmod2 344
Основы SQL
00:00 - подготавливаем базу
04:36 - выбираем данные SELECT
08:30 - указываем текущую базу данных
09:58 - чувствительность к регистру
12:14 - выбор определенных колонок
15:28 - фильтрация с помощью WHERE
20:59 - фильтрация с И и ИЛИ
26:38 - поиск строки по шаблону
29:18 - свой среди чужих
31:26 - NULL когда данные отсутствуют
34:27 - сортировка данных в SQL
38:37 - добавление записей с помощью SQL запроса
45:36 - обновление данных с помощью SQL
52:32 - удаляем данные из базы с помощью SQL
👉@linuxchmod
2 344
Полезные команды Linux. Файловая система SWAP ( файл подкачки )
# mkswap /dev/hda3
Создание swap-пространство на разделе hda3
# swapon /dev/hda3
Включить swap-пространство, расположенное на разделе hda3
# swapon /dev/hda2 /dev/hdb3
Активировать swap-пространства, расположенные на разделах hda2 и hdb3
👉@linuxchmod2 344
Полезные команды Linux. Конвертирование соодержимого текстовых файлов
# dos2unix filedos.txt fileunix.txt
Конвертировать содержимое текстового файла из MSDOS кодировки в UNIX кодировку (разница в символах возврата коретки)
# unix2dos fileunix.txt filedos.txt
Конвертировать содержимое текстового файла из UNIX кодировки в MSDOS кодировку (разница в символах возврата коретки)
# recode ..HTML < page.txt > page.html
Конвертировать содержимое тестового файла page.txt в html-файл page.html
# recode -l | more
Вывести список доступных форматов
👉@linuxchmod2 344
Шпаргалка по VeraCrypt — бесплатной и популярной программе для шифрования дисков и создания зашифрованных контейнеров.
Основные возможности VeraCrypt:
1. Создание зашифрованных контейнеров: можно создать зашифрованный файл-образ, который будет выступать в качестве виртуального зашифрованного диска.
2. Шифрование разделов и целых дисков: можно зашифровать как отдельные разделы, так и целый жесткий диск.
3. Поддержка скрытых томов: позволяет создать скрытый зашифрованный том внутри основного тома, чтобы защитить от попыток принудительного раскрытия данных.
4. Шифрование системного диска: поддерживает шифрование разделов с операционной системой, требуя пароль при загрузке компьютера.
5. Мультиплатформенность: доступен на Windows, macOS и Linux.
Шаги по созданию зашифрованного контейнера:
1. Установка VeraCrypt:
- Скачать VeraCrypt с официального сайта и установить на свою систему.
2. Создание зашифрованного тома:
1. Откройте VeraCrypt и нажмите на кнопку "Создать том" (Create Volume).
2. Выберите "Создать зашифрованный контейнер файла" (Create an encrypted file container).
3. Укажите, что это будет "Стандартный том VeraCrypt" (Standard VeraCrypt volume) или "Скрытый том" (Hidden VeraCrypt volume) — для повышенной защиты.
4. Выберите место на диске, где будет создан файл-образ, задайте ему имя.
5. Выберите алгоритм шифрования и хэш-функцию (по умолчанию AES и SHA-512 — хорошие варианты).
6. Укажите размер тома. Он должен соответствовать объему данных, которые вы планируете хранить в контейнере.
7. Задайте надежный пароль для тома.
8. В качестве опции можно выбрать использование файлов ключей для дополнительной безопасности.
9. Выберите файловую систему (NTFS, FAT, exFAT, ext4 в зависимости от вашей ОС и целей использования).
10. Перемешайте мышью в окне для генерации ключей, затем нажмите "Форматировать".
3. Монтирование зашифрованного тома:
1. Откройте VeraCrypt и выберите пустой слот в главном окне.
2. Нажмите "Файл", выберите созданный ранее зашифрованный файл-образ.
3. Нажмите "Подключить", введите пароль, и том будет смонтирован как виртуальный диск, с которым можно работать как с обычным диском.
4. Демонтаж тома:
- Когда закончите работу, выберите том в окне VeraCrypt и нажмите "Отключить" (Dismount).
Полезные команды:
- Шифрование системного раздела: выбирайте "Шифровать системный раздел/диск" в мастере создания тома.
- Проверка тома на ошибки: выберите том и в меню "Том" выберите "Проверить на ошибки".
- Резервное копирование заголовка тома: важно сохранить заголовок в случае его повреждения. Меню "Том" → "Резервная копия заголовка тома".
Важные моменты:
- Пароль: используйте длинные пароли (не менее 20 символов), включающие символы, цифры и буквы. Простые пароли легко поддаются взлому.
- Скрытые тома: если вас принуждают к раскрытию данных, скрытый том может помочь скрыть настоящие данные внутри поддельного тома.
- Алгоритмы шифрования: VeraCrypt поддерживает несколько алгоритмов шифрования (AES, Serpent, Twofish и комбинации). AES — стандартный и быстрый, для повышенной безопасности можно использовать комбинации.
Системные требования:
- Производительность: Шифрование может снизить производительность, особенно на слабых системах. Рекомендуется использовать SSD для ускорения работы.
- Поддержка TRIM: VeraCrypt не поддерживает TRIM на зашифрованных SSD, что может привести к снижению производительности со временем.
👉@linuxchmod
2 344
Объединение команд - последовательное и параллельное выполнение в bash
Символы групповых операций
Мы уже изучили достаточно команд и наверняка возникал вопрос как применить данные команды сразу к группе файлов. Например, за раз скопировать несколько файлов в каталог или наоборот удалить ненужные файлы. Делать одну и ту же операцию один за другим довольно утомительное и ненужное занятие.
Поэтому в Linux имеются специальные символы, которые позволяют проводить данные операции над несколькими файлами.
https://telegra.ph/Obedinenie-komand---posledovatelnoe-i-parallelnoe-vypolnenie-v-bash-10-12
👉@linuxchmod
2 344
Полезные команды Linux. Манипуляции с текстом
#
cat -n file1
Вывести содержимое файла, нумеруя выводимые строки
# cat example.txt | awk 'NR%2==1'
Вывести только не четные строки файла
# echo a b c | awk '{print $1,$3}'
Вывести первую и третью колонки. Разделение, по-умолчанию, по пробельным символам или символу табуляции
# echo a b c | awk '{print $1}'
Вывести первую колонку содержимого файла. Разделение, по-умолчанию, по пробельным символам или символу табуляции
# comm -3 file1 file2
Сравнить содержимое двух файлов, удаляя строки встречающиеся в обоих файлах
# comm -1 file1 file2
Сравнить содержимое двух файлов, не отображая строки принадлежащие файлу file1
# comm -2 file1 file2
Сравнить содержимое двух файлов, не отображая строки принадлежащие файлу file2
# grep [0-9] /var/log/messages
Отобрать и вывести строки содержащие цифровые символы из файла /var/log/messages
# grep ^Aug /var/log/messages
Отобрать и вывести строки, начинающиеся с сочетания символов "Aug", из файла /var/log/messages
# grep Aug /var/log/messages
Отобрать и вывести строки, содержащие сочетание символов "Aug" из файла /var/log/messages
# grep Aug -R /var/log/*
Отобрать и вывести строки, содержащие сочетание символов "Aug", из всех файлов, расположенных в директории /var/log и ниже
# paste -d '+' file1 file2
Объединить содержимое file1 и file2 в виде таблицы с разделителем "+"
# paste file1 file2
Объединить содержимое file1 и file2 в виде таблицы: строка 1 из file1 = строка 1 колонка 1-n, строка 1 из file2 = строка 1 колонка n+1-m
# sdiff file1 file2
Сравнить содержимое двух файлов
# sed 's/string1/string2/g' example.txt
Заменить string1 на string2 в файле example.txt и вывести содержимое
# sed '/ *#/d; /^$/d' example.txt
Удалить пустые строки и комментарии из файла example.txt
# sed '/^$/d' example.txt
Удалить пустые строки и комментарии из файла example.txt
# sed -e '1d' exampe.txt
Удалить первую строку из файла example.txt
# sed -n '/string1/p'
Отобразить только строки содержащие string1
# sed -e 's/string//g' example.txt
Удалить строку string1 из текста файла example.txt не изменяя всего остального
# sed -e 's/ *$//' example.txt
Удалить пустые символы в конце каждой строки файла example.txt
# sed -n '5p;5q' example.txt
Вывести пятую строку
# sed -n '2,5p' example.txt
Вывести строки со второй по пятую
# sed -e 's/00*/0/g' example.txt
Заменить последовательность из любого количества нулей одним нулём
# sort file1 file2
Вывести отсортированное содержимое двух файлов
# sort file1 file2 | uniq
Вывести отсортированное содержимое двух файлов исключая повторные значения
# sort file1 file2 | uniq -u
Вывести уникальные значения из отсортированного содержимого двух файлов
# sort file1 file2 | uniq -d
Вывести только повторяющиеся значения из отсортированного содержимого двух файлов
# echo 'word' | tr '[:lower:]' '[:upper:]'
Перевести символы нижнего регистра в верхний
👉@linuxchmod
متاح الآن! بحث تيليغرام 2025 — أهم رؤى العام 
