Меню Рубрики

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

Работа c linux. Командная строка.

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

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

Однако затем на работе начинаешь работать с удаленными машинами, к которым проще подключиться по ssh чем налаживать удаленный рабочий стол, с серверами, у которых вообще может не быть графического интерфейса и через какое-то время осознаешь насколько крутой и удобной может быть работа через терминал.

Сказывается разница изначальных задач этих систем Linux как наследие unix систем изначально больше приспособлена для работы в клиент-серверной архитектуре. Windows предназначена для частного использования.

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

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

Передвижение по директориям:

В linux системах файловая структура реализована в виде дерева с узлами-каталогами и файлами-листьями. Формально каталоги тоже файлы, содержащие дополнительный параметр — список файлов.

Нет разбивки на диски С:, D:, но есть файловый стандарт — соглашение, описывающее какие файлы где могут быть размещены. Его можно прочитать вот здесь.

Чтобы по всей этой красоте ориентироваться, есть несколько стандартных инструментов:

  • pwd — выводит в терминал полный адрес текущей директории
  • cd — команда позволяет перейти в директорию по абсолютному (/tmp/) или относительному пути. Для относительного пути есть несколько специальных команд `..` означает ‘перейти на уровень вверх’, а `

/` равносильно ‘домашней директории`

  • ls — позволяет увидеть список файлов и директорий в текущей директории. Если использовать аргумент -a , то вы увидите все файлы в директории, включая скрытые. Можно комбинировать несколько аргументов, например ls -lah выведет расширенный список данных о файлах и директориях.
  • tree — выводит древовидную структуру с корнем в текущей папке. Это не стандартный инструмент, но им очень удобно пользоваться для ориентирования в системе.
  • Чтение файлов:

    • cat — выводит содержимое файла прямо в консоль. Бывает, что нужно чтобы конфиг какого-нибудь скрипта висел перед глазами и тогда удобно использовать эту команду.
    • headtail — команды выводящие первые или последние строки читаемого файла. Кроме того, можно повесить tail в постоянный режим, с помощью аргумента -f . Тогда при добавлении новых строк в файл они будут так же отображаться у вас в консоли. Удобно, если планируете мониторить логи в реальном времени.
    • less — в случае если нет желания засорять консоль лишними записями можно воспользоваться этой командой-приложением. Важный момент, less не подгружает сразу весь файл, поэтому вы можете без опасений открывать даже очень большие логи не боясь нагрузить машину.

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

    • nano — простой понятный редактор файлов. Поддерживает подсветку синтаксиса, что бывает очень удобным.

    Мне его хватает для подавляющего большинства задач, но есть куда более хардкорные варианты:

    • vim — консольный редактор, обладающий большим встроенным функционалом, который можно ещё больше раскачать с помощью дополнительных плагинов. Имеет достаточно высокий порог входа из-за специфичного управления. Адепты постигшие его, говорят, что это очень удобно. Но высокий порог входа и не самый очевидный интерфейс породил достаточно большое количество мемов вроде этого комикса и вопросов на StackOverflow «Как выйти из vim?»
    • sed — потоковый текстовый редактор и полноценный язык программирования, предназначенный для обработки больших объемов текста. Уже этого любопытного сочетания должно быть достаточно, чтобы о нем почитать, но пока что не сталкивался с необходимостью его применения

    Поиск внутри файлов:

    • grep \ egrep \ frgep — команда работающая с регулярными выражениями и позволяющая найти строки внутри файла, подходящие под шаблон. Регулярные выражения это отдельная большая тема, по ним обязательно будет пост. Желающим разобраться подробнее могу посоветовать почитать «Регулярные выражения» Джеффри Фридла.

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

    Если нет терпения ждать следующую часть или захотелось разобраться самому, то могу посоветовать крутой и бесплатный курс «Основы командной строки» на Hexlet. Спасибо за внимание)

    Источник

    Как перейти в другой каталог в Linux?

    Как перейти в другой каталог в командной строке? Для этого есть команда cd — одна из самых важных команд, так как при помощи её вы сможете перемещаться по каталогам Linux. Как пользоваться командой cd?

    По умолчанию строка приглашения при первом открытии окна программы Терминал будет выглядеть примерно так:

    В рассматриваемом примере (user) — test, а имя компьютера (computer) —Linux, поэтому отображается следующее приглашение:

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

    Теперь давайте рассмотрим некоторые команды, начиная с команды cd, которая применяется для смены каталога (или папки). В простейшем случае вы просто вводите следующее:

    Эта команда делает папку home текущей рабочей папкой. Введите приведенный текст и нажмите клавишу или, и приглашение программы Терминал (Terminal) изменится на следующее:

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

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

    Вы можете попробовать подняться на уровень вверх в каталог /, введя следующую команду:

    Условное обозначение .. применяется для представления родительской папки. Какой бы ни была родительская папка, при выполнении этой команды Linux перейдет в нее автоматически. Теперь попробуйте следующую команду для перехода в вашу домашнюю папку:

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

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

    Вот такая команда cd и вот так её можно использовать при работе в терминале. Понять, как работает команда cd так же важно, как купить солнцезащитные очки ray ban в Харькове перед поездкой в Ялту или Крым.

    Не нашли ответ на свой вопрос? Воспользуйтесь поиском.

    Источник

    Linux: команды для работы с файлами и директориями

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

    ОСНОВЫ

    Итак, в Linux в отличие от Windows существует понятие полного и относительного пути. Разница между ними в том, что полный путь всегда начинается с корневого каталога (корневой каталог обозначается как / ), и далее также через слеш происходит перечисление всех названий каталогов на пути к искомому файлу или директории, а в случае относительного пути – в начале слеш не указывается. То есть без слеша путь указывается относительно нынешнего местоположения, а со слешем – относительно корневого каталога. Примеры:

    /tmp/file1 — относительный путь;

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

    КОМАНДЫ ДЛЯ РАБОТЫ С ФАЙЛАМИ И ДИРЕКТОРИЯМИ

    Команд довольно много, я перечислю самые, на мой взгляд, часто используемые:

    • cd — смена директории на домашнюю, можно добавлять аргументы – к примеру, cd /root;
    • pwd — команда покажет текущий путь к директории, в которой вы находитесь в данный момент;
    • ls — вывод списка файлов и каталогов по порядку (наверное, самая известная команда) если добавить модификаторы lax, то команда выведет форматированный список всех файлов и директорий (в том числе скрытые);
    • cat — показывает содержимое файла, к примеру – cat /root/file.txt;
    • tail — например, tail /root/file.txt, выводит только конец файла, удобно при работе с логами;
    • cp — копирование директории или файла, то есть cp /root/file.txt /etc/folder1/file.txt – из /root файл будет скопирован в указанную директорию
    • mkdir — создание директории, например, mkdir /root/1;
    • rmdir — удаление директории, синтаксис такой же, как и у команды выше;
    • rm -rf — очень опасная команда (и довольно популярная в интернет фольклоре), но иногда и она может пригодиться – она удаляет директорию со вложенными файлами;
    • mv — переименование файла или директории, сначала указывается целевая директория и затем её новое название;
    • locate — поиск файла с заданным названием;

    Для наглядности, посмотрите на вывод команды tail

    # tail install.log
    Installing dosfstools-3.0.9-4.el6.i686
    Installing rfkill-0.3-4.el6.i686
    Installing rdate-1.4-16.el6.i686
    Installing bridge-utils-1.2-10.el6.i686
    Installing eject-2.1.5-17.el6.i686
    Installing b43-fwcutter-012-2.2.el6.i686
    Installing latrace-0.5.9-2.el6.i686
    Installing trace-cmd-2.2.4-3.el6.i686
    Installing crash-trace-command-1.0-5.el6.i686
    *** FINISHED INSTALLING PACKAGES ***

    В примере выше, команда tail вывела только последние 11 строк.

    РАБОТА С АРХИВАМИ

    Работа с .tar архивами – очень часто встречающаяся задача, поэтому хотим привести несколько полезных команд, чтобы не пришлось лишний раз пользоваться поисковиком 🙂

    • tar cf example.tar /home/example.txt — создание .tar архива, который будет содержать в себе текстовый файл example.txt;
    • tar cjf example1.tar.codez2 /home/example1.txt — команда с тем же функционалом, только будет использоваться сжатие Bzip2;
    • tar czf example2.tar.gz /home/example2.txt — опять архивация, только на этот раз со сжатием Gzip;
    • tar xf example.tar — распаковка архива в текущую директорию, если тип сжатия нестандартный, то после расширения нужно добавить тип сжатия (.codez2 или .gz соответственно);

    РАБОТА С .RPM ПАКЕТАМИ

    Так как мы больше всего рассказываем и пишем про FreePBX , который по умолчанию скачивается с официального сайта вместе c СentOS, здесь место для пары команд по работе c RPM пакетами. Почему? Потому что CentOS – RPM-based Linux Distribution 🙂 Команды требуют наличие прав супер — пользователя.

    • rpm -qa — вывод списка всех установленных RPM пакетов в системе;
    • rpm –i rpmpackage.rpm — установка пакета с именем rpmpackage;
    • rpm –e rpmpackage — удаление пакета с таким именем;
    • dpkg -i *.rpm — установка всех пакетов в директории;

    ПРО ЖЁСТКИЕ ДИСКИ

    Команда fdisk –l выводит информацию о всех подключенных жёстких и сменных дисках в системе, бывает очень полезной. Ниже пример вывод этой команды (в качестве пример рассматривается OTRS — сервер)

    Источник

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Как перейти в root в linux
  • Как переименовать флешку linux
  • Как переименовать файл в консоли linux
  • Как переименовать файл в linux в терминале
  • Как переименовать каталог в linux