Основные команды Linux Ubuntu
В линуксе довольно много комманд, которые в голове удержать у меня почему-то не получается. И я часто обращаюсь к гуглу, чтобы найти эти комманды. Привожу список комманд, которые время от времени мне приходится искать.
Узнать ядро:
uname -a
Команда lsb_release предназначена для вывода информации о текущей версии дистрибутива Ubuntu.
lsb_release -a
Получить информацию о процессоре и архитектуре можно так:
lscpu
Узнать путь к текущей директории:
pwd
Показать username текущего пользователя:
whoami
Список в истории:
history
Выполнить комманду с номером 17 в списке истории:
!17
Очистить историю:
history -c
Можно также провести поиск в истории нажав сочетание клавиш: Ctrl + R
Чтобы посмотреть содержание файла можем использовать следующую команду:
less text.txt
Посчитать количество строк в файле:
# при выводе: строки, слова, размер в байтах test@ubuntu:~$ wc test.txt # вывести для одного файла 5 30 141 test.txt # 5 строк, 30 слов, 141 байт test@ubuntu:~$ wc hosts/* # вывести для всех файлов в директории 5 30 141 hosts/test.txt 9 20 174 hosts/test1.txt
Узнать тип файла:
file test.txt
Для мониторинга активности в логах
tail -f access.log
Отсортировать все процессы (комманда ps -A выводит процессы) по 4-му полю и вернуть последние 10 записей:
ps -A | sort -k 4 | tail
Удаление процесса по PID. Формат: kill -s 9 <PID>
kill -s 9 12345
Удаление процесса по имени: Формат: killall -s 9 <process name>
killall -s 9 firefox
Установака deb файлов:
pdkg -i firefox-86_64.deb
grep
Часто используемая комманда для фильтра или поиска. Формат: grep [OPTIONS] PATTERN FILE Примеры:
grep anna anna_karenina.txt # поиск в файле grep xdebug -r /etc/php5/* # поиск в каталогах ps -A | grep nginx # поиск в списке процессов
find
find ./* -name "php*" # найти все файлы и каталог, которые начинаются c php find ./* -size +300c # найти файлы размером более 300 байт c -байт, k - килобайт, M - мегабайт, G - гигабайт find ./* -user root # найти файлы, принадлежащие конкретному пользователю find ./* -perm 755 # найти файлы с определенными разрешениями: find ./* -perm 755 -name "*.php" # можно комбинировать
whereis
Команда whereis в Linux используется для поиска исполняемых файлов, исходного кода и man страниц. Эта команда ищет файлы в ограниченном наборе местоположений (каталоги исполняемых файлов, каталоги справочных страниц и библиотеки).
test@ubuntu:~$ whereis netstat netstat: /bin/netstat /usr/share/man/man8/netstat.8.gz
Wildcard
Wildcard - это символ или набор символов, которые подходят для других символов. Он может использоваться для замены любого другого символа или символов в строке. В Linux часто встречаются три типа подстановочных знаков:
- ? –соответствует одному символу, например, O??d - это O два любых символа и d
- * - соответствует любому символу или набору символов, включая отсутствие символа. Например, O*d соответсвует всему, что начинается с O и заканчивается d
- Значения в квадратных скобках - совпадающие символы, заключенные в квадратные скобки. Например, O[ac]d соответствует только Oad и Ocd.
ls -l O[ac]d
Перенаправления
В информатике перенаправление — это возможность командной оболочки перенаправлять стандартные потоки в определенное пользователем место, например в файл. Ниже приводится таблица перенаправлений.
Пример:
find / -name .profile > results.txt 2>&1 # объединяются стандартные потоки 2 и 1 find / -name .profile > results.txt 2>/dev/null # ошибки подавлюятся, т.е отправляются в никуда