Отобразить список процессов
ps -ef
Освободить занятый порт
Сначала выполнить fuser -vn tcp номер_порта после чего можно узнать PID номер процесса, затем командой kill -9 PID_номер_процесса уничтожаем процесс, после этого порт должен быть свободен.
Посмотреть список сетевых интерфейсов CentOs 7.9
nmcli device или nmcli device status - обе команды выводят одинаковую информацию, а именно 4 поля для каждого соединения: DEVICE(например enp0s3), TYPE(например ethernet), STATE(например connected), CONNECTION(например enp0s3).
Так же некоторые настройки сетевых соединений можно посмотреть в визуальном редакторе который называется NetworkManager TUI который можно вызвать командой nmtui.
Запись произвольного текста в файл из командной строки
cat > filename.txt <<TXT
Здесь можно написать
Произвольный текст
TXT
В примере выше последовательность символов TXT это ограничитель команды cat, причём ограничитель(в данном случаи TXT)обязательно требуется указывать в начале новой строки, в середине же строки ограничитель воспринят не будет и команда его воспримет просто как записываемый в файл текст.
Одну строку текста можно так же записать в файл командой ниже, при этом в конец файла тем не менее будет вставлена пустая строка. Для того чтобы перехода на новую строку не происходило можно вместо echo использовать printf.
echo "Текст который требуется записать" > /home/user/init-file.txt
Дописать текст в уже существующий не пустой файл можно используя команду приведённую ниже. Запись начинается к конца последней строки файла, при завершении файла в конце будет вставлена пустая строка.
tee -a init-file.txt << EOF
текст который требуется дописать в файл
EOF
Найти файлы размеры более одного гигабайта на всём сервере linux
find / -mount -type f -size +1G 2>/dev/null
Посмотреть информацию о операционной
Есть следующие варианты команд используя которые можно посмотреть информацию о операционной системе linux
uname -a
cat /proc/version
cat /etc/*release*
cat /etc/*release* | grep VERSION_ID
cat /etc/issue
Создать папку линукс
mkdir [filename] - создать папку/дирректорию/каталог
Посчитать размер папок и подпапок в которых находится пользователь
du -sh *
Переместить несколько папок или файлов
Следующей командой можно переместить все файлы и директории из текущей директории в директорию предыдущего уровня.
mv * ../
Переместить файл или директорию или несколько файлов либо директорий
cp файл_или_директория(можно несколько через пробел) директория_назначения
Поменять дату и время
date 12301710
Команда выше устанавливает соответственно месяц день часы и минуты(год не устанавливает, для установки года используйте команду ниже)
date +’%Y%m%d’ --set='20200520'
команда выше устанавливает соответственно год месяц и день
Синхронизация времени по NTP
ntpdate -s ntp.ubuntu.com(23.06.2023 при помощи этой команды синхронизировать время не получилось, зато получилось так: ntpdate -u pool.ntp.org)
Проверить выполнение можно выполнив date и посмотреть какая дата и время установлена.
Узнать шлюз сетевого интерфейса в linux
ip r | awk '/default/{print$3}'
MySQL
Установить права для пользователя на базу данных
GRANT ALL PRIVILEGES ON dbName . * TO 'crm'@'%';
Для применения изменений в правах доступа пользователя без перезагрузки службы базы данных можно затем выполнить команду: flush privileges;
очистка логов создаваемых при восстановлении базы данных на Windows
PURGE MASTER LOGS BEFORE '2023-09-06 00:00:00';
Восстановить базу данных mysql из командной строки
mysql -u [username] -p[password] [db_to_restore] < [backupfile.sql]
Обратите внимание пользователь указывается через пробел а пароль без пробела после -p. Или можно пароль не указывать просто написав -p в этом случаи пароль будет запрошен отдельно после нажатия клавиши ENTER И логин и пароль вводить без квадратных скобок.
Что делать если MySQL не обрабатывает большие запросы
Для обработки длинных запросов необходимо в /etc/my.cnf в разделе [mysqld] дописать параметр max_allowed_packet = 128M
BackUp базы данных MySQL из командной строки
mysqldump --opt -u [username] -p[password] [dbname] > [backupfile.sql]
Удалить все таблицы из базы данных из командной сторки
mysqldump -u[USERNAME] -p[PASSWORD] --add-drop-table --no-data [DATABASE] | grep ^DROP | mysql -u[USERNAME] -p[PASSWORD] [DATABASE]
Получить SQL - insert запрос одной строки таблицы базы данных
Следующий запрос не создаст в запросе имена полей:
mysqldump -t имяБазыДанных имяТаблицы --where="id = '1978e26b-fd51-7ca1-e1f1-572994b70425'"
Запрос который так же укажет в SQL запросе имена полей по которым осуществляется вставка:
mysqldump -t имяБазыДанных имяТаблицы --where="id = '1978e26b-fd51-7ca1-e1f1-572994b70425'" --compact --no-create-info --complete-insert --quick
Узнать кодировку базы данных MySQL
SELECT default_character_set_name FROM information_schema.SCHEMATA WHERE schema_name = "dataBaseName";
Изменить кодировку базы данных MySQL
ALTER DATABASE `dataBaseName` DEFAULT CHARACTER SET utf8mb4; или ALTER DATABASE `dataBaseName` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
Открыть 80-ый порт в firewall
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
Искать файлы по названию в командной строке linux включая поддиректории
find . -maxdepth 3 -iname "*.php"
-maxdepth 3 указывает что глубина поиска в поддиректориях равта трём. Если указать 1 то будет искать только в текущей директории. Вместо -iname можно использовать -name в этом случаи поиск станет регистрозависимым.
Поиск файлов изменённых за определённый период времени
Следующая команда отсортирует файлы по дате изменения в обратном порядке, то есть вверху будет файл который был изменён последним, внизу - самым ранним. Поскольку сразу после команды find указана точка, поиск будет осуществляться в директории предварительно выбранной с использованием команды cd.
find . -type f -printf '%TY-%Tm-%Td %TT %p\n' | sort -r
Для того чтобы вывести результат выполнения команды в файл в конец может быть добавлена следующая команда: > filename.extension, то есть так что получится команда приведённая ниже. Файл будет создан так же в директории предварительно выбранной командой cd.
find . -type f -printf '%TY-%Tm-%Td %TT %p\n' | sort -r > filename.extension
Следующая команда может быть использована для поиска файлов изменённых за указанный диапазон дней, в рассматриваемом случаи файлов изменённых не ранее 17 дней назад и не позднее 3-х дней назад.
find . -type f -mtime -17 ! -mtime -3
Создание архива tar.gz с исключением из него указанных дирректорий
Перед использованием следующей команды необходимо с использованием cd перейти в дирректорию, содержимое которой планируется поместить в архив или же использовать абсолютные пути в команде. Следующая команда исключаем из создаваемого архива директории 1 и want, точка в строчке ниже является частью команды.
tar -zcvf site1.tar.gz --exclude 1 --exclude want .Читаем содержимое всех файлов и сразу распаковываем сжатые файлы
cat *$(ls -v *tar.gz*) | tar xzf -
Кто не понял используется если имеете дело с архивами tar разделёнными на несколько частей, то есть gz.1 gz.2 и так далее.
Извлечение архива gz(без tar)
gzip -d file.gz
SQL запрос для изменения пароля пользователя MySQL из командной строки
use mysql
этим запросом выбираем базу mysql
UPDATE `user` SET Password=PASSWORD('NewPassword') WHERE User='YouUser';
NewPassword необходимо заменить на Ваш новый пароль, а YouUser на имя пользователя для которого меняется пароль.
Изменение прав на файлы и папки
chmod -R 777 /var/www/testsite1.ru/
Флаг -R указан для рекурсивного обхода вложенных директорий, иначе права будут применены к файлам и папкам только указанной директории
Изменение владельца и группы для файлов и папок директории
chown -R root:root /var/www/testsite1.ru/
Вариант который применялся на песочнице: sudo chown e.nikolaev:www-data -R sandbox3
Аналогично изменению прав флаг -R означает рекурсивный обход директорий. root:root соответственно пользователь и группа.