Тема: використання вказівок Tерміналу.
Мета: ознайомитись з основними вказівками Tерміналу (Linux Mint 13), перевірити застосування деяких з них на практиці.
Обладнання: ПК з встановленою ОС Linux Mint 13, (дана) інструкція.
План уроку
Хід уроку
1. Організаційний момент
Вітання з класом. Перевірка присутності і готовності учнів до уроку. Перевірка виконання домашнього завдання.
2. Актуалізація опорних знань
3. Вивчення нового матеріалу
Мотивація
Будь-який користувач зазвичай розпочинає роботу з операційною системою, користуючись її графічним інтерфейсом. Але через деякий час може з'явитись бажання спробувати працювати і через Термінал. Це і корисно, і цікаво. Саме таким чином можна пізнати всі можливості операційної системи. Саме таким чином можна істотно економити робочий час. На цьому уроці ви оглядово ознайомитеся з деякими основними вказівками Терміналу і застосуєте деякі з них на практиці.
Категорії вказівок Терміналу
Подамо приклади використання деяких вказівок Терміналу, що належать до цих категорій. При ознайомленні потрібно переглянути кожну з 25 категорій, а в кожній категорії лише кілька прикладів використання, щоб створити уявлення про сферу застосування і формат відповідних вказівок.
На уроці обов'язково потрібно проглянути приклади категорій 1–19. Приклади категорій 20–25 не буде використано у ході практичної роботи, бо пересічний користувач зазвичай їх не використовує. Згідно з рішенням учителя, ознайомлення з цими категоріями 20–25 може бути самостійним у позаурочний час і, навіть, за бажанням.
Вивчення вказівок напам'ять непотрібне. Корисну вказівку терплячий користувач буде часто використовувати, тому зможе її запам'ятати без будь-яких зусиль зі свого боку. Інакше йому набридне постійно заглядати у довідкову літературу, і він таки докладе зусиль, щоб запам'ятати вказівку. Але лише одну або кілька, якими часто користується.
1. Системна інформація
arch, uname -m — відображення архітектури комп'ютера;
uname -r — відображення архітектури комп'ютера;
dmidecode -q — відображення версії ядра, яке використано;
hdparm -i/dev/hda — виведення характеристик жорсткого диску;
hdparm -tT/dev/sda — тестування продуктивності зчитування даних з жорсткого диску;
cat /proc/cpuinfo — відображення інформації про процесор;
cat /proc/interrupts — відображення переривань;
cat /proc/meminfo — перевірка використання пам'яті;
cat /proc/swaps — показати файл(и) підкачування;
cat /proc/version — виведення версії ядра;
cat /proc/net/dev — показати мережні інтерфейси і статистку щодо них;
cat /proc/mounts — відобразити змонтовані файлові системи;
lspci -tv — показати у вигляді дерева PCI- пристрої;
lsusb -tv — показати у вигляді дерева USB-пристрої;
date — вивести системну дату;
cal 2013 — вивести таблицю-календар 2013 року;
date -s "01 JUN 2013 11:14:00" — встановити системні дату і час 1 червня 2013 року і 11 годин 14 хвилин;
clock -w — зберегти системний час у BIOS;
2. Зупинка системи
shutdown -h nov — зупинити систему;
init 0 — зупинити систему;
telinit 0 — зупинити систему;
shutdown -h 23:34— запланувати зупинку системи на 23 годину 45 хвилин;
shutdown -c — відмінити заплановану зупинку системи;
shutdown -r now — перезавантажити систему;
reboot — перезавантажити систему;
logout — вийти із системи;
3. Файли й теки
cd /home — перейти до теки «/home»;
cd.. — перейти до теки рівнем вище;
cd ../.. — перейти до теки двома рівнями вище;
cd ~user — перейти в домашню теку користувача user;
cd — перейти у теку, в якій знаходились до переходу у поточну теку;
pwd — показати назву поточної теки;
ls — відобразити вміст поточної теки;
ls –l — показати деталізоване подання файлів і тек у поточній теці;
ls –a — показати приховані файли і теки в поточній теці;
ls *[0-9]* — показати файли і теки, які містять у назві цифри;
tree – показати дерево файлів і тек, починаючи з кореня (вимагає попереднього встановлення tree);
mkdir dir1 — створити теку з іменем dir1;
mkdir dir1 dir2 — створити одночасно дві теки;
rm –f file1 — видалити файл з назвою «file1»;
rmdir dir1 — видалити теку з назвою dir1;
rm –rf dir1 — видалити теку dir1 і рекурсивно весь її вміст;
rm –rf dir1 dir2 — видалити дві теки і рекурсивно їх вміст;
mv dir1 new_dir — переназвати або перемістити файл або теку;
cp file1 file2 — скопіювати файл file1 у файл file2;
cp dir/* — скопіювати усі файли теки dir у поточну теку;
cp –a/tmp/dir1 — скопіювати теку dir1 з усім її вмістом у поточну теку;
cp –a dir1 dir2 — копіювати теку dir1 у теку dir2;
touch -t200911030000 file — модифікувати дату і час останньої зміни або створення файлу на початок 3 листопада 2009 року, при його відсутності створити файл з вказаними датою і часом;
4. Пошук файлів
find / -name file1 — знайти файли й теки з назвою file1, починаючи з кореня (/);
find / -user user1 — знайти файли й теки, які належать користувачу user1, починаючи з кореня;
find /home/user1 — name '*.bin' — знайти всі файли й теки, назви яких закінчуються на '.bin', починаючи з /home/user1;
find /usr/bin — type f - atime +100 — знайти всі файли в /usr/bin, час останнього звертання до яких перевищує 100 днів;
find /usr/bin - type f - mtime -10 — знайти всі файли в /usr/bin', створені або змінені протягом останніх 10 днів;
locate '*.ps' — знайти всі файли, які містять у назві 'ps'. Перед цим рекомендовано виконати вказівку 'updatedb';
whereis halt — показує розміщення всіх файлів, вихідних кодів, які відносяться до файлу 'halt';
which halt — відображає повний шлях до файлу 'halt';
5. Монтування файлових систем
mount / dev/hda2/mnt/hda2 — монтує розділ ' hda2' в точку монтування '/mnt/hda2 '. Переконайтесь в наявності теки-точки монтування '/mnt/hda2 ' (якщо вона відсутня, то виконайте команду # mkdir /nmt /hda2 );
unmount / dev/hda2 — розмонтовує розділ ' hda2'. Перед виконанням покиньте '/mnt/hda2';
fuser -km / mnt/hda2 — примусове розмонтування розділу. Застосовують у випадку, коли розділ зайнято якимось користувачем;
unmount -n /mnt/hda2 — виконати розмонтування без занесення інформації в /etc/mtab. Корисно, коли файл має атрибути 'лише читання' або недостатньо місця на диску;
moumt / dev/ fd0 / mnt/ floppy — монтувати флоппі-диск;
mount / dev / cdrom/ mnt/ cdrom — монтувати CD або DVD;
mount / dev / hdc /mnt/cdrecorder — монтувати CD-R/RW або DVD-R/DVD-RQW(+-);
mount -o loop file.iso / mnt/ cdrom — змонтувати ISO-образ;
mount -t vfat /dev/ hda5/ mnt/ hda5 — монтувати файлову систему Windows FAT32;
mount -t smbfs -o username = user, password = pass //winclient/share/ mnt / share — монтувати мережну файлову систему Windows (SMB/CIFS);
mount -o bind /home/ user/ prg/var/ftp/user — монтує теку в теку(binding). Доступно лише з версії ядра 2.4.0. Корисна, наприклад, для надання вмісту користувацькій теки через ftp при роботі ftp-сервера в 'пісочниці' (chroot), коли симлінки зробити неможливо;???
6. Дисковий простір
df -h — відображає інформацію про змонтовані розділи з відображенням загального доступного простору;
ls -lSr |more — видає список файлів і тек рекурсивно із впорядкуванням за зростанням розміру і дозволяє здійснити посторінковий перегляд;
du -sh dir1 — обчислює і виводить розмір, який займає тека 'dir1';
du -sk * | sort -rn — відображає розмір та назви файлів і тек з упорядкуванням за розміром;
7. Користувачі і групи
groupadd group_name — створити нову групу з назвою group_name (потрібно мати права адміністратора);
groupdel group_name — видалити групу group_name;
groupmod -n new_group_name old_group_name — перейменувати групу old_group_name у new_group_name;
useradd -c 'Nome Cognome' -g admin -d /home/ user1 -s /bin/ bash user1 — створити користувача user1, призначити йому домівкою /home/user1, як shell — /bin/bash, долучити його до групи admin і додати коментар Nome Cognome;
useradd user1 — створити користувача user1;
userdel -r user1 — видалити користувача user1 і його домашній каталог;
passwd — змінити пароль;
passwd user1 — змінити пароль користувача user1 (лише root);
chage -E 2012-10-28 user1 — встановити дату закінчення дії облікового запису користувача user1 2012-10-28;
pwck — перевірити коректність системних файлів облікових записів. Перевіряють файли /etc/passwd і /etc/shadow;
grpck — перевірити коректність системних файлів облікових записів. Перевіряєть файл /etc/group;
newgrp [-] group_name — змінює первинну групу поточного користувача. Якщо вказати '-', ситуація буде ідентична тій, в якій користувач вийшов із системи і знову зайшов. Якщо не вказувати групу, первинна група буде призначена з /etc/passwd;
8. Виставлення /зміна повноважень на файли
ls -lh — перегляд повноважень на файли і теки у поточній теці;
ls / tmp | pr -T5 -W$COLUMNS — вивести вміст теки /tmp і розділити виведення на 5 стовпчиків;
chmod ugo+rwx directory1 — додати повноваження на теку directory1 ugo (User Group Other) + rwx (Read Write eXecute) — усім повні права. Аналогічне можна зробити наступним чином 'chmod 777 directory1';
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;
9. Спеціальні атрибути файлів
chattr +a file1 — дозволяє відкривати файл на запис лише в режимі додавання, тобто у файл можна тільки дописувати, але неможна видаляти, перейменовувати;
chattr +c file1 — дозволяє ядру автоматично стискати (розтискати) зміст файлу;
chattr +d file1 — вказує утиліті dump ігнорувати даний файл при створенні резервної копії;
chattr +i file1 — робить файл недоступним для будь-яких змін: редагування, видалення, переміщення, створення зв'язків на нього;
chattr +s file1 — дозволяє зробити видалення файлу безпечним, тобто виставлений атрибут s говорить про те, що при видаленні файлу, місце, яке він займав на диску заповнюється нулями, що запобігає можливості відновлення даних;
chattr +S file1 — вказує, що при зберіганні змін буде здійснено синхронізацію, як при виконанні команди sync (запис на диск буде здійснено без кешування, оновлення здійснюється синхронно з додатком, який змінює даний файл);
chattr +u file1 — даний атрибут вказує, що при видаленні файлу зміст його буде збережено і при необхідності користувач зможе його відновити;
lsattr — показати атрибути файлів;
10. Архівування і стиснення файлів
gzip file1 — стиснення файлу 'file1';
bzip2 file1 — стиснення файлу 'file1';
gunzip file1.gz — видобування файлу 'file1.gz';
bunzip2 file1.bz2 — видобування файлу 'file1.bz2';
gzip -9 file1 — стиснути файл file1 з максимальним стисненням;
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 — показати вміст архіву archive.tar;
tar -xvf archive.tar — розпакувати архів archive.tar;
tar -xvf archive.tar -С / tmp — розпакувати архів archive.tar у теку /tmp;
tar -cvfj archive.tar.bz2 dir1 — створити архів archive.tar і стиснути його за допомогою bzip2;
tar -xvfj archive.tar.bz2 — розархівувати і розпакувати архів;
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 — розархівувати і розпакувати архів file1.zip;
11. Deb-пакети
dpkg -i pachage.deb — встановити / оновити пакет;
dpkg -r pachage_name — видалити пакет із системи;
dpkg -l — показати пакети, які встановлено в систему;
dpkg -l | grep httpd — серед усіх пакетів системи знайти пакет, який в назві містить 'httpd';
dpkg -s package_name — відобразити інформацію про конкретний пакет;
dpkg -L package_name — вивести список файлів, які входять в пакет, встановлений в систему;
dpkg --contents package.deb — відобразити список файлів, які входять до пакету, який ще не встановлено в систему;
dpkg -S /bin/ping — знайти пакет, в який входить вказаний файл;
12. APT — засіб для керування пакетами
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 — видалити застарілі завантажені файли пакетів;
13. Перегляд вмісту файлів
cat file1 — вивести вміст файлу file1 на стандартний пристрій виведення;
tac file1 — вивести вміст файлу file1 на стандартний пристрій виведення в оберненому порядку (останній рядок буде першим і т.д.);
more file1 — посторінкове виведення вмісту файлу file1 на стандартний пристрій виведення;
less file1 — посторінкове виведення вміст файлу file1 на стандартний пристрій виведення, з можливістю гортання в обидві сторони (вгору-вниз), пошуку за вмістом і т.і.;
head -2 file1 — вивести перші два рядки файлу file1 на стандартний пристрій виведення. Як усталено виводять по 10 рядків;
tail -2 file1 — вивести останні два рядки файлу file1 на стандартний пристрій виведення. Як усталено виводять 10 рядків;
tail -f /var/log/messages — виводити вміст файлу /var/log/messages на стандартний пристрій по мірі того, як буде з'являтися текст;
14. Маніпуляції з текстом
cat file | grep -i 'Criteria' > result.txt — загальний синтаксис виконання дій опрацювання вмісту файлу і виведення результату в новий;
cat file | grep -i 'Criteria' >> result.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/* — відібрати і вивести на стандартний пристрій виведення рядки, які містять 'Аug' у всіх файлах теки /var/log і нижче;
sed 's/string1/string2/g' example.txt — в файлі example.txt замінити ' string1' на ' string2', результат вивести на стандартний пристрій виведення;
sed '/ ^$/d' example.txt — видалити всі порожні рядки у файлі example.txt;
sed '/ *#/d; /^$/d' example.txt — видалити порожні рядки і коментарі із файлу example.txt;
echo 'test' | tr '[:lower:]' '[:upper:]' — перетворити символи із нижнього регістру у верхній;
sed -e '1d' example.txt — видалити перший рядок із файлу example.txt;
sed -n '/string1/p' example.txt — відобразити тільки рядки, які містять 'string1';
sed -e 's/ *$//' example.txt — видалити порожні символи в кінці кожного рядка;
sed -e 's/string1//g' example.txt — видалити рядок 'string1' з тексту, не змінюючи всього іншого;
sed -n '1,8p;5q' example.txt — взяти з файлу з першого по восьмий рядки і з них вивести лише п'ять;
sed -n '5p;5q' example.txt — вивести п'ятий рядок;
sed -e 's/0*/0/g' example.txt — замінити послідовність із довільної кількості нулів одним нулем;
cat -n file1 — пронумерувати рядки при виведенні вмісту файлу;
cat example.txt |awk 'NR%2==1' — при виведенні вмісту файлу, не виводити парні рядки;
echo a b c | awk ' {print $1} ' — вивести перший стовпчик;
echo abc | awk ' {print $1, $3} ' — вивести перший і третій стовпчик;
paste file1 file2 — об'єднати вміст file1 і file2 у вигляді таблиці;
paste -d '+' file1 file2 — об'єднати вміст file1 і file2 у вигляді таблиці з роділювачем '+';
sort file1 file2 — впорядкувати вміст двох файлів;
sort file1 file2 | uniq — впорядкувати вміст двох файлів, не відображаючи повторень;
sort file1 file2 | uniq -u — впорядкувати вміст двох файлів, відображаючи лише унікальні рядки (рядки, які зустрічаються в обох файлах не виводити на стандартний пристрій виведення);
sort file1 file2 | uniq -d — відсортувати вміст двох файлів, відображаючи лише рядки, які повторюються;
comm -1 file1 file2 — порівняти вміст двох файлів, не відображаючи рядки, які належать файлу 'file1';
comm -2 file1 file2 — порівняти вміст двох файлів, не відображаючи рядки, які належать файлу 'file2';
comm -3 file1 file2 — порівняти вміст двох файлів, видаляючи рядки, які зустрічаються в обох файлах;
15. Перетворення наборів символів і файлових форматів
dos2unix filedos.txt fileunix.txt — конвертувати файл текстового формату із MSDOS в UNIX;
unix2dos fileunix.txt filedos.txt — конвертувати файл текстового формату із UNIX в MSDOS;
recode ..HTML <page.txt> page.html — конвертувати вміст текстового файлу page.txt в html-файл page.html (recode вимагає встановлення);
recode -l | more — вивести список усіх доступних форматів;
16. Аналіз файлових систем
badblocks -v /dev/hda1 — перевірити розділ hda1 на наявність зіпсованих блоків;
fsck /dev/hda1 — перевірити/відновити цілісність файлової системи розділу hda1;
e2fsck.ext2 /dev/hda1 — перевірити/відновити цілісність файлової системи ext2 розділу hda1;
e2fsck -j /dev/hda1 — перевірити/відновити цілісність файлової системи ext3 розділу hda1 з указанням того, що журнал розташовано там само;
fsck.ext3 /dev/hda1 — перевірити/відновити цілісність файлової системи ext3 розділу hda1;
fsck. vfat /dev/hda1 — перевірити/відновити цілісність файлової системи fat розділу hda1;
fsck.msdos /dev/hda1 — перевірити/відновити цілісність файлової системи fat розділу hda1;
dosfsck /dev/hda1 — перевірити/відновити цілісність файлової системи fat розділу hda1;
17. Форматування файлових систем
mkfs /dev/hda1 — створити linux-файлову систему на розділі hda1;
mke2fs /dev/hda1 — створити файлову систему ext2 на розділі hda1;
mke2fs -j /dev/hda1 — створити журнальну файлову систему ext3 на розділі hda1;
mkfs -t vfat32 -F/dev/hda1— створити файлову систему FAT32 на розділі hda1;
fdformat -n /dev/fd0 — форматування флоппі-диску без перевірки;
mkswap /dev/hda3 — створення swap-простору на розділі hda3;
18. Swap-прострір
mkswap /dev/hda3 — створення swap-простору у розділі hda3;
swapon /dev/hda3 — активувати swap-простір, розташований у розділі hda3;
swapon /dev/hda2/dev/hdb3 — активізувати swap-простори, розташовані на розділах hda2 i hdb3;
19. Створення резервних копій (backup)
dump -0aj -f /tmp/home0.back /home — створити повну резервну копію теки /home у файл /tmp/home0.bak;
dump -1aj -f /tmp/home0.bak /home — створити інструментальну резервну копію теки /home в файл /tmp/home0.back;
restore -if / tmp/home0.bak — відновити із резервної копії tmp/home0.bak;
rsync -rodpav -- delete /home/tmp — синхронізувати /tmp з /home;
rsync -rodpav -e ssh -- delete /home ip_adress:/tmp — синхронізувати через SSH-тунель;
rsync -az -e ssh -- delete ip_addr:/home/public/home/local — синхронізувати локальну теку з віддаленою текою через SSH-тунель зі стисненням;
rsync -az -e ssh -- delete /home/local ip_addr:/home/public — синхронізувати віддалену теку з локальною текою через SSH-тунель зі стисненням;
dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz' — зробити 'зліпок' локального диску у файл на віддаленому комп'ютері через SSH-тунель;
tar -Puf backup.tar /home/user — створити інкрементальну резервну копію теки '/home/user' в файл backup.tar із збереженням повноважень;
(cd /tmp/local/ && tar c . ) | ssh -C user@addr 'cd /home/share/ && tar x -p' — копіювати вміст tmp/local на віддалений комп'ютер через SSH-тунель в /home/share/;
(tar c /home ) ssh -C user@ip_arrd 'cd /home/backup-home && tar -p' — копіювати вміст /home на віддалений комп'ютер через SSH-тунель у /home/ backup-home;
tar -cf -. | (cd /tmp/backup ; tar xf -) — копіювання однієї теки в іншу зі збереженням повноважень і лінків;
find /home/user1 -name '*.txt' / \ xargs cp -av --target - directory=/home/backup/ --parents — пошук у /home/user1 усіх файлів, назви яких закінчуються на '.txt ' і копіювання їх в іншу теку;
find /var/log -name '*.log' | tar cv -- files-from=- | bzip2 > log.tar.bz2 — пошук у /var/log усіх файлів, імена яких закінчуються на '.log' і створення bzip-архіву з них;
dd if=/dev/hda of=/dev/fd0 bs=512 count=1 — створити копію MBR (Master Boot Record) з /dev/hda на флоппі-диск;
dd if=/dev/fd0 of=/dev/hda bs=512 count=1 — відновити MBR з флоппі- диска на /dev/hda;
20. Мережа (LAN i WIFI)
ifconfig eth0 — показати конфігурацію мережного інтерфейсу eth0;
ifup eth0 — активувати (підняти) інтерфейс eth0;
ifdown eth0 — деактивувати (опустити) інтерфейс eth0;
ifconfig eth0 192.168.0.1 netmask 255.255.255.0 — виставити інтерфейсу eth0 ір-адресу і маску підмережі;
ifconfig eth0 promisc — перевести інтерфейс eth0 у promiscuous-режим для 'відловлювання' пакетів (sniffing);
ifconfig eth0 -promisc — відключити promiscuous-режим на інтерфейсі eth0;
dhclient eth0 — ативувати інтерфейс eth0 у dhcр-режимі;
route -n — вивести локальну таблицю маршрутизації;
route add -net 0/0 gw IP_Gateway — задати ip-адресу шлюзу як усталено (default gateway);
route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.0.1 — додати статичний маршрут у мережу 192.168.0.0/16 через шлюз із ip-адресою 192.168.0.1;
route del 0/0 gw IP_Gateway — видалити ip-адресу шлюзу як усталено (default gateway);
echo '1' >/proc/sys/net/ipv4/ip_forward — дозволити пересилання пакетів (forwarding);
hostname — відобразити назву комп'ютера;
host www.yavdex.ru — дозволити назву www.yavdex.ru хоста в ір-адресу;
host 93.158.134.3 — навпаки host www.yavdex.ru;
ip link show — відобразити стан всіх інтерфейсів;
mii-tool eth0 — відобразити статус і тип з'єднання для інтерфейсу eth0;
ethtool eth0 — відобразити статистику інтерфейсу eth0 з виведенням поточних режимів з'єднання і тих, які підтримано;
netstat -tupn — відобразити всі встановлені мережні з'єднання за протоколами TCP і UDP без дозволу назв у ip-адреси і PIDи й назви процесів, які забезпечують ці з'єднання;
netstat -tupln — відобразити всі мережні з'єднання за протоколами TCP і UDP без дозволу імен у ip-адреси і PIDи й назви процесів, які слухають порти;
tcpdump tcp port 80 — відобразити весь трафік на ТСР-порт 80 (зазвичай — НТТР);
iwlist eth1 — просканувати ефір на предмет доступності бездротових точок доступу;
iwconfig eth1 — показати конфігурацію бездротового інтерфейсу eth1;
21. Microsoft Windiws networks (SAMBA)
nbtscan ip_addr — дозволити netbios- назву (nbtscan потребує інсталяції);
nmblookup -A ip_addr — дозволити netbios- назву;
smbclient -L ip_addr/hostname — відобразити ресурси, які надано в загальний доступ на windows0-машині;
smbget -Rr smb: //ip_addr/share — подібно до wget може отримати файли з windows-машини через smb-протокол;
mount -t smbfs -o username=user, password=pass //winclient/share /mnt/share — змонтувати smb-ресурс, який надано на windows-машині, в локальну файлову систему;
22. IPTABLES (firewall)
iptables -t filter -nL — відобразити всі ланцюги правил;
iptables -nL — відобразити всі ланцюги правил;
iptables -t nat -L — відобразити всі ланцюги правил у NAT-таблиці;
iptables -t filter -F— очистити всі ланцюги правил в filter-таблиці;
iptables -F — очистити всі ланцюги правил в filter-таблиці;
iptables -t nat -F — очистити всі ланцюги правил у NAT-таблиці;
iptables -t filter -X — видалити всі користувацькі ланцюги правил у filter-таблиці;
iptables -t filter -A INPUT -p tcp --dport telenet -j ACCEPT — дозволити вхідне підключення telet'ом;
iptables -t filter -A OUTPUT -p tcp --dport telenet -j DROP — блокувати вихідні HTTP-з'єднання;
iptables -t filter -A FORWARD -p tcp --dport pop3 -j ACCEPT — дозволити 'прокидати' (forward) POP3-з'єднання;
iptables -t filter -A INPUT -j LOG --log-orefix 'DROP INPUT' — включити журналювання ядром пакетів, які проходять через ланцюг INPUT і додаванням до повідомлення префіксу 'DROP INPUT';
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE — включити NAT (Nrtwork Address Translate) вихідних пакетів на інтерфейс eth0. Допустимо при використанні з динамічно виділеними ір-адресами;
iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m --dport 22 \ -j DNAT --to-destianation 10.0.0.2:22 — перенаправлення пакетів, які адресовані одному хосту, на інший хост;
23. Моніторинг і налагодження
top — відобразити запущені процеси, ресурси, які вони використовують, та іншу корисну інформацію (з автоматичним оновлення даних);
ps -eafw — відобразити запущені процеси, ресурси, якими вони користуються та іншу корисну інформацію (один раз);
ps -e -o pid,args --forest — вивести PID'и і процеси у вигляді дерева;
pstree — відобразити дерево процесів;
kill - 9 98989 — 'убити ' процес PID 98989 без збереження цілісності даних;
kill -KILL 98989 —'убити ' процес PID 98989 без збереження цілісності даних;
kill -TERM 98989 — коректно завершити процес PID 98989;
kill -1 98989 — заставити процес з PID 98989 перепрочитати файл конфігурації;
kill -HUP 98989 — заставити процес з PID 98989 перепрочитати файл конфігурації;
lsof -p 98989 — відобразити список файлів, відкритих процесом з PID 98989;
lsof /home/user1 — відобразити список відкритих файлів із теки home/user1;
strace -c ls > /dev/null — вивести список системних викликів, створених і отриманих процесом ls;
strace -f -e open ls > /dev/null — вивести виклики бібліотек;
watch -n1 'cat /proc/interrupts' — відображати переривання в режимі реального часу;
last reboot — відобразити історію перезавантаження системи;
last user1 — відобразити історію реєстрації користувача user1 у системі і час його перебування в ній;
lsmod — вивести завантажені модулі ядра;
free -m — показати стан оперативної пам'яті в мегабайтах;
smartctl -A /dev/hda — контроль стану жорсткого диску /dev/hda через SMART (smartctl вимагає інсталяції);
smartctl -і /dev/hda — перевірити доступність SMART на жорсткому диску /dev/hda;
tail /var/log/dmesg — вивести десять останніх записів із журналу завантаження ядра;
tail /var/log/messages — вивести десять останніх записів із системного журналу;
24. CD i DVD ROM'и
eject — відкрити CD або DVD-привід;
cdrecord -v gracetime =2 dev=/dev/cdrom -eject blank=fast -force — очистити диск, який буде перезаписано;
mkisofs /dev/cdrom > cd.iso — створити ISO-образ з CD на жорсткий диск;
mkisofs /dev/cdrom | gzip > cd_iso.gz — створити стиснений ISO-образ з CD на жорсткий диск;
mkisofs -J -allow-leading-dots -R -V 'Label CD' -iso-lever 4 -o ./cd.iso data_cd — створити ISO-образ теки;
cdrecord -v dev=/dev/cdrom cd.iso — записати ISO-образ;
gzip -dc cd_iso.gz |cdrecord dev=/dev/cdrom — записати стиснений ISO-образ;
mount -o loop cd.iso /mnt/iso — монтувати ISO-образ;
cd-paranoia -B — записати звукові доріжки у WAV-файли (rip);
cd-paranoia -- '-3' — записати перші 3 звукові доріжки у WAV-файли (rip);
cdrecord --scanbus — сканувати шину для ідентифікації пристрою;
25. Інші корисні команди
apropos ..keyword — вивести список вказівок, які так чи інакше відносяться до ключових слів. Корисно, коли ви знаєте, що виконує програма, але не пам'ятаєте вказівку;
man ping — викликати посібника по роботі з програмою, в даному випадку — ping;
whatis ..keyword — відобразити опис дій вказаної програми;
mkbootdisk --device /dev/fd0 'uname -r' — створити завантажувальний флоппі-диск;
gpg -c file1 — зашифрувати файл file1 за допомогою GNU Privacy Guard;
gpg file1.gpg — дешифрувати файл file1 за допомогою GNU Privacy Guard;
wget -r www.example.com — завантажити рекурсивно вміст сайту www.example.com;
wget -c www.example.com/file.iso — завантажити файл www.example.com/file.iso з можливістю зупинки і продовження в майбутньому;
echo 'wget -c www.example.com/files.iso' |at 09:00 — почати завантаження у вказаний час;
ldd /usr/bin/ssh — вивести список бібліотек, необхідних для роботи ssh;
alias h='history' — назначити аліас 'h' фільтру виведення команди 'history'.
4. Інструктаж з ТБ
5. Закріплення вивченого матеріалу
Примітка. Після виконання кожної вказівки Tерміналу перевіряти її дію, при потребі використовуючи менеджер файлів або текстовий редактор. Про виконання кожного завдання повідомляти вчителя.
Завдання 1. Відкрити Tермінал і виконайте такі вказівки:
date — вивести системну дату;
pwd — відобразити поточну теки;
ls — відобразити вміст поточної теки;
ls –l — показати деталізоване подання файлів і тек у поточній теці;
сd /home/user — перейти у теку /home/user;
mkdir Lab — створити у поточній теці теку з назвою Lab.
Завдання 2. Використовуючи текстовий редактор, створити і наповнити файли 1.txt i 2.txt та зберегти їх у теку Lab. У документ 1.txt (копіюванням з електронної версії даної інструкції) ввести такий текст (подано курсивом):
Linux — це операційна система, яку створено на основі відомої операційної системи Unix. Це один із найвидатніших прикладів розробки вільного (free) та відкритого (з відкритим кодом, open source) програмного забезпечення (software).
На відміну від власницьких операційних систем її вхідні коди доступні всім для використання, зміни й розповсюдження. Linux функціонує буквально на всіх апаратних платформах і підтримує більше типів процесорів і програмних засобів, ніж будь-яка інша операційна система станом на 31.12.2012. Linux є багатозадачною операційною системою і системою для багатьох користувачів.
У документ 2.txt ввести такий текст:
Операційна система Linux достатньо проста в експлуатації. Хоча серед користувачів ПК досі поширений міф про її якби «непристосованість» для пересічного користувача.
Завдяки даній роботі ви зрозумієте, що це зовсім не так.
Завдання 3. Повернутися до роботи з Терміналом у поточній теці Lab. Виконати вказівки щодо перегляду вмісту файлів:
cat 1.txt
cat 2.txt
Завдання 4. Виконати вказівки щодо перегляду вмісту файлів:
tac 1.txt — переглянути вмісту 1.txt у зворотному порядку;
head -1 2.txt — вивести перший рядок файлу 2.txt;.
tail -1 1.txt — вивести останній рядок файлу 1.txt;
sed -n '3p;3q' 1.txt — вивести третій рядок файлу 1.txt;
sed -n '/Unix/p' 1.txt — вивести лише ті рядки файлу 1.txt, які містять 'Unix';
cat -n 1.txt — пронумерувати рядки при виведенні файлу 1.txt.
grep [0-9] 1.txt — з файлу 1.txt вивести лише ті рядки, які містять цифри;
sed -e '2d' 2.txt — файл 2.txt показати без другого рядка.
Завдання 5. Виконати вказівки щодо роботи з архівами:
tar -cvf lab.tar 1.txt 2.txt — створити tar-архів і додати до нього файли 1.txt, 2.txt;
tar -tf lab.tar — переглянути вміст архіву lab.tar;
tar -xvf lab.tar -C /home/user/Документи — розпакувати архів lab.tar у теку /home/user/Документи.
Завдання 6. Виконати вказівки щодо роботи з файлами:
cp 1.txt 2.txt — копіювати файл 1.txt у файл 2.txt;
rm -f 2.txt — видалити файл 2.txt;
mv 1.txt neo — надати файлу 1.txt нову назву neo.
Закрити усі програмні вікна.
6. Підбиття підсумків уроку
Виставлення оцінок.
7. Домашнє завдання
Примітка. У разі неможливості виконати практичне завдання дома учням потрібно надати можливість виконати дане завдання у школі.
Використовуючи вказівки Tерміналу, зробити таке:
Текст упорядкувала Серветник Ольга Миколаївна, учитель інформатики СШ № 216 Оболонського району, під час виконання випускної роботи на курсах підвищення кваліфікації з 01.10.2012 до 08.12.2012.