June 14, 2021

C Piscine Shell 00

C Piscine Shell 00 ex00 (Z)

Задание:

• Create a file called z that returns "Z", followed by a new line, whenever the command cat is used on it.

"Z"

• Создать файл с именем z, который возвращает Z, за которым следует новая строка всякий раз, когда в нем используется команда cat.

"Z"

Так же можно создать файл набрав команду текстового редактора Vim

vim z

открыть файл для редактирования i записать в него букву Z

Закрыть редактирование кнопкой ESC

Сохранить и выйти зажать SHIFT : набрать в меню wq

w - записать изменения в файл (write)

q - выйти (quit)

Документация читать (здесь)

C Piscine Shell 00 ex01 (Z)

Задание:

• Create a file called testShell00 in your submission directory

• Figure out a way for the output to look like this (except for the “total 1” line):

testShell00

• Once you’ve achieved the previous steps, execute the following command to create the file to be submitted: tar -cf testShell00.tar testShell00.

• Создать файл с названием testDay00 и Задать ему требуемые из скриншота свойства:

• Не беспокойтесь о том, что у вас вместо XX.

• Год будет принят вместо времени на метке времени файла.

testShell00

(Необходимо заархивировать и удалить из папки все файлы! Должен остаться только архив testShell00.tar)

User Group Other к каждой группе мы выдаем права + или -

Записать права chmod o+r названиефайла.сокращение

Записать права chmod g+r названиефайла.сокращение

Записать права chmod o+r названиефайла.сокращение

Получаем права -r--r--r--

Документация.

Создание Файлов и управление их временем:

https://itproffi.ru/sozdanie-fajlov-v-linux-komanda-touch/

Установка прав чтения/записи/выполнения:

https://habr.com/ru/post/469667/

Запись данных в файл:

https://linux-notes.org/vstavit-tekst-v-fajl-v-unix-linux/

Джокеры:

https://habr.com/ru/post/99827/

C Piscine Shell 00 ex02 (Z)

Задание:

• Create the following files and directories. Do what’s necessary so that when you use the ls -l command in your directory, the output will looks like this :

• Once you’ve done that, run tar -cf exo2.tar * to create the file to be submitted.

• Создать файлы и директории с требуемым названием;

• Задать им требуемые из скриншота свойства и размер в байтах

• Не беспокойтесь о том, что у вас вместо XX.

• Год будет принят вместо времени на метке времени файла.

Обратите внимание 3 и 5 связаны через Hard Link командой ln для создания удаляем 5 файл и пишем команду ln test3 test5 создается ссылка 5 указывающая на 3 файл. Тоже самое для 0 и 6 symbolic link ln -s

https://ru.wikipedia.org/wiki/Ln_(Unix)

(Все необходимо заархивировать и удалить из папки все файлы! Должен остаться только архив exo2.tar)

Документация.

Создание Файлов и управление их временем:

https://itproffi.ru/sozdanie-fajlov-v-linux-komanda-touch/

Установка прав чтения/записи/выполнения:

https://habr.com/ru/post/469667/

Запись данных в файл:

https://linux-notes.org/vstavit-tekst-v-fajl-v-unix-linux/

Джокеры:

https://habr.com/ru/post/99827/

C Piscine Shell 00 ex03 (klist.txt)

Задание:

• Make sure you have a valid (non-expired) Kerberos ticket. If you don’t have one yet, get one.

• Once you’ve got at least one Kerberos ticket, write a list of all your tickets into a file named klist.txt

• Создать (узнать) ключ кэширования Kerberos

• Поместить его в klist.txt

Создаете директорию mkdir ex03

Переходите в нее cd ex03

В командной стройке набираете klist

Записываем ключ через vim в файл klist.txt

Документация

Справка по klist https://docs.microsoft.com/ru-ru/windows-server/administration/windows-commands/klist

Отображает список кэшированных в настоящее время билетов Kerberos

C Piscine Shell 00 ex04 (midLS)

Задание:

• In a midLS file, place the command line that will list all files and directories in your current directory (except for hidden files or any file that starts by a dot - yes, that includes double-dots), separated by a comma, by order of creation date. Make sure directories’ names are followed by a slash character.

• В файле midLS поместите командную строку, в которой будут перечислены все файлы и каталоги в вашем текущем каталоге (кроме скрытых файлов или любого файла, начинающегося с точки - да, включая двойные точки), разделенных запятой, порядок создания даты. Убедитесь, что за именами каталогов следует косая черта.

• То, о чем не просили, делать нельзя!

• RTFM! ("Read The Fucking Manual" (Читай долбанное руководство).)

Документация:

LS

https://losst.ru/komanda-ls-linux

C Piscine Shell 00 ex05 (git_commit.sh)

Задание:

• Create a shell script that displays the ids of the last 5 commits of your git repository.

• Создайте сценарий оболочки, который отображает идентификаторы последних 5 коммитов вашего репозитория git:

C Piscine Shell 00 ex06 (git_ignore.sh)

Задание:

• In this exercice, you will write a short shell script that lists all the existing files ignored by your GiT repository. Example:

• В этом упражнении вы напишете короткий сценарий оболочки, который перечислит все существующие файлы, игнорируемые вашим репозиторием Git. Пример:

C Piscine Shell 00 ex07 (diff)

Задание:

• Create a file b, so that :

• Создайте файл b. Файлы для работы нам предоставляется файл a со старой версией файла и файл sw.diff, который хранит информацию о новых изменениях.

• Содержимое файла a при просмотре его через программу cat с флагом -e будет выглядеть так:

%>cat -e ./b
Episode V, A NEW H0PE It is a period of civil war$
Rebel spaceships, striking from a hidden base, have won their first victory against the evil Galactic Empire. $
During the battle, Rebel spies managed to steal secret plans to the Empire's ultimate weapon, the STAR DEATH, an armored space station with enough power to destroy an entire planet.$
$
$
Pursued by the Empire's sinister agents,$
Princess Mehdi races home aboard her starship, custodian of the stolen plans that can save her people and restore the dictatorship to the galaxie..$
$
$
$
$

Документация:

man diff: https://ru.wikipedia.org/wiki/Diff

man patch: https://man7.org/linux/man-pages/man1/patch.1.html

Google.com

C Piscine Shell 00 ex08 (clean)

Задание:

• In a file called clean place the command line that will search for all files - in the current directory as well as in its sub-directories - with a name ending by ~, or a name that start and end by #

• The command line will show and erase all files found.

• Only one command is allowed: no ’;’ or ’&&’ or other shenanigans.

• В файле с именем clean поместите командную строку, которая будет искать все файлы - в текущем каталоге, а также в его подкаталогах - заканчивая символом ~ и / или всеми файлами, которые начинаются или заканчиваются символом #. Командная строка покажет и удалит все найденные файлы. Допускается только одна команда: нельзя использовать ; или && или другие махинации.

Документация:

man find

https://linux-faq.ru/page/komanda-file

C Piscine Shell 00 ex09 (ft_magic)

Задание:

• Create a magic file called ft_magic that will be formatted appropriately to detect files of 42 file type, built with a "42" string at the 42nd byte.

• Создайте магический файл с именем ft_magic, который будет соответствующим образом отформатирован для обнаружения файлов с 42 типами файлов, построенных со строкой "42" в 42-м байте.

Команда для проверки:

    file -i ft_magic

Мы можем просмотреть шестнадцатеричный файл, введя следующую команду в терминале Linux:

    xdd ft_magic

Изменение магических номеров файла:

    hexedit ft_magic

Документация:

man file

https://linux-faq.ru/page/komanda-file