Стандартные команды линукс. Основные команды linux. Команды для работы с процессами

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

1)Получить случайную цитату с командой fortune

Можно получать случайные цитаты и забавные предсказания с помощью команды fortune. При этом необходимо чтобы на вашу систему был установлен пакет fortune .
Для установки fortune на системах с apt или aptitude:

Linuxtechi@linuxarena:~$ sudo apt-get install fortune

Для установки fortune на системах с yum типа CentOS / RHEL / Fedora введите следующие строки:

# yum install fortune*

Как только установка будет завершена, введите команду fortune . Результат можно видеть чуть ниже.

2)Команда Rev

Эта команда разворачивает любую предоставленную ей строку. Команда доступна сразу после установки Linux.

# rev
LinuxTechi
ihceTxuniL
Linux Rocks
skcoR xuniL
Opensource World
dlroW ecruosnepO
LinuxMint Ultimate Desktop
potkseD etamitlU tniMxuniL

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

# rev rev.txt
ihceTxuniL
skcoR syawla xuniL
dlrow ecruosnepO fo enobkcab eht si xuniL
ihceTxuniL moob moob
#

3)Команда Yes

Команда yes будет без конца отображать данный ей текст, пока вы насильно ее не остановите (CTRL+C).

Синтаксис:

# yes ТЕКСТ

# yes LinuxTechi.com
LinuxTechi.com
LinuxTechi.com
LinuxTechi.com
LinuxTechi.com
LinuxTechi.com
LinuxTechi.com
LinuxTechi.com
LinuxTechi.com
LinuxTechi.com^C
#

4)Превратите терминал в аквариум

Знали ли вы что можете превратить системный терминал Lnux в красивый аквариум с рыбками и водорослями? Для этого вам понадобится установить на свою систему пакеты term animator, libcurses и пакет asciiaquarium .

До того, как следовать инструкции, удостоверьтесь, что у вас установлены пакеты ‘perl‘, ‘perl-Curses‘ и ‘perl-devel‘ .

Для систем с yum:

# yum install perl perl-devel perl-Curses

Для Debian систем:

Linuxtechi@linuxarena:~$ sudo apt-get install perl libcurses-perl

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

Во-первых, удостоверьтесь в том, что скачали пакет term animator:

# wget http://search.cpan.org/CPAN/authors/id/K/KB/KBAUCOM/Term-Animation-2.6.tar.gz

Установите пакет, как показано ниже.

# tar zxpvf Term-Animation-2.6.tar.gz
# cd Term-Animation-2.6
# perl Makefile.PL && make && make test
# make install

Внимание: если у вас возникают сложности в чем-то, что описано выше, то вы всегда можете использовать консоль cpan и установить через нее пакет “Term Animation” . Сделать это можно так:

Cpan> install Term::Animation

В конце концов скачайте и установите пакет asciiaquarium . Вот как это можно сделать:

# wget http://www.robobunny.com/projects/asciiquarium/asciiquarium.tar.gz
# tar zxpvf asciiquarium.tar.gz
# cd asciiquarium_1.1/
# cp asciiquarium /usr/local/bin/
# chmod 755 /usr/local/bin/asciiquarium

Теперь запустите команду

# /usr/local/bin/asciiquarium

# asciiquarium

5)Команда Toilet

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

Для установке пакета toilet в системах на основе Debian используйте команду ниже:

Linuxtechi@linuxarena:~$ sudo apt-get install toilet

Для основ типа CentOS или RHEL используйте:

# wget http://caca.zoy.org/raw-attachment/wiki/toilet/toilet-0.3.tar.gz
# tar zxpvf toilet-0.3.tar.gz
# cd toilet-0.3
# ./configure && make && make install

Linuxtechi@linuxarena:~$ toilet LinuxTechi Rocks

Toilet предоставляет широкий спектр возможностей вроде шрифтов, красочных символов и фильтров. Используйте страницу справочника man команды toilet для того, чтобы ознакомиться с большим количеством возможностей.

6)Подожгите свой терминал

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

Установите пакет, который позволит вам вводить команду aafire на систему на базе Debian:

Linuxtechi@linuxarena:~$ sudo apt-get install libaa-bin
linuxtechi@linuxarena:~$ aafire

7)Попросите корову повторить написанное

cowsay - это еще одна забавная Linux команда, отображающая введенное предложение в виде высказывания коровы или любого другого животного на выбор.

Linuxtechi@linuxarena:~$ sudo apt-get install cowsay
linuxtechi@linuxarena:~$ cowsay Linux world Rocks

cowsay может быть использована в связке с командой fortune . Пример можно увидеть чуть ниже:

Linuxtechi@linuxarena:~$ fortune | cowsay

8)Войдите в мир матрицы

Давайте освежим в памяти матрицу с помощью команды cmatrix .

Команда cmatrix не доступна по умолчанию. Для ее установки на систему на базе Debian необходимо ввести следующее:

Запускается матрица так:

Linuxtechi@linuxarena:~$ sudo apt-get install cmatrix

9)Любите ли вы мышонка Джерри

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

Для установки пакета oneko в системе на базе Debian введите:

Linuxtechi@linuxarena:~$ sudo apt-get install oneko

После завершения установки напечатайте команду "oneko" .

10)Заставьте терминал с вами разговаривать

Включите колонки, ведь с помощью команды espeak вы можете заставить Linux терминал говорить. Для начала установим пакет espeak .

Linuxtechi@linuxarena:~$ sudo apt-get install espeak

Для систем с yum:

Исполните команду espeak с текстом:

Linuxtechi@linuxarena:~$ espeak "LinuxTechi is the best Website for Linux guide and tutorials"

11)Паровоз в вашем терминале

Всем известна команда "ls" , с помощью которой можно отобразить содержимое директории, но знаете ли вы команду "sl" ? Это забавная команда, рисующая в вашем терминале ASCII паровоз.

"sl" не является базовой командой, поэтому для начала ее стоит установить.

Для систем на основе Debian введите:

Linuxtechi@linuxarena:~$ sudo apt-get install sl

Для систем с yum:

# yum install espeak

Исполните команду sl и наслаждайтесь:

# sl

12)Посмотрим звездные войны

Хотите вернуться в школу, когда вы были очарованы персонажами звездных воин? Конечно кино в терминале не посмотришь, но вполне можно насладиться сценами из фильма в формате ASCII.

# telnet towel.blinkenlights.nl

Понадобиться немного подождать и будут выведены сцены Star Wars в формате ASCII.









Для остановки зажмите комбинацию ctrl+] . После того, как появится терминал telnet введите в нем quit .

Вот статья и закончилась. Надеюсь, вас повеселили команды. Если вы знаете еще какие-нибудь похожие команды, то обязательно поделитесь в комментариях!

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

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

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

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

1. ls

Утилита для просмотра содержимого каталогов. По умолчанию показывает текущий каталог. Если в параметрах указать путь, то она перечислит содержимое конечного каталога. Полезные опции -l (L ist) и -a (A ll). Первая форматирует вывод в виде списка с более подробной информацией, а вторая включает показ скрытых файлов.

2. cat

Печатает содержимое файла, переданного в параметре, в стандартный вывод. Если передать несколько файлов, команда склеит их. Также можно перенаправить вывод в ещё один файл с помощью символа ">". Если нужно вывести только определенное количество строк, используйте опцию -n (N umber).

3. cd

Позволяет перейти из текущего каталога в указанный. Если запустить без параметров - возвращает в домашний каталог. Вызов с двумя точками возвращает на уровень вверх относительно текущего каталога. Вызов с тире (cd -) возвращает к предыдущему каталогу.

4. pwd

Печатает на экран текущий каталог. Это может быть полезно, если ваша командная строка Linux не выводит такую информацию. Эта команда будет востребована в Bash программировании, где для получения ссылки на каталог выполняется скрипт.

5. mkdir

Создание новых каталогов. Наиболее удобная опция -p (P arents), позволяет создать всю структуру подкаталогов одной командой, даже если они ещё не существуют.

6. file

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

7. cp

Копирование файлов и каталогов. Она не копирует каталоги по умолчанию рекурсивно (то есть все поддиректории и все файлы в поддиректориях), поэтому не забудьте добавить опцию -r (R ecursive) или -a (A rchive). Последняя включает режим сохранения атрибутов, владельца и временного штампа в дополнение к рекурсивному копированию.

8. mv

Перемещение или переименование файлов и каталогов. Примечательно, что в Linux это одна и та же операция. Переименование - это перемещение файла в ту же папку с другим именем.

9. rm

Удаляет файлы и папки. Очень полезная команда Linux: с её помощью вы можете убрать весь беспорядок. Если нужно рекурсивное удаление, используйте опцию -r. Однако будьте осторожны: конечно, для того чтобы повредить систему вам нужно будет серьёзно постараться, однако можно удалить собственные важные файлы. Rm удаляет файлы не в корзину, из которой потом всё можно будет восстановить, а полностью стирает. Действия оператора rm необратимы. Поверьте, ваши оправдания в духе "rm съела мою курсовую" никому не будут интересны.

10. ln

Создает жёсткие или символические ссылки на файлы. Символические или программные ссылки - это что-то похожее на ярлыки в Windows. Они предоставляют удобный способ доступа к определённому файлу. Символические ссылки указывают на файл, но не имеют никаких метаданных. Жёсткие ссылки, в отличие от символических, указывают на физический адрес области диска, где хранятся данные файла.

11. chmod

Изменяет права доступа к файлу. Это чтение, запись и выполнение. Каждый пользователь может изменять права для своих файлов.

12. chown

Изменяет владельца файла. Только суперпользователь может изменять владельцев. Для рекурсивного изменения используйте опцию -R.

13. find

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

14. locate

В отличие от find, команда locate ведёт поиск в базе данных updatedb для шаблонов имён файлов. Эта база данных содержит снимок файловой системы, что позволяет искать очень быстро. Но этот поиск ненадёжен, потому что вы не можете быть уверены, что ничего не изменилось с момента последнего снимка.

15. du

Показывает размер файла или каталога. Самые полезные опций: -h (H uman), которая преобразует размеры файлов в легко читаемый формат, -s (S ummarize), которая выводит минимум данных, и -d (D epth), устанавливающая глубину рекурсии по каталогам.

16. df

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

17.dd

Как сказано в официальном руководстве, это команда терминала для копирования и преобразования файлов. Не очень понятное описание, но это всё, что делает dd. Вы передаёте ей файл-источник, пункт назначения и пару дополнительных опций. Затем она делает копию одного файла в другой. Вы можете задать точный размер данных, которые нужно записать или скопировать. Работает утилита со всеми устройствами. Например, если вы хотите перезаписать жёсткий диск нулями из /dev/zero, можете сделать это. Также она часто используется для создания LiveUSB или гибридных ISO образов.

18 mount / umount

Это команды консоли Linux для подключения и отключения файловых систем Linux. Можно подключать всё: от USB накопителей, до ISO образов. И только у суперпользователя есть права для этого.

Linux команды консоли для работы с текстом

19. more / less

Это две простенькие команды терминала для просмотра длинных текстов, которые не вмещаются на одном экране. Представьте себе очень длинный вывод команды. Или вы вызвали cat для просмотра файла, и вашему эмулятору терминала потребовалось несколько секунд, чтобы прокрутить весь текст. Если ваш терминал не поддерживает прокрутки, вы можете сделать это с помощью less. Less новее, чем more и поддерживает больше опций, поэтому использовать more нет причин.

20. head / tail

Ещё одна пара, но здесь у каждой команды своя область применения. Head выводит несколько первых строк из файла (голова), а tail выдает несколько последних строк (хвост). По умолчанию каждая утилита выводит десять строк. Но это можно изменить с помощью опции -n. Ещё один полезный параметр -f, это сокращение от f ollow (следовать). Утилита постоянно выводит изменения в файле на экран. Например, если вы хотите следить за лог файлом, вместо того, чтобы постоянно открывать и закрывать его, используйте команду tail -nf.

21. grep

Grep, как и другие инструменты Linux, делает одно действие, но делает его хорошо: она ищет текст по шаблону. По умолчанию она принимает стандартный ввод, но вы можете искать в файлах. Шаблон может быть строкой или регулярным выражением. Она может вывести как совпадающие, так и не совпадающие строки и их контекст. Каждый раз, когда вы выполняете команду, которая выдает очень много информации, не нужно анализировать всё вручную - пусть grep делает свою магию.

22. sort

Сортировка строк текста по различным критериям. Наиболее полезные опции: -n (N umeric), по числовому значению, и -r (R everse), которая переворачивает вывод. Это может быть полезно для сортировки вывода du. Например, если хотите отсортировать файлы по размеру, просто соедините эти команды.

23. wc

Утилита командной строки Linux для подсчёта количества слов, строк, байт и символов.

24. diff

Показывает различия между двумя файлами в построчном сравнении. Причём выводятся только строки, в которых обнаружены отличия. Измененные строки отмечаются символом "с", удалнные - "d", а новые - "а".

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

Команды Linux для управления процессами

25. kill / xkill / pkill / killall

Служат для завершения процессов. Но они принимают различные параметры для идентификации процессов. Kill нужен PID процесса, xkill - достаточно кликнуть по окну, чтобы закрыть его, killall и pkill принимают имя процесса. Используйте ту, которая удобна в определенной ситуации.

26. ps / pgrep

Как уже говорилось, чтобы уничтожить процесс, нужен его идентификатор. Один из способов получить его, это утилита ps, которая печатает информацию о запущенных процессах. По умолчанию вывод очень длинный, поэтому используйте опцию -e, чтобы увидеть информацию об определённом процессе. Это только снимок состояния на момент вызова, и информация не будет обновляться. Команда ps с ключом aux выводит полную информацию о процессах. Pgrep работает следующим образом: вы задаете имя процесса, а утилита показывает его идентификатор.

27. top / htop

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

28. time

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

Команды Linux окружения пользователя

29. su / sudo

Su и sudo - это два способа выполнить одну и ту же задачу: запустить программу от имени другого пользователя. В зависимости от вашего дистрибутива вы, наверное, используете одну или другую. Но работают обе. Разница в том, что su переключает вас на другого пользователя, а sudo только выполняет команду от его имени. Поэтому использование sudo будет наиболее безопасным вариантом работы.

30. date

В отличие от time, делает именно то, чего вы от неё и ожидаете: выводит дату и время в стандартный вывод. Его можно форматировать в зависимости от ваших потребностей: вывести год, месяц, день, установить 12-ти или 24-ти часовой формат, получить наносекунды или номер недели. Например, date +"%j %V", выведет день в году и номер недели в формате ISO.

31. alias

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

32. uname

Выводит некую основную информацию о системе. Без параметров она не покажет ничего полезного, кроме строчки Linux, но, если задать параметр -a (A ll), можно получить информацию о ядре, имени хоста и узнать архитектуру процессора.

33. uptime

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

34. sleep

Вам, наверное, интересно как же её можно использовать. Даже не учитывая Bash-скриптинг, у неё есть свои преимущества. Например, если вы хотите выключить компьютер через определенный промежуток времени или использовать в качестве импровизированной тревоги.

Команды Linux для управления пользователями

35. useradd / userdel / usermod

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

36. passwd

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

Linux команды для просмотра документации

37. man / whatis

Команда man открывает руководство по определённой команде. Для всех основных команд Linux есть man страницы. Whatis показывает, какие разделы руководств есть для данной команды.

38. whereis

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

Команды Linux для управления сетью

39. ip

Если список команд Linux для управления сетью вам кажется слишком коротким, скорее всего вы не знакомы с утилитой ip. В пакете net-tools содержится множество других утилит: ipconfig, netstat и прочие устаревшие, вроде iproute2. Всё это заменяет одна утилита - ip. Вы можете рассматривать её как швейцарский армейский нож для работы с сетью или как непонятную массу, но в любом случае за ней будущее. Просто смиритесь с этим.

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

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

1. ls

Команда ls (если выполнить ее без аргументов) используется для вывода списка файлов в текущей директории.

Чтобы вывести список файлов в директории /home/vasya/.ssh выполните:

Ls /home/vasya/.ssh

2. cd

Команда cd используется для перехода по дереву директорий (перехода в другую папку).

Например, чтобы перейти в директорию /home/vasya/.local нужно выполнить

Cd /home/vasya/.local

3. mv

Команда mv используется для перемещения (или переименования) файлов и директорий.

Например, чтобы переместить директорию /home/vasya/documents в директорию /home/vasya/secret выполните:

Mv /home/vasya/documents /home/vasya/secret

4. cp

Команда cp создает копию файла или директории.

Чтобы скопировать файл messages.log в файл messages.log.bak выполните:

Cp messages.log messages.log.bak

Чтобы скопировать директорию, необходимо после команды добавить аргумент -r . Например, скопируем директорию drivers в display-drivers :

Cp -r drivers display-drivers

5. sudo

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

Например, если вы попытаетесь создать копию файла в «системной» директории /etc , то получите предупреждение Permission denied . Поэтому в данном случае команду нужно выполнять от имени суперпользователя, например:

Sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak

6. touch

Командой touch можно создать пустой файл.

Например, создадим пустой файл path.dat :

Touch path.dat

7. find

Команда find предназначена для поиска файлов. Да, это не самая простая команда, но ее знание очень полезно. Для начала достаточно запомнить как искать файлы и директории по имени или по маске (части имени).

Например, найдем в текущей директории все файлы (и директории), имя которых начинается на document , и заканчивается .odt (это могут быть файлы document-history.odt , document1.odt , document.odt , document-linux.odt ):

Find . -name "document*.odt"

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

8. cat

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

Например, чтобы просмотреть содержимое файла /var/log/auth.log выполните:

Cat /var/log/auth.log

9. nano

На самом деле nano это консольный текстовый редактор. Но иногда, это один из немногих способов отредактировать файл из командной строки (например, когда графический интерфейс не грузится или отсутсвует).

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

Nano ftp.cfg

Откроется текстовый редактор. Внесите изменения в файл. Затем нажмите сочетание клавиш Ctrl+x и введите y , чтобы сохранить изменения и выйти (или введите n , чтобы закрыть файл без сохранения изменений).

10. mkdir

Команда mkdir создает пустую директорию.

Например, чтобы создать директорию backup, выполните:

Mkdir backup

rm и rmdir

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

Например удалим файл veryimportantfile.dat:

Rm veryimportantfile.dat

Для удаления директории воспользуемся командной rmdir . Например, удалим директорию photos :

Rmdir photos

apt или apt-get

И еще одна важная команда для тех, кто использует Ubuntu. apt — это менеджер пакетов, который служит для установки и удаления программ (пакетов), обновления системы.

Например, чтобы установить консольный файловый менеджер Midnight Commander , выполните:

Sudo apt install mc

Если apt недоступен, то используйте apt-get :

Sudo apt-get install mc

Что-то еще?

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

Whoami #вывести имя под которым Вы зарегистрированы date #вывести дату и время time <имя программы> #выполнить программу или команду и получить информацию о времени, #нужном для ее выполнения who #определить кто из пользователей работает на машине uname -a #вывести информацию о версии операционной системы cat /etc/issue #показать версию операционной системы (12.04, 13.04 etc.) lsb_release -a #название дистрибутива и версия uname -m #узнать, сколько бит в linux ОС free #вывести информацию по использованию памяти df -h #вывести информацию о свободном и используемом месте на дисках uptime #показывает текущее время, время, прошедшее после загрузки ОС, количество текущих #пользователей в компьютерной системе и нагрузку за последние 1, 5 и 15 минут top (htop) #выводит список работающих в системе процессов и информацию о них ps axu | grep php #список процессов, в имени которых встречается php ps aux | head -n 1; ps aux | grep:searchd #процессы с пояснением параметров сверху netstat -lnp | grep:9000 #узнать, что висит на 9000 порту netstat -luntp #показывает все открытые порты с использующими их приложениями lsusb #информация об устройствах, подключенных через USB lscpu #характеристики процессора

Здесь я только в кратце опишу основные команды. Про большинство команд можно узнать подробнее в интерактивном режиме, обратившись к справочной системе Linux с помощью команды man. Чтобы легче запомнить, от слова man ual:

Man <имя изучаемой команды>

Для выполнение некоторых команд, например задание прав доступа на системные файлы и многое другое, нужны права суперпользователя . Что бы выполнить команду от имени суперпользователя , нужно перед названием команды написать sudo (например: sudo service nginx restart). В некоторых debian системах, sudo может не быть установлен по умолчанию (но его можно установить apt-get install sudo). Для установки sudo нужно авторизоваться по root `ом:

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

Eugene@PCname:~$ su - Пароль: root@PCname:~# <команда, которая выполнится от имени root>

Общие команды Linux

Тут представлен список полезных команд, которые не вошли в другие разделы.

Sudo shutdown -h now #выключить компьютер сейчас sudo shutdown -h 90 #выключить компьютер через 90 мин. sudo reboot #перезагрузить компьютер wget --convert-links -r http://www.linux.org/ #копирование сайта целиком и конвертирование ссылок для автономной работы #копирование происходит на 5 уровней в глубину!! #выполнить последнюю выполненную команду history | tail -50 #показать последние 50 набранных команд passwd #меняет пароль текущего пользователя cal -3 #показывает в удобной форме предыдущий, текущий и последующий месяц (типо календарь)

Работа с файлами и директориями Linux

ls #показать список файлов в текущем каталоге (list) ls -la <имя каталога> #список файлов в каталоге <имя каталога>, включая скрытые pwd #выводит текущий путь (команда вывода текущей директории) cd [каталог] #cменить текущий каталог (change directory) cp <что_копировать> <куда_копировать> #копировать файлы (copy) mv <что_перемещать> <куда_перемещать> #переместить или переименовать файл (move) mkdir <каталог> #создать новый каталог (make directory) rmdir <каталог> #удалить пустой каталог (remove directory) rm <файлы> #удалить файлы (remove) rm -rf <имя каталога> #удаление директории вместе с вложенными файлами locate /var/www*index.php #найти все файлы с названием, заканчивающимся на index.php #в директории /var/www tail <имя файла> #выводит конец файла. Удобно при работе с логами и большими файлами du . -bh | more #вывод на экран информации о размере файлов и каталогов, начиная с текущего каталога sudo chmod 777 -R ~/Общедоступные #разрешение на чтение/запись/исполнение для всех на каталог ~/Общедоступные # -R - рекурсивно, то есть и на все вложенные файлы и папки sudo chown <имя пользователя> <имя файла> #задать владельца файла >filename #делает filename пустым файлом, т.е. стирает содержимое touch filename #создаёт пустой файл, также меняет время последнего изменения файла

Команды Linux, дающие информацию о системе

whoami #вывести имя под которым Вы зарегистрированы date #вывести дату и время time <имя программы> #выполнить программу или команду и получить информацию о времени, #нужном для ее выполнения who #определить кто из пользователей работает на машине uname -a #вывести информацию о версии операционной системы cat /etc/issue #показать версию операционной системы (12.04, 13.04 etc.) lsb_release -a #название дистрибутива и версия uname -m #узнать, сколько бит в linux ОС free #вывести информацию по использованию памяти df -h #вывести информацию о свободном и используемом месте на дисках uptime #показывает текущее время, время, прошедшее после загрузки ОС, количество текущих #пользователей в компьютерной системе и нагрузку за последние 1, 5 и 15 минут работы после загрузки, #количество текущих пользователей в компьютерной системе и нагрузку за последние 1, 5 и 15 минут top (htop) #выводит список работающих в системе процессов и информацию о них ps axu | grep php #список процессов, в имени которых встречается php ps aux | head -n 1; ps aux | grep:searchd #процессы с пояснением параметров сверху netstat -lnp | grep:9000 #узнать, что висит на 9000 порту netstat -luntp #показывает все открытые порты с использующими их приложениями lsusb #информация об устройствах, подключенных через USB lscpu #характеристики процессора

Как завершить какой-нибудь процесс? Если во время вывода top нажать k (от слова kill), то будет предложено

PID to kill:

нужно ввести идентификатор (PID) процесса и затем нажать enter. Это нечто вроде диспетчера задач в Windows.

Работа с архивами Linux

tar cf primer.tar /home/primer.txt #создать tar архив с именем primer.tar, #содержащий /home/primer.txt tar czf primer.tar.gz /home/primer.txt #cоздать tar-архив с сжатием Gzip по #имени primer.tar.gz tar xf primer.tar #распаковать архив primer.tar в текущую папку tar xzf primer.tar.gz #распаковать tar-архив с Gzip tar xjf primer.tar.bz #распаковать tar-архив с Bzip2

Примеры поиска текста и файлов в Linux

grep -rl "что_ищем" /путь #искать файлы рекурсивно с текстом #"что_ищем" по пути "/путь" less ~/Документы/http.txt | grep -A 2 "skype" #поиск по файлу ~/Документы/http.txt, #выведет строку совпадения + 2 следующие строки tail -f -n100 ~/logs/php-error.log #очень удобная фича для прочтения логов #в реальном времени выводит 100 последних строк файла find . -name "*.php" -mtime -1 -print #рекурсивный поиск файлов по паттерну (маске) "*.php" #которые изменялись за последние сутки find /var/www/ -mtime -10 #поиск файлов которые были изменены за последние 10 дней find /var/www/ -mtime -10 > filename.txt #записать вывод в файл find . -perm 777 | xargs rm #найти все файлы с правами 777 и удалить их find . -name cache | xargs chmod -R 777 #найти каталог cache и задать ему права 777

Выполнить куски кода в командной строке (php, python):

Php -r "var_dump(strlen("hello"));" python -c "print("hello");"

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

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

В этой статье накануне праздников мы рассмотрим прикольные команды Linux. Но перед тем как перейти к командам, давайте начнем с самого терминала.

Недавно появился на свет проект эмулятора терминала в виде старого экрана. Смотрится очень даже неплохо:

Для установки в Ubuntu можно использовать репозиторий PPA:

sudo add-apt-repository ppa:noobslab/apps
$ sudo apt-get update
$ sudo apt-get install cool-retro-term

В OpenSUSE пакет доступен в software.opensuse.org. После завершения установки запустить программу можно командой:

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

Терминал у нас подходящий, теперь можно и посмотреть существующие шутки в терминале Linux.

1. Cowsay

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

Очень удобно использовать для приветствия терминала. Установить программу можно из официальных репозиториев Ubuntu командой:

sudo apt-get install cowsay

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

Cow files in /usr/share/cowsay/cows:
apt beavis.zen bong bud-frogs bunny calvin cheese cock cower daemon default
dragon dragon-and-cow duck elephant elephant-in-snake eyes flaming-sheep
ghostbusters gnu head-in hellokitty kiss kitty koala kosh luke-koala
mech-and-cow meow milk moofasa moose mutilated pony pony-smaller ren sheep
skeleton snowman sodomized-sheep stegosaurus stimpy suse three-eyes turkey
turtle tux unipony unipony-smaller vader vader-koala www

Затем, чтобы выбрать вариант используйте опцию -f. Например:

cowsay -f dragon "Привет мир!"

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

2. Cowthink

Программа, очень похожая на первую Оказывается, коровы могут не только разговаривать, но и думать. Она устанавливается вместе с cowsay, поэтому ничего дополнительно ставить не нужно:

cowthink "Я все-таки дочитаю эту статью до конца"

cowthink -f dragon "Сейчас все сожгу"

Поддерживаются те же опции.

3. sl

Если вы неверно введете команду ls, вместо нее напишете sl - то в терминале справа налево проедет паровоз. Для установки в Ubuntu наберите:

sudo apt-get install sl

А теперь:

Опция -F заставит поезд взлетать, а -l уменьшит его до размера баннера.

4. figlet

Утилита позволяет рисовать большие текстовые баннеры в терминале. Такие баннеры используются в приветствиях ssh или telnet серверов:

Если не установлена, используйте в Ubuntu:

sudo apt-get install figlet

Поддерживаются разные шрифты, но нет поддержки юникода:

figlet -f slant Hello

5. toilet

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

Установка такая же:

sudo apt-get install toilet

Команда toilet поддерживает намного больше возможностей, например здесь есть поддержка Unicode, цветные шрифты (-f), фильтры(-F) и т д.

Например:

toilet -f bigmono9 -F gay "Hello"

6. banner

Эта команда, как и две предыдущие печатает баннеры, но ее возможности очень ограничены, нет опций и печатает только 10 символов:

Установка в Ubuntu:

sudo apt-get install sysvbanner

7. fortune

Команда fortune выводит одну случайную, но возможно полезную цитату:

Опция s указывает утилите генерировать цитаты небольшого размера.

Для вывода цитаты можно использовать cowsay:

fortune | cowsay

Установка в Ubuntu:

sudo apt-get install fortune

Для установки русских цитат выполните:

sudo apt-get install fortunes fortune-mod fortunes-min fortunes-ru

8. cmatrix

Программа нарисует матрицу, такую же как в одноименном фильме в вашем терминале:

Для установки в Ubuntu выполните:

sudo apt-get install cmatrix

9. Rev

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

10. Пасхалка в apt-get

Пасхалки в Linux довольно редкое явление, но они есть. В команде apt-get есть такое пасхальное яйцо:

11. Пасхалка aptitude

В aptitude тоже есть эта пасхалка, но активируется она не сразу:

Вы можете смотреть звездные войны в терминале подключившись к серверу towel.blinkenlights.nl с помощью telnet:

telnet towel.blinkenlights.nl

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

13. Цикл yes

Команда будет продолжать печатать указанное слово бесконечно, пока вы не нажмете Ctrl + C. В большинстве случаев от нее нет никакой пользы, но она может пригодиться при тестировании программ, когда нужно сгенерировать большое количество текстовой информации:

14. factor

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

15. pi

Команда pi выведет число pi до нужного количества знаков, например, посмотрим первые 500 знаков после запятой:

Команды factor и pi не относятся к категории веселые команды linux, но могут быть очень полезными в некоторых ситуациях.

16. xcowsay

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

xcowsay "Привет!"

Для установки в Ubuntu используйте:

sudo apt-get install xcowsay

17. xeyes

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

Затем выполните:

18. asciiviewer

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

Сначала ее нужно установить:

sudo apt-get install aview

Затем проверяем:

asciiview test.png -driver curses

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

19. aafire

Любите смотреть на огонь? Не проблема, эта команда тоже относится к набору asciiart и с помощью нее можно зажечь огонь в терминале:

Установка:

sudo apt-get install caca-utils

20. bb

Это аудио-визуализация отличного качества, работающая в текстовом терминале. В анимации используется только текст, но кроме рисунка есть и фон. За ней очень интересно наблюдать:

Установка:

sudo apt-get install bb

21. rig

Программа генерирует случайные и скорее всего, фейковые идентификационные данные:

Alberta Ramirez
990 Brandy Run
Chicago, IL 60607
(312) xxx-xxxx

Установить программу можно командой:

sudo apt-get install rig

22. thefuck

Это не совсем обычная утилита, хотя она и судя по названию была сделана в шутку, но может быть полезной. Утилита анализирует предыдущую команду и пытается исправить допущенную в ней ошибку. Смотрите демонстрацию от самого автора:

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

wget -O - https://raw.githubusercontent.com/nvbn/thefuck/master/install.sh | sh - && $0

Выводы

Вот и все. Если вы знаете другие веселые, смешные или прикольные команды linux которые я упустил - напишите в комментариях!



Есть вопросы?

Сообщить об опечатке

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