Школа Linux. Что можно сделать с командной строкой
Что можно делать в командной строке linux?
Сегодня речь в статье пойдет о том, что можно сделать в командной строке. Почему многие пользователи ОС linux и не только, боятся ее? Многие не хотят переходить на linux как только услышат эту магическую фразу. И даже уже начинающие пользователи Linux не хотят подружиться с командной строкой. Разработчики Linux - стараются упростить работу со своей операционной системой на столько, чтоб не было необходимости вводить команды с клавиатуры, а ведь на самом деле очень много настроек можно выполнить только через консоль. Наверное главной причиной всего этого можно назвать: переход из Windows, хотя даже и в ней она тоже присутствует, хотя немного заувалирована графической оболочкой. И второй причиной, как мне кажется, развитие оконных менеджеров в Linux, которые позволяют вообще командной строкой не пользоваться.
Командная строка - это сложно! Это наверное самый главный миф. Вспомните себя в начале своего компьютерного пути, ведь вам когда то и с мышкой было сложно управляться! Но ничего, справились!
Командная строка - это мне не нужно! Кто знает, кто знает, на данный момент может и действительно не нужно, но может прийти такой момент когда вам будет необходимо в командной строке скомпилировать ну очень нужную программку, и что, все - приплыли! Без основ вы не сможете это сделать никогда.
Потому, эту "страшную" командную строку надо изучать, на крайний случай просто познакомиться. Что же можно сделать в командной строке Linux? Многие пользователи и такой задают вопрос. Ответом на поставленный вопрос будет всего одно словов - ВСЕ! Да, да именно все, что вы можете сделать при помощи мышки и даже более. Скопировать файлы? Пожалуйста:
cp 1.jpg 2.jpg
Это простая на вид команда способно заменить более 6 кликов левой кнопкой мыши и более 3 правой. Да, да именно столько вы делаете чтобы скопировать файлы (если конечно не пользуетесь клавиатурными кмбинациями)
Установить программу? Тоже пожалуйста:
sudo apt-get install abiword
Эта, тоже далеко не сложная команда, установит вам на компьютер графический текстовый редактор AbiWord и не заикнется даже.
Ну а что говорить о таких консольных утилитах как текстовый редакторы nano, знаменитые Vi и EMACS?
Linux в начале своем была консольной операционной системой, поэтому команды введеные в командной строке, для нее как бы роднее!) Поэтому обязательно ознакомьтесь с консольными командами, хотя бы бегло, иначе может наступить такой момент, когда вы без использования командной строки не обойдетесь. Под конец я дам вам ссылочку на видеоуроки посвященные командной строке Linux: видеоуроки по командной строке linux
Related news items:
Newer news items:
Older news items:
shkola-linux.ru
Командная строка - с чего начать?
Для начала разберемся что такое командная строка. Коротко, это программа, которая обеспечивает процесс взаимодействия между пользователем и операционной системой посредством текстового интерфейса. Для взаимодействия с командной строкой мы будем использовать консольный эмулятор, он же "Терминал".
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
Конвеер
С его помощью мы можем передавать стандартный ввод-вывод по целой цепочке команд, т.е. то, что выводит на поток стандартного вывода предыдущий процесс, попадает в поток стандартного ввода следующего процесса. Это мы уже делали примере выше: