Команды Unix Вопрос / Книга Рекомендации - PullRequest
0 голосов
/ 05 января 2011

Хорошо, это 2 участника. Прежде всего, это может звучать глупо, но все ли команды Unix в дистрибутивах Linux? Любой дистрибутив Linux добавляет какой-либо.

И такие команды, как .... pwd или ...... ssh, например, что они "написаны" на языке программирования. C

Вторая часть, Какая хорошая книга, которая перечисляет и объясняет все команды Unix (или, по крайней мере, большинство из них)

спасибо

Ответы [ 5 ]

4 голосов
/ 05 января 2011
  1. Самая большая разница вы найдете между Unix (и его производные) и команды Linux варианты , которые существуют для тех, команды. В частности, GNU версии имеют тенденцию добавлять больше функциональность их команд, но их использование не переносимо на не-GNU такие системы, как BSD или Unix.

    Типичным примером этого будет опция GNU sed -i, которая позволяет вам сделать редактирование на месте на файл. Версии sed без GNU потребовать от вас сначала написать во временную затем скопируйте временный файл оригинал.

    Чтобы помочь определить, что переносимый код, а что нет, там являются 1012 * POSIX * а также SUS технические характеристики. Любая оболочка, которая утверждает, что является POSIX-совместимым гарантирует, что любой код написан против стандарта POSIX будет выполнять одинаково. bash shell это POSIX-совместимая оболочка, но это не значит все Баш Команды соответствуют POSIX.

  2. На ваш второй вопрос, да, большинство команды в двоичном виде были написано на языке C. Иногда вы найдете определенные Команды, которые написаны в языки сценариев, такие как perl, python или bash. rename команда является одним из примеров, который существует как в perl, так и в двоичном виде написано от C.

  3. За ваш третий вопрос о Книге Рекомендации см. , это ТА вопрос

1 голос
/ 05 января 2011

Я узнал многое из основ http://linuxcommand.org/. Может быть, это поможет вам, и цена подходящая

И, посещая его только сейчас, я вижу, что автор скомпилировал его в книгу бесплатно по лицензии CC. Ознакомьтесь с описанием и ссылкой для скачивания здесь .

1 голос
/ 05 января 2011

1.Да / с. 2. О'Рейли и Апресс


I.Общие команды

Существует базовый набор команд, которые есть в настоящем Unix и во всех дистрибутивах Linux.

В течение некоторого времени дистрибутивы развивались для установкинабор пакетов, и так как есть тысячи и тысячи на выбор, идея " base system " уступила идее " default install ".Например, некоторые могут быть установлены без X или графики.

Некоторые из оригинальных команд Unix или их переписывания доступны с лицензиями BSD, и многие из них вы встретите на настоящих Unix, * BSD ина Mac.Существует также ряд переписанных по лицензии GPL команд Unix.Они, как правило, довольно сложные, что приводит к путанице в man-страницах, но иногда они значительно более полезны, чем оригинальная программа Unix.Groff - хороший пример случая, когда исходный код был полностью заменен.В любом случае дистрибутивы Linux максимально придерживаются версий GPL / GNU.

Язык: Основные команды почти полностью написаны на C. По мере того как компиляторы C ++ и C объединяютсяНесколько пакетов написаны на C ++.Некоторые из них написаны в коде оболочки Posix.По мере того, как дистрибутивы расширяются в объеме и размере, все больше включенных пакетов написаны на таких языках, как Perl и Python.Я полагаю, вы можете увидеть пакеты, написанные на Ruby.(Ruby поставляется с Mac сейчас.)

II.Книги

O'Reilly и Apress - два хороших источника для публикаций Unix и Linux.


III. Ну, не было III , но Mac OS X построена на версии Unix.Вы можете отлично изучить Unix в приложении Terminal на своем Mac.

1 голос
/ 05 января 2011

1) Не все дистрибутивы Linux поставляются с одним и тем же набором команд.Однако существует Единая спецификация UNIX®, в которой перечислены канонические команды и утилиты .

2) Короче говоря: большинство программ написано на языке C.

3) Опять же, посмотрите Спецификацию Single UNIX® , чтобы получить обзор,После того, как вы открыли терминал с оболочкой, просто нажмите Tab - это выдаст список команд на вашем компьютере.

 $ # press <tab>
 Display all 3358 possibilities? (y or n)

Большинство команд также имеют справочные страницы, если выхочу узнать о них больше.

 $ man pwd
1 голос
/ 05 января 2011

Прежде всего, я думаю, что здесь было бы лучше обратиться к оболочкам , поскольку каждый * nix дистрибутив может иметь множество оболочек. Чтобы ответить на ваши вопросы:

  1. Многие команды доступны для всех оболочек, но, конечно, каждая оболочка может добавлять свои собственные команды. Кроме того, многие программы могут добавлять свои собственные программы, доступные для оболочки.

  2. Я нашел книгу О'Рейли по изучению оболочек Unix очень полезной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...