Навигация
вывести файл
в терминале
cat
узнать ОС и
версию
cat /etc/*-release или cat /etc/issue
Список
процессов
top
Список дисков
lsblk
Список дисков
lsblk
Место на
диске
df –h
Показать
размер файлов в текущем каталоге
du -sh *
Перейти в
корень
cd /
Перейти на
один шаг назад
cd ..
Создать
каталог в текущем каталоге
mkdir
Создать file
touch file
показать в
каком каталоге находимся
pwd
Просмотр
списка файлов в текущем каталоге
ls
Подробный
список файлов в текущем каталоге
ls -l
Найти в
нескольких папках картинки и удалить те, что старше 120 дней
find /var/www/owncloud/data/user*/files
-iname "*.jpg" -type f -mtime +120 -exec rm -rf {} \;
Найти в
каталоге директории с маской 2016 удалить эти каталоги включая содержимое
find ./free-sa/* -type d -name
"*2016*" | xargs rm -dfR
Монтирование
шары Windows в Linux,
к примеру в /mnt/winshare
mount -t cifs -o username=,password=
//ip-address/share /mnt/winshare
Также можно
воспользоваться SFTP,
подключиться по ssh к серверу с помощью wincsp или filezilla
Ubuntu, Debian
Установить
пакет, например mc
apt-get install mc
обновить список
пакетов
apt-get
update
обновить все
пакеты
apt-get upgrade
Удалить пакет
apt-get purge имя
пакета
Список пакетов
установленных в системе
dpkg --list
Поиск
конкретных пакетов, например демонов syslog
dpkg --list | grep syslog
Перезагрузка сервера
reboot
Добавить ssh в автозагрузку
systemctl enable ssh
Настройка сети
Конфиг файл настройки
сети находится в /etc/network/interfaces
В файле
должно получиться что-то подобное
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.0.5
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.254
dns-nameservers 192.168.0.2 192.168.0.3
dns-search domen.ru
Перезапуск службы сети
systemctl restart
networkManager.service
или
service
network-manager restart
или
/etc/init.d/networking restart
Проверить какие порты слушаются
netstat
-tulpn
ss -tulpn
Проверить
редактор текста по умолчанию
ls -l
/etc/alternatives/editor
Сменить на необходимый
(выбрать nano в списке предложенных к примеру)
update-alternatives --config editor
CentOS, Redhat
Установить пакет
yum install nano
обновить все
пакеты
yum update
Удалить пакет
yum remove nano
Список пакетов
установленных в системе
rpm -qa |
less
Поиск
конкретных пакетов, например демонов syslog
rpm -qa |
grep syslog
или
yum list installed | grep php
сменить hostname (имя хоста)
hostnamectl set-hostname k8s-02-node07
systemctl restart systemd-hostnamed
сменить hostname (имя хоста)
hostnamectl set-hostname k8s-02-node07
systemctl restart systemd-hostnamed
Перезагрузка
сервера
reboot
Проверить редактор
текста по умолчанию
echo $EDITOR
Сменить на необходимый
(nano к
примеру)
export
EDITOR=nano
Настройка сети
Конфиг файл
настройки сети /etc/sysconfig/network-scripts/ifcfg-eth0
cd /etc/sysconfig/network-scripts
nano ifcfg-eth0
Меняем dhcp на static
Вбиваем address, netmask, gateway,
dns-nameservers
Перезапуск службы сети
systemctl restart network
или
service network restart
Nano подсветка синтаксиса
Открываем
файл nanorc в каталоге etc:
nano /usr/share/nano/sh.nanorc
и исправить
строчку syntax "sh" на
syntax
"sh" ".*|\.sh$|^\.bashrc|\.bash_login|\.bash_logout"
Время
установка ntp
yum install -y ntp
принудительная разовая синхронизация
ntpdate -u pool.ntp.org
добавить сервер для синхронизации времени
vi /etc/ntp.conf
server pool.ntp.org iburst
сменить тайм зону
timedatectl set-timezone Europe/Moscow
Принудительная корректировка времени (если закрыт 123 udp)
yum install -y ntp
принудительная разовая синхронизация
ntpdate -u pool.ntp.org
добавить сервер для синхронизации времени
vi /etc/ntp.conf
server pool.ntp.org iburst
сменить тайм зону
timedatectl set-timezone Europe/Moscow
Принудительная корректировка времени (если закрыт 123 udp)
hwclock --set --date "mm/dd/yyyy hh:mm:ss"
синхронизация
с системными часами
hwclock
-s
Работа с архивами
Например
чтобы запаковать текущую папку в tar-архив напишем
tar -cvvf test.tar ./
где test.tar имя которое будет
присвоено полученному архиву, а "./" указание папки
А для
распаковки этого архива
tar -xvvf
test.tar
Работа с
TAR/GZ и TAR/BZIP2
Tar-архив
может быть дополнительно сжат одним из поддерживаемых архиваторов: gzip, bzip2
запаковать
gzip в текущую папку
tar -cvvzf test.tar.gz ./
запаковать
bzip2
tar -cvvjf test.tar.bz2 ./
распаковать
запакованный gzip
tar -xvvzf test.tar.gz
распаковать
запакованный bz2
tar -xvvjf test.tar.bz2
Работа с ZIP
Запаковать
текущую папку в zip
zip -r test.zip ./
Распаковать
архив .zip
unzip ./test.zip -d ./
Работа с
многотомными архивами tar.gz
Запаковать
содержимое папки /var/wwwв многотомный архив с размером тома 1024 Мб.
tar -czvf - /var/www/ | split -b
1024m - ./backup.tar.gz
(«-» после -czvf говорит tar'у выводить в stdout, чтобы потом split мог его разбить на части(а «-» в split говорит ему брать из stdin)) В результате будут созданы файлы backup.tar.gzaa, backup.tar.gzab, backup.tar.gzac ..., размер каждого 1024 Мб.
Склеить все
части можно командой
cat backup.tar.gzaa backup.tar.gzab backup.tar.gzac
> backup.tar.gz
Если все
части архива находятся в одной папке, то команда для склеивания выглядит так:
cat backup.tar.* > backup.tar.gz
Работа с
7zip
Создание многотомного
архива arch.7z папки test/
7z a -v100m arch.7z test/
в результате
будут созданы файлы arch.7z.001 arch.7z.002 arch.7z.003 ..., размер каждого 100
Мб (опция -v100m).
Чтобы
распаковать многотомный архив test.7z.001
7z x test.7z.001
Iptables
В centos
/etc/sysconfig/iptables
Проверить установлен
ли
iptables –V
Установка
правила по дефолту
# iptables -P INPUT DROP
# iptables -P FORWARD ACCEPT
# iptables -P OUTPUT ACCEPT
Расшифровка. Добавить правило (-А) в
фильтр входящих соединений (INPUT),
разрешающее (-j ACCEPT)
любой трафик, поступающий на локальный интерфейс (-i lo). Локальный хост часто
используется для размещения базы данных, к которой подключаются веб-сайт и
почтовый сервер. Таким образом, сервер имеет доступ к базе данных, но взломать
его через интернет нельзя.
iptables -A INPUT -i lo -j ACCEPT
Разрешить
устанавливать исходящие соединения
iptables -A INPUT -m state --state
RELATED,ESTABLISHED -j ACCEPT
Разрешить пинги
iptables -A INPUT -p icmp -j ACCEPT
Разрешить соединения для веб-сервера
iptables -A INPUT -m state --state
NEW -m tcp -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -m state --state
NEW -m tcp -p tcp --dport 443 -j ACCEPT
Разрешить ssh
iptables -A INPUT -m state --state
NEW -m tcp -p tcp --dport 22 -j ACCEPT
Просмотр
списка правил IPTables
iptables -L
включить
брандмауэр
chkconfig iptables on
сохранить
введенные правила
service iptables save
рестарт службы
service iptables restart
сбросить все
правила (если что-то пошло не так)
iptables –F
Firewalld
открыть порт
8080
firewall-cmd --zone=public
--permanent --add-port=8080/tcp
перечитать
правила
firewall-cmd –reload
показать
правила
firewall-cmd --list-all
Chmod, chown, chgrp
chmod – изменить права
chown – изменить владельца
chgrp – изменить группу
пользователей
Вывод
команды «ls –l» покажет подробную информацию о правах, файле, владельце и
группе.
drw-r--r-- 14 root admins 4096 May 3 2016
folder
-rwxrw-r-- 1 root admins 1024
May 3
2016 test.zip
«Символьное»
назначением прав доступа
Разберем
каждый элемент подробно:
Первый
символ «d» означает
каталог, файл обозначается как «-»
Следующими
идут «тройки» прав «rwx»
r-read, w-write, x-execute (право на выполнение).
Первая
«тройка» - это права пользователя «u» - user
вторая –
группа пользователей «g»
- group
третья – все
остальные – «o» - other.
«all» - объединяет всех
пользователей
Дальше по
порядку: владелец, группа, размер, дата, имя
Соответственно,
чтобы дать права на выполнение группе admins на файл test.zip
chmod g+x test.zip
«+» -
добавить права
«-» - отнять
права
«=» -
установить права(перезаписать)
Сменить
владельца на user
chown user test.zip
Сменить группу
на users
chgrp users test.zip
Можете
изменить пользователя и группу одновременно
chown user:users test.zip
«Цифровое»
синтаксис назначения прав доступа
У файла test.txt есть права:
-rwx r-x r-- test.txt
В таком
случае, считаем как в двоичной системе:
«r»= «w»= «x»=1
«-»=0
получается
111 101 100
переводим по
следующей таблице:
Права Бинарное значение Значение прав доступа
--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7
Для -rwx r-x r-- test.txt «цифровые» права соответствуют 754
Предоставим
полные права на этот файл всем
chmod 777 test.txt
Users and groups
Список
пользователей
cat /etc/passwd
или список
пользователей без служебных учеток
cat /etc/passwd | grep
100
Список групп
cat /etc/group
создать
пользователя
useradd valera
Указать пароль
passwd valera
добавить
домашнюю папку с оболочкой баш
valera:x:1005:1005:,,,:/home/valera:/bin/bash
дать права
владельца на домашнюю папку
chown -R valera:valera /home/valera
Удалить
пользователя
userdel -r valera
Отключить
пользователя (отключить домашнюю папку)
usermod -s /bin/false valera
в каких
групах состоит пользователь
groups valera
создание
новой группы
groupadd admins
Создать
нового рута:
1. добавить пользователя в группу sudo (ubuntu) или wheel (centos)
usermod -a -G wheel valera
2. Добавляем в /etc/sudoers строчку
user ALL=(ALL) ALL
удалить
пользователя из группы
gpasswd -d valera admins
удалить группу
groupdel admins
Сменить
пользователя
su user
Список
залогиненых пользователей и сессий
who -ap
Ищем сессию
(например, по времени авторизации), проверяем pid и убиваем по нему процесс
kill -9
Exim
Перечитать
конфигурационный файл
exibuild
Перезапуск exim
/usr/local/etc/rc.d/*exim restart
Проверка что
exim запустился
ps -ax |
grep exim
Просмотр очереди exim
exim -bp | exiqsumm
Просмотр очереди
exim c ID сообщения
exim -bp
Перезапуск
всех очередей exim
exim -q -v
Просмотреть
очередь указанного отправителя
exiqgrep -f
user@search.dom
Заблокировать
все письма от указанного отправителя
exiqgrep -i -f luser@example.tld |
xargs exim –Mf
Разблокировать
замороженное сообщение по его ID
exim –Mt IDсообщения
Доставить
письмо принудительно
exim -M
IDсообщения
Просмотр
заблокированных сообщений
exiqgrep -z
Удалить все
заблокированные сообщения
exiqgrep -z -i | xargs exim –Mrm
Удалить все заблокированные
сообщения конкретного отправителя
exiqgrep -i -f luser@example.tld |
xargs exim –Mrm
Удалить
конкретное сообщение в очереди по его ID
exim -Mrm «ID сообщения»
Обнулить
блокировки для доменов, возникающие при ошибках отправки
cd /var/spool/exim/db
rm -f retry retry.lockfile
rm -f wait-remote_smtp
wait-remote_smtp.lockfile
Тестирование
маршрута доставки до указанного адреса:
exim -bt user@mail.ru
Просмотр сообщений
конкретного отправителя
exiqgrep -f name@domain.com
Просмотр
сообщений для конкретного получателя
exiqgrep -r name@domain.com
Поиск
сообщений отправленных с определенного IP адреса:
exigrep '<= .* \[12.34.56.78\] '
/var/log/exim/mainlog
Поиск
сообщений отправленных на определенный IP адрес:
exigrep '=> .* \[12.34.56.78\]' /var/log/exim/mainlog
Squid
service squid3 restart – рестарт службы
squid3 -k reconfigure - перечитать cfg
или squid3 -k parse
Пересоздать кэш:
service squid3 stop
rm -r /var/spool/squid3/*
squid -z service squid3 start
Grep
Поиск текста «world» в файле «test.txt»
и файле «test1.txt»
grep world test.txt test1.txt
Поиск слова
или фразы во всех файлах каталога и его подкаталогах
grep -r “world is main” /usr/local/*
Опции
-r поиск текста в каталоге и
всех подкаталогах
-i игнорировать регистр
-n дополнительно
покажет номер строки, где находится искомый текст
-C 1 покажет искомый текст и
по одной строке сверху и снизу от этого текста
Поиск файла
в системе, т.е. по имени файла
ls | grep world
или
find /home -iname world*
Поиск файла
по дате изменения
ls | grep May 13 2016
Поиск текста в файлах
grep -iR "log" /home
Поиск текста в файлах
grep -iR "log" /home
Удобная
команда для поиска текста в логах
grep world -C 2 /usr/local/log
Поиск в
архиве
grep -Z world test.gz
zipgrep world test.zip
bzfgrep world test.bz2
SELinux
Вывести
правила связанные с сетью
getsebool -a | grep net
Разрешить
подключаться к веб серверу по сети
setsebool -P
httpd_can_network_connect on
LVM
fdisk -l
показать инфо о физических размеченных томах
pvdisplay
показать объединенные в группы физические тома
vgdisplay
показать логические тома
lvdisplay
Vi
a - перейти в режим редактирования
ESC - выйти из режима редактирования
:q - выйти из vi
:q! - выйти без сохранения
:wq - выйти с сохранением
Комментариев нет:
Отправить комментарий