Directory shell cmd что это такое

Запуск командной строки в проводнике

Directory shell cmd что это такое. Смотреть фото Directory shell cmd что это такое. Смотреть картинку Directory shell cmd что это такое. Картинка про Directory shell cmd что это такое. Фото Directory shell cmd что это такое

Командная строка является невероятно полезным способом для выполнения определенных задач. Например, если вы хотите запустить программу со специальными параметрами, командная строка — это один из быстрых способов сделать это. Проблема состоит в том, что навигация по структуре каталогов современного компьютера может быть настоящей болью при использовании командной строки. Тем более что Windows 10 поддерживает такие длинные имена папок и программ.

Хорошей новостью является то, что вы можете открыть командную строку прямо из окна Windows Explorer. Вы попадете прямо в эту папку!

Командная строка против PowerShell

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

Командная строка — это простой, легкий текстовый интерфейс для Windows. Напротив, PowerShell — это сложный, мощный инструмент командной строки, который позволяет опытным пользователям выполнять всестороннее управление системой компьютера, среди множества других полезных возможностей.

Directory shell cmd что это такое. Смотреть фото Directory shell cmd что это такое. Смотреть картинку Directory shell cmd что это такое. Картинка про Directory shell cmd что это такое. Фото Directory shell cmd что это такое

Командная строка использует «CMD.exe», в то время как PowerShell использует «powershell.exe», поэтому они полностью разделены. Хотя некоторые функции перекрываются, две программы могут использовать разные команды для выполнения одной и той же работы. Эта статья посвящена только командной строке, но некоторые ярлыки также будут работать для PowerShell. Мы укажем, когда это так.

Открыть командную строку с помощью адресной строки Explorer

Когда вы открываете папку Windows Explorer, вы увидите адресную строку, похожую на ту, что в веб-браузере. По умолчанию он показывает путь к текущей папке. Вы можете видеть это здесь.

Directory shell cmd что это такое. Смотреть фото Directory shell cmd что это такое. Смотреть картинку Directory shell cmd что это такое. Картинка про Directory shell cmd что это такое. Фото Directory shell cmd что это такое

Если вы нажмете на эту адресную строку, вы можете ввести текст. Набрав «cmd» и нажав Enter, вы откроете командную строку в этом месте.

Directory shell cmd что это такое. Смотреть фото Directory shell cmd что это такое. Смотреть картинку Directory shell cmd что это такое. Картинка про Directory shell cmd что это такое. Фото Directory shell cmd что это такое

Это также будет работать, если вы введете «powershell» вместо «cmd». Переносит вас непосредственно к приглашению Windows PowerShell в этой папке.

Добавление «Открыть окно команд здесь»

В ранних версиях Windows 10 существовала запись в контекстном меню под названием «Открыть окно команды здесь», которая открывала командную строку в указанной вами папке. Например, если вы щелкнете правой кнопкой мыши по папке и воспользуетесь этой командой, командная строка запустится с текущей папки.

После обновления 2017 Creator для Windows 10 Microsoft удалила эту опцию. Почему? Скорее всего, именно благодаря усилиям Microsoft оттолкнуть людей от использования командной строки к использованию PowerShell.

Вернуть эту команду не очень сложно, но она требует некоторой обработки в реестре Windows. Если вам неудобно это делать, лучше всего пропустить этот метод, но если вы действительно хотите вернуть эту опцию контекстного меню, вот что нужно сделать.

Directory shell cmd что это такое. Смотреть фото Directory shell cmd что это такое. Смотреть картинку Directory shell cmd что это такое. Картинка про Directory shell cmd что это такое. Фото Directory shell cmd что это такое

Открыв редактор реестра, найдите следующий раздел реестра по этому пути:

Directory shell cmd что это такое. Смотреть фото Directory shell cmd что это такое. Смотреть картинку Directory shell cmd что это такое. Картинка про Directory shell cmd что это такое. Фото Directory shell cmd что это такое

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

Щелкните правой кнопкой мыши по ключу и выберите «Разрешения» в контекстном меню.

Directory shell cmd что это такое. Смотреть фото Directory shell cmd что это такое. Смотреть картинку Directory shell cmd что это такое. Картинка про Directory shell cmd что это такое. Фото Directory shell cmd что это такое

В открывшемся диалоговом окне нажмите «Дополнительно».

Directory shell cmd что это такое. Смотреть фото Directory shell cmd что это такое. Смотреть картинку Directory shell cmd что это такое. Картинка про Directory shell cmd что это такое. Фото Directory shell cmd что это такое

В верхней части окна расширенных настроек вы увидите указанного в списке владельца ключа. Нажмите «Изменить».

Directory shell cmd что это такое. Смотреть фото Directory shell cmd что это такое. Смотреть картинку Directory shell cmd что это такое. Картинка про Directory shell cmd что это такое. Фото Directory shell cmd что это такое

Затем введите свое имя пользователя и затем нажмите «Проверить имена», чтобы подтвердить его. Затем нажмите ОК.

Directory shell cmd что это такое. Смотреть фото Directory shell cmd что это такое. Смотреть картинку Directory shell cmd что это такое. Картинка про Directory shell cmd что это такое. Фото Directory shell cmd что это такое

Наконец, убедитесь, что установлен флажок Заменить владельца на субконтейнеры и объекты, прежде чем нажимать ОК.

Directory shell cmd что это такое. Смотреть фото Directory shell cmd что это такое. Смотреть картинку Directory shell cmd что это такое. Картинка про Directory shell cmd что это такое. Фото Directory shell cmd что это такое

Теперь мы вернулись на страницу разрешений. Выберите «Администраторы» в группе или именах пользователей и выберите «Разрешить» рядом с «Полное управление». Затем нажмите ОК.

Directory shell cmd что это такое. Смотреть фото Directory shell cmd что это такое. Смотреть картинку Directory shell cmd что это такое. Картинка про Directory shell cmd что это такое. Фото Directory shell cmd что это такое

Теперь нам нужно восстановить пункт контекстного меню для командной строки.

Вернувшись в окно CMD, все, что нам нужно сделать, это изменить «DWORD» с «HideBasedOnVelocityiD» на «ShowBasedOnVelocityId». Просто щелкните по нему правой кнопкой мыши и выберите «переименовать», затем измените имя DWORD.

Directory shell cmd что это такое. Смотреть фото Directory shell cmd что это такое. Смотреть картинку Directory shell cmd что это такое. Картинка про Directory shell cmd что это такое. Фото Directory shell cmd что это такое

Если все прошло по плану, вы должны увидеть опцию «Открыть окно командной строки», когда вы нажимаете SHIFT + правой кнопкой мыши на элементе в окне проводника Windows.

Directory shell cmd что это такое. Смотреть фото Directory shell cmd что это такое. Смотреть картинку Directory shell cmd что это такое. Картинка про Directory shell cmd что это такое. Фото Directory shell cmd что это такое

Открытие командной строки с помощью проводника Windows

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

Directory shell cmd что это такое. Смотреть фото Directory shell cmd что это такое. Смотреть картинку Directory shell cmd что это такое. Картинка про Directory shell cmd что это такое. Фото Directory shell cmd что это такое

Вы в команде сейчас!

Как и в случае с HyperTerminal, Microsoft может в один прекрасный день полностью отказаться от командной строки в пользу PowerShell. Хотя это само по себе неплохо, PowerShell мог бы немного поработать, чтобы помочь неопытным пользователям, которым было бы удобно с командной строкой, использовать обычные функции так же легко. Тем не менее, до того дня, когда командная строка действительно пойдет по пути Dodo, вы можете быть уверены, что это всего лишь несколько щелчков мышью.

Если вам нужно улучшить навыки командной строки, то почему бы не проверить эти 21 команду, которую должен знать каждый пользователь Windows. Вы будете быстро выполнять задания, вооруженные этими невероятно полезными трюками.

Источник

Unix shell: абсолютно первые шаги

Зачем и для кого статья?

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

Здесь не будет пересказа манов (документации), и статья никак не отменяет и не заменяет их чтение. Вместо этого я расскажу о главных вещах (командах, приемах и принципах), которые надо осознать с самого начала работы в unix shell-е, чтобы работа происходила эффективно и приятно.

Статья касается полноценных unix-подобных окружений, с полнофункциональным шеллом (предпочтительно zsh или bash)и достаточно широким набором стандартных программ.

Что такое шелл

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

Типичный вид шелла:
Directory shell cmd что это такое. Смотреть фото Directory shell cmd что это такое. Смотреть картинку Directory shell cmd что это такое. Картинка про Directory shell cmd что это такое. Фото Directory shell cmd что это такое

Шелл — это основной способ для взаимодействия со всеми Unix-подобными серверными системами.

Где встречаются системы с командной строкой?

Какие задачи разумно решать шеллом?

Абсолютно первые шаги

Начинаем работу: войти и выйти

Убедитесь, что точно знаете, как запустить шелл и как из него выйти.

Если вы работаете за машиной, на которой установлена Ubuntu, вам надо запустить программу Terminal. По окончании работы можно просто закрыть окно.

На MacOS — тоже запустить Terminal.

Для доступа к удаленному серверу — воспользоваться ssh (если локально у вас MacOS, Ubuntu или другая unix-like система) или putty (если у вас Windows).

Кто я, где я?

История команд (history)

Важное свойство полноценной командной строки — история команд.

Пролистывание истории, редактирование и повторное выполнение команд — самые типичные действия при работе в командной строке, привыкайте.

Copy-paste

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

Прекрасной особенностью текста является то, что его можно копировать и вставлять, это верно и для командной строки.

Попробуйте выполнить команду date +»%y-%m-%d, %A»
Вводили ли вы ее целиком руками или скопировали из статьи? Убедитесь, что вы можете ее скопировать, вставить в терминал и выполнить.

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

Ключи и опции

При исследовании истории команд вы уже столкнулись с тем, что у команды ls есть по крайней мере два варианта. Если вызвать ее просто так, она выводит простой список:

Кроме того, команды могут принимать в качестве параметров имена файлов, каталогов или просто текстовые строки. Попробуйте:

man — справка по командам и программам, доступным на вашей машине, а также по системным вызовам и стандартной библиотеке C.

Попробуйте и сравните поведение:

Можно передать файл в пролистыватель сразу в параметрах:

Права

С любым файлом или каталогом связан набор «прав»: право на чтение файла, право на запись в файл, право исполнять файл. Все пользователи делятся на три категории: владелец файла, группа владельца файла, все прочие пользователи.

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

STDIN, STDOUT, конвейеры (пайпы)

В данном случае вы подали в STDIN программы двухстрочный текст, а в STDOUT получили три числа.

Важнейшее свойство юниксовой командной строки состоит в том, что программы-«трубы» можно соединять между собой: выход ( STDOUT ) одной программы передавать в качестве входных данных ( STDIN ) другой программе.

Такая конструкция из соединенных программ называется по-английски pipe (труба), по-русски — конвейер или пайп.

Объединение программ в конвейер делается символом | (вертикальная черта)

Составление конвейеров (пайпов) — очень частое дело при работе в командной строке. Пример того, как это делается на практике, читайте в разделе «Составление конвейера-однострочника».

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

Вывод ( STDOUT ) програмы можно не только передать другой программе по конвейеру, но и просто записать в файл. Такое перенаправление делается с помощью > (знак «больше»):

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

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

Проверьте, что теперь записано в файле.

Кроме того, программе можно вместо STDIN передать любой файл. Попробуйте:

Что делать, когда что-то непонятно

Если вы сталкиваетесь с поведением системы, которое не понимаете, или хотите добиться определенного результата, но не знаете, как именно, советую действовать в следующем порядке (кстати, это относится не только к шеллам):

Методы работы

Скопировать-и-вставить — из man-ов, из статей на StackOverflow и т.п.Командная строка состоит из текста, пользуйтесь этим: копируйте и используйте примеры команд,записывайте удачные находки на память, публикуйте их в твиттерах и блогах.

Читать man. Nuff said.

Вытащить из истории предыдущую команду, добавить в конвейер еще одну команду, запустить, повторить.См. также раздел «Составление конвейера-однострочника».

Базовые команды

Аналитика

Диагностика системы

Некоторых программ у вас может не быть, их надо установить дополнительно. Кроме того, некоторые опции этих программ доступны только привилегированным пользователям ( root ‘у).

Массовое и полуавтоматическое выполнение

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

Разное

Составление конвейера-однострочника

— только процессы текущего пользователя.

Шаг 3.
Повторять пункт 2, пока не получатся чистые нужные данные.

— все процессы с нужным именем (плюс, может быть, лишние вроде vim task-6-server.c и т.п.),

— только процессы с нужным именем

— pid-ы нужных процессов, п. 3 выполнен

Шаг 4.
Применить подходящий финальный обработчик. Клавишей «Вверх» вытаскиваем из истории предыдущую команду и добавляем обработку, которая завершит решение задачи:

Задания для тренировки

Хотите попрактиковаться в новых умениях? Попробуйте выполнить следующие задания:

Что изучать дальше?

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

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

Кому это надо?

А стоит ли вообще изучать сегодня командную строку и шелльный скриптинг? Определенно стоит. Приведу только несколько примеров из требований Facebook к кандидатам, которые хотят поступить на работу в FB.

Data Scientist, Economic Research: Comfort with the command line and with Unix core tools; preferred: adeptness with a scripting language such as Python, or previous software engineering experience.

MySQL Database Engineer: High degree of proficiency in Shell scripting (Bash, Awk, etc); high degree of proficiency in Linux administration.

Manufacturing Quality Engineer, Server: Scripting skills in Bash, Perl, or Python is desirable.

Data Platform Engineer: 2 years experience with Unix/Linux systems.

DevOps Engineer, Data: 2 years experience with Unix/Linux system administration and programming.

Вопросы?

Источник

Python → Работа в терминале в Windows, Linux и MacOS (cli, shell, bash, cmd)

Он зародился в 1960-х годах и унаследовался от телетайпов и печатных машин. Все эти годы активно использовался всеми владельцами компьютеров, пока не появились графические интерфейсы. В середине 1990-х годов графические интерфейсы начали массово завоёвывать рынок и компьютеры стали доступны для большего количества людей. Ведь, согласитесь, перетаскивать файлы, нажимать кнопки мышкой или пальцем и видеть эти кнопки, а так-же фотографии и графики намного интереснее и удобнее, чем вводить команды на клавиатуре и видеть текстовый ответ 🙂
Но у интерфейса командной строки есть важные преимущества! У него намного лучше отзывчивость, быстрее отображается результат и вы быстрее и более точно сделаете нужное вам действие (если знаете команды, конечно же). Так же у вас больше контроля над программой запущенной в терминале.

В каждой современной операционной системе есть встроенное приложение терминала.
cmd для Windows, Terminal для Linux и MacOS

Запуск терминала

Cmd в Windows

Для запуска терминала в Windows нажмите Пуск, наберите на клавиатуре cmd и нажмите клавишу Enter когда в списке будет выделена программа CMD или нажмите курсором мыши.

Directory shell cmd что это такое. Смотреть фото Directory shell cmd что это такое. Смотреть картинку Directory shell cmd что это такое. Картинка про Directory shell cmd что это такое. Фото Directory shell cmd что это такое

Откроется окно программы:

Directory shell cmd что это такое. Смотреть фото Directory shell cmd что это такое. Смотреть картинку Directory shell cmd что это такое. Картинка про Directory shell cmd что это такое. Фото Directory shell cmd что это такое

Terminal в Linux

В большинстве дистрибутивов Linux вы можете нажать сочетание клавиш Ctrl + Alt + T, которая запускает Terminal.

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

Directory shell cmd что это такое. Смотреть фото Directory shell cmd что это такое. Смотреть картинку Directory shell cmd что это такое. Картинка про Directory shell cmd что это такое. Фото Directory shell cmd что это такое

Terminal в MacOS

Directory shell cmd что это такое. Смотреть фото Directory shell cmd что это такое. Смотреть картинку Directory shell cmd что это такое. Картинка про Directory shell cmd что это такое. Фото Directory shell cmd что это такое

Работа в терминале

В терминале, обычно, вы видите полный путь к текущей рабочей директории(папки) и символ ‘>’ (или ‘$’). Это приглашение ввести команду.

Вы печатаете команду и нажимаете клавишу Enter для того, чтобы её выполнить.
Каждый момент времени вы находитесь только в одной директерии(папке), которая называется «текущей» или «рабочей».

Windows

Первое, что вы можете сделать, находясь в терминале это посмотреть содержимое рабочей папки. Для этого наберите команду dir и нажмите Enter.

Directory shell cmd что это такое. Смотреть фото Directory shell cmd что это такое. Смотреть картинку Directory shell cmd что это такое. Картинка про Directory shell cmd что это такое. Фото Directory shell cmd что это такое

Вы увидите список файлов и папок в текущей директории. Также будет видна дата создания этих файлов.

Вы можете написать команду cd и увидеть где вы сейчас находитесь.

И так можно выйти из любой папки, до тех пор пока вы не дойдете до корня Локального диска С:.

Указанная папка должна обязательно находиться в текущей директории.

Запуск программы

Если вы перешли в нужную вам папку, где находится ваша программа или скрипт. Вы можете его запустить. Например программу на языке Python, которая находится в файле program.py:

Вот и все на этом. Теперь вы немного умеете работать в Командной строке Windows

Linux

Первое, что вы можете сделать, находясь в терминале это посмотреть содержимое рабочей папки. Для этого наберите команду ls и нажмите Enter.

Directory shell cmd что это такое. Смотреть фото Directory shell cmd что это такое. Смотреть картинку Directory shell cmd что это такое. Картинка про Directory shell cmd что это такое. Фото Directory shell cmd что это такое

Directory shell cmd что это такое. Смотреть фото Directory shell cmd что это такое. Смотреть картинку Directory shell cmd что это такое. Картинка про Directory shell cmd что это такое. Фото Directory shell cmd что это такое

Вы можете написать команду pwd и увидеть где вы сейчас находитесь.

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

Указанная папка должна обязательно находиться в текущей директории.

Запуск программы

Если вы перешли в нужную вам папку, где находится ваша программа или скрипт. Вы можете его запустить. Например программу на языке Python, которая находится в файле program.py:

Вот и все на этом. Теперь вы немного умеете работать в Терминале Linux.

MacOS

Первое, что вы можете сделать, находясь в терминале это посмотреть содержимое рабочей папки. Для этого наберите команду ls и нажмите Enter.

Directory shell cmd что это такое. Смотреть фото Directory shell cmd что это такое. Смотреть картинку Directory shell cmd что это такое. Картинка про Directory shell cmd что это такое. Фото Directory shell cmd что это такое

Directory shell cmd что это такое. Смотреть фото Directory shell cmd что это такое. Смотреть картинку Directory shell cmd что это такое. Картинка про Directory shell cmd что это такое. Фото Directory shell cmd что это такое

Вы можете написать команду pwd и увидеть где вы сейчас находитесь.

Directory shell cmd что это такое. Смотреть фото Directory shell cmd что это такое. Смотреть картинку Directory shell cmd что это такое. Картинка про Directory shell cmd что это такое. Фото Directory shell cmd что это такое

Directory shell cmd что это такое. Смотреть фото Directory shell cmd что это такое. Смотреть картинку Directory shell cmd что это такое. Картинка про Directory shell cmd что это такое. Фото Directory shell cmd что это такое

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

Directory shell cmd что это такое. Смотреть фото Directory shell cmd что это такое. Смотреть картинку Directory shell cmd что это такое. Картинка про Directory shell cmd что это такое. Фото Directory shell cmd что это такое

Указанная папка должна обязательно находиться в текущей директории.

Запуск программы

Если вы перешли в нужную вам папку, где находится ваша программа или скрипт. Вы можете его запустить. Например программу на языке Python, которая находится в файле program.py:

Directory shell cmd что это такое. Смотреть фото Directory shell cmd что это такое. Смотреть картинку Directory shell cmd что это такое. Картинка про Directory shell cmd что это такое. Фото Directory shell cmd что это такое

Вот и все на этом. Теперь вы немного умеете работать в Терминале MacOS.

Источник

Directory shell cmd что это такое

Shell: что это такое и зачем он нужен

Не вдаваясь в подробности истории (краткое описание можно найти в разделе 3.10 книги «Unix: универсальная среда программирования» Кернигана и Пайка), стоит лишь заметить, что csh и tcsh не в полной мере реализуют командный язык sh, а zsh, являясь самой последней разработкой, умеет все, что и любой другой подвид, и плюс много чего еще.

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

Изложение в данном разделе основано на zsh (которая и используется на практических занятиях), но большая часть описанного верно и для других оболочек.

Что такое shell и зачем он нужен
Совет
Совет: чтобы узнать, какой используется shell, надо выполнить команду

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

При этом весь вывод команды ls будет вместо терминала отправлен в файл. Символ » > » означает, что выходной поток должен быть помещен в указанный далее файл, а не выведен на терминал. Если в файле что-то было, то старое содержимое будет стерто.

Еще один пример: можно слить содержимое нескольких файлов в один файл, «перехватив» выходной поток команды cat и отправив его в файл:

Сделать то же самое при помощи команды cp нельзя:

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

Использование » >> » очень удобно, если есть некий «долгоживущий» файл (например, протокол каких-то действий или результатов), к которому иногда надо дописывать данные в конец. Просто указать » >> » с какой-нибудь командой обычно намного быстрее, чем загружать файл в текстовый редактор и что-то дописывать.

Перенаправление вывода команд в файл

Можно обойтись без временного файла, воспользовавшись конвейером:

Символ » | » означает, что надо взять выходной поток от первой команды, и отправить его на входной поток второй.

Замечание
В отличие от Dos, где тоже поддерживаются операторы перенаправления ввода/вывода, в Unix команды в конвейере запускаются одновременно, и данные передаются через программный канал (это специальное средство, предоставляемое ядром Unix) сразу от одной программы к другой, а не через скрытый временный файл.

Можно заставить команду читать вместо терминала не только выходной поток другой команды, но и обычный файл. Это делается при помощи оператора » «, который указывает, что вместо терминала надо брать входной поток из указанного далее файла. Пример (команда » sort » построчно сортирует входные данные):

Что будет, если мы попросим ls показать файлы, которых нет?

Файлы которые есть, ls покажет, а про остальные скажет, что их нет. А теперь перенаправим вывод ls в файл:

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

Поток сообщений об ошибках
Замечание
Те, кто программировал на языке C, знают, что там есть три стандартных файловых потока для ввода/вывода: stdin (входной поток, дескриптор 0), stdout (выходной поток, дескриптор 1) и stderr (поток сообщений об ошибках, дескриптор 2). Операторы » > «, » » и » 2> » перенаправляют именно эти потоки.

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

Какие еще есть операторы перенаправления ввода/вывода?

Часто возникает задача: надо найти, в каком файле встречается некое слово или фраза. Для этого служит команда » grep «. Она ищет «образец» в указанных файлах (или в стандартном вводе, если файлы не указаны) и печатает все строки, на которых он встречается. Пример (найти строку » no «):

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

Пример (найти все символьные линки в директории /etc):

Здесь используется то, что для символьных линков ls первым символом строки (тип файла) выводит букву » l «.

Вообще говоря, в конвейере может участвовать сколько угодно команд. Так, команда

делает почти то же, что и в предыдущем примере, но отбирает только те директории, в имени которых есть «lib».

Фоновое исполнение задач

Команда-фильтр grep: поиск строки по файлам

Часто бывает нужно запустить «долгоиграющую» программу, которая все равно пишет данные только в файл (например, какие-либо вычисления), или графическое приложение, которое не пользуется окном терминала. Но ведь пока программа запущена, терминал «принадлежит» ей, и им больше ни для чего нельзя пользоваться!

Unix позволяет запускать задачи в «фоновом режиме»: если в конце командной строки указать символ » & «, то после запуска команды терминал можно продолжать использовать для ввода других команд.

Пример (запустить графический калькулятор):

Посмотреть список запущенных задач можно командой » jobs «:

(Символы «+» и «-» означают «последняя запущенная задача» и «предпоследняя»).

Если у программы не предусмотрено способа завершить исполнение, то ее можно «убить» командой » kill «:

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

Бывает и обратное: случайно интерактивная программа (например, текстовый редактор) запущена в фоновом режиме. Интерактивные программы при этом автоматически «замораживаются» (потому, что они пытаются читать с терминала, который ей «не принадлежит»). Перевести их в «основной режим» можно командой » fg » (сокращение от ForeGround):

Если попробовать набрать » exit » для выхода из системы (или из окна терминала) при исполняющихся в фоновом режиме задачах, то zsh не позволит выйти:

Повторная команда » exit » все же будет выполнена, но zsh постарается завершить фоновые задачи:

Чтобы zsh не считал своей обязанностью «убитие» фоновых задач при выходе, можно заставить его забыть про них:

Чтобы запустить фоновую задачу и заставить zsh сразу же забыть про нее, надо набрать всю команду (включая » & «) в круглых скобках:

Фоновое исполнение задач

Для просмотра списка процессов служит команда » ps «. У нее есть довольно много ключей, которые к тому же различаются в BSD и SystemV. Поэтому здесь приведем лишь несколько наиболее часто встречающихся вариантов ее использования. В основном изложение относится к BSD-версии команды ps (в том числе и Linux), эквиваленты для SysV-версии (Solaris, IRIX) приведены отдельно.

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

Как посмотреть список процессов: ps
Замечание
Команда ps в последних версиях Linux при указании любых ключей выдает предупреждение типа

Команде kill можно указывать не только номер задания, но и PID. Так, команда » kill 1206 » пошлет команду завершения процессу с номером 1206. Стоит напомнить, что при запуске задач оболочка кроме номера задания печатает также PID соответствующего процесса (или процессов, в случае конвейера):

Завершение и изменение статуса процессов: kill

В большинстве современных клонов Unix есть программа, позволяющая оперативно отслеживать, какие процессы запущены в системе и какие из них потребляют больше всего процессорного времени. Эта программа называется » top «.

Где брать информацию про shell

Интерактивный список самых активных процессов: top

Источник

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

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

Где брать информацию про shell