Текущая страница: ГлавнаяРазное → Ubuntu - полезные команды

Ubuntu — полезные команды

Что, как и зачем можно сделать из командной строки. Некоторые простые команды о существовании которых просто полезно знать. Иногда может оказаться полезным.

Разное.

Перенаправление вывода
1.использование >> данные будут добавлены в конец файла
2.использование > файл будет перезаписан.
Перенаправление вывода (stdout) в файл «filename»

1>>filename

Перенаправление stderr в файл «filename»

2>>filename

Перенаправление stdout и stderr в файл «filename»

&>>filename

Когда в мануалах приводят примеры перенаправления в файл обычно указывают просто >>, надо понимать, что при этом в файл попадет не то, что мы видим на экране (stdout и stderr) а только stdout
Установка прав доступа на файлы/каталоги

find /var/www/site1.ru -type f -exec chmod 644 {} \; - изменяет только файлы
find /var/www/site1.ru -type d -exec chmod 755 {} \; - изменяет только папки

Закачать какой-нибудь сайт

wget -r -l 0 -np -e robots=off  http://www.site.ru

Проверить состояние DNS записей для домена

//запрос будет отправлен к установленному по умолчанию DNS
dig linux-protect.ru
//запрос будет отправлен к DNS серверу  8.8.8.8
dig @8.8.8.8 linux-protect.ru
//запрос будет отправлен к DNS серверу 8.8.8.8
nslookup linux-protect.ru 8.8.8.8

Информация о видеофайлах и их обработка
Читайте здесь.
Очистить кэш DNS

sudo aptitude install nscd
sudo service nscd restart

Замечание:
При активном использовании торрентов, можем получить ошибку работы сети
connect: No buffer space available причина как раз в переполнении кэша DNS
Чтобы не допускать подобных ситуация добавьте в файл /etc/sysctl.conf

net.ipv4.neigh.default.gc_thresh1 = 1280
net.ipv4.neigh.default.gc_thresh2 = 10240
net.ipv4.neigh.default.gc_thresh3 = 20480

Поиск строки во всех файлах

 grep -iRnH "findstr" ./

Узнать размер папок

du --max-depth=1 -h

Управление пользователями/группами.

Добавление пользователя — вариант 1

sudo useradd список_ключей user_login

Если не указывать ключи — берутся параметры по умолчанию, посмотреть их можно так:

useradd -D

Замечание: пользователь создается без пароля. Пароль надо установить командой passwd
Пример:

sudo useradd -m -s /bin/bash user_login
Полный список ключей:
-b	Базовый каталог. Это каталог, в котором будет создана домашняя папка пользователя. По умолчанию /home
-с	Комментарий. В нем вы можете напечатать любой текст.
-d	Название домашнего каталога. По умолчанию название совпадает с именем создаваемого пользователя.
-e	Дата, после которой пользователь будет отключен. Задается в формате ГГГГ-ММ-ДД. По умолчанию отключено.
-f	Блокирование учетной записи. Если значение равно 0, то запись блокируется сразу после устаревания пароля, при -1 - не блокируется. По умолчанию -1.
-g	Первичная группа пользователя. Можно указывать как GID, так и имя группы. Если параметр не задан будет создана новая группа название которой совпадает с именем пользователя.
-G	Список групп в которых будет находится создаваемый пользователь
-k	Каталог шаблонов. Файлы и папки из этого каталога будут помещены в домашнюю папку пользователя. По умолчанию /etc/skel.
-m	Ключ, указывающий, что необходимо создать домашнюю папку. По умолчанию домашняя папка не создается.
-p	Пароль пользователя. По умолчанию пароль не задается.
-s	Оболочка, используемая пользователем. По умолчанию /bin/sh.
-u	Вручную задать UID пользователю.

Добавление пользователя — вариант 2

sudo adduser user_login

При этом:
1. создается пользователь
2. создается группа пользователя
3. Для пользователя устанавливается группа пользователя.
4. Создается домашний каталог, по умолчанию /home/user_login
5. Запрашивается какой пароль ставить пользователю
6. Запрашивается его Full Name и несколько других параметров — можно оставить по уполчанию.
Изменение данных пользователя

sudo usermod список_ключей логин_пользователя

Список ключей такой же какой в команде useradd

Добавить существующего пользователя в существующую группу:

usermod -a -G <group> <user>

Сеть, порты, процессы

Список всех интернет подключений
lsof -i
Список открытых сокетов
socklist
Список приложений слушающих сокеты
sockstat -l
Список активных подключений
netstat -tup
Список слушающих портов
netstat -tupl

Управление пакетами — aptitude.

Какому пакету принадлежит файл
apt-file search имя-файла
Просмотреть список файлов в пакете
apt-file list имя-пакета
Сохранить версию пакета (не будет обновляться)
aptitude hold
Отменить запланированные действия для пакета
aptitude keep
Сбросить запланированные действия для всех пакетов
aptitude keep-all
Удалить из кэша загруженные пакеты
aptitude clean
Удалить из кеша неиспользуемые пакеты
aptitude autoclean
Показать информацию о пакете
aptitude show имя-пакета

Управление пакетами — dpkg.

Поиск информации о пакете
dpkg -l | grep имя-пакета
Получение списка файлов, установленных заданным пакетом
dpkg -L имя-пакета
Поиск информации о пакете через имя одного из файлов пакета
dpkg -S имя-файла
Установка пакетов из списка.
Получить полный список пакетов в файл:
dpkg —get-selections > /tmp/package_list
Копируем файл на другой компьютер и там выполняем:
dpkg —set-selections < /tmp/packages_list
Следующая команда обновляет систему пакетами предоставленными dpkg
apt-get -u dselect-upgrade
Этот же сценарий можно использовать для операций с частью пакетов на своем компьютере.
Например удалим wget.
sudo dpkg —get-selections | grep wget > /tmp/tmplist
Заменяем в файле install на deinstall
sudo dpkg —set-selections < /tmp/tmplist
Следующая команда удалит wget (apt-get как обычно запросит подтверждение любой операции, так что случайно вы ничего не удалите)
sudo apt-get -u dselect-upgrade

Управление PPA.

Установка репозитория
sudo add-apt-repository ppa:user/ppa-name
Удаление репозитория (установленные из репозитория пакеты остаются в системе)
sudo add-apt-repository —remove ppa:user/ppa-name
Удаление репозитория с пакетами (возврат к версии с основного репозитория)
sudo apt-get install ppa-purge (установка необходимого для удаления пакета)
sudo ppa-purge ppa:user/ppa-name

Системные — отладка

Какие файлы пытается открыть или выполнить программа и какие системные вызовы она использует?
strace -f -o result.txt -e open,ioctl,execve программа
(выводим в файл result.txt — список может быть длинный)
Как узнать какие динамические библиотеки прилинкованы к программе?
ldd программа

Добавить комментарий