Основные команды Linux для начинающих. Основные команды Linux Базовые команды linux
- && . Строго говоря, это не команда. Если вы хотите выполнить сразу несколько команд, поставьте между ними двойной амперсанд вот так: первая_команда && вторая_команда. Терминал выполнит команды по порядку. Вы можете ввести столько команд, сколько захотите.
- alias . Присваивает созданные вами названия длинным командам, которые вы не можете запомнить. Введите alias длинная_команда короткая_команда.
- cd . Изменяет текущую терминальную папку. Когда вы запускаете терминал, он использует вашу домашнюю папку. Введите cd адрес_папки, и терминал будет работать с файлами, которые там находятся.
- clear . Очищает окно терминала от всех сообщений.
- history . Отображает все недавно введённые вами команды. Кроме того, вы можете переключаться между недавними командами с помощью клавиш «Вверх» и «Вниз». Если вы не хотите, чтобы введённая вами команда была записана, поставьте перед ней пробел так: ваша_команда.
- man . Отображает руководство по программам и командам . Введите man имя_пакета или man ваша_команда.
- whatis . Отображает краткое описание какой-либо программы. Введите команду и название программы whatis имя_пакета.
Для выполнения множества действий в системе, например для установки и удаления программ, вам понадобятся права администратора, или суперпользователя root, как его называют в Linux.
- sudo . Эта команда даст вам права суперпользователя. Введите sudo перед нужной командой (например, sudo apt upgrade), чтобы выполнить её от имени администратора. Система спросит у вас пароль.
- sudo su . После этой команды все введённые вами команды будут исполняться от имени суперпользователя, пока вы не закроете терминал. Используйте её, если вам нужно выполнить много команд с правами администратора.
- sudo gksudo . Команда для запуска с правами администратора приложения с графическим интерфейсом. Например, если вы хотите переместить или изменить системные файлы, введите sudo gksudo nautilus (укажите тот файловый менеджер, которым пользуетесь).
- sudo !! . Эта команда запустит ранее введённую команду с правами администратора. Полезно, если вы набрали команду без sudo .
Не выполняйте от имени суперпользователя команд, которых не понимаете.
Установку и удаление приложений в Linux выполняют пакетные менеджеры. В Ubuntu и пакетный менеджер называется apt, в Fedora - dnf, в Arch и Manjaro - pacman. Они загружают приложения из сетевых репозитариев, источников пакетов. Давать им команды следует с правами суперпользователя.
apt (Debian/Ubuntu/Mint)
- sudo apt install имя_пакета. Установить нужный пакет.
- sudo apt-add-repository адрес_репозитария. Добавить сторонний репозитарий.
- sudo apt update . Обновить сведения о пакетах.
- sudo apt upgrade . Обновить все пакеты до самых свежих (выполнять после apt update).
- sudo apt remove имя_пакета. Удалить ненужный пакет.
- sudo apt purge имя_пакета. Удалить ненужный пакет со всеми зависимостями, если хотите освободить больше места.
- sudo apt autoremove . Удалить все ненужные зависимости, бесхозные пакеты и прочий мусор.
dnf (Red Hat/Fedora/CentOS)
- sudo dnf install имя_пакета. Установить нужный пакет.
- sudo dnf config-manager --add-repo адрес_репозитария. Добавить сторонний репозитарий.
- sudo dnf upgrade . Обновить все пакеты до самых свежих.
- sudo dnf remove имя_пакета. Удалить ненужный пакет.
- sudo dnf autoremove . Удалить все ненужные зависимости.
pacman (Arch/Manjaro)
- sudo pacman -S имя_пакета. Установить нужный пакет.
- sudo yaourt -S имя_пакета. Установить пакет из AUR, если его нет в основном репозитарии.
- sudo pacman -Sy . Обновить сведения о пакетах.
- sudo pacman -Syu . Обновить все пакеты до самых свежих.
- sudo pacman -R имя_пакета. Удалить ненужный пакет.
- sudo pacman -Rs имя_пакета. Удалить ненужный пакет со всеми зависимостями.
Вы можете устанавливать и удалять сразу несколько пакетов, просто перечисляя их через пробел.
sudo apt install firefox clementine vlc
Если вы хотите установить какой-то пакет, но не знаете его точного названия, введите несколько первых букв имени пакета и дважды нажмите Tab. Пакетный менеджер покажет все пакеты, названия которых начинаются одинаково.
- kill . Эта команда служит для принудительного завершения процессов. Нужно ввести kill PID_процесса. PID процесса можно узнать, введя top .
- xkill . Ещё одна команда для завершения процессов. Введите её, затем щёлкните по тому окну, которое нужно закрыть.
- killall . Убивает процессы c определённым именем. К примеру, killall firefox .
- top . Отображает перечень запущенных процессов, сортируя в зависимости от потребления ресурсов CPU. Своего рода терминальный «Системный монитор».
Просмотр и изменение файлов
- cat . Когда команда используется с одним текстовым файлом (вот так: cat путь_к_файлу), она отображает его содержимое в окне терминала. Если указать два и больше файлов, cat путь_к_файлу_1 путь_к_файлу_2 , она склеит их. Если ввести cat путь_к_файлу_1 > новый_файл, она объединит содержимое указанных файлов в новый файл.
- chmod . Позволяет изменять права доступа к файлу. Может пригодиться, если вы хотите внести изменения в системный файл.
- chown . Изменяет владельца файла. Следует выполнять с правами суперпользователя.
- file . Выводит информацию об указанном файле.
- nano . Открывает простой текстовый редактор. Можно создать новый текстовый файл или открыть существующий: nano путь_к_файлу.
- rename . Переименовывает файл или несколько файлов. Команду можно использовать и для файлов по маске.
- touch . Изменяет дату последнего открытия или модификации указанного файла.
- wget . Загружает файлы из интернета в терминальную папку.
- zip . Распаковывает и сжимает архивы.
Создание и удаление файлов и папок
- mkdir . Создаёт новую папку в текущей терминальной папке или в указанной папке: mkdir путь_к_папке.
- rmdir . Удаляет указанную папку.
- rm . Удаляет файлы. Может удалить как отдельный файл, так и группу, соответствующую определённым признакам.
Копирование и перемещение файлов
- cp . Создаёт копию указанного файла в папке терминала: cp путь_к_файлу. Или вы можете указать назначение cp путь_к_файлу путь_для_копии.
- mv . Перемещает файл из одной папки в другую. Вы можете указать имя для перемещаемого файла. Забавно, но в Linux эта команда может использоваться и для переименования файлов. Просто укажите ту же папку, где находится файл, и другое имя.
Поиск файлов
- find . Поиск файлов по определённым критериям, таким как имя, тип, размер, владелец, дата создания и модификации.
- grep . Поиск текстовых файлов, содержащих определённые строки. Критерии очень гибко настраиваются.
- locate . Поиск файлов и папок, чьи названия подходят запросу, и отображение их путей в файловой системе.
- lsblk . Эта команда демонстрирует, какие диски есть в вашей системе и на какие разделы они поделены. Также команда отображает имена ваших разделов и накопителей, в формате sda1, sda2 и так далее.
- mount . Монтирует накопители, устройства или файловые системы , чтобы вы могли с ними работать. Обычно устройства подключаются автоматически, как только вы щёлкнете по ним в файловом менеджере. Но иногда может понадобиться примонтировать что-то вручную. Вы можете подключать что угодно: диски, внешние накопители, разделы и даже ISO-образы. Эту команду нужно выполнять с правами суперпользователя. Чтобы примонтировать имеющийся диск или раздел, введите mount sdX .
- umount . Демонтирует файловые системы. Команда umount sdX отключит файловую систему внешнего носителя, чтобы вы могли извлечь его.
- 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 для управления пользователями
- useradd . Регистрирует нового пользователя. Введите useradd имя_пользователя, и пользователь будет создан.
- userdel . Удаляет учётную запись и файлы пользователя.
- usermod . Изменяет учётную запись пользователя. Может переместить домашнюю папку пользователя или назначить дату, когда учётная запись будет заблокирована.
- passwd . Изменяет пароли учётных записей. Обычный пользователь может изменить пароль только своей учётной записи, суперпользователь может изменить пароль любой учётной записи.
Команды Linux для управления сетью
- ip . Многофункциональная команда для работы с сетью. Команда ip address show выводит сведения о сетевых адресах, ip route управляет маршрутизацией и так далее. Давая команды ip link set ethX up , ip link set ethX down , можно включать и выключать соединения. У команды ip много применений, так что перед её использованием лучше ознакомиться с руководством или ввести ip --help
- ping . Показывает, подключены ли вы к сети, и помогает определить качество связи.
И ещё кое-что
Напоследок - главные команды Linux. Они выводят на экран корову, которая может разговаривать с вами (не спрашивайте, что употребляют разработчики).
- cowsay что_угодно. Корова произнесёт то, что вы ей скажете.
- fortune | cowsay . Корова выдаст умную (или не очень) мысль или цитату.
- cowsay -l . Выводит список всех животных, которые могут быть отображены в терминале. Если вы вдруг не любите коров.
- fortune | cowsay -f животное_из_списка. Животное на ваш выбор начинает сыпать цитатами, иногда уместными.
- 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 которые я упустил - напишите в комментариях!