Конспект курса Learn the Command Line часть 1
В данном курсе лекций мы познакомимся с основами работы в командной строке Linux.
Курс называется Learn the Command Line, и пройти его можно тут.
Очень часто командная строка нужна для выполнения различных действий над сайтами. Почти все хостинги предоставляют удобный web-интерфейс, поэтому большинство пользователей обходит стороной работу в консоли. Что в корне неправильно.
Попасть в консоль удалённого сервера можно при помощи любого SSH-клиента. Самый распространённый - это PuTTY. Если вы работаете на локальной машине - то консоль(терминал) уже установлены. Если у вашего линукса нет оболочки - то вы всегда находитесь в консоли.
Навигация
Самая распространённая команда - это ls - она выведет на экран список файлов и папок в текущей директории.
В текущей директории есть файл hardware.txt и папки(или файлы) 2014 и 2015.
Сразу же возникает вопрос - как понять какая у вас текущая директория? Для этого есть команда pwd. Её можно ввести в любой момент и узнать текущую директорию.
Команда pwd выдала /home/ccuser/workspace/blog - именно в этой папке я сейчас нахожусь.
Для перехода в другую директорию используется команда cd
После команды cd через пробел пишется путь, по которому надо перейти. Если начать писать его со слэша - то директория будет искаться из корня сервера. Если писать без слэша - то относительно текущей папки.
Перейдём в папку 2015
cd 2015
Можно сразу указать несколько вложенных папок. Например:
cd jan/memory
Если вместо директории поставить две точки - то вы подниметесь на одну директорию вверх
cd ..
Вообще двоеточие можно использовать как обыкновенную папку. То есть двоеточие может быть частью адреса. Например:
cd ../feb
Данная запись означает, что я хочу подняться на один уровень вверх, и там найти папку feb и перейти в неё.
Создание директорий и файлов
Для создания папки следует использовать команду mkdir
Также, после неё указываете имя папки(при необходимости путь к ней).
Например так можно создать папку media:
mkdir media
Создать файл можно командой touch
touch keyboard.txt
Расширенные возможности навигации
В начале урока мы познакомились с командой ls. Результат её работы достаточно скуден и не показывает всей картины. Например он не показывает скрытые файлы, их размер и права. Решается это передачей аргументов команде ls. Передаются они через пробел и начинаются с дефиса. Каждый аргумент - это одна буква. Все аргументы пишутся слитно.
Например:
ls -a
Покажет скрытые файлы
ls -l
Выведет права на файл, хозяина файла и дату создания.
Аргумент t отсортирует файлы по дате создания. r Отсортирует по дате создания, но от обратном порядке.
Все эти аргументы прекрасно комбинируются.
Копирование файлов
Скопировать файл можно командой cp.
После неё через пробел указываются исходный файл и файл назначения.
Например такая команда скопирует файл frida.txt в файл lincoln.txt
cp frida.txt lincoln.txt
При копировании также можно указывать пути файлов:
cp biopic/cleopatra.txt historical/
Такая команда скопирует файл cleopatra.txt из папки biopic в папку historical.
Можно скопировать сразу несколько файлов.
Например:
cp biopic/ray.txt biopic/notorious.txt historical/
Такая команда скопирует файлы ray.txt и notorious.txt из папки biopic в папку historical
Если нам нужно скопировать файлы с похожими именами - то можно выбрать их все по маске.
Например скопировать все файлы с расширением .txt и начинающиеся на m можно так:
cp m*.txt scfi
так все файлы с расширением .txt и начинающиеся на m будут скопированы в папку scfi
Перенос файлов
Вырезать/вставить файлы можно командой mv.
Синтаксис у неё точно такой-же, как и у cp
mv cleopatra.txt pharaon.txt
Такая команда по сути переименует файл cleopatra.txt в pharaon.txt.
Удаление файлов
Для этих целей служит команда rm
Синтаксис опять же - схожий с предыдущими командами.
Например:
rm file.txt
Чтобы удалить папку с файлами - вам нужно удалить её рекурсивно. Для этого команде rm нужно передать аргумент r
rm -r slapstick
Такая команда удалит папку slapstick со всем её содержимым.
Если свести все изученные функции в одну диаграмму - получится следующее:
Моё мнение о курсе.
Курс объясняет очень важные фундаментальные вещи достаточно простым языком.
Освоить команды было легко. Особенно понравилось копирование сразу нескольких файлов, с таким синтаксисом я ранее не сталкивался. Если у вас нет опыта работы с командной строкой - обязательно пройдите этот курс.
P.S.
Изученный в данной лекции материал можно схематично представить в виде диаграммы.
Заглавное лого с сайта icon-icons.com
Конспект подготовлен для Академии Голоса @academy.