Передбачається, що питання «навіщо?» Уже не варто. Мені в моїй роботі консоль потрібна для автоматизації збирання фронтенда (компіляція препроцесорів, збірка спрайтів, оптимізація коду і т.п.).
Будемо ставити Git Bash (Git - система контролю версій, він нам дуже знадобиться в роботі і поставляється з консоллю Git Bash) і cmder (емулятор консолі, що дозволяє використовувати кілька різних консолей, що має вкладки, нормальну роботу з буфером обміну та інші плюшки).
Чому не Power Shell
Power Shell - непогана консоль, вбудована в Windows. Однак, серед веб-розробників безліч користувачів OS X і Linux - ці ОС більш стабільні, безпечні, а Linux - ще і на пару порядків більш поширений на серверах, в порівнянні з Windows. На OS X і Linux «з коробки» є осудні консолі, мають багато спільного. Звикайте відразу до хорошого, функціональному і універсального.
Особисто я, по-перше, серйозно досліджую можливість винесення всієї роботи з автоматизацією фронтенда в віртуальну машину з Ubuntu (я б перейшов на Ubuntu повністю, але Photoshop не дозволяє), а по-друге, мій робочий комп'ютер Windows 10, а ноутбук - старенький MacBook Air і хочеться мати хоч якусь уніфікацію роботи з консоллю.
Як отримати нормальну консоль
Як використовувати отриману консоль
Тут важливо розуміти, з чим працюєш. Консоль - можливість «текстового» спілкування з комп'ютером: набираємо команду - отримуємо реакцію. Якщо набрана команда запускає якийсь постійно виконується процес (веб-сервер, наприклад), зупинити виконання можна по Ctrl + C. Так-так, той самий «копіювати». Як же скопіювати щось з консолі? - запитаєте Ви. З cmder - просто виділіть потрібний фрагмент мишею і він виявиться в буфері обміну. Crtl + V працює штатно ( «вставити»).
Найчастіше, ми набираємо якусь команду і переданий їй параметр (один або кілька) і / або ключі (вказівки як їй працювати). Іноді, відразу ж набираємо ще кілька команд, розділяючи їх символами (Команди будуть виконані в набраної послідовності, це не єдиний можливий роздільник).
Для команд, які використовуються часто, можна придумати скорочення (аліаси), щоб викликати їх швидше.
файлова система
Користувач завжди знаходиться в якійсь папці. Наприклад, Ви бачите в консолі: nikname @ computer / c / cmder - значить зараз Ви в папці C: / cmder. Щоб перейти в іншу папку, наберіть команду cd і вкажіть їй абсолютний або відносний шлях - куди переходити. Наприклад:
Щоб не набирати ім'я папки цілком, наберіть перші пару символів і натисніть Tab - відбудеться автодоповнення (якщо немає двох папок, які починаються з введених символів, інакше будуть показані самі ці папки).
Подивитися вміст папки дозволяє команда ls:
- ls - показати вміст папки
(Сортування по імені, папки і файли упереміш, кілька стовпців) - ls -a - то ж, але показувати і приховані файли і папки
- ls -a -1 - то ж, але в один стовпець
- ls -hF -1 --sort = extension - показати вміст папки «красиво, в один стовпець»
- ls build / css - показати вміст папки ТЕКУЩАЯ_ПАПКА / build / css
Створення папок і файлів - команди mkdir і touch.
- mkdir project - створити папку з ім'ям «project»
- mkdir project project / css project / js - створити кілька папок
- mkdir -p project / - те саме, що вище
- touch index.html - створити файл
- touch index.html css / style.css js / script.js - створити файли
(Папки css / і js / повинні вже існувати)
Перейменування або переміщення файлів - команда mv
- mv index.html old - переміщення файлу в папку
- mv index.html old / new_name.txt - переміщення файлу в папку з перейменуванням файлу
- mv order.txt orderNew.txt - перейменувати файл
Видалення папок і файлів - команда rm
- rm ghost.png - видалити файл
- rm -rf old - видалити папку і все з неї
Різні дрібниці (як натхнення для подальшого вивчення консольних команд):
- df -h - показати статистику використання простору на дисках
- grep -i -n --color 'carousel' index.html css / style.css - знайти слово carousel в двох зазначених файлах (з ігнор регістра), вивести рядки з цим словом і номера рядків (шукане слово підсвітити)
- find. -iname '* ind *' - знайти в цій папці (і підпапках) всі файли, імена яких містять ind і показати списком
- ls -a | tee file.txt - записати в file.txt результат виведення команди ls -a
Для команд можна створювати аліаси (синоніми). Для цього в файл C: /Users/ІМЯ_ПОЛЬЗОВАТЕЛЯ/.bashrc потрібно вписати рядки, на зразок alias subl = '/ c / Program \ Files / Sublime \ Text \ 3 / sublime_text.exe' $ * (один рядок в файлі - один алиас) . Наведений приклад створює команду subl. яка відкриває переданий їй файл або папку в Sublime Text 3 (буде працювати якщо шлях установки ST3 збігається з прописаним в аліас). Якщо цій команді нічого не передати, вона просто відкриє Sublime Text 3.
- alias pro = 'cd / d / projects' - перейти до папки d: / projects / (у мене це папка для всіх проектів)
- alias s = 'npm start' - скорочення для команди запуску сервера
- alias ls = 'ls -hF -1 --color = tty --sort = extension' - висновок файлової структури в стовпець, спочатку папки, потім файли, з колірною підсвічуванням
УВАГА: щоб аліаси, додані в c: /Users/ІМЯ_ПОЛЬЗОВАТЕЛЯ/.bashrc заробили, потрібно перезапустити консоль.
дрібні хитрощі
- показати або приховати консольКнопки клавіатури «стрілка вгору» і «стрілка вниз» - перехід з історії введених команд (зручно для повтору команди з трохи зміненими параметрами).
Можна використовувати команду subl index.html: 73 - відкриється вказаний файл і курсор поміститься на 73-й рядок (зручно після консольного пошуку по файлу). А по subl. в Sublime Text відкриється поточна папка (буде показана в сайдбарі).
Важливий момент
Не рекомендуються використовувати кириличні символи в імені та шляхи робочої папки (загальною папки для всіх проектів), так само як в папці з ім'ям користувача (яка c: /Users/ІМЯ_ПОЛЬЗОВАТЕЛЯ/.bashrc), бо на Windows це може викликати непередбачувану поведінку консольних утиліт ( да, краще створити нового користувача, якщо при установці Windows Ви вказали кириличне ім'я).
висновок
Якщо Ви вже використовуєте консоль на Windows, поділіться досвідом.