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

Дополнительно

Дополнительные сведения об определенных командах смотрите в следующих разделах, посвященных справке по командной строке, на веб-сайте корпорации Майкрософт: http://go.microsoft.com/fwlink/?LinkId=66683 http://go.microsoft.com/fwlink/?LinkId=63080 http://go.microsoft.com/fwlink/?LinkID=95301

С тех самых пор как компьютер стал неотъемлемой частью жизни современного общества, мы привыкли работать в визуальном графическом интерфейсе. Простым языком это — кликать мышкой на картинки, перетаскивать их и т. д. Но на заре компьютерной технологии все было по-другому. Тогда команды машине задавались исключительно в текстовом режиме. Да и сейчас программисты и так называемые продвинутые пользователи могут запросто общаться со своим компьютером с помощью текстовых команд.

Проверка кода завершения предыдущей команды

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

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

Составим, например, командный файл, который бы копировал файл my.txt на диск C: без вывода на экран сообщений о копировании, а в случае возникновения какой-либо ошибки выдавал предупреждение:

В операторе IF ERRORLEVEL … можно также применять операторы сравнения чисел, приведенные в табл. 3.2. Например:

Замечание.

Иногда более удобным для работы с кодами завершения программ может оказаться использование переменной %ERRORLEVEL%. (строковое представление текущего значения кода ошибки ERRORLEVEL ).

Параметры командной строки

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

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

void main(int argc, char **argv) {
	...
}

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

Первым аргументом (argv) всегда является имя программы. При этом имя выводится в зависимости от того, откуда была запущена программа.

#include <conio.h>
#include <stdio.h>

void main(int argc, char **argv) {
	printf("%s", argv);
}

Первый аргумент — это имя программы

Теперь научимся немного работать с командной строкой. Это понадобится для того, чтобы передавать аргументы нашей программе.
Сочетание клавиш Win+R вызывает окно «Выполнить». Наберите в нём cmd и вы откроете командную строку. Также можно найти cmd.exe поиском в меню Пуск.
В юникс-подобных операционных системах можно вызвать программу «терминал».

Выполнить

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

Для перехода по нужному пишется cd адрес. Например, нужно перейти на windows в папку C:\Windows\System32

В линуксе если нужно перейти в папку /var/mysql

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

Терминал имеет следующие полезные особенности: если нажать стрелку вверх, по появится предыдущая выполненная команда. Если нажать tab, то терминал
попытается дополнить строку до известной ему команды, или дополнить путь, перебирая все папки и файлы в текущей папке.

Наберите
нажимайте tab и смотрите, что происходит.

Ещё одна важная команда dir на windows и ls на linux, выводит на консоль содержимое текущей папки (той папки, в которой вы находитесь в данный момент)

Ваша программа вернула своё полное имя. Перейдите в папку, где располагается ваша программа и посмотрите её содержимое

Переходим в папку, в которой располагается наша программа и смотрим содержимое

Теперь, после того, как мы перешли в нашу папку, можно выполнить нашу программу. Для этого наберите её имя.

Вызов программы из командной строки

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

#include <conio.h>
#include <stdio.h>

void main(int argc, char **argv) {
	int i;
	for (i = 0; i < argc; i++) {
		printf("%s\n", argv);
	}
}

Соберите проект. Перед сборкой убедитесь, что программа закрыта. Теперь вызовите программу, передав ей разные аргументы. Для этого напишите имя программы и через пробел аргументы

Передача аргументов программе

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

#include <conio.h>
#include <stdio.h>
#include <stdlib.h>

void main(int argc, char **argv) {
	int a, b;
	if (argc != 3) {
		printf("Error: found %d arguments. Needs exactly 2", argc-1);
		exit(1);
	}
	a = atoi(argv);
	b = atoi(argv);
	printf("%d", a + b);
}

Соберём и вызовем

Функция принимает в качестве аргументов два числа

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

Многие стандартные команды также имеют параметры. В windows принято, что они начинаются с прямого слеша, в юниксе с минуса или двух минусов. Например

выводит только папки, а в терминале linux

выводит все файлы и папки с указанием атрибутов

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

Q&A

Всё ещё не понятно? – пиши вопросы на ящик

Операторы перехода

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

Пусть имеется командный файл следующего содержания:

После того, как в этом файле мы доходим до команды

его выполнение продолжается со строки

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

Также для перехода к метке внутри текущего командного файла кроме команды GOTO можно использовать и рассмотренную выше команду CALL:

При вызове такой команды создается новый контекст текущего пакетного файла с заданными аргументами, и управление передается на инструкцию, расположенную сразу после метки. Для выхода из такого пакетного файла необходимо два раза достичь его конца. Первый выход возвращает управление на инструкцию, расположенную сразу после строки CALL, а второй выход завершает выполнение пакетного файла. Например, если запустить с параметром “Копия-1” командный файл следующего содержания:

то на экран выведутся три строки:

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

Локальные изменения переменных

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

Для этого используются две команды: SETLOCAL и ENDLOCAL. Команда SETLOCAL определяет начало области локальных установок переменных среды. Другими словами, изменения среды, внесенные после выполнения SETLOCAL, будут являться локальными относительно текущего пакетного файла.

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

Синтаксис

Параметры

Параметр Описание
Задает заголовок, отображаемый в строке заголовка окна командной строки .
/d Указывает каталог запуска.
/i Передает Cmd.exe среду запуска в новое окно командной строки . Если параметр /i не указан, используется текущая среда.
Служит для сворачивания (/min) или развертывания (/Макс) нового окна командной строки .
Запускает 16-разрядные программы в отдельном пространстве памяти (/сепарате) или общей памяти (/Shared). Эти параметры не поддерживаются на 64-разрядных платформах.
Запускает приложение в указанном классе приоритета.
/аффинити Применяет указанную маску схожести процессоров (выраженную в виде шестнадцатеричного числа) к новому приложению.
/Wait Запускает приложение и ждет его завершения.
/елевате Запускает приложение от имени администратора.
/b Запускает приложение, не открывая новое окно командной строки . Обработка CTRL + C игнорируется, если приложение не поддерживает обработку CTRL + C. Чтобы прервать работу приложения, используйте сочетание клавиш CTRL + BREAK.
Указывает запускаемую команду или программу.
Указывает параметры для передачи в команду или программу.
/? Отображение справки в командной строке.

Комментарии

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

При выполнении команды, содержащей строку CMD в качестве первого маркера без квалификатора расширения или пути, команда CMD заменяется значением переменной COMSPEC. Это не позволяет пользователям выбирать cmd из текущего каталога.

Если вы запускаете приложение с 32-битным графическим пользовательским интерфейсом (GUI), программа cmd не ждет завершения работы приложения, прежде чем вернуться в командную строку. Такое поведение не происходит при запуске приложения из командного скрипта.

При выполнении команды, использующей первый токен, который не содержит расширение, Cmd.exe использует значение переменной среды ПАСЕКСТ, чтобы определить, какие расширения следует искать и в каком порядке

Значение по умолчанию для переменной ПАСЕКСТ:

Обратите внимание, что синтаксис аналогичен переменной PATH с точкой с запятой (;) Отделение каждого расширения.

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

Если это так, то Start открывает Explorer.exe по этому пути.

Для чего может понадобиться командная строка

Предположим, вы используете пробный период бесплатного знакомства с операционной системой Windows 7. Он уже подходит к концу, но вы еще полностью не успели понять, стоит ли переводить ее на постоянную основу. Вот тут-то вам и пригодятся знания о работе с командной строкой.

Компания Microsoft предусмотрела абсолютно легальную возможность на дополнительный период (до 120 дней) активировать Windows 7. Командная строка в этом случае понадобится для ввода кода. Задать подобную команду можно только от имени администратора

Эта предосторожность отнюдь не лишняя. Ведь многие специфические изменения в работу компьютера можно ввести, именно используя программу «Командная строка»

Администратор Windows 7 должен ясно осознавать, к чему приведут его действия.

Чтобы зайти с правами администратора, вызвав одним из ранее описанных способов программу, кликните по ней правой кнопкой мыши и в открывшемся контекстном меню выберите «Запуск от имени администратора» (в самом верху списка).

После этого в открывшемся окне введите «slmgr.vbs /rearm» (после букв «vbs» должен быть пробел). И подтвердите команду нажатием клавиши «Enter». Перезагрузите компьютер и проверьте срок действия пробной версии. Он должен составлять 30 дней. Эту процедуру можно проводить повторно, но не более трех раз. Так что в сумме вы получите 120 дней на исследование возможностей операционной системы.

Поиск и использование регулярных выражений

Для поиска файлов в bash используется команда find. Ее синтаксис следующий: find + нужная директория (путь) + ключ (или несколько) + критерии ключа + (опционально) последующее действие над найденными файлами.

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

find --h

К примеру, следующая команда позволит вам найти все файлы, которые находятся в директории dir1, и имеют название file:

find /home/users/dir1 -name ‘file*’

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

* — обозначает любое количество символов, включая их отсутствие (например, по запросу file* будут найдены все файлы: file, file1, file829, fileabc и т.д.);

? — обозначает один символ (по запросу file? будут найдены файлы с одним символом после слова file: file1, file9, filea и т.д.; по запросу file?? будут найдены файлы с двумя символами: file12, file34, file92 и т.д.);

[] — обозначает подмножество значений, которые может принимать один символ (по запросу file будут найдены файлы: file1, file2, file3 и так далее до file9; по запросу file файлы filea, fileb, filec и filed).

Как запустить командный файл в Windows 10

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

Запуск пакетного файла по требованию

Если вам нужно запустить скрипт по требованию, вы можете использовать проводник или командную строку.

Проводник

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

  1. Откройте проводник.
  2. Найдите папку со сценарием.
  3. Дважды щелкните командный файл, чтобы запустить его.
  4. (Необязательно) Если вы выполняете команду, требующую прав администратора, вам нужно запустить сценарий от имени администратора, щелкнув правой кнопкой мыши пакетный файл и выбрав опцию Запуск от имени администратора.

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

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

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

  1. Откройте командную строку от имени администратора.
  2. Введите путь и название командного файла и нажмите Enter:

    Например, следующая команда запускает пакетный файл, расположенный в пользовательской папке «batch» внутри папки «Downloads»:

После того, как вы выполните эти шаги, выходные данные будут отображаться на экране, даже если скрипт содержит команду «PAUSE».

Запуск пакетного файла по расписанию

Чтобы запланировать запуск пакетного файла в Windows 10, вы можете использовать планировщик задач, выполнив следующие действия:

  1. Откройте Пуск.
  2. Введите планировщик заданий и щелкните по верхнему результату, чтобы открыть приложение.
  3. Щелкните правой кнопкой мыши ветку «Библиотека планировщика заданий» и выберите опцию Создать папку….
  4. Введите имя для папки – например, MyScripts.

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

  5. Нажмите кнопку ОК.
  6. Щелкните правой кнопкой мыши папку MyScripts.
  7. Выберите опцию Создать простую задачу.
  8. В поле «Имя» введите краткое описательное имя для задачи – например, SystemInfoBatch.
  9. (Необязательно) В поле «Описание» создайте описание для задачи.
  10. Нажмите кнопку Далее.
  11. Выберите опцию Ежемесячно.

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

  12. Нажмите кнопку Далее.
  13. Используя настройку «Начать», укажите день и время запуска задачи.
  14. Используйте выпадающее меню «Месяцы», чтобы выбрать месяцы года, в которые вы хотите выполнить задачу.
  15. Используйте выпадающее меню «Дни» или «В:», чтобы указать дни, в которые будет выполняться задание.
  16. Нажмите кнопку Далее.
  17. Выберите опцию Запустить программу, чтобы запустить пакетный файл.
  18. В поле «Программа/скрипт» укажите путь к пакетному файлу.
  19. Нажмите кнопку Готово.

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

Запуск пакетных файлов при запуске

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

Чтобы запустить скрипт при запуске, используйте следующие простые шаги:

  1. Откройте проводник.
  2. Найдите папку с командным файлом.
  3. Щелкните правой кнопкой мыши файл и выберите параметр Копировать.
  4. Используйте комбинацию Win + R, чтобы открыть окно «Выполнить»
  5. Введите следующую команду: shell:startup
  6. Нажмите Вставить на вкладке «Главная» в папке «Автозагрузка». (Или вы можете нажать кнопку «Вставить ярлык», чтобы создать ярлык для командного файла.)
  7. Выйдите из учетной записи Windows 10.
  8. Войдите в аккаунт.

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

Мы ориентируем это руководство на Windows 10, но возможность использовать пакетные файлы существует давно, а это означает, что вы можете обратиться к этим инструкциям, если вы всё ещё используете более старую версию, включая Windows 8.1 или Windows 7.

Дополнительные команды

Команда FORMAT в CMD позволяет стереть информацию с винчестера или подготовить его для копирования данных, если вы установили новый диск. Синтаксис для использования команды: FORMAT диск:. Если вы хотите переформатировать конкретный диск под конкретную файловую систему, вы можете сделать это с помощью команды: FORMAT диск: / FS: файловая-система, где файловая-система может быть: FAT, FAT32 или NTFS. После применения команды все данные с диска будут бесследно стерты.

FC — используется для сравнения двух файлов друг с другом. Предположим, у вас есть два файла gadgets360_1.txt и gadgets360_2.txt. Чтобы сравнить их, нужно ввести следующую команду: FC gadgets360_1.txt gadgets360_2.txt.

IPCONFIG выводит подробную информацию о сетевых настройках: IP-адрес, а также сообщает тип сетевого соединения вашего компьютера (с помощью Wi-Fi или Ethernet). Введите IPCONFIG / ALL, чтобы получить обзор всех сетевых настроек, включая то, какие DNS-серверы вы используете. Введите IPCONFIG / RENEW, чтобы получить новый IP-адрес с сервера DHCP. Это может помочь, если у вас возникли проблемы с подключением к интернету.

CMD ping команда — если вы не уверены, доступен ли сайт, который вы хотите посетить, введите PING, за которым следует IP-адрес или доменное имя. Например, PING google.com. Если на экране появится надпись Destination Net Unreachable, возможно, у вас отсутствует подключение к интернету. Если появятся сообщения Host is down или Request timeout, сайт может быть недоступен. Если все в порядке, вы должны увидеть что-то похожее на это: 64 bytes from 173.194.36.73: icmp_seq=0 ttl=56 time=118.355 ms.

Команда SHUTDOWN может пригодиться вам, если кнопка «Завершение работы» в меню «Пуск» не работает из-за действия вредоносных программ. Для завершения работы компьютера (для Windows) введите Shutdown / S. Чтобы перезапустить компьютер — Shutdown / R.

CHKDSK — CMD команда используется для того, чтобы проверить, может ли ваша операционная система правильно прочитать жесткий диск или любой другой носитель. Синтаксис команды: CHKDSK C: — замените C буквой диска, который нужно проверить. Введите CHKDKS /? чтобы посмотреть другие варианты.

Вадим Дворниковавтор-переводчик

Организатор

Если загружать по несколько файлов в день, то в скором времени в папке «Загрузки» их скопятся сотни. Можно создать скрипт, который упорядочит их по типу. Достаточно поместить .bat-файл с программой в папку с неорганизованными данными и дважды щелкнуть для запуска:

rem Каждый файл в папке

rem проверить на наличие расширения и непринадлежность к данному скрипту

rem проверить наличие папки для каждого расширения, и если ее нет, то создать

rem переместить файл в папку

В итоге файлы в директории «Загрузки» сортируются по папкам, названия которых соответствуют их расширению. Это так просто. Данный пакетный скрипт работает с любым типом данных, будь то документ, видео или аудио. Даже если ПК не поддерживает их, сценарий все равно создаст папку с соответствующей меткой. Если уже есть каталог JPG или PNG, то программа просто переместит туда файлы с данным расширением.

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

Для работы с bat-файлами для удобства будем использовать программу FAR.

Небольшое отступление. Те, кому FAR использовать ну совсем не хочется, могут воспользоваться командной строкой Windows: Пуск->Выполнить-> ввести команду cmd Перед вами появится командное окно — эмулятор системы MS DOS.

Для тех, кому работать с GUI приятнее запускает программу FAR Manager.

Alt F1 (F2) — выбрать диск в левой (правой) панели

Вверх/вниз — перемещение по дереву каталогов

F7 — создать каталог

Shift F4 — создать файл

F4 — редактировать выделенный файл (F8 – для смены кодировки)

F3 — просмотр выделенного файла (F8 – для смены кодировки)

Enter — зависит от того, где установлен курсов и введена ли команда внизу экрана. Если введена команда — она будет выполнена. Если курсор установлен на имени каталога — мы “зайдем” в каталог. Если на “..” — “поднимемся” на каталог выше. Если курсор стоит на имени файла — результат нажатия Enter’a будет аналогичен двойному щелчку мыши в “Проводнике”.

Ctrl O показать экран с результатами команд.

Ctrl вверх/вниз — показать область ввода команд (удобно для отладки)

Вопросы для самоконтроля

        1. Как в Windows запускается режим командной строки?
        2. Как выполняется обмен данными между окном командной строки или окном приложения MS DOS и другими окнами?
        3. Какие компоненты содержит команда в Windows?
        4. Как выполняется повторное выполнение и редактирование команд в режиме командной строки?
        5. Как выполняется редактирование команд в командной оболочке Far?
        6. Какие возможности по обмену данными с командной строкой имеются в командной оболочке Far?
        7. Как выводится справка для списка команд Windows и справка по отдельной команде?
        8. Как организовать вывод выходных данных команды в файл?
        9. Как организовать последовательное выполнение нескольких команд (цепочку или конвейер команд)?
        10. Как перейти в вышележащий каталог и корневой каталог?
        11. Что такое полное имя файла?
        12. Можно ли скопировать файл в тот же каталог, в котором он находится?

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

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

  • нажмите кнопку «Пуск» введите в поле поиска «командная строка» и щелкните правой кнопкой мыши по строчке «Командная строка» в результатах поиска и выберите в контекстном меню «Запуск от имени администратора» (все то же самое можно сделать с «cmd»);
  • нажмите «Пуск» ⇒ «Все программы» ⇒ «Стандартные» ⇒ щелкнуть правой кнопкой мыши по «Командная строка» и выбрать «Запуск от имени администратора»;
  • открыть в Проводнике папку C:\Windows\System32, щелкнуть по файлу cmd.exe правой кнопкой мыши и выбрать пункт «Запуск от имени администратора»;
  • сделать ярлык для запуска командной строки, щелкнуть по нему правой клавишей мыши и выбрать «Запуск от имени администратора»;
  • создать ярлык для командной строки и в его свойствах указать «Запускать от имени администратора», теперь командная строка будет сразу запускаться с нужными правами;
  • нажать комбинацию клавиш WIN + X (в Windows 8).

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

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

История команд Linux

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

Для дополнительных действий с историей вам могут понадобиться опции. Команда history linux имеет очень простой синтаксис:

$ history опции файл

В качестве файла можно указать файл истории. По умолчанию история для текущего пользователя хранится в файле ~/.history, но вы можете задать, например, файл другого пользователя. А теперь рассмотрим опции:

  • -c — очистить историю;
  • -d — удалить определенную строку из истории;
  • -a — добавить новую команду в историю;
  • -n — скопировать команды из файла истории в текущий список;
  • -w — перезаписать содержимое одного файла истории в другой, заменяя повторяющиеся вхождения.

Наиболее полезной для нас из всего этого будет опция -c, которая позволяет очистить историю команд linux:

Так вы можете посмотреть только последние 10 команд:

А с помощью опции -d удалить ненужное, например, удалить команду под номером 1007:

Если вы хотите выполнить поиск по истории bash, можно использовать фильтр grep. Например, найдем все команды zypper:

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

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

Вы можете выполнить последнюю команду просто набрав «!!». Также можно выполнить одну из предыдущих команд указав ее номер «!-2»

Чтобы выполнить поиск по истории прямо во время ввода нажмите Ctrl+R и начните вводить начало команды.

Если вы знаете, что нужная команда была последней, которая начиналась на определенные символы, например, l, то вы можете ее выполнить, дописав «!l»:

Если нужная команда последняя содержала определенное слово, например, tmp, то вы можете ее найти, использовав «!?tmp»:

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

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

Работа с оконными приложениями.

Допустим, вам нужно из одного и того же командного файла запустить notepad.exe и cmd.exe. Если просто вставить строки

notepad.exe

cmd.exe

то после запуска notepad.exe выполнение командного файла приостановится и пока не будет завершен notepad, cmd.exe не запустится. Самый простой способ обойти эту проблему – использовать стандартную утилиту Windows start.exe . Полную справку по использованию можно получить по:

start.exe /?

Попробуйте создать командный файл следующего содержания:

start /MAX notepad.exestart “This is CMD.EXE” /MIN cmd.exenet send %COMPUTERNAME% NOTEPAD and CMD running.

После выполнения этого командного файла вы увидите стартовавшие, в развернутом окне (ключ /MAX) блокнот, в свернутом окне (ключ /MIN) командный процессор CMD.EXE и окно с сообщением net.exe. Стандартный заголовок окна cmd.exe заменен на текст “This is CMD.EXE”.

Обратите внимание на то что заголовок окна можно опускать, но особенность обработки входных параметров утилитой start.exe может привести к неожиданным результатам при попытке запуска программы, имя или путь которой содержит пробел(ы). Например при попытке выполнить следующую команду:start “C:. Program FilesFARFAR.EXE”Из-за наличия пробела в пути к исполняемому файлу, строка для запуска FAR.EXE должна быть заключена в двойные кавычки, однако формат входных параметров для start.exe предполагает наличие заголовка окна, также заключаемого в двойные кавычки, в результате чего “C:

Program FilesFARFAR.EXE”Из-за наличия пробела в пути к исполняемому файлу, строка для запуска FAR.EXE должна быть заключена в двойные кавычки, однако формат входных параметров для start.exe предполагает наличие заголовка окна, также заключаемого в двойные кавычки, в результате чего “C:

Переход по директориям

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

cd /home/users/dir1

Вы также можете указывать команду cd с определенными ключами:

cd ../.. — переход на две директории выше;

cd —     — переход в предыдущую директорию (в которой вы были до перемещения в нынешнюю).

Команда pwd укажет путь той директории, в которой вы в данный момент находитесь.

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

DIR — сокращение от Directory, эта CMD команда для новичка выводит список всех файлов и папок в определенном каталоге. А также их размер, расширение и свободное пространство, оставшееся на диске. Команда dir в командной строке может быть изменена с помощью дополнительных параметров, таких как DIR /р (выводит список по страницам), DIR /q (выводит информацию о владельце сайта), DIR /w (выводит список в расширенном формате с максимальным количеством файлов в одной строке), DIR / d (выводит список в расширенном формате с разбивкой на столбцы), DIR /n (выводит длинный список одной строкой), DIR /l (выводит несортированный список имен каталогов и файлов в нижнем регистре), DIR /b (выводит список файлов без дополнительной информации). DIR /s выводит список файлов и директорий данного каталога, а также всех подкаталогов. Введя DIR/?, вы увидите список всех доступных параметров.

Команда CD командной строки или CHDIR (Change Directory) предназначена для того, чтобы сменить каталог. Команда выполняет несколько операций. CD перемещает вас на самый верх дерева каталогов. CD .. перемещает вас в родительский каталог по отношению к текущему. CD имя-каталога перемещает вас в этот каталог. Введите CD, чтобы вывести на экран имя текущего каталога.

MD или MKDIR (Make Directory) позволяет создать каталог (папку). Чтобы создать каталог, используйте следующий синтаксис: MD имя-каталога.

CLS очищает экран. Эта команда CMD в Windows применяется, если эмулятор командной строки заполнен перечнем команд и их операций.

EDIT имя-файла позволяет изменять содержимое файла.

Команда DEL позволяет удалить один или несколько файлов. В качестве альтернативы можно использовать команду ERASE. Для удаления файла используйте синтаксис DEL имя-файла.

Если вы хотите удалить все файлы с определенным расширением, то введите DEL *.doc, и из текущего каталога будут удалены все файлы с расширением doc. DEL *.* удаляет все файлы из текущего каталога, поэтому будьте осторожны с этой командой.

RD или RMDIR — вы можете использовать эту команду, чтобы удалить папку, но папка должна быть пустой. Синтаксис довольно прост. Введите RD имя-папки. Если вы хотите удалить папку, которая не является пустой, вы можете использовать RD / S имя-папки. Будьте осторожны с этой командой, так как она удаляет папку и все ее содержимое без возможности восстановления.

RENAME, или REN переименовывает файл или каталог. Синтаксис этой команды CMD управления компьютером следующий: RENAME текущее-имя новое-имя. Например, если вы хотите переименовать файл с именем iPhone.txt в iPad.txt, введите RENAME iPhone.txt iPad.txt.

MOVE позволяет переместить один или несколько файлов из одного каталога в другой. Например, если вы хотите переместить файл 1.txt размещенный в текущей директории в папку с именем Numericals внутри текущего каталога, введите MOVE 1.txt Numericals. Если вы пытались переименовать директорию (папку) с помощью команды RENAME приведенным выше способом, то знаете, что это не работает. В этом нам поможет команда MOVE, так как она также может быть использована для переименования каталогов. Введите MOVE текущее-имя новое-имя, где текущее имя — это имя директории в текущей папке.

Команда COPY позволяет скопировать один или несколько файлов из одного места в другое. Команда позволяет объединять файлы одного и того же типа. Давайте посмотрим на различные примеры применения команды COPY:

  • COPY имя-файла имя-папки скопирует файл имя-файла в уже существующую папку;
  • COPY имя-файла новое-имя-файла создает копию файла с новым именем;
  • COPY *.doc Word копирует все файлы с расширением .doc в папку с именем Word.

CMD основная команда XCOPY предназначена для файлов и каталогов, включая подкаталоги. Простейший вариант ее использования — скопировать все файлы с одного диска на другой. Синтаксис: XCOPY Исходный-диск: Диск-назначения: /e, где параметр /е позволяет копировать все подкаталоги, даже если они пусты. Используйте /s, чтобы запретить копирование пустых директорий. Вы можете использовать имена папок исходного диска или диска назначения, чтобы просто скопировать все содержимое одной папки в другую.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Мой редактор ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: