Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Laboratorny_praktikum_05_06_2014.doc
Скачиваний:
79
Добавлен:
11.03.2016
Размер:
371.71 Кб
Скачать

Разработка объектно-ориентированного по

Задание.

ЛАБОРАТОРНАЯ РАБОТА №6

Паттерны проектирования

Задание.

ЛАБОРАТОРНАЯ РАБОТА №7

Многопоточное проектирование

Задание.

Полезные и часто используемые команды ос gnu/Linux

Команда

Описание

Получение информации о системе.

uname -a

Выводит информацию о загруженой системе.

uptime

Выводит информацию о времени прошедшем с момента загрузки системы

dmidecode -q

Выводит информацию об аппаратной части ПК основываясь на данных BIOS.

hwinfo

Выводит информацию об аппаратной части ПК.

lscpu -a

Выводит информацию об установленном процессоре.

lspci -tv

Выводит информацию о PCI устройствах.

lsusb -tv

Выводит информацию о USB устройствах.

lsscsi -tv

Выводит информацию о SCSI устройствах.

lsblk -a

Выводит информацию о всех блочных устройствах найденных в системе.

lsmod

Выводит информацию о том какие модули загружены в ядро.

cat /proc/cpuinfo

Отобразить информацию о процессоре.

cat /proc/interrupts

Отобразить информацию о прерываниях

cat /proc/meminfo

Отобразить информацию об использовании памяти.

cat /proc/swaps

Отобразить информацию о файлах подкачки.

cat /proc/mounts

Отобразить информацию о смонтированных файловых системах.

cat /proc/version

Отобразить информацию о версии ядра.

cat /proc/net/dev

Отобразить информацию о сетевых интерфейсах и статистику по ним.

Управление файловой системой.

ls

Выводит список файлов и директорий.

ls -al

Выводит подробный список всех файлов и директорий в табличном виде.

cd /home/user

Перейти в директорию "/home/user".

cd ~

Перейти в домашнюю директорию текущего пользователя.

cd ..

Перейти в директорию на уровень выше текущей директории.

cd -

Перейти в директорию в которой находились до перехода в текущую директорию.

mkdir dir1

Создать директорию "dir1".

mkdir dir1 dir2

Создать директорию "dir1", "dir2".

mkdir -p /dir1/dir2/dir3

Создать каталог "dir3" и все родительские подкаталоги если они не существуют.

rm file1

Удалить файл "file1".

rm -f file1

Удалить файл "file1" не выдавая дополнительных сообщений.

rm -rf dir1

Удалить каталог "dir1" и все его содержимое.

rmdir

Удалить каталог "dir1" и все его содержимое.

mv dir1 dir2

Переименовать директорию из "dir1" в "dir2".

mv dir1 ../

Перенести директорию на уровень выше.

cp file1 file2

Скопировать "file1" в "file2".

cp -a dir1 dir2

Скопировать директорию "dir1" в директорию "dir2".

ln file1 link1

Создать жесткую ссылку на файл.

ln -s file1 link1

Создать символическую ссылку на файл.

touch file1

Создать пустой файл с именем "file1".

: > file1

Создать пустой файл с именем "file1".

chmod 777 file1

Полные права на файл для всех пользователей.

chmod 755 file1

Полные права на файл для его владельца, всем остальным только чтение и исполнение.

chmod -R 755 dir1

Установить права для папки и всех ее подпапок и файлов.

chown user:group file1

Сменить владельца файла.

chown -R user:group dir1

Сменить владельца для папки и всех ее подпапок и файлов.

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

lsattr

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

chattr +a file1

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

chattr +c file1

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

chattr +d file1

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

chattr +i file1

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

chattr +s file1

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

chattr +S file1

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

chattr +u file1

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

Информация о дисковом пространстве.

df -h

Отображает в табличном виде все смонтированные файловые системы с указанием информации по используемому и свободному дисковому пространству.

du -sh dir1

Подсчитать размер директории и вывести результат в удобных для восприятия человека единицах измерения (Gb, Mb, Kb).

du -sh *

Подсчитать размер всех директорий текущей директории и вывести результат в удобных для восприятия человека единицах измерения (Gb, Mb, Kb).

fdisk -l

Показать все доступные дисковые устройства.

Монтирование файловых систем.

mount

Выводит информацию о смонтированных файловых системах.

mount /dev/sda1 /mnt/sda1

Смонтировать файловую систему /dev/sda1 в директорию /mnt/sda1 при этом директория должна существовать на момент монтирования.

mount /dev/fd0 /mnt/floppy

Смонтировать дисковод 3.5".

mount /dev/cdrom /mnt/cdrom

Смонтировать CDROM.

mount -o loop file1.iso /mnt/cdrom

Смонтировать iso-образ.

Поиск файлов и папок.

find / -name file1

Найти файлы и директории с именем file1. Поиск начинать с корня "/".

find / -user user1

Найти файлы и директории принадлежащие пользователю user1. Поиск начинать с корня "/".

find / -name "*.bin"

Найти файлы и директории, имена которых оканчиваются на ".bin". Поиск начинать с корня "/".

find /usr/bin -type f -atime +100

Найти все файлы в каталоге "/usr/bin", время последнего обращения к которым более 100 дней.

find /usr/bin -type f -mtime -10

Найти все файлы в "/usr/bin", созданные или изменённые в течении последних 10 дней.

find / -name *.sh -exec chmod 644 '{}' \;

Найти все фалы и директории, имена которых оканчиваются на ".sh", и изменить права доступа к ним.

find / -xdev -name "*.sh"

Найти все фалы и директории, имена которых оканчиваются на '.sh', игнорируя съёмные носители, такие как CDROM, дисковод 3.5" и т.п.

whereis halt

Показывает размещение бинарных файлов, исходных кодов и руководств, относящихся к файлу "halt".

which halt

Отображает полный путь к файлу "halt".

apropos keyword1

Поиск ключевого слова "keyword1" ;в именах справочных страниц и кратких описаниях.

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

passwd

Сменить пароль текущего пользователя.

passwd user1

Сменить пароль пользователя "user1" при условии, текущий пользователь "root".

useradd -c "New User" -g user -d /home/user1 -s /bin/bash user1

Создать пользователя "user1", назначить ему в качестве домашнего каталога "/home/user1", в качестве оболочки "/bin/bash", включить его в группу "user" и добавить комментарий "New User".

userdel -r user1

Удалить пользователя "user1" и его домашний каталог со всем его содержимым.

usermod -c "Old User" -s /bin/false user1

Изменить атрибуты пользователя "user1".

groupadd group1

Создать новую группу с именем "group1".

groupdel group1

Удалить группу "group1".

groupmod -n group2 group1

Переименовать группу "group1" в "group2".

chage -E 2013-12-31 user1

Установить дату окончания действия учётной записи пользователя "user1".

chage -l user1

Просмотреть параметры отключения и смены пароля для учетной записи "user1".

pwck

Проверить корректность системных файлов учётных записей. Проверяются файлы "/etc/passwd" и "/etc/shadow".

grpck

Проверить корректность системных файлов учётных записей. Проверяется файл "/etc/group".

Управление архивами и сжатыми файлами.

unrar x file1.rar

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

zip file1.zip file1

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

zip -r file1.zip file1 file2 dir1

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

unzip file1.zip

Распаковать zip-архив.

tar -cvf archive1.tar file1

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

tar -cvf archive1.tar file1 file2 dir1

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

tar -tf archive1.tar

Показать содержимое архива " archive1.tar ".

tar -xvf archive1.tar

Распаковать архив "archive1.tar".

tar -xvf archive1.tar -C /tmp

Распаковать архив "archive1.tar " в директорию "/tmp".

tar -cvfj archive1.tar.bz2 dir1

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

tar -xvfj archive1.tar.bz2

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

tar -cvfz archive1.tar.gz dir1

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

tar -xvfz archive1.tar.gz

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

gzip file1

Сжимает файл "file1".

bzip2 file1

Сжимает файл "file1".

gunzip file1.gz

Разжимает файл "file1.gz".

bunzip2 file1.bz2

Разжимает файл "file1.bz2".

Просмотр содержимого файлов.

cat file1

Вывести содержимое файла "file1" на стандартное устройство вывода.

tac file1

Вывести содержимое файла "file1" на стандартное устройство вывода в обратном порядке.

more file1

Постраничный вывод содержимого файла "file1" на стандартное устройство вывода.

less file1

Постраничный вывод содержимого файла "file1" на стандартное устройство вывода, но с возможностью пролистывания в обе стороны, поиска по содержимому.

head -2 file1

Вывести первые две строки файла "file1" на стандартное устройство вывода. По-умолчанию выводится десять строк.

tail -2 file1

Вывести последние две строки файла "file1" на стандартное устройство вывода. По-умолчанию выводится десять строк.

tail -f /var/log/messages

Выводить содержимое файла "/var/log/messages" на стандартное устройство вывода по мере появления в нём текста.

Манипуляции с текстом.

cat file1.txt | [sed, grep, awk] > result1.txt

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

cat file1.txt | [sed, grep, awk] >> result1.txt

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

grep Aug /var/log/messages

Из файла "/var/log/messages" отобрать и вывести на стандартное устройство вывода строки, содержащие "Aug".

grep ^Aug /var/log/messages

Из файла "/var/log/messages" отобрать и вывести на стандартное устройство вывода строки, начинающиеся на "Aug".

grep [0-9] /var/log/messages

Из файла "/var/log/messages" отобрать и вывести на стандартное устройство вывода строки, содержащие цифры.

grep Aug -R /var/log/

Отобрать и вывести на стандартное устройство вывода строки, содержащие "Aug", во всех файлах, находящихся в директории "/var/log" и ниже.

sed 's/string1/string2/g' file1.txt

В файле "file1.txt" заменить "string1" на "string2", результат вывести на стандартное устройство вывода.

sed '/^$/d' file1.txt

Удалить пустые строки из файла "file1.txt".

sed '/ *#/d; /^$/d' file1.txt

Удалить пустые строки и комментарии из файла "file1.txt".

sed -e '1d' file1.txt

Удалить первую строку из файла "file1.txt".

sed -n '/string1/p'

Отобразить только строки содержащие "string1".

sed -e 's/ *$//' file1.txt

Удалить пустые символы в конце каждой строки файла "file1.txt".

sed -e 's/string1//g' file1.txt

Удалить строку "string1" из текста не изменяя всего остального.

sed -n '1,8p;5q' file1.txt

Взять из файла с первой по восьмую строки и из них вывести первые пять.

sed -n '5p;5q' file1.txt

Вывести пятую строку.

sed -e 's/0*/0/g' file1.txt

Заменить последовательность из любого количества нулей одним нулём.

cat -n file1.txt

Пронумеровать строки при выводе содержимого файла.

cat file1.txt | awk 'NR%2==1'

При выводе содержимого файла, не выводить чётные строки файла.

echo a b c | awk '{print $1}'

Вывести первую колонку. Разделение, по-умолчанию, по пробелу или табуляции.

echo a b c | awk '{print $1,$3}'

Вывести первую и третью колонки. Разделение, по-умолчанию, по пробелу или табуляции.

echo 'esempio' | tr '[:lower:]' '[:upper:]'

Преобразовать символы из нижнего регистра в верхний.

paste file1.txt file2.txt

Объединить содержимое "file1.txt" и "file2.txt" в виде таблицы: строка 1 из "file1.txt" = строка 1 колонка 1-n, строка 1 из "file2.txt" = строка 1 колонка n+1-m.

paste -d '+' file1.txt file2.txt

Объединить содержимое "file1.txt" и "file2.txt" в виде таблицы с разделителем "+".

sort file1.txt file2.txt

Отсортировать содержимое двух файлов.

sort file1.txt file2.txt | uniq

Отсортировать содержимое двух файлов, не отображая повторов.

sort file1.txt file2.txt | uniq -u

Отсортировать содержимое двух файлов, отображая только уникальные строки (строки, встречающиеся в обоих файлах, не выводятся на стандартное устройство вывода).

sort file1.txt file2.txt | uniq -d

Отсортировать содержимое двух файлов, отображая только повторяющиеся строки.

comm -1 file1.txt file2.txt

Сравнить содержимое двух файлов, не отображая строки принадлежащие файлу "file1.txt".

comm -2 file1.txt file2.txt

Сравнить содержимое двух файлов, не отображая строки принадлежащие файлу "file2.txt".

comm -3 file1.txt file2.txt

Сравнить содержимое двух файлов, удаляя строки встречающиеся в обоих файлах.

DEB пакеты (Дистрибутивы базирующиеся на Debian, Ubuntu).

dpkg -i package.deb

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

dpkg -r package_name

Удалить пакет из системы.

dpkg -l

Показать все пакеты, установленные в системе.

dpkg -l | grep httpd

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

dpkg -s package_name

Отобразить инфрмацию о конкретном пакете.

dpkg -L package_name

Вывести список файлов, входящих в пакет, установленный в системе.

dpkg --contents package_name

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

dpkg -S /bin/ping

Найти пакет, в который входит указанный файл.

RPM пакеты (Дистрибутивы базирующиеся на RedHat, Fedora).

rpm -ivh package.rpm

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

rpm -ivh --nodeps package.rpm

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

rpm -U package.rpm

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

rpm -F package.rpm

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

rpm -e package_name

Удалить пакет.

rpm -qa

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

rpm -qa | grep httpd

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

rpm -qi package_name

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

rpm -qg "System Environment/Daemons"

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

rpm -ql package_name

Вывести список файлов, входящих в пакет.

rpm -qc package_name

Вывести список конфигурационных файлов, входящих в пакет.

rpm -q package_name --whatrequires

Вывести список пакетов, необходимых для установки конкретного пакета по зависимостям.

rpm -q package_name --scripts

Отобразит скрипты, запускаемые при установке или удалении пакета.

rpm -q package_name --changelog

Вывести историю ревизий пакета.

rpm -qf /etc/httpd/conf/httpd.conf

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

rpm -qp package.rpm -l

Отображает список файлов, входящих в пакет, но ещё не установленных в систему.

rpm --import /media/cdrom/RPM-GPG-KEY

Ипортировать публичный ключ цифровой подписи.

rpm --checksig package.rpm

Проверит подпись пакета.

rpm -qa gpg-pubkey

Проверить целостность установленного содержимого пакета.

rpm -V package_name

Проверить размер, полномочия, тип, владельца, группу, MD5-сумму и дату последнего изменеия пакета.

rpm -Va

Проверить содержимое всех пакеты установленные в систему. Выполняйте с осторожностью!

rpm -Vp package.rpm

Проверить пакет, который ещё не установлен в систему.

rpm2cpio package.rpm | cpio --extract --make-directories *bin*

Извлечь из пакета файлы содержащие в своём имени "bin".

rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm

Установить пакет, собранный из исходных кодов.

rpmbuild --rebuild package_name.src.rpm

Собрать пакет из исходных кодов.

APT - пакетный менеджер (Дистрибутивы базирующиеся на Debian, Ubuntu).

apt-get install package_name

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

apt-cdrom install package_name

Установить или обновить пакет с CDROM.

apt-get update

Получить обновлённые списки пакетов.

apt-get upgrade

Обновить пакеты, установленные в систему.

apt-get remove package_name

Удалить пакет, установленный в систему с сохранением файлов конфигурации.

apt-get purge package_name

Удалить пакет, установленный в систему с удалением файлов конфигурации.

apt-get check

Проверить целостность зависимостей.

apt-get clean

Удалить загруженные архивные файлы пакетов.

apt-get autoclean

Удалить старые загруженные архивные файлы пакетов.

YUM - пакетный менеджер (Дистрибутивы базирующиеся на RedHat, Fedora).

yum install package_name

Установать пакет.

yum update

Обновить все пакеты, установленные в систему.

yum update package_name

Обновить пакет.

yum remove package_name

Удалить пакет.

yum list

Вывести список всех пакетов, установленных в систему.

yum search package_name

Найти пакет в репозитории.

yum clean packages

Очисть rpm-кэш, удалив закачанные пакеты.

yum clean headers

Удалить все заголовки файлов, которые система использует для разрешения зависимостей.

yum clean all

Очисть rpm-кэш, удалив закачанные пакеты и заголовки.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]