Linux команда для выполнения файла

Основные команды в консоли Linux

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

Зачем же существуют в Linux команды консоли? Вводя их в консоль, пользователь может оперативно совершать массу действий: открытие, перемещение и копирование файлов, просмотр различной информации и статистики, мониторинг и отладка, получение подробной информации о системе, видоизменение программной и визуальной части системы. И это лишь часть возможностей, которые вы получаете, благодаря этим командам.

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

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

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

1. Простейшие действия

ls — выдать список файлов в текущем каталоге.

cd [каталог] — сменить текущий каталог. Если имя каталога не указывается, то текущим становится домашний каталог пользователя.

cp — копировать файлы.

mv — переместить или переименовать файл.

ln -s — создать символическую ссылку.

rm — удалить файлы.

mkdir — создать новый каталог.

rmdir — удалить пустой каталог.

rm -r (рекурсивное удаление) — удалить файлы или каталоги и их подкаталоги. ОСТОРОЖНЕЙ с этой командой, поскольку пока у Linux нет системы полного восстановления удаленных файлов (если вы не пользуетесь специальными программами для помещения удаленных файлов в специальный каталог, что-то вроде «корзинки» в ОС Windows).

cat — вывод содержимого файла на стандартный вывод (по умолчанию — на экран).
Можно записать вводимый на экран текст с помощью следующей последовательности действий:

cat >
.
.
.
CTRL/d

more — просмотр содержимого длинного текстового файла по страницам.

less — просмотр содержимого текстового файла с возможностью вернуться к предыдущим страницам. Нажмите q, когда захотите выйти из программы. «less» — аналог команды DOS «more», хотя очень часто «less» бывает более удобной чем «more».

pico — редактировать текстовый файл с помощью текстового редактора pico.

lynx — просмотр файла html или WWW ссылки с помощью текстового браузера Lynx.

tar -zxvf — распаковать архив tgz или tar.gz

find — name имя_файла — найти файл с именем «имя файла» и отобразить результат поиска на экране. Поиск начинается с каталога ; «имя_файла» может содержать маску для поиска.

pine — хорошая текстово-ориентированная программа для чтения электронной почты.

mc — запустить программу управления файлами «Midnight Commander» (Выглядит как «Norton Commander», но по своим возможностям ближе к far).

./Имя_Программы — запустить на исполнение исполняемый файл в текущем каталоге, если текущего каталога нет в списке каталогов, указанных в переменной окружения PATH.

xterm (в X терминале) — запустить простой терминал в графической оболочке X-windows. Для того чтобы выйти из него, наберите «exit».

2. Стандартные команды и команды, дающие информацию по системе команд (всегда набираются в одной строке)

pwd — вывести имя текущего каталога.

whoami — вывести имя под которым Вы зарегистрированы.

date — вывести дату и время.

time — выполнить программу и получить информацию о времени, нужном для ее выполнения. Не путайте эту команду с date. Например: Я могу определить выполнить команду ls и узнать, как много времени требуется для вывода списка файлов в каталоге, набрав последовательность: time ls

who — определить кто из пользователей работает на машине.

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

ruptime — какие машины работают в сети, и какие остановлены.

finger — системная информация о зарегистрированном пользователе. Попробуйте: finger

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

ps a — вывести список текущих процессов в Вашем сеансе работы.

top — интерактивный список текущих процессов, отсортированных по использованию центрального процессора.

uname -a — вывести информацию о версии операционной системы.

free — вывести информацию по использованию памяти.

df -h — вывести информацию о свободном и используемом месте на дисках.

du . -bh | more — вывод на экран информации о размере файлов и каталогов, начиная с текущего каталога.

set|more — вывести текущие значения переменных окружения. (Не для всех shell. Для csh/tcsh — printenv | more, хотя set тоже покажет полезную информацию.)

echo $PATH — вывести значение переменной окружения «PATH» Команда echo может использоваться для вывода значений любых переменных окружения. Воспользуйтесь командами set или printenv для получения полного списка.

3. Работа с сетью

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

ssh [-l Ваше_имя_пользователя_на_удаленной_машине] — вхождение в сеанс на удаленной машине. Используйте имя машины или ее IP адрес. (Вы должны быть зарегистрированы на этой удаленной машине). Если Ваше_имя_пользователя одинаково на локальной и удаленной машинах, то его можно не набирать, т.е.: ssh — позволит Вам войти в сеанс на удаленной машине

Читайте также:  Драйверы radeon hd2400 pro для windows

ssh — выполнит на удаленном компьютере заданную команду и передаст Вам на экран результат ее выполнения (При установлении соединения по ssh Вы должны будете ввести пароль, который Вы имеете на удаленном компьютере; при этом пароль будет передан по сети в зашифрованном виде, т.е. безопасным образом.)

scp — обеспечивает безопасное копирование файлов в сети:

scp @ : — cкопирует файл с локального компьютера в Вашу корневую директорию на удаленном компьютере (наличие «:» в конце команды обязательно).

telnet — связаться по telnet с другой машиной. Войдите в сеанс работы после установления связи с помощью вашего пароля.

ftp — связаться по ftp с удаленным компьютером. Этот тип связи хорош для копирования файлов с/на удаленную машину.

Предпочтительно не пользоваться командами telnet и ftp, а использовать только ssh и scp, поскольку они обеспечивают безопасность сетевого соединения!

hostname -i — показывает IP адрес компьютера, на котором Вы работаете.

4. Некоторые команды администрирования

alias ls=»ls -Fskb —color» — создать alias-псевдоним для того чтобы одной командой можно было запустить более сложную комбинацию команд. Поместите создание alias в файл /etc/bashrc если вы хотите, чтобы эти псевдонимы были доступны всем пользователям вашей системы.

Для tcsh — формат определения alias другой:

alias la ‘ls -AF —color=none’

kapasswd — команда для изменения пароля для доступа к файловой системе AFS. При работе на базовом Linux-кластере ЛИТ следует пользоваться только этой командой (а не командой passwd!) для изменения пароля для вхождения в кластер.

passwd — изменить свой пароль на каком-либо локальном компьютере.

chmod — изменить права доступа к файлу, владельцем которого вы являетесь.
Есть три способа доступа к файлу:
чтение — read (r), запись — write (w), исполнение — execute (x) и три типа пользователей:
владелец файла — owner (u), члены той же группы, что и владелец файла (g) и все остальные (o).
Поверить текущие права доступа можно следующим способом:

ls -l имя_файла

Если файл доступен всеми способами всем пользователям, то напротив имени файла будет следующая комбинация букв: rwxrwxrwx
Первые три буквы — это права доступа для владельца файла, второй триплет — права доступа для его группы, следующая тройка — права доступа для остальных. Отсутствие права доступа показывается как «-«.; Например: Эта команда позволит вам установить права доступа на чтение для файла «junk» для всех (all=user+group+others):

chmod a+r junk

Эта команда отнимет право доступа на исполнение файла у всех кроме пользователя и группы:

chmod o-x junk

Для получения дополнительной информации наберите chmod —help или man chmod или почитайте любое руководство по Linux. Вы можете установить права доступа по умолчанию для создаваемых вами файлов с помощью команды»umask» (наберите man umask).

chown — изменить владельца файлов.

chgrp — изменить группу для файла.

Вы можете использовать две последние команды, после того как сделали копию файла для кого-либо.

5. Контроль процессов

ps axu | grep — отобразить все процессы, запущенные в системе от Вашего имени пользователя.

kill

— «убить» процесс. Для начала определите PID Вашего «убиваемого» процесса при помощи ps.

killall — «убить» все процессы по имени программы.

xkill (в терминале X window) — «убить» процесс, на окно которого укажите курсором.

6. Встроенные в Linux программные утилиты и языки

emacs (в X терминале) — редактор emacs. Очень многофукционален, но весьма сложен для неопытных пользователей.

gcc — GNU C компилятор. В сети есть очень хорошие руководства по использованию.

g++ — GNU C++ компилятор.

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

python — современный и довольно элегантный объектно-ориентированный интерпретатор. Выглядит таким же мощным и немного проще, чем perl.

g77 — GNU FORTRAN компилятор.

f2c — перекодировщик из FORTRAN в C.

fort77 — компилятор FORTRAN. Выполняет f2c, а затем использует gcc или g++.

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

tr — translation utility (другими словами — замена букв в текстовом файле).

gawk — GNU awk (используется для обработки форматированных текстовых файлов). Лучше вызывать просто awk.

sed — утилита для обработки текстовых файлов.

Источник

[в закладки] Bash для начинающих: 21 полезная команда

Материал, перевод которого мы публикуем сегодня, предназначен для тех, кто хочет освоить командную строку Linux. Умение эффективно пользоваться этим инструментом позволяет экономить немало времени. В частности, речь здесь пойдёт о командной оболочке Bash и о 21 полезной команде. Также мы поговорим о том, как пользоваться флагами команд и псевдонимами Bash, которые позволяют ускорить ввод длинных инструкций.

Термины

В ходе освоения работы в командной строке Linux вам может встретиться множество понятий, в которых полезно будет ориентироваться. Некоторые из них, вроде «Linux» и «Unix», или «командная оболочка» и «терминал», иногда путают. Поговорим об этих и о других важных терминах.

Unix — это популярная операционная система, которая была разработана Bell Labs в 1970-х. Её код был закрытым.

Linux — это самая популярная Unix-подобная операционная система. Она в наши дни используется на множестве устройств, в том числе — и на компьютерах.

Терминал (terminal), или эмулятор терминала — это программа, дающая доступ к операционной системе. Одновременно можно открывать несколько окон терминала.

Оболочка (shell) — это программа, которая позволяет отправлять операционной системе команды, написанные на особом языке.

Bash расшифровывается как Bourne Again SHell. Это — самый распространённый язык командной оболочки, используемый для взаимодействия с операционной системой. Кроме того, оболочка Bash по умолчанию используется в macOS.

Интерфейс командной строки (Command Line Interface, CLI) — это способ взаимодействия человека и компьютера, при использовании которого пользователь вводит команды с клавиатуры, а компьютер, выполняя эти команды, выводит, в текстовом виде, сообщения для пользователя. В основном CLI используется для получения свежей информации о неких сущностях, например, о файлах, и для работы с файлами. Интерфейс командной строки следует отличать от графического пользовательского интерфейса (Graphical User Interface, GUI), при работе с которым, в основном, используется мышь. Интерфейс командной строки часто называют просто командной строкой.

Читайте также:  Для чего нужно устанавливать обновления windows

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

Теперь, когда мы рассмотрели важные термины, хочу отметить, что здесь я буду пользоваться терминами «Bash», «оболочка» и «командная строка» как взаимозаменяемыми, равно как и понятиями «директория» (directory) и «папка» (folder).

Стандартные потоки, которыми мы будем здесь пользоваться — это стандартный ввод (standard input, stdin ), стандартный вывод (standard output, stdout ) и стандартный вывод ошибок (standard error, stderr ).

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

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

21 Bash-команда

▍Получение информации

▍Манипуляции с файловой системой

▍Перенаправление ввода-вывода и конвейеры

▍Чтение файлов

▍Удаление файлов, остановка процессов

▍Поиск

▍Архивация

  • tar : создание архивов и работа с ними.

Поговорим об этих командах подробнее.

Подробности о командах

Для начала давайте разберёмся с командами, результаты работы которых выдаются в форме stdout . Обычно эти результаты появляются в окне терминала.

▍Получение информации

man command_name : вывод руководства по команде, то есть — справочной информации.

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

ls : вывод содержимого директории. Эта команда тоже используется весьма часто.

ls -a : вывод скрытых файлов. Здесь применён флаг -a команды ls . Использование флагов помогает настраивать поведение команд.

ls -l : вывод подробной информации о файлах.

Обратите внимание на то, что флаги можно комбинировать. Например — так: ls -al .

ps : просмотр выполняющихся процессов.

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

▍Манипуляции с файловой системой

cd my_directory : изменение рабочей директории на my_directory . Для того чтобы перейти на один уровень выше в дереве каталогов используйте в качестве my_directory относительный путь ../ .

touch my_file : создание файла my_file по заданному пути.

mkdir my_directory : создание папки my_directory по заданному пути.

mv my_file target_directory : перемещение файла my_file в папку target_directory . При указании целевой директории нужно использовать абсолютный путь к ней (а не конструкцию вроде ../ ).

Команду mv , кроме того, можно использовать для переименования файлов или папок. Например, выглядеть это может так:

mv my_old_file_name.jpg my_new_file_name.jpg
cp my_source_file target_directory : создание копии файла my_source_file и помещение её в папку target_directory .

ln -s my_source_file my_target_file : создание символической ссылки my_target_file на файл my_source_file . Если изменить ссылку, то изменится и исходный файл.

Если файл my_source_file будет удалён, то my_target_file останется. Флаг -s команды ln позволяет создавать ссылки и для директорий.

Теперь поговорим о перенаправлении ввода-вывода и конвейерах.

▍Перенаправление ввода-вывода и конвейеры

my_command : заменяет дескриптор файла стандартного ввода ( stdin ) на файл my_file . Это может оказаться полезным в том случае, если команда ожидает ввода неких данных с клавиатуры, а эти данные заранее сохранены в файле.

my_command > my_file : перенаправляет результаты работы команды, то есть то, что обычно попадает в stdout и выводится на экран, в файл my_file . Если файл my_file не существует — он создаётся. Если файл существует — он перезаписывается.

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

Если вместо символа > воспользоваться конструкцией >> , то, при условии существования файла, в который перенаправляется вывод команды, этот файл перезаписан не будет. Данные будут добавлены в конец этого файла.

Теперь взглянем на конвейерную обработку данных.

То, что выводит одна команда, подаётся на вход другой команды. Это похоже на подключение одной трубы к другой

first_command | second_command : символ конвейера, | , используется для того чтобы отправить результаты работы одной команды другой команде. То, что команда, находящаяся в левой части описываемой конструкции, отправляет в stdout , попадает в stdin команды, которая находится справа от символа конвейера.

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

С помощью символа конвейера можно объединять в цепочку несколько команд. Выглядит это так:

Конвейер из нескольких команд можно сравнить с трубопроводом

Обратите внимание на то, что когда команда, находящаяся слева от символа | , выводит что-то в stdout , то, что она вывела, немедленно становится доступным в виде stdin второй команде. То есть оказывается, что, используя конвейер, мы имеем дело с параллельным выполнением команд. Иногда это может привести к неожиданным результатам. Подробности об этом можно почитать здесь.

Теперь поговорим о чтении данных из файлов и о выводе их на экран.

▍Чтение файлов

head my_file : считывает строки из начала файла и выводит их на экран. Читать можно не только содержимое файлов, но и то, что команды выводят в stdin , используя эту команду в качестве элемента конвейера.

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

Head (голова) находится спереди, а tail (хвост) — сзади

Если вы работаете с данными, используя библиотеку pandas, тогда команды head и tail должны быть вам знакомы. Если это не так — взгляните на вышеприведённый рисунок, и вы без труда их запомните.

Читайте также:  Repairing automatic repair windows 10 что делать

Рассмотрим другие способы чтения файлов, поговорим о команде cat .

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

cat my_one_file.txt : когда этой команде передают один файл — она выводит его в stdout .

Если же передать ей два файла или большее количество файлов, то она ведёт себя по-другому.

cat my_file1.txt my_file2.txt : получив на вход несколько файлов эта команда конкатенирует их содержимое и выведет то, что получилось в stdout .

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

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

▍Удаление файлов, остановка процессов

rm my_file : удаляет файл my_file .

rm -r my_folder : удаляет папку my_folder и все содержащиеся в ней файлы и папки. Флаг -r указывает на то, что команда будет работать в рекурсивном режиме.

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

kill 012345 : останавливает указанный выполняющийся процесс, давая ему время на корректное завершение работы.

kill -9 012345 : принудительно завершает указанный запущенный процесс. Флаг вида -s SIGKILL означает то же самое, что и флаг -9 .

▍Поиск

Для поиска данных можно использовать разные команды. В частности — grep , ag и ack . Начнём наше знакомство с этими командами с grep . Это — проверенная временем, надёжная команда, которая, правда, медленнее других и не так, как они, удобна в использовании.

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

grep -i my_regex my_file : поиск выполняется без учёта регистра символов.

grep -v my_regex my_file : возвращает все строки, в которых не содержится my_regex . Флаг -v означает инверсию, он напоминает оператор NOT , имеющийся во многих языках программирования.

grep -c my_regex my_file : возвращает сведения о количестве совпадений с искомым шаблоном, найденных в файле.

grep -R my_regex my_folder : выполняет рекурсивный поиск во всех файлах, находящихся в заданной папке и в папках, вложенных в неё.

Теперь поговорим о команде ag . Она появилась позже grep , она быстрее, работать с ней удобнее.

ag my_regex my_file : возвращает сведения о номерах строк, и сами строки, в которых найдены совпадения с my_regex .

ag -i my_regex my_file : поиск выполняется без учёта регистра символов.

Команда ag автоматически обрабатывает файл .gitignore и исключает из вывода то, что найдено в папках или файлах, перечисленных в этом файле. Это очень удобно.

ag my_regex my_file — skip-vcs-ignores : содержимое файлов систем автоматического контроля версий (наподобие .gitignore ) при поиске не учитывается.

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

В начале этого раздела мы упомянули о команде ack . Команды ack и ag очень похожи, можно сказать, что они взаимозаменяемы на 99%. Однако команда ag работает быстрее, поэтому я описал именно её.

Теперь поговорим о работе с архивами.

▍Архивация

tar my_source_directory : объединяет файлы из папки my_source_directory в один файл tarball. Такие файлы удобно использовать для того, чтобы передавать кому-нибудь большие наборы файлов.

Tarball-файлы, создаваемые этой командой, представляют собой файлы с расширением .tar (Tape ARchive). То, что в названии команды и в расширении имён файлов, создаваемых ей, скрыто слово «tape» (лента), говорит о том, как давно существует эта команда.

tar -cf my_file.tar my_source_directory : создаёт tarball-файл с именем my_file.tar с содержимым папки my_source_directory . Флаг -c расшифровывается как «create» (создание), а флаг -f как «file» (файл).

Для извлечения файлов, находящихся в .tar -файле, используется команда tar c флагами -x («extract», извлечение) и -f («file», файл).

tar -xf my_file.tar : извлекает файлы из my_file.tar в текущую рабочую директорию.

Теперь поговорим о том, как сжимать и распаковывать .tar -файлы.

tar -cfz my_file.tar.gz my_source_directory : здесь, с использованием флага -z («zip», алгоритм сжатия) указано, что для сжатия файлов должен использоваться алгоритм gzip (GNU zip). Сжатие файлов позволяет экономить дисковое пространство при хранении таких файлов. Если же файлы планируется, например, передавать другим пользователям, это способствует более быстрой загрузке таких файлов.

Распаковать файл .tar.gz можно, добавив флаг -z к команде извлечения содержимого .tar -файлов, которую мы рассматривали выше. Выглядит это так:

tar -xfz my_file.tar.gz
Надо отметить, что у команды tar есть ещё множество полезных флагов.

Bash-псевдонимы

Bash-псевдонимы (их ещё называют алиасами или сокращениями) предназначены для создания сокращённых наименований команд или их последовательностей, использование которых вместо обычных команд ускоряет работу. Если у вас, предположим, имеется псевдоним bu , за которым скрывается команда python setup.py sdist bdist_wheel , то для вызова данной команды достаточно воспользоваться этим псевдонимом.

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

Если в вашей системе нет файла

/.bash_profile , то вы можете создать его самостоятельно, воспользовавшись командой touch . После создания псевдонима перезапустите терминал, после чего вы сможете этим псевдонимом пользоваться. В данном случае ввод двух символов заменяет ввод более чем трёх десятков символов команды, которая предназначена для сборки Python-пакетов.

/.bash_profile можно добавлять псевдонимы для любых часто используемых команд.

▍Итоги

В этом материале мы рассмотрели 21 популярную команду Bash и поговорили о создании псевдонимов для команд. Если вам эта тема интересна — вот цикл публикаций, посвящённый Bash. Здесь можно найти pdf-версию этих публикаций. Кроме того, если вы хотите освоить Bash, помните о том, что тут, как и при изучении любой другой программной системы, важна практика.

Уважаемые читатели! Какие команды, которые полезно знать начинающим, вы добавили бы к тем, которые были рассмотрены в этой статье?

Источник

Оцените статью