Очень полезные команды Linux на одном листе [Записки на полях] - страница 3

стр.

chmod go-rwx directory1

отобрать у группы и всех остальных все полномочия на директорию directory1.

chown user1 file1

назначить владельцем файла file1 пользователя user1

chown -R user1 directory1

назначить рекурсивно владельцем директории directory1 пользователя user1

chgrp group1 file1

сменить группу-владельца файла file1 на group1

chown user1:group1 file1

сменить владельца и группу владельца файла file1

find / -perm -u+s

найти, начиная от корня, все файлы с выставленным SUID

chmod u+s /bin/binary_file

назначить SUID-бит файлу /bin/binary_file. Это даёт возможность любому пользователю запускать на выполнение файл с полномочиями владельца файла.

chmod u-s /bin/binary_file

снять SUID-бит с файла /bin/binary_file.

chmod g+s /home/public

назначить SGID-бит директории /home/public.

chmod g-s /home/public

снять SGID-бит с директории /home/public.

chmod o+t /home/public

назначить STIKY-бит директории /home/public. Позволяет удалять файлы только владельцам

chmod o-t /home/public

снять STIKY-бит с директории /home/public

Специальные атрибуты файлов

chattr +a file1

позволить открывать файл на запись только в режиме добавления

chattr +c file1

позволяет ядру автоматически сжимать/разжимать содержимое файла.

chattr +d file1

указавет утилите dump игнорировать данный файл во время выполнения backup'а

chattr +i file1

делает файл недоступным для любых изменений: редактирование, удаление, перемещение, создание линков на него.

chattr +s file1

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

chattr +S file1

указывает, что, при сохранении изменений, будет произведена синхронизация, как при выполнении команды sync

chattr +u file1

данный атрибут указывает, что при удалении файла содержимое его будет сохранено и при необходимости пользователь сможет его восстановить

lsattr

показать атрибуты файлов

Архивирование и сжатие файлов

bunzip2 file1.bz2

разжимает файл 'file1.gz'

gunzip file1.gz

gzip file1

сжимает файл 'file1'

bzip2 file1

gzip -9 file1

сжать файл file1 с максимальным сжатием

rar a file1.rar test_file

создать rar-архив 'file1.rar' и включить в него файл test_file

rar a file1.rar file1 file2 dir1

создать rar-архив 'file1.rar' и включить в него file1, file2 и dir1

unrar x file1.rar

распаковать rar-архив

tar -cvf archive.tar file1

создать tar-архив archive.tar, содержащий файл file1

tar -cvf archive.tar file1 file2 dir1

создать tar-архив archive.tar, содержащий файл file1, file2 и dir1

tar -tf archive.tar

показать содержимое архива

tar -xvf archive.tar

распаковать архив

tar -xvf archive.tar -C /tmp

распаковать архив в /tmp

tar -cvfj archive.tar.bz2 dir1

создать архив и сжать его с помощью bzip2(Прим.переводчика. ключ -j работает не во всех *nix системах)

tar -xvfj archive.tar.bz2

разжать архив и распаковать его(Прим.переводчика. ключ -j работает не во всех *nix системах)

tar -cvfz archive.tar.gz dir1

создать архив и сжать его с помощью gzip

tar -xvfz archive.tar.gz

разжать архив и распаковать его

zip file1.zip file1

создать сжатый zip-архив

zip -r file1.zip file1 file2 dir1

создать сжатый zip-архив и со включением в него нескольких файлов и/или директорий

unzip file1.zip

разжать и распаковать zip-архив

RPM пакеты (Fedora, Red Hat и тому подобное)

rpm -ivh package.rpm

установить пакет с выводом сообщений и прогресс-бара

rpm -ivh --nodeps package.rpm

установить пакет с выводом сообщений и прогресс-бара без контроля зависимостей

rpm -U package.rpm

обновить пакет без изменений конфигурационных файлов, в случае отсутствия пакета, он будет установлен

rpm -F package.rpm

обновить пакет только если он установлен

rpm -e package_name.rpm

удалить пакет

rpm -qa

отобразить список всех пакетов, установленных в системе

rpm -qa | grep httpd

среди всех пакетов, установленных в системе, найти пакет содержащий в своём имени "httpd"

rpm -qi package_name

вывести информацию о конкрентном пакете

rpm -qg "System Environment/Daemons"

отобразить пакеты входящие в группу пакетов

rpm -ql package_name