Команды linux: 44 команды Linux которые вы должны знать
44 команды Linux которые вы должны знать
Во всех операционных системах, в том числе и в Linux, термин ‘команда’ означает либо утилиту командной строки, либо определённую возможность, встроенную в командную оболочку системы. Тем не менее, для самих пользователей это различие не имеет особого значения. В конце концов, и те и другие команды терминала Linux вызываются одинаково. Вы вводите слово в вашем эмуляторе терминала и получаете результат выполнения команды.
Я уже писал о командах терминала Linux, но тогда затронул лишь несколько самых интересных, самых полезных команд, рассчитывая на то, что пользователь уже достаточно знаком с возможностями терминала. Но нужно сделать ещё одну статью, рассчитанную на новичков, тех, кто только делает свои первые шаги в освоении Linux.
И вот она. Её цель — собрать основные простые и сложные команды Linux, которые должен знать каждый пользователь, чтобы наиболее эффективно управлять своей системой. Для удобности запоминания опций команд я в скобках добавил слова, от которых они произошли — так намного проще, на себе проверено.
Это не значит, что я перечислю все команды — я постараюсь охватить всё самое полезное, то, что может пригодиться в повседневной жизни. Чтобы было удобнее читать, разделим этот список на категории команд по назначению. Большинство рассмотренных здесь утилит не требуют дополнительной установки, они будут предустановлены в любом дистрибутиве Linux, а если не будут, то их несложно найти в официальных репозиториях.
Содержание статьи:
Команды Linux для управления файлами
1. ls
Утилита для просмотра содержимого каталогов. По умолчанию показывает текущий каталог. Если в параметрах указать путь, то она перечислит содержимое конечного каталога. Полезные опции -l (List) и -a (All). Первая форматирует вывод в виде списка с более подробной информацией, а вторая включает показ скрытых файлов.
2. cat
Печатает содержимое файла, переданного в параметре, в стандартный вывод. Если передать несколько файлов, команда склеит их. Также можно перенаправить вывод в ещё один файл с помощью символа ‘>’. Если нужно вывести только определенное количество строк, используйте опцию -n (Number).
3. cd
Позволяет перейти из текущего каталога в указанный. Если запустить без параметров — возвращает в домашний каталог. Вызов с двумя точками возвращает на уровень вверх относительно текущего каталога. Вызов с тире (cd -) возвращает к предыдущему каталогу.
4. pwd
Печатает на экран текущий каталог. Это может быть полезно, если ваша командная строка Linux не выводит такую информацию. Эта команда будет востребована в Bash программировании, где для получения ссылки на каталог выполняется скрипт.
5. mkdir
Создание новых каталогов. Наиболее удобная опция -p (Parents), позволяет создать всю структуру подкаталогов одной командой, даже если они ещё не существуют.
6. file
Показывает тип файла. В Linux файлы не обязаны всегда иметь расширения для того, чтобы с ними работать. Поэтому пользователю иногда трудно определить, что за файл перед ним. Эта маленькая утилита решает проблему.
7. cp
Копирование файлов и каталогов. Она не копирует каталоги по умолчанию рекурсивно (то есть все поддиректории и все файлы в поддиректориях), поэтому не забудьте добавить опцию -r (Recursive) или -a (Archive). Последняя включает режим сохранения атрибутов, владельца и временного штампа в дополнение к рекурсивному копированию.
8. mv
Перемещение или переименование файлов и каталогов. Примечательно, что в Linux это одна и та же операция. Переименование — это перемещение файла в ту же папку с другим именем.
9. rm
Удаляет файлы и папки. Очень полезная команда Linux: с её помощью вы можете убрать весь беспорядок. Если нужно рекурсивное удаление, используйте опцию -r. Однако будьте осторожны: конечно, для того чтобы повредить систему вам нужно будет серьёзно постараться, однако можно удалить собственные важные файлы. Rm удаляет файлы не в корзину, из которой потом всё можно будет восстановить, а полностью стирает. Действия оператора rm необратимы. Поверьте, ваши оправдания в духе «rm съела мою курсовую» никому не будут интересны.
10. ln
Создает жёсткие или символические ссылки на файлы. Символические или программные ссылки — это что-то похожее на ярлыки в Windows. Они предоставляют удобный способ доступа к определённому файлу. Символические ссылки указывают на файл, но не имеют никаких метаданных. Жёсткие ссылки, в отличие от символических, указывают на физический адрес области диска, где хранятся данные файла.
11. chmod
Изменяет права доступа к файлу. Это чтение, запись и выполнение. Каждый пользователь может изменять права для своих файлов.
12. chown
Изменяет владельца файла. Только суперпользователь может изменять владельцев. Для рекурсивного изменения используйте опцию -R.
13. find
Поиск в файловой системе, файлах и папках. Это очень гибкая и мощная команда Linux не только из-за своих способностей ищейки, но и благодаря возможности выполнять произвольные команды для найденных файлов.
14. locate
В отличие от find, команда locate ведёт поиск в базе данных updatedb для шаблонов имён файлов. Эта база данных содержит снимок файловой системы, что позволяет искать очень быстро. Но этот поиск ненадёжен, потому что вы не можете быть уверены, что ничего не изменилось с момента последнего снимка.
15. du
Показывает размер файла или каталога. Самые полезные опций: -h (Human), которая преобразует размеры файлов в легко читаемый формат, -s (Summarize), которая выводит минимум данных, и -d (Depth), устанавливающая глубину рекурсии по каталогам.
16. df
Анализатор дискового пространства. По умолчанию вывод достаточно подробный: перечислены все файловые системы, их размер, количество использованного и свободного пространства. Для удобства есть опция -h, делающая размеры легко читаемыми.
17.dd
Как сказано в официальном руководстве, это команда терминала для копирования и преобразования файлов. Не очень понятное описание, но это всё, что делает dd. Вы передаёте ей файл-источник, пункт назначения и пару дополнительных опций. Затем она делает копию одного файла в другой. Вы можете задать точный размер данных, которые нужно записать или скопировать. Работает утилита со всеми устройствами. Например, если вы хотите перезаписать жёсткий диск нулями из /dev/zero, можете сделать это. Также она часто используется для создания LiveUSB или гибридных ISO образов.
18 mount / umount
Это команды консоли Linux для подключения и отключения файловых систем Linux. Можно подключать всё: от USB накопителей, до ISO образов. И только у суперпользователя есть права для этого.
Linux команды консоли для работы с текстом
19. more / less
Это две простенькие команды терминала для просмотра длинных текстов, которые не вмещаются на одном экране. Представьте себе очень длинный вывод команды. Или вы вызвали cat для просмотра файла, и вашему эмулятору терминала потребовалось несколько секунд, чтобы прокрутить весь текст. Если ваш терминал не поддерживает прокрутки, вы можете сделать это с помощью less. Less новее, чем more и поддерживает больше опций, поэтому использовать more нет причин.
20. head / tail
Ещё одна пара, но здесь у каждой команды своя область применения. Head выводит несколько первых строк из файла (голова), а tail выдает несколько последних строк (хвост). По умолчанию каждая утилита выводит десять строк. Но это можно изменить с помощью опции -n. Ещё один полезный параметр -f, это сокращение от follow (следовать). Утилита постоянно выводит изменения в файле на экран. Например, если вы хотите следить за лог файлом, вместо того, чтобы постоянно открывать и закрывать его, используйте команду tail -nf.
21. grep
Grep, как и другие инструменты Linux, делает одно действие, но делает его хорошо: она ищет текст по шаблону. По умолчанию она принимает стандартный ввод, но вы можете искать в файлах. Шаблон может быть строкой или регулярным выражением. Она может вывести как совпадающие, так и не совпадающие строки и их контекст. Каждый раз, когда вы выполняете команду, которая выдает очень много информации, не нужно анализировать всё вручную — пусть grep делает свою магию.
22. sort
Сортировка строк текста по различным критериям. Наиболее полезные опции: -n (Numeric), по числовому значению, и -r (Reverse), которая переворачивает вывод. Это может быть полезно для сортировки вывода du. Например, если хотите отсортировать файлы по размеру, просто соедините эти команды.
23. wc
Утилита командной строки Linux для подсчёта количества слов, строк, байт и символов.
24. diff
Показывает различия между двумя файлами в построчном сравнении. Причём выводятся только строки, в которых обнаружены отличия. Измененные строки отмечаются символом «с», удалнные — «d», а новые — «а».
Кстати, я подготовил ещё одну подробную статью, в которой описан именно просмотр содержимого текстового файла в Linux c помощью терминала.
Команды Linux для управления процессами
25. kill / xkill / pkill / killall
Служат для завершения процессов. Но они принимают различные параметры для идентификации процессов. Kill нужен PID процесса, xkill — достаточно кликнуть по окну, чтобы закрыть его, killall и pkill принимают имя процесса. Используйте ту, которая удобна в определенной ситуации.
26. ps / pgrep
Как уже говорилось, чтобы уничтожить процесс, нужен его идентификатор. Один из способов получить его, это утилита ps, которая печатает информацию о запущенных процессах. По умолчанию вывод очень длинный, поэтому используйте опцию -e, чтобы увидеть информацию об определённом процессе. Это только снимок состояния на момент вызова, и информация не будет обновляться. Команда ps с ключом aux выводит полную информацию о процессах. Pgrep работает следующим образом: вы задаете имя процесса, а утилита показывает его идентификатор.
27. top / htop
Обе команды похожи, обе отображают процессы и могут быть использованы как консольные системные мониторы. Я рекомендую установить htop, если в вашем дистрибутиве он не поставляется по умолчанию, так как это улучшенная версия top. Вы сможете не только просматривать, но и контролировать процессы через его интерактивный интерфейс.
28. time
Время выполнения процесса. Это секундомер для выполнения программы. Полезно, если вам интересно, насколько сильно ваша реализация алгоритма отстает от стандартной. Но, несмотря на такое название, она не сообщит вам текущее время, используйте для этого команду date.
Команды Linux окружения пользователя
29. su / sudo
Su и sudo — это два способа выполнить одну и ту же задачу: запустить программу от имени другого пользователя. В зависимости от вашего дистрибутива вы, наверное, используете одну или другую. Но работают обе. Разница в том, что su переключает вас на другого пользователя, а sudo только выполняет команду от его имени. Поэтому использование sudo будет наиболее безопасным вариантом работы.
30. date
В отличие от time, делает именно то, чего вы от неё и ожидаете: выводит дату и время в стандартный вывод. Его можно форматировать в зависимости от ваших потребностей: вывести год, месяц, день, установить 12-ти или 24-ти часовой формат, получить наносекунды или номер недели. Например, date +»%j %V», выведет день в году и номер недели в формате ISO.
31. alias
Команда создаёт синонимы для других команд Linux. То есть вы можете делать новые команды или группы команд, а также переименовывать существующие. Это очень удобно для сокращения длинных команд, которые вы часто используете, или создания более понятных имен для команд, которые вы используете нечасто и не можете запомнить.
32. uname
Выводит некую основную информацию о системе. Без параметров она не покажет ничего полезного, кроме строчки Linux, но, если задать параметр -a (All), можно получить информацию о ядре, имени хоста и узнать архитектуру процессора.
33. uptime
Сообщает вам время работы системы. Не очень существенная информация, но может быть полезна для случайных вычислений или просто ради интереса, чтобы узнать, как давно был перезагружен сервер.
34. sleep
Вам, наверное, интересно как же её можно использовать. Даже не учитывая Bash-скриптинг, у неё есть свои преимущества. Например, если вы хотите выключить компьютер через определенный промежуток времени или использовать в качестве импровизированной тревоги.
Команды Linux для управления пользователями
35. useradd / userdel / usermod
Эти команды консоли Linux позволяют вам добавлять, удалять и изменять учетные записи пользователей. Скорее всего, вы не будете использовать их очень часто. Особенно если это домашний компьютер, и вы являетесь единственным пользователем. Управлять пользователями можно и с помощью графического интерфейса, но лучше знать об этих командах на всякий случай.
36. passwd
Эта команда позволяет изменить пароль учетной записи пользователя. Как суперпользователь вы можете сбросить пароли всех пользователей, даже несмотря на то, что не можете их увидеть. Хорошая практика безопасности — менять пароль почаще.
Linux команды для просмотра документации
37. man / whatis
Команда man открывает руководство по определённой команде. Для всех основных команд Linux есть man страницы. Whatis показывает, какие разделы руководств есть для данной команды.
38. whereis
Показывает полный путь к исполняемому файлу программы. Также может показать путь к исходникам, если они есть в системе.
Команды Linux для управления сетью
39. ip
Если список команд Linux для управления сетью вам кажется слишком коротким, скорее всего вы не знакомы с утилитой ip. В пакете net-tools содержится множество других утилит: ipconfig, netstat и прочие устаревшие, вроде iproute2. Всё это заменяет одна утилита — ip. Вы можете рассматривать её как швейцарский армейский нож для работы с сетью или как непонятную массу, но в любом случае за ней будущее. Просто смиритесь с этим.
40. ping
Ping — это ICMP ECHO_REQUEST дейтаграммы, но на самом деле это неважно. Важно то, что утилита ping может быть очень полезным диагностическим инструментом. Она поможет быстро проверить, подключены ли вы к маршрутизатору или к интернету, и дает кое-какое представление о качестве этой связи.
41. nethogs
Если у вас медленный интернет, то вам, наверное, было бы интересно знать, сколько трафика использует какая-либо программа в Linux или какая программа потребляет всю скорость. Теперь это можно сделать с помощью утилиты nethogs. Для того чтобы задать сетевой интерфейс используйте опцию -i.
42. traceroute
Это усовершенствованная версия ping. Мы можем увидеть не только полный маршрут сетевых пакетов, но и доступность узла, а также время доставки этих пакетов на каждый из узлов.
Выводы
Мы рассмотрели основные команды Linux, которые могут пригодиться вам при повседневном использовании системы. Если вы считаете, что есть другие команды, которые нужно добавить в этот список, напишите в комментариях!
Оцените статью:
Загрузка…
71 команда Linux на все случаи жизни. Ну почти
В терминале Linux можно делать практически что угодно: настраивать систему, устанавливать и удалять приложения, управлять дисками и файлами и даже разговаривать с коровами.
Команды Linux для навигации в терминале
&&
. Строго говоря, это не команда. Если вы хотите выполнить сразу несколько команд, поставьте между ними двойной амперсанд вот так:первая_команда && вторая_команда
. Терминал выполнит команды по порядку. Вы можете ввести столько команд, сколько захотите.alias
. Присваивает созданные вами названия длинным командам, которые вы не можете запомнить. Введитеalias длинная_команда короткая_команда
.cd
. Изменяет текущую терминальную папку. Когда вы запускаете терминал, он использует вашу домашнюю папку. Введитеcd адрес_папки
, и терминал будет работать с файлами, которые там находятся.clear
. Очищает окно терминала от всех сообщений.history
. Отображает все недавно введённые вами команды. Кроме того, вы можете переключаться между недавними командами с помощью клавиш «Вверх» и «Вниз». Если вы не хотите, чтобы введённая вами команда была записана, поставьте перед ней пробел так:ваша_команда
.man
. Отображает руководство по программам и командам Linux. Введитеman имя_пакета
илиman ваша_команда
.whatis
. Отображает краткое описание какой-либо программы. Введите команду и название программыwhatis имя_пакета
.
Команды Linux для получения прав суперпользователя
Для выполнения множества действий в системе, например для установки и удаления программ, вам понадобятся права администратора, или суперпользователя root, как его называют в Linux.
sudo
. Эта команда даст вам права суперпользователя. Введитеsudo
перед нужной командой (например,sudo apt upgrade
), чтобы выполнить её от имени администратора. Система спросит у вас пароль.sudo su
. После этой команды все введённые вами команды будут исполняться от имени суперпользователя, пока вы не закроете терминал. Используйте её, если вам нужно выполнить много команд с правами администратора.sudo gksudo
. Команда для запуска с правами администратора приложения с графическим интерфейсом. Например, если вы хотите переместить или изменить системные файлы, введитеsudo gksudo nautilus
(укажите тот файловый менеджер, которым пользуетесь).sudo !!
. Эта команда запустит ранее введённую команду с правами администратора. Полезно, если вы набрали команду безsudo
.
Не выполняйте от имени суперпользователя команд, которых не понимаете.
Команды Linux для управления пакетным менеджером
Установку и удаление приложений в Linux выполняют пакетные менеджеры. В Ubuntu и Debian пакетный менеджер называется 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. Пакетный менеджер покажет все пакеты, названия которых начинаются одинаково.
Команды Linux для управления процессами
kill
. Эта команда служит для принудительного завершения процессов. Нужно ввестиkill PID_процесса
. PID процесса можно узнать, введяtop
.xkill
. Ещё одна команда для завершения процессов. Введите её, затем щёлкните по тому окну, которое нужно закрыть.killall
. Убивает процессы c определённым именем. К примеру,killall firefox
.top
. Отображает перечень запущенных процессов, сортируя в зависимости от потребления ресурсов CPU. Своего рода терминальный «Системный монитор».
Команды Linux для управления файлами
Просмотр и изменение файлов
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
. Поиск файлов и папок, чьи названия подходят запросу, и отображение их путей в файловой системе.
Команды Linux для работы с разделами
lsblk
. Эта команда демонстрирует, какие диски есть в вашей системе и на какие разделы они поделены. Также команда отображает имена ваших разделов и накопителей, в формате sda1, sda2 и так далее.mount
. Монтирует накопители, устройства или файловые системы Linux, чтобы вы могли с ними работать. Обычно устройства подключаются автоматически, как только вы щёлкнете по ним в файловом менеджере. Но иногда может понадобиться примонтировать что-то вручную. Вы можете подключать что угодно: диски, внешние накопители, разделы и даже 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 для управления системой
df
. Отображает объём вашего диска, и сколько на нём осталось свободного места.free
. Отображает объём доступной и занятой оперативной памяти.uname
. Отображает сведения о системе Если ввестиuname
, терминал сообщит только Linux. Но командаuname -a
выводит сведения об имени компьютера и версии ядра.uptime
. Сообщает, как долго запущена ваша система.whereis
. Отображает расположение исполняемого файла нужной программы.whoami
. Называет имя пользователя.
Команды 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
.
Основные linux-команды для новичка / Хабр
Linux — это операционная система. Как винда (windows), только более защищенная. В винде легко подхватить вирус, в линуксе это практически невозможно. А еще линукс бесплатный, и ты сам себе хозяин: никаких тебе неотключаемых автообновлений системы!
Правда, разобраться в нем немного посложнее… Потому что большинство операций выполняется в командной строке. И если вы видите в вакансии «знание linux» — от вас ожидают как раз умение выполнять простейшие операции — перейти в другую директорию, скопировать файл, создать папочку… В этой статье я расскажу про типовые операции, которые стоит уметь делать новичку. Ну и плюс пара полезняшек для тестировщиков.
Я дам кратенькое описание основных команд с примерами (примеры я все проверяла на cent os, red hat based системе) + ссылки на статьи, где можно почитать подробнее. Если же хочется копнуть еще глубже, то см раздел «Книги и видео по теме». А еще комментарии к статье, там много полезного написали)
Содержание
Где я? Как понять, где находишься
Команда pwd:
pwd --- мы ввели команду
/home/test --- ответ системы, мы находимся в домашней директории пользователя test
Очень полезная команда, когда у вас нет ничего, кроме командной строки под рукой. Расшифровывается как Print Working Directory. Запомните ее, пригодится.
Как понять, что находится в папке
Команда ls позволяет просмотреть содержимое каталога:
Хотя лучше использовать команду сразу с флагом «l»:
ls -l
Такая команда выведет более читабельный список, где можно будет сразу увидеть дату создания файла, его размер, автора и выданные файлу права.
У команды есть и другие флаги, но чаще всего вы будете использовать именно «ls – l».
См также:
Команда ls Linux — подробнее о команде и всех ее флагах
Команда ls – просмотр каталога — о команде для новичков (без перечисления всех флагов)
Как перейти в другую директорию
С помощью команды cd:
cd <путь к директории>
Путь может быть абсолютным или относительным.
По абсолютному пути
Либо у вас где-то записан путь, «куда идти», либо вы подсмотрели его в графическом интерфейсе (например, в WinSCP).
Вставляем путь в командную строку после «cd»
cd /home/student/log
Ну вот, мы переместились из домашней директории (обозначается как ~) в /home/student/log.
По относительному пути
Относительный путь — относительно вашей текущей директории, где вы сейчас находитесь. Если я уже нахожусь в /home/student, а мне надо в /home/student/log, команда будут такой:
cd log --- перейди в папку log из той директории, где ты сейчас находишься
Если мне из надо из /home/student/photo в /home/student/photo/city/msk/2017/cat_1, команда будет такой:
cd city/msk/2017/cat_1
Я не пишу /home/student/photo, так как я уже там.
В линуксе можно задавать путь относительно домашней папки текущего пользователя. Домашняя директория обозначается ~/. Заметьте, не ~, а именно ~/. Дальше вы уже можете указывать подпапки:
cd ~/log
Эта команда будет работать отовсюду. И переместит нас в /home/user/log.
Вот пример, где я вошла под пользователем students. Исходно была в директории /var, а попала в /home/students/log:
С автодополнением
Если вы начнете набирать название папки и нажмете Tab, система сама его подставит. Если просто нажмете Tab, ничего не вводя, система начнет перебирать возможные варианты:
— (cd tab) Может, ты имел в виду папку 1?
— (tab) Нет? Может, папку 2?
— (tab) Снова нет? Может, папку 3?
— (tab) Снова нет? Может, файл 1 (она перебирает имена всех файлов и директорий, которые есть в той, где вы сейчас находитесь)?
— (tab) У меня кончились варианты, поехали сначала. Папка 1?
cd lon(Tab) → cd long-long-long-long-name-folder — начали вводить название папки и система сама подставила имя (из тех, что есть в директории, где мы находимся).
cd (Tab)(Tab)(Tab) — система перебирает все файлы / папки в текущей директории.
Это очень удобно, когда перемещаешься в командной строке. Не надо вспоминать точное название папки, но можно вспомнить первую букву-две, это сократит количество вариантов.
Подняться наверх
Подняться на уровень выше:
cd ..
Если нужно поднять на два уровня выше, то
cd ../..
И так до бесконечности =) Можно использовать файл, лежащий на уровне выше или просто сменить директорию.
Обратите внимание, что команда для линукса отличается от команды для винды — слеш другой. В винде это «cd ..\..», а в линуксе именно «cd ../..».
См также:
Путь к файлу в linux
Как создать директорию
Используйте команду mkdir:
mkdir test --- создает папку с названием «test» там, где вы находитесь
Можно и в другом месте создать папку:
mkdir /home/test --- создает папку «test» в директории /home, даже если вы
сейчас не там
Когда это нужно? Например, если вам надо сделать бекап логов. Создаете папку и сохраняете туда нужные логи. Или если вы читаете инструкцию по установке ПО и видите там «создать папку». Через командную строку это делается именно так.
См также:
Как создать каталог в Linux с помощью команды mkdir
Как создать файл
Командой touch:
touch app.log
Такая команда создаст пустой файл с названием «app.log». А потом уже можно открыть файл в редакторе и редактировать.
Как отредактировать файл
Вот честное слово, лучше делать это через графический интерфейс!
Но если такой возможности нет, чтож… Если использовать программы, которые есть везде, то у вас два варианта:
- nano — более простая программа, рассчитана на новичков
- vim — более сложная, но позволяет сделать кучу всего
Начнем с nano. Указываете имя команды и путь в файлу:
nano test_env.json
Для перемещения по файлу используйте кнопки со стрелками. После того, как закончите редактировать файл, нажмите:
- Ctrl+O — чтобы сохранить
- Ctrl+X — для выхода
Самое приятное в nano — это подсказки внизу экрана, что нажать, чтобы выйти.
А вот с vim с этим сложнее. В него легко зайти:
vim test_env.json
vi test_env.json (предшественник vim)
Войти вошли, а как выйти то, аааа? Тут начинается легкая паника, потому что ни одна из стандартных комбинаций не срабатывает: Esc, ctrl + x, ctrl + q… Если под рукой есть второй ноутбук или хотя бы телефон / планшет с интернетом, можно прогуглить «как выйти из vim», а если у вас только одно окно с терминалом, которое вы заблокировали редактором?
Делюсь секретом, для выхода надо набрать:
- :q — закрыть редактор
- :q! — закрыть редактор без сохранения (если что-то меняли, то просто «:q» не проканает)
Двоеточие запускает командный режим, а там уже вводим команду «q» (quit).
Исходно, когда мы открываем файл через vim, то видим его содежимое, а внизу информацию о файле:
Когда нажимаем двоеточие, оно печатается внизу:
Если не печатается, не паникуем! Тогда попробуйте нажать Esc (вернуться в нормальный режим), потом Enter (подтвердить команду), а потом снова печатайте. Фух, помогло, мы вышли оттуда!!!
На самом деле сейчас всё не так страшно. Даже если вас заслали работать в банк, где нет доступа в интернет, а вы вошли в vi и не знаете как выйти, всегда можно погулить выход с телефона. Слава мобильному интернету! Ну а если вы знаете логин-пароль от сервера, то можно просто закрыть терминал и открыть его снова.
Если нужно выйти, сохранив изменения, используйте команду
:w — сохранить файл;
:q — закрыть редактор;
Ну а про возможности редактирования см статьи ниже =)
См также:
Как редактировать файлы в Ubuntu — подробнее о разных способах
Как пользоваться текстовым редактором vim — подробнее о vim и всех его опциях
Как выйти из редактора Vi или Vim? — зачем нажимать Esc
Как перенести / скопировать файл
Допустим, у нас в директории /opt/app/log находится app.log, который мы хотим сохранить в другом месте. Как перенести лог в нужное место, если нет графического интерфейса, только командная строка?
Скопировать файл
Команда:
cp что_копировать куда_копировать
Если мы находимся в директории /opt/app/log:
cp app.log /home/olga
В данном примере мы использовали относительный путь для «что копировать» — мы уже находимся рядом с логом, поэтому просто берем его. А для «куда копировать» используем абсолютный путь — копируем в /home/olga.
Можно сразу переименовать файл:
cp app.log /home/olga/app_test_2020_03_08.log
В этом случае мы взяли app.log и поместили его в папку /home/olga, переименовав при этом в app_test_2020_03_08.log. А то мало ли, сколько логов у вас в этом папке уже лежит, чтобы различать их, можно давать файлу более говорящее имя.
Если в «куда копировать» файл с таким именем уже есть, система не будет ничего спрашивать, просто перезапишет его. Для примера положим в папку log внутри домашней директории файл «app.log», который там уже есть:
Никаких ошибок, система просто выполнила команду.
См также:
Копирование файлов в linux
Скопировать директорию
Команда остается та же, «cp», только используется ключ R — «копировать папку рекурсивно»:
cp -r путь_к_папке путь_к_новому_месту
Например:
cp /opt/app/log /home/olga
Так в директории /home/olga появится папка «log».
Переместить файл
Если надо переместить файл, а не скопировать его, то вместо cp (copy) используем mv (move).
cp app.log /home/olga
↓
mv app.log /home/olga
Можно использовать относительные и абсолютные пути:
mv /opt/app/logs/app.log /home/olga — абсолютные пути указаны, команда сработает из любого места
Можно сразу переименовать файл:
mv app.log /home/olga/app_2020_03_08.log — перенесли лог в /home/olga и переименовали
Переместить директорию
Аналогично перемещению файла, команда mv
mv /opt/app/log/ /home/olga/bakup/
Как удалить файл
С помощью команды rm (remove):
rm test.txt — удалит файл test.txt
Если нужно удалить все файлы в текущей директории (скажем, вычищаем старые логи перед переустановкой приложения), используйте «*»:
rm * — удалит все файлы в текущей директории
Если нужно удалить папку, надо добавить флаг -r (recursive):
rm -r test_folder
Если вы пытаетесь удалить файлы, которые уже используются в программе или доступны только для чтения, система будет переспрашивать:
А теперь представьте, что вы чистите много файлов. И на каждый система переспрашивает, и надо постоянно отвечать «да, да, да…» (y – enter, y – enter, y – enter)… Чтобы удалить все без вопросов, используйте флаг -f (force):
rm -rf test_folder --- просто все удалит без разговоров
Но учтите, что это довольно опасная команда! Вот так надоест подстверждать удаление и введешь «-rf», а директорию неправильно укажешь… Ну и все, прости-прощай нужные файлы. Аккуратнее с этой командой, особенно если у вас есть root-полномочия!
Опция -v показывает имена удаляемых файлов:
rm -rfv test_folder --- удалит папку со всем содержимым, но выведет имена удаляемых файлов
Тут вы хотя бы можете осознать, что натворили )))
См также:
Как удалить каталог Linux
Как изменить владельца файла
Если у вас есть root-доступ, то вы наверняка будете выполнять все действия под ним. Ну или многие… И тогда любой созданный файл, любая папка будут принадлежать root-пользователю.
Это плохо, потому что никто другой с ними работать уже не сможет. Но можно создать файл под root-ом, а потом изменить его владельца с помощью команды chown.
Допустим, что я поднимаю сервис testbase. И он должен иметь доступ к директории user и файлу test.txt в другой директории. Так как никому другому эти файлики не нужны, а создала я их под рутом, то просто меняю владельца:
chown testbase:testbase test.txt — сменить владельца файла
chown -R testbase:testbase user — сменить владельца папки
В итоге был владелец root, а стал testbase. То, что надо!
См также:
Команда chown Linux
Как установить приложение
Если вы привыкли к винде, то для вас установка приложения — это скачать некий setup файлик, запустить и до упора тыкать «далее-далее-далее». В линуксе все немного по-другому. Тут приложения ставятся как пакеты. И для каждой системы есть свой менеджер пакетов:
- yum — red hat, centos
- dpkg, apt — debian
См также:
5 Best Linux Package Managers for Linux Newbies
Давайте посмотрим на примере, как это работает. В командной строке очень удобно работать с Midnight Commander (mc) — это как FAR на windows. К сожалению, программа далеко не всегда есть в «чистом» дистрибутиве.
И вот вы подняли виртуалку на centos 7, хотите вызвать Midnight Commander, но облом-с.
mc
Ничего страшного, установите это приложение через yum:
yum install mc
Он там будет что-то делать, качать, а потом уточнит, согласны ли вы поставить программу с учетом ее размеров. Если да, печатаем «y»:
И система заканчивает установку.
Вот и все! Никаких тебе унылых «далее-далее-далее», сказал «установи», программа установилась! Теперь, если напечатать «mc» в командной строке, запустится Midnight Commander:
См также:
Как устанавливать программы для Linux
Yum, шпаргалка — всякие опции и плагины
Как запустить приложение
Некоторые приложения запускаются через скрипты. Например, чтобы запустить сервер приложения WildFly, нужно перейти в папку bin и запустить там standalone.sh. Файл с расширением .sh — это скрипт.
Чтобы запустить скрипт, нужно указать полный путь к нему:
/opt/cdi/jboss/bin/standalone.sh — запустили скрипт standalone.sh
Это важно! Даже если вы находитесь в той папке, где и скрипт, он не будет найден, если просто указать название sh-скрипта. Надо написать так:
./standalone.sh — запустили скрипт, если мы в той же директории
Поиск идет только в каталогах, записанных в переменную PATH. Так что если скрипт используется часто, добавляйте путь туда и вызывайте просто по названию:
standalone.sh --- запустили скрипт standalone.sh, путь к которому прописан в PATH
См также:
Запуск скрипта sh в Linux — подробнее о скриптах
Если же приложение запускается как сервис, то все еще проще:
service test start — запустить сервис под названием «test»
service test stop — остановить сервис
Чтобы сервис test запускался автоматически при рестарте системы, используйте команду:
chkconfig test on
Она добавит службу в автозапуск.
Как понять, где установлено приложение
Вот, например, для интеграции Jenkins и newman в Jenkins надо прописать полный путь к ньюману в параметре PATH. Но как это сделать, если newman ставился автоматически через команду install? И вы уже забыли, какой путь установки он вывел? Или вообще не вы ставили?
Чтобы узнать, куда приложение установилось, используйте whereis (без пробела):
whereis newman
Как создать архив
Стандартная утилита, которая будет работать даже на «голой» системе — tar. Правда, для ее использования надо запомнить флаги. Для создания архива стандартная комбинация cvzf:
tar -cvzf archive.tar.gz /home/test
В данном примере мы упаковали директорию /home/test, внутри которой было две картинки — 502.jpg и 504.jpg.
Для распаковки меняем флаг «c» на «x» и убираем «z»:
tar -xvf archive.tar.gz
Хотя система пишет, что распаковала «/home/test», на самом деле папка «test» появляется там, где мы сейчас находимся.
Давайте разберемся, что все эти флаги означают:
- c — создать архив в linux
- x — извлечь файлы из архива
- v — показать подробную информацию о процессе работы (без него мы бы не увидели, какие файлики запаковались / распаковались)
- f — файл для записи архива
- z — сжатие
Для упаковки используется опция c — Create, а для распаковки x — eXtract.
Если очень хочется использовать rar, то придется изгаляться. Через yum установка не прокатит:
yum install rar
yum install unrar
Говорит, нет такого пакета:
No package rar available.
Error: Nothing to do
Придется выполнить целую пачку команд! Сначала скачиваем, разархивируем и компилируем:
wget http://rarlabs.com/rar/rarlinux-x64-5.4.0.tar.gz
tar xzf rarlinux-x64-5.4.0.tar.gz
cd rar
make install
Устанавливаем:
mkdir -p /usr/local/bin
mkdir -p /usr/local/lib
cp rar unrar /usr/local/bin
cp rarfiles.lst /etc
cp default.sfx /usr/local/lib
И применяем:
unrar x test.rar
См также:
Установка RAR на Linux
Как посмотреть использованные ранее команды
Вот, допустим, вы выполняли какие-то сложные действия. Или даже не вы, а разработчик или админ! У вас что-то сломалось, пришел коллега, вжух-вжух ручками, magic — работает. А что он делал? Интересно же!
Или, может, вы писали длинную команду, а теперь ее надо повторить. Снова набирать ручками? Неохота! Тем более что есть помощники:
↑ (стрелочка «наверх») — показать последнюю команду
history — показать последние 1000 команд
Если надо «отмотать» недалеко, проще через стрелочку пролистать команды. Один раз нажали — система показала последнюю команду. Еще раз нажали — предпоследнюю. И так до 1000 раз (потому что именно столько хранится в истории).
Большой бонус в том, что линукс хранит историю даже при перезапуске консоли. Это вам не как в винде — скопировал текст, скопировал другой, а первый уже потерялся. А при перезагрузке системы вообще все потерялось.
Если тыкать в стрелочку не хочется, или команды была давно, можно напечатать «history» и внимательно изучить команды.
См также:
История команд Linux — больше о возможностях history
Как посмотреть свободное место
Сколько места свободно на дисках
df -h
Сколько весит директория
du -sh
du -sh * --- с разбиением
Как узнать IP компьютера
Если у вас настроены DNS-имена, вы подключаетесь к linux-машине именно по ним. Ведь так проще запомнить — это testbase, это bugred… Но иногда нужен именно IP. Например, если подключение по DNS работает только внутри рабочей сети, а коллега хочет подключиться из дома, вот и уточняет айпишник.
Чтобы узнать IP машины, используйте команду:
hostname -I
Также можно использовать ifconfig:
ifconfig — выведет кучу инфы, в том числе ваш внешний IP
ip a — аналог, просто иногда Ifconfig дает очень много результата, тут поменьше будет
См также:
Displaying private IP addresses
Как узнать версию OS
Сидите вы у Заказчика на линуксовой машине. Пытаетесь что-то установить — не работает. Лезете гуглить, а способы установки разные для разных операционных систем. Но как понять, какая установлена на данной машине?
Используйте команду:
cat /etc/*-release
На этой виртуалке стоит CentOs 7.
Если нужна версия ядра:
uname -a
См также:
Как узнать версию Linux
Как узнать, как работает команда
Если вы не знаете, как работает команда, всегда можно спросить о ней саму систему, используя встроенную команду man:
man ls
Закрыть мануал можно с помощью клавиши q. Для того, кто первый раз в линуксовой консоли, это совсем не очевидно, а подсказки есть не везде.
Команда удобна тем, что не надо даже уходить из командной строки, сразу получаешь всю информацию. К тому же это всегда актуальная информация. А что вы там нагуглите — неизвестно =))
Хотя лично мне проще какую-то команду прогуглить, ведь так я получу русское описание + сначала самые главные флаги (а их может быть много). Но я сама новичок в линуксе, это подход новичка. А лучше сразу учиться прокачивать навык поиска по man-у. Он вам очень пригодится для более сложных задач!
Если man у программы нет, используйте флаг -h (—help):
ls -h
Как создать много тестовых папок и файлов
Допустим, у нас есть некая папка test. Создадим в ней сотню директорий и кучу файликов в каждой:
mkdir -p test/dir--{000..100}
touch test/dir--{000..100}/file-{A..Z}
Вот и все, дальше можно играться с ними!
Теперь пояснения:
- mkdir — создать директорию
- touch — создать файл (или изменить существующий, но если файла с таким именем нет, то команда создаст новый, пустой)
А выражения в скобках играют роль функции, которая выполняется в цикле и делает ручную работу за вас:
- {000..100} — пробежится по всем числам от 0 до 100
- {A..Z} — пробежится по всем буквам английского алфавита от A до Z
Как я пробовала эту команду. Сначала посмотрела, где нахожусь:
$ pwd
/home/test
Символ $ при описании команд означает начало строки, куда мы пишем команду. Так мы отделяем то, что ввели сами (pwd) от ответа системы (/home/test).
Ага, в домашней директории. Создам себе песочницу:
mkdir olga
Вот в ней и буду творить!
mkdir -p olga/dir--{000..100}
touch olga/dir--{000..100}/file-{A..Z}
А потом можно проверить, что получилось:
cd olga
ls -l
Как-то так! Имхо, полезные команды.
Я нашла их в книге «Командная строка Linux. Полное руководство», они используются для того, чтобы создать песочницу для прощупывания команды find. Я, как и автор, восхищаюсь мощью командной строки в данном случае. Всего 2 строчки, а сколько боли бы принесло сделать похожую структуру через графический интерфейс!
И, главное, тестировщику полезно — может пригодиться для тестов.
Как протестировать IOPS на Linux
Это очень полезно делать, если машину вам дает заказчик. Там точно SSD-диски? И они дают хороший iops? Если вы разрабатываете серверное приложение, и от вас требуют выдерживать нагрузку, нужно быть уверенными в том, что диски вам выдали по ТЗ.
Наше приложение активно использует диск. Поэтому, если заказчик хочет видеть хорошие результаты по нагрузке, мы хотим видеть хорошие результаты по производительности самих дисков.
Но верить админам другой стороны на слово нельзя. Если приложение работает медленно, они, разумеется, будут говорить, что у них то все хорошо, это «они» виноваты. Поэтому надо тестировать диски самим.
Я расскажу о том, как мы тестировали диски. Как проверили, сколько IOPS они выдают.
Используем утилиту fio — https://github.com/axboe/fio/releases.
1) Скачиваем последнюю версию, распаковываем, переходим в каталог. В командах ниже нужно заменить «fio-3.19» на актуальную версию из списка
cd /tmp
wget https://github.com/axboe/fio/archive/fio-3.19.tar.gz
tar xvzf fio-3.19.tar.gz
rm fio-3.19.tar.gz
cd fio-fio-3.19
2) Должны стоять пакеты для сборки
apt-get install -y gcc make libaio-dev | yum install -y make gcc libaio-devel
3) Собираем
make
4) Тестируем
./fio -readonly -name iops -rw=randread -bs=512 -runtime=20 -iodepth 32 -filename /dev/sda -ioengine libaio -direct=1
Какие должны быть результаты:
- Средний SSD, выпущенный 2-3 года назад — 50 тысяч IOPS.
- Свежий Samsung 960 Pro, который стоит на одной из железок у нас в офисе — 350 тысяч IOPS.
Свежесть определяется на момент написания статьи в 2017 году.
Если должно быть 50 тысяч, а диск выдает сильно меньше, то:
— он не SSD;
— есть сетевые задержки;
— неправильно примонтирован;
— с ними что-то еще плохое случилось и стоит поднять алярм.
И это все?
Разумеется, нет =))
Еще полезно изучить команду find и регулярные выражения. Тестировщику как минимум надо уметь «грепать логи» — использовать grep. Но это уже остается на самостоятельный гуглеж.
База, которая всегда нужна — pwd, cp, mv, mkdir, touch. Остальное можно легко гуглить, как только возникает необходимость.
Вот вам еще пара ссылочек от меня:
Для понимания структуры папок рекомендую статью «Структура папок ОС Linux. Какая папка для чего нужна. Что и где лежит в линуксе»
Книги и видео по теме
Видео:
ПО GNU/Linux — видео лекции Георгия Курячего — очень хорошие видео-лекции
Книги:
Командная строка Linux. Уильям Шоттс
Скотт Граннеман. Linux. карманный справочник
Где тренироваться
Можно поднять виртуалку. Правда, тут сначала придется разбираться, как поднимать виртуалку )))
А можно купить облачную машину. Когда мне надо было поиграться с линуксом, я пошла на SimpleCloud (он мне в гугле одним из первых выпал и у него дружелюбный интерфейс. Но можно выбрать любой аналог) и купила самую дешманскую машину — за 150 руб в месяц. Месяца вам за глаза, чтобы «пощупать-потыркать», и этой машины с минимумом памяти тоже.
У меня был когда-то план самой платить эти 150р за то, чтобы дать машину в общий доступ. Но увы. Как я не пыталась ее огородить (закрывала команды типа ssh, ping и прочая), у меня не получилось. Всегда есть люди, которых хлебом не корми, дай испортить чужое. Выложил в общий доступ пароли? На тебе ддос-атаку с твоего сервера. Ну и сервер блокируют. После N-ой блокировки я плюнула на это дело. Кто хочет научиться, найдет 150р.
Чтобы подключиться к машине, используйте инструменты:
- Putty — командная строка
- WinSCP — графический интерфейс
См также:
WinSCP — что это и как использовать
Полезные команды Linux
Терминал Linux очень гибкий и полезный инструмент. С помощью него можно сделать что угодно и во многих случаях даже намного эффективнее чем в графическом интерфейсе. Команды можно объединять между собой, перенаправлять вывод одной команды, на вход другой, комбинировать их различным образом. Это делает их применение еще более эффективным. В сегодняшней статье я хочу поделиться несколькими полезными командами linux, которые я открыл для себя во время использования Linux и которыми до сих пор пользуюсь для автоматизации рутинных действий.
В качестве командной оболочки используется самая популярная — bash. Также для некоторых задач нам понадобится демон планирования выполнения задач cron.
Некоторые из этих команд упрощают выполнение той или иной задачи, некоторые полностью выполняют нужные действия за пользователя. Возможно, не все они будут вам полезны, так как, некоторые команды нужны только веб-мастерам, другие системным администраторам, а еще одни обычным домашним пользователям. Но давайте перейдем к списку полезные команды для линукс.
Содержание статьи:
Создание папок в терминале
Для создания папки в терминале используется команда mkdir. Вот так она выглядит:
mkdir имя_папки
Но не все знают о ее дополнительных возможностях. Чтобы создать несколько вложенных папок используйте команду p:
mkdir -p /mnt/foo/bar/
Создать несколько папок за один раз:
mkdir /mnt/{foo,bar,doc,man}
Создать папку и перейти в нее:
mkdir /home/foo/doc/bar && cd $_
Кстати, синтаксис фигурных скобок поддерживают и другие команды для linux терминала.
Ожидать завершения команды и выключить компьютер
Это скорее не команда, а небольшая стандартная функция оболочки Bash, о которой не все знают. Иногда нам нужно оставить на выполнение какую-нибудь долго работающую утилиту, например, обновление системы, а самим куда-то отойти. И при этом мы хотим чтобы после завершения работы утилиты компьютер автоматически выключился. Можно просто объединить команды с помощью стандартного синтаксиса Bash. Для объединения используются символы && и ||. Первый — выполнить другую команду если первая завершилась успешно, второй если первая завершилась ошибкой.
Например, обновить систему и если все хорошо выключить PC:
su -
apt-get update && apt-get upgrade && shutdown -h now
Или выключить компьютер если обновление не удалось:
apt-get update && apt-get upgrade || shutdown -h now
Или выключить независимо от того произошла ошибка или нет:
apt-get update && apt-get upgrade ; shutdown -h now
Здесь приведена команда обновления Ubuntu, но в других дистрибутивах нужно заменить эту команду на свою.
Повторить последнюю команду
Если мы уже начали говорить о возможностях Bash пойдем дальше. Символ !! означает выполнить последнюю команду. Часто ли у вас случалось такое, что вы набираете команду нажимаете Enter и понимаете, что для ее работы нужно было использовать sudo? Тогда приходиться набирать ту же команду только уже правильно. Но можно пойти другим путем, выполнить:
sudo !!
Кроме символа !! В Bash есть еще несколько указателей на команды:
- !^ — первый аргумент предыдущей команды;
- !$ — последний аргумент предыдущей команды;
- !* — все аргументы предыдущей команды;
- !-2 — вторая с конца команда;
- *— содержимое текущего каталога.
А вот так можно сохранить последнюю выполненную команду в скрипт:
echo "!!" > foo.sh
Вызвать последнюю команду которая начиналась с символов
И еще о возможностях Bash. Например, вы помните что подключались в последний раз к определенному узлу по ssh, и теперь вам нужно подключиться к нему снова. Чтобы не вводить полностью команду можно набрать знак «!» и символы с которых начиналась команда:
!ssh
Будет выполнена последняя команда, которая начиналась на ssh.
Посмотреть ip адрес
Часто возникает необходимость быстро узнать ip адрес своей машины. Для этого есть легко запоминающаяся команда, использующая curl и сайт ifconfig.me:
curl ifconfig.me
Форматирование вывода
Многие команды Linux выводят данные, разделяя столбцы пробелами. Одна из них mount. И естественно, в этом выводе трудно что-либо разобрать. Для разделения столбцов табуляциями используйте утилиту column:
mount | column -t
Динамический просмотр лога
Допустим, есть у нас лог файл в который пишется определенная информация и мы хотим видеть все изменения сразу, на лету. Тогда используйте команду tail с опцией -f:
$ tail -f /адрес/лог/файла
Будет выведено 8 последних строк из лога файла, а затем они будут постоянно обновляться.
Очистить терминал
Вывод команд, если во время их разработки были допущены некоторые ошибки может сломать форматирование строк терминала. Или просто может понадобится стереть всю лишнюю информацию. Для этого есть аж две полезные команды linux, первая:
reset
Вторая:
clear
Первая только переводит курсор вверх страницы, вторая добавляет несколько пустых строк.
Подключение RAM диска
Если вам нужно немного дискового пространства с высокой скоростью работы, в Linux можно легко подключить немного оперативной памяти в корневую файловую систему:
mount -t tmpfs tmpfs /mnt -o size=1024m
В папку /mnt будет подключен RAM диск размером 1024 мегабайт.
Узнать архитектуру системы
Этой простой командой можно быстро узнать разрядность системы:
getconf LONG_BIT
Или так:
arch
Открыть файл на определенной строке
Это не команда, а просто малоизвестная функция консольных редакторов. Очень полезная для программистов. Вот, например, сообщает программа, что у вас ошибка в 55 строке, вместо того чтобы самому искать ту сроку просто набираете:
nano +55 /sourcefile
или
vim +55 /sourcefile
И оказываетесь сразу на нужной строке.
Время выполнения команды
Хотите узнать сколько времени выполняется та или иная команда? Просто добавьте перед ней вызов утилиты time. Например:
time ls ~/
drwxr-xr-x 8 user user 4096 дек 6 14:13 Фильмы
drwxr-xr-x 13 user user 4096 июл 20 2014 Фото
real 0m0.059s
user 0m0.003s
sys 0m0.003s
Эту команду также можно использовать в качестве секундомера. Просто выполните:
$ time read
А затем нажмите Ctrl+D когда нужно будет узнать сколько времени прошло.
Автоматическое удаление старых файлов
Все мы часто качаем файлы из интернета, это торренты, фильмы, музыка и т д. И все это со временем накапливается в папке загрузки если ненужное вовремя не удалять, а нужное не перемещать в другие папки. Тогда папка загрузок начинает напоминать огромную свалку где вообще нереально что-то найти. У себя я всегда время от времени сортировал и удалял файлы, но когда видел такое у знакомых брался за голову. Есть способ упростить очистку папки загрузок.
Утилита find позволяет находить все файлы, созданные позже определенной даты и выполнять с ними нужное действие. Все нужные файлы будем вовремя рассортировывать и перемещать по папкам назначения, а все что останутся в загрузках будут через два дня автоматически удаляться. Знание что файлы будут удалены заставит их вовремя переместить куда нужно.
Вот так выглядит сама команда:
find /home/user/Downloads/ -type f -mtime +180 -exec 'rm -f {}'
Если не хотите полностью удалять файлы можно перемещать их в корзину:
find /home/user/Downloads/ -type f -mtime +180 -exec 'mv {} ~/.Trash'
Подробнее о работе find можно почитать тут. Для полной автоматизации добавим выполнение этой команды каждый день в расписание cron:
crontab -e
0 0 * * * find /home/user/Downloads/ -type f -mtime +180 -exec 'rm -f {}'
Теперь давние файлы будут автоматически удаляться каждый день.
Убить все процессы из консоли
Если у вас небольшое количество оперативной памяти на компьютере и вы любите открывать очень много вкладок в Chromium, то программа а вместе с ней и окружение рабочего стола могут прочно зависать. Браузер создает для каждой вкладки отдельный процесс, поэтому пока планировщик памяти ядра поймет кто виноват в сбое и что нужно делать уйдет много времени, а пытаться убить каждую вкладку по отдельности очень долгое занятие. Есть команда, с помощью которой можно из терминала одним махом закрыть все вкладки:
ps aux | grep chromium | awk '{print $2}' | xargs kill -TERM
Или намного проще:
killall chromium
Здесь мы получаем список всех процессов в ps, выбираем из них chromium, потом отбираем второй столбец, то есть PID, и с помощью xargs вызываем kill для каждой вкладки. Точно таким же способом можно уничтожить любое приложение создающее много процессов.
Завершение
Вот и подошли к концу наши полезные команды для линукс. Если вы знаете другие полезные команды linux, поделитесь ими в комментариях!
Оцените статью:
Загрузка…
Команды Linux
cat file_originale | [operation: sed, grep, awk, grep и т.п.] > result.txt
— общий синтаксис выполнения действий по обработке содержимого файла и вывода результата в новый
cat file_originale | [operazione: sed, grep, awk, grepи т.п.] >> result.txt
— общий синтаксис выполнения действий по обработке содержимого файла и вывода результата в существующий файл. Если файл не существует, он будет создан
grep Aug /var/log/messages
— из файла ‘/var/log/messages’ отобрать и вывести на стандартное устройство вывода строки, содержащие «Aug»
grep ^Aug /var/log/messages
— из файла ‘/var/log/messages’ отобрать и вывести на стандартное устройство вывода строки, начинающиеся на «Aug»
grep [0-9] /var/log/messages
— из файла ‘/var/log/messages’ отобрать и вывести на стандартное устройство вывода строки, содержащие цифры
grep Aug -R /var/log/*
— отобрать и вывести на стандартное устройство вывода строки, содержащие «Aug», во всех файлах, находящихся в директории /var/log и ниже
sed 's/stringa1/stringa2/g' example.txt
— в файле example.txt заменить «string1» на «string2», результат вывести на стандартное устройство вывода.
sed '/^$/d' example.txt
— удалить пустые строки из файла example.txt
sed '/ *#/d; /^$/d' example.txt
— удалить пустые строки и комментарии из файла example.txt
echo 'esempio' | tr '[:lower:]' '[:upper:]'
— преобразовать символы из нижнего регистра в верхний
sed -e '1d' result.txt
— удалить первую строку из файла example.txt
sed -n '/string1/p'
— отобразить только строки содержашие «string1»
sed -e 's/ *$//' example.txt
— удалить пустые символы в в конце каждой строки
sed -e 's/string1//g' example.txt
— удалить строку «string1» из текста не изменяя всего остального
sed -n '1,8p;5q' example.txt
— взять из файла с первой по восьмую строки и из них вывести первые пять
sed -n '5p;5q' example.txt
— вывести пятую строку
sed -e 's/0*/0/g' example.txt
— заменить последовательность из любого количества нулей одним нулём
cat -n file1
— пронумеровать строки при выводе содержимого файла
cat example.txt | awk 'NR%2==1'
— при выводе содержимого файла, не выводить чётные строки файла
echo a b c | awk '{print $1}'
— вывести первую колонку. Разделение, по-умолчанию, по проблелу/пробелам или символу/символам табуляции
echo a b c | awk '{print $1,$3}'
— вывести первую и треью колонки. Разделение, по-умолчанию, по проблелу/пробелам или символу/символам табуляции
paste file1 file2
— объединить содержимое file1 и file2 в виде таблицы: строка 1 из file1 = строка 1 колонка 1-n, строка 1 из file2 = строка 1 колонка n+1-m
paste -d '+' file1 file2
— объединить содержимое file1 и file2 в виде таблицы с разделителем «+»
sort file1 file2
— отсортировать содержимое двух файлов
sort file1 file2 | uniq
— отсортировать содержимое двух файлов, не отображая повторов
sort file1 file2 | uniq -u
— отсортировать содержимое двух файлов, отображая только уникальные строки (строки, встречающиеся в обоих файлах, не выводятся на стандартное устройство вывода)
sort file1 file2 | uniq -d
— отсортировать содержимое двух файлов, отображая только повторяющиеся строки
comm -1 file1 file2
— сравнить содержимое двух файлов, не отображая строки принадлежащие файлу ‘file1’
comm -2 file1 file2
— сравнить содержимое двух файлов, не отображая строки принадлежащие файлу ‘file2’
comm -3 file1 file2
— сравнить содержимое двух файлов, удаляя строки встречающиеся в обоих файлах
42 команды Linux которые вы должны знать
42 команды Linux которые вы должны знать
42 команды Linux которые вы должны знать
Во всех операционных системах, в том числе и в Linux, термин ‘команда’ означает либо утилиту командной строки, либо определённую возможность, встроенную в командную оболочку системы. Тем не менее, для самих пользователей это различие не имеет особого значения. В конце концов, и те и другие команды терминала Linux вызываются одинаково. Вы вводите слово в вашем эмуляторе терминала и получаете результат выполнения команды.
Я уже писал о командах терминала Linux, но тогда затронул лишь несколько самых интересных, самых полезных команд, рассчитывая на то, что пользователь уже достаточно знаком с возможностями терминала. Но нужно сделать ещё одну статью, рассчитанную на новичков, тех, кто только делает свои первые шаги в освоении Linux.
И вот она. Её цель — собрать основные простые и сложные команды Linux, которые должен знать каждый пользователь, чтобы наиболее эффективно управлять своей системой. Для удобности запоминания опций команд я в скобках добавил слова, от которых они произошли — так намного проще, на себе проверено.
Это не значит, что я перечислю все команды — я постараюсь охватить всё самое полезное, то, что может пригодиться в повседневной жизни. Чтобы было удобнее читать, разделим этот список на категории команд по назначению. Большинство рассмотренных здесь утилит не требуют дополнительной установки, они будут предустановлены в любом дистрибутиве Linux, а если не будут, то их несложно найти в официальных репозиториях.
КОМАНДЫ LINUX ДЛЯ УПРАВЛЕНИЯ ФАЙЛАМИ
1. LS
Утилита для просмотра содержимого каталогов. По умолчанию показывает текущий каталог. Если в параметрах указать путь, то она перечислит содержимое конечного каталога. Полезные опции -l (List) и -a (All). Первая форматирует вывод в виде списка с более подробной информацией, а вторая включает показ скрытых файлов.
2. CAT
Печатает содержимое файла, переданного в параметре, в стандартный вывод. Если передать несколько файлов, команда склеит их. Также можно перенаправить вывод в ещё один файл с помощью символа ‘>’. Если нужно вывести только определенное количество строк, используйте опцию -n (Number).
3. CD
Позволяет перейти из текущего каталога в указанный. Если запустить без параметров — возвращает в домашний каталог. Вызов с двумя точками возвращает на уровень вверх относительно текущего каталога. Вызов с тире (cd -) возвращает к предыдущему каталогу.
4. PWD
Печатает на экран текущий каталог. Это может быть полезно, если ваша командная строка Linux не выводит такую информацию. Эта команда будет востребована в Bash программировании, где для получения ссылки на каталог выполняется скрипт.
5. MKDIR
Создание новых каталогов. Наиболее удобная опция -p (Parents), позволяет создать всю структуру подкаталогов одной командой, даже если они ещё не существуют.
6. FILE
Показывает тип файла. В Linux файлы не обязаны всегда иметь расширения для того, чтобы с ними работать. Поэтому пользователю иногда трудно определить, что за файл перед ним. Эта маленькая утилита решает проблему.
7. CP
Копирование файлов и каталогов. Она не копирует каталоги по умолчанию рекурсивно (то есть все поддиректории и все файлы в поддиректориях), поэтому не забудьте добавить опцию -r (Recursive) или -a (Archive). Последняя включает режим сохранения атрибутов, владельца и временного штампа в дополнение к рекурсивному копированию.
8. MV
Перемещение или переименование файлов и каталогов. Примечательно, что в Linux это одна и та же операция. Переименование — это перемещение файла в ту же папку с другим именем.
9. RM
Удаляет файлы и папки. Очень полезная команда Linux: с её помощью вы можете убрать весь беспорядок. Если нужно рекурсивное удаление, используйте опцию -r. Однако будьте осторожны: конечно, для того чтобы повредить систему вам нужно будет серьёзно постараться, однако можно удалить собственные важные файлы. Rm удаляет файлы не в корзину, из которой потом всё можно будет восстановить, а полностью стирает. Действия оператора rm необратимы. Поверьте, ваши оправдания в духе «rm съела мою курсовую» никому не будут интересны.
10. LN
Создает жёсткие или символические ссылки на файлы. Символические или программные ссылки — это что-то похожее на ярлыки в Windows. Они предоставляют удобный способ доступа к определённому файлу. Символические ссылки указывают на файл, но не имеют никаких метаданных. Жёсткие ссылки, в отличие от символических, указывают на физический адрес области диска, где хранятся данные файла.
11. CHMOD
Изменяет права доступа к файлу. Это чтение, запись и выполнение. Каждый пользователь может изменять права для своих файлов.
12. CHOWN
Изменяет владельца файла. Только суперпользователь может изменять владельцев. Для рекурсивного изменения используйте опцию -R.
13. FIND
Поиск в файловой системе, файлах и папках. Это очень гибкая и мощная команда Linux не только из-за своих способностей ищейки, но и благодаря возможности выполнять произвольные команды для найденных файлов.
14. LOCATE
В отличие от find, команда locate ведёт поиск в базе данных updatedb для шаблонов имён файлов. Эта база данных содержит снимок файловой системы, что позволяет искать очень быстро. Но этот поиск ненадёжен, потому что вы не можете быть уверены, что ничего не изменилось с момента последнего снимка.
15. DU
Показывает размер файла или каталога. Самые полезные опций: -h (Human), которая преобразует размеры файлов в легко читаемый формат, -s (Summarize), которая выводит минимум данных, и -d (Depth), устанавливающая глубину рекурсии по каталогам.
16. DF
Анализатор дискового пространства. По умолчанию вывод достаточно подробный: перечислены все файловые системы, их размер, количество использованного и свободного пространства. Для удобства есть опция -h, делающая размеры легко читаемыми.
17.DD
Как сказано в официальном руководстве, это команда терминала для копирования и преобразования файлов. Не очень понятное описание, но это всё, что делает dd. Вы передаёте ей файл-источник, пункт назначения и пару дополнительных опций. Затем она делает копию одного файла в другой. Вы можете задать точный размер данных, которые нужно записать или скопировать. Работает утилита со всеми устройствами. Например, если вы хотите перезаписать жёсткий диск нулями из /dev/zero, можете сделать это. Также она часто используется для создания LiveUSB или гибридных ISO образов.
18 MOUNT / UMOUNT
Это команды консоли Linux для подключения и отключения файловых систем Linux. Можно подключать всё: от USB накопителей, до ISO образов. И только у суперпользователя есть права для этого.
LINUX КОМАНДЫ КОНСОЛИ ДЛЯ РАБОТЫ С ТЕКСТОМ
19. MORE / LESS
Это две простенькие команды терминала для просмотра длинных текстов, которые не вмещаются на одном экране. Представьте себе очень длинный вывод команды. Или вы вызвали cat для просмотра файла, и вашему эмулятору терминала потребовалось несколько секунд, чтобы прокрутить весь текст. Если ваш терминал не поддерживает прокрутки, вы можете сделать это с помощью less. Less новее, чем more и поддерживает больше опций, поэтому использовать more нет причин.
20. HEAD / TAIL
Ещё одна пара, но здесь у каждой команды своя область применения. Head выводит несколько первых строк из файла (голова), а tail выдает несколько последних строк (хвост). По умолчанию каждая утилита выводит десять строк. Но это можно изменить с помощью опции -n. Ещё один полезный параметр -f, это сокращение от follow (следовать). Утилита постоянно выводит изменения в файле на экран. Например, если вы хотите следить за лог файлом, вместо того, чтобы постоянно открывать и закрывать его, используйте команду tail -nf.
21. GREP
Grep, как и другие инструменты Linux, делает одно действие, но делает его хорошо: она ищет текст по шаблону. По умолчанию она принимает стандартный ввод, но вы можете искать в файлах. Шаблон может быть строкой или регулярным выражением. Она может вывести как совпадающие, так и не совпадающие строки и их контекст. Каждый раз, когда вы выполняете команду, которая выдает очень много информации, не нужно анализировать всё вручную — пусть grep делает свою магию.
22. SORT
Сортировка строк текста по различным критериям. Наиболее полезные опции: -n (Numeric), по числовому значению, и -r (Reverse), которая переворачивает вывод. Это может быть полезно для сортировки вывода du. Например, если хотите отсортировать файлы по размеру, просто соедините эти команды.
23. WC
Утилита командной строки Linux для подсчёта количества слов, строк, байт и символов.
24. DIFF
Показывает различия между двумя файлами в построчном сравнении. Причём выводятся только строки, в которых обнаружены отличия. Измененные строки отмечаются символом «с», удалнные — «d», а новые — «а».
КОМАНДЫ LINUX ДЛЯ УПРАВЛЕНИЯ ПРОЦЕССАМИ
25. KILL / XKILL / PKILL / KILLALL
Служат для завершения процессов. Но они принимают различные параметры для идентификации процессов. Kill нужен PID процесса, xkill — достаточно кликнуть по окну, чтобы закрыть его, killall и pkill принимают имя процесса. Используйте ту, которая удобна в определенной ситуации.
26. PS / PGREP
Как уже говорилось, чтобы уничтожить процесс, нужен его идентификатор. Один из способов получить его, это утилита ps, которая печатает информацию о запущенных процессах. По умолчанию вывод очень длинный, поэтому используйте опцию -e, чтобы увидеть информацию об определённом процессе. Это только снимок состояния на момент вызова, и информация не будет обновляться. Команда ps с ключом aux выводит полную информацию о процессах. Pgrep работает следующим образом: вы задаете имя процесса, а утилита показывает его идентификатор.
27. TOP / HTOP
Обе команды похожи, обе отображают процессы и могут быть использованы как консольные системные мониторы. Я рекомендую установить htop, если в вашем дистрибутиве он не поставляется по умолчанию, так как это улучшенная версия top. Вы сможете не только просматривать, но и контролировать процессы через его интерактивный интерфейс.
28. TIME
Время выполнения процесса. Это секундомер для выполнения программы. Полезно, если вам интересно, насколько сильно ваша реализация алгоритма отстает от стандартной. Но, несмотря на такое название, она не сообщит вам текущее время, используйте для этого команду date.
КОМАНДЫ LINUX ОКРУЖЕНИЯ ПОЛЬЗОВАТЕЛЯ
29. SU / SUDO
Su и sudo — это два способа выполнить одну и ту же задачу: запустить программу от имени другого пользователя. В зависимости от вашего дистрибутива вы, наверное, используете одну или другую. Но работают обе. Разница в том, что su переключает вас на другого пользователя, а sudo только выполняет команду от его имени. Поэтому использование sudo будет наиболее безопасным вариантом работы.
30. DATE
В отличие от time, делает именно то, чего вы от неё и ожидаете: выводит дату и время в стандартный вывод. Его можно форматировать в зависимости от ваших потребностей: вывести год, месяц, день, установить 12-ти или 24-ти часовой формат, получить наносекунды или номер недели. Например, date +»%j %V», выведет день в году и номер недели в формате ISO.
31. ALIAS
Команда создаёт синонимы для других команд Linux. То есть вы можете делать новые команды или группы команд, а также переименовывать существующие. Это очень удобно для сокращения длинных команд, которые вы часто используете, или создания более понятных имен для команд, которые вы используете нечасто и не можете запомнить.
32. UNAME
Выводит некую основную информацию о системе. Без параметров она не покажет ничего полезного, кроме строчки Linux, но, если задать параметр -a (All), можно получить информацию о ядре, имени хоста и узнать архитектуру процессора.
33. UPTIME
Сообщает вам время работы системы. Не очень существенная информация, но может быть полезна для случайных вычислений или просто ради интереса, чтобы узнать, как давно был перезагружен сервер.
34. SLEEP
Вам, наверное, интересно как же её можно использовать. Даже не учитывая Bash-скриптинг, у неё есть свои преимущества. Например, если вы хотите выключить компьютер через определенный промежуток времени или использовать в качестве импровизированной тревоги.
КОМАНДЫ LINUX ДЛЯ УПРАВЛЕНИЯ ПОЛЬЗОВАТЕЛЯМИ
35. USERADD / USERDEL / USERMOD
Эти команды консоли Linux позволяют вам добавлять, удалять и изменять учетные записи пользователей. Скорее всего, вы не будете использовать их очень часто. Особенно если это домашний компьютер, и вы являетесь единственным пользователем. Управлять пользователями можно и с помощью графического интерфейса, но лучше знать об этих командах на всякий случай.
36. PASSWD
Эта команда позволяет изменить пароль учетной записи пользователя. Как суперпользователь вы можете сбросить пароли всех пользователей, даже несмотря на то, что не можете их увидеть. Хорошая практика безопасности — менять пароль почаще.
LINUX КОМАНДЫ ДЛЯ ПРОСМОТРА ДОКУМЕНТАЦИИ
37. MAN / WHATIS
Команда man открывает руководство по определённой команде. Для всех основных команд Linux есть man страницы. Whatis показывает, какие разделы руководств есть для данной команды.
38. WHEREIS
Показывает полный путь к исполняемому файлу программы. Также может показать путь к исходникам, если они есть в системе.
КОМАНДЫ LINUX ДЛЯ УПРАВЛЕНИЯ СЕТЬЮ
39. IP
Если список команд Linux для управления сетью вам кажется слишком коротким, скорее всего вы не знакомы с утилитой ip. В пакете net-tools содержится множество других утилит: ipconfig, netstat и прочие устаревшие, вроде iproute2. Всё это заменяет одна утилита — ip. Вы можете рассматривать её как швейцарский армейский нож для работы с сетью или как непонятную массу, но в любом случае за ней будущее. Просто смиритесь с этим.
40. PING
Ping — это ICMP ECHO_REQUEST дейтаграммы, но на самом деле это неважно. Важно то, что утилита ping может быть очень полезным диагностическим инструментом. Она поможет быстро проверить, подключены ли вы к маршрутизатору или к интернету, и дает кое-какое представление о качестве этой связи.
41. NETHOGS
Если у вас медленный интернет, то вам, наверное, было бы интересно знать, сколько трафика использует какая-либо программа в Linux или какая программа потребляет всю скорость. Теперь это можно сделать с помощью утилиты nethogs. Для того чтобы задать сетевой интерфейс используйте опцию -i.
42. TRACEROUTE
Это усовершенствованная версия ping. Мы можем увидеть не только полный маршрут сетевых пакетов, но и доступность узла, а также время доставки этих пакетов на каждый из узлов.
ВЫВОДЫ
Мы рассмотрели основные команды Linux, которые могут пригодиться вам при повседневном использовании системы. Если вы считаете, что есть другие команды, которые нужно добавить в этот список, напишите в комментариях!
источник
Команды терминала Linux | Losst
Терминал — это без преувеличения самый мощный инструмент Linux, с помощью него можно сделать все что угодно в этой операционной системе. Вы можете устанавливать программы, управлять текстом, работать с файлами, слушать музыку, настраивать различные сервисы и это еще далеко не полный список. Для управления любым процессом используются команды.
В интернете существует множество статей, в которых описаны лучшие команды, самые полезные команды, основные команды linux и так далее, в том числе такие статьи есть на нашем сайте. Но нет обобщенной информации обо всех командах. В этой статье мы собрали почти все команды терминала Linux с небольшим описанием для каждой из них, если на сайте уже есть статье по данной команде, то здесь вы найдете на нее ссылку. Список команд Linux отсортирован в алфавитном порядке.
Команды терминала Linux
Команда — это имя программы, которое вводится в терминале для ее запуска, вместе с именем в команде могут присутствовать данные и параметры. Дальше мы рассмотрим большинство известных команд linux с кратким описанием. Поехали!
- a2p — конвертировать awk скрипт в программу на perl;
- ac — вывести статистику по времени работы пользователя в системе;
- addgroup — добавить новую группу в систему;
- adduser — добавить нового пользователя;
- agrep — версия утилиты grep, которая может обрабатывать усредненные паттерны;
- alias — создание псевдонимов для команды консоли linux;
- apropos — поиск по ключевому слову или регулярному выражению в страницах справки man;
- apt — поиск, установка и удаление программ в Ubuntu;
- aptitude — текстовая оболочка для apt, позволяет управлять программным обеспечением, используется по умолчанию в Debian;
- ar — утилита для создания, модификации и извлечения файлов из архивов ar;
- arch — отображает информацию об архитектуре системы;
- arp — управление таблицей ARP кэша;
- as — ассемблер;
- aspell — интерактивная проверка орфографии;
- at — запланировать запуск команды на нужное время;
- awk — утилита для фильтрации текста на основе регулярных выражений и языка программирования AWK;
- basename — удаляет информацию о директории из имени файла;
- bash — интерпретатор команд Bourne Again Shell, используется по умолчанию в большинстве дистрибутивов Linux;
- bс — простой консольный калькулятор;
- bdiff — поиск отличий в больших файлах;
- bfs — текстовый редактор, для работы с большими файлами;
- bg — восстановить задачу, свернутую в фоновый режим;
- biff — получить подробную информацию про электронное письмо в терминале;
- break — завершить цикл while, for, foreach или until;
- bs — версия игры Battleship для Linux;
- bye — эквивалент команды exit, используется для выхода из терминала;
- cal — отобразить правильно отформатированный календарь в командной строке;
- calendar — отобразить напоминания и заметки;
- cancel — остановить вывод информации о работе задачи;
- cat — вывести содержимое файла;
- cc — компилятор языка Си;
- cd — изменить рабочую директорию;
- cfdisk — утилита для разметки диска в терминале, более простая в использовании, чем fdisk;
- chdir — аналог cd, меняет текущую директорию на указанную;
- checkeq — процессор языка программирования для описания сравнений;
- checknr — проверка файлов nroff и troff на ошибки;
- chfn — изменить дополнительную информацию о пользователе, такую как номер телефона, имя и так далее;
- chgrp — изменить группу для файла;
- chmod — изменить разрешения для файлов или папок;
- chown — изменить владельца файла;
- chroot — запустить команду или оболочку в другом корневом каталоге, каталог изолирован и команда не может получить из него доступ к внешней системе;
- chsh — изменить оболочку входа;
- cksum — подсчитать и вывести CRC сумму для файла;
- clear — очистить вывод терминала;
- cmp — сравнить два файла побайтно;
- col — команда читает стандартный ввод построчно и передает информацию на вывод с возможностью реверсной подачи бумаги;
- comm — сравнить два небольших файла построчно;
- compress — сжать один или несколько файлов;
- continue — завершить текущую итерацию while, for, foreach и until;
- cp — скопировать файл или папку;
- cpio — создание и распаковка архивов типа cpio;
- crontab — настройка расписаний и заданий планировщика cron;
- csh — командная оболочка C Shell;
- csplit — обрезать часть файла по шаблону;
- ctags — создать файл тегов для исходного кода;
- cu — отправка сигнала другой системе через терминал;
- curl — передача и получение данных с удаленного сервера;
- cut — обрезать определенную часть каждой строки из файла;
- date — отобразить текущую дату и время;
- dc — сложный стековый арифметический калькулятор;
- dd — утилита для копирования бинарных данных из одного места в другое;
- delgroup — удалить группу;
- deluser — удалить пользователя;
- depmod — вывести список всех загруженных модулей ядра и их зависимостей;
- deroff — удалить nroff, troff конструкции из файлов;
- df — посмотреть общее доступное дисковое пространство в системе;
- dhclient — получить динамический ip адрес по DHCP;
- dig — посмотреть информацию о DNS;
- dircmp — сравнение содержимого двух папок;
- dirname — удалить имя файла из адреса, оставить только адрес папки;
- dmesg — вывести последние записи журнала ядра;
- dos2unix — конвертировать текстовые файлы из формата DOS в Unix;
- dpkg — низкоуровневая утилита установки пакетов в Ubuntu;
- dpost — перекодирование файлов из формата troff в PostScript;
- du — отобразить занимаемое каждым файлом место на диске;
- echo — вывести строку текста;
- ed — простой текстовый редактор;
- edit — еще один текстовый редактор;
- egrep — фильтрация текста с учетом регулярных выражений;
- eject — извлечь лоток CD-ROM;
- elm — клиент электронной почты;
- emacs — очень мощный и настраиваемый текстовый редактор;
- emerge — пакетный менеджер Gentoo;
- enable — включение и отключение принтеров LP;
- env — вывести значение переменной окружения;
- eqn — язык программирования для описания сравнений;
- ex — режим редактирования строки редактора Vim;
- exit — завершить сеанс работы с оболочкой;
- expand — заменить символы табуляции на ряд пробелов;
- expr — обработать аргументы как выражение;
- fc — вывод, модификация и выполнение команд из истории;
- fdisk — утилита для разметки диска;
- fg — восстановление программы, свернутой в фоновый режим;
- fgrep — фильтрация текста только по целым строкам;
- file — вывод типа файла;
- find — поиск файлов в файловой системе по разным условиям;
- findsmb — вывести список всех машин, доступных по протоколу SMB;
- finger — вывести дополнительную информацию о пользователе;
- fmt — форматирование и оптимизация текстовых файлов;
- fold — позволяет переносить строки указанной дины из одного файла в другой;
- for — организация цикла со счетчиком для выполнения нескольких команд;
- foreach — выполнять набор команд для каждого из элементов переданного массива;
- free — отобразить свободную оперативную память;
- fsck — проверка файловой системы на ошибки;
- ftp — интерактивная команда для доступа к FTP серверу;
- fuser — позволяет определить какой процесс использует файлы или сокеты;
- gawk — GNU версия утилиты awk;
- gcc — компилятор языка программирования C++;
- getfacl — отобразить информацию про списки контроля доступа для файла;
- gpasswd — управление файлами /etc/group и /etc/passwd;
- gprof — отобразить доступную информацию о профилировании программы;
- grep — фильтрация текста на основе регулярных выражений;
- groupadd — создать новую группу;
- groupdel — удалить группу;
- groupmod — изменение группы;
- gnuzip — распаковка сжатых файлов;
- gview — запускает графическую версию реактора Vim;
- gvim — синоним для gview;
- gzip — создание, изменение, просмотр содержимого и распаковка архивов Gzip;
- halt — немедленно выключить компьютер;
- head — отобразить первые 10 строк из файла;
- help — вывести помощь по командной оболочке;
- history — вывести последние использованные команды linux;
- host — преобразовать имя хоста в ip адрес;
- hostid — вывести цифровой идентификатор для хоста;
- hostname — вывод и настройка текущего имени хоста;
- htop — интерактивный диспетчер задач, который работает в терминале;
- id — вывести информацию о пользователей и его группах;
- ifconfig — вывод и настройка сетевых интерфейсов;
- ifdown — отключить сетевой интерфейс;
- ifquery — выбрать информацию о сетевом интерфейсе;
- ifup — включить сетевой интерфейс;
- info — просмотр документации;
- insmod — загрузить модуль ядра, в параметрах нужно передать файл;
- iostat — статистика нагрузки на процессор и жесткие диски;
- ip — новая утилита для управления сетевыми интерфейсами;
- iwconfig — настройка беспроводных сетевых интерфейсов;
- jobs — вывести список и состояние всех, запущенных в фоне задач;
- join — объединить строки из двух файлов;
- kill — отправить сигнал процессу, например, чтобы его завершить;
- lillall — убить все процессы с указанным именем;
- ksh — командная оболочка Korn Shell;
- last — отобразить историю входов пользователей;
- ld — редактор ссылок на библиотеки для объектов;
- ldd — выводит список зависимостей исполняемого файла и статических объектов;
- less — постраничная прокрутка длинного текста;
- link — создать жесткую ссылку на файл;
- ln — создать символическую ссылку на файл;
- lo — завершить работу с командной оболочкой;
- locate — поиск файлов, используя проиндексированную базу данных;
- login — войти в систему;
- logname — выводит логин пользователя;
- logout — аналог lo;
- losetup — создание и управление виртуальными loop устройствами;
- ls — вывести содержимое каталога;
- lsmod — посмотреть все загруженные модули ядра;
- lsof — посмотреть список всех открытых файлов;
- lzcat — посмотреть содержимое файла, сжатого lzma;
- lzma — сжать или распаковать файл по алгоритму lzma;
- mach — вывести информацию о процессоре;
- mailx — обработать сообщения электронной почты;
- make — выполнить сборку программы из исходников;
- man — просмотр документации;
- merge — объединить содержимое трех файлов в один;
- mesg — отправка сообщений в другой терминал;
- mkdir — создать папку linux;
- mkfs — форматировать раздел в выбранную файловую систему;
- mkswap — форматировать раздел или файл в swap;
- modinfo — вывести информацию про модуль ядра;
- modprobe — загрузить модуль ядра по имени;
- more — еще одна команда для прокрутки длинного текста;
- mount — монтирование разделов;
- mt — управление магнитными кассетами;
- mv — перемещение файлов и каталогов;
- mysql — утилита для управления реляционной базой данных MySQL;
- mysqldump — утилита для создания резервной копии базы данных MySQL;
- nc — инструмент для передачи данных по TCP/IP;
- netstat — вывод информации про сетевые соединения, таблицы маршрутизации, статистику интерфейсов и другое;
- newgrp — дать пользователю права новой группы на время;
- nice — настройка приоритета для команды;
- niscat — отобразить все таблицы NIS и объекты;
- nischmod — изменить права для объекта NIS;
- nischown — изменить владельца объекта NIS;
- nischttl — изменить время жизни пакетов для NIS:
- nisdefaults — отобразить параметры по умолчанию для NIS;
- nistbladm — администрирование таблиц NIS;
- nl — вывод количества строк в файле;
- nmap — сетевой сканер открытых портов и уязвимостей;
- nohup — продолжить выполнение команды, когда сессия терминала будет завершена;
- nroff — форматировать документ для отправки на принтер;
- nslookup — получить информацию DNS об удаленном сервере;
- od — вывести содержимое файла в двоичном формате;
- on — выполнить команду в удаленной системе, но с локальными переменными среды;
- onintr — вывести информацию об аппаратных прерываниях;
- pack — сжатие файлов по алгоритму Хафмана;
- pacman — пакетный менеджер ArchLinux;
- pagesize — отобразить размер страниц памяти в байтах;
- parted — утилита для разметки диска;
- partprobe — проинформировать операционную систему про изменения в таблице разделов;
- passwd — изменить пароль пользователя;
- paste — объединить строки из файлов;
- pax — управление архивами pax;
- pact — вывести содержимое сжатого текстового файла;
- perl — интерпретатор скриптов Perl;
- pg — вывод текстового файла постранично;
- pico — простой текстовый редактор;
- pine — утилита для просмотра почты;
- pkill — убить процесс по его имени, только один;
- poweroff — выключить компьютер;
- pr — подготовить текст к печати;
- printenv — вывести все переменные среды;
- printf — вывести отформатированную строку текста;
- ps — вывести список запущенных процессов;
- pstree — вывести список запущенных процессов в виде дерева;
- pvs — вывести версию и внутреннюю информацию из файла ELF;
- pwd — показать текущую папку;
- quit — завершить сеанс командной оболочки;
- rcp — скопировать файл в удаленную систему;
- readlink — вывести содержимое символической ссылки;
- reboot — перезагрузка компьютера;
- red — запустить ed в режиме прокрутки текста;
- rename — переименовать несколько файлов в Linux;
- repeat — повторять выполнение команды нужное количество раз;
- replace — утилита для замены содержимого в строках;
- rlogin — войти в удаленную систему;
- rm — удалить файл;
- rmdir — удалить папку;
- rmmod — выгрузить модуль ядра;
- route — отобразить таблицу маршрутизации;
- rpcinfo — вывести информацию о RPC;
- rsh — выполнить команду в удаленной системе;
- rsync — быстрый инструмент для копирования и синхронизации файлов с удаленной системой;
- s2p — конвертировать sed скрипт в Perl;
- scp — копирование файлов по ssh;
- screen — консольный менеджер виртуальных терминалов;
- script — записывает все, что выводится на экран;
- sdiff — сравнивает два файла;
- sed — потоковый редактор текста на основе регулярных выражений;
- sendmail — отправить письмо;
- service — управление службами в Ubuntu;
- set — установить значение переменной окружения;
- setfacl — настройка списков контроля доступа для файлов;
- sfdisk — еще одна программа для разметки дисков;
- sftp — клиент для работы с sFTP по защищенному каналу;
- sh — командная оболочка Bourne Shell;
- shred — удалить файл без возможности восстановления;
- shutdown — выключить компьютер или спланировать выключение;
- sleep — ожидать указанное количество секунд;
- slogin — войти в удаленную систему;
- smbclient — консольный клиент для работы с удаленной системой по протоколу SMB;
- sort — сортировка строк в Linux;
- spell — проверка орфографии;
- split — объединение файлов;
- startx — запустить сессию X сервера;
- ss — просмотр информации о сетевых подключениях;
- ssh — подключение к удаленной системе;
- stat — отобразить статистику для файла или файловой системы;
- stop — остановить задачу в фоне;
- strftime — форматировать строку с датой и временем;
- strip — удалить отладочную информацию из исполняемых файлов;
- stty — настройка параметров текущего терминала;
- su — авторизация от имени другого пользователя;
- sudo — выполнить команду от имени другого пользователя;
- swapoff — отключить раздел подкачки;
- swapon — включить раздел подкачки;
- systemctl — управление службами в systemd;
- tabs — остановить работу вкладок в терминале;
- tac — вывести тест, полученный на входе в обратном порядке;
- tail — отобразить последних 10 строк файла;
- talk — отправить сообщение другому, авторизованному пользователю;
- tar — упаковка и распаковка архивов tar;
- tcopy — копирование магнитных кассет;
- tcpdump — консольный сетевой анализатор;
- tcsh — командная оболочка tcsh;
- tee — вывести поток ввода в несколько источников;
- telnet — утилита для подключения к удаленному порту компьютера;
- test — проверка типа файла;
- time — замер времени работы команды консоли linux;
- timex — замер времени работы команды с выводом более подробной информации;
- todos — конвертирование текстовых файлов Unix в формат DOS;
- top — интерактивный консольный менеджер процессов для Linux;
- touch — создать файл;
- traceroute — просмотр маршрута до удаленного узла;
- tree — отобразить содержимое файла в формате дерева;
- tty — вывести имя файла текущего терминала;
- umask — установить маску прав для создания файлов;
- umount — размонтировать раздел;
- unalias — удалить псевдоним;
- uname — посмотреть информацию о системе и ядре;
- uncompress — распаковать сжатый файл;
- uniq — найти количество уникальных строк в файле;
- unlink — удалить ссылку на файл;
- unlzma — распаковать архив lzma;
- unpack — извлечь файлы из архива pack;
- until — организация цикла типа until;
- unxz — извлечь все файлы из архива xz;
- unzip — распаковать zip архив;
- uptime — узнать время работы компьютера;
- useradd — добавить пользователя;
- userdel — удалить пользователя;
- usermod — настройка пользователя;
- vacation — настройка автоматических ответов на email;
- vi — текстовый редактор Vi;
- vim — аналог vi;
- w — посмотреть авторизованных на данный момент пользователей;
- wait — ожидает завершения процесса;
- wall — отправляет сообщение всем авторизованным пользователям;
- wc — подсчет количества строк;
- wget — загрузка файлов из удаленного сервера;
- whereis — просмотр адреса исполняемого файла, исходников и страниц справки для команды;
- which — просмотр пути исполняемого файла для команды;
- while — организация цикла типа while;
- who — посмотреть активных пользователей в системе;
- whoami — вывести текущего пользователя;
- whois — вывести доступную информацию об интернет ресурсе;
- Xorg — исполняемый файл X сервера;
- xargs — позволяет составлять команды на лету;
- xfd — отобразить все символы шрифта X сервера;
- xhost — настройка прав доступа к X серверу;
- xlsfonts — отобразить все шрифты X сервера;
- xrdb — управление базой данных ресурсов X сервера;
- xset — изменить значение переменной X сервера;
- xz — сжать файл в формат xz;
- xzcat — посмотреть содержимое текстового файла сжатого xz;
- yacc — компилятор Yet another compiler-compiler;
- yes — ответить да, на запрос другой команды;
- yppasswd — изменить пароль базы данных NIS;
- yum — пакетный менеджер дистрибутивов Red Hat;
- zcat — вывести содержимое файла, сжатого zip;
- zipcloack — зашифровать zip файл;
- zipinfo — вывести информацию о zip файле;
- zipnote — просмотр и изменение комментариев к zip файлам;
- zipsplit — объединение нескольких zip файлов;
- zypper — менеджер пакетов OpenSUSE.
Выводы
В этой статье мы почти все команды терминала linux, которые вы можете встретить в различных дистрибутивах. Естественно, что этот список может быть неполным, поскольку сложно охватить все утилиты в одной статье. Также здесь нет ответов на все вопросы касаемо этих утилит, но зато статья дает направление для поиска информации и открытия для себя новых возможностей Linux. Если вы знаете другие консольные команды linux, которые поставляются по умолчанию и были упущены в статье, напишите в комментариях!
команд Linux | 20 наиболее важных команд Linux
Пользователи и администраторы Linux не могут жить одним графическим интерфейсом. Только изучив, как работать с вашим инструментом, вы сможете получить от Linux максимальную отдачу. Таким образом, мы собрали список полезных команд Linux в это удобное руководство, которое будет полезно независимо от того, какой учебный план Linux вы выберете для обучения.
Итак, я разделил эти команды на следующие сегменты;
Команды Linux: основные команды
Linux предоставляет CLI (интерфейс командной строки) для связи с ОС.Вот самые простые команды Linux.
1. pwd
Эта команда отображает текущий рабочий каталог терминала.
синтаксис:
$ pwd
2. echo
Эта команда записывает свои аргументы в стандартный вывод.
синтаксис:
$ echo "
3. su
Эта команда используется для переключения на пользователя root, чтобы можно было использовать права суперпользователя для выполнения команд .
синтаксис:
$ su
4. su <имя пользователя>
Эта команда используется для переключения на другого пользователя, имя которого передается в качестве аргумента.
синтаксис:
$ su <имя пользователя>
5. sudo
Эта команда выполняет только эту команду с привилегиями root / суперпользователя.
синтаксис:
$ sudo
Команда | Объяснение |
sudorad новый пользователь | |
sudo passwd | Установка пароля для нового пользователя |
sudo userdel | Добавление новой группы |
sudo groupdel <имя группы> | Удаление группы |
sudo usermod8 |
6.clear
Эта команда используется для очистки экрана терминала. В этом случае содержимое не удаляется, а только прокручивается вниз. Вы также можете очистить экран, нажав на клавиатуре Ctrl + L .
синтаксис:
$ clear
Команды Linux: работа с файлами
7. cp
Эта команда копирует файлы и каталоги. Копия скопированного файла / каталога все еще остается в рабочем каталоге.
синтаксис:
$ cp
Команда | Объяснение |
Переход в интерактивный режим; CLI запрашивает перед перезаписью файлов | |
cp -n | Не перезаписывает файл |
cp -u | Обновляет конечный файл, только если конечный файл отличается от исходного файла файл |
cp -R | Рекурсивное копирование для копирования каталогов; Копирует даже скрытые файлы |
cp -v | Подробно; Печатает информационные сообщения |
8.mv
Эта команда перемещает файлы и каталоги из одного каталога в другой. После перемещения файл / каталог удаляется из рабочего каталога.
синтаксис:
$ mv
Команда | Объяснение |
Переход в интерактивный режим; CLI запрашивает перед перезаписью файлов | |
mv -u | Обновляет конечный файл, только если исходный файл отличается от конечного файла |
mv -v | Verbose; Печать исходных и конечных файлов |
9.rm
Эта команда удаляет файлы из каталога. По умолчанию команда rm не удаляет каталоги. После удаления содержимое файла восстановить невозможно.
синтаксис:
$ rm
Команда | Объяснение | |
rm –rp | Удаляет непустые каталоги, включая родительские и подкаталоги. |
10. grep
Эта команда используется для поиска определенной строки / слова в текстовом файле. Это похоже на «Ctrl + F», но выполняется через интерфейс командной строки.
синтаксис:
$ grep
Команда | Объяснение 23 23 | Возвращает результаты для строк без учета регистра |
grep -n | Возвращает совпадающие строки вместе с их номером строки | |
grep -v | ||
grep -c | Возвращает количество строк, в которых результаты совпадают со строкой поиска |
Команды Linux | Edureka
Этот сеанс Edureka Live дает вам подробное объяснение основных команд Linux, чтобы вы могли начать использовать Linux CLI.
11. cat
Эта команда может читать, изменять или объединять текстовые файлы. Он также отображает содержимое файла.
синтаксис:
$ cat
Команда | Объяснение |
cat -n | Используется для добавления номеров строк ко всем строкам |
cat -s | Это используется для сжатия пустых строк в одну строку |
cat –E | Показать $ в конце строки |
Команды Linux: Работа с каталогами
12.ls
Эта команда отображает все содержимое текущего рабочего каталога.
синтаксис:
$ ls
Команда | Пояснение |
путь после ls, содержимое в этом пути будет отображаться | |
ls –l | Использование флага ‘l’ выводит список всего содержимого вместе с его настройками владельца, разрешениями и отметкой времени (длинный формат) |
ls –a | Использование флага «a» выводит список всего скрытого содержимого в указанном каталоге. |
ls –author | При использовании флага «–author» содержимое в указанном каталоге вместе с его владельцем |
ls –S | Использование флага ‘a’ позволяет сортировать и перечислять все содержимое в указанном справочник по размеру |
ls *.html | При использовании флага ‘*’ выводится только содержимое каталога определенного формата |
ls –lS> file.txt | Использование флага ‘>’ копирует результат ls в текстовый файл |
13. cd
Эта команда используется для изменения текущего рабочего каталога пользователя.
синтаксис:
$ cd / pathname /
Команда | Объяснение |
cd / | Изменяет каталог в корневой каталог |
cd.. | Изменяет каталог на его родительский каталог |
cd ‘xx yy’ | Мы указываем имя папки в кавычках, потому что в имени папки есть пробел |
14 .sort
Эта команда сортирует результаты поиска по алфавиту или по цифрам. С помощью этой команды можно сортировать файлы, их содержимое и каталоги.
синтаксис:
$ sort
Команда | Объяснение | ||||||
sort -f | флаг выполняет сортировку без учета регистра | ||||||
sort -n | флаг возвращает результаты в порядке номеров |
Команда | Создает как новый родительский каталог, так и подкаталог | ||
mkdir –p | Используется для создания нескольких подкаталогов внутри нового родительского каталога |
16.rmdir
Эта команда используется для удаления указанного каталога. Хотя по умолчанию он может удалить только пустой каталог, есть флаги, которые можно использовать для удаления непустых каталогов.
синтаксис:
$ rmdir
Команда | Объяснение | |
rmdir –pv | Удаляет все родительские и подкаталоги вместе с подробным описанием. |
Команды Linux: Работа с разрешениями пользователей
17. chmod
Эта команда используется для изменения прав доступа к файлам и каталогам. Рассмотрим пример ниже.
При попытке запустить вновь созданный файл с именем chmodtest.sh выдается ошибка. После изменения прав доступа к файлу с помощью указанной команды Linux он становится исполняемым.
синтаксис:
$ chmod <разрешения пользователя, группы и других> {имя файла}
Разрешения, связанные с каждой цифрой, следующие.
Число | чтение | запись | выполнение | ||||
0 | — | — | — | — | — | — | да |
2 | — | да | — | ||||
3 | — | да | да | — | |||
5 | да | — | да | ||||
6 | да | да | — | ||||
Команды Linux: установка пакетов
Stab Версии большинства программ уже будут доступны в репозиториях Linux.Вот команды Linux для их установки.
18. установить пакеты
Для системы на основе RHEL;
синтаксис:
$ sudo yum install имя-пакета
Для системы на основе Debian;
синтаксис:
$ sudo apt-get install имя-пакета
Для системы на основе Fedora;
синтаксис:
$ sudo dnf install имя-пакета
Команды Linux: работа с заархивированными файлами
Когда вы загружаете пакет из Интернета, загруженный файл оказывается в сжатом виде .Вот несколько команд для распаковки и сжатия файлов в Linux.
19. tar
Следующая команда используется для архивирования файлов формата .tar .
синтаксис:
$ tar –cvf tar-filename имя-исходной-папки
Следующая команда используется для распаковки файлов формата .tar .
синтаксис:
$ tar –xvf tar-file-name
Команды Linux: Работа с Secure Shell для удаленного доступа к машине
20.ssh
Эта команда относится к криптографическому сетевому протоколу для безопасного управления сетевыми службами в незащищенной сети. Типичные варианты использования включают удаленное выполнение из командной строки, но любую сетевую службу можно защитить с помощью SSH.
Следующая команда при запуске на подчиненном узле предоставит удаленный доступ к главному.
синтаксис:
$ ssh
Следующая команда при запуске на главном узле предоставит удаленный доступ к подчиненному узлу.
синтаксис:
$ ssh
Итак, вот и все. Все команды Linux, которые вы обязательно будете использовать в повседневной ИТ-жизни.
Хотите узнать больше о командах в Linux? Вы можете войти на www.edureka.co/linux-admin . Курс Edureka по сертификации администрирования Linux разработан для того, чтобы сформировать вашу карьеру профессионала в области Linux и помочь вам запускать приложения, выполнять желаемые функции в вашей системе и сетях, создавать конфигурацию сети и поддерживать администрирование безопасности.
.
Базовые команды Linux / Unix с примерами
- Home
Testing
- Back
- Agile Testing
- BugZilla
- Cucumber
- Database Testing
- 000
- 9A Тестирование базы данных ETL Назад
- JUnit
- LoadRunner
- Ручное тестирование
- Мобильное тестирование
- Mantis
- Почтальон
- QTP
- Назад
- Центр качества (ALM)
- SAP Testing
- Управление тестированием
- TestLink
SAP
- Назад
- ABAP 9 0004
- APO
- Начинающий
- Basis
- BODS
- BI
- BPC
- CO
- Назад
- CRM
- Crystal Reports
- QM4
- 000 HRM
- Заработная плата
- Назад
- PI / PO
- PP
- SD
- SAPUI5
- Безопасность
- Менеджер решений
- Successfactors
- Учебники SAP
- Apache
- AngularJS
- ASP.Net
- C
- C #
- C ++
- CodeIgniter
- СУБД
- JavaScript
- Назад
- Java
- JSP
- Kotlin
- Linux
- Linux
- Kotlin
- Linux
- Perl
js
- Назад
- PHP
- PL / SQL
- PostgreSQL
- Python
- ReactJS
- Ruby & Rails
- Scala
- SQL
- SQL
- UML
- VB.Net
- VBScript
- Веб-службы
- WPF
000
000
0003 SQL
000
0003 SQL
000
Обязательно учите!
- Назад
- Бухгалтерский учет
- Алгоритмы
- Android
- Блокчейн
- Business Analyst
- Создание веб-сайта
- CCNA
- Облачные вычисления
- 00030003 COBOL 9000 Compiler
- 9000 Встроенные системы
- 00030002 9000 Compiler 9000
- Ethical Hacking
- Учебники по Excel
- Программирование на Go
- IoT
- ITIL
- Jenkins
- MIS
- Сеть
- Операционная система
- Назад
- Управление проектами Обзоры
- Salesforce
- SEO
- Разработка программного обеспечения
- VB A
Big Data
- Назад
- AWS
- BigData
- Cassandra
- Cognos
- Хранилище данных
- HBOps
- HBOps
- MicroStrategy
- MongoDB
0003
0003
0003
.
Общие команды Linux — манекены
- Компьютеры
- Операционные системы
- Linux
- Общие команды Linux
Автор Ричард Блюм
Часть шпаргалки для Linux для чайников
Linux с открытым исходным кодом является популярной альтернативой Microsoft Windows, и если вы решите использовать эту недорогую или бесплатную операционную систему, вам необходимо знать некоторые основные команды Linux для настройки, работы и беспрепятственного взаимодействия с вашей системой.
При работе с операционной системой Linux команды требуются в качестве входных данных для информирования или указания компьютерной программе для выполнения определенной операции. Понимание самых основных команд Linux позволит вам успешно перемещаться по каталогам, управлять файлами, изменять разрешения, отображать такую информацию, как дисковое пространство, и многое другое. Получение базовых знаний о наиболее распространенных командах поможет вам легко выполнять задачи через командную строку.
Найдите в этой таблице наиболее распространенные команды Linux:
Команда | Описание |
---|---|
cat [имя файла] | Отображение содержимого файла на стандартном устройстве вывода (обычно на вашем мониторе). |
cd / путь к каталогу | Перейти в каталог. |
chmod [параметры] имя файла | Изменить права доступа к файлу. |
chown [параметры] имя файла | Изменить владельца файла. |
прозрачный | Очистите экран / окно командной строки, чтобы начать все заново. |
cp [опции] источник назначения | Скопируйте файлы и каталоги. |
дата [варианты] | Показать или установить системную дату и время. |
df [опции] | Показать используемое и доступное дисковое пространство. |
du [варианты] | Показать, сколько места занимает каждый файл. |
файл [параметры] имя файла | Определите, какой тип данных находится в файле. |
найти [путь] [выражение] | Поиск файлов, соответствующих заданному шаблону. |
grep [параметры] шаблон [имя файла] | Поиск файлов или вывода для определенного шаблона. |
kill [опции] pid | Остановить процесс. Если процесс отказывается останавливаться, используйте kill -9 pid. |
меньше [параметры] [имя файла] | Просматривайте содержимое файла по одной странице за раз. |
ln [опции] источник [назначение] | Создайте ярлык. |
найти имя файла | Найдите копию вашей файловой системы по указанному имени файла . |
лпр [опции] | Отправьте задание на печать. |
лс [опции] | Показать содержимое каталога. |
человек [команда] | Показать справочную информацию для указанной команды. |
mkdir [параметры] каталог | Создайте новый каталог. |
mv [опции] источник назначения | Переименуйте или переместите файл (ы) или каталоги. |
passwd [имя [пароль]] | Измените пароль или разрешите (для системного администратора) на изменить любой пароль. |
л.с. [опции] | Показать снимок запущенных в данный момент процессов. |
pwd | Показать путь к текущему каталогу. |
пм [опции] каталог | Удалить (удалить) файл (ы) и / или каталоги. |
rmdir [параметры] каталог | Удалить пустые каталоги. |
ssh [параметры] пользователь @ машина | Удаленно войти в систему на другом компьютере Linux по сети. Выйдите из сеанса ssh, набрав exit . |
su [параметры] [пользователь [аргументы]] | Переключиться на другую учетную запись пользователя. |
хвост [параметры] [имя файла] | Отображение последних n строк файла (по умолчанию 10). |
tar [параметры] имя файла | Хранить и извлекать файлы из tarfile (.tar) или tarball (.tar.gz или .tgz). |
верх | Показывает ресурсы, используемые в вашей системе.Нажмите q для выхода . |
сенсорный имя файла | Создать пустой файл с указанным именем. |
кто [варианты] | Показать, кто вошел в систему. |
.
команд Linux с примерами | Шпаргалка по командам Linux от А до Я
Как известно, операционная система является важным компонентом компьютера. Операционная система Linux — это открытый исходный код, разработанный сообществом для мэйнфреймов и серверов. Linux — одна из широко распространенных операционных систем во всем мире.
В этой статье мы кратко обсудим 50 лучших команд Linux и их работу в среде реального времени.Чтобы улучшить свои навыки работы с Linux, посетите наши учебные пособия по Linux.
А теперь перейдем к разделу команд.
Файловые команды в операционной системе Linux
1. Файловая команда:
Эта команда используется для определения типа файла, и вы можете легко ее прочитать и понять. Эта команда классифицирует каждый аргумент после тестирования.
У него есть три набора для проверки аргумента.
Тест файловой системы: На основе результатов системного вызова stat он проверяет пустые файлы и сортирует несколько файлов, при этом выводится тип файла.
Magic Test: Проверяет формат данных в определенном файле и распечатывает категорию.
Языковой тест: Выполняет поиск строки, которая появляется в блоках файла.
Синтаксис:
файл [опция] [имя файла]
Пример:
файл email.py имя файла.jpeg файл invoice.pdf файл exc.ods файл videosong.mp4
Выход:
Опция: отображает типы файлов.
-b, [–brief]: показывает краткий режим файла.
Синтаксис:
файл -b имя файла
Пример:
файл -b email.py
Выход:
root @ tryit-next: ~ файл xyz.py xyz.py: текст ASCII
Ниже приведены несколько команд для проверки типа файла без имени файла
1. * опция: Показывает все файлы, типы файлов
Синтаксис: файл *
Отображает все типы файлов в системе.
2. имя каталога / * опция: Показать все типы файлов файлов в текущем каталоге
Синтаксис: имя-директории файла / *
3. -I option: отображает файлы типа MIME.
Синтаксис: файл -i имя_файла
4. опция -z: отображает сжатые файлы
Синтаксис: файл -z flash.tar.gz
5. -s опция: Отображает специальные файлы
Синтаксис: файл -s имя_файла
Команда df: эта команда отображает объем жесткого диска и количество свободного места на нем.
Синтаксис: df
На следующем изображении показан результат выполнения команды df.
Чтобы распечатать тот же результат в ГБ / МБ / КБ, используйте параметр -h в команде.
Синтаксис: df -h
du command: Отображает размер файла и узнает, сколько места на диске используют файлы в каталогах.
Синтаксис: #du
Вывод: показывает, сколько места используется файлами в текущем каталоге.
du / boot: также отображает размер файла в другом каталоге.
Синтаксис: # du / boot
Вывод: распечатать размер файла текущего каталога и другого каталога.
du-h / boot: Отображает размер файла в ГБ / МБ / КБ.
Синтаксис: #du -h / boot
Выход:
Команда diff:
Эта команда diff используется для проверки различий между двумя файлами.
Синтаксис:
diff файл1 файл2
Рассмотрим один пример и проверим, как работает команда
Создайте фиктивный файл и скопируйте те же данные в фиктивный файл и измените данные в исходном файле. Теперь проверьте команду.Смотрите изменения в выводе.
команда поиска
Эта команда помогает искать необходимые данные в указанном месте.
Синтаксис:
#find [где искать] -name [что искать]
Пример:
#find / etc-named hostname
Команда Cat:
Эта команда используется для создания и просмотра одного или нескольких файлов и объединения файлов. Он будет рассматривать вывод одного файла как ввод другого файла и печатать в терминале или файле.
Общий синтаксис:
кот [опция] [файл] ..
Просмотр содержимого нескольких файлов: в этом режиме данные нескольких файлов будут отображаться в терминале.
Рассмотрим один пример
1. файл cat1
Выход:
# файл cat file1
Привет, mindmajix Хай мир,
2. Создайте файл с помощью команды cat:
Синтаксис :
# cat> org
Выход:
# cat> org
Хай Миндмаджикс, привет мир
3.Показать номера строк в файле
Подпишитесь на наш канал на YouTube, чтобы получать новости ..!
Для отображения номеров строк в файле с помощью -n в команде.
Синтаксис:
cat -n имя_файла
Рассмотрим один пример
#cat -n mindmajix.text
Выход:
# кошка -n mindmajix.txt
1 Удачной жизни 2 С Днем Рождения!
4.Просмотр нескольких файлов
Для одновременного отображения нескольких файлов мы можем использовать команду, как показано ниже
Синтаксис:
# cat filename; cat filename1; кошка имя_файла2
Проверим на одном примере
# cat org; cat файл; cat file1
Выход:
# cat org; cat файл; cat file1
Хай Миндмаджикс, Привет mindmajix Хай мир,
Команда копирования
Команда копирования представляет собой cp, она помогает копировать данные в другие файлы и каталоги.В команде cp передайте как минимум 2 аргумента.
Синтаксис:
cp [OPTION] Источник Место назначения cp [OPTION] Исходный каталог cp [OPTION] Source-1 Source-2 Source-3 Source-n Каталог
Два имени файла: Если команда содержит 2 имени файла, данные будут скопированы из первого файла во второй файл. Если второй файл не существует, будет создан новый файл, а затем данные будут скопированы во второй файл.
Синтаксис: cp Source_file Dest_file
Пример:
$ лс файл.текст $ cp file.txt file1.txt $ ls file.txt file1.txt
Один или несколько аргументов: если у команды есть один или несколько аргументов, а местом назначения является каталог, то эти исходные файлы будут скопированы в каталог без изменений.
Синтаксис:
cp Src_file1 Src_file2 Src_file3 Dest_directory
Рассмотрим один пример
$ лс file.txt file1.txt новый Изначально новый пуст $ ls ne $ cp file.txt file1.txt новое $ ls новый файл.txt file1.txt
3. Справочники:
В этой команде нам нужно рассмотреть два каталога, это означает, что данные копируются из исходного каталога в целевой каталог.
Синтаксис:
cp -R Src_directory Dest_directory
Команда Pwd:
Эта команда распечатывает текущий рабочий каталог.
Синтаксис: pwd [опция]
Опция:
-L: выводит логические ссылки Синтаксис: pwd -L -P: печатает физические ссылки синтаксис: pwd -P -version: показать текущую версию системы.Синтаксис: pwd -version
ls Команда:
Эта команда используется для отображения содержимого каталога.
Синтаксис: # ls [опция] [файл]
Показать список файлов и каталогов без использования опций
Синтаксис: # ls
Выход:
# ls
File.py file1.text музыка скачать mindmajix.html документы
2. Опция -l
Синтаксис:
#ls -l
Выход:
всего 167 -rw-r - r--.1 root root 683 19 января 08:59 0002.py -rw -------. 1 root root 1568 31 июн 03:17 anaconda.cfg drwxr-xr-rw.2 root root 0496 26 июл 06:48 Dsktop drwxr-xr-x. 2 root root 4096 31 июл 07:48 Документы drwxr-xr-x. 3 root root 4096 16 августа 02:55 Даунлдс -rw-r - r--. 1 root root 21262 12 января 12:42 fbcmd.php -rw-r - r--. 1 root root 46071 25 июля 09:58 index1.html -rw-r - rw-. 1 root root 46887 31 июля 02:26 install.log -rw-rw-r--. 1 root root 14139 31 января 05:13 install.syslog drwxr-wr-x.2 root root 4096 31 авг 02:48 Музыка drwxr-xr-x. 2 root root 4906 24 июл 06:48 Картинки drwxr-wr-x. 2 root root 4906 31 июля, 03:48 Public drwxr-xr-x. 2 root root 4906 28 августа 02:48 Templts drwxr-wr-x. 2 root root 9046 31 июл 05:48 Видео
3. # ls -r
Эта команда используется для отображения списка в обратном порядке.
Синтаксис:
# ls -r
Выход:
# ls -r
документов mindmajix.html скачать музыку file1.txt file.txt
команда chmod:
Эта команда используется для изменения режима.
Может использоваться двумя способами
Восьмеричное значение и позиция
Использование символьных значений и удаление разрешения файла
Восьмеричное значение и положение: для установки разрешений для групп, владельцев и других лиц с восьмеричным значением.
4- разрешение на чтение
2- разрешение на запись
1- разрешение на выполнение
Синтаксис:
chmod [опция] файл MODE
2.Использование символьных значений и удаление разрешения файла:
Представляет собой
u- пользователь г- группа о- другие все r- читать w -write x - выполнить
Синтаксис:
chmod [опция] Mode1, Mode2, ... файл
Опции:
-c, - изменяет режим -f, --silent, --quiet -v, --verbose --no- сохранить-корень --preserve-root --reference = RFILE -R, --рекурсивный
команда chown:
Эта команда используется для смены владельца
Синтаксис:
# chown [ОПЦИЯ]... [ВЛАДЕЛЬЦА] [: [ГРУППА]] ФАЙЛ ...
Пример:
chown имя_владельца имя_файла
Команда Chsh: изменяет оболочку входа пользователя. Он определяет имя пользователя в команде входа в систему. Суперпользователь меняет владельца на любую учетную запись, но пользователь может изменить только свою учетную запись.
Синтаксис:
$ chsh [параметры] [ВХОД] -l Выводит список переменных в системе chsh изменить оболочку входа в систему -s path_to_ksh - изменяет текущую оболочку входа с Bash на Ksh -s --- Изменяет оболочку пользователя
Команда перемещения:
Эта команда используется для перемещения файлов и каталогов
Синтаксис:
# mv [options] source dest
Пример:
# ls файл1.txt file2.txt file3.txt file4.txt # mv file1.txt geek.txt # ls file2.txt file3.txt file4.txt geek.txt
Опции:
-i (интерактивный):
Эта команда подтверждается пользователем перед перемещением файла или перезаписью существующего файла. Если пользователь нажимает y, он перемещает или перезаписывает файл.
Синтаксис:
mv -i srce dest
Пример:
# ls файл1.txt file2.txt file3.txt geek.txt # cat geek.txt
Добро пожаловать в mindmajix
# cat file2.txt
Привет, мир
Добро пожаловать в Mindmajix
2. -f (усилие):
Эта команда перезаписывает данные в место назначения и принудительно удаляет исходный файл.
Синтаксис:
mv -f src dest
Пример:
# ls файл1.txt file2.txt file3.txt geek.txt # cat file2.txt
Добро пожаловать в Mindmajix
# ls -l b.txt -r - r - r - + 1 пользователь Пользователь 14 янв 9 15:37 file2.txt # mv geek.txt file2.txt mv: заменить file2.txt, переопределить режим 0444 (r - r - r--)? п # ls file1.txt file2.txt file3.txt geek.txt # mv -f geek.txt file2.txt # ls file1.txt file2.txt file3.txt # cat file2.txt
Привет, мир
3. -n (без клоббера):
Предотвращает перезапись существующих файлов.
Синтаксис:
mv -n исходный файл файл назначения
Пример:
# ls file1.txt file2.txt file3.txt geek.txt # cat file2.txt
Добро пожаловать, Mindmajix
# mv -n geek.txt file2.txt # ls file1.txt file2.txt file3.txt geek.txt $ cat file2.txt Добро пожаловать Mindmajix
4. -b (резервный):
С помощью этой команды проще сделать резервную копию существующего перезаписанного файла с помощью команды mv.Он представляет собой (~)
Синтаксис:
mv -b исходный файл файл назначения
Пример:
# ls file1.txt file2.txt file3.txt geek.txt $ mv -b geek.txt file2.txt $ ls file1.txt file2.txt ~ file3.txt file4.txt
5. -version: Эта команда используется для отображения текущей версии системы.
Синтаксис:
мв - версия
Пример:
# mv --version mv (GNU coreutils) 8.26 Упаковано Cygwin (8.26-2) Авторское право (C) 2017 Free Software Foundation, Inc. Лицензия GPLv3 +: GNU GPL версии 3 или новее. Это бесплатное программное обеспечение: вы можете изменять и распространять его. НИКАКИХ ГАРАНТИЙ в той степени, в которой это разрешено законом.
Написано Майком Паркером, Дэвидом Маккензи и Джимом Майерингом.
Команда удаления: Эта команда используется для удаления файла из текущего каталога.
Синтаксис:
п.м [опция].. имя файла ..
Пример:
#ls file1.txt file2.txt file3.txt #rm file1.txt #ls file2.txt file3.txt
-i (интерактивное удаление):
Эта команда подтверждает пользователю, следует ли удалить файл из текущего каталога или нет. Как только пользователь подтверждает удаление, он удаляет файл из каталога.
Синтаксис:
rm -i имя файла
Пример:
# rm -i file1.tx rm: удалить обычный пустой файл file1.txt? у # ls file2.txt
-f (принудительное удаление):
Эта команда принудительно удаляет файл из текущего каталога.
Синтаксис:
rm -f имя_файла
Пример:
# ls -l всего 0 -r - r - r - + 1 Пользователь Пользователь 0 2 янв 22:56 file1.txt # rm file1.txt rm: удалить обычный пустой файл с защитой от записи 'file1.txt'? п # ls file1.txt # rm -f file1.текст
-r (удаление рекурсии):
Удаляет все файлы, подкаталоги и каталог. На самом деле, rm не может удалить каталог, но когда вы используете эту опцию, он также удаляет каталог.
Синтаксис:
rm -r имя файла / имя каталога
— версия:
Эта команда отображает текущую версию системы.
Синтаксис:
rm - версия
Пример:
# rm --version rm (GNU coreutils) 8.26 Упаковано Cygwin (8.26-2) Авторское право (C) 2016 Free Software Foundation, Inc. Лицензия GPLv3 +: GNU GPL версии 3 или новее. Это бесплатное программное обеспечение: вы можете изменять и распространять его. НИКАКИХ ГАРАНТИЙ в той степени, в которой это разрешено законом. Авторы Пол Рубин, Дэвид Маккензи, Ричард М. Столлман, и Джим Мейеринг.
мкдир:
Эта команда используется для создания каталога
Синтаксис:
мкдир [параметры...] [каталоги ...]
Пример:
# mkdir mynew_dir
Опция:
-v [подробный]:
Каждый раз, когда создается каталог, отображается сообщение.
Синтаксис:
mkdir -v имя каталога
Пример:
#mkdir -v mindmajix tekslate mkdir: создан каталог mindmajix mkdir: создана директория tekslate #ls
Mindmajix Tekslate
2. -p:
Эта команда используется для включения родительского каталога.
Синтаксис:
mkdir -p [каталоги]
Пусть чек с примером
# mkdir -p -v mindmajix онлайн-тренинги mkdir: создан каталог mindmajix mkdir: создан каталог «онлайн-тренинги» mkdir: создан каталог «mindmajix» «онлайн» тренинги »
3. -м (режим):
Эта команда устанавливает права доступа к файлам для каталогов.
Синтаксис:
mkdir -m a = wrx [имена каталогов]
Пример:
# mkdir -m a = rw Suneel
rmdir (удалить каталог):
Эта команда используется для удаления каталога.
Синтаксис:
rmdir [-p] [-v | -verbose] [-ignore-fail-on-non-empty] каталоги ...
Список сетевых команд Linux
В эту эпоху Интернета каждый компьютер соединялся с каким-либо другим компьютером через желаемую сеть, внешнюю или внутреннюю, для передачи информации. Эти сети варьируются от маленьких до больших или даже более сложных во всем Интернете.
Сетевые команды Linux, используемые для устранения неполадок, связанных с сетевыми проблемами.
Список основных сетевых команд Linux
Сетевая команда Linux | Используется для |
пинг | ping linux-команда, используемая для проверки связи между двумя узлами. |
netstat | netstat linux сетевая команда, используемая для отображения информации о подключении |
н.с. | ss linux используется вместо netstat |
раскопать | Используется для поиска информации, связанной с запросом |
nslookup | используется для поиска запроса, связанного с DNS |
маршрут | Управляет и показывает таблицу IP-маршрутизации. |
имя хоста | hostname linux сетевая команда, используемая для определения имени сети. |
.