Разное

Linux как открыть файл через консоль: Страница не найдена | Losst

Содержание

Как открыть терминал в линукс

Терминал это текстовая среда ввода и вывода. Используется для управления системными процессами. Представляет собой вид файла устройства, которые могут выполнять дополнительные команды.

Командная строка

В текстовой среде можно быстро:

  1. устанавливать и удалять программы;
  2. менять настройки сети;
  3. менять права доступа;
  4. включать, отключать графический интерфейс;
  5. выключать, перезагружать компьютер;
  6. устанавливать драйвера;
  7. создавать пользователей;
  8. обновлять ядро и все компоненты системы;
  9. устанавливать дополнительные меры защиты от взлома;
  10. настраивать сеть, днс, ip-адрес, маску;
  11. запускать программы, скрипты по расписанию. Планировщик заданий cron;
  12. перезагружать, выключать компьютер;
  13. и многое другое.

Что такое shell?

Shell, если говорить визуально это черное окно по середине. В моем случае оно белое.

Shell — это оболочка, программа, которая принимает различные команды от пользователя.

Графическая оболочка помогает пользователю облегчить восприятия линукс, однако иногда требуется пользователю запустить командную строку. В этом случае и возникает вопрос. Как же ее открыть?

Запуск

Есть несколько способов запустить terminal:

  • самый простой. Необходимо нажать вместе горячие клавиши «CTRL + ALT+ T». Данный способ работает на многих дистрибутивах. Debian, Ubunty…
  • через графический интерфейс операционной системы. В разделе «Администрирование» —> «терминал». В Ubuntu «Приложения» -> Системные утилиты ->»Терминал». В Дебиане на английском языке «Menu» -> «Administaration» -> «terminal». 
  • Нажать ALt + F2 и ввести в окне «gnome-terminal».

Вопросы и ответы

Как вызвать командную строку с правами root?

Есть два основных варианта:

  1. В строке ввода набрать команду «sudo bash» и ввести пароль.
  2. Ввести «su -«.

Как выйти из терминала Линукс?

  1. Если в графическом окружении, то вводим «exit».
  2. Eсли без графики, то нажимаем горячие клавиши alt + ctrl + f7.

Терминал и консоль в чем разница?

Чтобы понять отличия, необходимо различить эти два понятия.

Terminal, как говорилось выше это текстовая среда ввода и вывода. Консоль — физический терминал.

Эти два термина очень связаны.

Konsole это работа с самим устройством физически. Terminal — удаленно.

Например в графической среде мы открывали эмулятор terminal, он давал нам доступ в «консоль».

Как открыть консоль?

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

  1. в ubuntu, debian — «gnome-terminal»;
  2. в Linux Mandriva -«konsole».

Важно! Активация текстовой консоли отключит графическую оболочку, однако запущенные процессы останутся работать.

В итоге можно сказать, что запустить terminal в Линуксе не должно вызвать затруднений. Другое дело уже вводить команды, устанавливать и удалять программы. Основные команды для новичков описаны в другой статье www.vseprolinux.ru/osnovnye-komandy

Чтение файлов — Основы командной строки

Основы командной строки

Теперь, когда мы понимаем общее устройство файловой системы в POSIX-совместимых ОС, пора приступать к взаимодействию с файлами. В этом уроке рассмотрим различные способы чтения текстовых файлов.

Самый простой способ прочитать файл — команда cat.

$ man cat

NAME
     cat -- concatenate and print files

SYNOPSIS
     cat [-benstuv] [file ...]

...

cat ожидает аргументы — пути до файлов, которые надо читать. В простейшем случае достаточно передать один путь, это довольно удобно, когда надо посмотреть содержимое небольшого файла:

$ cat .bash_logout
# ~/.bash_logout: executed by bash(1) when login shell exits.

# when leaving the console clear the screen to increase privacy

if [ "$SHLVL" = 1 ]; then
    [ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q
fi

Иногда, нужно посмотреть только начало файла или его конец, в такой ситуации помогают команды head и tail. Они тоже принимают на вход путь до файла, только head показывает первые 10 строк, а tail — последние 10 строк файла. Это поведение можно менять, задавая желаемое количество строк через опцию -n.

Head

$ head -n 2 .bashrc
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)

Tail

$ tail -n 2 .bashrc
  fi
fi

Некоторые файлы наполняются очень интенсивно. Например, так называемые «логи». Логи (иногда говорят «журналы») — это текстовые файлы, в которые заносится информация о происходящих процессах в определённой системе. В Linux логи лежат в каталоге /var/log. Туда пишет как сам Linux, так и большая часть установленных программ. Основной файл логов Linux называется syslog. Туда попадает ключевая информация о происходящих процессах в операционной системе и возникающих ошибках. Если события происходят часто и есть потребность анализировать их в процессе поступления, то команда cat оказывается неудобной, потому что syslog большой. Не подходит и простой запуск команды tail, потому что придётся запускать её каждую секунду и всё равно можно что-нибудь пропустить (если интенсивность записи событий в лог очень высокая).

В этой ситуации поможет tail, запущенный в особом режиме благодаря флагу -f. tail -f path/to/file не просто выводит последние строчки файла, но ждёт появления новых. Как только файл дописывается, tail сразу выводит на экран добавленные строки. Среди наших примеров это первая команда, которая захватывает управление, то есть после запуска она не заканчивает выполнение сразу, а продолжает работать, ожидая новые данные в файле, который выводится. Для остановки её выполнения нажмите Ctrl + C.

# Вероятно у вас не хватит прав смотреть файл syslog, чтобы получить к нему доступ,
# наберите sudo перед командой tail как показано ниже, в следующих уроках этот вопрос рассматривается подробнее
# Есть вероятность того, что sudo попросит вас ввести пароль. Сделайте это и нажмите Enter. При наборе пароля
# курсор не будет двигаться, это сделано для безопасности.
$ sudo tail -f syslog
Aug 28 18:00:01 ip-10-0-1-223 systemd-udevd[15400]: Could not generate persistent MAC address for veth5c6ed9c: No such file or directory
Aug 28 18:00:01 ip-10-0-1-223 kernel: [126412.013499] device veth6969122 entered promiscuous mode
Aug 28 18:00:01 ip-10-0-1-223 systemd[1]: Starting Update resolvconf for networkd DNS...
Aug 28 18:00:01 ip-10-0-1-223 systemd-timesyncd[522]: Network configuration changed, trying to establish connection.
Aug 28 18:00:01 ip-10-0-1-223 systemd-timesyncd[522]: Synchronized to time server 91.173.73.198:123 (ntp.ubuntu.com).
Aug 28 18:00:01 ip-10-0-1-223 sh[15415]: sed: cant read /run/systemd/netif/leases/*: No such file or directory
Aug 28 18:00:01 ip-10-0-1-223 kernel: [126412.086162] IPv6: ADDRCONF(NETDEV_UP): veth6969122: link is not ready
Aug 28 18:00:01 ip-10-0-1-223 systemd-udevd[15403]: Could not generate persistent MAC address for veth6969122: No such file or directory
Aug 28 18:00:02 ip-10-0-1-223 systemd-timesyncd[522]: Network configuration changed, trying to establish connection.
Aug 28 18:00:02 ip-10-0-1-223 systemd-timesyncd[522]: Synchronized to time server 91.173.73.198:123 (ntp.ubuntu.com).
Aug 28 18:00:02 ip-10-0-1-223 systemd-timesyncd[522]: Network configuration changed, trying to establish connection.

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

# Снова придётся воспользоваться sudo
$ sudo less syslog
# здесь много вывода

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

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

  • q — выход
  • f — вперёд на страницу
  • b — назад на страницу
  • если набрать /, затем начать вводить буквы и нажать Enter, то выполнится поиск введённого текста. Перемещение по найденным совпадениям выполняется командой n (переход к следующему совпадению) и командой N (переход к предыдущему совпадению).

Возможно, вы увидели сходство поведения пейджеров с тем, что мы наблюдали в мануалах. Открою секрет: когда мы запускали man, то перед нами открывался less с загруженным туда контентом. Как вы увидите позже, пейджеры невероятно популярны и неявно запускаются другими программами.


Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты.

Ошибки, сложный материал, вопросы >

Нашли опечатку или неточность?

Выделите текст, нажмите
ctrl + enter
и отправьте его нам. В течение нескольких дней мы исправим ошибку или улучшим формулировку.

Что-то не получается или материал кажется сложным?

Загляните в раздел «Обсуждение»:

  • задайте вопрос. Вы быстрее справитесь с трудностями и прокачаете навык постановки правильных вопросов, что пригодится и в учёбе, и в работе программистом;
  • расскажите о своих впечатлениях. Если курс слишком сложный, подробный отзыв поможет нам сделать его лучше;
  • изучите вопросы других учеников и ответы на них. Это база знаний, которой можно и нужно пользоваться.
Об обучении на Хекслете

Терминал Linux. Команды поиска файлов и директорий.

В этой статье поговорим о командах поиска файлов и директорий в терминале, таких как find, locate, whereis, which.

Комментирование приветствуется.

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

Формат команды find.

В общем виде команда find выглядит следующим образом:

find путь [опции]

где путь – это директория, в которой мы хотим произвести поиск, опции — это ключи-параметры поиска.

Путь поиска команды find.

В обычном случае мы просто указываем полный путь к нужному каталогу, например:

/usr/share

Но в качестве пути поиска можно указывать следующие значения:

.поиск в текущем каталоге;
/поиск от корневого каталога;
~поиск в домашнем каталоге.

Основные опции команды find.

  • -name — поиск файлов по имени;

  • -user — поиск файлов, принадлежащих указанному пользователю;

  • -type — поиск файлов определенного типа. Вот наиболее используемые типы:

    • d – каталог;
    • f – обычный файл;
    • l – символическая ссылка;
  • -size -n,+n, n — поиск файлов с размером меньше(-), больше (+) или равное n единиц;

  • -mtime -n, +n — поиск файлов, созданных или модифицируемых менее чем (-) или более чем (+) n дней назад.

Примеры использования команды find.

Самый простой вариант поиска, указываем путь и имя файла. Давайте найдем файл с именем file1:

Но если мы напишем не полностью имя, например «file», то файл с именем «file1» не найдется. Для этого нужно писать имя в кавычках и в конце добавить *, вот таким образом:

find /home/ -name "file*"

Но нашлись и файлы и директории, в названии которых встречается «file». Чтобы найти только файлы, воспользуемся опцией -type , передав ей значение f, чтобы искать только файлы (для поиска только директорий мы бы передали d):

find /home/ -name "file*" -type f

Но теперь нашлись файлы во всех вложенных директориях. А что если нам надо найти файл только в текущей директории или с уровнем вложенности 1 или 2?

Для этого используется опция maxdepth (глубина поиска), то есть, если мы хотим найти файл в директории поиска, без рекурсивного просмотра всех директорий:

find ~ -maxdepth 1 -name "file*" -type f

Теперь нашлись файлы только в директории поиска.

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

find ~ -maxdepth 2 -name "file*" -type f

Как видно на скриншоте, теперь найден файл и в папке «Загрузки».

Важно!

Нужно указывать опцию -maxdepth перед опцией -name.

Теперь разберем очень важную опцию поиска файла по размеру «-size».

Важно, если мы хотим найти файлы размером в килобайтах, нужно писать в конце k, для мегабайт M, для гигабайт G, для байт b. Важно соблюдать регистр.

Разберем пример, найдем файлы в домашней директории менее 10 килобайт с именем file*:

find ~ -name "file*" -type f -size -10k

Нашлись все файлы в домашней директории и ее папках, размер которых менее 10 килобайт.

Теперь давайте найдем файлы в домашней директории, которые весят больше 100 мегабайт:

find ~ -type f -size +100M

Нашелся один файл, который весит более 100 мегабайт.

Также можно искать файлы определенного размера, например, которые весят 1G или 1M:

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

Поиск файлов, которые были изменены или созданы менее 2 дней назад:

Также можно использовать опцию -user, чтобы найти только файлы определенного пользователя:

find ~ -user username -type f -mtime -2

Вместо username нужно подставить имя пользователя. Если искать ваши файлы, то можно использовать системную переменную $USER, которая выводит имя текущего пользователя.

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

find ~ \( ! -regex '.*/\..*' \) -type f -mtime-2

Данная команда может показаться сложной на первый взгляд. Вот это вот регулярное выражение \( ! -regex '.*/\..*' \) как раз и убирает из поиска все скрытые файлы и директории:

Поиск файлов, которые были изменены или созданы более 100 дней назад:

find ~ -type f -mtime +100

В одной статье очень трудно перечислить все возможности этой команды поиска файлов и директорий. Это самое основное и часто используемое.

Помимо find для поиска файлов существует ещё команда locate.

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

Команда locate ищет файлы очень быстро, так как она производит поиск не по файловой системе, а по собственной базе данных.

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

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

Формат команды locate.

locate file_name [опции]

Вводится команда locate и имя файла, который хотим найти.  И, конечно же, опции, которые разберем на примерах.

Примеры использования команды locate.

Давайте найдем все файлы с расширением .exe:

Если мы хотим вывести результаты поиска в одну строку, тогда используем следующую опцию -0 (это тире и ноль)

Вот результат:

Но если мы ищем файл с названием «file», то не найдутся файлы с именами в другом регистре: File, FILE и т.д.

Чтобы поиск сделать регистронезависимым, то нужно использовать следующую опцию -i, то есть:

Если мы хотим узнать просто количество файлов, имеющих в имени «file», или количество файлов с определенным расширением, к примеру .exe, то нужно указать опцию -c:

Что означает, что в системе 10 файлов имеют расширение .exe.

Если мы хотим ограничить число выводимых файлов в поиске по заданному параметру, мы ставим опцию -n и число:

То есть, данная команда с опцией -n 2 выведет нам только 2 первых найденных файла:

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

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

Команда же which отображает полный путь к установленной программе. Также в качестве примера возьмем google-chrome:

Результат выполнения данных команд:

Там ваши вопросы не потеряются и вы быстрее получите ответ, в отличие от комментариев.

Linux редактировать файл в консоли – Тарифы на сотовую связь