CMD's
Перенаправление вывода/ввода
-
< file: Используйте
file
в качестве источника стандартного ввода.sort < unsorted.txt
Эта команда отсортирует содержимое
unsorted.txt
. -
> file: Прямой стандартный вывод в
file
. Создайте файл, если он не существует, или перезапишите его, если он существует.echo "Hello, Linux!" > greetings.txt
Это напишет "Hello, Linux!" в
greetings.txt
, перезаписать любой существующий контент. -
2> file: Направьте стандартную ошибку на
file
. Создайте файл, если он не существует, или перезапишите его, если он существует.grep "pattern" missingfile.txt 2> errors.txt
Это попытка найти "pattern" в
missingfile.txt
и записывает все сообщения об ошибках вerrors.txt
. -
>> file: Добавить стандартный вывод в
file
. Создайте файл, если он не существует, или добавьте к нему, если он существует.echo "Welcome back!" >> greetings.txt
Это добавит "Welcome back!" в конец
greetings.txt
без перезаписи существующего контента. -
2>> file: Добавить стандартную ошибку к
file
. Создайте файл, если он не существует, или добавьте к нему, если он существует.grep "pattern" missingfile.txt 2>> errors.txt
Это попытка найти "pattern" в
missingfile.txt
еще раз и добавляет все сообщения об ошибках вerrors.txt
. -
&> file or >& file: Перенаправьте стандартный вывод и стандартную ошибку на
file
.ls -l /nonexistentdirectory &> output.txt
Both the output (if any) and the error message from listing
/nonexistentdirectory
will be written tooutput.txt
.Или используя другие обозначения:
ls -l /nonexistentdirectory > output.txt 2>&1
Это делает то же самое, что и предыдущая команда, но для достижения перенаправления используется другой синтаксис.
Logs
tail -f /var/log/grafana/grafana.log | grep 'lvl=eror'
tail -f /var/log/messages | grep jenkins
Files
find
find / -name prometheus.yml
find / -type d -name 'workers'
/ - искать по всей системе, то есть начинать с точки монтирования "/"
-type d - искать только папки
-name 'workers' - в данном случае точное совпадение с workers
find / -type f -name '*_workers.rb'
/ - искать по всей системе, то есть начинать с точки монтирования "/"
-type f - искать только файлы
-name '*_workers.rb' - в данном случае все, что заканчивается на "_workers.rb"
more
less
cp
How it looks like:
cp [...file/directory-sources] [destination]
How to copy all txt files:
cp ./<directory-1>/*.txt ./<directory-2>
How to copy 2 files to another directory:
cp ./<directory-1>/<file-1.txt> ./<directory-1>/<file-2.txt> ./<directory-2>
To copy directories:
cp -r ./<directory-1>/ ./<directory-2>
mv
rm
ln
wc
sort
cut
grep
tar
Simple Network Management Protocol (SNMP)
snmpwalk -v3 -u ncread -l authNoPriv -a MD5 -A {Authentication passphras} {mx...host}
SELinux
Мне нужно временно отключить SELinux на моих хостах Linux. Как мне это сделать?
sudo setenforce 0
sestatus
// Текущий режим SELinux установлен на «permissive», что означает, что он временно отключен.
// Он регистрирует нарушения политики, но не обеспечивает их соблюдение.
Network
host
Отдает IP адрес хоста
host namecheap.com
ping
Эхо-запрос: он отправляет пакеты эхо-запроса ICMP на целевой хост.
ping -c 4 -i 1 -s 100 www.example.com
Эта команда отправляет 4 пакета эхо-запроса Internet Control Message Protocol (ICMP) на сайт www.example.com с интервалом в 1 секунду между каждым пакетом, причем каждый пакет имеет размер 100 байт.
traceroute (Linux) / tracert (Windows)
traceroute работает путем отправки пакетов Internet Control Message Protocol (ICMP), и каждый маршрутизатор, участвующий в передаче данных, получает эти пакеты. Пакеты ICMP предоставляют информацию о том, способны ли маршрутизаторы, используемые при передаче, эффективно передавать данные.
- В крайнем левом столбце указан номер прыжка (hop);
- Следующие три столбца показывают время, необходимое для ответа от каждого перехода, измеренное в миллисекундах (мс). Для каждого хопа предоставляются три измерения, которые представляют время прохождения туда и обратно для каждого отправленного пробного пакета;
- В последнем столбце показан IP-адрес узла и, если доступн о, имя хоста. В случаях, когда имя хоста не разрешено, отображается только IP-адрес.
traceroute -n -m 15 -q 1 www.example.com
Эта команда отслеживает маршрут до www.example.com без выполнения поиска DNS (-n), с максимальным количеством прыжков (hops) 15 (-m 15) и отправкой только одного запроса на каждый переход (hop) (-q 1).
nslookup / dig
DNS lookups
dig www.namecheap.com
; <<>> DiG 9.11.9 <<>> www.namecheap.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10835
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.namecheap.com. IN A
;; ANSWER SECTION:
www.namecheap.com. 300 IN CNAME www.namecheap.com.cdn.cloudflare.net.
www.namecheap.com.cdn.cloudflare.net. 300 IN A 104.16.100.56
www.namecheap.com.cdn.cloudflare.net. 300 IN A 104.16.99.56
;; Query time: 9 msec
;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: Tue Feb 27 04:18:25 FLEST 2024
;; MSG SIZE rcvd: 128
nslookup www.namecheap.com
Server: 10.32.60.20
Address: 10.32.60.20#53
Non-authoritative answer:
www.namecheap.com canonical name = www.namecheap.com.cdn.cloudflare.net.
Name: www.namecheap.com.cdn.cloudflare.net
Address: 104.16.100.56
Name: www.namecheap.com.cdn.cloudflare.net
Address: 104.16.99.56
curl
Опция curl -k
используется, чтобы указать Curl игнорировать проверку сертификата SSL при отправке запроса на сайт HTTPS. -k
означает --insecure
. По умолчанию Curl пытается проверить подлинность сертификата SSL, предоставленного сервером. Это гарантирует, что соединение безопасно и сервер соответствует тому, за что себя выдает.
curl -k https://www.namecheap.com --connect-timeout 10
Использование -I
— это быстрый способ проверить headers в целях отладки, проверить конфигурацию веб-серверов, проверить наличие redirects, просмотреть заголовки кэширования и типы серверов, а также просмотреть другую информацию, которая может повлиять на способ доступа к веб-ресурсам и хранится. Это также распространенный инструмент в веб-разработке и системном администрировании для тестирования и устранения неполадок конфигураций HTTP-сервера.
curl sends an HTTP HEAD request to the server. This request is similar to a GET request, but it tells the server that the client only wants the headers, not the actual content.
curl -I https://www.namecheap.com/
HTTP/1.1 200 OK
Date: Tue, 27 Feb 2024 03:00:07 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
CF-Ray: 85bd2cfd5f522dea-KBP
CF-Cache-Status: HIT
Age: 40
Cache-Control: public, max-age=14400
Expires: Tue, 27 Feb 2024 07:00:07 GMT
Last-Modified: Tue, 27 Feb 2024 02:56:27 GMT
Set-Cookie: x-ab-promoted-home-different-content=0;expires=Thu, 28 Mar 2024 03:00:07 GMT
Strict-Transport-Security: max-age=16000000; includeSubDomains
Vary: Accept-Encoding
x-frame-options: SAMEORIGIN
x-xss-protection: 1; mode=block
Set-Cookie: __cfruid=8e3da9a97d04367f92ae40215f8f8809d1374da3-1709002807; path=/; domain=.namecheap.com; HttpOnly; Secure; SameSite=None
Server: cloudflare
curl myip.wtf/text
Узнать Public IP
ip
netstat
wget
Permissions
chmod
chmod
chown
chown
chgrp
chgrp
usermod
usermod -aG docker jenkins
// Allow Jenkins users to access the docker socket
set
set +x -eo pipefail node /usr/app/tfrunner/tfrunner.js apply -parallelism=10 tfplan_c357197a7543 2>&1 | tee 1b4e61512783.log
System Information in Linux
uname
Behave as though the options -m, -n, -r, -s, and -v were specified:
uname -a
uptime & last reboot
Show how long the system has been running:
uptime
Show when the last reboot was:
last reboot
hostname
Set or print the name of the current host system:
hostname
Display all local IP addresses of the host system:
hostname -i
date & cal & timedatectl
Display or set date and time:
date
Displays a calendar:
cal
May be used to query and change the system clock and its settings, and enable or disable time synchronization services:
timedatectl
whereis & which & whatis
Checks the standard binary, and manual page directories for the specified programs, printing out the paths of any it finds:
whereis
Locate a program file in the user’s path:
which
Display online manual documentation pages:
whatis
whoami & finger
Display effective user id:
whoami
All logged in users information lookup program:
finger
Show specific user information:
finger <username>
df & free
Display free disk space:
df
Memory allocation:
free
Process management:
&&
kill
ps
System control:
poweroff
restart
User management:
whoami
Creating and exporting environment variables:
env
export
printenv
source
Application and process management:
which
yum
Console and output management, working with data sent to stdout or displayed in a terminal window:
cat
clear
echo
top
Troubleshooting
Проверить SSL сертификат эндпоинта:
openssl s_client -connect <domain_name>:<port> -showcerts