Каждый, кто хоть раз слышал заветное слово "Linux," знает, что в этой, весьма интересной ОС, все управляется при помощи консоли. Многих, кстати, консоль очень сильно пугает и является чуть ли не основной причиной того, что пользователи даже не осмеливаются посмотреть в сторону Ubuntu, Linux Mint и прочих. На самом ли деле терминал так страшен? Давайте разбираться.
Командная строка, оболочка, консоль - эти термины используются для обозначения взаимодействия человека-оператора с операционной системой. В операционных системах семейства Linux подобное взаимодействие обеспечивается оболочкой (shell). Наиболее распространенной из них, является оболочка проекта GNU bash (Bourne Again SHell). Bash основывается на оболочке Bourne (sh) созданной Стефеном Борном и включает в себя свойства множества других оболочек - C (csh), Korn (ksh), tc (tcsh).
Команды, являющиеся частью оболочки называются встроенными. Естественно, они могут отличаться для различных оболочек. Кроме того, в качестве команд используются имена исполняемых файлов. В качестве аргументов, командам передаются ключи или опции, состоящие из тире и одного или нескольких символов.
В пределах этой статьи рассмотрим самые важные и необходимые команды при повседневном использовании.
И первой я хочу представить команду ls.
Пример использования ls:
Основное предназначение этой команды - это вывод списка файлов и каталогов в текущей директории. Также, команда ls имеет несколько ключей, вот основные из них:
- -l - список в широком формате
- -h cовместно с -l и/или -s - вывод размеров в удобном для человека виде (например, 1K 234M 2G)
- -p - добавит индикатор / к каталогам
- -a - покажет скрытые файлы и каталоги, имя которых начинается на "."
Ключи можно объединять, например вот так:
ls -lhpКак можно было догадаться, она выведет широкий список в удобочитаемом формате, при этом каталоги будут помечены знаком "/"
Остальные ключи можно узнать введя в терминале:
ls --help
Кстати, ключ --help имеется практически у каждой команды! А у некоторых, также, имеется его сокращенный вариант -h. И самое главное, большинство команд имеют полное руководство по использованию! Единственный недостаток только в одном - руководства эти на английском языке... Но есть же online переводчики, которые, хоть и частично, но исправят положение! Одно лишь замечу, комбинация клавиш для копирования/вставки в терминале выглядит следующим образом: Ctrl+Shift+C/V, а команда для вывода руководства - man. Пример использования:
man lsЕсть еще одна, незаменимая команда, которую редко вспоминают, но иногда она важна:
pwdРезультатом ее выполнения является строка, содержащая полный путь к текущему месту расположения.
Для перемещения по каталогам существует команда cd. Может использоваться как с предоставленным параметром, так и без него. В последнем случае она переместит Вас в домашний каталог пользователя (/home/имя_пользователя). А в качестве аргумента команде предоставляется путь к каталогу, в который нам нужно переместиться. Например:
cd /home/имя_пользователя/Downloads/или
cd ~/Downloads/или
cd Downloads/При этом все команды ведут к одному каталогу Downloads (но в последнем примере только в случае, если на момент выполнения команды мы находимся в домашнем каталоге).
Чтобы переместится на один уровень выше используется в качестве аргумента ".." (две точки не разделенные пробелом), а для перемещения в корень системы "/"
Также эта команда имеет одну хитрость - можно поочередно перемещаться между двумя каталогами следующим способом:
cd -Более наглядно о команде cd Вы сможете узнать из видео, ссылку на которое я оставлю в конце статьи, или еще более подробно в текстовом режиме, но на английском языке, выполнив команды
cd --helpИ мы плавно переходим к следующей немаловажной теме - взаимодействию с файлами и каталогами. Начнем с создания каталогов. Для этого существует команда mkdir. И я сразу покажу пример, как создать каталог уже содержащий подкаталог(и):
или
man cd
mkdir -p test1/test2/test3/testnКлюч -p служит для того, чтобы команда mkdir не выдавала ошибку, а сразу создавала поочередно родительские каталоги для каталога testn. Попробуйте выполнить эту команду без ключа -p, и у Вас ничего не получится!
Итак, создавать каталоги мы умеем, а как удалять? Надеюсь, все знают про шутку "sudo rm -rf /*" и не станут ее копировать в терминал? Расскажу об этой "чудесной команде по порядку. Чтобы удалить файл, команда rm в типичной ситуации может использоваться вовсе без ключей:
rm test.txtА вот в случае с каталогом придется использовать ключ -r, а то система выдаст ошибку! Полный список ключей или просто просмотреть инструкцию можно уже знакомыми нам способами:
rm --helpУсложним задачу, теперь рассмотрим переименование и перемещение файлов/каталогов. Оба действия выполняет одна и та же команда mv. Логика тут проста - по сути мы перемещаем файл/каталог с одного имени в другое! Вот пример типичного переименования:
man rm
mv имя1 имя2Перемещать точно так же просто! Рассмотрим ситуацию, когда файл нужно переместить на уровень выше, а еще попутно его переименовать нужно (да, бывает и такая необходимость):
mv test1 ../test2И снова с перемещением на уровень вверх помогает аргумент ".."
Рассмотрим самые основные ключи для команды mv:
- -f - перемещение с заменой файлов в целевом каталоге
- -i - перемещение с запросом заменить/нет?
- -u - перемещение с заменой только в том случае, если перемещаемый файл новее (--update)
- -v - вывод информации о перемещении/замене каждого файла
Также можно перемещать группу файлов:
mv файл1 файл2 файл3 файл4 каталог_назначения/или все файлы и каталоги при помощи:
mv * каталог_назначения/И теперь уже напоследок - копирование файлов и каталогов! Для этой задачи предназначена команда cp - она имеет схожесть одновременно и с mv и rm, потому как при копировании каталогов так же, как и rm нужно указывать ключ -r и как mv имеет те же ключи -i, -f, -u, -v. Поэтому дальше расписывать ее функционал не вижу смысла.
Итог. Выше мы разобрали основные действия в терминале, необходимые для начального уровня владения им. Теперь мы знаем как "сориентироваться на местности" при помощи команд pwd и ls, поняли как перемещаться с помощью cd. Также разобрали принцип переименования, перемещения и копирование файлов и каталогов, научились их создавать и удалять. И после всего этого пару наставлений на будущее:
- будьте внимательны с использованием символа "*" при удалении и перемещении файлов! rm -Rf имя_файла* удалит файлы начинающиеся на "имя_файла", а rm -Rf имя_файла * - удалит сначала файл имя_файла, а вслед за ним всё остальное! Если вместо команды rm -Rf ~/имя_каталога/* вы зададите rm -Rf ~/имя_каталога /*, у вас возникнут большие проблемы. Сначала удалится каталог ~/имя_каталога, а затем вся файловая система! Никогда не задавайте команду rm -Rf .*/*, чтобы удалить файлы, начинающиеся с точки - указанному критерию удовлетворяет каталог .., и вы удалите все данные, расположенные выше вашего рабочего каталога!
- не забывайте о существовании команды "!!" - она повторяет последнюю набранную команду, с одним лишь примечанием - эту команду мы можем выполнить повторно уже от имени суперпользователя, вбив в терминал sudo !!
- на клавиатуре есть "волшебная клавиша Tab, которая дополняет не до конца введенные команды и имена файлов!
- в случае возникновения вопросов всегда можно воспользоваться справкой при помощи man или --help
Посмотрите также видео версию этой статьи в двух видео: часть 1 и часть 2. Не забываем ставить палец вверх и подписаться на канал!
Если у Вас остались вопросы - пишем комментарии здесь или под видео!
Ну и для самых обезбашенных... У меня есть помимо рекламы донат (попрошайка, но все же за труды всегда желательно получать оплату...) - понравилась статья или видео, рублем отблагодарить можно по реквизитам:
4731 1856 1256 8045 — UAH
4731 1856 1207 9811 — USD
5106 2110 0615 4145 — RUB (Yandex карта)
4100 1478 4120 103 — Yandex кошелек
Комментариев нет:
Отправить комментарий