Основные команды Linux для начинающих. Основные команды Linux Базовые команды linux

  1. && . Строго говоря, это не команда. Если вы хотите выполнить сразу несколько команд, поставьте между ними двойной амперсанд вот так: первая_команда && вторая_команда. Терминал выполнит команды по порядку. Вы можете ввести столько команд, сколько захотите.
  2. alias . Присваивает созданные вами названия длинным командам, которые вы не можете запомнить. Введите alias длинная_команда короткая_команда.
  3. cd . Изменяет текущую терминальную папку. Когда вы запускаете терминал, он использует вашу домашнюю папку. Введите cd адрес_папки, и терминал будет работать с файлами, которые там находятся.
  4. clear . Очищает окно терминала от всех сообщений.
  5. history . Отображает все недавно введённые вами команды. Кроме того, вы можете переключаться между недавними командами с помощью клавиш «Вверх» и «Вниз». Если вы не хотите, чтобы введённая вами команда была записана, поставьте перед ней пробел так: ваша_команда.
  6. man . Отображает руководство по программам и командам . Введите man имя_пакета или man ваша_команда.
  7. whatis . Отображает краткое описание какой-либо программы. Введите команду и название программы whatis имя_пакета.

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

  1. sudo . Эта команда даст вам права суперпользователя. Введите sudo перед нужной командой (например, sudo apt upgrade), чтобы выполнить её от имени администратора. Система спросит у вас пароль.
  2. sudo su . После этой команды все введённые вами команды будут исполняться от имени суперпользователя, пока вы не закроете терминал. Используйте её, если вам нужно выполнить много команд с правами администратора.
  3. sudo gksudo . Команда для запуска с правами администратора приложения с графическим интерфейсом. Например, если вы хотите переместить или изменить системные файлы, введите sudo gksudo nautilus (укажите тот файловый менеджер, которым пользуетесь).
  4. sudo !! . Эта команда запустит ранее введённую команду с правами администратора. Полезно, если вы набрали команду без sudo .

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

Установку и удаление приложений в Linux выполняют пакетные менеджеры. В Ubuntu и пакетный менеджер называется apt, в Fedora - dnf, в Arch и Manjaro - pacman. Они загружают приложения из сетевых репозитариев, источников пакетов. Давать им команды следует с правами суперпользователя.

apt (Debian/Ubuntu/Mint)

  1. sudo apt install имя_пакета. Установить нужный пакет.
  2. sudo apt-add-repository адрес_репозитария. Добавить сторонний репозитарий.
  3. sudo apt update . Обновить сведения о пакетах.
  4. sudo apt upgrade . Обновить все пакеты до самых свежих (выполнять после apt update).
  5. sudo apt remove имя_пакета. Удалить ненужный пакет.
  6. sudo apt purge имя_пакета. Удалить ненужный пакет со всеми зависимостями, если хотите освободить больше места.
  7. sudo apt autoremove . Удалить все ненужные зависимости, бесхозные пакеты и прочий мусор.

dnf (Red Hat/Fedora/CentOS)

  1. sudo dnf install имя_пакета. Установить нужный пакет.
  2. sudo dnf config-manager --add-repo адрес_репозитария. Добавить сторонний репозитарий.
  3. sudo dnf upgrade . Обновить все пакеты до самых свежих.
  4. sudo dnf remove имя_пакета. Удалить ненужный пакет.
  5. sudo dnf autoremove . Удалить все ненужные зависимости.

pacman (Arch/Manjaro)

  1. sudo pacman -S имя_пакета. Установить нужный пакет.
  2. sudo yaourt -S имя_пакета. Установить пакет из AUR, если его нет в основном репозитарии.
  3. sudo pacman -Sy . Обновить сведения о пакетах.
  4. sudo pacman -Syu . Обновить все пакеты до самых свежих.
  5. sudo pacman -R имя_пакета. Удалить ненужный пакет.
  6. sudo pacman -Rs имя_пакета. Удалить ненужный пакет со всеми зависимостями.

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

sudo apt install firefox clementine vlc

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

  1. kill . Эта команда служит для принудительного завершения процессов. Нужно ввести kill PID_процесса. PID процесса можно узнать, введя top .
  2. xkill . Ещё одна команда для завершения процессов. Введите её, затем щёлкните по тому окну, которое нужно закрыть.
  3. killall . Убивает процессы c определённым именем. К примеру, killall firefox .
  4. top . Отображает перечень запущенных процессов, сортируя в зависимости от потребления ресурсов CPU. Своего рода терминальный «Системный монитор».

Просмотр и изменение файлов

  1. cat . Когда команда используется с одним текстовым файлом (вот так: cat путь_к_файлу), она отображает его содержимое в окне терминала. Если указать два и больше файлов, cat путь_к_файлу_1 путь_к_файлу_2 , она склеит их. Если ввести cat путь_к_файлу_1 > новый_файл, она объединит содержимое указанных файлов в новый файл.
  2. chmod . Позволяет изменять права доступа к файлу. Может пригодиться, если вы хотите внести изменения в системный файл.
  3. chown . Изменяет владельца файла. Следует выполнять с правами суперпользователя.
  4. file . Выводит информацию об указанном файле.
  5. nano . Открывает простой текстовый редактор. Можно создать новый текстовый файл или открыть существующий: nano путь_к_файлу.
  6. rename . Переименовывает файл или несколько файлов. Команду можно использовать и для файлов по маске.
  7. touch . Изменяет дату последнего открытия или модификации указанного файла.
  8. wget . Загружает файлы из интернета в терминальную папку.
  9. zip . Распаковывает и сжимает архивы.

Создание и удаление файлов и папок

  1. mkdir . Создаёт новую папку в текущей терминальной папке или в указанной папке: mkdir путь_к_папке.
  2. rmdir . Удаляет указанную папку.
  3. rm . Удаляет файлы. Может удалить как отдельный файл, так и группу, соответствующую определённым признакам.

Копирование и перемещение файлов

  1. cp . Создаёт копию указанного файла в папке терминала: cp путь_к_файлу. Или вы можете указать назначение cp путь_к_файлу путь_для_копии.
  2. mv . Перемещает файл из одной папки в другую. Вы можете указать имя для перемещаемого файла. Забавно, но в Linux эта команда может использоваться и для переименования файлов. Просто укажите ту же папку, где находится файл, и другое имя.

Поиск файлов

  1. find . Поиск файлов по определённым критериям, таким как имя, тип, размер, владелец, дата создания и модификации.
  2. grep . Поиск текстовых файлов, содержащих определённые строки. Критерии очень гибко настраиваются.
  3. locate . Поиск файлов и папок, чьи названия подходят запросу, и отображение их путей в файловой системе.

  1. lsblk . Эта команда демонстрирует, какие диски есть в вашей системе и на какие разделы они поделены. Также команда отображает имена ваших разделов и накопителей, в формате sda1, sda2 и так далее.
  2. mount . Монтирует накопители, устройства или файловые системы , чтобы вы могли с ними работать. Обычно устройства подключаются автоматически, как только вы щёлкнете по ним в файловом менеджере. Но иногда может понадобиться примонтировать что-то вручную. Вы можете подключать что угодно: диски, внешние накопители, разделы и даже ISO-образы. Эту команду нужно выполнять с правами суперпользователя. Чтобы примонтировать имеющийся диск или раздел, введите mount sdX .
  3. umount . Демонтирует файловые системы. Команда umount sdX отключит файловую систему внешнего носителя, чтобы вы могли извлечь его.
  4. dd . Эта команда копирует и преобразовывает файлы и разделы. У неё множество различных применений. Например, dd if=/dev/sda of=/dev/sdb сделает точную копию раздела sda на разделе sdb. dd if=/dev/zero of=/dev/sdX затрёт содержимое указанного носителя нулями, чтобы информацию было невозможно восстановить. А dd if=~/Downloads/ubuntu.iso of=/dev/sdX bs=4M сделает загрузочный носитель из скачанного вами образа с дистрибутивом.

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

  1. useradd . Регистрирует нового пользователя. Введите useradd имя_пользователя, и пользователь будет создан.
  2. userdel . Удаляет учётную запись и файлы пользователя.
  3. usermod . Изменяет учётную запись пользователя. Может переместить домашнюю папку пользователя или назначить дату, когда учётная запись будет заблокирована.
  4. passwd . Изменяет пароли учётных записей. Обычный пользователь может изменить пароль только своей учётной записи, суперпользователь может изменить пароль любой учётной записи.

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

  1. ip . Многофункциональная команда для работы с сетью. Команда ip address show выводит сведения о сетевых адресах, ip route управляет маршрутизацией и так далее. Давая команды ip link set ethX up , ip link set ethX down , можно включать и выключать соединения. У команды ip много применений, так что перед её использованием лучше ознакомиться с руководством или ввести ip --help
  2. ping . Показывает, подключены ли вы к сети, и помогает определить качество связи.

И ещё кое-что

Напоследок - главные команды Linux. Они выводят на экран корову, которая может разговаривать с вами (не спрашивайте, что употребляют разработчики).

  1. cowsay что_угодно. Корова произнесёт то, что вы ей скажете.
  2. fortune | cowsay . Корова выдаст умную (или не очень) мысль или цитату.
  3. cowsay -l . Выводит список всех животных, которые могут быть отображены в терминале. Если вы вдруг не любите коров.
  4. fortune | cowsay -f животное_из_списка. Животное на ваш выбор начинает сыпать цитатами, иногда уместными.
  5. sudo apt-get install fortunes fortune-mod fortunes-min fortunes-ru . Заставит весь зоопарк говорить по-русски. Без этого животные цитируют Твена и Уайльда .

Это далеко не все команды Linux. Если вам нужно узнать в деталях параметры и способы применения команд Linux, вы можете воспользоваться встроенным руководством. Наберите man ваша_команда или ваша_команда --help .

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, но на самом деле это не так. Есть 3,74 миллиарда глобальных пользователей Интернета, и все они в некотором роде, используют Linux так как серверы Linux поддерживают 90% интернета. Большинство современных маршрутизаторов запускают Linux или Unix, а супер компьютеры также в большинстве своем работают на Linux. Если у вас есть Android-смартфон, ваша операционная система построена на ядре Linux.

Другими словами, Linux повсюду.


Изображение: Opensource.com

Но есть разница между использованием Linux-технологий и использованием самой Linux. Если вы заинтересованы в Linux, вам может быть интересно узнать, как использовать интерфейс командной строки Linux (CLI)

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

Начните осваивать интерфейс командной строки Linux с помощью этих 10 основных команд.

1. ls

Нет, это не типографская ошибка - я действительно намеревался ввести нижний регистр буквы L. ls , или «list» - это команда номер один, которую вам нужно знать для использования CLI Linux. Эта команда списка функционирует в терминале Linux, чтобы отобразить все основные каталоги, поданные в соответствующей файловой системе. Например, эта команда:

ls /applications

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

Все скрытые файлы можно просмотреть с помощью команды ls -a

2. cd

Эта команда используется для перехода (или «изменения») в каталог. Это то, как вы перемещаетесь из одной папки в другую. Скажите, что вы находитесь в папке «Загружаемые файлы», но вы хотите перейти в папку «Список воспроизведения Gym».

Просто ввод текста cd Gym Playlist не будет работать, поскольку оболочка не узнает его и сообщит, что папка, которую вы ищете, не существует. Чтобы открыть эту папку, вам нужно поставить обратную косую черту.

Команда должна выглядеть так:

cd Gym\ Playlist

Чтобы вернуться из текущей папки в предыдущую, вы можете ввести имя папки, за которой следует cd ... Подумайте о двух точках, подобных кнопке «Назад».

3. mv

Эта команда передает файл из одной папки в другую; mv означает «двигаться». Вы можете использовать эту короткую команду, как если бы вы перетащили файл в папку на ПК с Windows.

Например, если я создаю файл, призванный testfile продемонстрировать все основные команды Linux, и я хочу переместить его в папку «Мои документы», я бы выпустил эту команду:

mv /home/sam/testfile /home/sam/Documents/

Первая часть команды (mv ) говорит, что я хочу переместить файл, вторая часть (home/sam/testfile ) называет файл, который я хочу переместить, а третья часть (/home/sam/Documents/ ) указывает местоположение, куда я хочу передать файл.

4. Горячие клавиши Linux

Это больше, чем одна команда, но я не мог удержаться, и не рассказать про них здесь. Зачем? Потому что они экономят время и сильно помогают в работе.

CTRL+K Вырезает текст с курсора до конца строки

CTRL+Y Вставить текст

CTRL+E Перемещает курсор в конец строки

CTRL+A Перемещает курсор в начало строки

ALT+F Переход к следующему пространству

ALT+B Переход к предыдущему пространству

ALT+Backspace Удаляет предыдущее слово

CTRL+W Обрезает слово за курсором

Shift+Insert Вставляет текст в терминал

Ctrl+D Выходит из системы

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

sudo apt-get intall programname

Вероятно, вы заметили, что «install » написана с ошибкой, поэтому команда не будет работать. Но быстрые клавиши позволяют легко вернуться и исправить. Если мой курсор находится в конце строки, я могу щелкнуть ALT+B дважды, чтобы переместить курсор на место, указанное ниже, с помощью ^ символа:

sudo apt-get^intall programname

Теперь мы можем быстро добавить письмо sдля исправления install . Очень просто!

5. mkdir

Это команда, которую надо использовать для создания каталога или папки в среде Linux. Например, вы можете ввести mkdir DIY в каталог для своих проектов DIY.

6. at

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

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

Например:

at 4:08 PM Sat

at> cowsay "hello"

Это будет запускать программу cowsay в 16:08 в субботу.

7. rmdir

Эта команда позволяет удалить каталог через CLI Linux.

Например:

rmdir testdirectory

Имейте в виду, что эта команда не удалит каталог, в котором есть файлы внутри. Это работает только при удалении пустых каталогов.

8. rm

Если вы хотите удалить файлы, rm команда - это то, что необходимо. Она может удалять файлы и каталоги.

Чтобы удалить один файл, введите rm testfile

для удаления каталога и файлов внутри него, введите rm -r .

9. touch

Команда touch , иначе известная как команда make file , позволяет создавать новые, пустые файлы с помощью CLI Linux. Очень похоже на команду mkdir для создания каталогов, touch применяется для создание файлов.

Например, touch testfile создаст пустой файл с именем testfile.

10. locate

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

Например, если у вас есть документ о вариантах использования цепочки блоков, но вы не можете придумать название, вы можете нажать на него locate -blockchain или вы можете искать «варианты использования цепочки», разделив слова звездочкой или звездочками (*).

Например:

locate -i*blockchain*use*cases* ,

Есть много других полезных команд CLI Linux, таких как pkill команда, и это здорово, если вы начнете понимать, что они делают.

Вот ещё некоторые другие полезные команды для людей, которые хотят научиться использовать терминал Linux: man, apropos, sudo, su, chown, chmod, find, xargs, grep, sed, mount, less, stat

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


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

Команды для работы с файлами и каталогами

Файловые команды

ls – список файлов и каталогов

ls –l - форматированный список файлов и каталогов с атрибутами, владельцем, датой создания

ls -al – форматированный список, включая скрытые каталоги и файлы

cd dir – сменить директорию на dir

cd – сменить на домашний каталог

cd .. - перейти в каталог уровнем выше.

pwd – показать текущий каталог

mkdir dir – создать каталог dir

rm file – удалить file

rm -r dir – удалить каталог dir

rm -f file – удалить файл без запросов подтверждения и игнорировать ошибки file

rm -rf dir – удалить каталог dir без запросов подтверждения и игнорировать ошибки

cp file1 file2 – скопировать file1 в file2

cp -r dir1 dir2 – скопировать dir1 в dir2; создаст каталог dir2, если он не существует

mv file1 file2 – переименовать или переместить file1 в file2. если file2 существующий каталог – переместить file1 в каталог file2

ln -s file link – создать символическую ссылку link к файлу file

touch file – создать file, если файл существует – изменить отметки времени файла.

cat > file – направить стандартный ввод в file

more file – вывести содержимое файла file в постраничном режиме

head file – вывести первые 10 строк указанного файла.

tail file – вывести последние 10 строк указанного файла

tail –n 100 /var/log/messages - отобразить последние 100 строк из файла журнала /var/log/messages .

tail -f file - выводить содержимое файла по мере его роста.

Права доступа:

chmod octal file – сменить права file на octal, раздельно для пользователя, группы и для всех добавлением:

4 – чтение (r)
2 – запись (w)
1 – исполнение (x)
Примеры:

chmod 777 iptraf – чтение, запись, исполнение любым пользователям для файла iptraf
chmod 755 rwx для владельца, rx для группы и остальных.

Команды для работы с процессами

Управление процессами

ps – вывести ваши текущие активные процессы

ps –e - вывести список процессов с идентификаторами (PID) и их именами

ps –eF - вывести список процессов, как в предыдущем примере, но с полной строкой запуска

ps –aux - как и в предыдущем примере, но с использованием синтаксиса BSD.

top – показать степень использования ресурсов системы.

nice - отобразить текущее значение модификации приоритета nice Модификатор принимает значения от -20 (высокий приоритет) до 19 (низкий)

nice -4 mc - запустить mc с приоритетом +4

nice --4 mc - запустить приложение mc с приоритетом -4 по отношению к родительскому процессу (оболочке пользователя).

renice 4 -p 11590 - установить значение приоритета для процесса с идентификатором PID=11590 равное 4

kill pid – завершить (убить) процесс с идентификатором pid

killall proc – убить все процессы, имена которых начинаются с proc

bg – список остановленных и фоновых задач; продолжить выполнение остановленной задачи в фоне

fg – выносит на передний план последние задачи

fg n – вынести задачу n на передний план

Команды для архивирования

tar cf file.tar files – создать tar-архив с именем file.tar содержащий files

tar xf file.tar – распаковать file.tar

tar czf file.tar.gz files – создать архив tar с сжатием Gzip

tar xzf file.tar.gz – распаковать tar с Gzip

tar cjf file.tar.bz2 – создать архив tar с сжатием Bzip2

tar xjf file.tar.bz2 – распаковать tar с Bzip2

gzip file – сжать file и переименовать в file.gz

gzip -d file.gz - распаковать file.gz в file

Команды для поиска

grep pattern files – искать pattern в файлах files

grep 192.168.1.1 /etc/*.conf - искать IP – адрес 192.168.1.1 /etc

grep –r 192.168. /etc/*.conf - искать часть IP – адреса 192.168. в конфигурационных файлах каталога /etc и его подкаталогах (рекурсивно)

command | grep pattern – искать pattern в выводе команды command

locate file – найти все файлы с именем file . Например, для определения места хранения пакетов.deb – locate *.deb

whereis mc – где находятся файлы с именем mc

which iptraf iptraf , запускаемый по умолчанию (без указания пути).

find / -name iptables* - искать, начиная с корневого каталога, файлы, имена которых начинаются с iptables .

find /etc -name iptables* - искать в каталоге /etc файлы, имена которых начинаются с iptables .

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

date – вывести текущую дату и время

cal – вывести календарь на текущий месяц

uptime – показать время с момента последней загрузки ОС.

w – сведения о пользователях, зарегистрировавшихся в системе

users - список имен пользователей, вошедших в систему.

last - список пользователей, вошедших в систему по данным из специального файла /var/log/wtmp . Отображается имя, терминал, время входа IP-адрес и т.п.

last –ad - сведения о пользователях, вошедших в систему, с отображением в последней колонке имени компьютера с которого выполнен вход.

last –F - отобразить время входа пользователей в систему, длительность сессий и время выхода.

last –x - отобразить сведения о выключениях, перезагрузках и изменениях уровня запуска системы.

last root - отобразить сведения о сеансах пользователя root .

last -n 10 user1 - отобразить сведения о десяти последних сеансах пользователя user1 .

lastlog - отобразить список всех пользователей и время их последнего входа в систему.

whoami – имя, под которым вы в данный момент работаете в системе.

finger user – показать информацию о user

uname -a – отобразить все сведения о системе.

uname -vr – отобразить номер выпуска операционной системы и версию ядра.

df – отобразить информацию об использовании дисков.

du – отобразить информацию об использовании текущего каталога

free – информация об использовании реальной и виртуальной памяти.

whatis app - отобразить краткую информацию об app из базы данных документации.

whereis app – где находится исполняемый модуль app

which app – какой исполняемый модуль приложения app будет запущен по умолчанию.

man command – отобразить справочную информацию для команды command

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

groupadd -g 500 user - создать группу user с идентификатором GID=500

useradd -p PASS user - создать пользователя user с паролем PASS

passwd - изменить пароль текущего пользователя.

passwd user - изменить пароль пользователя user (команда только для root )

su - user - выполнить смену текущего пользоателя на пользователя user с использованием его оболочки (- ).

su - - сменить текущего пользователя на суперпользователя root с использованием его командной оболочки.

sudo shutdown now - выполнить команду shutdown now с правами суперпользователя root

script /var/log/mysession.txt - создать протокол действий пользователя с записью вводимых команд и отображаемых результатов в файл /var/log/mysession.txt . Для прекращения записи введите команду exit

Команды для получения сведений об оборудовании

Некоторые сведения об оборудовании можно получить из файлов каталога /proc:

cat /proc/devices - информация о типах устройств.

cat /proc/diskstats - информация о дисковых устройствах.

cat /proc/dma - информация о режиме работы контроллера прямого доступа к памяти.

cat /proc/iomem - информация об адресах, используемых контроллерами ввода-вывода.

cat /proc/ioports - информация о портах ввода-вывода.

cat /proc/meminfo - информация об оперативной памяти.

cat /proc/cpuinfo - информация о процессорах..

lshw - отобразить полную информацию об оборудовании в текстовом формате.

lshw -c storage - отобразить информацию об устройствах хранения данных (класса ”storage”)

lscpu - отобразить информацию о процессоре

lscpu | grep L2 - получить размер кэш второго уровня процессора.

lscpu | grep Arch - получить информацию об архитектуре процессора.

lspci - отобразить сведения об оборудовании на шине PCI

lsusb - отобразить сведения об оборудовании на шине USB

dmidecode отобразить версию программы, общую информация базы DMI, и расшифрованное содержимое отдельных записей.

dmidecode -t bios - сведения о BIOS

dmidecode -t system - сведения о переключателях системной платы.

dmidecode -t baseboard - сведения о материнской плате.

dmidecode -t chassis - сведения о переключателях и датчиках шасси.

dmidecode -t processor - сведения о центральном процессоре (о процессорах для многопроцессорных систем) .

dmidecode -t memory - сведения об оперативной памяти.

dmidecode -t cache - сведения о кэш-памяти.

dmidecode -t connector - сведения о разъемах контроллеров периферийных устройств.

dmidecode -t slot - сведения о разъемах PCI/PCI-Express

Команды для работы с сетью

ifconfig - отобразить сведения о конфигурации сетевых интерфейсов.

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

ifconfig eth0 - отобразить сведения о конфигурации сетевого интерфейса eth0

ifсonfig –s

ifconfig eth0 hw ether 00:11:22:33:44:55 - установить новое значение аппаратного адреса (MAC-адреса) для сетевого интерфейса eth0

ifconfig eth1 broadcast 192.168.1.255 - установить значение широковещательного адреса для интерфейса eth1

ifconfig eth1 netmask 255.255.255.0 - установить маску подсети для интерфейса eth1

ifconfig eth1 192.168.1.1 - установить IP-адрес для интерфейса eth1

ifconfig eth1 add 192.168.1.2 - добавить IP-адрес для интерфейса eth1

ifconfig eth0 down - отключить интерфейс eth0

ifconfig eth0 up - включить интерфейс eth0

Команда ifconfig считается устаревшей и постепенно вытесняется командой ip

ip addr show - отобразить список сетевых интерфейсов с адресами. Возможно сокращение параметров команды - ip a sh или ip a s

ip addr list permanent - отобразить только статические ip адреса

ip addr list dynamic - отобразить только динамические ip адреса

ip addr add 1.1.1.13/24 dev eth0 - установить ip адрес для интерфейса eth0

ip addr del 1.1.1.13/24 dev eth0 - удалить ip адрес интерфейса eth0

ip addr flush dev eth0 - удалить все ip адреса интерфейса eth0

ip addr help - отобразить справку по команде ip addr

ip route show - отобразить сведения о маршрутах. В сокращенном варианте - ip r s

ip route show table 255 - отобразить все маршруты из таблицы 255 ip route get 10.10.20.0/24 - отобразить маршрут к этой сети ip route get 10.10.20.0/24 from 192.168.1.100 - отобразить маршрут к этой сети от указного интерфейса с IP=192.168.1.100.

ip route add 10.10.20.0/24 via 192.168.5.1 - создать маршрут к заданной сети через интерфейс c IP=192.168.5.1

ip route delete 10.10.20.0/24

ip route del 10.10.20.0/24 via 192.168.50.100 - удалить указанный маршрут.

ip route add default via 192.168.50.100 - создать маршрут по умолчанию.

ip route add 10.10.20.0/24 dev eth0 - создать маршрут к указной сети.

ip route add table nnn 10.10.20.0/24 dev eth0 - создать маршрут в специальной таблице маршрутов с номером nnn .

ip route add to blackhole 10.10.0.0/16 - создать фиктивный маршрут.

ip route add unreachable 10.10.0.0/16 - создать недостижимый маршрут.

ip link show - отобразить список сетевых интерфейсов.

ip link show eth0 - отобразить состояние eth0

ip link list up - отобразить статус всех включенных интерфейсов

ip link set eth1 up - включить интерфейс eth1

ip link set eth1 down - выключить интерфейс eth1

nslookup - запуск nslookup в интерактивном режиме.

nslookup mail.ru mail.ru с использованием сервера DNS из сетевых настроек.

nslookup mail.ru 8.8.8.8 - отобразить сведения для домена mail.ru с использованием сервера DNS с адресом 8.8.8.8 (публичный DNS-сервер Google).

nslookup –query=mx mail.ru - отобразить запись типа MX для домена mail.ru .

Альтернативой команде nslookup является команда dig

dig yandex.ru yandex.ru с использованием DNS-сервера по умолчанию

dig @8.8.8.8 yandex.ru – получить DNS информацию о домене yandex.ru с использованием DNS-сервера 8.8.8.8

dig -x ya.ru – отобразить реверсивную запись для узла ya.ru

whois domain - получить информацию whois для domain

wget file – скачать file

wget -c file – продолжить остановленную закачку

ping –help - отобразить справку по использованию ping ping host - пинговать host . Для завершения нажать Ctrl+C

ping –c 10 host - пинговать 10 раз host .и завершиться

ping –c 1 –s 3000 ya.ru - пинговать 1 раз узел ya.ru с отправкой пакетов длиной 3000 байт.

ping –c 10 host - пинговать 10 раз host .и завершиться

ping –c 1 –s 3000 –t 3 ya.ru - пинговать 1 раз узел ya.ru с отправкой пакетов длиной 3000 байт. И с использованием TTL=3

tcpdump –I eth0 - отображать в сокращенном виде содержимое пакетов на сетевом интерфейсе ith0

tcpdump –vv –I eth1 - отображать в подробном виде содержимое пакетов на сетевом интерфейсе eth1

netstat - отобразить список текущих соединений.

netstat -nap - отобразить список соединений и слушаемых портов (a ) в числовом виде (n ) и с именами программ (p )

netstat –r - отобразить таблицу маршрутизации.

netstat –s - отобразить сетевую статистику.

traceroute ya.ru - выполнить трассировку к узлу ya.ru

traceroute 8.8.8.8 - выполнить трассировку к узлу с IP-адресом 8.8.8.8

Команды для работы с SSH

ssh user@host – подключится к узлу host как пользователь user

ssh –l admin 192.168.1.1 – подключится к узлу 192.168.1.1 как пользователь admin

ssh -p port user@host – подключится к узлу host на порт port как пользователь user

ssh-keygen - сгенерировать публичный и приватный ключ для текущего пользователя.

ssh-copy-id user@host – добавить публичный ключ, сгенерированный для пользователя user на узел host . Текущим каталогом должен быть подкаталог с файлом ключа. Применяется для доступа к удаленной системе по ключу (без пароля).

ssh -X -l user 192.168.0.1 - подключиться к удаленному компьютеру 192.168.0.1 как пользователь user с использованием перенаправления графического вывода (X11 Forwarding)

ssh -Y -l user 192.168.0.1 - то же, что и в предыдущем примере, но без возможности взаимодействия удаленного клиента с локальным графическим дисплеем системы, к которой выполняется подключение. BR>
ssh -X -l user 192.168.0.1 ‘xterm’ - подключиться к удаленному компьютеру 192.168.0.1 как пользователь user с использованием перенаправления графического вывода (X11 Forwarding) и запуском графического терминала xterm .

exit – выйти из командной оболочки SSH.

Команды для установки ПО.

Установка из исходников:

./configure
Make
make install

Установка программ для различных дистрибутивов linux:

apt-get install iptraf - установить приложение iptraf из репозитория (Debian, Ubuntu и их ответвления.

apt-get remove iptraf mc - удалить приложения iptraf и mc

apt-get purge iptraf mc - удалить приложения iptraf и mc и их служебные и конфигурационные данные.

dpkg -i pkg.deb – установить приложение из пакета.deb (Debian, Ubuntu и их ответвления).

dpkg –r package - удалить пакет package . Удаление не полное - конфигурационные файлы, служебные сценарии, файлы журналов, данные, используемые этим пакетом, останутся. Это позволяет переустановить пакет с использованием существующей конфигурации.

dpkg –P package - как и в предыдущем примере, но с полным удалением конфигурации и служебных данных.

rpm –ivh packag1.rpm packagr2.rpm - установить приложения из указанных пакетов .rpm (Red Hat, Fedora, Centos и их ответвления)

rpm -Uvh foo-1.0-1.i386.rpm – обновить приложение из пакета .rpm

rpm –e ipraf - удалить приложение iptraf

Сочетания клавиш

Клавиатурные сочетания Ctrl+C – завершить текущую команду

Ctrl+Z – остановить текущую команду, продолжть с fg на переднем плане или bg в фоне

Ctrl+D – выйти из оболочки пользователя, тоже самое, что и exit

Ctrl+W – удалить одно слово в текущей строке

Ctrl+U – удалить строку

!! - повторить последнюю команду

Ctrl+Shift+F1 … CTrl+Shift+F6 - переключаться между терминалами 1 … 6

В 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 которые я упустил - напишите в комментариях!