Terminal
Общие команды:
- TAB - дополняет набираемую команду из списка доступных.
- clear(ctrl + L) - очистить терминал.
- uname -a - получить информацию о системе.
- sudo -i - создает новую среду, как будто root только что вошел в систему
- sudo su - изменяет текущего пользователя на root.
- history - посмотреть историю выполненных команд.
- varName='' - объявление переменной. Пример:test='abc'
Top
top - получить информацию процессах.
Горячие клавиши:
- ? - help
- L - поиск
- z - разноцветный режим
- x - подсвечивание столбца с сортировкой
- <, > - выбор поля для сортировки
- V - режим отображение "дерево"
- k - kill by PID
- W - сохранение настроек
Навигации в Terminal
- ls -la - отобразить список файлов и папок в текущей директории
- cd - выполнить переход из текущей директории
- cd или cd .. - выполнить переход на предыдущую директорию.
- cd~ - выполнить переход в корневую директорию.
- pwd(print working directory) - вывести текущую директорию.
Работа с сетью:
- ping - пинг по ip. Пример:ping 8.8.8.8
- host - получения ip по домен имени. Пример:host google.com
- telnet - пинг по ip и порту. Пример:telnet opennet.ru 80
- netstat -ntlp - команда для отображения занятых портов.
Для просмотра файла через терминал можно использовать команду "сat". Пример:cat app.log
curl
curl - отправить HTTP запрос.
- -X - указать тип запроса. GET, POST, PUT, DELETE etc.
- -I - получить только Headers
Среды выполнения скриптов:
- sh(Shell)
- Bash
Поиск файла или папки:
- locale - поиск по имени. Но перед поиском необходимо выполнить команду "sudo updatedb" для обновления
индексов.
- find /. -name "abc" -type d - поиск папки abc из корневой директории.
Sort
sort - команда применяется для сортировки полученого результата.
Поиск строки(grep)
Grep(global regular expression print) - поиск строки. С его помощью можно даже искать конкретные
слова в файле. Также можно передать вывод любой команды в grep, что сильно упрощает работу во время
поиска и траблшутинга.
Поиска папок и файлов
Пример объединения с командой ls и поиска папок и файлов с abs в названии(кавычки можно убрать если слово
одно).
ls | grep 'abs'
Для поиска строчки с заданым текстом в файле
grep 'test word' file.txt
Поиск по нескольким параметрам
grep -e 'test word' -e 'test word2' file.txt
Рекурсивный поиск
Поиск всех строк содержащих заданое слово во всех файлах по дериктории
grep -r test /directory/to/search
Игнорировать регистр
Игнорирует регистр ключем i
grep -i test file.txt
Исключить шаблон
Для поиска строчек НЕ ИМЕЮЩИХ искомое слово использует ключем -v
grep -v test file.txt
Вывод номера строки
Чтобы показать номер строки, используем ключ n.
grep -n test file.txt
Использование регулярных выражений
- [] - проверка на соответствие одного из указаных символов - [123]
- - - диапазон вероятного(от до) - [1-3]
- ^ - начало искомой строки - '^A'
- [^] - между квадратными скобками смысл меняется, исключает из поиска следующие за ней символы или
диапазон символов - [^1-3]
- $ - конец искомой строки - 'A$'
- . - любой один символ - '1.3'
Можно использовать квантификаторы
- {n} - n раз - Ха{3}ха
- {m,n} - от m до n включительно - Ха{2,4}ха
- {m,} - не менее m - Ха{2,}ха
- {,n} - не более n - Ха{,3}ха
- ? - ноль или одно вхождение
- * - ноль или более
- + - одно или более
Работа с файлами:
- touch - создание файла
- cat - сокращение от concatenate. Она позволяет просматривать, создавать, объединять содержимое файлов
в командной строке или в другом файле.
cat example.txt
- mkdir - создание папки
mkdir /home/joe/Desktop/new_folder
- tail -f -n 5 syslog - открыть последние 5 строк файла syslog с дальнейшим отслеживание.
- cp - копирование файла. Параметры: указать путь файл, указать путь куда копировать
cp ./hosts-m3-dev-artyom ./hosts-m3-dev-artyom-backup
- mv - перемещение/переименование
mv /home/user/my_static /home/user/static
- rm - удаление
rm /tmp/readme.txt
Добавление команд для терминала
Для включения возможности именование терминальных окон нужно в файл "sudo nano ~/.bashrc" добавить:
# change name of tab for terminal
set-title(){
ORIG=$PS1
TITLE="\e]2;$@\a"
PS1=${ORIG}${TITLE}
}
Пример команды: set-title новое_имя
Для быстрого отображения погоды в терминале
we() # Weather report, no parameter defaults to braila
{
printf '\033[8;40;130t';
if [[ $# -eq 0 ]]; then
curl wttr.in/dnepr
else
curl wttr.in/$1
fi
}
Для смены пароля пользователя:
Выполняем команду -> sudo passwd
Для смены пароля шифрования диска:
Выполняем команду -> blkid
Находим строку с TYPE="crypto_LUKS" и берем из нее первую часть - Пример:/dev/nvme0n1p3
Выполняем команду используя полученное -> sudo cryptsetup luksChangeKey /dev/nvme0n1p3
Вводим старый пароль и 2 новых.
md5 sum
MD5 сумма - математическое значение, которое, как правило, представляет собой набор из 32 шестнадцатеричных
букв и цифр. Значение создается с помощью специальных инструментов, которые используют «криптографическую
хэш-функцию для создания хэш-значения в формате 128-бит (16 байт)». Полное соответствие контрольной
суммы MD5 гарантирует целостность данных и отсутствие изменений со стороны других пользователей,
а также подтверждает, что скачанный файл является точной копией исходного файла.
md5sum путь_к_файлу
Обновление времени
sudo ntpdate ntp.ubuntu.com