Как читать и определять переменные окружения и оболочки на Linux

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

Синтаксис

Рассмотрим синтаксис утилиты.

cp [параметр] [что копировать]  [куда купировать]

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

Основные параметры:

  • —attributes-only – переместить не сам файл, а только данные пользователя и флаги доступа;
  • -f —force – вместо старых данных записать новые;
  • -i —interactive – спросить о необходимости переписывать старую информацию;
  • -L – создать копию не ссылок-символов, а того, что находится по этим ссылкам;
  • -n – оставить старые файлы на их месте;
  • -P – игнорировать ссылки-символы;
  • -r – скопировать данные Linux используя рекурсию;
  • -s – ничего не копировать, просто создать ссылки-символы;
  • -u – копировать файл, но при условии, что он уже был изменен;
  • -x – проводить все действия только внутри одной системы файлов;
  • -p – во время копирования сохранить все информацию о файле;
  • -t – команда дает возможность считать файл для приема директорией, и отправлять в него нужный объект;

Вывод

В данной статье мы ознакомились со следующими командами:

  • head — просмотр первых n строк данных.
  • tail — просмотр последних n строк данных.
  • sort — организуйте данные в порядке.
  • nl — напечатайте номера строк перед данными.
  • wc — распечатать количество строк, слов и символов.
  • cut — разрезать данные на поля и отображать только указанные поля.
  • sed — сделайте поиск и замените данные.
  • uniq — удалить дубликаты строк.
  • tac — распечатайте данные в обратном порядке.
Читайте также:  PXE Boot и WinPE для установки по сети Windows 10 / Server 2020

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

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

  • cat — для относительно коротких файлов: cat ;
  • less —  считывает текст не полностью, а небольшими фрагментами: less /etc/;
  • more — для длинных файлов;
  • tail -f — используется для просмотра растущего файла в окне интерактивного запуска кода.

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

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

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

информации по командам.

man – получение информации по командах.

Перейти в перед на страницу клавиша «f» назад клавиша «b» остановить выполнение команды клавиша «q».

k – данная опция позволяет найти команду по выполнению ею действий.

f — получение кратких сведений о команде.

г – формирование базы данных команд.

t – вывод формирование информации на печать.

Info – получение информации по командам.

Перемещение по выводимой информации клавиша <PageDown> перемещает на один экран вниз, клавиша <PageUp> на один экран вверх, нажатие клавиши <В> возвращает в начало раздела, а клавиша <Ctrl+L> обновляет экран. Используя пробел или клавиши<Васkзрасе> и <Delete> вы можете просмотреть весь набор infо страниц для конкретной команды.

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

b – данная опция показывает только исполняемый файл.

m – показывает лишь страницы справочного руководства.

s – получение только сведений об исходных файлах.

what is – описание команд.

Аналог команды «man –f».

aprosos – поиск информации о команде по выполняемым ею действиям.

Аналог команды «man —k».

which – сведения об экземпляре программы для запуска.

Команда «which» сообщает о том, какой вариант команды будет выполнен, если вы зададите ее имя.

Читайте также:  Linux Mint 19.3 Установка и начало работы

Установка переменных окружения по логину

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

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

Различие между логин, не-логин, интерактивной и не-интерактивной сессией оболочки

Bash оболочка читает различные конфигурационные файлы в зависимости от того, какая сессия запущена.

Логин-сессия оболочки запускается по аутентификации пользователя. Если пользователь входит в сессию терминала или через SSH и аутентифицируется, тогда эта сессия оболочки будет определена как логин-оболочка.

Если начинается новая сессия bash-оболочки в пределах аутентифицированной сессии, подобно вызову команды bash из консоли, тогда такая оболочка определяется без логина и сразу запускается.

Помимо этих типов сессий, существуют интерактивный и не-интерактивный подход. Первый прикрепляется к терминалу, второй же — наоборот.

Таким образом сессии оболочки могут различаться по этим двум типам.

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

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

Логин сессия при запуске в первую очередь будет читать конфигурационные заявления из файла /etc/profile. Затем она будет смотреть данные в первом конфигурационном файле и пользовательской домашней директории, чтобы получить особые настройки пользователя.

Читаются исключительно файлы, которые располагаются в ~/.bash_profile, ~/.bash_login и ~/.profile.

В не-логин сессии оболочка читает файл /etc/ и пользовательский ~/.bashrc файл для построения своего окружения.

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

Реализация переменных окружения

Как можно увидеть выше, существуют различные отдельные файлы для настроек.

Это обеспечивает гибкость, которая может помочь в особых ситуациях, где будут необходимы конкретные настройки для логин и не-логин оболочки. Хотя, обычно, настройки одинаковы в обоих ситуациях.

Читайте также:  Как установить скайп на ноутбук основные. Способы

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

Обычно в конфигурациях указываются особые переменные окружения для пользовательских нужд. Эти настройки указываются в ~/.bashrc файле.

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

export VARNAME=value

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

$ source ~/.bashrc

Если необходимо установить системные переменные, то можно добавить их в /etc/profile, /etc/ или /etc/environment.

Прочие команды Linux и языки программирования

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

sed — мощная утилита для обработки текста.

awk — язык для обработки текста.

grep — утилита поиска текста с использованием регулярных выражений, часто используется в связке с другими командами. grep ‘^a’ » — покажет все строки в файле , которые начинаются с буквы а.

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

gcc — компилятор языка C, с помощью которого можно получить исполняемые файлы программ, которые распространяются в исходных кодах. Или откомпилировать свои программы.

gcc hello.c -o privet — компиляция программы hello.c, результатом компиляции будет программа с названием privet. По умолчанию (без опции -o) выходной файл будет называться GCC — это целый набор компиляторов (GNU Compiler Collection). Кроме C есть поддержка программ на C++, Fortran, Ada, Objective-C, Java и Go.

g++ — компилятор языка C++ из GCC. perl — мощный скриптовый язык.

python — вызов интерпретатора языка Python. Это современный и мощный язык, который может быть рекомендован начинающим.

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