- Шпаргалка: базовые команды для терминала Linux
- Какими бывают команды в Линукс
- Команды для навигации в терминале Линукс
- Команды для получения прав суперпользователя в Линукс
- Базовые команды для работы с файлами в Linux
- Чтение, редактирование и удаление файлов
- Копирование и перемещение файлов
- Основные команды для управления менеджером пакетов Linux
- apt
- dnf
- Команды для управления системой Linux
- Выполнение команд через shell-скрипты в Linux
- Требования
- Начало работы
- Создание и запуск базового shell-скрипта
- Использование переменных в скриптах
- Чтение ввода из командной строки
- Определение функций
- Заключение
Шпаргалка: базовые команды для терминала Linux
В статье мы расскажем, как работает командная строка в Linux и какие команды потребуются в начале работы.
Сначала объясним некоторые термины: это поможет лучше понять принцип работы системы Linux.
Linux — это семейство UNIX-подобных операционных систем, которые основаны на ядре Linux. Наиболее популярные ОС этой ветки — Ubuntu, Fedora, Mint, Debian, CentOS и др.
Терминал Линукс (Linux Terminal) — это программа, которая используется для взаимодействия с командной оболочкой. Ее второе название — командная строка Линукс. Терминал предназначен для администрирования ОС: установки и удаления программ, работы с файловой системой и др. Открыть окно терминала можно с помощью комбинации клавиш Ctrl + Alt + T.
Какими бывают команды в Линукс
Обычно команды в Linux имеют следующий синтаксис:
- команда — действие, которое нужно выполнить;
- функция — дополнительные условия выполнения команды;
- аргумент — файл или программа, с которой нужно выполнить действие.
Команды для навигации в терминале Линукс
alias — команда, с помощью которой вы можете присвоить псевдоним любой команде. Например, так можно присвоить собственное имя команде обновления репозитория:
Команда apt update — это оригинальное написание, а apd — ваш псевдоним. После этого вы можете обновить репозиторий, набрав в терминале apd.
cd — помогает перейти в другую директорию. Например, так вы можете перейти в папку Downloads:
clear — очищает историю терминала в окне.
pwd — показывает директорию, в которой вы находитесь.
history — выводит последние команды, которые вы вводили.
man — позволяет посмотреть полное описание любой команды. Например, чтобы вывести информацию о команде man, введите следующее:
whatis — выводит краткое описание программы. Например, описание браузера Opera можно получить так:
Команды для получения прав суперпользователя в Линукс
Чтобы команда исполнилась от имени суперпользователя, добавьте sudo перед ней. Ниже мы опишем, как выполнить команды с правами суперпользователя.
sudo gksudo — используется при запуске приложения с графическим интерфейсом от имени администратора.
sudo !! — выполняет последнюю введенную команду от имени администратора.
sudo su — после ее ввода все команды в текущем окне будут выполняться с правами суперпользователя.
Базовые команды для работы с файлами в Linux
Чтение, редактирование и удаление файлов
cat ~/directory/file — выводит содержимое файла на экран. Вместо ~/directory/file укажите путь до файла, который необходимо показать. Если вы хотите объединить содержимое двух файлов, введите эту команду в следующем формате:
cat ~/directory1/file1 ~/directory2/file2
- ~/directory1/file1 — путь до первого файла,
- ~/directory2/file2 — путь до второго файла.
Если вам нужно создать новый файл с содержимым прежнего в Linux, добавьте условие:
cat ~/directory/file > ~/new_directory/new_file
- ~/directory/file — путь до прежнего файла,
- ~/new_directory/new_file — путь до нового файла.
sudo chmod file_name — позволяет изменить права доступа к файлу или директории. Вместо file_name укажите путь до файла, для которого необходимо изменить права.
sudo chown file_name — помогает изменить владельца файла или директории. Вместо file_name укажите путь до файла, владельца которого вы хотите изменить.
file file_name — выводит информацию о файле на экран. Вместо file_name укажите путь до файла, данные о котором вам нужно получить.
sudo nano ~/directory/file_name.txt — открывает файл в текстовом редакторе. Вместо ~/directory/file_name.txt укажите путь до файла, который вы хотите изменить.
rename ~/directory/file_name — позволяет переименовать файл. Вместо ~/directory/file_name укажите путь до файла, который вы хотите переименовать.
touch ~/directory/file_name — корректирует дату последнего изменения файла. Вместо ~/directory/file_name укажите путь до нужного вам файла.
wget file_address — скачивает файл из стороннего источника. Вместо file_address укажите ссылку на файл.
mkdir ~/directory/ — создает папку в выбранной директории. Вместо ~/directory/ укажите путь, по которому нужно создать папку.
rmdir ~/directory/ — позволяет удалить директорию в Linux. Вместо ~/directory/ укажите путь к папке, которую нужно удалить.
rm ~/directory/file — удаляет файл. Вместо ~/directory/file укажите путь до файла, который вы хотите удалить.
Копирование и перемещение файлов
cp ~/directory/file ~/copy_directory/copy_file — позволяет скопировать файл в Linux через терминал. В примере:
- ~/directory/file — путь к файлу, который нужно скопировать,
- ~/copy_directory/copy_file — путь, по которому нужно разместить копию файла.
mv ~/directory/file ~/mv_directory/file — переносит файл из одной директории в другую. В примере:
- ~/directory/file — путь к директории, из которой нужно перенести файл;
- ~/mv_directory/file — путь к директории, в которую нужно перенести файл.
Основные команды для управления менеджером пакетов Linux
Менеджер пакетов — это функционал, который позволяет устанавливать и обновлять программное обеспечение. Эти менеджеры отличаются в зависимости от операционной системы:
Список команд также зависит от пакетного менеджера.
apt
sudo apt update — обновляет списки пакетов, доступных для установки.
sudo apt upgrade — обновляет установленные пакеты до последней версии.
sudo apt-add-repository repository_address — добавляет сторонний репозиторий. Вместо repository_address укажите адрес репозитория, который вы хотите добавить.
sudo apt install package_name — устанавливает программный пакет. Вместо package_name укажите название пакета, который вы хотите установить.
sudo apt remove package_name — удаляет программный пакет. Вместо package_name укажите название пакета, который вы хотите удалить.
sudo apt purge package_name — удаляет программный пакет вместе с его зависимостями. Вместо package_name укажите название пакета, который вы хотите удалить.
sudo apt autoremove — очищает систему от неиспользуемых зависимостей.
dnf
sudo dnf install package_name — устанавливает пакет. Вместо package_name укажите название пакета, который вы хотите установить.
sudo dnf upgrade — обновляет все пакеты до последней версии.
sudo dnf config-manager —add-repo repository_adress — добавляет сторонний репозиторий. Вместо repository_adress укажите адрес репозитория, который вы хотите добавить.
sudo dnf remove package_name — удаляет пакет. Вместо package_name укажите название пакета, который вы хотите удалить.
sudo dnf autoremove — очищает систему от неиспользуемых зависимостей.
Команды для управления системой Linux
df — показывает статистику по дисковому пространству: сколько места занято и сколько осталось.
free — показывает, сколько занято оперативной памяти и объем оставшегося ресурса.
uname — выводит сведения о системе на экран.
uname -a — выводит название компьютера и версию ядра.
uptime — показывает, как долго запущена ваша ОС.
whoami — выводит имя учетной записи пользователя системы в командную строку.
Итог: теперь вы знаете, как открыть терминал в Линукс и начать работу с системой с помощью базовых команд: они помогут вам привыкнуть к ОС и упростят некоторые задачи, такие как:
Выполнение команд через shell-скрипты в Linux
Оболочка — это интерпретатор командной строки, который позволяет пользователю взаимодействовать с системой. Он отвечает за получение входных данных от пользователя и вывод данных.
Сценарии оболочки — это серия команд, записанных в порядке выполнения. Сценарии могут содержать функции, циклы, команды и переменные. Они упрощают сложные серии команд и повторяющиеся задачи.
В этом мануале мы разберем, как создавать и выполнять сценарии оболочки для командной строки в Linux.
Требования
- Умение пользоваться терминалом.
- Знание текстового редактора.
- Знание команд: chmod, mkdir и cd.
Читайте также:
Начало работы
Скрипты оболочки нужно сохранять с расширением .sh.
Файл должен начинаться с шебанга (#!), чтобы система Linux понимала, какой интерпретатор использовать для сценария оболочки.
В этом мануале предполагается, что вы используете среду bash.
В скриптах также могут содержаться комментарии, они нужны для упрощения их читаемости. Удобный сценарий всегда содержит комментарии, которые помогают понять принцип работы скрипта и причины выбора тех или иных команд.
Создание и запуск базового shell-скрипта
Скрипт оболочки можно создать с помощью редактора vi, команды cat или текстового редактора.
Мы будем создавать с помощью vi:
Команда запустит редактор vi и создаст файл basic_script.sh.
Затем нажмите i на клавиатуре для запуска INSERT MODE. Добавьте следующие строки:
Скрипт запускает команды whoami и date. Команда whoami отображает активное имя пользователя, а date — текущую системную метку времени.
Чтобы сохранить и выйти из редактора vi:
Теперь можно запустить сценарий с помощью команды:
root Fri Jun 19 16:59:48 UTC 2020
Первая строка вывода соответствует команде whoami, а вторая команде date.
Можно запустить скрипт без указания bash:
Запуск файла таким образом может потребовать разрешение пользователя. Запуск с помощью bash не требует этого разрешения.
~bash: ./basic_script.sh: Permission denied
Команда bash filename требует только прав на чтение.
Команда ./filename запускает файл как исполняемый и требует разрешения execute.
Для выполнения сценария нужно обновить привилегии.
Эта команда применит chmod и дает права x (исполнение) текущему пользователю.
Использование переменных в скриптах
Скрипты могут включать пользовательские переменные. По мере увеличения размера сценариев важно иметь четко определенные переменные с информативными именами.
Добавьте в скрипт следующие строки:
#!/bin/bash # This is a comment # defining a variable GREETINGS="Hello! How are you" echo $GREETINGS
GREETINGS — это переменная, определенная с помощью символа $ (знак доллара). В строке, в которой переменным присваивается значение, не должно быть пробелов.
На экран выведется присвоенное переменной значение:
Как видите, переменная GREETINGS успешно определена в сценарии и доступна при запуске скрипта.
Чтение ввода из командной строки
Shell-скрипты можно сделать интерактивными с возможностью принимать ввод из командной строки. Сохранить ввод командной строки в переменной можно с помощью команды read.
Добавьте в скрипт следующие строки:
#!/bin/bash # This is a comment # defining a variable echo "What is your name?" # reading input read NAME # defining a variable GREETINGS="Hello! How are you" echo $NAME $GREETINGS
Переменная NAME принимает ввод из командной строки. Этот скрипт ожидает, пока пользователь введет значение NAME. Затем он выводит NAME и GREETINGS.
What is your name? 8host 8host Hello! How are you
В примере пользователь ввел значение 8host.
Определение функций
Пользователи могут определять свои функции в сценариях. Эти функции могут принимать несколько аргументов.
Добавьте в скрипт следующие строки:
#!/bin/bash #This is a comment # defining a variable echo "What is the name of the directory you want to create?" # reading input read NAME echo "Creating $NAME . " mkcd () mkdir "$NAME" cd "$NAME" > mkcd echo "You are now in $NAME"
Этот скрипт запрашивает имя каталога. Затем он c помощью mkdir создает требуемый каталог и переходит в него.
What is the name of the directory you want to create? test_dir Creating test_dir . You are now in test_dir
В данном примере мы ввели test_dir. Далее скрипт создаст новый каталог с этим названием. Наконец, скрипт перейдет из текущего рабочего каталога пользователя в test_dir.
Заключение
В этом мануале мы разобрали, как создавать и запускать скрипты оболочки для командной строки в Linux.
Подумайте о повторяющихся или отнимающих много времени задачах, которые вы часто выполняете – возможно, такие команды полезнее заменить скриптами.