Шпаргалка по командам Linux

Шпаргалка по Linux командам терминала (консоли) для Ubuntu, Debian, Rhel, CentOS, AlmaLinux. Шпаргалка включает в себя команды из различных категорий, начиная от базовых файловых операций и заканчивая сетевыми и процессорными управлениями. Вы найдете команды для навигации по файловой системе (например, cd, ls, pwd), управления файлами и каталогами (например, cp, mv, rm, mkdir), а также команды для работы с пользователями и правами доступа (например, useradd, passwd, chmod). Кроме того, Шпаргалка включает в себя команды для работы с сетью (например, ping, wget, netstat) и процессами (например, ps, kill, top), что делает ее полезным ресурсом для тех, кто занимается администрированием серверов или разработкой программного обеспечения.

for k in `find /var/www/ -type f -name *.log -size +1M`; do echo $k && echo > $k ;done
  • Например, нужно реализовать поиск вхождений в файле из списка слов в первом файле, получим такую строку:
grep -f /tmp/list /etc/asterisk/sip.conf
  • Удалить все процессы curl
ps aux  | grep curl  | grep lasl | awk '{ print $2}'  | xargs -I % kill -9 %

TTFB (Time To First Byte) - это метрика производительности веб-страницы, которая измеряет время, прошедшее с момента отправки запроса на сервер до получения первого байта данных от сервера в ответ. Это важный показатель эффективности веб-сайта, поскольку он отражает время, которое требуется серверу для начала отправки данных браузеру после получения запроса.

Для измерения TTFB с помощью инструмента командной строки curl вы можете выполнить следующую команду:

curl -o /dev/null -s -w "TTFB: %{time_starttransfer}\n" <URL>

Эта команда отправляет запрос по указанному URL и измеряет время, прошедшее с момента отправки запроса до получения первого байта данных от сервера. Опция -o /dev/null указывает curl не сохранять тело ответа, -s делает вывод curl более тихим (silent mode), а опция -w "TTFB: %{time_starttransfer}\n" позволяет сформатировать вывод, чтобы отобразить только время первого байта (TTFB).

  • time_starttransfer: обозначает готовность сервера к передаче байтов. То же, что и TTFB (Time To First Byte). Он включает в себя time_pretransfer. Чтобы получить продолжительность этой фазы, нужно просто вычесть time_pretransfer из time_starttransfer.
  • time_total: общая продолжительность всего вызова cURL. Для получения времени передачи данных (их скачивания) нужно вычислить time_total — time_starttransfer.

Реальный пример измерения TTFB:

:~$ curl -sw "%{time_total}\n" 'https://dieg.info' -o /dev/null
2.192508
:~$ curl -sw "%{time_total}\n" 'https://dieg.info' -o /dev/null
0.268822
:~$ curl -sw "%{time_total}\n" 'https://dieg.info' -o /dev/null
0.269864
:~$ curl -sw "%{time_total}\n" 'https://dieg.info' -o /dev/null
0.297842
:~$ curl -sw "%{time_total}\n" 'https://dieg.info' -o /dev/null
0.258807
:~$ curl -sw "%{time_total}\n" 'https://dieg.info' -o /dev/null
0.293936
:~$

При первом обращении TTFB - более 2-х секунд. При всех последующих обращений с интервалом менее одной секунды - ttfb 0.2 секунды.

  • dmesg – Отображает системные сообщения при загрузке системы
  • cat /proc/cpuinfo – Показывает информацию о процессоре
  • cat /proc/meminfo – Показывает информацию об оперативной памяти
  • lshw – Показывает информацию об устройствах
  • lsblk – Показать информацию о жестком диске
  • free -m – Информация о памяти: RAM и swap (переключатель -m в MB)
  • lspci -tv – Показывает информацию об устройствах PCI в виде дерева
  • lsusb -tv – Отображает USB-устройства в древовидном виде.
  • dmidecode – Показывает информацию об устройствах BIOS
  • hdparm -i /dev/xda – Показывает информацию о диске
  • hdparm -tT /dev/xda – Показывает скорость чтения и записи xda
  • badblocks -s /dev/xda – Показывает тест на наличие битых секторов.
  • grep searchargument newfile – Поиск аргумента searchargument в newfile
  • grep -r searchargument newfolder – рекурсивно просматривает все файлы в папке newfolder на наличие поискового аргумента
  • locate newfile – Показывает все местоположения нового файла
  • find /etc/ -name “searchargument” – Находит файлы с именем, начинающимся с searchargument, в каталоге /etc
  • find /etc/ -size +50000k – Найти файлы размером более 50000k в каталоге /etc.

Linux Command Line Cheat Sheet by DaveChild

Изменить имя сервера

sudo hostnamectl set-hostname mydomain

# Sort SIZE

ls -alShr /SSD

# Recursion Copy

cp -ir /etc/avahi/ ~/.avahi_05032022

# Копировать по маске

cp -i $(find . -name "*20220809*") 11/
scp /SSD/vm46 root@xxx.xxx.xxx.xxx:/SSD/
scp test.zip gitlab:/home/darkfire/
scp -P 22799 test.sql.gz  root@xxx.xxx.xxx.xxx:/root/
scp root@xxx.xxx.xxx.xxx:/root/ansible/playbook_LEMP.yml .

Синкается содержимое директории (для удаления нужен ключ –delete)

rsync -avzP /var/www/www-root/data/www/poiskbz/ root@xxx.xxx.xxx.xxx:/var/www/www-root/data/www/poiskbz

ip -6 route show

# Open (listen) ports

netstat -tulpn
ss -tupln

# connects

netstat -ntu|awk '{print $5}'|cut -d: -f1 -s |cut -f1,2 -d'.'|sed 's/$/.0.0/'|sort|uniq -c|sort -nk1 -r
ps auxw | grep post

#Вывести весь полный скомпилированный файл nginx.confи найти домены nginx -T | grep server_name

find . -type f | xargs grep -ni 'app1.test.com'

locate my.cnf | xargs grep -ni 'max_connections'

#Mysql

create database task43topadm;
grant all privileges on task43topadm.* to 'task43topadm'@'localhost' identified by 'toptask41' with grant option;
FLUSH PRIVILEGES;

# 2 variant

create database otglobaltech;
CREATE USER "otglobaltech"@"localhost" IDENTIFIED BY "m68NNTZ7Qp0aFjcQ";
GRANT all privileges ON otglobaltech.* TO "otglobaltech"@"localhost";
FLUSH PRIVILEGES;

mysql -e "SHOW VARIABLES LIKE '%'\G;" | grep innodb_file_per_table -B 1 -A 1

#Screen screen -S darkfire

#netcat (nc)
# check udp port
nc -z -v -u xxx.xxx.xxx.xxx 1194
# check ssh
nc -z -v 185.181.165.6 22
# check rdp 3389 or rdesktop xxx.xxx.xxx.xxx
nc -z -v xxx.xxx.xxx.xxx 3389
Connection to xxx.xxx.xxx.xxx 3389 port [tcp/ms-wbt-server] succeeded!

# Преобразовать список нод в ssh config

cat inventory | grep host | sed 's/ansible_host=//g' | awk '{print "Host "$1,"\n\tHostname " $2, "\n\t User root\n" >> "/home/darkfire/.ssh/config1"}'

# Example FOR

for i in `cat /tmp/domain.txt`;do  /usr/local/mgr5/sbin/mgrctl -m ispmgr webdomain.edit  name=$i  owner=centrmed-new 
 email=admin@domentest.com sok=ok ; done

Представленный набор команд не только упрощает выполнение рутинных задач, но и помогает освежить память при работе с Linux. Независимо от вашего опыта, использование Шпаргалки по Командам Linux — это отличный способ повысить производительность и уверенность в вашей работе. Уверенность в знании команд Linux — ключ к успешному взаимодействию с системой, и эта Шпаргалка — ваш надежный спутник в этом увлекательном путешествии.

PQ VPS сервера в 28+ странах.