Как начать пользоваться командной строкой (linux/win/mac) · GitHub
Этот урок переехал в мой гитхаб: https://github.com/codedokode/pasta/blob/master/soft/cli.md
Ниже — старая, неактуальная версия.
Как начать пользоваться командной строкой
Я не знаю, ты пользуешься Линуксом или Уиндоузом (обычно туториалы рассчитаны на линуксоидов и макосников, уиндоуз не модный среди молодежи). В макоси все практически так же как и в линуксе, в windows пошли своим путем и сделали все как в DOS.
Думаю, что в данном случае тебе поможет не рыба, а удочка, так что держи пасту. Если после прочтения у тебя будут какие-то вопросы, или по-прежнему непонятно, почему команды не работают, пиши в наш уютный тред, разберемся.
Краткий мануал чайника по командной строке:
Как попасть в командную строку?
- Windows XP: Пуск — Выполнить — набрать cmd — нажать [enter]
- Windows7: Пуск — набрать cmd — наждать [enter]
- MacOS: Запустить приложение Терминал (его можно найти поиском в той фигне которая справа вверху экрана)
- Ubuntu: Запустить приложение Терминал или нажать Alt + Ctrl + F1 (ааа как вернуться назад? Ctrl + F7)
- Linux: если ты линуксоид, ты и так знаешь
Во всех операционных системах
↑,↓ — стрелки вверх и вниз в командной строке позволяют смотреть предыдущие введенные команды, чтобы 2 раза не набирать. В Windows при закрытии окошка консоли вся история теряется, в других ОС — сохраняется.
[tab] — автодополняет имена файлов и команды. Если в текущем каталоге есть файл file.txt, ты наберешь fi и нажмешь [tab] то он автодополнит имя файла (или предложит варианты, если таких файлов несколько).
[ctrl+c] — прерывает выполнение команды, например, если она долго тупит
Важно: клавиша Esc не работает в командной строке. Клавиши Ctrl + C, V, X не работают как «копировать/вырезать/вставить» (иногда для вставки можно использовать Shift + Ins). Клавиша Ctrl + Q не работает как «выход».
Линукс и мак
В линуксе и маке, [ctrl+l] очищает экран, [ctrl+k] и [ctrl+u] удаляют все перед или после курсора, [ctrl+w] удаляет слово перед курсором, [ctrl+r] делает поиск по истории команд (для отмены поиска нажми [ctrl+c], escape в командной строке не работает, для завершения поиска нажми стрелку вправо/влево), [ctrl+d] завершает работу и закрывает консоль.
Еще в линуксе и маке иногда не работают Home и End, используй [ctrl+a] чтобы перейти в начала строки и [ctrl+e], чтобы в конец. [alt + b] (back) и [alt + f] (forward) двигают курсор на 1 слово назад/вперед.
Буфер обмена
В командной строке не работает ctrl+v,c,x для вставки, копирования и вырезания текста. Иногда (зависит от настроек системы) вставить текст можно через [shift+ins], иногда правой кнопкой мыши. Скопировать текст можно, выделив мышью (в Windows надо разрешить выделение текста сначала в настройках окна и нажать Enter после выделения).
Текущий каталог
В командной строке результат выполнения команд зависит от того, в каком каталоге и на каком диске ты находишься. Какой каталог текущий, в Windows написано в подсказке, а в linux можно узнать командой
(print working directory)
Чтобы перейти в другой каталог, в линуксе используют команду cd
:
cd / — перейти в корневой каталог (в линукс нет букв дисков, и корневой каталог один на всю систему)
cd /etc/apache — перейти в каталог /etc/apache
cd files — переходит в каталог files внутри текущего
cd .. — переходит в родительский кталог
cd ../.. — переходит на 2 уровня выше
cd ~ — перейти в свой домашний каталог (/home/anon например)
cd ~/test — перейти в /home/anon/test
В Windows, сначала надо перейти на нужный диск командой c:
, d:
, e:
и так далее. Потом использовать cd
или chdir
:
d: - перейти на диск d:
cd \ — перейти в корневой каталог
cd \windows\system32
cd ..
cd ..\..
Обрати внимание, windows и linux используют разные виды слешей. Обрати внимание, ..
обозначает «родительский каталог». Обрати внимание, только в линукс и мак ~
обозначает «домашний каталог» (это /home/username
или /Users/username
). .
(одна точка) обозначает текущий каталог и cd .
никуда не перейдет. /
(линукс) или \
(Windows) обозначает корневой каталог.
Очистка экрана
В linux — команда clear
или клавиша [ctrl+L], в windows — команда cls
(clear screen).
Список файлов
Посмотреть, какие файлы есть в текущем каталоге, можно командой dir
в Windows и командой ls
в линуксе (ls -a
— показывает все файлы, включая скрытые, ls -l
— показывает не только имена, но и размер, дату создания файла, права на него).
Посмотреть права на файл в Линукс можно либо командой ls -l
, либо stat file.txt
Команды и оболочка
Оболочка — это cmd.exe в Windows и bash в линукс, это та программа, которая собственно мигает курсором и выполняет твои команды. Ты набираешь команды, а она их выполняет. Команда обычно состоит из имени команды, и, иногда, дополнительных параметров, отделенных пробелом, вроде:
ls — показать список файлов в линукс
ls -l — показать файлы с подробностями
dir — показать список файлов в windows с подробностями
dir /b — показать только имена файлов, без подробностей
Подсказка
Почти у любой команды есть подсказки. Чтобы их увидеть, добавь к имени команды параметр (--help
или /?
):
В линукс: ls --help
— выведет справку по команде ls
В линукс: man bash
— выведет подробную длинную справку по команде bash (для выхода жми q,
для прокрутки используй стрелки и PgUp/PgDn)
В Windows: dir /?
— выведет справку по команде dir
В Windows: help
выведет подсказку по основным командам
Виды команд
Команды бывают внутренние (это маленький список команд, встроенных в оболочку). Встроенные команды — это, например,cd
в линукс или exit
в Windows. Их мало.Внешние команды — их большинство — это фактически программы, лежащие на диске. Оболочка ищет их не по всему диску, а только в заранее заданных папках. Список папок перечислен в специальной переменной PATH. Просмотреть эту переменную можно так:
В линуксе: echo $PATH
В windows: echo %PATH%
В linux PATH — это папки /bin, /usr/bin, /usr/local/bin, /sbin, /usr/sbin, именно в них в Линуксе хранятся почти все программы. В текущем каталоге програмы не ищутся, если это не указать явно.
В Windows PATH — это всякие системные папки вроде c:\windows и так далее + текущий каталог, в котором ты находишься. Заметь, что папки вроде c:\program files\autocad в PATH не добавлены и в Windows таким образом, из командной строки обычные программы и игры, установленные в Program Files, не запустить. Только то, что положено в системные папки.
Таким образом: если ты под линуксом, и ты набираешь команду php
, то скорее всего файл php лежит в одной из *bin папок и эта команда запустит php. Если ты под Windows установил php допустим в c:\php, и не прописал этот путь в PATH, то набрав php
, оболочка не найдет файл php.exe и ничего не запустит. И ты скажешь «что за кривой мануал, ничего не работает, ну его нафиг».
Печалька.
Что же делать? 1) добавить папку с php в PATH через мой компьютер — свойства и перезалогиниться в систему 2) писать вместо php
полный путь c:\php\php.exe
Продолжаем. Допустим, ты хочешь запустить в командной строке файл my.php , который находится в текущем каталоге:
Линукс: php my.php
Windows: c:\php\php.exe my.php
Допустим, ты хочешь запустить php-файл не из текущего каталога. Тогда надо написать путь к нему:
Линукс: php /some/dir/my.php
Windows: c:\php\php.exe d:\files\my.php
В общем, проще запускать файлы из текущег каталога, чем мучаться с путями.
Больше команд — linux
Попрактиковаться в линукс в командной строке можно на таких командах:
Создать текстовый файл: cat > file.txt [enter] ввести текст [enter][ctrl+d] — и файл создан Просмотреть текстовый файл: cat file.txt Просмотреть огромный текстовый файл, который не влеазает на экран: cat file.txt | less В просмотрщике работают стрелки и q для выхода (escape не работает). Удалить файл: rm file.txt Скопировать файл: cp file.txt copy.txt Переместить/переименовать файл: mv file.txt copy.txt Скопировать в другую папку: cp file.txt /some/other/directory Запустить команду и сохранить ее вывод в файл: ls -la > file.txt (эта команда выведет список файлов, но не на экран, а сохранит в файл. Бывает иногда полезно). Вывести файл, но не весь, а только первые 10 строк: cat file.txt | head -10 Вывести последние 10 строк файла: cat file.txt | tail -10 Вывести только строки файла, содержащие слово «dog»: cat file.txt | grep dog Найти файлы, в имени которых есть «dog», в каталоге /tmp: find /tmp -iname '*dog*' Узнать текущее время: date Создать папку: mkdir folder Удалить папку: rm -r folder Померять, сколько времени выполнялась команда: time [команда] Узнать свой id пользователя: id Показать список запущенных процессов: ps -lax Показать что-то вроде диспетчера задач: top (для выхода q) Запустить редактор, из которого хрен выйдешь, так как никакие привычные кнопки не работают: vi
Подробнее о работе команд можно узнать с помощью параметра --help
, дописанного после команды.
Больше команд — Windows
Попрактиковаться в комнадной строке в Windows можно так:
help — выводит список полезных команд
dir — выводит файлы в каталоге
Создать текстовый файл: copy con file.txt[enter]ввести текст[enter][ctrl+z][enter] — файл создан
Просмотреть текстовый файл: type file.txt
Просмотреть огромный текстовый файл: type file.txt | more (enter — прокрутка, q — выход)
Удалить файл: del file.txt
Скопировать файл: copy /b file.txt copy.txt
Переименовать файл: ren file.txt copy.txt
Запустить команду и сохранить вывод в файл: dir /? > file.txt
Создать текстовый файл с одной строкой текста: echo lalala lololo > file.txt
Дописать строчку в конец файла: echo boom >> file.txt
Создать папку: mkdir folder
Удалить папку: rmdir folder
Узнать текущее время: time и date (ctrl+с для выхода)
Подробнее о работе команд можно узнать с помощью параметра /?
, дописанного после команды.
Команды для работы с сетью Интернет
В линукс показать информацию о настройке сети: ifconfig
(или /sbin/ifconfig
если у
тебя в PATH нет /sbin)
В Windows показать информацию о сети: ipconfig
Пропинговать (проверить связь) с сервером: ping google.com
Узнать IP по имени домена: nslookup yandex.ru
Показать список открытых с компьютера соединений: netstat
(в подсказке по команде указаны также параметры, с помощью которых, например, можно вывести какая программа установила это соединение)
Проверить путь до какого-то сервера или узла сети:
- в Windows:
tracert google.com
- в linux:
traceroute google.com
(не работает? пиши/usr/sbin/traceroute
или пропиши уже себе sbin в PATH)
Больше информации
Используй ключи --help
и /?
Гугли мануал по командной строке windows/linux в интернете.
http://archive-ipq-co.narod.ru
Командная строка — это просто!
Что такое командная строка
Командная строка в Википедии
Командная оболочка — это отдельный программный продукт, который обеспечивает прямую связь между пользователем и операционной системой. Текстовый пользовательский интерфейс командной строки предоставляет среду, в которой выполняются приложения и служебные программы с текстовым интерфейсом. В командной оболочке программы выполняются, и результат выполнения отображается на экране.
Командная оболочка Windows использует интерпретатор команд Cmd.exe, который загружает приложения и направляет поток данных между приложениями, для перевода введенной команды в понятный системе вид. Консоль командной строки присутствует во всех версиях операционных систем Windows. Отличием работы из командной строки является полное отсутствие больших и громоздких графических утилит.
Как вызвать командную строку
Командная строка — это приложение cmd.exe и его можно запустить следующими способами:
- Пуск -> Все программы -> Стандартные -> Командная строка.
- Пуск -> Выполнить и введите имя программы cmd.exe
Для того, чтобы перейти к нужному каталогу, необходимо применить команду cd. Например, если необходимо запустить программу Exif Pilot.exe, которая находится в каталоге C:\Program Files\Exif Pilot, то необходимо выполнить команду cd C:\Program Files\Exif Pilot. Можно то же самое сделать, сменяя каталоги один за другим и поочередно вызывая команду cd.
Так, следующий набор команд является аналогом предыдущей.
cd c:\Program Files
cd Exif PilotДля того чтобы распечатать содержимое папки, достаточно набрать команду dir. Существует возможность перенаправить выводимый программой поток напрямую в текстовый файл для дальнейшей обработки. Для этого необходимо использовать управляющий символ «>» и имя текстового файла, например dir > report.txt.
- Для того, чтобы вручную не переходить к нужной директории можно воспользоваться каким-нибудь файловым менеджером. Для начала нужно в файловом менеджере перейти в нужный каталог и вызвать cmd.exe из командной консоли менеджера.
Вы можете воспользоваться файловыми менеджерами, такими как Total Commander, FAR Manager, 2xExplorer, EF Commander, Speed Commander и др.
Подробнее о файловых менеджерах Вы можете узнать здесь .
Как передать вызываемому приложению параметры командной строки
Для каждого приложения, поддерживающего командную строку, предусмотрен специальный набор команд, которые может обрабатывать программа. Параметры команд могут иметь самый разный формат. Чтобы передать программе параметры, необходимо ввести в командной строке имя приложения и параметры команд. После нажатия Enter запустится приложение с введенными командами.
Например, program.exe /print c:\ doc\1.txt. Результатом команды будет вывод на печать файла doc\1.txt.
Настройка окна командной строки
Чтобы настроить командную строку, выполните следующие действия.
- Откройте окно командной строки.
- Щелкните левый верхний угол окна и выберите команду Свойства.
- Выберите вкладку Общие.
- В области Запоминание команд выберите или введите значение 999 в поле Размер буфера, а затем выберите или введите значение 5 в поле Количество буферов.
- В области Редактированиеустановите флажки Выделение и Быстрая вставка.
- Выберите вкладку Расположение.
- В области Размер буфера экрана введите или выберите значение 2500 в поле Высота.
- Выполните одно из следующих действий по выбору.
— В области Размер буфера экрана увеличьте значение параметра Ширина.
— В области Размер окна увеличьте значение параметра Высота.
— В области Размер окна увеличьте значение параметра Ширина. - Снимите флажок Автоматический выбор, а затем в области Положение окна измените значения полей Левый край и Верхний край.
- В диалоговом окне Изменение свойств выберите вариант Сохранить свойства для других окон с тем же именем.
Примечания:
- Чтобы открыть окно Свойства -> Командная строка с помощью клавиатуры, нажмите клавиши ALT+ ПРОБЕЛ +Й.
- Флажок Выделение мышью позволяет копировать и вставлять данные в окне командной строки. Чтобы скопировать, выделите левой кнопкой мыши текст в окне командной строки и нажмите правую кнопку мыши. Чтобы выполнить вставку в командную строку или текстовый файл, щелкните правой кнопкой мыши.
- Увеличение размера буфера экрана до 999 позволяет выполнять прокрутку в окне командной строки.
- Увеличение количества буферов до пяти увеличивает число строк в окне командной строки до 5000.
Редактирование текста в окне командной строки
Для копирования и вставки текста в окно командной строки обычные для Windows комбинации клавиш, такие как Ctrl+C, Ctrl+V, работать не будут.
Для извлечения текста из буфера обмена вам придется вызвать меню, щелкнув правой кнопкой мыши по заголовку окна, и выбрать подменю Изменить. Или же просто щелкните правой кнопкой по окну.
Для копирования текста из окна выберите пункт Пометить и мышью выделите нужный текст. Затем либо нажмите Enter, либо в том же меню выберите Копировать. Если надо вставить какой-то текст в окно командной строки, обратитесь к команде Вставить.
Для повторного выполнения команды воспользуйтесь стрелками «вверх» и «вниз», позволяющими перемещаться по списку выполненных команд. Для очистки экрана от текста служит директива cls.
Как закрыть окно командной строки
Для того чтобы закрыть консоль командной строки, необходимо выполнить команду exit.
В современных операционных системах существует множество команд и утилит. Запомнить такое количество различных программ, а тем более их параметров
очень сложно, поэтому одним из самых важных параметров для каждой программы является сочетание символов «/?». Выполнив команду с таким параметром, пользователь получит исчерпывающее сообщение о применении утилиты и синтаксисе ее параметров. Например, набрав в командной строке cmd /?, можно будет просмотреть информацию о команде cmd.
Литература
http://www.networkdoc.ru/files/insop/win2003/read.html?command.html
Наверх
Командная строка | Основы командной строки
Для работы с командной строкой понадобятся две вещи:
- Терминал
- Командный интерпретатор
Терминал
Терминалом называют программу, которая эмулирует поведение «железного» терминала, состоящего из клавиатуры и монитора. В простейшем случае — это просто окошко с командной строкой внутри. Хороший терминал всё же не ограничивается одним окном, а позволяет открывать новые терминалы в табах — по такому же принципу, как работают вкладки в браузере. Такая функция есть в терминалах, идущих в составе Ubuntu и macOS. Терминал Windows не умеет ровным счётом ничего и нуждается в замене.
Некоторые терминалы позволяют делать сплиты, то есть разделять окно на части. Довольно удобный механизм, я его использую регулярно в iterm2:
Хорошие терминалы также умеют восстанавливать завершённую сессию, создавать профили под разные задачи и многое другое.
Командный интерпретатор
У этого понятия множество синонимов, среди них shell («шелл»), командная оболочка и командный процессор. Командная оболочка — программа, через которую пользователь (или администратор) управляет операционной системой и установленными программами, используя командную строку. Оболочка отличается от большинства других программ тем, что она является лишь средством для выполнения определённых задач, а не самой задачей. Shell запускается внутри терминала и приглашает к вводу команд.
~$ █
Каждая строка, передаваемая пользователем системе — это команда, которую та должна выполнить. После ввода команды обязательно нажать Enter, только в этом случае она отправится на исполнение. До этого момента её можно редактировать.
Символ $
используется как разделитель. Слева от него — настраиваемое сообщение для вывода, обычно текущая директория, а справа — то, что вводится пользователем. Ниже пример использования команды date
, которая выводит текущую дату.
$ date
Sun Aug 26 14:02:59 CEST 2018
$ █
Другой пример команды — комментарии. Как и в любых языках программирования, они ни на что не влияют, но я ими буду пользоваться в дальнейшем, для описания происходящего:
$ # я комментарий
$ █
Командная оболочка позволяет запускать на выполнение установленные программы, но это далеко не всё, на что она способна. Для комфортной работы полезно иметь автозавершение имён программ, файлов, историю введённых команд, возможность перемещаться по файловой системе, удобные горячие клавиши, поддержку скриптов. Далее по курсу мы раскроем многие из этих аспектов. Командные оболочки, как и терминалы, бывают разные, хотя по умолчанию в большинстве операционных систем стоит Bash.
Командная оболочка и терминал — не одно и то же. Терминал — это программа, которая запускает командную оболочку внутри себя.
Как вы увидите далее, shell
— это полноценная среда программирования, а многие команды являются стандартными конструкциями любого языка программирования, такими как переменные, циклы или условия. Кроме того, некоторые команды являются программами, а некоторые — нет. В ближайших уроках для простоты я буду говорить слово «команда», но потом объясню разницу
Командную оболочку нередко называют реплом (REPL, Read-Eval-Print-Loop), что отражается в способе взаимодействия с пользователем:
- Read — шелл ждёт ввода команды от пользователя
- Eval — шелл исполняет введённую команду
- Print — шелл выводит результат
- Loop — возвращаемся к первому пункту
Этот процесс называется интерактивной сессией: после загрузки шелл ждёт ввода команды, затем он её исполняет, выводит результат и снова ждёт ввода команды. Так происходит до тех пор, пока не будет дана команда на выход из терминала или выключение компьютера. REPL — широко распространённый способ взаимодействия с пользователем. В следующих курсах вы увидите, что он есть и у баз данных, и у языков программирования.
Для вашего удобства, в среде Хекслета сразу запущено два терминала, которыми можно и нужно пользоваться, выполняя упражнения к урокам. Терминалы доступны в нижних вкладках (там, где описание задачи) под именами Terminal 1 и Terminal 2.
Во время изучения и экспериментов достаточно легко допустить ошибки. Всегда внимательно читайте вывод, в случае паники переоткройте терминал. Это позволит начать всё с чистого листа (если, конечно, не было произведено деструктивных действий).
Самостоятельная работа
Установите хороший терминал под вашу операционную систему, если его нет.
Убедитесь, что внутри запускается bash-сессия. Сделать это можно так:
$ echo $SHELL; /bin/bash # - это вывод команды, введённой выше
Дополнительные материалы
- Руководство по настройке Windows для работы в командной строке
Остались вопросы? Задайте их в разделе «Обсуждение»
Вам ответят команда поддержки Хекслета или другие студенты.
Ошибки, сложный материал, вопросы >Нашли опечатку или неточность?
Выделите текст, нажмите ctrl + enter и отправьте его нам. В течение нескольких дней мы исправим ошибку или улучшим формулировку.
Что-то не получается или материал кажется сложным?
Загляните в раздел «Обсуждение»:
- задайте вопрос. Вы быстрее справитесь с трудностями и прокачаете навык постановки правильных вопросов, что пригодится и в учёбе, и в работе программистом;
- расскажите о своих впечатлениях. Если курс слишком сложный, подробный отзыв поможет нам сделать его лучше;
- изучите вопросы других учеников и ответы на них. Это база знаний, которой можно и нужно пользоваться.
Об обучении на Хекслете
Командная строка Ubuntu: команды bash
В этой статье мы рассмотрим, что такое командная строка Ubuntu cmd (Ubuntu относится к семейству ОС Linux), как её открыть, а также опишем основные команды bash.
Командная строка Ubuntu
Работать в Ubuntu и других Linux-подобных операционных системах можно с помощью двух разных интерфейсов — графического интерфейса и командной строки.
Графический интерфейс пользователя (GUI — Graphical User Interface) — это привычное многим управление с помощью рабочего стола, графических окон, меню и кнопок. Пользователь может щелчками мыши открывать программы, копировать и удалять файлы, создавать папки и т. д.
Другой интерфейс — это командная строка (CLI — Command Line Interface). Пользователь вводит в неё определённые команды (набор букв, цифр и символов) с помощью клавиатуры, и компьютер запускает соответствующие процессы.
Открыть командную строку в Линукс-системах можно через консоль или терминал. В Ubuntu консоль запускается при загрузке системы. Терминал — это тоже консоль, но уже в графической оболочке. Его можно запустить, набрав слово Терминал в поисковой строке ОС, или через комбинацию клавиш Ctrl+Alt+T.
Консоль и терминал обрабатывают команды с помощью программной оболочки: в Ubuntu это командный интерпретатор bash. Он распознаёт команды, которые пользователь ввёл в командной строке, и выполняет их.
Ниже рассмотрим, из чего состоит команда, а также приведём используемый в bash список команд.
Основные команды bash
В общем виде в Ubuntu команды имеют такой вид:
программа -ключ значение
Программа — это сам исполняемый файл. Другими словами, это программа, которая будет выполняться по команде.
Ключ — обычно у каждой программы свой набор ключей. Их можно найти в мануале к программе.
Значение — параметры программы: цифры, буквы, символы, переменные.
Напомним, что для выполнения команды нужно ввести её в командную строку — Ubuntu console или эмулирующий работу консоли терминал.
Рассмотрим основные команды консоли Ubuntu:
Промежуточная команда sudo (SuperUser DO — суперпользователь) позволяет запускать программы от имени администратора или root-пользователя.
Вы можете добавить sudo
перед любой командой, чтобы запустить её от имени суперпользователя.
Команда apt-get используется для работы с программными пакетами для установки программных пакетов (sudo apt-get install имя-пакета
), обновления репозитория с пакетами (sudo apt-get update
) и обновления пакетов, которые установлены в систему (sudo apt-get upgrade
).
Команда pwd (print working directory — вывести рабочую директорию) показывает полное имя рабочей директории, в которой вы находитесь.
Команда ls (list — список) выводит все файлы во всех папках рабочей директории.
С помощью ls -a
можно вывести и скрытые файлы.
Команда cd (change directory — изменить директорию) позволяет перейти в другую директорию.
Можно ввести как полный путь до папки, так и её название. Например, чтобы попасть в папку Files, лежащую в директории /user/home/Files, введите cd Files
или cd /user/home/Files
.
Чтобы попасть в корневую директорию, введите cd /
.
Команда cp (copy — копировать) копирует файл.
Например, cp file1 file2
скопирует содержимого файла file1 в file2
.
Команда cp file /home/files
скопирует файл с названием file в директорию /home/files.
Команда mv (move — переместить) помогает перемещать файлы.
Также с помощью mv можно переименовывать файлы. Например, у нас есть файл file.txt. С помощью команды mv file.txt new_file.txt
мы можем перенести его в ту же директорию, но у файла уже будет новое название new_file.txt.
Команда rm (remove — удалить) удаляет файлы и каталоги.
Так, команда rm file.txt
удалит текстовый файл с названием file, а команда rm -r Files
удалит директорию Files со всеми содержащимися в ней файлами.
С помощью mkdir (make directory — создать директорию) можно создать новую директорию.
Так, команда mkdir directory
создаст новую директорию с именем directory в текущей рабочей директории.
Команда man (manual — мануал) открывает справочные страницы с подробной информацией о команде.
Введите man
, а затем через пробел название команды, о которой вы хотите узнать подробнее. Например, man cp
выведет справочную страницу о команде cp.
Мы рассмотрели, как вызвать командную строку в Linux — открыть терминал или запустить консоль в Ubuntu, а также перечислили основные команды терминала Ubuntu.
Помогла ли вам статья?11 раз уже помогла
Как использовать пробелы в командной строке?
Пробелы в командной строке Commend (в строке командного кода VBA Shell)
У меня была очень похожая проблема, которая закончилась пробелом в командной строке при автоматизации через VBA, чтобы получить содержимое из командного окна в текстовый файл. Эта нить была одной из многих, которые я поймал на этом пути и которые не совсем дали мне решение.
Так что это может помочь другим с аналогичной проблемой: поскольку синтаксис с кавычками всегда трудно понять правильно, я думаю, что показать некоторые конкретные примеры всегда полезно. Дополнительная проблема, которую вы получаете, используя командную строку в VBA через Shell, заключается в том, что строка кода часто не ошибается, когда что-то идет не так: на самом деле мигание черного окна commend вводит в заблуждение, думая, что что-то было сделано.
В качестве примера… скажем, у меня есть папка с текстовым файлом, как в
C:\Alans Folder\test1.txt ( https://imgur.com/FELSdB6 )
Пробел в имени папки создает проблему.
Что-то вроде этого будет работать, если предположить, что папка AlansFolder существует
Sub ShellBlackCommandPromptWindowAutomatingCopyingWindowContent()
Shell "cmd.exe /c ""ipconfig /all > C:\AlansFolder\test1.txt"""
End Sub
Это не сработает. (Это не будет ошибкой).
Sub ShellBlackCommandPromptWindowAutomatingCopyingWindowContent()
Shell "cmd.exe /c ""ipconfig /all > C:\Alans Folder\test1.txt"""
End Sub
Включение пар котировок вокруг пути заставит его работать
Sub ShellBlackCommandPromptWindowAutomatingCopyingWindowContent()
Shell "cmd.exe /c ""ipconfig /all > ""C:\Alans Folder\test1.txt"""""
End Sub
( Кстати, если текстового файла не существует, то он будет сделан).
Оглядываясь назад, мы можем видеть, что мое решение действительно приблизительно связано с некоторыми уже данными..
Преобразовав эту кодовую строку в заданную вручную команду, мы получили бы
ipconfig /all > "C:\Alans Folder\test1.txt"
Это, кажется, работает
Это тоже работает
ipconfig /all > C:\AlansFolder\test1.txt
Это не так
ipconfig /all > C:\Alans Folder\test1.txt
Эта окончательная форма также работает и связана с решением из sacra … . ” вы должны добавить кавычки вокруг каждого пути, а также заключить всю команду в кавычки “…..
cmd.exe /c "ipconfig /all > "C:\Alans Folder\test1.txt""
Командная строка — с чего начать? / Девман
Для начала разберемся что такое командная строка. Коротко, это программа, которая обеспечивает процесс взаимодействия между пользователем и операционной системой посредством текстового интерфейса. Для взаимодействия с командной строкой мы будем использовать консольный эмулятор, он же «Терминал».
Mac OS X
Заходим в каталог «Программы>Служебные программы» (Applications>Utilities) и запускаем приложение Терминал (Terminal), либо открываем строку поиска Spotlight и набираем слово terminal.
Linux
Заходим в «Приложения>Стандартные>Терминал». По-другому эмулятор можно запустить через окно запуска приложений (в Ubuntu Alt+F2
), либо комбинацией клавиш (Ctrl+Alt+T
для Ubuntu)
Windows
Тут ситуация несколько сложнее. У вас есть два варианта. Первый (правильный) — установить Linux и забыть обо всех проблемах. Второй — установить свой терминал. Так как эта операционная система по умолчанию предоставляет эмулятор командной строки, непригодный для использования, нам потребуется другой. Мы остановимся на универсальном варианте — Babun. Git, пакетный менеджер, unix инструменты — все это сразу есть внутри и понадобится тебе при разработке.
Запускаем терминал и видим следующую строку. Если ты на ubuntu, то увидишь следущее:
имя_пользователя@имя_машины:~$
Перед вами строка приглашения ввода от (command prompt). Она говорит о том, что командная строка готова к вводу команд. После :
указана текущая директория. В Unix-подобных системах домашняя директория отображается как символ тильда ~
. И в конце строки — знак доллара $
. Это первичный ввод текущего пользователя. Он бывает нескольких видов:
— $
— команда запущена от имени текущего пользователя
— #
— командная строка запущена от суперпользователя (он же root)
— >
— была введена команда, для выполнения которой необходимо указать какие-либо параметры, и сейчас ожидается ввод этих параметров
Исполняемая комманда имеет определенный синтаксис:
команда -опции аргументы
Для понимания работы рассмотрим пример комманды:
Что она делает? В данном примере команда ls
показывает нам список всех файлов директории. Имя директории передается с помощью аргумента имя_папки
. -l
это флаг (опция), котороая сообщает команде ls
то, что вывод файлов будет происходить в расширенном формате (права, размер, автор, дата изменения). Опции могут иметь 1 или 2 дефиса. При 1 дефисе опция задает односимвольные опции (флаги), например -abc
означает три отдельных флага — a, b, c
. При 2-х опция задает одну многосимвольную опцию, например --check-permission
.
ls имя_директории
list. Отображает содержание директории имя_директории
cd путь_директории
change directory. Меняет текущую директорию на путь_директории
. Путь ..
возвратит тебя в родительскую папку, ~
— в корневой каталог
print working directory. Показывает директорию, в которой ты сейчас находишься.
Выводит в консоль содержание файла.
cp файл имя_каталога
сopy. Копирует файл в имя_каталога
mv файл имя_каталога
move. Перемещает файл в имя_каталога
remove. Удаляет файл
man имя_команды
mannual. Отображает руководство любой команды
sudo имя_команды
super user do. исполняет команду имя_команды
от имени суперпользователя
mkdir имя_директории
makedirectory. создает папку имя_директории
Табы в консоли это очень полезная и удобная штука, избавляющая тебя от необходимости набирать длинную команду или полное имя папки. Как это работает? Набери несколько символов нужной тебе команды и нажми Tab
. Если введеных тобой символов будет достаточно для однозначного определения команды, то её недостающие буквы будут автоматически добавлены. Если подходящих по символам команд больше одной, то двойное нажатие Tab
выведет список всех доступных. Точно таким же образом это работает с файлами/папками, что просто шикарно.
При разработке ты будешь использовать много разных консольных команд. Все эти команды записываются в историю (файл .bash_history
в корневом каталоге). С ее помощью тебе больше не придется вручную набирать длинные или часто повторяющиеся команды, что позволит сэкономить твое время. Самый простой способ перемещения по истории — стрелки вверх и вниз. Чтобы отобразить всю историю введи в консоли:
Вот так:
В консоль выведется список всех команд, где была употреблена команда cd
.
Пример одной строки из истории
114
это номер команды. Чтобы вызвать эту команду нужно набрать в терминале !номер_команды
При вводе !!
исполнится последняя введеная тобой команда. Ввод команды:
исполнит последнюю выполненную команду имя_команды
.
Стандартный вывод
По умолчанию стандартный вывод данных показывает их в терминале. Чтобы отправить стандартный вывод в файл сделаем следующее:
history > текстовый_файл.txt
В данном примере результат работы команды ls
записан в файл текстовый_файл.txt
. При использовании >
файл полностью перезаписывается. Чтобы не перезаписывать весь файл и добавить результат в конец используй >>
.
Стандартный ввод
Множество команд могут принимать данные с помощью стандартного ввода. Обычно это ввод с клавиатуры, но мы это можем изменить, перенаправив ввод на файл с помощью <
:
grep cd < текстовый_файл.txt
Конвеер
С его помощью мы можем передавать стандартный ввод-вывод по целой цепочке команд, т.е. то, что выводит на поток стандартного вывода предыдущий процесс, попадает в поток стандартного ввода следующего процесса. Это мы уже делали примере выше:
Работа с Git через консоль — Блог HTML Academy
Итак, вы получили задание: сделать форк вашего репозитория в GitHub, создать ветку и начать работу.
Когда получил непонятное задание.Что за GitHub, какие команды, зачем, а главное, как всем этим пользоваться? Давайте разбираться.
Полезные материалы по Git
Система контроля версий Git
Для начала определим, что такое система контроля версий.
Так называют программу, которая позволяет хранить разные версии одного и того же документа, легко переключаться между ранними и поздними вариантами, вносить и отслеживать изменения.
Систем контроля версий много и все они работают по принципу компьютерной игры, где вы можете вернуться к месту сохранения, если что-то пошло не так.
Одна из самых популярных систем называется Git. Её отличие от других программ — отсутствие графической версии. Поэтому работа с Git ведётся через командную строку. В разных операционных системах свои программы для взаимодействия с Git.
В Windows их две: PowerShell и cmd.exe. В Ubuntu это Terminal. Самая популярная программа на macOS тоже называется Terminal. Если вам не подходит встроенная в систему программа для работы с командной строкой, вы можете поставить свою. Например, написанную на JavaScript программу Hyper, которая работает на любой операционной системе. На Windows популярны программы Cmder и Git Bash, а на macOS — iTerm.
В мире разработки такие программы называют «терминал» или «консоль». А работает это так: мы вводим команду и получаем реакцию машины: сообщение об ошибке, запрос на подтверждение информации, результат выполненных действий.
Git — важный навык веб-разработчика
А лучший способ научиться программировать — профессия «React-разработчик». В программе три интенсива, прокачка навыков и оплачиваемая стажировка.
Узнать большеУстанавливаем Git
Если раньше вы не работали с Git, сперва его нужно установить. Способы зависят от операционной системы вашего компьютера.
Установка в Linux
Используйте обычный менеджер пакетов вашего дистрибутива. Откройте терминал и введите подходящие команды.
- Если у вас 21 или более ранняя версия Fedora, используйте
yum install git
. - Для 22 и последующих версий Fedora вводите
dnf install git
. - Для дистрибутивов, основанных на Debian, например, Ubuntu, используйте
apt-get: sudo apt-get install git
.
Полный список команд для различных дистрибутивов можно посмотреть здесь.
Установка на macOS
- Скачиваем Git со страницы проекта.
- Запускаем загруженный файл.
- Система может показать окно с ошибкой, где будет написано, что файл скачан с неавторизованного сайта и инсталлятор не может быть запущен. В таком случае нужно зайти в «Системные настройки» — «Безопасность» (Security and Privacy), в появившемся окне будет сообщение об ошибке и кнопка Open anyway (Всё равно открыть). Нажимаем.
- Система покажет окно, уточняющее хотите ли вы запустить установку. Подтверждаем действие.
- Установщик проведёт через все необходимые шаги.
Установка в Windows
Скачайте exe-файл инсталлятора с сайта Git и запустите его. Это Git для Windows, он называется msysGit. Установщик спросит добавлять ли в меню проводника возможность запуска файлов с помощью Git Bash (консольная версия) и GUI (графическая версия). Подтвердите действие, чтобы далее вести работу через консоль в Git Bash. Остальные пункты можно оставить по умолчанию.
Проверим, что Git установлен
После того, как все действия по установке завершены, убедимся, что Git появился в системе компьютера. Откройте терминал и введите git --version
, должна появиться текущая версия программы на вашей машине. Эта проверка подходит для всех операционных систем.
Настройка Git
После того как Git появился на компьютере, нужно ввести свои данные, а именно имя и адрес электронной почты. Ваши действия в Git будут содержать эту информацию.
Откройте терминал и используйте следующую команду, чтобы добавить своё имя:
git config --global user.name "ваше имя"
Для добавления почтового адреса вводите:
git config --global user.email адрес
Обратите внимание, что в командах, указанных выше, есть опция --global
. Это значит, что такие данные будут сохранены для всех ваших действий в Git и вводить их больше не надо. Если вы хотите менять эту информацию для разных проектов, то в директории проекта вводите эти же команды, только без опции --global
.
Регистрация на GitHub
Что такое GitHub?
GitHub — веб-сервис, который основан на системе Git. Это такая социальная сеть для разработчиков, которая помогает удобно вести коллективную разработку IT-проектов. Здесь можно публиковать и редактировать свой код, комментировать чужие наработки, следить за новостями других пользователей. Именно в GitHub работаем мы, команда Академии, и студенты интенсивов.
Чтобы начать работу с GitHub, нужно зарегистрироваться на сайте, если вы ещё этого не сделали. За дело.
- Переходим на сайт GitHub. Cтартовая страница GitHub.
- Для начала регистрации:
- Нажимаем кнопку Sign up (зарегистрироваться), попадаем на страницу регистрации, где вводим обязательные данные: имя пользователя, адрес электронной почты и пароль. После заполнения полей проходим верификацию. Первый шаг регистрации профиля на стартовой странице GitHub.
- После заполнения данных и успешного прохождения верификации нажимаем на кнопку Select a plan. Второй шаг регистрации профиля на стартовой странице GitHub.
- Третий шаг — небольшой опрос от GitHub, который вы можете пройти, заполнив все поля и нажать Submit или пропустить, нажав skip this step. Опрос на третьем шаге регистрации.
- После прохождения всех этапов на сайте, на указанный при регистрации ящик вам придёт письмо от GitHub. Откройте его и подтвердите свой почтовый адрес, нажав Verify email address (подтвердить электронный адрес) или скопируйте вспомогательную ссылку из письма и вставьте её в адресную строку браузера. Подтверждение электронного адреса.
- После верификации GitHub предложит создать новый репозиторий, организацию или узнать больше о GitHub. Этот пункт пока можно пропустить и перейти в профиль. Переход в ваш профиль.Так выглядит ваш профиль после регистрации.
Теперь у вас есть профиль на GitHub.
Устанавливаем SSH-ключи
Git установлен, профиль на GitHub создан. Осталось добавить SSH-ключ и можно приступать к работе с проектом.
Что такое SSH-ключ и зачем он нужен?
Чтобы работать со своего компьютера с GitHub, иметь доступ к проектам, хранящимся на сервисе, выполнять команды в консоли без постоянного подтверждения пароля, нужно пройти авторизацию у сервера. В этом помогают SSH-ключи.
Каждый SSH-ключ содержит пару: открытый (публичный) и закрытый (приватный) ключ. Открытый ключ отправляется на сервер, его можно не прятать от всех и не переживать, что кто-то его увидит и украдёт. Он бесполезен без своей пары — закрытого ключа. А вот закрытый ключ — секретная часть. Доступ к нему должен быть только у вас.
Вы отправляете какую-то информацию на сервер, где хранится ваш публичный ключ, сервер понимает, что вы это вы, то есть идентифицирует именно вас, и даёт вам какой-то ответ. И только вы можете расшифровать этот ответ, потому что только у вас есть подходящий закрытый ключ. Получается что-то вроде связки логин-пароль только намного безопасней. Ваш пароль кто-то может узнать или подобрать, а чтобы получить ваш приватный SSH-ключ, злоумышленнику придётся взломать ваш компьютер.
Чтобы пройти авторизацию по SSH-ключу, его надо сгенерировать или найти уже ранее созданный ключ на своём компьютере.
Сначала проверим, есть ли уже на компьютере ключ. По умолчанию SSH-ключи хранятся в каталоге ~/.ssh
, поэтому нужно проверить содержимое этого каталога.
- Открываем консоль.
- Вводим
cd ~/.ssh
, чтобы перейти в нужный каталог. Переходим в нужную директорию. - Используем
ls
, чтобы увидеть список всех файлов в каталоге. Открываем список файлов в директории. Ищем пару файлов с названиями видаимя
иимя.pub
. Обычно имя —id_rsa
,id_dsa
,id_ecdsa
илиid_ed25519
. Файл с расширением.pub
— ваш публичный ключ, а второй — ваш приватный, секретный ключ. Если таких файлов или даже каталога.ssh
у вас нет, вы можете их сгенерировать. Для этого делаем следующее. - Добавляем ключ в
ssh-agent
(сгенерированный или уже существующий). Проверяем доступность ключа командойeval "$(ssh-agent -s)"
и добавляем с помощьюssh-add ~/.ssh/your_key_name
, где указываем верный путь до файла с ключом и его имя. Добавляем ключ в shh-agent. Несколько важных примечаний:- Если вы захотите переименовать ключ, могут возникнуть проблемы. Их можно решить, добавив в
~/.ssh/config
связь ключа с доменом. - Если у вас Windows и вы пользуетесь программой Cmder, возможны проблемы с командой
eval "$(ssh-agent -s)"
. Может появиться такое сообщение об ошибке: «eval не является внутренней или внешней командой, исполняемой программой или пакетным файлом».В Сmder для запуска
ssh-agent
можно использовать командуstart-ssh-agent
.Если проблема осталась, рекомендуем работать в Git Bash.
- Если у вас macOS Sierra версии 10.12.2 и выше, нужно изменить ваш
~/.ssh/config
файл, чтобы автоматически загрузить ключи вssh-agent
и хранить пароли.Host * AddKeysToAgent yes UseKeychain yes IdentityFile ~/.ssh/id_rsa
Вы можете добавить свой приватный ключ в
ssh-agent
и сохранить пароль к нему с помощью командыssh-add -K ~/.ssh/id_rsa
. Если у вашего ключа другое имя, не забудьте заменитьid_rsa
в команде на правильное название. - Если у вас Linux, может понадобится переназначить для ~/.ssh права доступа командой
chmod 700 ~/.ssh/
- Если вы захотите переименовать ключ, могут возникнуть проблемы. Их можно решить, добавив в
- После того как создан ключ, его нужно добавить на GitHub. Для этого копируем его содержимое с помощью одной из следующих команд:
- Если вы на Windows
clip .
- Для пользователей macOS
pbcopy .
- На Linux используйте
sudo apt-get install xclip
, чтобы установить необходимый для копирования пакетxclip
, а затем введитеxclip -sel clip . Или введите команду
cat ~/.ssh/id_rsa.pub
, контент документа появится прямо в консоли и вы сможете скопировать ключ оттуда.
Можно пойти другим путём, открыть файл
id_rsa.pub
прямо в папке и просто скопировать содержимое оттуда. - Если вы на Windows
- Переходим на страницу для работы с ключами в вашем профиле на GitHub.
Страница с настройками ключей в вашем профиле.
Нажимаем кнопку New SSH key (новый SSH-ключ). Вводим имя ключа (можно придумать абсолютно любое) в поле Title (название), а в Key (ключ) вставляем сам ключ из буфера обмена. Теперь нажимаем Add SSH key (добавить SSH-ключ).
Добавляем в свой профиль SSH-ключ.Если всё сделано верно, в списке появится новый ключ.
Успешно добавленный ключ.
Теперь, наконец-то, мы можем начать работу с самим проектом.
Работа с репозиториями
Для начала определим, что такое репозиторий. Это рабочая директория с вашим проектом. По сути, это та же папка с HTML, CSS, JavaScript и прочими файлами, что хранится у вас на компьютере, но находится на сервере GitHub. Поэтому вы можете работать с проектом удалённо на любой машине, не переживая, что какие-то из ваших файлов потеряются — все данные будут в репозитории при условии, что вы их туда отправите. Но об этом позже.
Если над проектом трудится команда разработчиков, как правило, создаётся общий репозиторий, в котором находится рабочая версия проекта (назовём его мастер-репозиторий). При этом каждый пользователь клонирует себе в профиль оригинальный репозиторий и работает именно с копией. Такая копия называется форком. Так как форк — ваша персональная версия мастер-репозитория, в нём вы можете пробовать разные решения, менять код и не бояться что-то сломать в основной версии проекта.
Как сделать форк мастер-репозитория?
Заходим в нужный репозиторий, нажимаем на «вилку» с надписью fork. Форк репозитория создан и находится в вашем профиле на GitHub.
Теперь нужно склонировать форк себе на компьютер, чтобы вести работу с кодом локально. Тут нам и пригодится SSH.
Открываем консоль, переходим в директорию, где хотим сохранить папку с проектом, и вводим команду:
git clone [email protected]:your-nickname/your-project.git
Если вы правильно настроили SSH-ключи, Git начнёт процесс копирования репозитория на ваш компьютер. Если вы видите ошибку, в которой написано Error: Permission denied (publickey)
, скорее всего, вы ошиблись где-то при выполнении инструкции по настройке SSH-ключа. Вернитесь на несколько абзацев ранее и попробуйте повторить процесс настройки.
Если вы не хотите вручную вводить адрес репозитория, вы можете зайти на страницу проекта, нажать зелёную кнопку Clone or download (клонировать или скачать), выбрать Clone with SSH (клонировать по SSH) и скопировать адрес, который находится в текстовом поле. Этот адрес вы можете вставить в команду git clone
.
Кстати, если вы хотите, чтобы название папки с проектом у вас на компьютере отличалось от имени репозитория, можете дополнить команду клонирования, добавив в конце другое название:
git clone [email protected]:_your-nickname_/_your-project_.git folder_name
Теперь, на вашем компьютере, в папке your_project
или в той, название которой вы указали самостоятельно, находится полная копия репозитория c GitHub.
Чтобы начать работу с проектом, надо оказаться в его директории. Для этого используем команду cd
, после которой указываем название проекта на вашем компьютере: cd your-project
Работу над проектом принято вести в ветках. В каждом репозитории есть как минимум одна ветка. Это основная ветка, которую создаёт сам Git, она называется master
. Обычно в ней находится стабильная версия программы без ошибок. Если вы хотите исправить баг, добавить новую функциональность в проект, попробовать какую-то технологию, но не хотите сломать код в основной ветке, вы ответвляетесь из master
и трудитесь в своей новой ветке. Здесь вы можете реализовывать свои идеи, не переживая, что рабочий код сломается. Каждая ветка — что-то вроде второстепенной дороги, которая затем снова соединяется с основной.
Создадим новую ветку. Открываем терминал, вводим команду git branch
. Она показывает список веток, с которыми мы работаем в проекте, и выделяет текущую. Если мы находимся в master
создаём новую ветку:
git checkout -b имя-новой-ветки
.
Если текущая ветка не master
, сначала переключимся в основную ветку: git checkout master
. Мы делаем это, чтобы новая ветка содержала свежую, на момент создания, рабочую версию проекта.
Эта команда позволяет переключаться между существующими ветками в проекте, после git checkout
надо указать название нужной ветки.
Если вы ошиблись в названии, например, допустили опечатку, вы можете изменить название ветки с помощью команды: git branch -m старое-имя-ветки новое-имя-ветки
.
После того как вы создали ветку, поработали в ней у себя локально — нужно сохранить результат, чтобы он не пропал и в итоге оказался в репозитории.
Если вы хотите сохранить изменения не во всех файлах, для начала можно ввести команду git status
. Она покажет текущее состояние в вашей ветке, а именно список с названиями изменённых файлов, если они есть, и укажет на те, которые ожидают записи и сохранения (обычно они выделены красным цветом).
Перед тем, как зафиксировать изменения отдельных файлов, нужно добавить файлы в набор этих изменений. Воспользуйтесь командой git add имя-файла
. Если название очень длинное, вы можете начать его писать, затем нажать Tab и консоль сама предложит вам продолжение пути к файлу.
Если вы хотите сохранить все изменения разом, вводите git add -A
.
Теперь мы можем сделать коммит, то есть зафиксировать все сохранённые изменения и дать им название. Это делается с помощью команды git commit -m "ваше сообщение"
. Текст сообщения должен быть лаконичным и в то же время сообщать о том, что делает коммит (внесённые изменения). Например, «добавляет имя наставника в Readme», «вводит функцию сортировки изображений», «правит ошибку в поиске городов на карте».
Сохранения зафиксированы, всё? Они теперь в репозитории и видны коллегам? Пока нет. Те изменения, которые мы внесли и сохранили, пока локальны. Их нужно послать на GitHub.
Чтобы отправить свои изменения (коммиты) в репозиторий на GitHub, введите команду git push origin название-текущей-ветки
, где origin
означает репозиторий, который был склонирован на компьютер, то есть ваш форк.
Теперь заходим на страницу нашего форка и создаём пулреквест, чтобы слить свой код с данными в мастер-репозитории. Что такое пулреквест? Это предложение изменить код в репозитории.
Любое предложение можно принять или отвергнуть. Так же и с пулреквестом. После его создания, он должен получить ревью и одобрение так называемого коллаборатора — пользователя GitHub, который имеет права администратора в мастер-репозитории. Им может быть ваш коллега-разработчик, техлид, наставник. Если к вашему коду нет вопросов, пулреквест принимается и изменения из вашей ветки попадают в master
главного репозитория. Если в код нужно внести изменения, пулреквест отклоняется, и вам нужно снова пройти по цепочке локальные изменения — сохранение — коммит — пуш, только пулреквест заново делать не нужно. Если вы продолжаете вести работу в той же ветке и пулреквест ещё не принят, все ваши изменения автоматически добавятся в пулреквест, созданный из этой ветки после команды git push origin название-текущей-ветки
.
Вы исправили код, наставник или техлид одобрил ваши правки и принял пулреквест. Теперь код в мастер-репозитории обновился, а в вашем форке нет, вы ведь не обновляли свою версию репозитория с тех пор, как клонировали её себе на компьютер. Приведём форк в актуальное состояние.
- В локальном репозитории вводим команду
git checkout master
, переходим вmaster
. -
Теперь забираем (подтягиваем) изменения из ветки
master
мастер-репозиторияgit pull academy master
.Academy
здесь — сокращённое название мастер-репозитория, такое имя используется в проектах студентов Академии, вы можете выбрать любое другое название. Забираем изменения из мастер-репозитория. Если консоль выдаёт ошибку и говорит, что не знает директории с таким именем, нужно добавить ссылку на этот репозиторий:git remote add academy [email protected]:your-repo.git
Вместоacademy
указывайте своё название и оно закрепится за этим репозиторием. - Теперь отправьте изменения уже из своей ветки
master
в ваш форк на GitHub с помощью командыgit push origin master
. Отправляем изменения в форк.
Готово, теперь форк и оригинальный репозиторий находятся в актуальном состоянии.
Знакомство с командной строкой
Это руководство предназначено для начинающих пользователей, которые хотят изучить основы о том, как использовать командную строку. Вот еще один базовый учебник по командной строке с дополнительной информацией, если вы хотите узнать больше.
Что такое командная строка?
Командная строка — это главный источник энергии на вашем компьютере. Используя командную строку, вы можете выполнять удивительные чудеса волшебства и скорости, укрощая свой компьютер и заставляя его делать ровно того, что вы хотите.К сожалению, цена этой мощности — сложность: никто никогда не говорил, что управлять своим компьютером будет легко.
Командная строка — это, по сути, просто место, где вы вводите команды на компьютер. Компьютер — ваш послушный слуга, и он будет пытаться выполнить любую команду, которую он понимает. К сожалению, компьютер не говорит ни на английском, ни на каком-либо другом языке, на котором говорят люди (хотя в нем есть узнаваемые элементы). Чтобы отдавать ему команды, мы должны сначала начать изучать язык компьютера.
ПРИМЕЧАНИЕ: Командная строка, как и все другие возможности, имеет свои риски. У вас есть возможность указать компьютеру делать все, что он может делать. Если вы дадите компьютеру команду стереть все ваши данные, он с радостью продолжит это делать. Не запускайте команду только для того, чтобы посмотреть, что она делает. Убедитесь, что вы понимаете, что команда должна делать в первую очередь, особенно если команда включает изменение или удаление файлов.
Поиск командной строки
Большинство людей не используют командную строку на регулярной основе, поэтому найти ее с первого раза может быть немного сложно.В операционной системе Windows даже нет соответствующей встроенной командной строки — для выполнения этих команд вам придется ее установить.
Mac OS X
Командная строка Mac — это программа под названием «Терминал». Он живет в / Applications / Utilities / Папка
. Чтобы найти его, зайдите в свой
Папка приложений. Внизу есть папка Utilities. Войдите внутрь, и одно из перечисленных приложений называется Терминал. Дважды щелкните это приложение, чтобы открыть его.
Linux
Расположение командной строки зависит от того, используете ли вы оконный менеджер Gnome или KDE.(Если в левом нижнем углу экрана есть большой значок K, вы используете KDE; если нет, вы используете Gnome.) Если вы используете KDE, нажмите кнопку K, выберите «Система» и нажмите Konsole. Если вы используете Gnome, нажмите кнопку «Приложения» в левом верхнем углу, выберите «Системные инструменты» и нажмите «Терминал».
Windows
К сожалению, вам придется установить свою собственную программу командной строки. В Windows есть командная строка, но она нестандартна и сложна в использовании. Babun — это бесплатная, простая в установке программа из командной строки.Просто загрузите установщик Babun, дважды щелкните его, чтобы установить Babun, а затем переместите установщик в корзину. Чтобы использовать Babun, перейдите в меню «Пуск», выберите «Программы» и нажмите «Babun».
Синтаксис команд
Никто не любит грамматику, так что давайте быстро с этим покончим. Все команды состоят из трех частей: утилиты, флагов и аргументов. Утилита всегда на первом месте. В двух других частях действуют разные правила, в зависимости от того, какую команду вы используете: возможно, вам вообще не придется использовать какие-либо флаги или аргументы.Вот пример команды, которую вы можете ввести в командную строку:
Разобьем эту команду на части:
-
ls
— это утилита . Утилиты также иногда называют командами сами по себе, потому что они указывают на общую идею того, что вы хотите. В большинстве случаев вы можете просто запустить утилиту самостоятельно, без каких-либо флагов или аргументов. У большинства команд есть только одна утилита. -
-l
— это флаг , который изменяет работу утилиты.Флаги похожи на параметры или предпочтения: утилита обычно отлично работает со значениями по умолчанию, но иногда вы хотите немного изменить ее работу. Флаги всегда начинаются с одного или двух дефисов (-
) и обычно располагаются между служебной программой и аргументами. -
~ / Desktop
— аргумент утилиты. Аргументы используются, когда утилите необходимо точно знать, что вы хотите для определенного действия, и нет четкой настройки по умолчанию. Вы можете думать об этом больше как о разговоре, чем о аргументе: утилита говорит: «Я не знаю, как мне это делать!», И вы используете аргумент, чтобы сказать: «Вот как вы должны это делать.«Аргументы обычно идут в конце команды после утилиты и флагов (если используются какие-либо флаги). Количество используемых аргументов обычно зависит от утилиты: некоторым не нужны аргументы, некоторым нужен ровно один аргумент, для некоторых требуется много аргументов, а некоторые могут выбирать количество аргументов, которые они могут принимать.
Эта команда использует утилиту ls
, которая используется для вывода списка содержимого каталогов. Мы используем флаг -l
, чтобы указать утилите, что нам нужно больше информации, чем она обычно предоставляет, и поэтому она должна показывать нам содержимое каталога в длинном формате ( -l
— это сокращение от «длинный»).Наконец, утилита хочет знать: «Но в каком каталоге мне следует перечислить содержимое?» Используя аргумент, мы отвечаем: «Покажи мне содержимое моего рабочего стола».
Во всех случаях, чтобы отправить команду компьютеру, нажмите клавишу ВВОД. А теперь давайте приступим к изучению некоторых полезных команд!
Базовые утилиты
Вот список основных утилит, которые вы будете использовать на регулярной основе. Все, что написано заглавными буквами и начинается со знака доллара, например $ ЭТО
, является аргументом в пользу утилиты.Вы должны заменить $ ЭТО
фактическим аргументом, который вы хотите дать компьютеру.
чел. $ UTIL
человек уал. Получите информацию о том, как использовать любую утилиту. Замените $ UTIL
любой утилитой, например ls
, cd
или даже man
! Нажимайте стрелки вверх и вниз для просмотра документации. Нажмите Q, чтобы выйти и вернуться в командную строку.
ls $ DIR
л и л т.Перечисляет содержимое каталога $ DIR
. Если каталог не указан, отображает содержимое текущего рабочего каталога. Используйте флаг -l
для получения дополнительной информации.
cd $ DIR
c hange d irectory. Изменяет текущий рабочий каталог на каталог $ DIR
. По сути, перемещает вас по компьютеру.
pwd
p rint w orking d irectory.Если вы когда-нибудь потерялись в компьютере, запустите эту команду, чтобы получить след из хлебных крошек от верхнего уровня компьютера до того, где вы находитесь.
меньше $ FILE
Показывает содержимое файла. Нажимайте стрелки вверх и вниз для прокрутки файла. Нажмите Q, чтобы выйти и вернуться в командную строку.
cp $ FILE $ LOCATION
c o p г. Копирует ФАЙЛ $
в МЕСТО $ .
mv $ FILE $ LOCATION
м o v e. Перемещает ФАЙЛ $
в МЕСТО $ .
RM $ ФАЙЛ
r e m ов. Удаляет файл навсегда : нет возможности вернуть его. Будьте осторожны при использовании этой команды!
Судо $ CMD
s и выше u ser до . Когда вы используете эту утилиту, вы используете всю команду в качестве единственного аргумента: например, sudo ls -l ~ / Desktop
. sudo
запрашивает пароль вашей учетной записи. В качестве меры безопасности при вводе на экране ничего не отображается, даже звездочки ( *
). Если пароль введен правильно, sudo
выполнит $ CMD
с повышенными разрешениями. Будьте осторожны при использовании этой команды!
Примечание об использовании sudo
: компьютер имеет несколько встроенных средств безопасности, чтобы обычные пользователи не совершали плохих действий, например, удаляли важные файлы. У суперпользователя таких ограничений нет.Обратите внимание, что суперпользователь не обязательно плохой: вы должны использовать sudo
для установки программ и делать все остальное, что влияет на работу вашего компьютера.
Перемещение по компьютеру
Давайте начнем с использования ls
, чтобы осмотреть ваш компьютер. Попробуйте ввести ls
в командную строку и нажать Enter. Компьютер ответит списком имен. Эти имена представляют собой имена файлов и папок в каталоге, в котором вы сейчас находитесь. Каждый раз, когда вы открываете новую командную строку, вы запускаете в своем домашнем каталоге, который обычно содержит все ваши файлы.
Ну вот и хорошо. Но что, если мы захотим куда-нибудь еще? Вот для чего нужен cd
. cd
требует аргумента: если вы говорите компьютеру, что хотите куда-то пойти, вы также должны сообщить ему, куда вы собираетесь. Попробуйте ввести эту команду:
Не забывайте, что нужно нажать Enter после того, как вы закончите вводить текст. Компьютер не ответит, но теперь вы находитесь в каталоге документов. Вы можете проверить это, запустив снова ls
: список имен будет другим.
Так что же нам делать дальше? Как мы узнаем, какие из этих имен являются папками (в которые мы можем войти), а какие - файлами (которые мы не можем)? Для этого нам нужна дополнительная информация от команды ls. Давайте дадим ему флаг -F
, чтобы сообщить нам о файлах и папках. Попробуйте ввести эту команду:
Вы заметите, что на этот раз некоторые имена, возвращаемые компьютером, будут иметь косую черту после них. Это имена папок, остальные - файлы. Вы всегда можете войти в папку с помощью cd, запустив cd с именем папки в качестве аргумента, если вы видите эту папку с помощью ls -F
.
Когда вы закончите просматривать папки, самое время вернуться назад. Но как? К счастью, в каждой папке есть скрытая резервная ссылка. Чтобы увидеть эти скрытые ссылки, мы будем использовать флаг -a
для ls, чтобы увидеть все. В каждой папке есть как минимум две скрытые ссылки. Модель . Ссылка
(одна точка) вернет вас в ту же папку, в которой вы сейчас находитесь - она никуда вас не приведет. Ссылка ..
(две точки) вернет вас обратно в родительскую папку. Фактически, вы можете указать команде ls
несколько флагов, например:
Если вы запустите эту команду, вы заметите, что файл .
и ..
скрытые ссылки имеют косую черту рядом с ними, что означает, что вы можете использовать их с компакт-диском! Чтобы вернуться к резервной копии папки, вы всегда можете запустить:
кд ..
Помните, что если вы когда-нибудь заблудитесь в компьютере, вы можете запустить pwd
, чтобы узнать, где вы находитесь.
Neat Tricks
Программисты ленивы. Поскольку они ленивы, они изобрели некоторые методы, позволяющие делать больше с меньшими затратами. Вот некоторые из этих техник:
Автозаполнение вкладки
Всякий раз, когда вам нужно ввести местоположение в аргументе (например, в команде cd
), вам не нужно вводить все это целиком: подойдут первые несколько букв.После того, как вы наберете три или четыре буквы, нажмите клавишу табуляции, и командная строка заполнит все остальное за вас! Например, если вы находитесь в своем домашнем каталоге и набираете cd Desk
, а затем нажимаете клавишу табуляции, командная строка автоматически завершит команду для чтения cd Desktop
! Вы также можете использовать это, если вы обнаружите, что неправильно набираете имена папок: автозаполнение вкладок всегда заполнит их правильно.
Ярлыки
В командную строку встроено несколько ярлыков.Например, чтобы увидеть ранее набранную команду, просто нажмите кнопку вверх. Вы можете сделать это, чтобы отправить одну и ту же команду несколько раз или отредактировать команду, которую вы неправильно ввели. Другой ярлык: вы можете использовать ~
(тильда) для обращения к вашему домашнему каталогу: cd ~
вернет вас туда.
Предупреждения
Помните, что когда вы используете командную строку, компьютер с радостью сделает за вас все, что может. Если вы попросите его сделать что-то плохое, он попытается это сделать.Некоторые люди пользуются этим фактом, говоря начинающим пользователям командной строки запускать команды, которые делают неприятные вещи на вашем компьютере. Вот некоторые из них, на которые стоит обратить внимание. Никогда не запускайте эти команды! Они могут и уничтожат ваш компьютер!
судо rm -rf /
Команда для удаления файла - rm
. Вы также можете использовать rm
для одновременного удаления нескольких файлов. Эта команда указывает компьютеру начать с начала файловой структуры и удалить каждый файл на компьютере без остановки.После выполнения этой команды ваш компьютер будет пуст. Если вы выключите его, он не сможет снова включиться, пока вы не переустановите на нем операционную систему.
: () {: |: &} ;:
Этот интересный на вид фрагмент кода называется вилкой-бомбой. Подобно вирусу, он будет постоянно размножаться и делиться на части, запрашивая у компьютера все больше и больше ресурсов, пока весь компьютер не попытается обработать этот код. В результате на компьютере не остается ресурсов для каких-либо других программ или процессов, и он зависает или выходит из строя.К счастью, перезагрузка компьютера должна вылечить это.
Пожалуйста, включите JavaScript, чтобы просматривать комментарии от Disqus.Launch School - Введение в командную строку
В предыдущей главе мы говорили о том, как ваш «текущий каталог» предоставляет контекст для команд, которые вы запускаете. Другой способ предоставления контекста - это то, что называется переменными среды . В программировании переменные используются для хранения данных, а также для возможности ссылаться на эти данные и извлекать их позже, используя имя.В команде cd $ HOME
часть $ HOME
является ссылкой на переменную HOME
и заменяется путем к вашему домашнему каталогу при запуске команды. Другими словами, запуск cd $ HOME
аналогичен запуску cd / home / ubuntu
, если ваш домашний каталог - / home / ubuntu
.
Когда вы входите в командную строку, автоматически устанавливаются различные переменные среды. Вы можете точно увидеть, какие переменные были установлены вместе с их значениями, запустив env
в командной строке.Введите env
, нажмите Enter и найдите значение для HOME
. Должно быть написано что-то вроде / home / ubuntu
, где ubuntu будет заменено вашим именем пользователя. Если вы делаете это на Mac, значение, вероятно, будет примерно / Users / bob
. Это путь к вашему домашнему каталогу.
Хотя есть несколько переменных среды, которые устанавливаются для вас автоматически, вы также можете установить свои собственные или изменить существующие переменные. Вы можете сделать это «на лету», чтобы ваши изменения повлияли только на текущую команду или текущий сеанс, или вы можете сделать изменения более постоянными, чтобы они сохранялись между сеансами.
Примечание: Термин «сеанс» относится к состоянию входа в интерфейс командной строки компьютера. Когда вы входите в систему, вы запускаете новый сеанс, в котором будут записываться ваши команды и будет сохраняться другая контекстная информация. Когда вы закрываете Терминал или набираете "exit", ваш сеанс закрывается, и этот контекст и данные теряются.
Установка переменных среды на лету
Есть два способа установить переменную окружения на лету:
Установите переменную в отдельной строке, затем используйте ее где угодно:
$ SOMETHING = "некоторая ценность" $ echo $ ЧТО-ТО некоторая ценность
Установить переменную перед командой в той же строке:
$ SOMETHING = "значение" env ... ЧТО-ТО = значение ...
Примечание. Вы не можете (очень легко) использовать значение в той же строке, в которой вы его установили. Это потому, что переменные оцениваются до того, как произойдет установка:
$ SOMETHING = "что-то еще" echo $ SOMETHING
# нет вывода
Вы заметили, что когда вы устанавливаете переменную, вы не добавляете знак доллара в начале, но когда вы на нее ссылаетесь, вы делаете это? Также обратите внимание, что между переменной и знаком равенства или знаком равенства и значением не должно быть пробелов.Наконец, обычно лучше всего использовать кавычки вокруг значения, которое вы присваиваете переменной, но это не обязательно, если значение не имеет специальных символов.
Давайте попробуем изменить среду нашего текущего сеанса. Может быть, вы хотите упростить подсказку. Чтобы изменить подсказку, отрегулируйте переменную PS1
так, как хотите:
$ PS1 = "(testprompt)>"
(тестовая подсказка)>
Как видите, теперь отображается приглашение (testprompt)>
, и каждый раз, когда команда завершается, она появляется снова.Если вам нужна более сложная подсказка, попробуйте следующее:
$ PS1 = "\ n \ [\ e [0; 37m \] [\ h] \ e [0; 35m \] \ d \ e [0m \] \ n \ [\ e [0; 31m \]]" \ u \ [\ e [0; 34m \] в \ [\ e [1; 33m \] \ w \ [\ e [m \] \ [\ e [0; 31m \] \ n \ [\ 033 [ 35 м \] $ \ [\ 033 [00 м \] "
[chopin] Ср, 08 апр.
убунту в ~
$
Новое приглашение является многострочным и имеет цветовую кодировку. Если вы хотите вернуться к старому запросу, просто закройте сеанс и начните новый. Поскольку мы внесли изменения в переменную окружения PS1
«на лету», они не будут использоваться в будущих сессиях.
Внесение более постоянных изменений
В среду командной строки можно вносить более постоянные изменения. Когда вы запускаете сеанс командной строки, открывая новое окно Терминала, выполняются один или несколько файлов среды . Эти файлы можно использовать для изменения или создания переменных среды. Обычно они находятся в вашем домашнем каталоге и включают следующие файлы: .bashrc
и .bash_profile
в Bash и .zshrc
и .zprofile
в Зш. Потому что они начинаются с .
, они считаются «скрытыми» файлами, и использование одной только команды ls
их не покажет. Введите ls -a ~
, чтобы увидеть их в списке вместе с другими файлами в вашем домашнем каталоге. Помните, что ls
- это команда, а -a
и ~
- аргументы команды ls
. Флаг -a
указывает команде ls
включать файлы, которые начинаются с .
в его выводе, а ~
- это каталог, который должен проверить ls
(вспомните, что ~
означает ваш «домашний» каталог).
Примечание: Редактирование скрытых файлов может быть немного сложным, если вы никогда не делали этого раньше. Многие редакторы по умолчанию не отображают скрытые файлы. Однако у большинства из них есть параметр конфигурации или расширение, которое может изменить этот параметр, и большинство из них также позволяют интерактивно переключать отображение скрытых файлов.
В худшем случае вы можете использовать чрезвычайно простой редактор Nano, который доступен почти во всех системах.Следующие шаги помогут вам, например, отредактировать файл .bashrc
.
Откройте скрытый файл с помощью Nano, введя команду
nano
и полное имя файла. Например:нано ~ / .bashrc
Внесите необходимые изменения в свой файл.
Сохраните файл, нажав
+ o + x Перезапустите сеанс терминала (например, выйдите, а затем запустите программу терминала).
Несмотря на эти инструкции, мы по-прежнему рекомендуем вам научиться использовать выбранный вами редактор для работы со скрытыми файлами.
Примечания для Bash
Создайте файл .bashrc
и .bash_profile
с помощью следующей команды:
touch ~ / .bashrc ~ / .bash_profile # Будьте осторожны с пробелами
Если файлы уже существуют, эта команда не изменит их.Вам следует отредактировать файл .bash_profile
и добавить следующую строку где-нибудь в верхней части файла:
[-r ~ / .bashrc] &&. ~ / .bashrc # будьте осторожны с пробелами
Приведенная выше команда проверяет, есть ли у вас читаемый файл .bashrc
в вашем домашнем каталоге, и, если да, запускает этот файл. В зависимости от вашей конфигурации, Bash может нуждаться или не нуждаться в этой команде, но обычно это не повредит.
Откройте новое окно терминала, чтобы убедиться, что оно по-прежнему работает.
Создав эти файлы, вы можете внести большинство изменений конфигурации в файл .bashrc
. Как правило, вы можете игнорировать файл .bash_profile
.
Примечания к ЗШ
Создайте файл .zshrc
с помощью следующей команды:
touch ~ / .zshrc # Будьте осторожны с пробелами
Откройте новое окно терминала, чтобы убедиться, что оно по-прежнему работает.
После того, как вы создали .zshrc
, вы можете внести в него большинство изменений конфигурации. Как правило, вы можете игнорировать файл .zprofile
, если он у вас есть.
$ ls -a ~
. .cache .sudo_as_admin_successful
.. .mysql_history .vbox_version
.bash_history postinstall.sh .veewee_version
.bash_logout .profile .vim
.bashrc .ssh .viminfo
Правила, по которым файл среды читается для нового сеанса, сложны и зависят от вашей оболочки и того, как создается сеанс.Для наших целей достаточно использовать .bashrc
для Bash и .zshrc
для Zsh. Если ваши правки не работают, попробуйте вместо этого обновить .bash_profile
или .zprofile
.
Войдите в свою консоль и введите одну из следующих команд:
cat ~ / .bashrc # При использовании bash
cat ~ / .zshrc # При использовании zsh
Команда cat
читает файл и отображает его содержимое.В зависимости от текущего содержимого этих файлов вы можете увидеть несколько выводов этих команд или вообще ничего.
Bash only : Если вы готовы настроить подсказку на более длительный срок, откройте файл .bashrc
в редакторе кода и добавьте настраиваемую подсказку в конец файла .bashrc
:
export PS1 = "здесь будет ваше пользовательское приглашение" # Отметьте пробел перед закрывающей цитатой
Экспорт
не требуется, поскольку переменная уже доступна глобально.Однако это не повредит уточнить. Используйте следующие фрагменты вместе с любым настраиваемым текстом, чтобы создать подсказку:
Специальные символы | Описание |
---|---|
\ h | Имя хоста |
| Имя пользователя |
\ w | Текущий каталог |
\ W | Базовое имя текущего каталога |
\ d | Текущая дата |
\ n | Новая строка |
Вы заметили, что просто редактируя и сохраняя файл .Файл bashrc
ничего не сделал? Файл оценивается или запускается только при первом входе в систему. Если вы хотите повторно запустить конкретный файл среды, например .bashrc
или .bash_profile
, используйте команду source
:
исходный код ~ / .bashrc
Чтобы вернуться к старому запросу, отредактируйте тот же файл и удалите настройку PS1
. Затем запустите исходный код
в этом файле:
[мое настраиваемое приглашение] $ source ~ /.bashrc
$
Использование переменных среды
Давайте на мгновение рассмотрим различные способы использования переменных среды.
1. В составе команд
Во-первых, переменные можно использовать в качестве аргументов команд. Взгляните на следующий пример:
$ MESSAGE = "Привет, мир!"
$ echo $ СООБЩЕНИЕ
Привет, мир!
Это очень простой пример, но вы можете видеть, что переменная $ MESSAGE
используется в качестве первого (и единственного) аргумента команды echo
.Фактически вы также можете использовать переменные в качестве команд:
$ MESSAGE = "Привет, мир!"
$ COMMAND = "эхо"
$ $ КОМАНДА $ СООБЩЕНИЕ
Привет, мир!
2. Интерполированные в строки
Переменные также можно интерполировать или включать в другие строки. Возьмем следующий пример:
$ MESSAGE1 = "Это сообщение 1."
$ MESSAGE2 = "Это сообщение 2."
$ MESSAGE = "$ MESSAGE1 $ MESSAGE2"
$ echo $ СООБЩЕНИЕ
Это сообщение 1. Это сообщение 2.
Чтобы гарантировать, что переменные будут интерполированы, вы должны использовать двойные кавычки ( "
), а не одинарные кавычки ( '
).Попробуйте следующий пример в командной строке, чтобы увидеть разницу:
$ MESSAGE = '$ MESSAGE1 $ MESSAGE2'
$ echo $ СООБЩЕНИЕ
$ MESSAGE1 $ MESSAGE2
Разница между одинарными и двойными кавычками в первую очередь связана с интерполяцией. В двойных кавычках $
рассматривается как начало значения, которое будет вставлено в строку; с одинарными кавычками $
- это обычный символ без особого значения.
Одиночные и двойные кавычки также играют роль с «escape-литералами», такими как символы \ h
и \ u
, которые вы можете использовать в переменной среды PS1
(см. Выше).Используйте одинарные кавычки для обработки \
как обычного символа; используйте двойные кавычки для обработки \
и следующего за ним символа как escape-литерала.
Наконец, вы можете использовать двойные кавычки, чтобы заключить строку, содержащую одинарные кавычки, или одинарные кавычки, чтобы заключить в кавычки строку, содержащую двойные кавычки:
$ echo "В чем дело, Док?"
$ echo 'Меня зовут Пит.'
Ситуация значительно усложняется, если у вас есть строка, содержащая как одинарные, так и двойные кавычки, а также символы \
и $
.Мы не будем здесь вдаваться в подробности.
3. За кадром
Переменные среды могут использоваться командами (программами) за кулисами. Другими словами, вы можете установить переменную, а затем запустить команду, не передавая переменную в качестве явного аргумента этой команде, и команда могла бы использовать эту переменную. Переменная PWD
автоматически используется любой командой, которая пытается получить текущий каталог пользователя. Переменная HOME
автоматически используется cd
, если вы не передаете ей никаких аргументов.Если вы создадите пользовательскую переменную (например, PI = 3,14
), только программы, которые знают о ней, смогут использовать ее без явного использования в качестве аргумента.
Если вы хотите временно изменить переменную до того, как она будет использоваться в команде за кулисами, вы можете установить переменную непосредственно перед командой в той же строке:
# Установить домашний в корневой каталог и перейти в домашний.
$ HOME = / cd
$ pwd
/
# Перейти в домашний каталог.
$ cd
$ pwd
/ главная / убунту
Обратите внимание, как второй cd
перенесет вас в ваш исходный домашний каталог, тогда как первый cd
приведет вас в корневой каталог, потому что это то, что вы установили для HOME
.
Одна из наиболее важных переменных среды, с которой вы будете работать в командной строке, - это PATH
. В предыдущей главе мы обсуждали, что команды на самом деле являются просто файлами, но мы не говорили о том, как командная строка знала, какой файл выполнять для таких команд, как cd
или echo
или других встроенных или установленных программ. Переменная PATH
предоставляет дополнительный контекст, необходимый командной строке для определения того, какой именно файл следует выполнить.Давайте посмотрим на значение переменной PATH
:
$ echo $ PATH
/ usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / games
Если вы изучите вывод приведенной выше команды echo $ PATH
, вы увидите, что это набор путей, соединенных двоеточиями. Вы могли заметить, что большинство путей заканчиваются на / bin
. Это связано с тем, что bin
- это сокращение от «двоичный», а bin
- это стандартное имя каталога для исполняемых файлов или программ.
Давайте посмотрим, что находится в одном из каталогов, перечисленных в переменной PATH
:
$ ls / usr / bin
[mysqlanalyze
2to3 mysqlbinlog
2to3-2.7 mysqlbug
a2p mysqlcheck
aclocal mysql_client_test
aclocal-1.11 mysql_convert_table_format
...
mysql zdump
mysqlaccess zsoelim
mysqladmin
В зависимости от вашего компьютера разные типы файлов могут иметь разные цвета.Например, на многих компьютерах исполняемые файлы, вероятно, будут окрашены в зеленый цвет. Однако если вы посмотрите на файлы, расположенные в вашем домашнем каталоге, они, вероятно, будут бело-синими, что говорит нам о том, что они не являются исполняемыми.
Один из элементов в каталоге / usr / bin
- man
. Если я наберу man
в командной строке и нажму Enter, он выполнит этот файл. Как я могу быть уверен, что он выполнит этот файл, а не какой-то другой файл с именем man
на моем сервере?
Когда вы вводите слово в командную строку, и оно не начинается с /
, ~
или .
(поскольку они будут указывать путь к фактическому файлу), командная строка будет искать эту команду в каждом из каталогов, перечисленных в переменной среды PATH
. Таким образом, когда мы набираем man
и нажимаем Enter, интерфейс командной строки выполняет поиск / usr / local / sbin
, затем / usr / local / bin
, поскольку они находятся первыми в списке. Затем он перемещается по списку каталогов, пока не найдет в одном из них файл с именем «man». Затем он прекращает поиск и запускает файл.Мы можем проверить, какой файл запускается, используя команду which
:
$ какой мужчина
/ usr / bin / человек
which
ищет пути для указанной команды (в данном случае man
) и отображает первую найденную команду. (Некоторые версии , которые
будут находить все вхождения команды в пути, но большинство сообщают только об одном.) Как вы можете видеть, путь, который выводится командой which
, соответствует найденной нами команде man
ранее.
Вы можете создавать или устанавливать исполняемые файлы. Чтобы пользовательский исполняемый файл можно было использовать как встроенную команду, все, что вам нужно сделать, это убедиться, что у него есть правильные разрешения (обсуждаются в следующей главе), и добавить путь к каталогу, в котором он содержится. в переменную PATH
в ~ / .bashrc
или ~ / .zshrc
:
экспорт ПУТЬ = "/ путь / к / мой / каталог-исполняемых файлов: $ ПУТЬ"
Обратите внимание, как мы добавили каталог исполняемых файлов, затем двоеточие, а затем снова переменную $ PATH
.Это сохраняет старые местоположения PATH
, делая ваш каталог наивысшим приоритетом. Мы добавляем наш каталог в начало списка.
Обратите внимание, что если этот путь, который вы добавляете в переменную среды $ PATH
, содержит исполняемый файл с именем «man», то, когда вы вводите man
из командной строки, этот новый файл будет выполнен вместо правильного. в / usr / bin
. Правила поиска пути для всех команд в значительной степени зависят от тщательного управления этой переменной среды $ PATH
.
Итого:
- Переменная
PATH
определяет, в каких каталогах выполняется поиск при вводе команды. -
ПУТЬ
- это упорядоченный, разделенный двоеточиями список каталогов, содержащих исполняемые файлы. - Порядок каталогов в переменной
PATH
- первый найден - первый исполнен. - Если вы используете
/
,.
или~
перед вашей командой, командная строка будет интерпретировать это как фактический путь к файлу и не будет использовать переменнуюPATH
- Вы можете добавить к
PATH
, чтобы сделать больше команд доступными без необходимости запоминать их точный путь - Изменения
PATH
или любой переменной среды на лету не будут постоянными; постоянные изменения должны производиться в файле среды, например.bashrc
Базовые команды UNIX
Базовые команды UNIX Примечание: не все из них на самом деле являются частью самой UNIX, и вы можете не найти их на всех машинах UNIX. Но все они могут быть использованы на turing практически таким же образом, набрав команду и нажав возвращение. Обратите внимание, что некоторые из этих команд отличаются от других в Solaris. машины - см. отличия SunOS.Если вы допустили опечатку, проще всего нажать CTRL-u , чтобы отменить всю строку.Но вы также можете редактировать командную строку (см. руководство по более UNIX).
UNIX чувствителен к регистру.
Файлы
- ls --- выводит список ваших файлов
ls -l --- перечисляет ваши файлы в "длинном формате", который содержит множество полезная информация, например точный размер файла, которому принадлежит файл и кто имеет право на это смотреть, и когда оно было изменено в последний раз.
ls -a --- перечисляет все файлы, включая те, чьи имена начинаются с точка, которую не всегда хочется видеть.
Есть много других опций, например, список файлов по размеру, дата, рекурсивно и т. д. - еще filename --- показывает первую часть файла, ровно столько, сколько поместится на одном экране. Просто нажмите пробел, чтобы увидеть больше или q бросить курить. Вы можете использовать шаблон / для поиск по выкройке.
- emacs filename --- это редактор, который позволяет вам создать и отредактировать файл. См. Страницу emacs.
- mv filename1 filename2 --- перемещает файл (т.е. дает это другое имя или перемещает его в другой каталог (см. ниже)
- cp filename1 filename2 --- копирует файл
- rm filename --- удаляет файл. Целесообразно использовать параметр rm -i, который попросит вас подтвердить, прежде чем фактически удаление чего угодно. Вы можете сделать это по умолчанию, создав псевдоним в файле .cshrc.
- diff filename1 filename2 --- сравнивает файлы и показывает, чем они отличаются
- wc filename --- сообщает вам, сколько строк, слов, и символы есть в файле
- chmod options filename --- позволяет изменить чтение, писать и выполнять разрешения для ваших файлов. По умолчанию это только вы можете посмотреть на них и изменить их, но иногда вы можете захотеть измените эти разрешения.Например, chmod o + r filename сделает файл доступным для чтения всем, и chmod o-r filename сделает его нечитаемым для других опять таки. Обратите внимание, что для того, чтобы кто-то действительно мог посмотреть файл каталоги, в которых он находится, должны быть по крайней мере исполняемыми. Дополнительные сведения см. В справке по защите.
- Сжатие файлов
- gzip filename --- сжимает файлы, чтобы они занимают гораздо меньше места. Обычно текстовые файлы сжимаются примерно до половины их исходный размер, но он очень сильно зависит от размера файла и характер содержания.Для этого есть и другие инструменты цель тоже (например, сжать ), но gzip обычно дает самая высокая степень сжатия. Gzip создает файлы с окончанием '.gz' добавляется к исходному имени файла.
- gunzip filename --- распаковывает файлы, сжатые с помощью gzip.
- gzcat filename --- позволяет просматривать сжатый файл без на самом деле нужно его заархивировать (то же самое, что и gunzip -c ). Ты даже можешь распечатайте его напрямую, используя gzcat filename | lpr
- печать
- lpr filename --- print.Используйте параметр -P, чтобы указать имя принтера, если вы хотите использовать принтер, отличный от вашего по умолчанию принтер. Например, если вы хотите распечатать двустороннюю печать, используйте lpr -Pvalkyr-d ', или, если вы работаете в CSLI, вы можете использовать' lpr -Pcord115-d '. См. Раздел «Справка по принтерам» для получения дополнительной информации о принтерах. и их местонахождение.
- lpq --- проверить очередь принтера, например чтобы получить номер, необходимый для удаления, или чтобы узнать, сколько других файлов будет напечатано прежде чем выйдет ваш
- lprm jobnumber --- удалите что-нибудь из очередь принтера.Вы можете найти номер вакансии, используя lpq. Теоретически вы также должны указать имя принтера, но это не обязательно, поскольку пока вы используете в отделе принтер по умолчанию.
- genscript --- преобразует текстовые файлы в PostScript для печати и дает вам несколько вариантов форматирования. Рассмотреть возможность создание псевдонима типа alias ecop 'genscript -2 -r \! * | lpr -h -Pvalkyr ' для печати двух страниц на одном листе бумаги.
- dvips filename --- print .dvi файлы (т. е. файлы, созданные LaTeX). Вы можете использовать dviselect только для печати выбранные страницы. См. Страницу LaTeX для получения дополнительной информации информация о том, как сэкономить бумагу при печати черновиков.
Справочники
Каталоги, как и папки на Macintosh, используются для группировки файлов. вместе в иерархической структуре.- mkdir dirname --- создайте новый каталог
- cd dirname --- сменить каталог.Вы в основном идете в другой каталог, и вы увидите файлы в этом каталоге когда вы делаете "ls". Вы всегда начинаете со своего «домашнего каталога», и вы можете вернуться туда, набрав «cd» без аргументов. cd .. будет поднять вас на один уровень выше вашего текущего положения. Вам не нужно идти шаг за шагом - можно делать большие прыжки или избегать ходьбы вокруг, указав пути.
- pwd --- сообщит вам, где вы сейчас находитесь.
В поисках вещей
- ff --- найти файлы в любом месте системы.Это может быть чрезвычайно полезно, если вы забыли, в какой каталог вы поместили файл, но помните имя. Фактически, если вы используете ff -p , вы не даже нужно полное имя, только начало. Это также может быть полезно для поиска других вещей в системе, например документация.
- grep string filename (s) --- ищет строку в файлы. Это может быть полезно для многих целей, например находка нужный файл среди многих, выясняя, какая версия является правильной что-то, и даже делать серьезную корпусную работу.grep входит в несколько разновидностей ( grep , egrep и fgrep ) и имеет много очень гибких вариантов. Просмотрите страницы руководства, если это звучит хорошо тебе.
О других людях
- w --- сообщает, кто вошел в систему и что они делают. Особенно полезно: «неактивная» часть. Это позволяет увидеть, на самом деле они сидят и печатают на своей клавиатуре прямо в момент.
- who --- расскажет, кто вошел в систему и где они приходящий из.Полезно, если вы ищете кого-то, кто на самом деле физически в том же здании, что и вы, или в каком-то другом конкретном место нахождения.
- finger имя пользователя --- дает много информации об этом пользователе, например когда они в последний раз читали свою почту и были ли они вошли в систему. Часто люди помещают другую практическую информацию, например, телефон номера и адреса в файле под названием .plan . Эта информация также отображается «пальцем».
- последний -1 имя пользователя --- сообщает вам, когда пользователь последний раз входил и выходил и откуда.Без каких-либо опций последний будет дать вам список всех логинов.
- talk имя пользователя --- позволяет вам вести (печатный) разговор с другой пользователь
- написать имя пользователя --- позволяет вам обмениваться одной строкой сообщения с другим пользователем
- elm --- позволяет отправлять сообщения электронной почты людям по всему миру. мир (и, конечно же, их прочтите). Это не единственный почтовик, который можно используйте, но тот, который мы рекомендуем. Увидеть вяз страницу, и узнайте об ведомственных списки рассылки (которые вы также можете найти в / пользователь / лингвистика / справочный файл).
О себе (электронном)
- whoami --- возвращает ваше имя пользователя. Звучит бесполезно, но нет. Возможно, вам потребуется узнать, кто забыл войти где-нибудь, и убедитесь, что * вы * вышли из системы.
- finger и файлы .plan
, конечно, вы тоже можете потрогать себя пальцами. Это может быть полезно, например, как быстрая проверка, получили ли вы новую почту. Попробуйте создать полезный .plan файл в ближайшее время. Ищите идеи в чужих файлах .plan.В файл должен быть доступен для чтения всем, чтобы быть видимым через 'Палец'. При необходимости выполните команду chmod a + r .plan. Вы должны понять, что эта информация доступна из любой точки мира, а не только другие люди по Тьюрингу. - passwd --- позволяет вам изменить свой пароль, что вы должны делайте регулярно (не реже одного раза в год). См. Руководство LRB и / или посмотрите пароль справки.
- ps -u yourusername --- перечисляет ваши процессы.Содержит много информация о них, включая идентификатор процесса, который вам нужен если вам нужно убить процесс. Обычно, когда тебя выгнали сеанса дозвона или каким-либо другим способом отключен внезапно, этот список будет содержать нужные вам процессы убить. Они могут включать оболочку (tcsh или что-то еще, что вы используете), и все, что вы запускали, например emacs или elm. Будь осторожен чтобы не убить вашу текущую оболочку - ту, у которой номер ближе к одна из команд ps, которые вы сейчас выполняете.Но если это случится, не паникуйте. Просто попробуйте еще раз 🙂 Если вы используете X-display, вы можете необходимо убить некоторые X-процессы, прежде чем вы сможете их снова запустить. Эти будет отображаться только при использовании ps -efl , потому что они root процессы.
- kill PID --- убивает (завершает) процессы с идентификатором ты дал. Конечно, это работает только для ваших собственных процессов. Получить ID с помощью ps . Если процесс не «умирает» должным образом, используйте опция -9. Но сначала попробуйте без этого варианта, потому что он не дает возможности завершить процесс возможно важно бизнес перед смертью.Вам может потребоваться убить процессы, например, если ваше модемное соединение было прервано, и вы не вышли из системы правильно, что иногда бывает.
- quota -v --- показать, какая у вас квота на диск есть (т.е. сколько места у вас есть для хранения файлов), сколько вы фактически используете, и в случае, если вы превысили свою квоту (которую вы получать автоматическое предупреждение системы) сколько времени вы осталось разобраться в них (удалив или сжав некоторые из них, или переместив их на свой компьютер).
- du filename --- показывает использование диска файлами и каталоги в имя файла (без аргумента текущий каталог используется). du -s дает только итог.
- last yourusername --- перечисляет ваши последние входы в систему. Жестяная банка быть полезным помощником в памяти о том, когда вы были где, как долго вы были работаете и отслеживает ваш телефонный счет, если вы делаете не местный телефонный звонок для дозвона.
Подключение к внешнему миру
- nn --- позволяет читать новости.Сначала это позволит вам прочитать местные новости по Тьюрингу, а затем удаленные новости. Если ты хочешь читать только местные или удаленные новости, вы можете использовать nnl или nnr , соответственно. Чтобы узнать больше о nn , введите nn , затем \ tty {: man}, затем \ tty {=. *}, затем \ tty {Z}, затем нажмите пробел, чтобы пошагово пройти через руководство. Или посмотрите справочную страницу. Или посмотрите гипертекст nn FAQ - наверное, самый простой и интересный способ.
- rlogin hostname --- позволяет подключаться к удаленному хосту
- telnet hostname --- также позволяет подключаться к удаленный узел.По возможности используйте rlogin .
- ftp hostname --- позволяет загружать файлы с удаленный хост, настроенный как ftp-сервер. Это распространенный метод для обмена академическими работами и черновиками. Если вам нужно сделать бумагу доступных таким образом, вы можете (временно) поместить копию в / пользователь / ftp / pub / TMP. Если вам нужны более надежные решения, спросите Эмму. Большинство важные команды в ftp: get для получения файлов из удаленный компьютер, и поместил для их размещения ( mget и mput позволяет указать более одного файла одновременно).Звуки прямолинейно, но не путайте их, особенно когда ваше физическое местоположение не соответствует направлению ftp соединение, которое вы устанавливаете. ftp просто перезаписывает файлы такими же имя файла. Если вы передаете что-либо, кроме текста ASCII, используйте двоичный режим.
- lynx --- позволяет просматривать веб-страницы с обычного Терминал. Конечно, вы можете видеть только текст, а не изображения. Вы можете ввести любой URL-адрес в качестве аргумента команды G .Когда вы делаете это с любого хоста в Стэнфорде, вы можете не указывать .stanford.edu часть URL-адреса при подключении к URL-адресам Стэнфордского университета. Наберите H в любое время, чтобы узнать больше о lynx , и Q для выхода.
Инструменты разные
- webster word --- ищет слово в электронном версия словаря Вебстера и возвращает определение (я)
- дата --- показывает текущую дату и время.
- cal --- показывает календарь текущего месяца. Используйте, например, "cal 10 1995", чтобы получить это за октябрь 95, или "cal 1995", чтобы получить Весь год.
man имя команды --- показывает страницу руководства для команда
Дальнейшие способы получения помощи смотрите на страницах с электронными источниками информации. и неэлектронные источники.
Дополнительные команды UNIX
Резервное копирование на главную страницу вычислений
1.Основы - Практическое программирование с помощью R [Книга]
Глава 1. Основы
В этой главе представлен широкий обзор языка R, который поможет вам сразу же приступить к программированию. В нем вы создадите пару виртуальных игральных костей, которые сможете использовать для генерации случайных чисел. Не волнуйтесь, если вы никогда раньше не программировали; глава научит вас всему, что вам нужно знать.
Чтобы смоделировать пару игральных костей, вам нужно разделить каждую кость на ее основные черты.Вы не можете поместить физический объект, например, кристалл, в компьютер (ну, не открутив несколько винтов), но вы можете сохранить информации об объекте в памяти вашего компьютера.
Какую информацию следует сохранять? В общем, кубик содержит шесть важных частей информации: когда вы бросаете кубик, результатом может быть только одно из шести чисел: 1, 2, 3, 4, 5 и 6. Вы можете зафиксировать основные характеристики кубика. сохраняя числа 1, 2, 3, 4, 5 и 6 как группу значений в памяти вашего компьютера.
Давайте сначала поработаем над сохранением этих чисел, а затем рассмотрим метод «катания» нашей кости.
Прежде чем вы сможете попросить компьютер сохранить несколько чисел, вам нужно знать, как с ним разговаривать. Вот где на помощь приходят R и RStudio. RStudio дает вам возможность общаться с вашим компьютером. R дает вам язык, на котором можно говорить. Для начала откройте RStudio, как если бы вы открывали любое другое приложение на своем компьютере. Когда вы это сделаете, на вашем экране должно появиться окно, подобное показанному на рисунке 1-1.
Рисунок 1-1. Ваш компьютер выполняет ваши ставки, когда вы вводите команды R в командной строке в нижней строке панели консоли. Не забудьте нажать клавишу Enter. Когда вы впервые открываете RStudio, консоль появляется на панели слева, но вы можете изменить это с помощью File> Preferences в строке меню.
Подсказка
Если на вашем компьютере еще не установлены R и RStudio или вы не знаете, о чем я говорю, посетите Приложение A. В приложении вы найдете обзор двух бесплатных инструментов и расскажете, как их использовать. скачать их.
Интерфейс RStudio прост. Вы вводите код R в нижней строке панели консоли RStudio и затем нажимаете Enter, чтобы запустить его. Код, который вы вводите, называется командой , потому что он заставляет ваш компьютер что-то делать за вас. Строка, в которую вы его вводите, называется командной строкой .
Когда вы вводите команду в командной строке и нажимаете Enter, ваш компьютер выполняет команду и показывает результаты. Затем RStudio отображает новое приглашение для вашей следующей команды.Например, если вы наберете 1 + 1
и нажмете Enter, RStudio отобразит:
>
1
+
1
[
1
]
2
>
Вы заметите, что рядом с результатом отображается [1]
. R просто сообщает вам, что эта строка начинается с первого значения в вашем результате. Некоторые команды возвращают более одного значения, и их результаты могут занимать несколько строк. Например, команда 100: 130
возвращает 31 значение; он создает последовательность целых чисел от 100 до 130.Обратите внимание, что новые числа в квадратных скобках появляются в начале второй и третьей строк вывода. Эти числа просто означают, что вторая строка начинается с 14-го значения в результате, а третья строка начинается с 25-го значения. В большинстве случаев вы можете игнорировать числа в скобках:
>
100
:
130
[
1
]
100
101
102
103
104
105
106
107
108
109
110
111
112
[
14
]
113
114
115
116
117
118
119
120
121
122
123
124
125
[
25
]
126
127
128
129
130
Оператор двоеточия (
+
) возвращает каждое целое число между двумя целыми числами.Это простой способ создать последовательность чисел.
Разве R не язык?
Вы можете слышать, как я говорю о R от третьего лица. Например, я мог бы сказать: «Скажи R сделать это» или «Скажи R сделать это», но, конечно, R ничего не может; это просто язык. Такой способ выражения является сокращением от выражения: «Скажите компьютеру сделать это, написав команду на языке R в командной строке консоли RStudio». Фактическую работу выполняет ваш компьютер, а не R.
Это сокращение сбивает с толку и немного лениво в использовании? да.Многие ли этим пользуются? Все, кого я знаю - наверное, потому, что это так удобно.
Когда мы компилируем?
В некоторых языках, таких как C, Java и FORTRAN, вам необходимо скомпилировать свой читаемый человеком код в машиночитаемый код (часто единицы и нули), прежде чем вы сможете его запустить. Если вы раньше программировали на таком языке, вы можете задаться вопросом, нужно ли вам компилировать код R, прежде чем вы сможете его использовать. Ответ - нет. R - это динамический язык программирования, что означает, что R автоматически интерпретирует ваш код по мере его выполнения.
Если вы введете неполную команду и нажмете Enter, R отобразит приглашение +, что означает, что он ждет, когда вы наберете оставшуюся часть вашей команды. Завершите команду или нажмите Escape, чтобы начать сначала:
>
5
-
+
+
1
[
1
]
4
Если вы введете команду, которую R не распознает, R вернет сообщение об ошибке. Если вы когда-нибудь увидите сообщение об ошибке, не паникуйте.R просто говорит вам, что ваш компьютер не может понять или выполнить то, что вы его просили. Затем вы можете попробовать другую команду в следующем приглашении:
>
3
% 5
Ошибка: неожиданный ввод в "3%
5
"
>
Как только вы освоите командную строку, вы легко сможете делать в R все, что вы делали бы с калькулятором. Например, вы можете выполнить простую арифметику:
2
*
3
## 6
4
-
1
## 3
6
/
(
4
-
1
)
## 2
Заметили ли вы что-то особенное в этом коде? Я исключил >
и [1]
.Это упростит копирование и вставку кода, если вы хотите поместить его в свою консоль.
R обрабатывает символ хэштега #
особым образом; R не будет запускать ничего, что следует за хэштегом в строке. Это делает хэштеги очень полезными для добавления комментариев и аннотаций к вашему коду. Люди смогут читать комментарии, но ваш компьютер их пропустит. Хэштег известен как символ комментария , в R.
В оставшейся части книги я буду использовать хэштеги для отображения вывода R-кода.Я буду использовать один хэштег для добавления собственных комментариев и двойной хэштег ##
для отображения результатов кода. Я не буду показывать >
с и [1]
с, если я не хочу, чтобы вы на них смотрели.
Отмена команд
Выполнение некоторых команд R может занять много времени. Вы можете отменить команду после ее начала, набрав ctrl + c
. Обратите внимание, что для отмены команды R также может потребоваться много времени.
На протяжении всей книги я буду складывать упражнения в коробки, подобные только что упомянутой.Я буду сопровождать каждое упражнение типовым ответом, подобным следующему.
Вы можете начать с цифры 10, а затем выполнить предыдущие шаги:
10
+
2
## 12
12
*
3
## 36
36
-
6
## 30
30
/
3
## 10
Теперь, когда вы знаете, как использовать R, давайте воспользуемся им для создания виртуального кристалла.Оператор :
, использованный пару страниц назад, дает вам удобный способ создать группу чисел от одного до шести. Оператор :
возвращает свои результаты в виде вектора , одномерного набора чисел:
1
:
6
## 1 2 3 4 5 6
Вот и все, как выглядит виртуальный кубик! Но вы еще не закончили. Запуск 1: 6
сгенерировал вектор чисел для вашего просмотра, но он не сохранил этот вектор в памяти вашего компьютера.То, на что вы смотрите, - это в основном следы шести чисел, которые существовали недолго, а затем растворились в оперативной памяти вашего компьютера. Если вы хотите снова использовать эти числа, вам придется попросить компьютер их где-нибудь сохранить. Это можно сделать, создав объект R .
R позволяет сохранять данные, сохраняя их внутри объекта R. Что за объект? Просто имя, которое вы можете использовать для вызова сохраненных данных. Например, вы можете сохранить данные в таком объекте, как a
или b
.Когда R встречает объект, он заменяет его данными, сохраненными внутри, например:
a<-
1
а## 1
а+
2
## 3
Чтобы создать объект R, выберите имя, а затем используйте символ «меньше»,
<
, за которым следует знак «минус»,–
, чтобы сохранить в нем данные. Эта комбинация выглядит как стрелка,<-
. R создаст объект, даст ему ваше имя и сохранит в нем все, что следует за стрелкой.Когда вы спрашиваете R, что такое
и
, он сообщает вам в следующей строке.Вы также можете использовать свой объект в новых командах R. Поскольку в
и
ранее сохранялось значение 1, теперь вы добавляете 1 к 2.
Итак, в качестве другого примера следующий код создаст объект с именем die
, который содержит числа от одного до шести. Чтобы увидеть, что хранится в объекте, просто введите само имя объекта:
die<-
1
:
6
умереть## 1 2 3 4 5 6
Когда вы создаете объект, он появится на панели окружения RStudio, как показано на рисунке 1-2., !
, $
, @
, +
, -
, /
или *
:
Хорошие имена | Имена, вызывающие ошибки |
| |
| |
| |
| |
Предупреждение
R также понимает регистр букв (или чувствителен к регистру), поэтому name
и Name
будут ссылаться на разные объекты:
Name< -
1
имя<-
0
Имя+
1
## 2
Наконец, R перезапишет любую предыдущую информацию, хранящуюся в объекте, не спрашивая у вас разрешения.Итак, , а не , рекомендуется использовать уже занятые имена:
my_number<-
1
мой номер## 1
мой_номер<-
999
мой номер## 999
Вы можете увидеть, какие имена объектов вы уже использовали с функцией ls
:
ls () ## "a" "die" "my_number" "name" "Name"
Вы также можете увидеть, какие имена вы использовали, изучив панель среды RStudio.
Теперь у вас есть виртуальный кристалл, который хранится в памяти вашего компьютера. Вы можете получить к нему доступ в любое время, набрав слово die
. Итак, что вы можете сделать с этим кристаллом? Достаточно много. R будет заменять объект его содержимым всякий раз, когда имя объекта появляется в команде. Так, например, вы можете выполнять всевозможные математические операции с кубиком. Математика не так полезна для бросков кубиков, но манипулирование наборами чисел будет вашим запасом и торговлей как специалист по данным. Итак, давайте посмотрим, как это сделать:
die-
1
## 0 1 2 3 4 5
матрица/
2
## 0.5 1,0 1,5 2,0 2,5 3,0
умереть*
умереть## 1 4 9 16 25 36
Если вы большой поклонник линейной алгебры (а кто нет?), Вы можете заметить, что R не всегда следует правилам умножения матриц. Вместо этого R использует поэлементное выполнение . Когда вы манипулируете набором чисел, R применяет ту же операцию к каждому элементу в наборе. Так, например, когда вы запускаете die - 1
, R вычитает один из каждого элемента die
.
Когда вы используете два или более вектора в операции, R выстраивает векторы и выполняет последовательность отдельных операций. Например, когда вы запускаете die * die
, R выстраивает два вектора die
, а затем умножает первый элемент вектора 1 на первый элемент вектора 2. Затем он умножает второй элемент вектора 1 на второй элемент вектора 2 и так далее, пока каждый элемент не будет умножен. Результатом будет новый вектор той же длины, что и первые два, как показано на рисунке 1-3.
Рисунок 1-3. Когда R выполняет поэлементное выполнение, он сопоставляет векторы, а затем независимо управляет каждой парой элементов.
Если вы зададите R два вектора неравной длины, R будет повторять более короткий вектор до тех пор, пока он не станет равным по длине более длинному вектору, а затем выполнит математические вычисления, как показано на рисунке 1-4. Это не постоянное изменение - более короткий вектор будет иметь исходный размер после того, как R произведет вычисления. Если длина короткого вектора не делится равномерно на длину длинного вектора, R вернет предупреждающее сообщение.Такое поведение известно как повторное использование векторов , и оно помогает R выполнять поэлементные операции:
1
:
2
## 1 2
1
:
4
## 1 2 3 4
умереть## 1 2 3 4 5 6
матрица+
1
:
2
## 2 4 4 6 6 8
матрица+
1
:
4
## 2 4 6 8 6 8
Предупреждающее сообщение:
В матрице+
1
:
4
:
Длина большего объекта не кратна длине более короткого объекта
Рисунок 1-4.R будет повторять короткий вектор для поэлементных операций с двумя векторами неравной длины.
Поэлементные операции - очень полезная функция в R, поскольку они упорядоченно управляют группами значений. Когда вы начинаете работать с наборами данных, поэлементные операции гарантируют, что значения из одного наблюдения или наблюдения будут сочетаться только со значениями из того же наблюдения или наблюдения. Поэлементные операции также упрощают написание собственных программ и функций на R.
Но не думайте, что R отказался от традиционного умножения матриц.Вы просто должны попросить об этом, когда захотите. Вы можете выполнить внутреннее умножение с помощью оператора % *%
и внешнее умножение с помощью оператора % o%
:
die% *%
die## 91
умирают% или%
умирают## [, 1] [, 2] [, 3] [, 4] [, 5] [, 6]
## [1,] 1 2 3 4 5 6
## [2,] 2 4 6 8 10 12
## [3,] 3 6 9 12 15 18
## [4,] 4 8 12 16 20 24
## [5,] 5 10 15 20 25 30
## [6,] 6 12 18 24 30 36
Вы также можете сделать такие вещи, как транспонирование матрицы с помощью t
и взять ее определитель с помощью det
.
Не беспокойтесь, если вы не знакомы с этими операциями. Их легко найти, и они вам не понадобятся для этой книги.
Теперь, когда вы можете выполнять математические расчеты с помощью объекта die
, давайте посмотрим, как вы можете его «бросить». Для того, чтобы бросить кубик, потребуется нечто более сложное, чем простая арифметика; вам нужно будет случайным образом выбрать одно из значений кубика. А для этого вам понадобится функция .
R содержит множество функций, которые можно использовать для выполнения сложных задач, таких как случайная выборка.Например, вы можете округлить число с помощью функции round
или вычислить его факториал с помощью функции факториала
. Использовать функцию довольно просто. Просто напишите имя функции, а затем в скобках данные, с которыми должна работать функция:
раунд(
3,1415
)
## 3
факториал(
3
)
## 6
Данные, которые вы передаете в функцию, называются аргументом функции .Аргументом могут быть необработанные данные, объект R или даже результаты другой функции R. В этом последнем случае R будет работать от самой внутренней функции к самой внешней, как на рисунке 1-5:
среднее значение(
1
:
6
)
## 3,5
среднее(
die)
## 3,5
круглый(
среднее(
штамп))
## 4
К счастью, есть функция R, которая может помочь «бросить» кубик.Вы можете имитировать бросок кубика с помощью функции R’s sample
. Образец
принимает два аргумента : вектор с именем x
и число с именем , размер
. образец
вернет size
элементов из вектора:
sample(
x=
1
:
4
,
size=
2
)
## 3 2
Рисунок 1-5. Когда вы связываете функции вместе, R разрешит их от самой внутренней операции к самой внешней.Здесь R сначала ищет кубик, затем вычисляет среднее значение от одного до шести, а затем округляет среднее значение.
Чтобы бросить кубик и вернуть число, установите x
на кубик
и выберите один элемент из него. Каждый раз, когда вы его бросаете, вы будете получать новое (возможно, другое) число:
образец(
x=
кубик, размер
=
1
)
## 2
образец(
x=
штамп, размер
=
1
)
## 1
образец(
x=
штамп, размер
=
1
)
## 6
Многие функции R принимают несколько аргументов, которые помогают им выполнять свою работу.Вы можете указать функции столько аргументов, сколько захотите, при условии, что вы разделяете каждый аргумент запятой.
Вы могли заметить, что я установил die
и 1
равными именам аргументов в образце
, x
и размером
. У каждого аргумента в каждой функции R есть имя. Вы можете указать, какие данные должны быть назначены какому аргументу, задав имя, равное data, как в предыдущем коде. Это становится важным, когда вы начинаете передавать несколько аргументов одной и той же функции; имена помогают избежать передачи неправильных данных в неправильный аргумент.Однако использовать имена необязательно. Вы заметите, что пользователи R не часто используют имя первого аргумента функции. Таким образом, вы можете увидеть предыдущий код, записанный как:
образец(
матрица, размер
=
1
)
## 2
Часто имя первого аргумента не очень информативно, и обычно в любом случае очевидно, к чему относится первая часть данных.
Но как узнать, какие имена аргументов использовать? Если вы попытаетесь использовать имя, которое функция не ожидает, вы, скорее всего, получите сообщение об ошибке:
round(
3.1415
,
углов=
2
)
## Ошибка в раунде (3,1415, corners = 2): неиспользованный аргумент (ы) (corners = 2)
Если вы не уверены, какие имена использовать с функцией, вы можете найти аргументы функции с помощью args
. Для этого поместите имя функции в круглые скобки после args
. Например, вы можете видеть, что функция round
принимает два аргумента, один с именем x
и один с именем цифр
:
args(
round)
## функция (x, цифры = 0)
## NULL
Вы заметили, что args
показывает, что аргумент цифр
round
уже установлен в 0? Часто функция R принимает необязательные аргументы, такие как цифр
.Эти аргументы считаются необязательными, поскольку они имеют значение по умолчанию. Вы можете передать новое значение необязательному аргументу, если хотите, и R будет использовать значение по умолчанию, если вы этого не сделаете. Например, с округлением до
по умолчанию округляет ваше число до 0 цифр после десятичной точки. Чтобы изменить значение по умолчанию, укажите собственное значение для цифр
:
округлить(
3,1415
,
цифр=
2
)
## 3.14
Вы должны записывать имена каждого аргумента после первого или двух, когда вы вызываете функцию с несколькими аргументами. Почему? Во-первых, это поможет вам и другим понять ваш код. Обычно очевидно, к какому аргументу относится ваш первый ввод (а иногда и второй ввод). Однако вам понадобится большая память, чтобы запомнить третий и четвертый аргументы каждой функции R. Во-вторых, что более важно, запись имен аргументов предотвращает ошибки.
Если вы не записываете имена своих аргументов, R будет сравнивать ваши значения с аргументами в вашей функции по порядку.Например, в следующем коде первое значение, die
, будет сопоставлено с первым аргументом образца
, который называется x
. Следующее значение, 1
, будет соответствовать следующему аргументу, size
:
sample(
die,
1
)
## 2
Чем больше аргументов вы приводите, тем выше вероятность того, что ваш порядок и порядок R могут не совпадать. В результате значения могут быть переданы не тому аргументу.Имена аргументов препятствуют этому. R всегда будет сопоставлять значение с именем своего аргумента, независимо от того, где оно появляется в порядке аргументов:
образец(размер
=
1
,
x=
die)
## 2
Если вы установите размер = 2
, вы можете почти смоделировать пару игральных костей. Прежде чем мы запустим этот код, подумайте на минутку, почему это может быть так. образец
вернет два числа, по одному для каждой матрицы:
образец(
матрица, размер
=
2
)
## 3 4
Я сказал, что это «почти» работает, потому что этот метод делает что-то забавное.Если вы воспользуетесь им много раз, то заметите, что второй кубик никогда не имеет того же значения, что и первый, а это значит, что вы никогда не выбросите что-то вроде пары троек или змеиных глаз. Что здесь происходит?
По умолчанию образец
строит образец без замены . Чтобы понять, что это означает, представьте, что образец
помещает все значения die
в банку или урну. Затем представьте, что образец
залезает в сосуд и извлекает значения одно за другим, чтобы построить свой образец.После того, как значение было извлечено из банки, образец
откладывает его в сторону. Значение не возвращается в банку, поэтому его нельзя снова нарисовать. Таким образом, если образец
выберет шестерку при первом розыгрыше, он не сможет выбрать шестерку при втором розыгрыше; шесть больше не в банке, которую нужно выбрать. Хотя образец
создает свой образец электронным способом, он следует этому, казалось бы, физическому поведению.
Одним из побочных эффектов такого поведения является то, что каждый розыгрыш зависит от розыгрыша, предшествующего ему.Однако в реальном мире, когда вы бросаете пару кубиков, каждый кубик не зависит от другого. Если на первом кубике выпадает шесть, это не мешает второму кубику выпасть шесть. Фактически, это никак не влияет на второй кубик. Это поведение можно воссоздать в образце
, добавив аргумент replace = TRUE
:
образец(
die, размер
=
2
,
заменить=
TRUE
)
## 5 5
Аргумент replace = TRUE
приводит к тому, что выборка
будет выборкой с заменой .Наш пример jar дает хороший способ понять разницу между отбором проб с заменой и без нее. Когда образец
использует замену, он извлекает значение из банки и записывает это значение. Затем он кладет ценность обратно в банку. Другими словами, образец
заменяет каждого значения после каждого розыгрыша. В результате образец
может выбрать то же значение при втором розыгрыше. Каждое значение может быть выбрано каждый раз. Это как если бы каждый розыгрыш был первым розыгрышем.
Выборка с заменой - простой способ создать независимых случайных выборок . Каждое значение в вашей выборке будет выборкой размера один, который не зависит от других значений. Это правильный способ моделирования пары игральных костей:
образец(
кубик, размер
=
2
,
заменить=
ИСТИНА
)
## 2 4
Поздравьте себя; вы только что запустили свою первую симуляцию в R! Теперь у вас есть метод имитации результата броска пары кубиков.Если вы хотите сложить кости, вы можете передать свой результат прямо в функцию sum
:
dice<-
sample(
die,
size=
2
,
replace=
ИСТИНА
)
игральная кость## 2 4
сумма(
кубиков)
## 6
Что произойдет, если вы вызовете dice
несколько раз? Будет ли R каждый раз генерировать новую пару значений кубиков? Давай попробуем:
кубиков## 2 4
игральная кость## 2 4
игральная кость## 2 4
Нет.Каждый раз, когда вы вызываете dice
, R покажет вам результат того, что вы один раз вызывали sample
и сохранили результат в dice
. R не будет повторно запускать sample (die, 2, replace = TRUE)
, чтобы создать новый бросок кубиков. Это в некотором роде облегчение. После сохранения набора результатов в объект R эти результаты не изменяются. Программирование было бы довольно сложным, если бы значения ваших объектов менялись каждый раз, когда вы их вызывали.
Однако было бы удобно иметь объект, который может перебрасывать кости всякий раз, когда вы его вызываете.Вы можете создать такой объект, написав свою собственную функцию R.
Написание собственных функций
Напомним, у вас уже есть рабочий R-код, имитирующий бросание пары игральных костей:
die<-
1
:
6
кубик<-
образец(
кубик, размер
=
2
,
заменить=
ИСТИНА
)
сумма(
кубиков)
Вы можете повторно ввести этот код в консоль в любое время, когда захотите перебросить кубик.Однако это неудобный способ работы с кодом. Было бы проще использовать ваш код, если бы вы обернули его в отдельную функцию, что мы и сделаем сейчас. Мы собираемся написать функцию под названием roll
, которую вы можете использовать для броска виртуальных игральных костей. Когда вы закончите, функция будет работать следующим образом: каждый раз, когда вы вызываете roll ()
, R будет возвращать сумму бросков двух кубиков:
roll()
## 8
рулон()
## 3
рулон()
## 7
Функции могут показаться загадочными или причудливыми, но это просто еще один тип объекта R.Вместо данных они содержат код. Этот код хранится в специальном формате, который упрощает повторное использование кода в новых ситуациях. Вы можете написать свои собственные функции, воссоздав этот формат.
Каждая функция в R состоит из трех основных частей: имени, тела кода и набора аргументов. Чтобы создать свою собственную функцию, вам необходимо воспроизвести эти части и сохранить их в объекте R, что вы можете сделать с помощью функции function
function. Для этого вызовите функцию ()
и поставьте за ней пару фигурных скобок: {}
:
my_function<-
function
()
{}
функция
построит функция из любого кода R, который вы поместите в фигурные скобки.Например, вы можете превратить свой код игральной кости в функцию, позвонив:
roll<-
function
()
{
матрица<-
1
:
6
кубик<-
образец(
кубик, размер
=
2
,
заменить=
ИСТИНА
)
сумма(
кубиков)
}
Обратите внимание, что я заключил каждую строку кода между фигурными скобками.Это упрощает чтение кода для вас и меня, но не влияет на его работу. R игнорирует пробелы и разрывы строк и выполняет одно полное выражение за раз.
Просто нажимайте клавишу Enter между строками после первой скобки, {
. R будет ждать, пока вы наберете последнюю скобку, }
, прежде чем он ответит.
Не забудьте сохранить вывод функции
в объект R. Этот объект станет вашей новой функцией. Чтобы использовать его, напишите имя объекта и заключите его в открывающую и закрывающую круглые скобки:
roll()
## 9
Вы можете думать о круглых скобках как о «триггере», который заставляет R запускать функцию.Если вы введете имя функции без скобок , R покажет вам код, который хранится внутри функции. Если вы введете имя с в круглых скобках, R запустит этот код:
roll.## функция () {
## die <- 1: 6
## dice <- sample (die, size = 2, replace = TRUE)
## сумма (игральные кости)
##}
рулон()
## 6
Код, который вы помещаете внутри своей функции, известен как , тело функции.Когда вы запускаете функцию в R, R выполнит весь код в теле, а затем вернет результат последней строки кода. Если последняя строка кода не возвращает значение, ваша функция тоже не вернет, поэтому вы должны убедиться, что ваша последняя строка кода возвращает значение. Один из способов проверить это - подумать о том, что произойдет, если вы построчно прогоните тело кода в командной строке. Будет ли R отображать результат после последней строки или нет?
Вот код, который покажет результат:
кубиков1
+
1
sqrt(
2
)
И вот код, который не будет:
dice<-
sample(
die,
size=
2
,
replace=
ИСТИНА
)
два<-
1
+
1
a<-
sqrt(
2
)
Вы замечаете узор? Эти строки кода не возвращают значение в командную строку; они сохраняют значение объекта.
Что, если мы удалим одну строку кода из нашей функции и изменим имя die
на bone
, вот так?
рулон2<-
функция
()
{
кости<-
образец(
костей,
размер=
2
,
заменить=
ИСТИНА
)
сумма(
кубиков)
}
Теперь я получаю сообщение об ошибке при запуске функции.Функция нуждается в объекте кости
для выполнения своей работы, но не найден объект с именем кости
:
roll2()
## Ошибка в образце (кости, размер = 2, replace = TRUE):
## объект «кости» не найден
Вы можете предоставить костей
при вызове roll2
, если вы сделаете костей
аргументом функции. Для этого поместите имя костей
в круглые скобки, которые следуют за функцией
, когда вы определяете roll2
:
roll2<-
function
(
кости)
{
кости<-
образец(
костей,
размер=
2
,
заменить=
ИСТИНА
)
сумма(
кубиков)
}
Теперь roll2
будет работать до тех пор, пока вы предоставите костей
при вызове функции.Вы можете использовать это преимущество, чтобы бросать разные типы кубиков каждый раз, когда вы вызываете roll2
. Подземелья и драконы, вот и мы!
Помните, мы бросаем пары игральных костей:
roll2(
костей=
1
:
4
)
## 3
roll2(
костей=
1
:
6
)
## 10
roll2(
1
:
20
)
## 31
Обратите внимание, что roll2
все равно выдаст ошибку, если вы не укажете значение для аргумента bone
при вызове roll2
:
roll2()
## Ошибка в образце (кости, размер = 2, replace = TRUE):
## аргумент "кости" отсутствует, значение по умолчанию отсутствует.
Эту ошибку можно предотвратить, задав аргументу костей и
значение по умолчанию.Для этого задайте костей
равным значению при определении roll2
:
roll2<-
function
(
bone=
1
:
6
)
{
кости<-
образец(
костей,
размер=
2
,
заменить=
ИСТИНА
)
сумма(
кубиков)
}
Теперь вы можете указать новое значение для костей
, если хотите, и roll2
будет использовать значение по умолчанию, если вы этого не сделаете:
roll2()
## 9
Вы можете дать своим функциям столько аргументов, сколько захотите.Просто перечислите их имена через запятую в скобках, которые следуют за функцией ,
. Когда функция запускается, R заменяет каждое имя аргумента в теле функции значением, которое пользователь предоставляет для аргумента. Если пользователь не предоставит значение, R заменит имя аргумента значением аргумента по умолчанию (если вы его определили).
Подводя итог, функция
помогает вам создавать свои собственные R-функции. Вы создаете основной код для своей функции, записывая код между фигурными скобками, которые следуют за функцией ,
.Вы создаете аргументы для использования вашей функцией, указав их имена в скобках, которые следуют за функцией ,
. Наконец, вы даете своей функции имя, сохраняя ее вывод в объект R, как показано на рисунке 1-6.
После того, как вы создали свою функцию, R будет обрабатывать ее, как и любую другую функцию в R. Подумайте, насколько это полезно. Вы когда-нибудь пробовали создать новую опцию Excel и добавить ее в строку меню Microsoft? Или новую слайд-анимацию и добавить ее в параметры Powerpoint? Когда вы работаете с языком программирования, вы можете делать такие вещи.По мере того, как вы научитесь программировать на R, вы сможете создавать для себя новые, настраиваемые, воспроизводимые инструменты, когда захотите. Часть III научит вас гораздо больше о написании функций в R.
Рисунок 1-6. Каждая функция в R состоит из одних и тех же частей, и вы можете использовать функцию для создания этих частей.
Что делать, если вы снова захотите отредактировать roll2
? Вы можете вернуться и повторно ввести каждую строку кода в roll2
, но было бы намного проще, если бы у вас был черновик кода, с которого можно было бы начать.Вы можете создать черновик своего кода по ходу работы, используя сценарий R . Сценарий R - это просто текстовый файл, в который вы сохраняете код R. Вы можете открыть сценарий R в RStudio, выбрав Файл> Новый файл> Сценарий R
в строке меню. RStudio откроет новый скрипт над панелью консоли, как показано на рисунке 1-7.
Я настоятельно рекомендую вам написать и отредактировать весь код R в сценарии, прежде чем запускать его в консоли. Почему? Эта привычка создает воспроизводимые записи вашей работы.Когда вы закончите в течение дня, вы можете сохранить свой сценарий, а затем использовать его для повторного запуска всего анализа на следующий день. Сценарии также очень удобны для редактирования и корректуры вашего кода, и они делают хорошую копию вашей работы, которой можно поделиться с другими. Чтобы сохранить сценарий, щелкните панель сценариев, а затем перейдите к Файл> Сохранить как
в строке меню.
RStudio имеет множество встроенных функций, упрощающих работу со сценариями. Во-первых, вы можете автоматически выполнить строку кода в сценарии, нажав кнопку «Выполнить», как показано на рис. 1-8.
R будет запускать любую строку кода, на которой находится курсор. Если у вас выделен весь раздел, R запустит выделенный код. Кроме того, вы можете запустить весь сценарий, нажав кнопку «Источник». Не любите нажимать кнопки? Вы можете использовать Control + Return как ярлык для кнопки «Выполнить». На Mac это будет Command + Return.
Рисунок 1-7. Когда вы открываете сценарий R (Файл> Новый файл> Сценарий R в строке меню), RStudio создает четвертую панель над консолью, где вы можете писать и редактировать свой код.
Рисунок 1-8. Вы можете запустить выделенную часть кода в своем скрипте, если нажмете кнопку «Выполнить» в верхней части панели скриптов. Вы можете запустить весь сценарий, нажав кнопку «Источник».
Если вы не уверены в скриптах, скоро убедитесь. Писать многострочный код в однострочную командную строку консоли становится затруднительно. Давайте избежим этой головной боли и откроем ваш первый скрипт сейчас, прежде чем мы перейдем к следующей главе.
Функция извлечения
RStudio поставляется с инструментом, который может помочь вам создавать функции.Чтобы использовать его, выделите строки кода в сценарии R, которые вы хотите превратить в функцию. Затем щелкните Код > Извлечь функцию
в строке меню. RStudio запросит у вас имя функции, а затем заключит ваш код в вызов функции
. Он будет сканировать код на предмет неопределенных переменных и использовать их в качестве аргументов.
Вы можете дважды проверить работу RStudio. Он предполагает, что ваш код правильный, поэтому, если он делает что-то неожиданное, у вас может быть проблема в вашем коде.
Вы уже прошли большой путь. Теперь у вас есть виртуальный кубик, хранящийся в памяти вашего компьютера, а также ваша собственная функция R, которая бросает пару кубиков. Вы также начали говорить на языке R.
Как вы видели, R - это язык, который можно использовать для общения с компьютером. Вы пишете команды на R и запускаете их в командной строке, чтобы ваш компьютер мог их прочитать. Ваш компьютер иногда отвечает - например, когда вы совершаете ошибку, - но обычно он просто выполняет то, что вы просите, а затем отображает результат.
Двумя наиболее важными компонентами языка R являются объекты, которые хранят данные, и функции, которые манипулируют данными. R также использует множество операторов, таких как +
, -
, *
, /
и <-
, для выполнения основных задач. Как специалист по данным, вы будете использовать объекты R для хранения данных в памяти вашего компьютера, а также будете использовать функции для автоматизации задач и выполнения сложных вычислений. Мы рассмотрим объекты более подробно позже, в Части II, и подробнее остановимся на функциях в Части III.Словарь, который вы здесь разработали, облегчит понимание каждого из этих проектов. Однако мы еще не закончили с вашими кубиками.
В главе 2 вы запустите моделирование своих игральных костей и построите свои первые графики в R. Вы также рассмотрите два наиболее полезных компонента языка R: пакеты R , которые представляют собой наборы функций написана талантливым сообществом разработчиков R, и документация R, которая представляет собой набор встроенных в R страниц справки, которые объясняют каждую функцию и набор данных на языке.
Базовые команды Linux / Unix с примерами и синтаксисом
Управление файлами становится простым, если вы знаете правильную базовую команду в Linux.
Иногда команды также называют «программами», поскольку всякий раз, когда вы запускаете команду, это соответствующий программный код, написанный для команды, которая выполняется.
Давайте изучим основные команды Linux, которые необходимо знать, на примерах:
Щелкните здесь, если видео недоступно
Листинговые файлы (ls)
Если вы хотите увидеть список файлов в вашей системе UNIX или Linux, используйте команду « ls» .
Показывает файлы / каталоги в вашем текущем каталоге.
Примечание:
- Справочники обозначены синим цветом.
- Файлы обозначаются белым цветом.
- Вы найдете похожие цветовые схемы в разных версиях Linux.
Предположим, в вашей папке «Музыка» есть следующие подкаталоги и файлы.
Вы можете использовать ‘ls -R’, чтобы показать все файлы не только в каталогах, но и в подкаталогах.
ПРИМЕЧАНИЕ. Эти основные команды Linux чувствительны к регистру.Если вы введете « ls - r », вы получите сообщение об ошибке.
«ls -al» дает подробную информацию о файлах. Команда предоставляет информацию в виде столбцов. Столбцы содержат следующую информацию:
1 st Колонна | Тип файла и права доступа |
---|---|
2 nd Колонна | # жестких ссылок на файл |
3 ряд Колонна | Владелец и создатель файла |
4 -я Колонна | Группа собственника |
5 -я Колонна | Размер файла в байтах |
6 -е Колонна | Дата и время |
7 -я Колонна | Имя каталога или файла |
Давайте посмотрим на пример -
Список скрытых файлов
Скрытые элементы в UNIX / Linux начинаются с -
в начале файла или каталога.Любой каталог / файл, начинающийся с ".", Не будет виден, если вы этого не запросите. Для просмотра скрытых файлов используйте команду.
ls -a
Создание и просмотр файлов
Серверная команда cat используется для отображения текстовых файлов. Его также можно использовать для копирования, объединения и создания новых текстовых файлов. Посмотрим, как это работает.
Чтобы создать новый файл, используйте команду
- кошка> имя файла
- Добавить контент
- Нажмите «ctrl + d», чтобы вернуться в командную строку.
Для просмотра файла используйте команду -
имя кошки
Давайте посмотрим на только что созданный файл -
Посмотрим еще один файл sample2
Синтаксис для объединения 2 файлов -
cat файл1 файл2> новое имя файла
Объединим образец 1 и образец 2.
Как только вы вставляете эту команду и нажимаете Enter, файлы объединяются, но вы не видите результата.Это связано с тем, что Bash Shell (Terminal) - это тихий тип . Команды оболочки никогда не выдадут вам подтверждающее сообщение, такое как «ОК» или «Команда успешно выполнена». Он будет показывать сообщение только в том случае, если что-то пойдет не так или произошла ошибка.
Для просмотра нового комбинированного файла «образец» используйте команду
кот образца
Примечание: С помощью этой команды можно отображать и объединять только текстовые файлы.
Удаление файлов
Команда «rm» удаляет файлы из системы без подтверждения.
Для удаления файла используйте синтаксис -
rm имя файлаКак удалить файлы с помощью команд Linux / Unix
Перемещение и переименование файлов
Чтобы переместить файл, используйте команду.
mv имя_файла new_file_location
Предположим, мы хотим переместить файл «sample2» в папку / home / guru99 / Documents. Выполнение команды
мв образец2 / home / guru99 / Документы
Командеmv требуется разрешение суперпользователя.В настоящее время мы выполняем команду от имени обычного пользователя. Следовательно, мы получаем указанную выше ошибку. Чтобы преодолеть ошибку, используйте команду.
sudo command_you_want_to_executeПрограмма
Sudo позволяет обычным пользователям запускать программы с привилегиями безопасности суперпользователя или root.
Команда Sudo запросит аутентификацию по паролю. Однако вам не нужно знать пароль root. Вы можете указать свой собственный пароль. После аутентификации система вызовет запрошенную команду.
Sudo ведет журнал каждого запуска команды. Системные администраторы могут отслеживать человека, ответственного за нежелательные изменения в системе.
guru99 @ VirtualBox: ~ $ sudo mv sample2 / home / quru99 / Документы [sudo] пароль для guru99: **** guru99 @ VirtualBox: ~долларов
Для переименования файла:
mv имя_файла новое_имя_файла
ПРИМЕЧАНИЕ : По умолчанию пароль, который вы ввели для sudo, сохраняется в течение 15 минут для каждого терминала. Это избавляет от необходимости вводить пароль снова и снова.
Вам нужны только привилегии root / sudo, только если команда включает файлы или каталоги, не принадлежащие пользователю или группе, выполняющей команды
Манипуляции с каталогом
Управление каталогом в Linux / UnixДовольно файловых манипуляций! Давайте изучим некоторые команды Linux для управления каталогами с примерами и синтаксисом.
Создание каталогов
Каталоги могут быть созданы в операционной системе Linux с помощью следующей команды
mkdir имя-директора
Эта команда создаст подкаталог в вашем текущем рабочем каталоге, который обычно является вашим «Домашним каталогом».
Например,
мкдир mydirectory
Если вы хотите создать каталог в другом месте, кроме «Домашнего каталога», вы можете использовать следующую команду -
мкдир
Например:
мкдир / tmp / МУЗЫКА
создаст каталог «Музыка» в каталоге «/ tmp»
Вы также можете создать более одного каталога за раз.
Удаление каталогов
Для удаления каталога используйте команду -
rmdir имя-директора
Пример
rmdir mydirectory
удалит каталог mydirectory
Совет : Убедитесь, что в каталоге, который вы хотите удалить, нет файла / подкаталога.Прежде чем удалять родительский каталог, сначала удалите файлы / подкаталог.
Переименование каталога
Команда ‘mv’ (перемещение) (описанная ранее) также может использоваться для переименования каталогов. Используйте формат, указанный ниже:
mv имя директора новое имя каталога
Попробуем:
Как переименовать каталог с помощью команд Linux / Unix Другие важные командыКоманда «Человек»
Man означает руководство, которое является справочником по операционной системе Linux.Он похож на файл HELP, который есть в популярных программах.
Чтобы получить помощь по любой непонятной команде, введите
человек
Терминал откроет страницу руководства для этой команды.
Например, если мы наберем man man и нажмем Enter; терминал предоставит нам информацию о команде man
Команда истории
КомандаHistory показывает все основные команды в Linux, которые вы использовали в прошлом для текущего сеанса терминала.Это может помочь вам обратиться к старым командам, которые вы ввели, и снова использовать их в своих операциях.
Команда очисткиЭта команда убирает весь беспорядок на терминале и дает вам чистое окно для работы, как при запуске терминала.
Вставка команд в терминал
Часто вам приходилось вводить длинные команды в Терминале. Что ж, временами это может раздражать, и если вы хотите избежать такой ситуации, скопируйте, вставка команд может помочь.
Для копирования текста из источника вы должны использовать Ctrl + c, , но для вставки его в Терминал вам нужно использовать Ctrl + Shift + p . Вы также можете попробовать Shift + Insert или выбрать Edit> Paste в меню
ПРИМЕЧАНИЕ. С обновлениями Linux эти ярлыки постоянно меняются. Вы можете установить предпочитаемые сочетания клавиш через «Терминал»> «Редактировать»> «Сочетания клавиш».
Печать в Unix / Linux
Как распечатать файл с помощью команд Linux / UnixДавайте попробуем некоторые основные команды Linux с примерами того, что может печатать файлы в желаемом формате.Более того, ваш исходный файл никак не зависит от форматирования, которое вы выполняете. Давайте узнаем об этих командах и их использовании.
Щелкните здесь, если видео недоступно
Команда «пр»
Эта команда помогает отформатировать файл для печати на терминале. С помощью этой команды доступно множество команд терминала Linux, которые помогают внести желаемые изменения формата в файл. Наиболее часто используемые команды Unix « pr» с примерами перечислены ниже.
Опция | Функция | |
---|---|---|
-Икс | Делит данные на столбцы «x» | |
-h «заголовок» | Назначает значение «header» как заголовок отчета. | |
-t | Не печатает заголовок и верхнее / нижнее поля. | |
-d | Двойные пробелы в выходном файле | |
-n | Обозначает всю строку цифрами | |
-l длина страницы | Определяет строки (длину страницы) на странице.По умолчанию 56 | |
-o маржа | Форматирует страницу по номеру поля |
Давайте попробуем некоторые варианты и изучим их эффекты.
Разделение данных на столбцы
« Tools» - это файл (показан ниже).
Мы хотим, чтобы его содержимое было расположено в трех столбцах. Синтаксис для того же будет:
pr -x Имя файла
Параметр «-x» с командой «pr» разделяет данные на x столбцов.
Назначение заголовка
Синтаксис:
pr -h "Заголовок" Имя файла
Параметр «-h» назначает значение «заголовок» в качестве заголовка отчета.
Как показано выше, мы расположили файл в 3 столбца и присвоили заголовок
Обозначение всех строк цифрами
Синтаксис:
pr -n Имя файла
Эта команда обозначает все строки в файле числами.
Это некоторые параметры команды «pr», которые можно использовать для изменения формата файла.
Печать файла
Когда вы закончите форматирование , и пришло время получить бумажную копию файла, вам необходимо использовать следующую команду:
lp Имя файла
или
lpr Имя файла
Если вы хотите распечатать несколько копий файла, вы можете использовать модификатор числа.
Если у вас настроено несколько принтеров, вы можете указать конкретный принтер с помощью модификатора принтера
Установка программного обеспечения
В Windows установка программы выполняется путем запуска программы установки.exe файл. Установочный комплект содержит программу, а также различные зависимые компоненты, необходимые для правильной работы программы.
При использовании основных команд Linux / Unix установочные файлы в Linux распространяются в виде пакетов. Но в пакете находится только сама программа. Любые зависимые компоненты должны быть установлены отдельно, которые обычно доступны как сами пакеты.
Для установки или удаления пакета можно использовать команды apt .Давайте обновим все установленные пакеты в нашей системе с помощью команды -
sudo apt-get update
Самый простой и популярный способ установки программ в Ubuntu - использовать Центр программного обеспечения, поскольку в нем доступно большинство пакетов программного обеспечения, и он намного безопаснее, чем файлы, загруженные из Интернета.
Почтовая команда Linux
Для отправки писем через терминал вам необходимо установить пакеты mailutils.
Синтаксис команды -
sudo apt-get install имя пакета
После этого вы можете использовать следующий синтаксис для отправки электронного письма.
mail -s 'тема' -c 'cc-address' -b 'bcc-address' to-address '
Это будет выглядеть так:
Нажмите Cntrl + D, и вы закончите писать письмо. Письмо будет отправлено на указанный адрес.
Резюме:
- Вы можете отформатировать и распечатать файл прямо из терминала. Форматирование файлов не влияет на их содержимое.
- В Unix / Linux программное обеспечение устанавливается в виде пакетов.Пакет содержит саму программу. Любой зависимый компонент нужно скачивать отдельно.
- Вы также можете отправлять электронные письма с терминала, используя сетевые команды «mail» . Это очень полезная команда Linux.
Список команд Linux
Ниже приведена шпаргалка по основным командам Linux / Unix с примерами, которые мы изучили в этом руководстве по командам Linux
Команда | Описание | |
---|---|---|
лс | Выводит список всех файлов и каталогов в текущем рабочем каталоге. | |
л.с - R | Также перечисляет файлы в подкаталогах. | |
л.с - а | Также выводит скрытые файлы | |
LS - al | Список файлов и каталогов с подробной информацией, такой как разрешения, размер, владелец и т. Д. | |
cat> имя файла | Создает новый файл | |
имя кошки | Показывает содержимое файла | |
кот файл1 файл2> файл3 | Объединяет два файла (файл1, файл2) и сохраняет вывод в новом файле (файл3) | |
mv file «новый путь к файлу» | Перемещает файлы в новое место. | |
mv имя_файла имя_нового_файла | Переименовывает файл в новое имя. | |
судо | Позволяет обычным пользователям запускать программы с привилегиями безопасности суперпользователя или root | |
rm имя файла | Удаляет файл | |
человек | Предоставляет справочную информацию по команде. | |
история | Предоставляет список всех прошлых базовых команд Linux, набранных в текущем сеансе терминала. | |
прозрачный | Очищает терминал | |
mkdir имя директора | Создает новый каталог в текущем рабочем каталоге или по указанному пути | |
rmdir | Удаляет каталог | |
мв | Переименовывает каталог | |
пр-х | Делит файл на x столбцов | |
пр-ч | Назначает заголовок файлу | |
пр -н | Обозначает файл номерами строк. | |
LP-NC LPR C | Печатает «c» копий файла. | |
лп-д лпр -П | Задает имя принтера. | |
apt-get | Команда, используемая для установки и обновления пакетов | |
mail -s ‘subject’ -c ‘cc-address’ -b ‘bcc-address’ ‘to-address’ | Команда для отправки электронной почты | |
mail -s «Тема» на адрес <Имя файла | Команда для отправки электронной почты с вложением |
Загрузить руководство по Linux PDF
Что такое синтаксис? (Определение синтаксиса)
В компьютерном мире синтаксис команды относится к правилам, по которым команда должна быть запущена, чтобы часть программного обеспечения могла ее понять.
Например, синтаксис команды может диктовать чувствительность к регистру и доступные варианты, которые заставляют команду работать по-разному.
Без правильного синтаксиса слова и другие символы, составляющие команду, не будут объединены в последовательность, которая имеет смысл. Результатом плохого синтаксиса является неспособность читателя синтаксиса понять, что он пытается передать.
Синтаксис похож на язык
LifewireЧтобы лучше понять синтаксис компьютера, представьте его как язык, например английский, немецкий, испанский и т. Д.
Язык Синтаксис требует, чтобы определенные слова и знаки препинания использовались правильно, чтобы человек, слышащий или читающий слова, мог их правильно понять. Если слова и символы помещены в предложение неправильно, его будет очень трудно понять.
Как и в случае с языком, структура или синтаксис компьютерной команды должна быть закодирована или выполнена идеально, чтобы ее можно было понять, со всеми словами, символами и другими символами, расположенными правильно.
Почему важен синтаксис?
Ожидаете ли вы, что кто-то, кто читает и говорит только по-русски, понимает по-японски? А как насчет того, кто понимает только английский, чтобы читать слова, написанные на итальянском?
Точно так же разные программы (как и разные языки) требуют разных правил, которым необходимо следовать, чтобы программа (или человек, говорящий на языке) могла интерпретировать ваши запросы.
Например, вы бы не сказали "Я спустился с холма большим.", потому что это вряд ли имеет смысл, учитывая правила, которые англоговорящие люди должны понимать, когда дело доходит до понимания слов. То же самое верно и для синтаксиса команд, потому что программа, читающая синтаксис, понимает его только тогда, когда он настроен определенным образом, как вы увидим ниже.
Когда дело доходит до работы с компьютерными командами, важно не упускать из виду синтаксис, потому что даже крошечная, кажущаяся приемлемой ошибка в синтаксисе будет означать, что компьютер не может понять, что именно вам нужно.
Давайте посмотрим на команду ping как на пример правильного и неправильного синтаксиса. Наиболее распространенный способ использования команды ping - выполнение ping , за которым следует IP-адрес, например:
пинг 192.168.1.1
Этот синтаксис верен на 100 процентов, и, поскольку он правильный, интерпретатор командной строки, возможно, командная строка в Windows, может понять, что мы хотим проверить, может ли компьютер взаимодействовать с этим конкретным устройством в сети.
Однако команда , а не будет работать, если мы изменим текст и поместим сначала IP-адрес, а затем слово ping , например:
192.168.1.1 пинг
Мы используем неправильный синтаксис, поэтому, хотя команда выглядит примерно так, как должна, она не будет работать вообще, потому что компьютер не знает, как с ней справиться.
Часто говорят, что компьютерные команды с неправильным синтаксисом имеют синтаксическую ошибку и не будут выполняться должным образом, пока синтаксис не будет исправлен.
Хотя это, безусловно, возможно с более простыми командами (как вы видели с ping ), у вас гораздо больше шансов столкнуться с синтаксической ошибкой, поскольку компьютерные команды становятся все более и более сложными. Просто посмотрите на эти примеры команд форматирования, чтобы понять, что мы имеем в виду.
Синтаксические ошибки не ограничиваются только командами, подобными только что упомянутым, но и любым другим языком программирования, таким как HTML или JavaScript. Только подумайте, сколько потенциальных синтаксических ошибок может быть сделано при кодировании чего-то вроде целой операционной системы, такой как Windows XP, для чего требовалось 45 миллионов строк кода!
Вы можете видеть только в этом одном примере с ping , что очень важно уметь не только правильно читать синтаксис, но, конечно, уметь его идеально применять.
Правильный синтаксис с командами командной строки
Каждая команда делает что-то свое, поэтому у каждой их синтаксис разный. Просмотр нашей таблицы команд командной строки - это быстрый способ узнать, сколько команд в Windows, каждая из которых имеет определенные правила, применимые к тому, как их можно использовать.
Командный синтаксис имеет очень специфические правила, которые описывают, как конкретная команда может или не может быть выполнена.
Спасибо, что сообщили нам!
Расскажите, почему!
Другой Недостаточно подробностей Трудно понятьОСНОВНЫХ команд
Этот документ любезно воспроизведен Томасом Курцем
Оригинальная оригинальная версия
Dartmouth BASIC произвел революцию в компьютерном программировании для неспециалистов, которых намного больше, чем экспертов! Это был простой язык, в котором использовались английские слова, и он давал почти мгновенный ответ в те дни, когда изменение часов или даже дней было нормой.
В этой заметке дается краткое описание языка для тех из вас, кто знаком с программированием.
Thomas E. Kurtz
2005 26 октября
Заявления
В исходном BASIC было пятнадцать типов операторов.
LET Представляет оператор присваивания и является обязательным.
PRINT Обеспечивает вывод в произвольной форме.
END Требуется
READ Присваивает значения переменным из внутренних данных
DATA Вводит внутренние данные
GOTO Делает именно это, передает в другой оператор с пронумерованной строкой
IF Дает условный GOTO
FOR Представляет конструкцию цикла
NEXT Завершает конструкцию цикла
GOSUB выполняет переход к подпрограмме
RETURN Возврат с конца подпрограммы
DEF Представляет функции, определяемые программистом
DIM Позволяет определять размеры массивов
REM Предоставляет комментарии
STOP То же, что и выполнение оператора END
Кроме того, немного более новая версия BASIC, которую мы используем, включает оператор INPUT.x
INT Целая часть (с усечением в сторону 0)
LOG Натуральный логарифм
RND Следующее случайное число
SIN Синус
SQR Корень квадратный
TAN Тангенс
Предполагается, что аргументы для SIN, COS, TAN и значение из ATN указаны в радианах.
Сообщения об ошибках выдаются для аргументов, выходящих за пределы диапазона функций LOG и SQR, хотя SQR затем предоставляет SQR абсолютного значения.
Функция RND нуждалась в фиктивном аргументе, чтобы обойти сканер синтаксиса.То есть RND (0). Аргумент игнорируется.
Переменные
Имена переменных могут состоять из одной буквы или одной буквы, за которой следует одна цифра. Это обеспечивает 286 возможных имен переменных.
Массивы
Одна буква, за которой следует «(», обозначает элемент массива, который может быть одно- или двумерным. Без оператора DIM размеры по умолчанию составляют от 0 до 10 для каждого измерения.
Оператор DIM допускает другие верхние пределы, но всегда предоставляется нулевой элемент.
ПЕЧАТЬ Заявлений
Оператор PRINT допускает использование нескольких величин, включая строки в кавычках, разделенных запятыми (,) или точками с запятой (;). Если через запятую, БЕЙСИК переходит в начало следующей зоны. Зоны имеют ширину 15 знаков. Если поставить точку с запятой, BASIC не перемещается, а начинает следующий элемент с следующего пробела.
Числовые значения печатаются либо с пробелом в начале, либо со знаком минус, а также с пробелом в конце. Таким образом, числовые значения в операторе PRINT с точкой с запятой в качестве разделителя будут иметь хотя бы один пробел между значениями.Кроме того, числовые значения всегда будут давать количество символов, кратное трем. Таким образом,
PRINT 12; 34; 56
произведет
12 34 56
Хотя строкового типа данных нет, строки в кавычках разрешены в операторах PRINT. Если строка в кавычках и числовое значение разделены точкой с запятой в операторе PRINT, точку с запятой можно опустить.
Если длина печатной строки превышает 75 символов, автоматически вводится конец строки.Иногда мы говорим, что МАРЖА 75.
Определенные функции
Пользователь может определить до 26 новых функций, дав им имена от FNA до FNZ. Каждая такая функция представлена ключевым словом DEF. Аргумент должен быть ровно один. Имя переменной, используемое в качестве аргумента, отличается от переменной с таким же именем в остальной части программы. Определение функции должно быть одной строкой следующего вида:
DEF FNX (X) = <выражение>
Выражение должно содержать X, если значение функции не зависит от аргумента; выражение может содержать другие переменные из программы.2/2)) / SQR (2 * 3,14159265)
130
140 ДЛЯ X = -2 К 2 ШАГУ. 1
150 ПОЗВОНИТЬ Y = FNN (X)
160 ПОЗВОНИТЬ Y = INT (100 * Y)
170 ДЛЯ Z = 1 К Y
180 ПЕЧАТЬ "";
190 ДАЛЕЕ Z
200 ПЕЧАТЬ "*"
210 ДАЛЕЕ X
220 КОНЕЦ
100 REM GUESSING GAME
110
120 ПЕЧАТЬ «УГАДАЙТЕ ЧИСЛО ОТ 1 ДО 100».
130
140 ПОЗВОЛЯТЬ X = INT (100 * RND (0) +1)
150 ПОЗВОЛЯТЬ N = 0
160 ПЕЧАТЬ «ВАША УГАДА»;
170 ВВОД G
180 ПОЗВОЛЯТЬ N = N + 1
190 ЕСЛИ G = X ТО 300
200 ЕСЛИ G
220 GOTO 160
230
250 ПЕЧАТЬ «СЛИШКОМ МАЛЕНЬКИЙ , УГАДАЙТЕ СНОВА "
260 GOTO 160
270
300 ПЕЧАТЬ" ВЫ УГАЛИ, IN "; N; «ПЫТАЕТСЯ»
310 ПЕЧАТЬ «ДРУГАЯ ИГРА (ДА = 1, НЕТ = 0)»;
320 ВВОД A
330 ЕСЛИ A = 1 ТО 140
340 ПЕЧАТЬ «СПАСИБО ЗА ИГРУ»
350 КОНЕЦ
Команды
Хотя это и не является частью BASIC, команды операционной системы включают в себя следующее:
HELLO Начать новый сеанс, ввести свой номер пользователя
NEW Начать новую программу
OLD Получить программу из хранилища
SAVE Сохранить текущую программу в хранилище
REPLACE Сохранить текущую программу в хранилище, перезаписав старую версию
RENAME Переименовать текущую программу
CAT Перечислить имена ваших сохраненных программ (сокращенно CATALOG)
LIST Перечислить текущую программу
RUN Запустить текущую программу
STOP Остановить текущий запуск программы (в случае бесконечного цикла)
UNSAVE Отменить сохранение текущей программы
СИСТЕМА Назовите систему - ограничено БАЗОВЫМ (по умолчанию) или АЛГОЛОМ
BYE Завершить сеанс
До свидания То же, что BYE
Все команды могут быть сокращены до первых трех букв.
За командами NEW, OLD и RENAME может следовать имя программы. В противном случае операционная система запросит у вас название программы. За командой SYSTEM может следовать BASIC или ALGOL. В противном случае операционная система запросит имя системы. (Как и команды, имена систем могут быть сокращены до трех букв.)
Кроме того, команда SPEED позволяет указать скорость телетайпа для более реалистичного моделирования. Таким образом, SPEED 10 замедлит работу примерно до 10 символов в секунду.
Заявление об ограничении ответственности
Это краткое руководство описывает версию BASIC, включенную в эмуляцию. Межстрочный интервал и ответ «ГОТОВ», предоставляемый Datanet-30, могут быть не совсем правильными. DTSS также поддерживает Algol.
.