Created
August 18, 2013 18:38
-
-
Save anonymous/9378956452c8e4a72ac8 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Теперь про команды. Я не знаю, ты пользуешься Линуксом или Уиндоузом (обычно туториалы рассчитаны на линуксоидов и макосников, уиндоуз не модный среди молодежи). В макоси все практически так же как и в линуксе, в windows пошли своим путем и сделали все как в DOS. | |
Думаю, что в данном случае тебе поможет не рыба, а удочка, так что держи пасту. Если после прочтения у тебя будут какие-то вопросы, или по-прежнему непонятно, почему команды не работают, пиши в наш уютный тред, разберемся. | |
Краткий мануал чайника по командной строке: | |
**Как попасть в командную строку?** | |
Windows XP: Пуск — Выполнить — набрать cmd — нажать [enter] | |
Windows7: Пуск — набрать cmd - наждать [enter] | |
MacOS: Запустить приложение Терминал (его можно найти поиском в той фигне которая справа вверху экрана) | |
Ubuntu: Запустить приложение Терминал или нажать Ctrl + F1 (ааа как вернуться назад? Ctrl + F7) | |
Linux: если ты линуксоид, ты и так знаешь | |
**Во всех операционных системах** | |
^,v — стрелки вверх и вниз в командной строке позволяют смотреть предыдущие введенные команды, чтобы 2 раза не набирать | |
[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], чтобы в конец. | |
**Буфер обмена** | |
В командной строке не работает ctrl+v,c,x для вставки, копирования и вырезания текста. Иногда (зависит от настроек системы) вставить текст можно через [shift+ins], иногда правой кнопкой мыши. Скопировать текст можно, выделив мышью (в Windows надо разрешить выделение текста сначала в настройках окна и нажать Enter после выделения). | |
**Текущий каталог** | |
В командной строке результат выполнения команд зависит от того, в каком каталоге и на каком диске ты находишься. Какой каталог текущий, в Windows написано в подсказке, а в linux можно узнать командой pwd (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: | |
cd \ — перейти в корневой каталог | |
cd \windows\system32 | |
cd .. | |
cd ..\.. | |
Обрати внимание, windows и linux используют разные виды слешей. Обрати внимание, .. обозначает «родительский каталог». Обрати внимание, только в линукс ~ обозначает «домашний каталог». «.» (одна точка) обозначает текущий каталог и «cd .» никуда не перейдет. «/» или «\» обозначает корневой каталог. | |
**Очистка экрана** | |
В 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 | |
В Windows: dir /? — выведет справку по команде dir | |
**Виды команд** | |
Команды бывают внутренние (это маленький список команд, встроенных в оболочку). Встроенные команды — это, например, 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, не запустить. Только то, что положено в системные папки. | |
Таким образом: если ты под линуксом, и ты набираешm команду 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 | |
**Больше команд - 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 в интернете. | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment