1. Основные определения - SnipGhost/linux-docs GitHub Wiki

Linux & GNU/Linux

Linux - ядро операционной системы, написано на Си, открытое ПО
GNU/Linux - семейство операционных систем на основе ядра Linux и программ проекта GNU

Unix-way

Unix-way - философия UNIX, как и любая философия может быть крайне абстрактной и обширной. Подхвачено в GNU/Linux. Сводится как правило к:

  • Пишите программы, которые делают что-то одно и делают это хорошо.
  • Пишите программы, которые бы работали вместе.
  • Пишите программы, которые бы поддерживали текстовые потоки, поскольку это универсальный интерфейс

Syscall

Syscall - системный вызов, обращение программы к ядру операционной системы для выполнения какой-либо операции. Например, для открытия и чтения файла. С точки зрения программиста высокого уровня можно сказать что Ядро ОС - это такая хитрая библиотека, методы которой мы дергаем. Вот эти методы и называются системными вызовами.

Каталог

Каталог - оно же директория, оно же папка, дальше буду называть как получится. Вообще-то тоже файл, но об этом дальше.

Файл

Файл - в терминах Linux - всё. Буквально. Любой организованный массив байт на диске, сам диск, сетевое соединение, каталоги. И это универсальный способ взаимодействия с чем угодно, без необходимости понимать как оно работает. Файловая подсистема в Linux это произведение искусства, про которое стоит упомянуть в отдельном разделе.

Дескриптор

Дескриптор - нечто, что однозначно идентифицирует объект. В терминах Linux, как правило, дескриптор - числовой идентификатор, номер.

Файловый дескриптор

Файловый дескриптор - он же fd, целое неотрицательное число. Когда создается новый поток ввода-вывода (например, при открытии файла), ядро возвращает процессу, создавшему поток ввода-вывода, его файловый дескриптор.

Стандартные потоки

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

  • 0 - stdin - зарезервирован для чтения команд пользователя или входных данных (как правило - текстовых)
  • 1 - stdout - зарезервирован для вывода данных (как правило - текстовых)
  • 2 - stderr - зарезервирован для вывода диагностических и отладочных сообщений в текстовом виде

Обозначения комбинаций

Обозначения комбинаций CTRL+Что-то - CTRL+C - ^C, CTRL+Z - ^Z, ну вы поняли. Общепринятое.

Ключ

Ключ - опции утилит командной строки, подробнее тут.