This repository has been archived by the owner on Nov 10, 2020. It is now read-only.
forked from dehasi/practical-minimum-2020-labs
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
97 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,97 @@ | ||
### Лабораторочка 1 | ||
|
||
В домашнем каталоге (`~`) создайте папку (`mkdir`) `lab1` и перейдите в нее (`cd`). | ||
|
||
Убедитесь, что вы находитесь в папке `lab1` (`pwd`). | ||
|
||
Узнайте имя своего пользователя (`whoami`). | ||
|
||
#### Задание 1 | ||
|
||
Создайте в нем файл `file1` с произвольным текстом. | ||
Убедитесь, что файл создан (`ls`). | ||
|
||
Создайте на этот файл символическую ссылку (`ln -s`). | ||
Убедитесь, что ссылка создана (`ls -l`). | ||
|
||
Какие иноды у файла и ссылки (`stat`, `ls -i`)? | ||
|
||
Выведите содержимое файла и ссылки (`cat`). | ||
|
||
Удалите файл (`rm`). Убедитесь, что файл удален (`ls`). | ||
|
||
Выведите содержимое ссылки. | ||
|
||
Создайте файл заново, с другим текстом. | ||
|
||
Выведите содержимое файла и ссылки (`cat`). | ||
|
||
Удалите (`rm`) и ссылку. | ||
|
||
------ | ||
#### Задание 2 | ||
Повторите то же самое, только вместо символической ссылки, создайте жесткую. | ||
|
||
Какие иноды у файла и ссылки? | ||
|
||
Поменяйте права у файла (`chmod`), поменялись ли права у ссылки? | ||
|
||
------ | ||
#### Задание 3-5 | ||
- Заберите право `r` у каталога и попробуйте повторить задание 1 (или 2). | ||
- Заберите право `w` у каталога и попробуйте повторить задание 1 (или 2). | ||
- Заберите право `x` у каталога и попробуйте повторить задание 1 (или 2). | ||
|
||
----- | ||
#### Задание 6 | ||
|
||
Убедитесь что у вас установлен компилятор Си (`gcc -v`). | ||
Установите в случае необходимости (`apt-get install gcc`, `yum install gcc`, `brew install gcc`)/ | ||
|
||
Создайте файл `program.c` с содержимым: | ||
|
||
``` | ||
$cat program.c | ||
#include<stdio.h> | ||
int main(int argc, char *argv[]) { | ||
printf("%s is %d\n", "argc", argc); | ||
return 0; | ||
} | ||
``` | ||
|
||
Скомпилируйте программу (`gcc program.c -o program`). | ||
|
||
Запустите программу. | ||
``` | ||
$./program | ||
argc is 1 | ||
``` | ||
|
||
Модифицируйте программу так, чтобы она печатала свое имя (`argv[0]`) | ||
|
||
Убедитесь, что программа работает. | ||
|
||
---- | ||
Модифицируйте программу так, чтобы она впадала в бесконечный цикл (`while(1);`). | ||
|
||
Запустите, убедитесь, что программа работает, остановите программу (`Ctrl-C`). | ||
|
||
---- | ||
Запустите программу в фоне (`&`). | ||
|
||
Найдите ее `pid` (`ps`). | ||
|
||
Остановите программу (`kill`). | ||
|
||
---- | ||
|
||
Запустите программу в фоне еще раз. | ||
|
||
Найдите ее `job id` (`jobs`). | ||
|
||
Верните программу из фона (`fg`). | ||
|
||
Остановите программу. | ||
|