Ysa-w02d2-ru: Difference between revisions

From
Jump to navigation Jump to search
Content deleted Content added
Jpr (talk | contribs)
No edit summary
Jpr (talk | contribs)
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
= Неделя 2: Файловая система Linux, базовые команды, пути и справка =
Alles klar! Hier ist der **detaillierte Plan für Tag 2 der Woche 2**, fokussiert auf **erweiterte Arbeit mit der Dateisystemhierarchie, Rechten und Textmanipulation**, formatiert für **MediaWiki**.


---


== День 2: Пути, шаблоны и справка команд ==
= Неделя 2, День 2: Работа с файлами, правами и текстом =


'''Цель дня:'''
'''Цель дня:'''
Научиться работать с **абсолютными и относительными путями**, использовать **шаблоны файлов**, самостоятельно находить справку.
Углубить знания о файловой системе, научиться работать с правами доступа, просматривать и обрабатывать текстовые файлы с помощью команд Linux.


'''Формат:''' 6 часов (2 часа теория + 4 часа практика)


=== 1. Абсолютные и относительные пути ===
---


==== Абсолютный путь ====
== Часть 1: Теория (~2 часа) ==
Всегда начинается с `/`:


<pre>
'''Темы:'''
/home/student/week2/project
</pre>


==== Относительный путь ====
* Права доступа к файлам и каталогам: r (чтение), w (запись), x (выполнение)
Относится к текущему каталогу:
* Владелец и группа файла
* Изменение прав и владельцев: `chmod`, `chown`, `chgrp`
* Просмотр содержимого файлов: `cat`, `less`, `head`, `tail`
* Работа с текстом: `grep`, `wc`
* Комбинирование команд через пайпы (`|`)
* Перенаправление вывода: `>`, `>>`

'''Необходимый материал:'''

* Руководство по правам доступа: [[https://www.gnu.org/software/coreutils/manual/html_node/Permission-Notes.html](https://www.gnu.org/software/coreutils/manual/html_node/Permission-Notes.html)]
* Руководство по просмотру файлов: [[https://www.tldp.org/LDP/abs/html/textfile.html](https://www.tldp.org/LDP/abs/html/textfile.html)]
* Работа с текстом: [[https://www.gnu.org/software/coreutils/manual/html_node/Filtering-Utilities.html](https://www.gnu.org/software/coreutils/manual/html_node/Filtering-Utilities.html)]

'''Дополнительные ресурсы:'''


<pre>
<pre>
cd project/docs
ls -l — показать права доступа
chmod — изменить права доступа
chown — изменить владельца
chgrp — изменить группу
cat — показать содержимое файла
less — постраничный просмотр файла
head — первые строки файла
tail — последние строки файла
grep — поиск текста в файле
wc — подсчёт строк, слов, символов
| — передача вывода одной команды в другую
> >> — перенаправление вывода в файл
</pre>
</pre>


---
---


== Часть 2: Практика (~4 часа) ==
=== 2. Шаблоны (wildcards) ===


{| class="wikitable"
'''Задачи практики:'''
|-
! Символ !! Значение !! Примеры
|-
| `*` || Любое количество символов || <pre>ls *.txt</pre>
|-
| `?` || Ровно один символ || <pre>ls file?</pre>
|-
| `[a-z]` || Диапазон символов || <pre>ls [ab]*.txt</pre>
|}


=== 3. Практика: использование шаблонов ===
# **Просмотр файлов**

* Просмотреть содержимое системного файла `/etc/passwd`:


<pre>
<pre>
cd ~/week2
cat /etc/passwd
touch a.txt b.txt c.log d.log
less /etc/passwd
ls *.txt
head -n 10 /etc/passwd
ls *.log
tail -n 10 /etc/passwd
</pre>
</pre>


---
# **Создание и редактирование файлов**


=== 4. Использование справки ===
* Создать текстовый файл `notes.txt` и добавить строки:


==== `man` ====
<pre>
echo "Первая строка" > notes.txt
echo "Вторая строка" >> notes.txt
</pre>

* Использовать `nano` или `vi` для редактирования файлов:


<pre>
<pre>
man ls
nano notes.txt
</pre>
vi notes_vi.txt
</pre>


Навигация:
# **Работа с правами доступа и владельцами**


* `q` — выход
* Создать файл `example.txt` и проверить права:
* `/текст` — поиск


==== `--help` ====
<pre>
touch example.txt
ls -l example.txt
</pre>

* Изменить права на файл:


<pre>
<pre>
ls --help
chmod 644 example.txt
</pre>
ls -l example.txt
</pre>

* Изменить владельца и группу:

<pre>
sudo chown username:username example.txt
sudo chgrp developers example.txt
</pre>

# **Работа с текстом и пайпами**

* Найти строки с `root` в `/etc/passwd`:

<pre>
grep root /etc/passwd
</pre>

* Подсчитать количество строк в файле:

<pre>
cat /etc/passwd | wc -l
</pre>

* Использовать `head` и `tail` для просмотра первых и последних строк

# **Задания на закрепление:**

* Создать несколько текстовых файлов и использовать `grep`, `wc`, `head`, `tail` для анализа
* Настроить права доступа на свои файлы и проверить их с помощью `ls -l`
* Попробовать объединить команды с помощью пайпов и перенаправления

'''Материалы и ссылки для практики:'''

* Работа с правами и владельцами: [[https://www.gnu.org/software/coreutils/manual/html_node/Permission-Notes.html](https://www.gnu.org/software/coreutils/manual/html_node/Permission-Notes.html)]
* Просмотр и редактирование файлов: [[https://www.tldp.org/LDP/abs/html/textfile.html](https://www.tldp.org/LDP/abs/html/textfile.html)]
* Команды для обработки текста: [[https://www.gnu.org/software/coreutils/manual/html_node/Filtering-Utilities.html](https://www.gnu.org/software/coreutils/manual/html_node/Filtering-Utilities.html)]


---
---


=== 5. Практика: самостоятельное изучение ===
== Итог дня ==


* Открыть `man cp`
* Освоили просмотр и редактирование файлов (`cat`, `less`, `head`, `tail`, `nano`, `vi`)
* Найти опцию рекурсивного копирования
* Понимаем систему прав доступа, умеем их изменять (`chmod`, `chown`, `chgrp`)
* Скопировать каталог с этой опцией
* Научились искать и подсчитывать данные в текстовых файлах (`grep`, `wc`)
* Освоили работу с пайпами и перенаправлением вывода
* Закрепили навыки анализа файлов и настройки прав

Latest revision as of 19:23, 28 December 2025

Неделя 2: Файловая система Linux, базовые команды, пути и справка

День 2: Пути, шаблоны и справка команд

Цель дня: Научиться работать с **абсолютными и относительными путями**, использовать **шаблоны файлов**, самостоятельно находить справку.


1. Абсолютные и относительные пути

Абсолютный путь

Всегда начинается с `/`:

/home/student/week2/project

Относительный путь

Относится к текущему каталогу:

cd project/docs

---

2. Шаблоны (wildcards)

Символ Значение Примеры
`*` Любое количество символов
ls *.txt
`?` Ровно один символ
ls file?
`[a-z]` Диапазон символов
ls [ab]*.txt

3. Практика: использование шаблонов

cd ~/week2
touch a.txt b.txt c.log d.log
ls *.txt
ls *.log

---

4. Использование справки

`man`

man ls

Навигация:

  • `q` — выход
  • `/текст` — поиск

`--help`

ls --help

---

5. Практика: самостоятельное изучение

  • Открыть `man cp`
  • Найти опцию рекурсивного копирования
  • Скопировать каталог с этой опцией