Давайте дружить в Телеграме: рассказываем про новые фичи, общаемся в комментах, прислушиваемся к вашим идеям Подписаться

Командная строка Linux: краткий курс для начинающих

Команда Timeweb Cloud
Команда Timeweb Cloud
Наши инженеры, технические писатели, редакторы и маркетологи
13 декабря 2021 г.
2333
5 минут чтения
Средний рейтинг статьи: 5

Работа с операционными системами GNU/Linux заключается прежде всего в работе с командной строкой. Командная оболочка позволяет пользователю взаимодействовать с операционной системой. Существует множество различных командных оболочек, в данной статье мы будем рассматривать наиболее распространенную командную оболочку bash.

Командная Строка Linux  Краткий Курс Для Начинающих

Предполагается, что вы имеете доступ к консоли сервера или подключены к серверу посредством протокола удаленного доступа SSH и имеете возможность вводить команды в терминале.

Для того чтобы определить, какая оболочка используется пользователями в системе, необходимо открыть содержимое файла базы данных пользователей /etc/passwd и обратить внимание на последнее поле в каждой строке в котором указывается оболочка (поля разделяются символом :). Для просмотра содержимого этого файла, используйте команду cat:

timeweb@cloud:~$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
timeweb:x:1000:1000:Timeweb,,,:/home/timeweb:/bin/bash
mysql:x:106:112:MySQL Server,,,:/nonexistent:/bin/false

В этом примере, суперпользователь root и обычный пользователь timeweb используют оболочку bash и соответственно имеют доступ к командной строке. А системному пользователю mysql от которого запускается служба базы данных MySQL запрещено использовать оболочку из соображений безопасности.

Вы можете изменить оболочку пользователю с помощью команды chsh. Но для начала давайте определим список доступных оболочек, которые мы можем использовать.

timeweb@cloud:~$ cat /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/bash
/usr/bin/bash
/bin/rbash
/usr/bin/rbash
/bin/dash
/usr/bin/dash

Например, чтобы изменить оболочку текущему пользователю timeweb с bash на обычный sh, выполните команду:

timeweb@cloud:~$ chsh -s /bin/sh timeweb

Чтобы изменить оболочку другому пользователю вам необходимы привилегии суперпользователя root. Например, можно заблокировать пользователю timeweb возможность доступа к использованию оболочки.

root@cloud:/home/timeweb# chsh -s /bin/false timeweb

Глобальные настройки командной строки находятся в файле /etc/profile, а настройки для каждого пользователя в скрытом файле ~/.bash_profile в его домашней директории.

При работе в командной строке, используются следующие распространенные команды:

  •         cat – вывод содержимого файла в консоль;
  •         pwd – вывод каталога в котором вы находитесь;
  •         cd – переход по директориям;
  •         ls – вывод содержимого каталога;
  •         echo – вывод текста в консоль;
  •         touch – создание нового пустого файла;
  •         mkdir – создание каталога;
  •         rmdir – удаление пустого каталога;
  •         mv – перемещение или переименование файлов и каталогов;
  •         history – вывод истории команд (история команд хранится в файле .bash_history)

Перед тем, как вводить команды в терминале мы должны понимать синтаксис ввода команд в оболочке.

command [options…] [arguments…]

Чтобы создать пустой файл newfile.txt, введите команду:

timeweb@cloud:~$ touch newfile.txt

Для показа содержимого текущей директории, введите команду:

timeweb@cloud:~$ ls

Мы можем передавать команде дополнительные параметры, например, вывести все содержимое каталога включая скрытые файлы и папки с командой ls и с опцией -a.

timeweb@cloud:~$ ls -a

Показать более детальную информацию содержимого текущей директории:

timeweb@cloud:~$  ls -l

Вы также можете объединить несколько опции для команды, например, вывести список файлов включая скрытые в подробном формате и посчитать их объем в человекопонятном виде (Кб, Мб, Гб вместо байт):

timeweb@cloud:~$ ls -lah

Если вы используете несколько параметров, требующих аргументов, не объединяйте их. Например, опция -T, определяющая размер табуляции, также требует аргумента. Чтобы учесть оба аргумента, каждый вариант приводится отдельно:

timeweb@cloud:~$ ls -w 40 -T 12

Некоторые команды поддерживают дополнительные параметры, длина которых превышает один символ. Перед длинными параметрами команд ставится двойной дефис -- и значение параметра, обычно это имя параметра, например параметр --all, в котором перечислены все файлы, включая скрытые. Например:

timeweb@cloud:~$ ls --all

Для команд, которые поддерживают как длинные, так и короткие параметры, выполните команду, используя одновременно длинные и короткие параметры:

timeweb@cloud:~$ ls --all --reverse -t

Команды, поддерживающие длинные параметры, часто также поддерживают аргументы, которые могут быть указаны с символом равенства = или без него (вывод обеих команд одинаков):

timeweb@cloud:~$ ls --sort time
timeweb@cloud:~$ ls --sort=time

Команда unameотображает системную информацию. Эта команда по умолчанию выводит Linux, если выполняется без каких-либо параметров.

timeweb@cloud:~$ uname

Команда uname полезна по нескольким причинам, например, когда вам нужно определить имя компьютера, а также текущую версию используемого ядра ОС. Чтобы отобразить дополнительную информацию о системе, вы можете использовать одну из многих опций, доступных для команды uname. Например, чтобы отобразить всю информацию о системе, используйте параметр -a с командой uname:

timeweb@cloud:~$ uname -a

Чтобы перейти в другую директорию, введите команду cd, а также pwd, чтобы убедиться в этом:

timeweb@cloud:~$ cd Documents/
timeweb@cloud:~/Documents$ pwd
/home/timeweb/Documents

Чтобы вернуться в домашний каталог после перехода в новое место, используйте команду cd (change directory) без каких-либо аргументов:

timeweb@cloud:~$ cd

Переменные среды это глобальные переменные, использующиеся в операционной системе и обычные переменные, которые работают в пределах запущенного сеанса консоли. Для того чтобы посмотреть свое окружение введите команду без аргументов:

timeweb@cloud:~$ env

Чтобы вывести на экран значение какой-нибудь переменной окружения, достаточно вести команду echo $ИМЯ_ПЕРЕМЕННОЙ, например, просмотр домашней директории пользователя, хранящийся в переменной окружения $HOME:

timeweb@cloud:~$ echo $HOME

Для создания переменной используется простой синтаксис имя_переменной=значение_переменной. Для обращения к переменной указывается символ $, например:

timeweb@cloud:~$ var=value

timeweb@cloud:~$ echo $var

Мы познакомились с принципами работы в командной строке и базовыми командами.

Зарегистрируйтесь и начните пользоваться
сервисами Timeweb Cloud прямо сейчас

15 лет опыта
Сосредоточьтесь на своей работе: об остальном позаботимся мы
165 000 клиентов
Нам доверяют частные лица и компании, от небольших фирм до корпораций
Поддержка 24/7
100+ специалистов поддержки, готовых помочь в чате, тикете и по телефону