Командная строка представляет собой текстовый интерфейс для взаимодействия с компьютером.
Командная строка представляет собой текстовый интерфейс для взаимодействия с компьютером. Из командной строки вы можете запускать программы, просматривать файлы и управлять файловой системой, создавая, перемещая и копируя файлы и каталоги. Вы можете думать об этом как о Finder в Mac, без графического интерфейса, но гораздо более мощном.
На Mac вы можете получить доступ к командной строке, открыв Terminal
приложение, расположенное в/Applications/Utilities/Terminal
Чтобы начать работу в Windows, вам необходимо настроить подсистему Windows для Linux, которая позволяет вам запускать Ubuntu (дистрибутив Linux) из вашей текущей установки Windows 10. Следуйте этому руководству, чтобы сделать это . В качестве альтернативы вы можете установить Git для Windows , который включает в себя многие из команд, о которых я расскажу ниже.
Подсказка
Когда вы откроете приложение терминала, вы увидите что-то вроде этого:
SamsComputer:~ sam$
Это называется «подсказка». По умолчанию (на Mac) он показывает имя компьютера, каталог, в котором вы сейчас находитесь, ваше имя пользователя, а затем знак $.
Основное использование командной строки: 1) вы вводите команду, 2) вы нажимаете клавишу возврата, и 3) некоторый вывод команды выводится на экран.
Базовая навигация и операции с файлами
Обратите внимание, что я использую слова «каталог» и «папка» как синонимы.
Когда вы открываете новое окно терминала, вы попадаете в свою домашнюю папку. На Mac это /Users/myusername
и на Linux /home/myusername
.
Чтобы увидеть папку, в которой вы сейчас находитесь, введите:
pwd означает «распечатать рабочий каталог» или, другими словами, «показать мне каталог, в котором я сейчас работаю».
pwd
означает «печать рабочего каталога». Он распечатывает, где вы находитесь:
pwd
ls
означает «список». В нем отображается содержимое текущего каталога.
ls
Передвижение, создание, удаление и копирование файлов и папок.
cd
означает «изменить каталог». Введите cd , а затем каталог, в который вы хотите перейти. Например, перейдите на рабочий стол из домашней папки:
cd Desktop
Чтобы перейти в родительскую папку, на один уровень вверх в файловой структуре введите ..
или ../
вместо имени папки, например:
cd ..
Если вы введете cd
без имени папки после, вы вернетесь в свою домашнюю папку.
mkdir
означает создать каталог». Введите mkdir
, а затем имя, чтобы создать папку. Например, создайте папку с именем «cool_project»:
mkdir cool_project
mv
означает буквально «движение» или перемещение. Он позволяет перемещать файлы и папки, а также переименовывать их. Чтобы переименовать файл:
mv oldname.txt newname.txt
cp
означает «копировать». Это позволяет дублировать файлы:
cp draft.txt draft_copy.txt
rm
означает «удалить». Он позволяет удалять файлы:
rm bad_selfie.jpg
Обратите внимание, что неrm
будет запрашиваться подтверждение и файлы не будут перемещены в корзину. Он просто удалит их немедленно, так что будьте осторожны.
cat
означает «объединить» и показывает содержимое файла, а также позволяет объединить два файла вместе. Например, чтобы распечатать весь Коммунистический манифест:
cat manifesto.txt
more
похож, cat
но будет разбивать вывод на страницы, если он больше, чем размер окна вашего терминала:
more manifesto.txt
(теперь используйте стрелки вверх и вниз для перехода вверх или вниз по строке, пробел для перехода вниз на страницу и q
выхода при необходимости)
file
предоставляет основную информацию о файле:
file mysterfile.what
sort
сортирует файл в алфавитном порядке построчно и выводит результат на экран
sort names.txt
grep
ищет в каждой строке файла некоторый ввод и выводит эти строки на экран. Например, следующий поиск всех строк в коммунистическом манифесте, содержащих слово «коммунист».
grep Communist manifesto.txt
Параметры командной строки и получение справки
Большинство команд имеют дополнительные параметры, которые вы можете ввести при запуске команды. Обычно им предшествует одно или два тире ( -
или --
).
Структура типичной команды выглядит так:
command_name [options] arguments
(«аргументы» относятся к файлу или файлам, с которыми вы запускаете команду)
Например, sort
по умолчанию команда выводит в порядке возрастания, но вы можете использовать обратный порядок с -r
опцией, например:
sort -r manifesto.txt
Вы также можете указать sort
выводить только уникальные строки (т. е. удалить все повторяющиеся строки) с помощью -u
опции:
sort -u manifesto.txt
Наконец, вы можете комбинировать варианты:
sort -u -r manifesto.txt
Иногда опции имеют параметры. Например, cut
команда вырезает части каждой строки файла. Чтобы использовать его, вы должны указать символ-разделитель с -d
параметром и номер поля для извлечения с помощью -f
параметра. Чтобы получить первое слово каждой строки «Коммунистического манифеста», я мог бы ввести:
cut -d " " -f 1 manifesto.txt
Чтобы увидеть все параметры и просмотреть руководство для любой команды, используйте man
инструмент (сокращение от «вручную»)
man cut
Используйте клавиши со стрелками для навигации и q
выхода.
Трубопровод или направление выхода
Большинство команд выводят вывод на экран. Однако мы также можем автоматически сохранить этот вывод в файловой системе, используя символ, >
за которым следует имя файла.
Отсортируйте файл с именем «names.txt» и сохраните результат в новый файл с именем «sorted_names.txt»:
sort names.txt > sorted_names.txt
>
создаст файл, если он еще не существует, или перезапишет его, если он существует. Вместо этого вы можете использовать >>
для добавления в конец файла.
Unix также имеет очень мощную концепцию, называемую «каналами», которая позволяет нам объединять команды в цепочку, эффективно передавая вывод одной команды на ввод другой. Для этого воспользуемся |
символом, это ещё называют напишем через пайп.
Извлеките все строки Коммунистического манифеста, содержащие слово «Коммунист», затем отсортируйте их.
grep Communist manifesto.txt | sort -u
Здесь |
означает «взять вывод команды grep и отправить его на сортировку -u». Вы можете использовать столько каналов, сколько пожелаете, и комбинировать этот метод с перенаправлением вывода.
Извлеките все строки Коммунистического манифеста, содержащие «Коммунист», затем отсортируйте их, а затем сохраните в новый файл с именем «sorted_communists.txt».
grep Communist manifesto.txt | sort -u > sorted_communists.txt
Структура файловой системы
Все на вашем компьютере представляет собой либо файл, либо папку, и эти файлы и папки организованы иерархически, как дерево. В самом низу дерева находится «корневая папка», обозначенная косой чертой, например так /
. Вот базовый пример структуры каталогов:
Users/ sam/ Desktop/ trotsky.jpg the_man_without_qualities.txt Documents/ Downloads/ Guest/ Applications/ Volumes/
Каждый файл и папка имеют уникальное место в файловой системе. Это место называется «путь». Вы можете ссылаться на файлы и папки либо по их относительному пути, либо по их абсолютному или полному пути. В предыдущих примерах я использовал относительный путь, то есть я ссылался на файлы относительно того места, где я сейчас нахожусь. Путь является абсолютным, если он начинается с/
Например, абсолютный путь the_man_without_qualities.txt
в файловой системе выше — /Users/sam/Desktop/the_man_without_qualities.txt
. Я могу просмотреть содержимое этого файла из любого рабочего каталога с помощью этой команды:
more /Users/sam/Desktop/the_man_without_qualities.txt
Также есть несколько ярлыков для путей раздачи.
.
(одна точка) или './'
(одна точка с косой чертой) означает текущую папку, в которой я нахожусь.
..
(две точки) или ../
(две точки с косой чертой) означает родительскую папку. Например, если я нахожусь в папке «Рабочий стол» и хочу просмотреть содержимое папки «Загрузки», я могу ввести:
ls ../Downloads/
Подстановочные знаки
Также можно ссылаться на несколько файлов, используя этот *
символ в сочетании с другими символами. Это может быть очень полезно во многих ситуациях.
Например, можно перечислить все файлы, которые начинаются со слова «the», например:
ls the*
Список всех изображений jpg:
ls *.jpg
Создайте папку с именем images
и переместите в нее все изображения в формате jpeg:
mkdir images
mv *.jpg images/
Советы
Чтобы привыкнуть к командной строке, может потребоваться некоторое время, но есть несколько советов и приемов, которые значительно упростят ее использование.
- Используйте стрелки вверх и вниз для просмотра истории введенных вами команд.
- Нажмите клавишу табуляции для автозаполнения команд и путей к файлам.
- Введите
open
, а затем имя файла, чтобы открыть файл в программе по умолчанию. - Перетащите папку или файл на терминал, чтобы заполнить его абсолютный путь
- Введите
ctrl-a
, чтобы переместить курсор в начало строки иctrl-e
в конец - Введите
ctrl-r
, и начните ввод, чтобы воспользоваться поиском по вводимым ранее командам. Найдя почти подходящую можете нажимать ещё,ctrl-r
пока не найдётся именно та, которую вы ищите из вводимых ранее.
Вводимые ранее команды, также можно посмотреть с помощью команды history
Чтобы настроить историю терминала как можно более подробную и большую, например чтобы она не перезаписывалась, каждый раз, вы можете выполнить следующие шаги:
Откройте файл конфигурации Bash «.bashrc», расположенный в вашем домашнем каталоге, с помощью текстового редактора, такого как nano или vim:
Прокрутите вниз до раздела «Настройки истории» файла.
Чтобы увеличить размер истории, добавьте в файл следующую строку:
HISTSIZE=«число»
Замените «число» на желаемый размер истории. Например, чтобы установить размер истории на 10000 команд, используйте следующее:
Чтобы увеличить размер истории, добавьте в файл следующую строку:
HISTSIZE=10000
Чтобы история не удалялась вообще, т.е. была безлимитной, добавьте в файл следующую строку:
HISTSIZE=-1
Чтобы включить временные метки для каждой команды в истории, добавьте в файл следующую строку:
HISTTIMEFORMAT="%F %T"
Сохраните и закройте файл.
Чтобы применить изменения, выйдите из системы и войдите снова или выполните следующую команду:
-
- Roman Sakhno
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.