vak: (Default)
Serge Vakulenko ([personal profile] vak) wrote2022-07-02 09:17 pm

Linux CLI

Сбацал на скорую руку шпаргалку по линуксной командной строке:

https://sergev.org/text/linux-cli
euthanasepam: Ла-ла-ла-ла! Ла-ла-ла-ла! (Default)

[personal profile] euthanasepam 2022-07-04 04:06 pm (UTC)(link)
Почему команда find такая странная и отличается от прочих средств командного мира — отдельный философский вопрос.

В манах BSD написано лучше, вернее, точнее и короче, чем у GNU (я подчеркнул важные смысловые отличия):


find -- walk a file hierarchy

find recursively descends the directory tree for each file listed, evaluating an expression (composed of the “primaries” and “operands” listed below) in terms of each file in the tree.

(man.netbsd.org/find.1)


Чтобы понять, что это такое, find можно попробовать представить себе как ещё один дополнительный неинтерактивный командный интерпретатор поверх обычной командной среды, который выполняет пакетные задания, полученные от юзера. То есть это, скажем так, не совсем «специальная утилита для поиска файлов», как пишут линупсоиды.

doldonius: (Default)

[personal profile] doldonius 2022-07-04 05:06 pm (UTC)(link)
Такого нетипичного в системных утилитах осталось преизрядно. Собственно, и awk с sed не так уж типичны, а уж tar, если не знать его первоначального назначения, и вовсе инопланетяне подбросили. Отцы-основатели единообразием не заморачивались.
euthanasepam: Ла-ла-ла-ла! Ла-ла-ла-ла! (Default)

[personal profile] euthanasepam 2022-07-04 05:09 pm (UTC)(link)
Так все упомянутые и не являются системными утилитами. Лучше рассматривать их как отдельные языки специального назначения со встроенным интерпретатором.


Основное, с чего полагается начинать новичку в Юниксе, отцы-основатели разжевали в упомянутой выше книжке («The UNIX Programming Environment») для этих самых новичков, которые во времена отцов-основателей понимались как программирующие пользователи, а не то, что в наше время.

Edited 2022-07-04 17:19 (UTC)
doldonius: (Default)

[personal profile] doldonius 2022-07-04 06:13 pm (UTC)(link)
Так и шелл пусть и странный, но довольно универсальный язык программирования.

Ну, а на мой почти что K&R GCC хоть и ругается, но компилирует в годные бинарники. По крайней мере, компилировал, пока я из этого дурдома пионеров не сбежал. С тех пор в основном шеллом и обхожусь; при моих объемах данных и нынешней скорости процессоров хватает выше крыши. Так что здесь скорее первична как раз идеология сверху донизу и на каждой ступеньке программируемой среды.

[personal profile] dijifi 2022-07-04 06:28 pm (UTC)(link)
Была как-то мысль попридуряться и написать бэкенд с си на шелл
euthanasepam: Ла-ла-ла-ла! Ла-ла-ла-ла! (Default)

[personal profile] euthanasepam 2022-07-04 06:39 pm (UTC)(link)
В этом вся соль. Для этого и делали.