Linux Cheatsheet

Операции с пользователями

cat /etc/passwd
список пользователей. Записи имеют следующий формат имя_пользователя:пароль:id_пользователя:id_группы:группа:домашний_каталог:оболочка
cat /etc/group
список групп. Записи имеют следующий формат имя_группы:пароль:id_группы:список_пользователей_группы
w
вывод информации (имя пользователя, рабочий терминал, время входа в систему, информацию о потребленных ресурсах CPU и имя запущенной программы) о всех вошедших в систему пользователях.
who
вывод информации (имя пользователя, рабочий терминал, время входа в систему) о всех вошедших в систему пользователях
whoami
вывод вашего имени пользователя
id имя_пользователя
вывод о идентификаторах пользователя: его uid, имя_пользователя, gid и имя первичной группы и список групп в которых состоит пользователь
users
вывод имен пользователей, работающих в системе
groups имя_пользователя
вывод списка групп в которых состоит пользователь
sudo adduser user group
добавить нового пользователя _user_ в группу _group_
sudo usermod -a -G group user
добавить существующего пользователя _user_ в группу _group_
sudo deluser user group
удалить пользователя _user_ из группы _group_

Файловые операции

chmod +x filename
Добавляет права на запуск файла, как исполняемого
find /path/to/folder -type d -exec chmod 755 {} \;
Выставление разрешений на каталоги
find /path/to/folder -type f -exec chmod 644 {} \;
Выставление разрешений на файлы

Операции с репозиториями

sudo cat /etc/apt/sources.list
системный список репозиториев (Debian/Ubuntu)
sudo apt—add—repository "deb http://www.rabbitmq.com/debian/ testing main"
добавление нового репозитория при использовании APT (Debian/Ubuntu)
sudo apt—add—repository -r "deb http://www.rabbitmq.com/debian/ testing main"
удаление репозитория при использовании APT (Debian/Ubuntu)
echo 'deb http://www.rabbitmq.com/debian/ testing main' | sudo tee /etc/apt/sources.list.d/rabbitmq.list
добавление новго репозитория (Debian/Ubuntu)
dpkg -l
список установленных пакетов
sudo apt-get --with-new-pkgs upgrade
если при простом обновлении пропускаются некоторые пакеты с сообщением `The following packages have been kept back:` нужно запустить команду с параметром `--with-new-pkgs`

Операции с архивами

tar -zcvf archive-name.tar.gz directory-name
упаковать каталог в файл с помощью tar и сжать с помощью gzip
tar -zxvf archive-name.tar.gz -C /path/to/directory
распаковывает архив archive-name.tar.gz в каталог directory
zip -r archive-name.zip directory-name
упаковать каталог с помощью zip
gunzip archive-name.zip
распаковать архив .zip|.gz

Сетевые соединения

netstat -tupln | grep LISTEN
список открытых и прослушиваемых TCP-портов
Евгений Вдовенко
Евгений Вдовенко

Физик по образованию, занимаюсь веб-разработкой на PHP с 2013 года. Нравится ковырятся в Zend Framework/Expressive и Joomla CMS/Framework. В процессе разборок с Python. Подумываю посмотреть Go. Считаю PostgreSQL крутым продуктом и внедряю его везде, где могу.