История команд Linux
Большинство задач, связанных с историей команд, мы будем выполнять либо с помощью команды history, либо с помощью оболочки. В истории хранится последняя 1000 команд, которые вы выполняли. Чтобы посмотреть всю историю для этого терминала просто запустите команду history без параметров:
Для дополнительных действий с историей вам могут понадобиться опции. Команда history linux имеет очень простой синтаксис:
$ history опции файл
В качестве файла можно указать файл истории. По умолчанию история для текущего пользователя хранится в файле ~/.history, но вы можете задать, например, файл другого пользователя. А теперь рассмотрим опции:
- -c — очистить историю;
- -d — удалить определенную строку из истории;
- -a — добавить новую команду в историю;
- -n — скопировать команды из файла истории в текущий список;
- -w — перезаписать содержимое одного файла истории в другой, заменяя повторяющиеся вхождения.
Наиболее полезной для нас из всего этого будет опция -c, которая позволяет очистить историю команд linux:
Так вы можете посмотреть только последние 10 команд:
А с помощью опции -d удалить ненужное, например, удалить команду под номером 1007:
Если вы хотите выполнить поиск по истории bash, можно использовать фильтр grep. Например, найдем все команды zypper:
На самом деле работать с историей еще более просто с помощью оболочки, возможно, вы уже используете многие ее функции, но о некоторых точно не знаете. Рассмотрим их:
Чтобы показать предыдущую команду просто нажмите стрелку вверх, так можно просмотреть список раньше выполненных команд.
Вы можете выполнить последнюю команду просто набрав «!!». Также можно выполнить одну из предыдущих команд указав ее номер «!-2»
Чтобы выполнить поиск по истории прямо во время ввода нажмите Ctrl+R и начните вводить начало команды.
Если вы знаете, что нужная команда была последней, которая начиналась на определенные символы, например, l, то вы можете ее выполнить, дописав «!l»:
Если нужная команда последняя содержала определенное слово, например, tmp, то вы можете ее найти, использовав «!?tmp»:
Если вы не хотите, чтобы выполняемая команда сохранилась в истории просто поставьте перед ней пробел.
Таким образом, вы можете очень быстро отыскать нужную команду, если помните как она была написана. История команд bash хранит очень много команд и этого вполне достаточно для комфортной работы.
Просмотр предыдущей истории в Bash
Для просмотра истории в Bash используется команда «history». Она выводит предыдущие команды, по команде на строку. В большинстве случаев она должна вывести количество строк, установленное значением «HISTSIZE». На данный момент команд не так много:
Также она выводит порядковый номер команды. Каждая команда связана с номером для удобства использования.
Вывод можно сократить, указав количество команд после «history». Например, если нужно вывести только последние 5 введенных команд, можем набрать:
Чтобы найти в истории все команды, которые содержат определенную строку, можно просто использовать grep после символа вертикальной черты. Например, чтобы найти строки, содержащие «cd», наберите:
Настройка истории Linux
Linux — очень настраиваемая и гибкая система, поэтому настроить здесь можно все, в том числе и историю. По умолчанию выводится только номер команды, но вы можете выводить и ее дату. Для этого нужно экспортировать переменную HISTORYFORMAT вместе нужным форматом:
Для форматирования можно использовать такие модификаторы:
- %d – день;
- %m – месяц;
- %y – год;
- %T – штамп времени;
- %F — штамп даты.
Вы можете указать какие команды не стоит отображать, например, не будем выводить ls -l, pwd и date:
Также можно отключить вывод одинаковых команд:
Существует два флага, ignoredups и ignorespace. Второй указывает, что нужно игнорировать команды, начинающиеся с пробела. Если вы хотите установить оба значения, используйте флаг ignoreboth. Используйте переменную HISTSIZE, чтобы установить размер истории:
По умолчанию история сохраняется для каждого терминала отдельно. Но если вы хотите чтобы все ваши команды немедленно синхронизировались между всеми терминалами, то это очень просто настроить. Добавьте такую переменную:
Для тестирования работы вы можете набирать эти команды прямо в терминале и сразу видеть результат, но для сохранения добавьте нужные строки в ваш ~/.bashrc. Например:
Готово, теперь осталось сохранить изменения и перезапустить ваши терминалы. Теперь ваша история будет выводить дату, игнорировать дубли и синхронизироваться между терминалами.
Работа с текстом
Команда head
Команда head используется для просмотра первых строк любого текстового файла. По умолчанию она будет показывать первые десять строк, но с помощью опции вы можете изменить это число. Например, для отображения только первых пяти строк, введите:
Команда diff
Команда diff (от англ. «difference») производит построчное сравнение содержимого двух файлов. После анализа файлов, выводится список несовпадающих строк. Программисты часто используют данную команду, когда им нужно внести некоторые изменения в исходный код программы:
Команда grep
Команда grep (от англ. «search globally for lines matching the regular expression, and print them») позволяет искать указанный текст в указанном файле, например:
Вышеприведенная команда будет искать слово blue в файле notepad.txt и выведет все строки, в которых содержится искомое слово.
Команда echo
Команда echo используется для вывода в терминал строки, указанной ей в качестве параметра. Часто команда применяется для перемещения некоторых данных в файл. Например, если вы хотите добавить строку «Hello, world!» в файл с именем name.txt, выполните:
Команда cat
Команда cat (от англ. «concatenate») отображает содержимое одного или нескольких файлов. Чтобы отобразить содержимое файла, необходимо указать его имя в качестве параметра команды :
Безопасность и файл истории
Если вы используете какие-либо приложения, которые требуют от вас ввода конфиденциальной информации (например, паролей) в командной строке, помните, что это также будет сохранено в файле истории. Если вы не хотите сохранять определенную информацию, вы можете использовать следующую структуру команд, чтобы немедленно удалить ее из списка истории:
special-app my-secret-password;history -d $(history 1)
history 5
Эта структура включает две команды, разделенные точкой с запятой (;). Давайте разберем это:
special-app: название программы, которую мы используем.my-secret-password: секретный пароль, который нам нужно указать для приложения в командной строке. Это конец первой команды.history -d: во второй команде мы вызываем параметр истории -d (удалить). То, что мы собираемся удалить, находится в следующей части команды.$ (история 1): используется подстановка команд. Часть команды, содержащаяся в $ (), выполняется в подоболочке. Результат этого выполнения публикуется как текст в исходной команде. Команда history 1 возвращает предыдущую команду. Итак, вы можете думать о второй команде как о history -d «последняя команда здесь».
Вы можете использовать команду history 5, чтобы убедиться, что команда, содержащая пароль, была удалена из списка истории.
Однако есть еще более простой способ сделать это. Поскольку Bash по умолчанию игнорирует строки, начинающиеся с пробела, просто добавьте пробел в начало строки, как показано ниже:
special-app another-password
history 5
Команда с паролем не добавляется в список истории. Причина, по которой этот трюк работает, содержится в файле .bashrc.
Справка
Параметр help
Большинство команд имеют параметр , при помощи которого выводится короткое сообщение о том, как использовать указанную команду:
Команда man
Почти все команды в Linux распространяются вместе с man-страницами (от англ. «manual») — документацией, которая объясняет, что делает команда, приводит примеры того, как следует применять команду и какие параметры и опции она поддерживает.
Команда man применяется для отображения страницы руководства по заданной команде:
Например, чтобы открыть главную страницу справки по команде , вы должны ввести:
Для навигации по справочным страницам используйте клавиши со стрелочками вверх и вниз. Также вы можете нажать:
клавишу для перемещения на одну строку за раз;
клавишу (Пробел) для перехода к следующему экрану;
клавишу для возврата на один экран назад;
клавишу для выхода из справочной страницы.
Команда history
Если вы используете Linux в течение определенного периода времени, вы быстро заметите, что можете выполнять десятки (если не сотни) команд каждый день. Таким образом, запуск команды history особенно полезен, если вы хотите просмотреть ранее введенные команды:
Команда whereis
Команда whereis отображает полный путь к исполняемому файлу программы (или к исходным файлам, если они присутствуют в системе). Например:
Результат:
Команда cd Linux
Перед тем как мы перейдем к работе с утилитой, давайте рассмотрим ее синтаксис и основные опции. Строго говоря, это вообще никакая не утилита. Ее нет в файловой системе. Это встроенная команда Bash и меняет текущую папку только для оболочки, в которой выполняется. Вот основной синтаксис команды:
$ cd опции папка_назначения
Опций всего две, это -P и -L. Они влияют на то, как будут обрабатываться символы возврата в предыдущую директорию и символические ссылки:
- -P — позволяет следовать по символическим ссылкам перед тем, как будут обработаны все переходы «..»;
- -L — переходит по символическим ссылкам только после того, как были обработаны «..»;
- -e — если папку, в которую нужно перейти не удалось найти — выдает ошибку.
Дальше нужно указать директорию, в которую следует перейти. Если этого не сделать, а вызвать cd без параметров, то рабочей папкой будет выбран ваш домашний каталог. А теперь давайте рассмотрим несколько примеров работы с cd linux.
Настройки истории в bash
Прежде чем использовать историю, нужно отредактировать некоторые настройки bash, чтобы сделать ее более применимой.
Bash позволяет редактировать количество предыдущих команд, которые нужно сохранить в истории. Для этого в bash есть две отдельные опции: параметр «HISTFILESIZE» задает количество команд, хранящихся в файле истории, а «HISTSIZE» указывает количество команд, которое сохраняется в памяти для текущей сессии.
Это означает, что в памяти можно установить разумные пределы размера истории для текущего сеанса, а также хранить более объемную историю на диске для дальнейшего использования.
По умолчанию bash устанавливает очень умеренные значения этих параметров, поэтому их необходимо расширить, чтобы иметь возможность использовать более полную историю. Некоторые дистрибутивы уже увеличили значения параметров истории по умолчанию.
Чтобы изменить данные опции, откройте файл «~/.bashrc» с помощью редактора:
Найдите опции «HISTSIZE» и «HISTFILESIZE». Если значения для них установлены, измените их. Если таких параметров в данном файле нет, внесите их. Данное руководство может обойтись 10000 строк для диска и 5000 строк, сохраненных в памяти. Это достаточно скромные значения для большинства систем, но даже их придется понизить, если они влияют на производительность:
По умолчанию bash пишет историю в конце каждой сессии, переписывая и обновляя уже существующий файл. Это значит, что при работе в нескольких bash-сессиях будет сохранена только история последней завершенной сессии.
Это можно обойти, установив параметр «histappend», который будет добавлять историю, а не перезаписывать её. Возможно, он уже установлен; в противном случае его можно активировать, добавив следующую строку:
Чтобы bash вносил команды в историю сразу, не дожидаясь завершения сессии (чтобы команды одного терминала сразу же были доступны в другом), можно установить или добавить команду «history –a» для опции «PROMPT_COMMAND», которая содержит команды, которые выполняются перед каждой новой командной строкой.
Но для правильной работы такой команды нужна уловка. В файл истории нужно сразу добавить «history –a», затем очистить текущую историю данной сессии с помощью «history –c», после этого прочесть отредактированный файл истории и вернуться в историю данной сессии с помощью «history –r».
Это выглядит примерно так:
Завершив эту операцию, сохраните изменения и закройте файл.
Чтобы активировать изменения, выйдите из системы и войдите снова, либо используйте команду source на данный файл, набрав:
Использование памяти
Раздел «память» показывает информацию об использовании памяти системой. Строки, помеченные «Mem» и «Swap», показывают информацию об оперативной памяти и пространстве подкачки соответственно. Проще говоря, пространство подкачки является частью жесткого диска, который используется как ОЗУ. Когда использование ОЗУ становится почти полным, нечасто используемые области ОЗУ записываются в пространство подкачки и готовы для последующего извлечения при необходимости. Однако из-за медленного доступа к дискам слишком сильная зависимость от подкачки может снизить производительность системы.
Как и следовало ожидать, значения «total», «free» и «used» имеют свои обычные значения. Значение «util mem» — это объем памяти, который может быть выделен процессам без дополнительной замены.
Ядро Linux также пытается сократить время доступа к диску различными способами. Он поддерживает «дисковый кэш» в ОЗУ, где хранятся часто используемые области диска. Кроме того, записи на диск сохраняются в «дисковый буфер», и ядро в конечном итоге записывает их на диск. Общая потребляемая ими память является значением «buff / cache». Это может звучать плохо, но на самом деле это не так — память, используемая кешем, будет выделяться процессам при необходимости.
Повторить последнюю команду
Если мы уже начали говорить о возможностях Bash пойдем дальше. Символ !! означает выполнить последнюю команду. Часто ли у вас случалось такое, что вы набираете команду нажимаете Enter и понимаете, что для ее работы нужно было использовать sudo? Тогда приходиться набирать ту же команду только уже правильно. Но можно пойти другим путем, выполнить:
Кроме символа !! В Bash есть еще несколько указателей на команды:
- !^ — первый аргумент предыдущей команды;
- !$ — последний аргумент предыдущей команды;
- !* — все аргументы предыдущей команды;
- !-2 — вторая с конца команда;
- *— содержимое текущего каталога.
А вот так можно сохранить последнюю выполненную команду в скрипт:
Ещё о подобных возможностях Bash можно почитать .
Системная информация
<box 100% left round|>
rch или uname -m — отобразить архитектуру компьютераuname -r — отобразить используемую версию ядраdmidecode -q — показать аппаратные системные компоненты — (SMBIOS / DMI)hdparm -i /dev/hda — вывести характеристики жесткого дискаhdparm -tT /dev/sda — протестировать производительность чтения данных с жесткого дискаcat /proc/cpuinfo — отобразить информацию о процессореcat /proc/interrupts — показать прерыванияcat /proc/meminfo — проверить использование памятиcat /proc/swaps — показать файл(ы) подкачкиcat /proc/version — вывести версию ядраcat /proc/net/dev — показать сетевые интерфейсы и статистику по нимcat /proc/mounts — отобразить смонтированные файловые системыlspci -tv — показать в виде дерева PCI устройстваlsusb -tv — показать в виде дерева USB устройстваdate — вывести системную датуcal 2007 — вывести таблицу-календарь 2007-го годаdate 041217002007.00* — установить системные дату и время ММДДЧЧммГГГГ.СС (МесяцДеньЧасМинутыГод.Секунды)clock -w — сохранить системное время в BIOS
</box>
Управление пользователями и группами
Команда uname
Команда uname с опцией выведет подробную информацию о вашей системе: имя машины, версия операционной системы, ядра и т.д.
Результат:
Команды useradd и passwd
Команда useradd позволяет создавать новых пользователей. Чтобы создать новую учетную запись пользователя, вызовите команду вместе с именем нового пользователя:
После создания пользователя установите ему пароль, выполнив команду passwd:
Команда userdel
Команда userdel используется для удаления учетной записи пользователя:
Опция удаляет домашний каталог пользователя и связанные с ним данные:
Команды groupadd и groupdel
Команда groupadd используется для создания новой группы. Просто укажите название группы в качестве параметра:
Чтобы удалить группу, используйте команду groupdel с именем группы в качестве параметра:
Команды Linux, для работы с файлами
Эти команды используются для обработки файлов и каталогов.
33. ls
Очень простая, но мощная команда, используемая для отображения файлов и каталогов. По умолчанию команда ls отобразит содержимое текущего каталога.
34. pwd
Linux pwd — это команда для показывает имя текущего рабочего каталога. Когда мы теряемся в каталогах, мы всегда можем показать, где мы находимся.
Пример ример ниже:
35. mkdir
В Linux мы можем использовать команду mkdir для создания каталога.
По умолчанию, запустив mkdir без какой-либо опции, он создаст каталог в текущем каталоге.
36. cat
Мы используем команду cat в основном для просмотра содержимого, объединения и перенаправления выходных файлов. Самый простой способ использовать cat— это просто ввести » имя_файла cat’.
В следующих примерах команды cat отобразится имя дистрибутива Linux и версия, которая в настоящее время установлена на сервере.
37. rm
Когда файл больше не нужен, мы можем удалить его, чтобы сэкономить место. В системе Linux мы можем использовать для этого команду rm.
38. cp
Команда Cp используется в Linux для создания копий файлов и каталогов.
Следующая команда скопирует файл ‘myfile.txt» из текущего каталога в «/home/linkedin/office«.
39. mv
Когда вы хотите переместить файлы из одного места в другое и не хотите их дублировать, требуется использовать команду mv. Подробнее можно прочитать ЗДЕСЬ.
40.cd
Команда Cd используется для изменения текущего рабочего каталога пользователя в Linux и других Unix-подобных операционных системах.
41. Ln
Символическая ссылка или программная ссылка — это особый тип файла, который содержит ссылку, указывающую на другой файл или каталог. Команда ln используется для создания символических ссылок.
Команда Ln использует следующий синтаксис:
42. touch
Команда Touch используется в Linux для изменения времени доступа к файлам и их модификации. Мы можем использовать команду touch для создания пустого файла.
44. head
Команда head используется для печати первых нескольких строк текстового файла. По умолчанию команда head выводит первые 10 строк каждого файла.
45. tail
Как вы, возможно, знаете, команда cat используется для отображения всего содержимого файла с помощью стандартного ввода. Но в некоторых случаях нам приходится отображать часть файла. По умолчанию команда tail отображает последние десять строк.
46. gpg
GPG — это инструмент, используемый в Linux для безопасной связи. Он использует комбинацию двух ключей (криптография с симметричным ключом и открытым ключом) для шифрования файлов.
50. uniq
Uniq — это инструмент командной строки, используемый для создания отчетов и фильтрации повторяющихся строк из файла.
53. tee
Команда Linux tee используется для связывания и перенаправления задач, вы можете перенаправить вывод и/или ошибки в файл, и он не будет отображаться в терминале.
54. tr
Команда tr (translate) используется в Linux в основном для перевода и удаления символов. Его можно использовать для преобразования прописных букв в строчные, сжатия повторяющихся символов и удаления символов.
Включить/отключить перезапись файла истории
Для каждого нового сеанса файл истории дописывается текущими командами истории в конце сеанса. Для этого существует запись в файле .bashrc:
# append to the history file, don't overwrite it shopt -s histappend
Чтобы проверить текущую настройку перезаписи истории можно не открывать файл в редакторе, а выполнить команду:
$ shopped histappend
На это выдаст:
histappend on
Если вы хотите хотите добавлятьть новые записи истории в конец файла, выполните следующую команду:
$ shopt -s histappend
Чтобы перезаписывать файл истории, нужно ввести команду:
$ shopt -u histappend
Тогда на проверку настройки выдаст:
$ shopped histappend histappend off
Пользователи и группы
<box 100% round left |>
groupadd group_name — создать новую группу с именем group_namegroupdel group_name — удалить группу group_namegroupmod -n new_group_name old_group_name — переименовать группу old_group_name в new_group_nameuseradd -c «Nome Cognome» -g admin -d /home/user1 -s /bin/bash user1 — создать пользователя user1, назначить ему в качестве домашнего каталога /home/user1, в качестве shell’а /bin/bash, включить его в группу admin и добавить комментарий Nome Cognomeuseradd user1 — создать пользователя user1userdel -r user1 — удалить пользователя user1 и его домашний каталогusermod -c «User FTP» -g system -d /ftp/user1 -s /bin/nologin user1 — изменить атрибуты пользователяpasswd — сменить парольpasswd user1 — сменить пароль пользователя user1 (только root)chage -E 2005-12-31 user1 — установить дату окончания действия учётной записи пользователя user1pwck — проверить корректность системных файлов учётных записей. Проверяются файлы /etc/passwd и /etc/shadowgrpck — проверяет корректность системных файлов учётных записей. Проверяется файл/etc/groupnewgrp group_name — изменяет первичную группу текущего пользователя. Если указать «-», ситуация будет идентичной той, в которой пользователь вышил из системы и снова вошёл. Если не указывать группу, первичная группа будет назначена из /etc/passwd
</box>
Установка и удаление пакетов
Менеджер пакетов — это инструмент, который позволяет устанавливать, обновлять, удалять и иным образом управлять пакетами программного обеспечения, специфичными для дистрибутива Linux. Различные дистрибутивы Linux имеют различные менеджеры и форматы пакетов.
Только root или пользователь с привилегиями sudo может устанавливать и удалять пакеты.
apt (Ubuntu и Debian)
apt (от англ. «Advanced Package Tool») — это система управления пакетами, используемая дистрибутивами на базе Debian. В дистрибутивах на базе существует несколько инструментов управления пакетами с помощью командной строки, причем наиболее часто используются apt и apt-get.
Перед установкой нового пакета сначала необходимо обновить информацию о пакетах:
Индекс — это база данных, содержащая записи доступных в репозиториях пакетов, подключенных в вашей системе.
Чтобы обновить установленные пакеты до последних версий, выполните:
Установка пакетов так же проста:
Чтобы удалить установленный пакет, введите:
dnf (CentOS и Fedora)
rpm (сокр. от англ. «Red Hat Package Manager») — это мощная система управления пакетами, используемая в дистрибутивах от и производных дистрибутивах, таких как: и . С rpm также связаны команда rpm и .rpm-формат пакетов.
Чтобы установить новый пакет в дистрибутивах от Red Hat, вы можете использовать команду yum или dnf:
Начиная с CentOS 8, заменил в качестве менеджера пакетов по умолчанию, при этом обратно совместим с .
Чтобы обновить установленные пакеты до последних версий, введите:
Удаление пакетов так же просто, как:
Команды 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. Мы можем увидеть не только полный маршрут сетевых пакетов, но и доступность узла, а также время доставки этих пакетов на каждый из узлов. Подробнее — тут.
Работа с файловой системой
pwd
Выводит полный путь к текущему каталогу.
ls
Показывает список файлов и подкаталогов.
По умолчанию все файлы, которые начинаются с точки, являются скрытыми. Чтобы их показать необходимо добавит ключ «-a».
ls -a
Если нужно вывести полную информацию, то добавим символ -l.
Итого получаем: ls -al
Результат ls -la
Расcмотрим результат выполнения ls -la:
- drwr -xr -x — это права доступа;
- цифра 1 — указывает количество жестких ссылок;
- root — имя пользователя. Кто владелец;
- root — имя группы к которой принадлежит документ;
- 68 размер.
cat
Показывает на экране содержимое документа. Например нужно посмотреть содержимое файла rc.local. Вводим команду и путь, получается так: cat /etc/rc.local.
tac
tac противоположна cat. Выводит слово в обратном порядке.
less
Используется для просмотра длинных текстов с прокруткой по одной странице. Бывает так, что документ очень большой и обычный редактор не может его отрыть например mcview. Например логи. Как правило, если не задать ограничение размера логов, то они могут быть большого размера. less без труда откроит в терминале. less /var/log/syslog
Результат выполнения команды less /var/log/syslog
cp
Копирование файлов и каталогов.
сp может:
- копировать файл в другую директорию;
- копировать несколько файлов в новый каталог;
- копировать содержимое файла в другой файл той же директории.
cd
Позволяет перейти в другую директорию: cd /etc
Перемещение на уровень выше: cd ..
Перейти в домашний каталог: cd ~
~ этот же сивол используется, если нужно обратиться к документу в домашнем каталоге. ~/read.txt
find
Поиск информации в файловой системе. В Линуксе найти нужный документ бывает непросто, так так файловая система разветвлена. Синтаксис такой: find path -name filename.
После имени, идет путь к каталогу где искать. Поиск будет искать во всех подкаталогах.
Можно указать несколько директорий. find /etc /var -name networks.
Система будет искать в директориях «etc» и «var» документ с именем networks.
mkdir
Создает новый каталог: mkdir newpapka
touch
Создает новый файл: touch test
rm
Опасная команда. Позволяет удалять файлы или каталоги.
rm /var/test
Ключи rm:
- -d. удалить каталог;
- -r. рекурсивно удалять содержимое каталогов;
- -f. Не запрашивать подверждения при удалении файлов.
chmod
Изменяет права доступа к документу. Чтение, запись, выполнение.
wc
Утилита терминала Линукс. Считает количество слов, символов, байт.
Основные ключи wc:
-l. Считает количество строк.
-w . Количество слов.
-m. Количество байт и символов.
Работа с диском
df
Показывает объем свободного места на жестком диске.
Результат выполнения df
mount.
Монтирование файловых систем. Например флешку или cdrom.
mount /dev/sdc
umont.
Размонтирования устройств.
umount /dev/sdc
Работа с пользователями
sudo
Популярная команда. Означает «SuperUser Do». Позволяет запускать сценарий с правами супер пользователя root.
sudo passwd mar
useradd / userdel / usermod
useradd — позволяет создавать пользователя: useradd mar
userdel удаляет пользователя: userdel mar
usermod — добавление пользователя в группу.
passwd
Меняет пароль пользователя. Для смены пароля нужно войти в привилегированный режим linux. Добавим слово sudo или войти «sudo bash» или так «su -«.
sudo passwd user.
Основные ключи:
- -d. Удалить пароль. passwd -d user.
- -l. Блокировка пароля.
- -u. Раблокировка пароля.
-n. Дезактивировать пароль, через n дней. То есть, если пользователь не сменит пароль через n дней он не сможет войти в систему Линукс. passwd -n 80 user
Результат выполнения passwd -n 80 user
Средняя нагрузка
Секция средней нагрузки представляет собой среднюю «нагрузку» за одну, пять и пятнадцать минут. «Нагрузка» — это мера вычислительной работы, которую выполняет система. В Linux загрузка — это количество процессов в состояниях R и D в любой момент времени. Значение «средняя загрузка» дает вам относительную меру того, как долго вы должны ждать, чтобы что-то было сделано.
Давайте рассмотрим несколько примеров, чтобы понять эту концепцию. В одноядерной системе средняя нагрузка 0,4 означает, что система выполняет только 40% работы, которую она может выполнить. Среднее значение нагрузки, равное 1, означает, что система точно загружена — система будет перегружена, если добавить еще немного дополнительной работы. Система со средней нагрузкой 2,12 означает, что она перегружена на 112% больше работы, чем может выдержать.
В многоядерной системе сначала нужно разделить среднюю нагрузку на количество ядер ЦП, чтобы получить аналогичный показатель.
Кроме того, «средняя нагрузка» на самом деле не является типичной «средней», которую большинство из нас знает. Это « экспоненциальное скользящее среднее », что означает, что небольшая часть предыдущих средних нагрузок учитывается в текущем значении.
chmod
Команда chmod устанавливает права доступа к файлу или каталогу.
chmod позволяет:
- Разделить привилегии между пользователями.
- Ограничить доступ к нежелательным файлам и папкам.
- Контролировать доступные сервисам действия и прочее.
Синтаксис команды chmod:
Если вывести список папок и файлов командой ls с параметром –l, то можно увидеть нечто подобное:
Первый символ означает:
- «-» — является файлом;
- «d» — является каталогом.
Остальная часть строки в 9 символов разбивается на три группы по 3 символа в каждой:
- Первые 3 символа – права доступа к файлам владельца (-rwx——).
- Вторые 3 символа – права доступа к файлам группы (—-rwx—).
- Последние 3 символа – разрешения для других (——-rwx).
Обозначения символов:
- r – Чтение.
- w – Запись.
- x – Выполнение.
Если какой-то из символов отсутствует и вместо него указан «-», тогда нет доступа к данному действию.
Также задать права доступа можно с помощью цифр:
- 0 – нет прав (-);
- 1 – только выполнение (—x);
- 2 – только запись (-w-);
- 3 – запись и выполнение (w-x);
- 4 – только чтение (r—);
- 5 – чтение и выполнение (r-x);
- 6 – чтение и запись (rw-);
- 7 – чтение, запись и выполнение (rwx).
Например, у файла «ex.txt» указаны все права:
Нужно изменить их на:
- Пользователь – все права (7 или rwx).
- Группа – чтение и запись (6 или rw-).
- Другим – чтение и выполнение (5 или r-x).
Тогда вводим следующую команду: