Какая команда выведет директорию в которой сейчас находится пользователь linux

Обновлено: 04.07.2024

Для начала работы в терминале Linux не нужно быть гуру администрирования — достаточно знать список базовых команд для навигации и работы с файлами и папками.

Навигация

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

Она выведет текущую рабочую директорию (print working directory).

Если вам нужно перейти в другую папку, для этого используется команда cd (change directory) с указанием пути к нужной вам папке:

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

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

директория, расположенная на уровень выше текущей. Если вы находитесь в папке /home/user , то комбинация .. будет обозначать папку /home . То есть, чтобы вернуться на один уровень назад, необязательно вводить весь путь:

домашняя папка текущего пользователя. Например, запустить скрипт some-script.sh из домашней папки, когда вы находитесь в другой директории, можно так:

предыдущая посещённая директория. Представим, что вы перешли в папку /home , потом вам потребовалось изменить настройки в папке /etc . Чтобы вернуться назад, достаточно использовать команду:

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

Абсолютный путь — это полный путь от корневой папки сервера «/» . Например, вот такой:

Также к абсолютным относятся пути, в которых используется

— указание на домашнюю папку текущего пользователя. Например, при доступе к файлу

/.bash_profile он всегда будет открываться из одного и того же места: вместо

будет использоваться значение переменной окружения $HOME, которое не меняется.

Относительный путь — это неполный путь. Он указывается относительно какого-то объекта: например, текущей рабочей директории. То есть в начале отсутствует символ корневой папки «/» .

Представим, что мы сейчас работаем с файлами в папке /var/www/data/username . Нам нужно отредактировать содержимое в директории на уровень выше — /var/www/data . Чтобы управлять данными в этой папке, нам не обязательно постоянно указывать полный путь к ним — можно работать с относительным, начиная его с «../» .

Также относительные пути используются, когда нужно выполнить операцию над файлом или папкой в директории, в которой мы сейчас работаем. Для выполнения команды достаточно указать имя файла или папки — система поймёт, что мы имеем в виду файл из текущего каталога.

Чтобы отобразить список содержимого папки, можно использовать команду ls (list). Если дополнить её ключами -al , она покажет типы данных, разрешения и скрытые файлы. Следующий пример покажет названия файлов и папок текущей рабочей папки:

А этот выведет в терминал подробный список содержимого папки /etc:

Чтобы немного упростить себе жизнь, можно использовать консольные файловые менеджеры, например, mc .

Ubuntu и Debian:

CentOS:

Его особенность — примитивный графический интерфейс. Он позволяет быстро ориентироваться в структуре каталогов, перемещаться между ними, создавать новые директории. Интерфейс разбит на два окна, между которыми вы можете перемещать файлы и папки. Помимо прочего, в нём можно работать и с помощью мыши — перемещаться двойным кликом по папкам, использовать кнопки в нижней части панели.


Поиск

С помощью команды find можно найти на сервере папку или файл по набору условий. Структура команды проста:

Например, мы знаем название файла hello.txt , но не знаем, где именно на сервере он лежит. Найти его поможет конструкция:

  • / указывает, что искать надо, начиная с корневой папки сервера. Если вам известно, где может лежать искомый файл, можно задать путь точнее.
  • -name указывает, что искать надо строго по имени.
  • "hello.txt" — имя файла, который нам нужно найти. Если известна только часть имени, можно указать сокращённый вариант: "hello*" , "*.txt"

Кроме -name , команда find имеет множество опций, которые позволяют уточнить условия поиска подробнее. Вот список наиболее полезных параметров:

Позволяет указать тип искомых данных: -type f — файлы, -type d — директории

Позволяет вывести файлы с определённым уровнем доступа. Например, - perm 777

Отображает только пустые файлы или папки

Позволяет искать данные среди файлов, принадлежащих конкретному пользователю: -user root

Позволяет искать данные среди файлов, принадлежащих определённой группе пользователей: -group www-data

Позволяет задать условие относительно времени изменения файлов:

Позволяет задать условие относительно времени последнего доступа к файлу, аналогично mtime

Позволяет уточнить размер (или диапазон размера) искомых файлов

Позволяет применить к найденным файлам команду COMMAND

Больше информации о возможностях find можно узнать в файлах документации:

Из встроенных инструментов поиска можно также отметить утилиту whereis . Она предназначена для поиска бинарных и системных файлов и директорий служб. Следующий пример выведет список всех файлов и папок, имеющих прямое отношение к php :

Работа с папками

Для создания новых директорий используется команда mkdir с указанием пути до создаваемой папки. Пример ниже создаст папку /new в существующей директории /home/user :

Если нужно создать несколько папок за раз, можно просто перечислить их через пробел:

Удалить папку можно с помощью команды rmdir с указанием пути. Папка будет удалена только в случае, если она пуста (можно использовать параметр --ignore-fail-on-non-empty , чтобы удалить папку в любом случае). Для удаления нескольких вложенных папок можно аналогично использовать параметр -p . Пример ниже удалит папку /photos и все каталоги внутри неё:

Для удаления есть более эффективный инструмент, rm , про который расскажем ниже.

Работа с файлами

Создание

В терминале есть несколько способов создания новых файлов.

Самый простой, одновременно создающий и файл, и недостающие папки — команда touch . Достаточно передать ей полный путь к файлу. Для примера создадим в папке docs папку copies , а внутри неё — файл copies-list.txt :

Несуществующая папка copies создастся автоматически.

Если нужно создать сразу несколько файлов, можно просто перечислить их через пробел:

Ещё один способ создания новых файлов — вызвать какой-нибудь консольный текстовый редактор с указанием полного пути к файлу. Однако все папки придётся создать заранее. Тогда редактор автоматически создаст файл и откроет его для редактирования. Если не сохранить файл в редакторе, даже пустой, он не будет создан. Команда ниже добавит новый файл с помощью редактора vi :

Для сохранения и выхода из файла в vi нужно нажать клавишу Esc , ввести сочетание :wq и нажать Enter . Для выхода без сохранения нужно также нажать Esc , ввести сочетание :q! и нажать Enter .

Ещё пара способов создания пустых файлов:

Редактирование

Для редактирования файлов используются консольные текстовые редакторы. Самые известные — vi и nano . В некоторых дистрибутивах vi заменён на vim ( vi improved, улучшенный vi ) или vim.tiny

Редактор vi будет доступен вам по умолчанию на большинстве Linux-систем.


А теперь к делу. Vi (более известен как Vim) — старый, очень гибкий и при этом не очень простой в плане управления редактор. Собственно, так он и попал в популярные программистские и админские шуточки.

Запуск редактора без аргументов откроет его в режиме справки:


Чтобы закрыть Vim (без сохранения), введите сочетание :q!

Если указать редактору путь к файлу, он откроет его для редактирования. Если файл не существовал, он будет создан:

При первом входе Vim открывает файл в режиме просмотра. Он не позволяет редактировать его содержимое, но можно вводить командные последовательности, перемещаться по тексту, выполнять поиск и пр.

Чтобы начать ввод, нужно перейти в режим редактирования с помощью клавиши I . Чтобы вернуться в режим просмотра, нажмите Esc .

Перемещение по тексту выполняется с клавиатуры:

  • перемещение в начало текста: Esc + дважды G
  • перемещение в конец текста: Shift + G
  • перемещение по строке горизонтально: стрелки ← →
  • перемещение по строкам вертикально: стрелки ↑ ↓
  • отображение номеров строк: Esc , введите :set number , нажмите Enter
  • перемещение по номерам строк: Esc , введите : номер строки, нажмите Enter

Для выхода с сохранением файла нажмите Esc и введите :wq!

Текстовый редактор vim — краткое руководство

Более современной и удобной альтернативой Vim считается редактор nano . Современные дистрибутивы включают его по умолчанию, но на ранних версиях устанавливать придётся вручную:

Ubuntu и Debian:

CentOS:

Вызов nano без аргументов откроет пустой редактор. Можно начать ввод (при сохранении вам будет предложено указать имя и сохранить файл) или вызвать режим помощи со списком доступных команд с помощью сочетания Ctrl + G .


Для сохранения файла нажмите Ctrl + O — редактор предложит ввести имя файла: введите имя и нажмите Enter . Если файл существовал, и имя изменять не требуется, просто нажмите Enter .

Для выхода из редактора нажмите Ctrl + X .

Чтение

Бывает, что нам нужно получить какую-то информацию из файла без необходимости редактировать его. В таком случае необязательно использовать текстовый редактор — есть более простые инструменты.

Команда cat позволяет вывести в терминал всё содержимое файла, который указан в качестве аргумента:


Однако, если мы заведомо знаем, что в файле большой объём информации, нет смысла выводить его целиком. Например, команды head и tail могут вывести часть содержимого с начала или конца файла соответственно. Если добавить к ним ключ -n , можно уточнить, сколько строк текста нужно вывести:



Помимо прочего, команда tail очень удобна для чтения логов с ключом -f . В таком режиме она открывает файл в режиме ожидания и выводит все добавляемые данные. Пригодится для тестирования или дебаггинга.

Иногда нам всё-таки нужно полностью просмотреть файл. При этом читать его вывод в терминале неудобно. На такие случаи есть команда less — она открывает файл (или переданный в неё вывод другой команды) в режиме чтения:

В режиме чтения less можно перемещаться, искать текст и многое другое. Все командные последовательности и горячие клавиши можно вывести с помощью параметра --help :

Для выхода из режима чтения введите q и нажмите Enter .

Удаление

Для удаления файлов используется команда rm . Она крайне опасна — неправильное применение грозит удалением всего содержимого сервера. Поэтому, как говорится, семь раз отмерь, один раз отрежь: категорически важно перепроверять путь, который вы указываете для удаления.

Самая простая версия rm удалит файл с предварительным подтверждением — для этого потребуется ввести y и нажать Enter :

Для полного же уничтожения всего и вся к команде добавляются параметры -rf . Первый отвечает за рекурсивное удаление данных (т.е. удаление вложенных файлов и папок), второй позволяет отключить подтверждение при удалении. Например, следующая команда удалит папку photos , размещённую в папке docs , и всё её содержимое:

Для шуток над неопытными администраторами им под тем или иным предлогом предлагают выполнить команду rm -rf [/] (без квадратных скобок). Она удаляет всё содержимое сервера от корня. Результат — все данные безвозвратно теряются, а сервер перестаёт работать.

Скачивание и загрузка

Для передачи файлов на сервер и с сервера есть много способов. Самые простые — использование wget , curl или scp .

С помощью параметра -P можно указать путь, куда нужно сохранить скачиваемый файл:

Полный список параметров wget можно посмотреть в справочной информации:

В современных дистрибутивах curl установлен по умолчанию. При необходимости установить его вручную можно следующим образом:

Для работы с curl нужно знать название и расположение файлов, которые необходимо скачать/загрузить. Например, так будет выглядеть команда на скачивание файла по ссылке:

В примере мы скачиваем архив latest-ru_RU.tar.gz по ссылке и сохраняем его в текущую рабочую директорию с таким же именем — за это отвечает ключ -O . Если использовать опцию -o , можно задать своё имя ( wp.tar.gz ) для сохраняемого файла:

Если нам нужно загрузить файл c нашего сервера на другой, используется следующая конструкция:

Остальные возможности curl можно узнать в справочной информации:

Утилита scp позволяет копировать файлы между двумя серверами, используя протокол SSH.

Например, для передачи файла filename.txt с нашего сервера на удалённый сервер 1.2.3.4 в папку new-documents пользователя username можно использовать следующую команду:

В процессе система запросит у нас пароль пользователя username для подключения к удалённому серверу. После авторизации файл будет скопирован на целевой сервер в указанную папку.

Чтобы скачать файл с удалённого сервера, достаточно немного видоизменить нашу команду:

Здесь мы в качестве источника для получения копии файла указали удалённый сервер, а в качестве цели для загрузки копии — папку на текущем сервере.

С помощью scp аналогичным образом можно копировать данные между двумя удалёнными серверами:

Запуск исполняемых bash-скриптов

Чтобы запустить скрипт script.sh на сервере, нужно выполнить два шага:

Настроить права на запуск файла для пользователей:

Запустить скрипт. Если вы находитесь в той же директории, где лежит скрипт, достаточно вызвать его по имени:

В некоторых случаях нужно использовать команду sh либо указать путь к исполняемому файлу командной оболочки:

Если вы находитесь в другой директории, для запуска нужно указать полный путь к скрипту.

Чтобы иметь возможность запускать скрипт из любого места на сервере одной простой командой, можно создать для него алиас — короткую команду (псевдоним), которая будет ассоциироваться системой с полным вызовом скрипта.

Весь список существующих алиасов системы можно вывести с помощью команды alias :


Создать свой постоянный алиас можно с помощью файла .bashrc , размещённого в домашнем каталоге вашего пользователя. Нужно открыть его для редактирования:

В соответствующем разделе нужно добавить ваш алиас в следующем формате:

Например, если нам потребуется создать псевдоним для скрипта выше, настройки будут выглядеть так:

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

После этого вы сможете вызывать ваш скрипт с помощью короткой команды.

Скрипт можно добавить в расписание планировщика cron , чтобы он запускался регулярно.

Как настроить cron по ssh

Переименование, перемещение и копирование файлов и папок

Скопировать файл в терминале можно с помощью команды:

C её помощью можно, к примеру, создать копию конфигурационного файла, который вы хотите изменить. Здесь мы создаём копию конфигурационного файла nginx.conf

Папки копируются аналогично. При необходимости скопировать каталог со всем содержимым (рекурсивно) можно добавить к команде ключ -r :

Здесь мы создаём копию папки docs со всем её содержимым с именем files .

Переместить или переименовать файл также просто:

Например, следующая команда переместит файл file.txt в папку new :

Переименовать файл не сложнее:

В этом примере файл file.txt переименовывается в todolist.txt

Аналогично можно перемещать и переименовывать директории.

Теперь, когда вы можете перемещаться по серверу и работать с файлами и папками, самое время познакомиться с файловой структурой Linux-систем.

Для того, чтобы правильно и безопасно хранить данные на сервере, (особенно, если на этом сервере несколько пользователей), следует точно знать, где располагаются их домашние папки, до которых у пользователей есть доступ (у каждого в свою, но нет доступа в чужие папки с чужими данными). Например, для того, чтобы дать пользователю доступ по ftp только к его данным или подсказать полный путь до его www-директории. В этой статье рассмотрим то, как узнать домашнюю директорию любого пользователя Linux несколькими способами.

Где хранится системная информация о домашних каталогах пользователей в Linux

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

login : password : UID : GID : GECOS : home : shell

Поэтому, можно в цикле обходить этот файл в поиске записи нужного пользователя, разбивать строку на подстроки и брать значение 6-го поля. Но это слишком длинный способ. Есть короче и проще. ;)

Команда pwd в Unix

Команда pwd выводит текущий путь к директории, в которой находится пользователь. Выполнив команду pwd , получим этот путь:

У пользователя root в Unix по умолчанию домашней директорией является /root .

Оператор

(тильда) в Debian

Другой способ того, как определить домашнюю директорию текущего пользователя. Достаточно посмотреть значение оператора

Результат не сильно отличается от предыдущего, но к

можно добавлять дополнительные пути к папкам и/или файлам пользователя, используя её как точку отсчёта в домашней директории пользователя. Что сильно облегчает работу с написанием относительных путей (относительно не только корня файловой системы, но и корня домашней папки пользователя).

Ещё одним полезным свойством

является то, что с помощью этого оператора можно получить путь до домашней директории любого пользователя в системе (если конечно пользователь есть в системе, то есть прописан в файле /etc/passwd , например посмотреть содержимое домашнего каталога пользователя ftp можно так, поставив перед ним тильду

А теперь посмотреть содержимое этого файла:

Ну и то, к чему мы стремились: посмотреть путь к домашней директории пользователя:

Так гораздо удобнее, чем парсить и разбирать файл /etc/passwd . За нас всю эту работу делает операционная система! ;)


Команда cd используется для перехода в домашний каталог (директорию) /home пользователя.

user для перехода в домашний каталог пользователя можно воспользоваться и этой командой.

Для перехода в любой другой каталог пропишите команду cd и через пробел путь к нужному каталогу.

Например введя в консоли команду cd /home перейдем в каталог /

cd… команда для перехода в каталог уровнем выше того, в котором сейчас находитесь.

cd . /… команда для перехода в каталог двумя уровнями выше того, в котором сейчас находитесь.

cd — переход в каталог в котором вы находились до перехода в текущий каталог.

Команды linux для просмотра содержимого каталогов:

pwd эта команда linux показывает полный путь к каталогу в котором вы сейчас находитесь.

ls команда показывает все содержимое текущего каталога, т.е. каталога в котором вы сейчас находитесь.

ls -F отображает все содержимое текущего каталога и добавляет к файлам и подкаталогам символы, характеризующие их тип.

ls -l кроме содержимого каталога показывает время создания файлов, размер, права доступа и количество файлов в подкаталогах.

ls -a команда отображает скрытые файлы в вашем текущем каталоге.

ls *5* команда показывает список файлов и директорий, содержащие в своем имени цифры.

tree показывает древовидный список файлов и каталогов в вашем текущем каталоге. Также подсчитывает их количество. В зависимости от количества файлов подсчет файлов может занять некоторое время.

dir показывает содержимое вашего текущего каталога в алфавитном порядке и с учётом регистра названий.

df выводит в консоли количество занятого и свободного места на жестком диске для каждого каталога системы.

А команда du покажет вам количество блоков диска, занятых каждым файлов в вашем текущем каталоге.

Команды linux для работы с файлами и каталогами:

(небольшое примечание: Для работы с файлами нужно иметь права доступа к ним. Что это такое можно почитать здесь)

mkdir dir1 создает

каталог с именем dir1

mkdir dir1 dir2 создает два каталога с именами dir1 и dir2

mkdir -p /home/dir1/dir2 создает в каталоге /home дерево директорий. Это значит что создается каталог dir1 с находящимся внутри него каталогом dir2.

rm -f file1 команда линукс для удаления файла с именем file1

rmdir dir1 команда для удаления каталога с именем dir1

rm -rf dir1 удаляет каталог с именем dir1 вместе со всем его содержимым.

rm -rf dir1 dir2 одновременно удаляет два каталога dir1 и dir2 вместе с их содержимым.

Используя linux команду mv можно перемещать и переименовывать файлы и каталоги.

mv dir1 new_dir эта команда перемещает либо переименовывает файл или каталог из dir1 в new_dir

Команды linux для копирования файлов:

cp file1 file2 команда для копирования файла file1 в файл file2

копирует все файлы из каталога dir в текущий каталог.

cp -a /tmp/dir1 команда копирует каталог dir1 из /tmp/ со всем своим содержимым в ваш текущий каталог.

cp -a dir1 dir2 данная команда копирует каталог dir1 в каталог dir2

ln -s file1 lnk1 при помощи этой команды создается символическая ссылка на файл file1 или на каталог.

ln file1 lnk1 а этой командой создается так называемая «жёсткая» (физическая) ссылка на файл file1 или на каталог.

Терминал и текстовые команды — главный способ управления операционной системой Linux, особенно, если речь идёт о сервере. И хоть слово «терминал» пугает новичков, поверьте, что всё гораздо проще. Сегодня мы подготовили для вас шпаргалку с базовыми командами — сохраняйте её в закладки и повышайте свою продуктивность в сотни раз. 😉

Начнём с теории

Linux (Линукс) — это целое семейство операционных систем Unix с открытым исходным кодом, основанных на ядре Linux. Сюда входят все самые популярные системы на основе ОС, например: Ubuntu, Fedora, Mint, Debian и другие. Их ещё называют дистрибутивами. Подробнее о каждом читайте в этом посте.

Терминал (или «Bash», сокращение от «Bourne-Again shell») — это программа, которая используется для взаимодействия с командной оболочкой. Терминал применяется для выполнения административных задач, например: установку пакетов, действия с файлами и управление пользователями.

Команда — это название программы, которое пользователь вводит в терминале для выполнения определённой задачи. Команды могут иметь дополнительные данные и параметры.

В ОС есть несколько сотен команд и их модификаций. Они группируются по нескольким категориям:

  • По расположению — могут быть утилитами командной строки или встроенной функцией командной оболочки.
  • По частоте применения — те команды, что используются постоянно, по ситуации (эпизодически) или редко.
  • По типам действий — большая группа команд, с помощью которых можно управлять процессами или достать нужную информацию. О них сегодня и поговорим.

Типичная команда выглядит вот так:

Команды, которые позволят узнать больше о вашей системе

id — если вы хотите получить информацию о вашей учётной записи.

w — полезная команда, если вам нужно узнать, какой пользователь сейчас находится в системе (или команда -f — для того, чтобы узнать, откуда был совершён вход).

lsblk — если вы хотите открыть список блочных устройств хранения данных.

lscpu — отображает информацию о процессорах.

free — показывает объём свободной и уже используемой памяти (альтернативная команда — free -g).

lsb_release -a — если вы хотите получить информацию о версии вашей ОС.

Команды для работы с файлами

Содержит в себе практически все мелкие утилиты и инструменты для взаимодействия с файлами и папками.

ls — покажет содержимое директории, в которой вы находитесь. Если после команды ввести адрес конкретной папки, то она покажет то, что хранится в ней. При добавлении аргумента -R в выводе команды появятся файлы из поддиректорий.

cd — change directory, что в переводе означает «сменить директорию». Из названия понятно, что с помощью этой команды можно перемещаться между папками. Вписываем её, а потом адрес: cd /user/test/dir/111. Есть сокращенные варианты: cd- для перемещения в предыдущую директорию или cd (без аргументов) для прыжка в домашнюю папку.

pwd — укажет полный путь до директории, в которой вы находитесь. Если вы перепрыгнули на рабочий стол с помощью cd

/Desktop/, то pwd покажет что-то в духе /home/Polzovatel/Desktop.

dd — мощная утилита для взаимодействия с разделами. С её помощью можно делать копии разделов, перемещать их, удалять без возможности восстановления.

rm — опасная команда для удаления директорий и их содержимого. Стирает все данные, которые обнаружит в указанной папке без возможности к восстановлению.

grep — это полнотекстовый поиск в файле. Очень полезная команда, когда вам нужно что-то найти. Например, grep значение /путь/до/файла покажет строки в которых есть «значение». А команда grep -ril значение /путь/до/каталога/* покажет все файлы, в которых есть искомое значение.

-r — рекурсивный поиск

-i — игнорировать регистр (Case insensetive)

-l — вывести результат списком.

chown пользователь:группа — команда позволяет изменить владельца файла.

chmod — изменяет права на файл или каталог

find — суперполезная команда. С её помощью можно искать файлы по определённым параметрам.

Следующие команды потребуются вам при работе с файлами разного типа и объёма:

cat — показывает содержимое файлов. Также может использоваться в двух вариантах: 1) одним текстовым файлом (cat путь_к_файлу), она отображает содержимое файла в окне терминала, 2) если же указать больше элементов, то команда склеит их (cat путь_к_файлу_1 путь_к_файлу_2).

head — «голова», как и cat, показывает содержимое документов, но не всё, а только первые 10 строк. При желании количество строк можно увеличить или сократить, добавив параметр -n.

tail -f — используется для просмотра растущего файла в окне интерактивного запуска кода.

touch — эта команда создавалась для изменения времени последнего открытия файла или директории, но используют её, в основном, для создания новых файлов.

wget — загружает из интернета документы, картинки, целые страницы и прочий контент.

wc — считает количество строк, слов, знаков и байтов.

zip — упаковывает файлы в архив в формате .zip.

diff — сокращение от «difference». Команда показывает разницу между двумя текстовыми файлами.

Что вы можете сделать с двоичными файлами? На самом деле, вариантов не очень много:

strings — команда выведет готовые к печати строки файла;

od — позволит вам напечатать файл в восьмеричном формате;

cmp — даёт возможность побайтно сравнивать файлы.

Если вам требуется сравнить текстовые файлы друг с другом, введите эти команды:

comm — отсортированные файлы будут строка за строкой.

diff — позволяет построчно выявить различия. Эта команда используется наиболее часто в силу богатого набора опций.

Команды для управления пользователями

Linux — многопользовательская система, поэтому здесь достаточно сложная система добавления и редактирования учётных записей. Но можно упростить себе жизнь и воспользоваться этими командами:

userdel — удаляет выбранную учётную запись. Синтаксис простейший: userdel <имя учётной записи>, которую нужно стереть

Для установки, удаления и обновления пакетов

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

Debian/Ubuntu

sudo apt-get install название_пакета — устанавливает программу на выбор.

sudo apt remove название_пакета — команда, используя которую можно удалить не только ПО, но и все неиспользуемые пакеты.

sudo apt-get update — обновляет информацию о пакетах, имеющихся в системе, и тех, что хранятся в подключённых репозиториях.

sudo apt-upgrade — обновляет установленные пакеты до самых свежих версий, доступных в подключенных репозиториях.

sudo apt purge — удаляет все файлы конфигурации вместе с пакетами ПО.

sudo apt autoremove -purge — удаляет абсолютно всё: и пакеты, и зависимости, и конфиги.

Red Hat Linux/CentOS

sudo dnf install название_пакета — устанавливает программу на выбор.

sudo dnf upgrade — обновляет установленные пакеты до самых свежих версий.

sudo dnf remove название_пакета — стирает с жёсткого диска имеющийся в системе пакет.

Бонус! Хитрости, которые сэкономят время

Этот список полезных знаков в разы ускорит вашу работу с командами:

!! — повторяет последнюю команду.

!$ — позволяет изменить команду, сохраняя последний аргумент. Например, команда less !$ — используется для повторного открытия файла в меньшем объёме.

!* —позволяет изменить команду, сохраняя при этом все аргументы. Например, head states.txt | grep '^Al' — при использовании должен быть хвост.

tail !* — избавляет от необходимости вводить остальную часть команды.

>x.txt — используется для создания пустого файла или очистки существующего.

lsof -P -i -n — определяет, к каким скриптам идёт обращение со стороны веб-сервера.

И самая крутая команда в Linux: для вывода полного руководства о той или иной команде есть man (сокращенно от manual). Чтобы вывести мануал достаточно просто выполнить man <имя команды>. В качестве примера давайте рассмотрим команду cat:

NAME
cat - concatenate files and print on the standard output

SYNOPSIS
cat [OPTION]. [FILE].

DESCRIPTION
Concatenate FILE(s) to standard output.

With no FILE, or when FILE is -, read standard input.

-A, --show-all
equivalent to -vET

-b, --number-nonblank
number nonempty output lines, overrides -n

-e equivalent to -vE

-E, --show-ends
display $ at end of each line

-n, --number
number all output lines

-s, --squeeze-blank
suppress repeated empty output lines

-t equivalent to -vT

-T, --show-tabs
display TAB characters as ^I

-v, --show-nonprinting
use ^ and M- notation, except for LFD and TAB

--help display this help and exit

--version
output version information and exit

EXAMPLES
cat f - g
Output f's contents, then standard input, then g's contents.

А для выход из режима просмотра, достаточно набрать команду quit или q.

На первый взгляд может показаться, что список очень трудно запомнить, но запоминание приходит с практикой! Чем чаще вы пользуетесь теми или иными командами, тем скорее вы их запомните.

И, если вы хотите попробовать какие-то команды на настоящем сервере — попробуйте наши Облачные VPS с готовым шаблоном популярных дистрибутивов Linux: Ubuntu, CentOS и Django и почасовой оплатой от 44 копеек.

Читайте также: