Как перейти на рабочий стол в терминале linux

Обновлено: 04.07.2024

Из того, что я могу собрать, .desktop файлы являются ярлыками, которые позволяют настраивать параметры приложения. Например, у меня их много в моей /usr/share/applications/ папке.

Если я открою эту папку в nautilus , я могу запустить эти приложения, просто дважды щелкнув соответствующий файл, например, дважды щелкнув, firefox.desktop запустит Firefox. Тем не менее, я не могу найти способ сделать то же самое через терминал.

Это мой вопрос, как мне запустить foo.desktop файл из терминала?

NB. Причина, по которой вы exec потерпели неудачу, заключается в том, что exec заменяет ваш текущий запущенный процесс указанным вами процессом, поэтому вы попытались заменить вашу оболочку запуском рабочего стола в виде скомпилированного двоичного файла. Причина, по которой вы не смогли этого сделать, sudo exec заключается в том, что это встроенная оболочка, а не двоичная команда. Интересно, мне было интересно, почему это привело к закрытию вкладки. Я вижу, они заканчивают анализом файла .desktop. В любом случае спасибо за ссылку. модераторы: ой, думаю, что я мог отметить это случайно, извините, если это так

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

Чтобы сломать это

Вы можете поместить это в файл, скажем,

/bin/deskopen с содержанием

Затем сделайте его исполняемым

И тогда вы могли бы сделать, например,

На данный момент я добавил секунду, sed чтобы удалить любые аргументы. Но я думаю, что может быть более «естественный» способ запустить его. Я обновил свой ответ дополнительным sed - я забыл, что файлы рабочего стола могут иметь аргументы. Вы должны добавить «tail -1» в канал после «grep», поскольку «Exec =» может появляться несколько раз, и после этого должно выполняться только последнее появление. -1: Это может работать для простых .desktop файлов, но он игнорирует записи , как Path= и TryExec= которые могут повлиять на исполнение. Он также выполняется неправильно, Exec= если файл содержит Действия на рабочем столе («

Ответ должен быть

Но из- за ошибки это больше не работает.

WoW это все еще ошибка, много прогресса в xdg. exo-open указан как обходной путь, и он также открывает Gedit. :( @RichardHolloway: gnome-open никак не назвать xdg-open , это наоборот! Таким образом, проблема заключается в gvfs-open (преемник или gnome-open ) "больше не работает"? Такого никогда не было! xdg-open работы ассоциации mimetype, а .desktop файлы связаны с текстовыми редакторами, поскольку они являются подклассом текста это настолько глупо (что нет разумного способа запустить файл рабочего стола из терминала) У меня работает на Arch Linux, но, возможно, это ошибка, специфичная для Ubuntu.

С любой недавней Ubuntu, которая поддерживает gtk-launch просто перейти

gtk-launch <file> где имя файла .desktop с или без .desktop детали

Так gtk-launch foo открывается foo.desktop

.Desktop должен находиться в / usr / share / Applications, / usr / local / share / application или

/ .local / share / Applications

Используется из терминала или alt + F2 (команда alt + F2 хранит историю, поэтому легко доступна)

/ .local / share / Applications / запускает Firefox, просматривая каталог

/ .local / share / Applications / для меня. Кажется, если вы были правы, Firefox не должен был передаваться каталог файла .desktop в качестве аргумента. Фактически, каталог, переданный в gtk-launch, не должен использоваться для поиска каталога, содержащего файл .desktop (и на самом деле это не так)

Никакая версия этого не работает для меня в Ubuntu 18.10. Каждый раз, когда он жалуется, приложение не существует, нахожусь ли я в папке с файлом рабочего стола или нет, включаю ли я расширение .desktop или нет, и я отдельно называю каталог или нет.

На сегодняшний день (12.10) ошибка все еще присутствует. На самом деле это зависит от того, как gvfs-open ( вызывается xdg-open ) работает.

Тем не менее, мне удалось быстро обойти (украсть вдохновение из исходного кода nautilus). Это немного запутанно, но работает безупречно на Ubuntu 12.10, добавляя значащий значок (не более ? ) на панели запуска Unity.

Во-первых, я написал скрипт на Python с использованием Gio и поместил его в файл

Сценарий должен иметь разрешение на выполнение, поэтому я запустил его в терминале:

Затем я создал относительную .desktop запись на

Наконец -то я связывал запись в качестве обработчика по умолчанию в

/.local/share/applications/mimeapps.list соответствии с [Default Applications] сечением в виде:

В настоящее время:

Это будет бесполезная работа, когда gvfs-open решит ошибку, а пока .

Это работает лучше, чем ответ Хэмиша Даунера, поскольку он будет правильно обрабатывать несколько Exec= строк и % параметров в команде. Спасибо за код - я на Lucid, и я просто сохранил это как /usr/bin/xdg-openpy , и дал его chmod +x - и использовал launcher.launch([],context) вместо . None,context) (из-за " TypeError: аргумент 1: Должен быть последовательность, а не NoneType "). Теперь xdg-openpy app.desktop работает из командной строки (и все как обычно при двойном щелчке app.desktop ), и это может напомнить мне, если я попытаюсь позвонить в терминал xdg-open и нажать Tab. Ура! +1. Это единственный ответ, который не требует ручного анализа .desktop файла, поэтому это наиболее разумный (и безопасный) подход. Также использует современные gi.repository вместо устаревших pygtk , так здорово! :) На самом деле, это вопрос, касающийся ответа Карло Пеллегрини. Я новичок, пожалуйста, поправьте меня, если есть лучший способ разместить его. Сценарий работает очень хорошо, но значок, который я получаю на панели запуска Unity, - это не значок, определенный в файле .desktop, а значок по умолчанию для команды «Exec». Есть идеи по этому поводу? @Noitidart написать последний ответ привел Мо сделать Google, и я нашел это . Не проверил это, но, возможно, это поможет

Вы должны действительно использовать, gtk-launch если это доступно. Обычно это часть пакета libgtk-3-bin (это может отличаться в зависимости от дистрибутива).

gtk-launch используется следующим образом:

Обратите внимание, что для установки gtk-launch требуется файл .desktop (т. Е. Он находится в /usr/share/applications или

Таким образом, чтобы обойти это, мы можем использовать маленькую хакерскую функцию Bash, которая временно устанавливает нужный файл .desktop перед его запуском. «Правильный» способ установки файла .desktop - через, desktop-file-install но я собираюсь игнорировать это.

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

Если вы хотите вручную проанализировать и выполнить файл .desktop , вы можете сделать это с помощью следующей awk команды:

Вышеупомянутые команды будут:

  1. Найти строку, начинающуюся с Exec =
  2. Удалить Exec =
  3. Удалите все переменные Exec (например %f , %u , %U ). Их можно заменить позиционными аргументами, как это предусмотрено в спецификации, но это может значительно усложнить проблему. См. Последнюю спецификацию входа на рабочий стол .
  4. Выполнить команду
  5. Немедленно завершите работу с соответствующим кодом выхода (чтобы не выполнять несколько строк Exec )

Обратите внимание, что этот сценарий AWK обращается к нескольким крайним случаям, которые могут или не могут быть должным образом рассмотрены некоторыми другими ответами. В частности, эта команда удаляет несколько переменных Exec (стараясь не удалять символ% в противном случае), будет выполнять только одну строковую команду Exec и будет вести себя так, как ожидается, даже если строковая команда Exec содержит один или несколько знаков равенства (например, script.py --profile=name ).

Еще несколько предостережений . Согласно спецификации, TryExec это:

Путь к исполняемому файлу на диске, который используется для определения, установлена ​​ли программа на самом деле. Если путь не является абсолютным, файл ищется в переменной среды $ PATH. Если файл отсутствует или не является исполняемым, запись можно игнорировать (например, не использовать в меню).

Имея это в виду, не имеет смысла выполнять его значение.

Некоторые другие проблемы - Путь и Терминал . Путь состоит из рабочего каталога, в котором запускается программа. Terminal - логическое значение, указывающее, выполняется ли программа в окне терминала. Все это может быть решено, но нет смысла изобретать велосипед, поскольку уже есть реализации спецификации. Если вы хотите реализовать Path , имейте в виду, что он system() порождает подпроцесс, поэтому вы не можете изменить рабочий каталог, выполнив что-то подобное system("cd \047" working_directory "\047"); system(command) . Однако вы могли бы предположительно сделать что-то вроде system("cd \047" working_directory "\047 && " command) . Примечание \ 047 - одинарные кавычки (поэтому команда не разбивается на пути с пробелами).

Я краду страницу с Карло здесь , который предложил создать сценарий Python , чтобы использовать г модуля. Вот минимальный способ выполнить тот же код из оболочки без необходимости создавать файл и беспокоиться о вводе / выводе.

Затем выполните функцию запуска следующим образом:

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

Команды Linux

Терминал и текстовые команды — главный способ управления операционной системой Linux. Особенно, если речь идет о сервере – на него редко ставят графический интерфейс, и вся работа выполняется исключительно через командную строку. Поэтому любому администратору важно знать хотя бы с десяток ключевых команд для терминала Линукс, нужных для навигации в системе и базового управления файлами. В этом материале мы их как раз разберем.

Базовые команды для работы с терминалом

То, что поможет при работе с консолью в целом.

  • clear — очищает всю выведенную в консоль информацию. Пригодится на тот случай, если терминал будет забит выводом других команд или содержимом ранее открытых документов. Помогает «начать с чистого листа».
  • history — отображает ранее введенные команды. По умолчанию показывает 10 последних, но при желании это значение можно изменить, добавив в качестве параметра любое число. Например, history 17, чтобы показать 17 последних выполненных операций.
  • whatis — вкратце описывает любую установленную программу. Вводим whatis и скармливаем ей в качестве аргумента название интересующей утилиты. Чтобы узнать, что такое wget, напишем whatis wget и получим краткую справку одной строкой.
  • man — демонстрирует подробное руководство по выбранной программе или команде. Чтобы выяснить, как работает wget и какие опции для него доступны, введем man wget. Получим массивное полотно со всей документацией для выбранной утилиты. P.S. Выйти из нее можно нажав на клавишу Q.

Команда Linux для вывода документации в терминал

Команды для управления правами на файлы и директории

Все, что нужно для разрешения проблем, связанных с правами в Linux.

  • sudo — выдает права суперпользователя. Используется перед любой другой командой в терминале, если нужно выполнить ее от имени администратора. Многие программы и операции запускаются исключительно при наличии этих прав, так что sudo используется часто. Например, чтобы обновить список пакетов в Ubuntu, введем: sudo apt-get update. При этом система запросит пароль администратора.
  • sudo su — переводит терминал в режим суперпользователя. В нем каждая введенная команда будет восприниматься системой так, будто перед ней ввели sudo. Помогает запускать несколько скриптов и утилит, требующих права администратора, без необходимости постоянно корректировать их или вводить пароль от учетной записи.
  • sudo gksudo — используется для запуска графических утилит от имени администратора. В Windows для этого есть специальная кнопка в контекстном меню, а в Linux — префикс. Синтаксис такой:

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

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

  • useradd — создает новую учетную запись. Например, мы хотим добавить пользователя с именем Timeweb. Для этого вводим: useradd Timeweb. Но свежесозданному аккаунту нужен не только логин, но и пароль. С помощью опций можно задать дополнительные характеристики новому пользователю.
  • passwd — задает пароль для учетной записи, работает вкупе с предыдущей командой. То есть сразу после создания аккаунта, пишем: passwd Timeweb (в вашем случае может быть любой другой пользователь). После этого система попросит придумать и указать пароль для новой учетной записи. По ходу набора пароля в терминале не будут отображаться даже звездочки, но он все равно учитывает каждую нажатую клавишу. Продолжайте набирать пароль вслепую.
  • userdel — удаляет выбранную учетную запись. Синтаксис простейший:

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

Для установки программ в Linux используются менеджеры пакетов. Они разнятся от дистрибутива к дистрибутиву, поэтому команды для управления ими тоже отличаются. Рассмотрим наиболее популярные.

Debian/Ubuntu

  • sudo apt-get install название пакета — устанавливает программу на выбор. Главное знать, как она называется.
  • sudo apt remove название пакета — стирает с жесткого диска имеющийся в системе пакет.
  • sudo apt-get update — обновляет информацию о пакетах, имеющихся в системе, и тех, что хранятся в подключенных репозиториях.
  • sudo apt-upgrade — обновляет установленные пакеты до самых свежих версий, доступных в подключенных репозиториях.

Red Hat Linux/CentOS

  • sudo dnf install название пакета — устанавливает программу на выбор.
  • sudo dnf upgrade — обновляет установленные пакеты до самых свежих версий.
  • sudo dnf remove название пакета — стирает с жесткого диска имеющийся в системе пакет.

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

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

Запрос данных о файле

  • ls — покажет содержимое директории, в которой вы находитесь. Если после команды ввести адрес конкретной папки, то она покажет то, что хранится в ней. При добавлении аргумента -R в выводе команды появятся файлы из поддиректорий.
  • cd — change directory, что в переводе означает «сменить директорию». Из названия понятно, что с помощью этой команды можно перемещаться между папками. Вписываем ее, а потом адрес: cd /user/test/dir/111. Есть сокращенные варианты: cd- для перемещения в предыдущую директорию или cd (без аргументов) для прыжка в домашнюю папку.
  • pwd — укажет полный путь до директории, в которой вы находитесь. Если вы перепрыгнули на рабочий стол с помощью cd, то pwd покажет что-то в духе /home/Polzovatel/Desktop.
  • file — расскажет, что перед вами изображение, директория или текстовый документ, а также предоставит информацию о них (для изображений, например, это данные EXIF).
  • mv — mv применяется для перемещения файлов из одной папки в другую. Перенесем файл timeweb.txt из домашней директории на рабочий стол: mv timeweb.txt /home/имя учетной записи/Desktop. Эту же команду используют, чтобы поменять имя файла. Для этого надо не указывать папку для перемещения, а просто ввести новое название для документа:
  • cp — используем, если нужно не переместить файл, а создать его копию в другой директории. Работает так же, как и mv. Указываем путь до файла, который нужно скопировать, и путь до директории, куда копируем:

Команда Linux для загрузки файлов

Процесс работы команды Linux для загрузки файлов

  • zip — упаковывает файлы в архив в формате .zip. Синтаксис для создания zip-архива такой: zip название архива.zip путь до файла, который надо упаковать. К примеру:
  • unzip — напрямую связан с zip, но выполняет противоположную функцию. Извлекает файлы из архива. Работает по тому же принципу – вводим команду, а потом путь до архива, который надо распаковать.
  • find — продвинутая команда по поиску объектов в файловой системе Linux. Можно искать элементы как по названию, так и по иным характеристикам. Например, указать тип файла: find -type d -name Timeweb. Такая команда покажет все директории с именем Timeweb.
  • grep — find ищет файлы и директории, а grep ищет текст в их содержимом. Как вариант, можно отыскать слово «тест» в документе «test.txt». Для этого введем следующую команду: cat test.txt | grep тест. cat перед grep необходим, чтобы вывести найденную информацию в консоль. В противном случае grep найдет искомый контент, но не покажет его.

Содержимое текстового файла

Вот, что написано в тестовом документе

Команда Linux для вывода текста в консоль

Что в терминал выводит cat

Команда Linux для фильтрации текста

И что выводит grep

  • diff — сокращение от слово difference. Показывает разницу между двумя текстовыми файлами. Для сравнения используется такой синтаксис: diff название первого файланазвание второго файла. К примеру, diff text-1.txt text-2.txt
  • mount — монтирует образ или раздел диска. Для использования нужно лишь указать путь к разделу или образу, который нужно смонтировать.
  • unmount — выполняет противоположную задачу.

Команды для отображения базовой информации и управления системой

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

Команда Linux для отображения состояния ЖД

  • df — показывает, сколько пространства занято на подключенных дисках и разделах. По умолчанию отображает данные в килобайтах. Можно переключиться на мегабайт, добавив параметр -m. Это выглядит так: df -m.
  • du — расскажет, сколько места занимает конкретный файл или папка. Чтобы узнать, насколько тяжелая директория Desktop, введем: du

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

В этой статье пойдет речь про команды навигации в терминале.

Решил написать несколько статей на тему терминала Linux. Постараюсь объяснять наиболее доходчиво.

Что из себя представляет корневая файловая система Linux?

Прежде, чем приступить к командам навигации в терминале, поговорим о директориях в Linux. Здесь нет дисков C:, D: и прочих.

Когда я начинал свой путь в Linux, для меня это было наиболее непонятно. Поэтому хочу пояснить этот момент.

Неважно, на сколько разделов вы разобьёте ваш диск, в системе будет:

Затем идут все остальные каталоги, которые служат для своих целей.

  • /home - хранит каталоги пользователей, в которых можно, как правило, выполнять большинство действий без пароля администратора. Ваш домашний каталог находится по адресу: /home/Ваше_Имя_пользователя .
  • /mnt и /media - в эти каталоги монтируются другие физические диски, флешки и прочие носители информации.
  • /media - сюда монтируются диски, флешки, то есть, в этом каталоге создается папка с названием вашего электронного носителя.

Остальные каталоги системные, рассказу о них стоит выделить целую статью.

Перейдем к командам в терминале.

Команды навигации в терминале.

Когда вы открываете терминал в Ubuntu, то вы находитесь в своем домашнем каталоге:

Домашний каталог

(тильда) - означает домашний каталог текущего пользователя.

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

Выполнение данной команды представлено на скриншоте выше.

Для навигации в терминале используется команда "cd" (англ. change directory - изменить каталог).

Сначала пишется команда cd, а затем путь, куда нужно перейти.

Вот так выглядит переход в каталог /home:

Но это не всё, что можно делать с помощью команды cd :

Примеры выполнения команды cd

Перейти в директорию уровнем выше:

Перейти в директорию двумя уровнями выше:

Перейти в домашнюю директорию вашего пользователя:

Перейти в домашнюю директорию пользователя user_name:

Перейти в директорию, в которой находились до перехода в текущую директорию:

Следующая команда, используемая в навигации - "ls" (сокращение от англ. list).

Если ввести в терминале:

отобразится содержимое текущей директории:

Примеры выполнения команды ls

Отобразить содержимое текущей директории с добавлением к именам символов, характеризующих их тип:

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

Показать скрытые файлы и директории в текущей директории:

Ключи можно комбинировать вместе:

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

Автодополение названий директорий в терминале.

Когда вы вводите команду cd, вам необязательно вводить полностью имя директории, достаточно нажать на клавиатуре клавишу "TAB", произойдет автодополнение названия каталога.

Если имя не заполнилось, значит, есть еще один каталог с таким названием. Нажав дважды клавишу "TAB", выведется список с каталогами, которые имеют в своём имени начальные буквы, которые вы ввели.

Если список огромнейший, то для отмены его просмотра нажмите клавишу N.

Это касается не только "cd", но и других команд. Например, когда вы хотите отредактировать какой-то файл. Вы выполнили команду ls, увидели, что у файла имя состоит из 30 знаков, то достаточно ввести первые буквы его имени и нажать клавишу "TAB" и произойдет автодополнение.

Если вы запустили систему в текстовом режиме или вовсе это сервер и на нём надо работать только через терминал, но на нём уже есть установлено графическое окружение, есть несколько способов его запустить.

В этой статье мы постараемся разобраться как запустить графическую оболочку Ubuntu из терминала несколькими способами.

Запуск графической оболочки Ubuntu

Сначала можно посмотреть текущий уровень запуска в systemd. Для этого выполните:

systemctl list-units --type target | egrep "eme|res|gra|mul" | head -1

sudo systemd isolate graphical.target

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

sudo systemctl start display-manager

Эта команда запустит менеджер входа в систему, после этого вы сможете ввести логин и пароль, а затем запуститься графическая оболочка.

С более простыми графическими оболочками, вроде Openbox, Fluxbox, i3wm и даже XFCE может сработать ещё один метод, очень популярный ранее. Это команда startx. Однако чтобы она сработала в файле

/.xinitrc надо прописать оболочку, которую вы хотите запустить. Например:

if [ -d /etc/X11/xinit/xinitrc.d ] ; then
for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
[ -x "$f" ] && . "$f"
done
unset f
fi
feh --bg-fill

/Загрузки/52453-sklon_holm_cerkvushka_sneg.jpg &
lxpanel &
exec openbox-session

Блок if загружает все конфигурационные файлы из каталога /etc/X11/xinit*, сторчка, начинающаяся с feh добавляет фон рабочего стола, следующая - нижнюю панель, а последняя запускает сам openbox. Теперь запуск графической оболочки Ubuntu из консоли выполняется командой:

Или если, на первом экране уже что-то запущено, можно использовать любой другой доступный, например, второй:


Обратите внимание, что оболочку можно запустить только из консоли TTY, из терминала в графическом окружении это не сработает. Как видите, всё просто. Ваша оболочка запуститься в том же терминале, в котором вы выполнили startx.

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Терминал и текстовые команды — главный способ управления операционной системой 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 копеек.

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