Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Полезные, но малоизвестные команды Linux - часть 3

Оригинал: 10 Lesser Known Commands for Linux - Part 3
Автор: Avishek Kumar
Дата публикации: 15 ноября 2013 года
Перевод: А. Кривошей
Дата перевода: март 2014 г.

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

22. Команда ^foo^bar

Возможность запуска последней введенной команды с корректировкой. Предположим, я хочу просмотреть содержимое директории с помощью команды "ls -l". Вместо этого я случайно ввел "lls -l". Теперь мне нужно ввести команду заново, или отредактировать ее. В случае длинной команды это может быть утомительно.

avi@localhost:~/Desktop$ lls -l 

bash: lls: command not found

avi@localhost:~/Desktop$ ^lls^ls 

ls -l 
total 7489440 

drwxr-xr-x 2 avi  avi       36864 Nov 13  2012 101MSDCF 
-rw-r--r-- 1 avi  avi      206833 Nov  5 15:27 1.jpg 
-rw-r--r-- 1 avi  avi      158951 Nov  5 15:27 2.jpg 
-rw-r--r-- 1 avi  avi       90624 Nov  5 12:59 Untitled 1.doc

В приведенном выше примере мы используем первый знак "^" для того, чтобы показать, какую часть команды мы хотим заменить, а второй - чтобы показать, чем мы хотим его заменить. Обратите внимание, что эта команда может быть очень опасна при использовании с некоторыми системными командами.

23. Команда > file.txt

Эта команда очищает содержимое файла без необходимости его удаления. Она очень полезна в скриптовых языках, когда требуется снова и снова записывать содержимое лога в один и тот же файл.
У меня есть файл "test.txt" в директории "Desktop", содержащий большое количество текста.

avi@localhost:~/Desktop$ cat test.txt 

Linux 
GNU 
Debian 
Fedora 
kali 
ubuntu 
git 
Linus 
Torvalds

avi@localhost:~/Desktop$ > test.txt 
avi@localhost:~/Desktop$ cat test.txt

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

24. Команда at

Команда at похожа на cron, и также может использоваться для планирования задач или выполнения команд в заданное время.

avi@localhost:~/Desktop$ echo "ls -l > /dev/pts/0" | at 14:012

или

avi@localhost:~/Desktop$ echo "ls -l > /dev/pts/0" | at 2:12 PM


-rw-r--r-- 1 avi  avi      220492 Nov  1 13:49 Screenshot-1.png 
-rw-r--r-- 1 root root        358 Oct 17 10:11 sources.list 
-rw-r--r-- 1 avi  avi  4695982080 Oct 10 20:29 squeeze.iso 
..
..
-rw-r--r-- 1 avi  avi       90624 Nov  5 12:59 Untitled 1.doc 
-rw-r--r-- 1 avi  avi       96206 Nov  5 12:56 Untitled 1.odt 
-rw-r--r-- 1 avi  avi        9405 Nov 12 23:22 Untitled.png

Примечание: команда echo "ls -l" направляет вывод команды (здесь ls -l) на стандартный терминал. Вы можете заменить ее на ту команду, которая вам нужна.
Символ ">" перенаправляет вывод команды.
/dev/pts/0 - это устройство или файл для вывода. Здесь вывод производится на терминал, в моем случае это /dev/pts/0. Проверить, какому устройству соответствует ваш терминал, можно с помощью команды:

avi@localhost:~/Desktop$ tty 

/dev/pts/0

25. Команда du -h -max-depth=1

Приведенная ниже команда выводит размер поддиректорий в текущей директории, в понятном человеку формате.

avi@localhost:/home/avi/Desktop# du -h --max-depth=1 

38M	./test 
1.1G	./shivji 
42M	./drupal 
6.9G	./101MSDCF 
16G	.

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

26. Команда expr

О команде "expr" мало кто знает, но она может быть очень полезна при выполнении простых математических вычислений в терминале.

avi@localhost:/home/avi/Desktop# expr 2 + 3 
5

avi@localhost:/home/avi/Desktop# expr 6 - 3 
3

avi@localhost:/home/avi/Desktop# expr 12 / 3 
4

avi@localhost:/home/avi/Desktop# expr 2 \* 9 
18

27. Команда look

С помощью этой команды вы можете проверить, как правильно пишется слово, воспользовавшись встроенным английским словарем. Например, я забыл как пишется правильно: carrier или carieer.

Cara 
Cara's 
... 
carps 
carpus 
carpus's 
carrel 
carrel's 
carrels 
carriage 
carriage's 
carriages 
carriageway 
carriageway's 
carried 
carrier 
carrier's 
carriers 
carries 
... 
caryatids

Команда выводит все слова, начинающиеся с "car".

28. Команда yes

Еще одна команда, которая не часто используется, но очень полезна при использовании в скриптах и для системных администраторов. Она выводит на экран заданную строку до тех пор, пока вы не прервете этот процесс.

Пример вставки короткого отрезка кода или отдельной команды:
Tecmint is one of the best site dedicated to Linux, how to 
Tecmint is one of the best site dedicated to Linux, how to 
Tecmint is one of the best site dedicated to Linux, how to 
Tecmint is one of the best site dedicated to Linux, how to 
...
Tecmint is one of the best site dedicated to Linux, how to 
Tecmint is one of the best site dedicated to Linux, how to 
Tecmint is one of the best site dedicated to Linux, how to

29. Команда factor

Это команда математического происхождения. Она выводит все множители заданного числа.

avi@localhost:~/Desktop$ factor 22 
22: 2 11

avi@localhost:~/Desktop$ factor 21 
21: 3 7

avi@localhost:~/Desktop$ factor 11 
11: 11

30. ping -i 60 -a IP_address

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

avi@localhost:~/Desktop$ ping -i 60 -a www.google.com 

PING www.google.com (74.125.200.103) 56(84) bytes of data. 
64 bytes from www.google.com (74.125.200.103): icmp_req=1 ttl=44 time=105 ms 
64 bytes from 74.125.200.103: icmp_req=2 ttl=44 time=281 ms

Если вы не услышали никакого звука, убедитесь, что звук в вашей системе включен, активирована звуковая тема, и отмечен флажок "Enable window and window sound".

31. Команда tac

Эта команда печатает содержимое текстового файла в обратном порядке, то есть с последней строки до первой.
У меня в директории Documents есть текстовый файл file 35.txt. Просмотрим его содержимое с использованием команды cat.

А теперь сделаем то же самое с командной tac.

На сегодня это все. Но продолжение будет.