Mac_terminal_icon

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

1. Загрузка файлов из Сети с подробной статистикой

Скачать любой файл из Интернета поможет команда curl. При этом, во время загрузки нам будет доступна информация не только о скорости соединения, но и затраченном и оставшемся времени, проценте завершенности и средней скорости загрузки. Наример, скачаем прошивку для iPhone с серверов Apple, для этого вбиваем следующую команду:

curl -O http://appldnld.apple.com/iOS7/091-9495.20130918.FuFu4/iPhone5,1_7.0_11A465_Restore.ipsw

Файл будет сохранен в домашний каталог, если хотите изменить место сохранения воспользуйтесь ключем -L каталог_для_сохранения. Обратите внимание на то, что нужно использовать полный URL-адрес.

2. Продвинутый просмотр каталога

Хотите увидеть список файлов в директории с указанием прав, владельца, размера и даты последнего изменения? Нет проблем. Переходим в нужную папку (команда cd ) и вбиваем знакомый нам ls, но с ключом -thor.
ls -thor
Очень легко запомнить, поскольку сразу возникают ассоциации с мифологическим Тором.

3. Завершение нескольких процессов по шаблону

Случается, что нужно прибить несколько процессов одного приложения. Для этого приходится поодиночке завершать их «Мониторинге системы». Если задать в строке поиска название программы — будет несколько удобнее, но все равно закрыть их одним махом не получится. Можно значительно упростить себе задачу, используя команду pkill с шаблоном. Для этого вводим команду и в качестве шаблона указываем часть имени процесса или несколько первых букв. Например:
pkill Chrome*
Все процессы содержащие в своем имени «Chrome» будут мгновенно звершены. Будьте внимательны и указывайте на несколько символов больше, чтобы отфильтровать другие процессы с похожим именем. Иначе, есть вероятность завершить другие приложения и потерять несохраненные данные.

4. Повтор последней введенной команды Терминала с root

Иногда мы забываем, что для выполнения некоторых команд нужны права суперпользователя, вводим длинный путь в файлу, а в ответ получаем сообщение повторить команду с root правами. Чтобы не вводить команду и путь повторно, можно воспользоваться командой:
sudo !!
После ее ввода нужно вбить пароль и предыдущая команда выполнится с правами root.

5. Поиск последних выполненных команд, без их выполнения

Список последних выполненных в терминале команд доступен по нажатию клавиши «вверх». Им удобно пользоваться, если вы вводили нужную команду недавно. Листать 50 или 100 последних команд не захочется никому. Да и не нужно. Чтобы найти определенную команду с последним вхождением, достаточно ввести ! вначале и :p в конце команды. Например, я хочу найти последнее выполнение команды sudo, для этого вбиваю в терминал:
!sudo:p
Результат вывода покажет последнее вхождение заданной команды.

6. Создание пустого файла или файлов на лету

Команда touch, пригодится когда нужно быстро создать новый файл. Она очень проста в использовании, и легко запоминается. Попробуйте сами:
touch имя_файла
Если сразу добавить к имени файла расширение — будет создан соответствующий файл. Например, для текстового файла вводим:
touch filename
Также, можно одновременно создать несколько файлов, причем разных типов. Например:
touch Документ.doc Таблица.xls Блокнот.txt

Результатом будет создание в текущей директории трех файлов, с указанными расширениями.

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

* * *

Дополнения от наших читателей.

Leonid Efremov, подсказывает о реверсивном поиске, суть которого в том, что при вводе первых символов команды, система будет пытаться угадать какую команду вы хотите ввести. Что-то вроде живого поиска Google. Для его активации нажимаем в терминале ctrl + r. В этом случае, вместо логина пользователя будет отображаться (reverse-i-search)`’: