Skip to content

Latest commit

 

History

History
23 lines (19 loc) · 2.01 KB

File metadata and controls

23 lines (19 loc) · 2.01 KB

Реализация некоторых команд Unix:

(«реализация» означает написание соответствующей программы на языке Си;
имя исполняемого файла, полученного в результате компиляции данной программы должно совпадать с именем команды)

1. echo - печатает свои аргументы через пробел, возможны флаги (см. man echo)

2. pwd - напечатать имя текущего каталога

3. ls - вывести список файлов текущего каталога

Возможен (т.е. реализовывать необязательно) список файлов-аргументов: если аргумент является каталогом, то печатается список файлов этого каталога, в противном случае печатается сам аргумент.
Возможны флаги:
-R - вывести имена всех файлов текущего каталога, а также файлов, содержащихся во вложенных подкаталогах
-l - показать атрибуты: тип, права доступа, имя владельца, размер
-g - показать имя группы владельца

4. mv old_file new_file (аргументы могут быть каталогами)

5. grep substring filename

результат: строки файла filename, содержащие substring как
подстроку (возможен флаг -v; в этом случае результат - это
строки, которые не содержат substring как подстроку)

6. cat filenames

возможен флаг:
-n - с нумерацией строк (если файлов несколько, то нумерация сквозная)