Говорите на BASH: различия между версиями
Нет описания правки |
Нет описания правки |
||
Строка 6: | Строка 6: | ||
'''Метод''' - сравнительный<ref>орисс, предупреждаю сразу. Он используется при демонстрации особенностей грамматики языка в учебниках, но я не уверен, признаёт ли его педагогика</ref><br/> |
'''Метод''' - сравнительный<ref>орисс, предупреждаю сразу. Он используется при демонстрации особенностей грамматики языка в учебниках, но я не уверен, признаёт ли его педагогика</ref><br/> |
||
'''Рекомендуется''' при освоении курса запускать команды в терминале вашего компьютера ('''Не''' запускайте их с правами суперпользователя). |
'''Рекомендуется''' при освоении курса запускать команды в терминале вашего компьютера ('''Не''' запускайте их с правами суперпользователя). |
||
==Перенаправления== |
==Перенаправления== |
||
Пренаправление потоков - мощный инструмент, который позволяет организовывать взаимодействие разных программ. Это - важнейший элемент [[w:ru:Философия UNIX|философии UNIX]]. Приведённый ниже пример сотоит из двух частей - командо до перенаправления (">>") и после. Попробуйте выполнить команду cat /dev/urandom саму по себе и вы увидите как по экрану "поползут крякозаблики" (нажмите Ctrl+C для остановки). Командой ">>" эти "крякозяблики" отправятся на вход звуковой карты. ( Услышите ли Вы звук зависит от конфигурации системы.) |
Пренаправление потоков - мощный инструмент, который позволяет организовывать взаимодействие разных программ. Это - важнейший элемент [[w:ru:Философия UNIX|философии UNIX]]. Приведённый ниже пример сотоит из двух частей - командо до перенаправления (">>") и после. Попробуйте выполнить команду cat /dev/urandom саму по себе и вы увидите как по экрану "поползут крякозаблики" (нажмите Ctrl+C для остановки). Командой ">>" эти "крякозяблики" отправятся на вход звуковой карты. ( Услышите ли Вы звук зависит от конфигурации системы.) |
||
Строка 41: | Строка 42: | ||
|colspan="9"|'''Назначение''':Проверить md5-хеши всех пакетов в каталоге (для который есть файл с хешем) |
|colspan="9"|'''Назначение''':Проверить md5-хеши всех пакетов в каталоге (для который есть файл с хешем) |
||
|- |
|- |
||
|} |
|||
==Золотое правило== |
|||
Существует не менее двух способов сделать это. Следующие команды выполняют одну и ту же операцию: |
|||
{| class="tiles" style="text-align:center" |
|||
|colspan="9"|<center><big> for FILE in *.tar.gz;do tar -xzf $FILE;done</center></big> |
|||
|} |
|||
{| class="tiles" style="text-align:center" |
|||
|colspan="9"|<center><big> ls -f `pwd` | xargs tar -xzf '{}'</center></big> |
|||
|- |
|||
{| class="tiles" style="text-align:center" |
|||
|colspan="9"|<center><big> for FILE in *.tar.gz;do unzip $FILE | tar -xf -;done</center></big> |
|||
|} |
|} |
||
==Фильтр== |
==Фильтр== |
Версия от 23:29, 27 февраля 2010
Цель данного курса - быстро и безболезненно научиться основам использования семейства командных оболочен *SH, созданных в рамках проекта GNU.
Метод - сравнительный[2]
Рекомендуется при освоении курса запускать команды в терминале вашего компьютера (Не запускайте их с правами суперпользователя).
Перенаправления
Пренаправление потоков - мощный инструмент, который позволяет организовывать взаимодействие разных программ. Это - важнейший элемент философии UNIX. Приведённый ниже пример сотоит из двух частей - командо до перенаправления (">>") и после. Попробуйте выполнить команду cat /dev/urandom саму по себе и вы увидите как по экрану "поползут крякозаблики" (нажмите Ctrl+C для остановки). Командой ">>" эти "крякозяблики" отправятся на вход звуковой карты. ( Услышите ли Вы звук зависит от конфигурации системы.)
cat | /dev/urandom | ">>" | /dev/dsp | |||
вывести содержимое файла в стандартный вывод |
генератор псевдослучайных символов |
перенаправить вывод в файл |
файл звуковой карты | |||
Назначение:Быстро проверить работоспособность звуковой карты |
Здесь используется "конвейер" - символ ("|"). Он перенаправляет стандартный вывод одной программы на стандартный ввод другой программы.
man | useradd | "конвейер" | grep | -i | -- | -e |
вызвать справку | для программы useradd | перенаправить вывод на ввод фильтра |
фильтр | не учитывать регистр |
конец списка опций |
что ищем |
Назначение:Быстро проверить назначение опции |
for | FILE | "in " | *.md5 | do | md5sum | -c | $FILE; | done |
Управляющий элемент |
Помещаем имя в переменную |
Управляющий элемент |
маска файла |
Управляющий элемент |
программа для работы с md5-хешами |
опция проверки |
подставляем имя файла |
Управляющий элемент |
Назначение:Проверить md5-хеши всех пакетов в каталоге (для который есть файл с хешем) |
Золотое правило
Существует не менее двух способов сделать это. Следующие команды выполняют одну и ту же операцию:
Фильтр
Одна из полезнейших программ. Вместе с механизмом перенаправления позволяет очень легко осуществлять нетривиальную обработку информации. Сравните два примера.
grep, как мы уже знаем, - это фильтр. Опция -v инвертирует условие поиска (шаблон), "OK" - наш шаблон. Что выведет на экран вторая команда?
Задания для отработки материала
Этот раздел статьи ещё не написан. Согласно замыслу одного из участников Викиверситета, на этом месте должен располагаться специальный раздел.
Вы можете помочь проекту, написав этот раздел. |