Команда scp – это утилита, которая работает по протоколу SSH, а значит, все что вам нужно для передачи файла на компьютер, это чтобы на нем был запущен SSH сервер, а также вы должны знать логин и пароль для подключения к нему. С помощью команды scp вы можете не только перемещать файлы между локальной и удаленной системой, но и между двумя удаленными системами. Для этого тоже будет достаточно знать пароли от них. И в отличие от Rsync вам не нужно авторизоваться на одном из серверов. Читать
Архив метки: Linux
df команда Linux- описание и примеры использования
Рассматриваемая сегодня команда по умолчанию имеется во всех дистрибутивах Linux, поэтому мы не будем устанавливать какие-либо рамки в плане сборок. Дополнительно отметим, что df выводит не только количество свободного места, но и название томов вместе с точками монтирования, что делает ее более функциональной. Теперь, когда вы знаете все о предназначении данной утилиты, рассмотрим подробнее ее синтаксис. Сразу отметим, что он довольно простой, и если вы планируете задействовать df на постоянной основе, потребуется всего несколько практических занятий, чтобы освоить все аргументы и опции.
Как пользоваться df
Чтобы посмотреть доступное пространство на всех примонтированных разделах и информацию о них достаточно набрать:
df
Утилита отображает стандартный набор колонок, но понять в ее выводе что-то с первого раза сложно. Все данные выводятся в килобайтах. Теперь давайте попросим утилиту выводить данные в более читаемом формате:
df -h
Это самое популярное сочетание опций, потому что оно дает максимально понятную информацию и уже можно судить о том, что происходит на диске. Например, мы видим, что в домашней папке уже занято 87% места и, возможно, пора что-то удалить. Если задать опцию -a, вы можете получить информацию обо всех файловых системах известных ядру, которые были смонтированы:
df -a
Здесь отображается огромное количество виртуальных файловых систем ядра. Если вы хотите вывести только информацию про реальные файловые системы на жестком диске можно использовать опцию -x чтобы отфильтровать все tmpfs:
df -x tmpfs
Также можно отфильтровать две файловые системы:
df -x devtmpfs -x tmpfs
Или же указать файловую систему, которую нужно отображать:
df -t ext4
Также можно указать интересующий вас раздел, как вы видели в синтаксисе команды:
df -h /dev/sdb6
С помощью опции -i вы можете посмотреть информацию про состояние inode в вашей файловой системе:
df -hi /dev/sdb6
Видео, о том, как пользоваться утилитой df:
Стандартное действие команды
Как известно, практически все команды в Линукс отвечают за выполнение каких-то операций, если ввести их без дополнительных опций. К сегодняшней утилите это тоже относится. По сути, она выводит на экран всю необходимую информацию, однако прочесть ее быстро будет проблематично. Впрочем, давайте вкратце рассмотрим, как это выглядит.
- Для начала, соответственно, придется запустить «Терминал». Сделайте это удобным для себя образом, например, через меню приложений или стандартную горячую клавишу Ctrl + Alt + T.
- Здесь введите df и нажмите на Enter. Эта утилита корректно функционирует даже без прав суперпользователя, поэтому можно обойтись без аргумента sudo.
- Через несколько секунд вы увидите множество строк, отображающих сведения о монтированных файловых системах и дисках. Обратите внимание на столбцы, чтобы понимать, какой из них за что отвечает.
Как заметно на предыдущем скриншоте, каждый показатель отображается в байтах, что и усложняет общее восприятие таблицы. Дополнительно отсутствует какая-либо фильтрация по файловым системам и устройствам. Именно поэтому и необходимо использовать отдельные опции, чтобы повысить комфорт взаимодействия с рассматриваемой утилитой.
Основные опции df
Как уже было сказано ранее, работать с df без опций можно, но это не принесет должного результата для тех, кто желает моментально получить интересующую информацию, поэтому и следует разобраться с синтаксисом. В нем нет ничего сложного, а все аргументы можно описать таким образом:
- -a, –all. Этот аргумент следует вписывать только в том случае, если вы заинтересованы в отображении абсолютно всех существующих файловых систем, включая виртуальные, недоступные и эмуляторы.
- -h обязателен к применению при желании получить сведения о размерах не в байтах, а в мегабайтах или гигабайтах.
- -H — при этой опции мегабайты будут опускаться, а все размеры сформатируются в гигабайты.
- -k — данная опция используется реже остальных, поскольку является заменой -h и -H и показывает цифры в килобайтах.
- -P пригодится тем пользователям, кто заинтересован в получении информации формата POSIX.
- -t, –type — это одна из опций-фильтров. Укажите -t, а затем введите название файловой системы, чтобы в результатах отображались только строки, связанные с ней.
- -x функционирует примерно так же, но по методу исключения. Введенные файловые системы после этого аргумента отображаться не будут.
- –output. На предыдущем скриншоте видно, что все сведения показываются в столбцах. Некоторые из них не нужны пользователю, в таком случае применяется данная опция. Используйте варианты ‘pcent’, ‘fstype’, ‘itotal’, ‘iused’, ‘iavail’, ‘source’, ‘size’, ‘used’, ‘ipcent’, ‘avail’, ‘target’, ‘pcent’ и ‘file’, чтобы составить собственные столбцы.
Теперь вы знаете абсолютно обо всех опциях, использующихся при написании рассматриваемой команды. Существует вариант с указанием конкретного раздела или диска, но об этом мы поговорим немного позже. Сейчас давайте более детально разберемся с каждым аргументом.
- Начнем с упрощения читаемости полученных результатов. Для этого введите df -h, чтобы отобразить строки в гигабайтах или мегабайтах, о чем уже было сказано ранее.
- Ознакомьтесь с появившимися строками. Как видите, таблица действительно стала понятнее.
- Далее можно написать df – a, если хотите показать даже недоступные и виртуальные файловые системы.
- Исключите одну ФС через df -x tmpfs.
- Если необходимо создать фильтр сразу для нескольких файловых систем, придется писать каждую опцию отдельно, что выглядит так: df -x devtmpfs -x tmpfs.
- Теперь затронем и отображение только выбранной системы. Для этого применяется опция -t, а команда имеет примерный вид df -t ext4, если речь идет о ФС ext4.
- По текущему запросу вывелась только одна строка.
Ничего не помешает вам активировать сразу несколько опций, если это необходимо. Достаточно будет просто вводить их последовательно, отделяя пробелом так, как это было показано при массовом фильтре файловых систем.
Взаимодействие с разделами и дисками
Выше мы не уточнили одну важную деталь, поскольку решили вынести ее в отдельный раздел и рассказать подробнее. Дело в том, что к df можно применять не только опции, но и указывать определенные логические тома или жесткие диски. Тогда синтаксис обретает вид df + опции + устройство. Обратите внимание на скриншот ниже: там указана команда df -h /dev/sda1. Это означает, что при активации будет выведена информация в читабельном виде о файловой системе /dev/sda1. Если вы еще не знаете название своего диска, напишите просто df -h и определите его, отталкиваясь от свободного или общего пространства.
Сегодня вы узнали о стандартной утилите под названием df. Это довольно полезный инструмент, позволяющий быстро просмотреть список весь дисков и размер свободного пространства на них, применяя определенные опции. Если вас заинтересовала тема популярных команд в Linux, воспользуйтесь представленным по следующей ссылке руководством.
Команда du – синтаксис и опции
Disk Usage – именно так интерпретируется название команды du. Она была написана ещё в самой первой версии UNIX (в определённом роде предшественницы Linux), еще в стенах одной из лабораторий компании AT&T. Этот факт даёт понять, насколько важно следить за дисковым пространством, а также анализировать его при наличии специализированных программных инструментов, ведь du – одна из самых первых утилит из стандартного комплекта UNIX/Linux.
Итак давайте узнаем что у нас занимает место
du –max-depth=1 -h /
Более подробное описание команды du и ключей вы можете прочитать ниже. Вывод будет следующий
Отсюда мы видим что самый большой каталог у нас /var. Посмотрим что у на занимает место в каталоге /var
du –max-depth=1 -h /var
видим что это папка log
Теперь смотрим /var/log
du -ah /var/log
и вот здесь мы уже видим пять самых больших файлов с логами, именно они и заняли все место на диске. Давайте рассмотрим команду du подробнее.
Согласно описанию из официального man-руководства, утилита du суммирует использование дискового пространства набора элементов, рекурсивно с каталогами. Синтаксис команды не простой, а очень простой, поскольку представляет собой классический прототип команды Linux:
du [КЛЮЧ]… [что сканировать]…
Если дать команду du без параметров, то по-умолчанию будет выведен список всех каталогов и подкаталогов для текущего каталога. Также по-умолчанию единицей измерения объёма является 1024 байта или 512 байт, в зависимости от конфигурации используемой системы:
du code_text.txt 4 code_text.txt
Как видно, code_text.txt занимает 4 килобайта (т. к. 1024 байта = 1 килобайт) дискового пространства. То же самое и с папками, но по-умолчанию будет указан общий размер папки без детализации по файлам и подкаталогам. В следующей таблице приведены опции команды du:
| Опция | Назначение |
| -a | Выводит объём для всех элементов, а не только для каталогов |
| —apparent-size | Выводит действительные размеры, но не занимаемое место а диске |
| -B,
—block-size=РАЗМЕР
| Задаёт использование определённых единиц измерения объёма |
| -b,
—bytes
| То же самое, что и «—block-size —apparent-size=1» |
| -с,
—total
| Выводит общий результат |
| -D,
—dereference-args
| Указывает обрабатывать только те символьные ссылке, которые перечислены в командной строке |
| -d, —max-depth=N | Выводит общий размер только до N-го уровня (включительно) дерева каталогов |
| -h,
—human-readable
| Выводит размеры в удобном для человека виде |
| -k | Эквивалентно —block-size=1K |
| -L,
—dereference
| Разыменовывает символьные ссылки |
| -l,
—count-links
| Складывает размеры, если несколько жёстких ссылок |
| -m | Эквивалентно —block-size=1M |
| -t,
—threshold=РАЗМЕР
| Исключает элементы, которые меньше РАЗМЕРА, если это значение положительно или размер которых больше, если это значение отрицательно |
| —time | Выводит время последнего изменения в каталоге и во всех подкаталогах |
| —time=АТРИБУТ | Выводит указанный атрибут времени (atime, access, use, ctime, status), а не время последнего изменения |
| —time-style=СТИЛЬ | Выводит время в указанном в СТИЛЬ формате: full-iso, long-iso, iso |
| -X,
—exclude-from=ФАЙЛ
| Исключает все эдементы, которые совпадают с шаблоном из ФАЙЛа |
| —exclude=ШАБЛОН | Исключает элементы, совпадающие с шаблоном |
| -x,
—one-file-system
| Пропускать каталоги из других систем |
Используемые командой du единицы измерения размера (или объёма) задаются в формате «цифраБуква», где цифра — это коэффициент, а Буква — степень единицы измерения, например: 5K = 5 * 1024 = 5120 = 5 килобайт и по аналогии для M – мегабайт, G – гигабайт.
Примеры использования команды du
Узнать общий размер каталога (например с резервными копиями):
$ du -sh ~/home/backups 19G /home/john/backups
Вывод размеров всех подкаталогов (рекурсивно):
$ du -h ~/home/backups/ 3,2M /home/john/backups/vhosts/ssl 1,5M /home/john/backups/vhosts 5,0M /home/john/backups
С учётом файлов:
$ du -ha ~/home/backups/ 4,0K /home/john/backups/.directory 764K /home/john/backups/scheme.txt 3,2M /home/john/backups/vhosts/ssl 1,5M /home/john/backups/vhosts 5,0M /home/john/backups
С фильтрацией в зависимости от размера файла/каталога:
$ du -ha -t2M ~/home/backups/ 3,2M /home/john/backups/vhosts/ssl 5,0M /home/john/backups
Как видно, были отброшены файлы/каталоги размером меньше 2 мегабайт. Следующая команда, напротив — исключит из вывода только файлы/каталоги больше 2 мегабайт:
$ du -ha ~/home/backups/ 4,0K /home/john/backups/.directory 764K /home/john/backups/scheme.txt 1,5M /home/john/backups/vhosts
Свободное место на диске (df)
Для просмотра свободного и занятого места на разделах диска в Linux можно воспользоваться командой df.
Первым делом можно просто ввести команду df без каких-либо аргументов и получить занятое и свободное место на дисках. Но по умолчанию вывод команды не очень наглядный — например, размеры выводятся в КБайтах (1К-блоках).
df Файл.система 1K-блоков Использовано Доступно Использовано% Cмонтировано в udev 1969036 0 1969036 0% /dev tmpfs 404584 6372 398212 2% /run /dev/sda9 181668460 25176748 147240368 15% / … /dev/sda1 117194136 103725992 13468144 89% /media/yuriy/5EB893BEB893935F /dev/sda6 144050356 121905172 14804772 90% /media/yuriy/2f24…….d9075
Примечание: df не отображает информацию о не смонтированных дисках.
Размер конкретного диска
Команде df можно указать путь до точки монтирования диска, размер которого вы хотите вывести:
df -h /dev/sda9 Файл.система Размер Использовано Дост Использовано% Cмонтировано в /dev/sda9 174G 25G 141G 15% /
Размер папок на диске (du)
Для просмотра размеров папок на диске используется команда du. Если просто ввести команду без каких либо аргументов, то она рекурсивно проскандирует вашу текущую директорию и выведет размеры всех файлов в ней. Обычно для du указывают путь до папки, которую вы хотите проанализировать. Если нужно просмотреть размеры без рекурсивного обхода всех папок, то используется опция -s (–summarize). Также как и с df, добавим опцию -h (–human-readable).
Размер конкретной папки:
du -sh ./Загрузки 3,4G ./Загрузки
Размеры файлов и папок внутри конкретной папки:
du -sh ./Загрузки/* 140K ./Загрузки/antergos-17.1-x86_64.iso.torrent 79M ./Загрузки/ubuntu-amd64.deb 49M ./Загрузки/data.zip 3,2G ./Загрузки/Parrot-full-3.5_amd64.iso 7,1M ./Загрузки/secret.tgz Войдите, чтобы ставить лайкимне нравитсяЛайков: 0 войдите, чтобы ставить лайки
Отсортировать папки по объёму
du -s *| sort -nr
Покажет объём в килобайтах с сортировкой – самые большие папки/файлы сверху. Если нужно в мегабайтах:
du -sm *| sort -nr
К сожалению более удобный ключик h (“human” – автовыбор кило-мега-гига) в данном случае (du -sh *| sort -nr) не подойдёт, т.к. сортировка идёт по “числам” (не учитывая, что это KB/MB/GB). Для этого придётся использовать длинную команду:
du -s *|sort -nr|cut -f 2-|while read a;do du -hs $a;done
- linux
Недавно добавленные
- Как изменить пользователя для сайта и базы данных в VestaCP
Как изменить пользователя для сайта и базы данных в VestaCP
- linux
- VestaCP
- Размеры папок и дисков в Linux. Команды df и du
Для просмотра свободного и занятого места на разделах диска в Linux можно воспользоваться командой df. Для просмотра размеров папок на диске используется команда du.
- linux
- Как обновить ImageMagick с 6.7 до 7.0 в Centos 7
В этом руководстве мы покажем вам, как обновить ImageMagick с 6.7 до 7.0 в Centos 7
- Centos
- ImageMagick
- Регулярное выражение. Валидация номера телефона
Как проверить номер мобильного телефона? Проверка правильности, введенного номера телефона является не сложной, но важной задачей. Если пользователь введет некорректный номер, то смс сообщение до него не дойдет.
- Регулярные выражения
- PHP
- примеры
- Регулярные выражение для поиска IP адресов
Ниже представлены регулярные выражения, которые помогут найти все IP адреса в строке.
Данные регулярные выражения соответствуют шаблонам IPv4 и IPv6 адресов.
- Регулярные выражения
- примеры
[spoiler title=”Источники”]
- https://lumpics.ru/command-df-in-linux/
- https://losst.ru/komanda-df-linux
- https://ITProffi.ru/analiz-diskovogo-prostranstva-v-linux-komandy-du-i-ncdu/
- https://pingvinus.ru/note/df-command
- http://website-lab.ru/article/linux-du-df/
[/spoiler]
Справка по команде ipconfig и ее параметрам
Вывод полной конфигурации TCP/IP для всех адаптеров. Без этого параметра команда ipconfig выводит только IP-адреса, маску подсети и основной шлюз для каждого адаптера. Адаптеры могут представлять собой физические интерфейсы, такие как установленные сетевые адаптеры, или логические интерфейсы, такие как подключения удаленного доступа. /renew [адаптер] Обновление конфигурации DHCP для всех адаптеров (если адаптер не задан) или для заданного адаптера. Данный параметр доступен только на компьютерах с адаптерами, настроенными для автоматического получения IP-адресов. Чтобы указать адаптер, введите без параметров имя, выводимое командой ipconfig. /release [адаптер] Отправка сообщения DHCPRELEASE серверу DHCP для освобождения текущей конфигурации DHCP и удаление конфигурации IP-адресов для всех адаптеров (если адаптер не задан) или для заданного адаптера. Этот адаптер отключает протокол TCP/IP для адаптеров, настроенных для автоматического получения IP-адресов. Чтобы указать адаптер, введите без параметров имя, выводимое командой ipconfig. /flushdns Сброс и очистка содержимого кэша сопоставления имен DNS клиента. Во время устранения неполадок DNS эту процедуру используют для удаления из кэша записей отрицательных попыток сопоставления и других динамически добавляемых записей. /displaydns Отображение содержимого кэша сопоставления имен DNS клиента, включающего записи, предварительно загруженные из локального файла Hosts, а также последние полученные записи ресурсов для запросов на сопоставление имен. Эта информация используется службой DNS клиента для быстрого сопоставления часто встречаемых имен без обращения к указанным в конфигурации DNS-серверам. /registerdns Динамическая регистрация вручную имен DNS и IP-адресов, настроенных на компьютере. Этот параметр полезен при устранении неполадок в случае отказа в регистрации имени DNS или при выяснении причин неполадок динамического обновления между клиентом и DNS-сервером без перезагрузки клиента. Имена, зарегистрированные в DNS, определяются параметрами DNS в дополнительных свойствах протокола TCP/IP. /showclassidадаптер Отображение кода класса DHCP для указанного адаптера. Чтобы просмотреть код класса DHCP для всех адаптеров, вместо параметра адаптер укажите звездочку (*). Данный параметр доступен только на компьютерах с адаптерами, настроенными для автоматического получения IP-адресов. /setclassidадаптер [код_класса] Задание кода класса DHCP для указанного адаптера. Чтобы задать код класса DHCP для всех адаптеров, вместо параметра адаптер укажите звездочку (*). Данный параметр доступен только на компьютерах с адаптерами, настроенными для автоматического получения IP-адресов. Если код класса DHCP не задан, текущий код класса удаляется. /? Отображение справки в командной строке.
Заметки
- Команда ipconfig является эквивалентом для командной строки команды winipcfg, имеющейся в Windows Millennium Edition, Windows 98 и Windows 95. Хотя Windows XP не имеет графического эквивалента команде winipcfg, для просмотра и обновления IP-адреса можно воспользоваться окном «Сетевые подключения». Для этого откройте окно Сетевые подключения, щелкните правой кнопкой мыши сетевое подключение, выберите команду Состояние, а затем откройте вкладку Поддержка.
- Данная команда доступна только на компьютерах с адаптерами, настроенными для автоматического получения IP-адресов. Это позволяет пользователям определять, какие значения конфигурации были получены с помощью DHCP, APIPA или другой конфигурации.
- Если имя адаптер содержит пробелы, его следует заключать в кавычки (т. е. “имя_адаптера“).
- В именах адаптеров, задаваемых для команды ipconfig, поддерживается использование подстановочного знака звездочки (*) для задания имен, начинающихся с указанной строки или содержащих указанную строку. Например, имя Подкл* будет включать все адаптеры, начинающиеся со строки «Подкл», а имя *сет* все адаптера, содержащие строку «сет».
- Эта команда доступна, только если в свойствах сетевого адаптера в объекте Сетевые подключения в качестве компонента установлен протокол Интернета (TCP/IP).
Параметры утилиты IPCONFIG
ipconfig [/all] [/renew [адаптер]] [/release [адаптер]] [/flushdns] [/displaydns] [/registerdns] [/showclassid адаптер] [/setclassid адаптер [код_класса]], где
- /all – Вывод полной конфигурации TCP/IP для всех адаптеров. Без этого параметра команда ipconfig выводит только IP-адреса, маску подсети и основной шлюз для каждого адаптера. Адаптеры могут представлять собой физические интерфейсы, такие как установленные сетевые адаптеры, или логические интерфейсы, такие как подключения удаленного доступа.
- /renew [адаптер] – Обновление конфигурации DHCP для всех адаптеров (если адаптер не задан) или для заданного адаптера. Данный параметр доступен только на компьютерах с адаптерами, настроенными для автоматического получения IP-адресов. Чтобы указать адаптер, введите без параметров имя, выводимое командой ipconfig.
- /release [адаптер] – Отправка сообщения DHCPRELEASE серверу DHCP для освобождения текущей конфигурации DHCP и удаление конфигурации IP-адресов для всех адаптеров (если адаптер не задан) или для заданного адаптера. Этот адаптер отключает протокол TCP/IP для адаптеров, настроенных для автоматического получения IP-адресов. Чтобы указать адаптер, введите без параметров имя, выводимое командой ipconfig.
- /flushdns – Сброс и очистка содержимого кэша сопоставления имен DNS клиента. Во время устранения неполадок DNS эту процедуру используют для удаления из кэша записей отрицательных попыток сопоставления и других динамически добавляемых записей.
- /displaydns – Отображение содержимого кэша сопоставления имен DNS клиента, включающего записи, предварительно загруженные из локального файла Hosts, а также последние полученные записи ресурсов для запросов на сопоставление имен. Эта информация используется службой DNS клиента для быстрого сопоставления часто встречаемых имен без обращения к указанным в конфигурации DNS-серверам.
- /registerdns – Динамическая регистрация вручную имен DNS и IP-адресов, настроенных на компьютере. Этот параметр полезен при устранении неполадок в случае отказа в регистрации имени DNS или при выяснении причин неполадок динамического обновления между клиентом и DNS-сервером без перезагрузки клиента. Имена, зарегистрированные в DNS, определяются параметрами DNS в дополнительных свойствах протокола TCP/IP.
- /showclassid адаптер – Отображение кода класса DHCP для указанного адаптера. Чтобы просмотреть код класса DHCP для всех адаптеров, вместо параметра адаптер укажите звездочку (*). Данный параметр доступен только на компьютерах с адаптерами, настроенными для автоматического получения IP-адресов.
- /setclassid адаптер [код_класса] – Задание кода класса DHCP для указанного адаптера. Чтобы задать код класса DHCP для всех адаптеров, вместо параметра адаптер укажите звездочку (*). Данный параметр доступен только на компьютерах с адаптерами, настроенными для автоматического получения IP-адресов. Если код класса DHCP не задан, текущий код класса удаляется.
- /? – Отображение справки в командной строке.
ipconfig Использование
В командной строке введите «ipconfig» для запуска утилиты с параметрами по умолчанию. Вывод команды по умолчанию содержит IP-адрес, маску сети и шлюз для всех физических и виртуальных сетевых адаптеров.
ipconfig поддерживает несколько параметров командной строки, как описано ниже. Команда «ipconfig /?» отображает набор доступных опций.
ipconfig /?
ipconfig /all
Эта опция отображает одну и ту же информацию IP-адресации для каждого адаптера в качестве опции по умолчанию. Кроме того, он отображает настройки DNS и WINS для каждого адаптера.
ipconfig /release
Освобождение адресов для всех подключений с соответствующим именем, например «Проводное подключение Ethernet 1» или «Проводное подключение Ethernet 2».
Эта опция прекращает любые активные соединения TCP / IP во всех сетевых адаптерах и освобождает эти IP-адреса для использования другими приложениями. «ipconfig /release» может использоваться с конкретными именами подключений Windows. В этом случае команда будет влиять только на указанные соединения и не все. Команда принимает либо имена полного соединения, либо имена подстановочных знаков. Примеры:
- ipconfig /release «Local Area Connection 1»
- ipconfig /release *Local*
ipconfig /renew — Обновление адресов всех адаптеров
Этот параметр повторно устанавливает соединения TCP / IP во всех сетевых адаптерах. Как и в случае с опцией release, ipconfig /renew принимает необязательный спецификатор имени соединения.
ipconfig /renew EL* — Обновление адресов для всех подключений, имя которых начинается с «EL»
Параметры Both /renew и /release работают только на клиентах, настроенных для динамической (DHCP) адресации.
Примечание. Остальные параметры ниже доступны только в Windows 2000 и более поздних версиях Windows.
ipconfig / showclassid, ipconfig / setclassid
Эти параметры управляют идентификаторами класса DHCP. Классы DHCP могут быть определены администраторами на DHCP-сервере для применения различных сетевых настроек для разных типов клиентов. Это расширенная функция DHCP, обычно используемая в бизнес-сетях, а не в домашних сетях.
ipconfig /displaydns, ipconfig /flushdns
Эти параметры обеспечивают доступ к локальному кэшу DNS, который поддерживает Windows. Параметр / displaydns печатает содержимое кеша, а параметр / flushdns стирает содержимое.
Этот DNS-кеш содержит список удаленных имен серверов и IP-адресов (если есть), которым они соответствуют. Записи в этом кеше поступают из DNS-запросов, которые возникают при попытке посетить веб-сайты, названные FTP-серверами и другими удаленными узлами. Windows использует этот кеш для повышения производительности Internet Explorer и других веб-приложений.
В домашних сетях эти параметры DNS иногда полезны для расширенного поиска и устранения неполадок. Если информация в вашем кеше DNS становится поврежденной или устаревшей, вы можете столкнуться с трудностями при доступе к определенным сайтам в Интернете. Рассмотрим эти два сценария:
- IP — адрес в веб — сайт, сервер электронной почты или других изменений сервера (редкое явление). Имя и адрес этого сайта обычно остаются в вашем кеше в течение 24 часов после вашего последнего посещения. Возможно, вам понадобится очистить кеш, чтобы получить доступ к серверу раньше.
- Веб-сайт или другой сервер был отключен, когда вы последний раз его посещали (надеюсь, это редкое событие), но с тех пор он вернулся в Интернет. Кэш обычно будет хранить запись о том, что сервер отключен в течение 5 минут после вашего последнего посещения. Возможно, вам понадобится очистить кеш, чтобы получить доступ к серверу раньше.
ipconfig /registerdns
Подобно приведенным выше параметрам, этот параметр обновляет параметры DNS на компьютере под управлением Windows. Однако вместо простого доступа к локальному кешу DNS этот параметр инициирует обмен данными с DNS-сервером (и сервером DHCP) для повторной регистрации с ними.
Эта опция полезна при устранении неполадок , связанных с соединение с провайдером Интернет — услуг, таких как неспособность получить динамический IP — адрес или невозможность подключения к ISP сервера DNS
Подобно параметрам / release и / renew, / registerdns необязательно обновляет имена определенных адаптеров. Если параметр имени не указан, / registerdns обновляет все адаптеры.
ipconfig против winipcfg
До Windows 2000 Microsoft Windows поддерживала утилиту winipcfg вместо ipconfig. По сравнению с ipconfig winipcfg предоставил аналогичную информацию о IP-адресе, но через примитивный графический интерфейс пользователя, а не в командной строке.
Как вывести на экран командную строку
Как упоминалось выше, для ввода команды ipconfig all необходима такая утилита, как командная строка на Windows. На других операционных системах, таких как UNIX-подобные, эта команда также присутствует, но об этом позже.
Для того чтобы открыть командную строку, можно воспользоваться разными способами. Перечислены будут абсолютно все, чтобы каждый нашел себе по вкусу.
-
Самый обыденный для заядлого пользователя Windows алгоритм действий по открыванию командной строки будет через меню «Пуск». Для этого войдите в данное меню и проследуйте в раздел «Все программы». Там, крутя колесико мыши вниз, отыщите папку под названием «Стандартные» и уже в ней найдите ту самую утилиту «Командная строка».
-
Второй способ намного быстрее первого, но, возможно, далекие от компьютера люди его не поймут. Но все же откройте меню «Пуск» и на боковой панели найдите строку «Выполнить». После нажатия появится окошко в левом нижнем углу рабочего стола. В поле для ввода напишите «cmd.exe» и нажмите «ОК».
-
Если по каким-то причинам вы не нашли «Выполнить», то третий способ специально для вас. Вместо безуспешных поисков просто нажмите сочетание горячих клавиш Win + R и заветное окошко появится. Ну, а дальше вы знаете, что делать, ввести в строку «cmd.exe» и нажать «ОК».
Командная строка открыта, а это значит, что можно приступать к рассматриванию команд ipconfig all, ping и tracert.
IPConfig
Первой на очереди и по важности будет команда ipconfig. Если вы часто сталкиваетесь с проблемами с сетью, то данную команду вы должны знать от А до Я, так как именно она вам поможет найти причины неполадок, проанализировать их и предотвратить.
Введя эту команду, перед вами появится вся информация об IP-адресе ПК, а также будут затронуты DHCP, DNS, шлюз и маска подсети. Конечно, вы можете задать резонный вопрос, а что делать с этой информацией дальше? Да, после ввода команды ipconfig или же ipconfig all проблемы сами собой не устранятся. Однако, вы сможете понять, в чем именно заключается проблема.
Например, если на экране показывает, что шлюз у вас 0.0.0.0, то знайте, что проблема с маршрутизатором.
Примеры использования ipconfig.exe
ipconfig – отобразить базовые сетевые настройки для всех сетевых адаптеров, присутствующих в системе.
ipconfig /all – отобразить подробную информацию о настройках всех сетевых адаптеров, присутствующих в системе.
ipconfig /renew “Подключение по локальной сети 2” – обновить сетевые настройки, полученные от DHCP – сервера только для сетевого подключения с именем “Подключение по локальной сети 2”.
ipconfig /release *локальной* – обновить сетевые настройки, полученные от DHCP – сервера для всех сетевых подключений, в имени которых присутствует строка “локальной”
ipconfig /release “Подключение по локальной сети 2” – освободить сетевые настройки, полученные от DHCP – сервера только для сетевого подключения с именем ” Подключение по локальной сети 2″.
Если для параметров release и renew не указано имя адаптера, то аренда IP-адреса для всех адаптеров, для которых существуют привязки к TCP/IP, будет освобождена или обновлена.
ipconfig /dysplaydns – вывести на экран содержимое кэш службы разрешения имен DNS ( службы DNS-клиент).
ipconfig /flushdns – очистить содержимое кэш службы разрешения имен DNS
ipconfig /showclassid “Подключение по локальной сети” – отобразить все допустимые для этого сетевого подключения идентификаторы классов DHCP.
ipconfig /setclassid “Local Area Connection” TEST – установить для адаптера с именем “Local Area Connection” идентификатор класса DHCP “TEST”.
ipconfig /setclassid6 “Local Area Connection” TEST – установить для адаптера с именем “Local Area Connection” идентификатор класса DHCPv6 “TEST”.
Если для параметра setclassid или setclassid6 не указан идентификатор класса, то существующий идентификатор класса будет удален.
Наиболее часто используется команда ipconfig /all, позволяющая получить подробные сведения о сетевых настройках. Отображаются сведения о настройке протокола IP и о настройках сетевых адаптеров. Пример сведений о настройках IP:
Настройка протокола IP для Windows
Имя компьютера . . . . . . . . . : comp0
Основной DNS-суффикс . . . . . . :
Тип узла. . . . . . . . . . . . . : Смешанный
IP-маршрутизация включена . . . . : Нет
WINS-прокси включен . . . . . . . : Нет
В некоторых версиях утилиты ipconfig.exe вместо типа узла “Смешанный”, может отбражаться “Гибридный” (Hybrid). Тип узла определяет алгоритм определения и регистрации имен Netbios. С точки зрения протокола NETBIOS, узлы могут быть следующих типов:
b-node (b) – Использует только широковещательную регистрацию и просмотр имен.
p-node (p) – использует только соединения точка-точка для просмотра и регистрации имен.
m-node (m) и h-node (h) – смешанные типы, использующие как широковещательные сообщения, так и обращение к серверам имен.
Компьютеры под управлением Windows представляют собой узлы h-node или узлы смешанного типа, использующие WINS (NBNS) сервер для регистрации и просмотра имен, и используют широковещательные запросы, если сервер не доступен.
Пример отображаемой конфигурации сетевого адаптера :
Ethernet adapter Подключение по локальной сети : – имя сетевого подключения, присвоенное операционной системой.
DNS-суффикс подключения . . . . . : – DNS-суффикс из настроек сетевого подключения
Описание. . . . . . . . . . . . . : Realtek 8139d Adapter #2 – название сетевого адаптера..
Физический адрес. . . . . . . . . : 00-14-02-7B-ED-67 – MAC- адрес данного адаптера.
DHCP включен. . . . . . . . . . . : Да – признак использования DHCP для конфигурирования сетевого адаптера
Автонастройка включена. . . . . . : Да – признак автоматической настройки параметров адаптера с использованием функции автоматического назначения адресов (APIPA) при отсутствии сервера DHCP. Данный режим позволяет назначить приватный немаршрутизируемый IP-адрес сетевому адаптеру и определяется значением ключа реестра
HKEY_LOCAL_MACHINESystemCurrentControlSetServicesTcpipParametersInterfacesGUID адаптераIPAutoconfigurationEnabled
Значение 0 (тип DWORD) параметра IPAutoconfigurationEnabled отключает APIPA. Если значение этого параметра равно 1 , или параметр отсутствует в реестре, APIPA активируется. Обычно, в системах семейства Windows данный режим активирован.
Автонастройка IPv4-адреса . . . . : 169.254.254.18(Основной) – автоматически полученный локальный адрес, если используется APIPA. На практике, такое значение IP-адреса означает, что сервер DHCP недоступен.
Локальный IPv6-адрес канала . . . : fe80::7c22:e7f8:3a71:8249%16(Основной) – локальный IPv6 адрес, если используется адресация IPv6
IPv4-адрес. . . . . . . . . . . . : 10.10.11.77(Основной) – используемый для данного адаптера IPv4 – адрес.
Маска подсети . . . . . . . . . . : 255.255.224.0 – маска подсети.
Аренда получена. . . . . . . . . . : 2 марта 2015 г. 22:44:48 – дата и время получения сетевой конфигурации от сервера DHCP
Срок а
ренды истекает. . . . . . . . . . : 3 марта 2015 г. 2:31:27 – срок истечения аренды сетевых настроек. Определяется сервером DHCP.
Основной шлюз. . . . . . . . . : 10.10.11.1 – IP – адрес маршрутизатора, используемого в качестве шлюза по умолчанию.
Код класса DHCPv4. . . . . . . . . . : TEST – код класса DHCP, если он существует.
DHCP-сервер. . . . . . . . . . . : 10.10.11.11 – – IP-адрес DHCP-сервера, от которого получена сетевая конфигурация.
Следующие 2 параметра (идентификатор участников DHCP – DUID и идентификатор арендованного адреса IAID) присутствуют при автоматическом конфигурировании настроек протокола IPv6 . В крупных сетях могут присутствовать несколько серверов DHCPv6. При автоматическом конфигурировании сетевого адаптера, все они получают от клиента специальный запрос DHCP REQUEST. Каждый из них проверяет, ему ли был направлен запрос. Сервер не приступает к обработке пакетов с DUID, отличающимся от его собственного. При совпадении DUID, сервер помечает адрес как присвоенный и возвращает ответ DHCP REPLY. На этом обработка запроса завершается.
IAID – это специальный идентификатор арендуемого IPv6-адреса длиной 4 байта. Клиенту выделяется адрес на время, определенное сервером (срок аренды). Когда предпочитаемый срок действия адреса заканчивается, клиент отправляет серверу пакет DHCP RENEW с запросом на продление этого срока. В сообщение включается идентификатор IAID, код которого также хранится в базе данных DHCP сервера. Если сервер готов продлить срок действия адреса, он отправляет ответ DHCP REPLY и клиент получает возможность использования арендованного адреса без повторного получения настроек.
IAID DHCPv6 . . . . . . . . . . . : 234890384 – идентификатор арендованного адреса IAID
DUID клиента DHCPv6 . . . . . . . : 00-01-00-01-14-E2-78-C0-00-0C-1E-7C-29-E3 – идентификатор участников DHCP
DNS-серверы. . . . . . . . . . . : 94.25.128.74
94.25.208.74 – адреса DNS – серверов, используемых для разрешения имен в IP-адреса узлов.
NetBios через TCP/IP. . . . . . . . : Включен – режим использования NetBios через протокол TCP/IP.
Вывод команды IPCONFIG, как правило, не помещается на экране, поэтому для постраничного отображения результатов можно использовать команду more в цепочке с командой IPCONFIG:
ipconfig /al | more
При необходимости, результаты можно записать в текстовый файл, используя перенаправление вывода:
ipconfig /all > C:ipconfig-all.txt – записать результаты в текстовый файл ipconfig-all.txt на диске C:. Для русскоязычных версий Windows нужно учитывать, что результаты выполнения команды, записанные в текстовый файл, представлены в DOS-кодировке (OEM 866) и для их просмотра потребуется программное обеспечение, позволяющее просматривать текст в данной кодировке, например редактор файлового менеджера Far или средства для преобразования текста в кодировку Windows (CP 1251) ( например, утилита iconv. Можно обойтись, например, стандартным средством Microsoft Word ( winword.exe ), используя командный файл следующего содержания:
ipconfig /all > %TEMP%ipconfig-all.txt
start “winword” winword.exe %TEMP%ipconfig-all.txt
Первая команда записывает результаты выполнения IPCONFIG в текстовый файл ipconfig-all.txt каталога временных файлов, путь которого определяется значением переменной TEMP, а вторая – открывает этот файл с помощью winword.exe. При открытии, приложение Microsoft Word выдаст запрос на преобразование файла и предложит выбрать исходную кодировку текста – Кириллица (DOS) .
Также можно воспользоваться стандартным буфером обмена Windows, записав в него вывод результатов команды IPCONFIG. Для этого нужно выполнить ее в цепочке с командой clip
ipconfig /all | clip
Результат выполнения команды будет записан в буфер обмена Windows, после чего в используемом редакторе (Блокнот, Wordpad, Word, OpenOffice Writer) можно выполнить вставку из буфера обмена (нажмите Ctrl+V или Shift+Insert)
Видео – Работа с утилитой IPCONFIG
Примеры
Чтобы вывести основную конфигурацию TCP/IP для всех адаптеров, введите:
ipconfig
Чтобы вывести полную конфигурацию TCP/IP для всех адаптеров, введите:
ipconfig /all
Чтобы обновить конфигурацию IP-адреса, назначенного DHCP-сервером, только для адаптера Подключение по локальной сети, введите:
ipconfig /renew “Подключение по локальной сети”
Чтобы сбросить кэш сопоставления имен DNS при наличии неполадок в сопоставлении имен, введите:
ipconfig /flushdns
Чтобы вывести код класса DHCP для всех адаптеров с именами, начинающимися со слова Подключение, введите:
ipconfig /showclassid Подключение*
Чтобы задать код класса DHCP TEST для адаптера Подключение по локальной сети, введите:
ipconfig /setclassid “Подключение по локальной сети” TEST
Для вопросов, обсуждений, замечаний, предложений и т. п. можете использовать раздел форума этого сайта (требуется регистрация).
[spoiler title=”Источники”]
- https://celitel.info/klad/nhelp/helpbat.php?dcmd=ipconfig
- http://Cmd4Win.ru/administrirovanie-seti/diagnostika-sety/53-ipconfig
- https://comhub.ru/ipconfig/
- https://FB.ru/article/276862/komanda-ipconfig-all-i-drugie-esli-voznikli-problemyi-s-setyu
- https://ab57.ru/cmdlist/ipconfig.html
- https://qna.habr.com/q/615380
[/spoiler]
Задачи по копированию файлов из одного места в другое возникают у пользователей чаще всего, скопировать нужные объекты можно через менеджер файлов, в котором
Название утилиты cp — это сокращение от Copy, что означает копировать. Утилита позволяет полностью копировать файлы и директории.
СИНТАКСИС И ОПЦИИ
Общий синтаксис cp выглядит вот так:
$ cp опции файл-источник файл-приемник
Или:
$ cp опции файл-источник директория-приемник/
После выполнения команды файл-источник будет полностью перенесен в файл-приемник. Если в конце указан слэш, файл будет записан в заданную директорию с оригинальным именем.
Утилита имеет несколько интересных опций, которые могут сильно помочь при нестандартных задачах копирования, поэтому давайте их рассмотрим:
- —attributes-only — не копировать содержимое файла, а только флаги доступа и владельца;
- -f, —force — перезаписывать существующие файлы;
- -i, —interactive — спрашивать, нужно ли перезаписывать существующие файлы;
- -L — копировать несимволические ссылки, а то на что они указывают;
- -n — не перезаписывать существующие файлы;
- -P — не следовать символическим ссылкам;
- -r — копировать папку linux рекурсивно;
- -s — не выполнять копирование файлов в linux, а создавать символические ссылки;
- -u — скопировать файл, только если он был изменен;
- -x — не выходить за пределы этой файловой системы;
- -p — сохранять владельца, временные метки и флаги доступа при копировании;
- -t — считать файл-приемник директорией и копировать файл-источник в эту директорию.
Как скопировать файл из одной директории в другую с помощью Linux
Синтаксис для копирования файла с одного места на другое выглядит следующим образом:
cp /source/path/name /target/path/name
Например представьте, что вы имеете следующую структуру папок:
- home
- andreyex
- documents
- folder_one
- file_one
- file_two
- file_three
- folder_two
- file4
- folder_one
- documents
- andreyex
Если вы хотите скопировать file_one из текущего местоположения в /home/andreyex/documents/folder_one в /home/andreyex/documents/folder_two, то вы должны ввести следующую команду в командной строке:
cp /home/andreyex/documents/folder_one/file_one /home/andreyex/documents/folder_two/file_one
Ярлыки вы можете сделать здесь.
Главная часть может быть заменена на тильду (~), что объясняется в этой статье. Это изменяет команду на:
cp ~/documents/folder_one/file_one ~/documents/folder_two/file_one
Вы можете просто опустить имя файла для цели, если вы собираетесь использовать то же имя файла
cp ~/documents/folder_one/file_one ~/documents/folder_two
Если вы уже в целевой папке вы можете просто заменить путь к цели с полной остановкой.
cp ~/documents/folder_one/file_one
В качестве альтернативы, если вы уже в исходной папке вы можете просто указать имя файла в качестве источника следующим образом:
cp file_one ~/documents/folder_two
Как сделать резервную копию перед копированием файлов в Linux
В предыдущем разделе folder_one содержит файл с именем file_one и folder_two не делает. Представьте себе, что folder_two имеет файл с именем file_one и вы запустили следующую команду:
cp file_one ~/documents/folder_two
Приведенная выше команда перезапишет file_one, который в настоящее время находится в folder_two. Там нет подсказок, нет предупреждения и сообщения об ошибках, потому что, вы указали действительную команду.
Вы можете принять меры предосторожности при копировании файлов в Linux, для создания резервной копии файла, прежде чем он переписывает его. Просто используйте следующую команду:
cp -b /source/file /target/file
Например:
cp -b ~/documents/folder_one/file_one ~/documents/folder_two/file_one
В папке назначения теперь присутствует файл, который был скопирован и там будет также файл с тильдой (~) в конце, которая является резервной копией оригинального файла.
Вы можете изменить команду резервного копирования для работы в несколько ином виде, так что она создает пронумерованные резервные копии. Вы можете это сделать, если вы уже скопировали файлы и резервные копии уже существуют. Это является одной из форм контроля версий
cp –backup=numbered ~/documents/folder_one/file_one ~/documents/folder_two/file_one
Имя файла для резервных копий будет меняться: file_one.~1~, file_one.~2~ и т.д.
Как запросить перед перезаписью файлов при копировании в Linux
Если вы не хотите делать резервные копии файлов, лежащих в вашей файловой системе, но вы также хотите, убедиться, что команда копия не перезаписывает файл без разбора вы можете получить приглашение, чтобы показать вопросом, не хотите ли вы перезаписать.
Для этого используйте следующий синтаксис:
cp -i /source/file /target/file
Например:
cp -i ~/documents/folder_one/file_one ~/documents/folder_two/file_one
Сообщение будет выглядеть следующим образом : cp: overwrite ‘./file1’?
Для перезаписи файла нажмите Y на клавиатуре или для отмены нажмите N или CTRL и C одновременно.
Что происходит при копировании символьных ссылок в Linux
Символическая ссылка немного походит на ярлык на рабочем столе. Содержимое символической ссылки является адрес физического файла.
Представьте себе, вы имеете следующую структуру папок:
- home
- andreyex
- documents
- folder_one
- file_one
- folder_two
- file_one (symbolic links points to folder_one/file_one)
- folder3
- folder_one
- documents
- andreyex
Посмотрите на следующую команду:
cp ~/documents/folder_one/file_one ~/documents/folder3/file_one
Здесь не должно быть ничего нового, так как он копирует физический файл из одной папки в другую.
Что происходит, однако, если скопировать символическую ссылку из folder_two в folder3?
cp ~/documents/folder_two/file_one ~/documents/folder3/file_one
Файл, который копируется в folder3 не будет символической ссылкой. Это на самом деле файл, на который указывает символическая ссылка, так на самом деле вы получите тот же результат, как если бы путем копирования file_one из folder_one.
Кстати вы можете получить тот же результат с помощью следующей команды:
cp -H ~/documents/folder_two/file_one ~/documents/folder3/file_one
Просто чтобы быть уверенным, хотя есть еще один переключатель, который абсолютно заставляет копировать файл, а не символическую ссылку:
cp -L ~/documents/folder_two/file_one ~/documents/folder3/file_one
Если вы хотите скопировать символическую ссылку необходимо указать следующую команду:
cp -d ~/documents/folder_two/file_one ~/documents/folder3/file_one
Чтобы символическую ссылку скопировать, а не физический файл с помощью следующей команды:
cp -P ~/documents/folder_two/file_one ~documents/folder3/file_one
Как создавать жесткие ссылки с помощью команды ср
В чем разница между символической ссылкой и жесткой связи?
Символическая ссылка – это ярлык для физического файла. Он не содержит больше, чем адрес на физический файл.
Жесткая связь, на основную ссылку на тот же физический файл, но с другим именем. Это почти как прозвище. Это отличный способ организации файлов, не занимая дальнейшего дискового пространства.
Это руководство расскажет вам все, что вам нужно знать о жестких ссылках .
Вы можете создать жесткую ссылку с помощью команды ср.
cp -l ~/source/file ~/target/file
В качестве примера того, почему вы могли бы использовать жесткую ссылку учесть, что у вас есть папка под названием видео и в этой папке видео у вас есть действительно большой видео файл с именем honeymoon_video.mp4. Теперь представьте, что вы также хотите, чтобы видео быть известным как barbados_video.mp4, потому что он также имеет кадры Барбадоса.
Вы можете просто скопировать файл и дать ему новое имя, но это означает, что вы увеличиваете в два раза больше дискового пространства для того, что, по существу, то же самое видео.
Вы могли бы вместо того, чтобы создать символическую ссылку с именем barbados_video.mp4, которая указывает на файл honeymoon_video.mp4. Это будет работать хорошо, но если кто-то удалил honeymoon_video.mp4 вы остались бы со ссылкой и ничего другого и связь по-прежнему занимает дисковое пространство.
Единственное отличие состоит в том, что они содержат разное количество индексных дескрипторов. (уникальные идентификаторы). Удаление файла honeymoon_video.mp4 не удаляет файл, но только снижает количество для этого файла на 1. Файл будет удален только если все ссылки на этот файл будут удалены.
Чтобы создать ссылку вы могли бы сделать что-то вроде этого:
cp -l /videos/honeymoon_video.mp4 /videos/barbados_video.mp4
Как создать символические ссылки с помощью команды ср
Если вы хотите создать символическую ссылку вместо жесткой ссылки вы можете использовать следующую команду:
cp -s /source/file /target/file
Опять же я бы лично вообще используют команду ln -s, но вместо этого работает хорошо.
Как скопировать файлы, если они новее
Если вы хотите скопировать файлы в папку, но только с перезаписью файлов назначения, если исходный файл новее, то вы можете использовать следующую команду:
cp -u /source/file /target/file
Стоит отметить, что если файл не существует на целевой стороне, то копия будет иметь место.
2. Как скопировать несколько файлов
Если вы хотите скопировать несколько файлов одновременно в новое место, вы можете сделать это следующим образом:
cp file1 file2 file3 fileN target_directory
Эта команда скопирует все указанные файлы в целевой каталог. Если в целевом каталоге есть файл(ы), соответствующий имени исходного файла (ов), он будет перезаписан.
3. Несколько способов обработки перезаписи при копировании файлов.
Вероятно, вы не всегда хотите, чтобы ваши существующие файлы целей были перезаписаны, и это абсолютно логично.
Чтобы предотвратить перезапись существующих файлов, вы можете использовать опцию -n. Таким образом, cp выиграл ‘перезаписать существующие файлы.
cp -n source_file target_directory
Но, возможно, вы хотите перезаписать некоторые файлы. Вы можете использовать интерактивную опцию -i, и она спросит вас, хотите ли вы перезаписать существующие файлы.
cp -i source_file target_directory cp: overwrite ‘target_directory/source_file’?
Вы можете ввести y для перезаписи существующего файла или n, чтобы не переписать его.
Существует также возможность создания автоматических резервных копий. Если вы используете опцию -b с командой cp, она перезапишет существующие файлы, но до этого она создаст резервную копию перезаписанных файлов.
cp -b file.txt target_dir / file.txt ls target_dir file.txt file.txt ~
Резервная копия файла заканчивается на ~.
Вы также можете использовать параметр обновления -u, когда имеете дело с перезаписью. С параметром -u исходные файлы будут скопированы только в новое место, если исходный файл более новый, чем существующий, или если он не существует в целевом каталоге.
Подвести итоги:
- -i: Подтвердить перед перезаписью
- -n: Нет перезаписи
- -b: Перезапись с резервным копированием
- -u: Перезаписать, если целевой файл устарел или не существует
Как скопировать папки
Копирование папок такое же, как копирование файлов.
Например представьте, что вы имеете следующую структуру папок:
- home
- andreyex
- documents
- folder_one
- file_one
- file_two
- folder_two
- folder_one
- documents
- andreyex
Представьте, что вы хотите переместить папку folder_one в папку folder_two следующим образом:
- home
- andreyex
- documents
- folder_two
- folder_one
- file_one
- file_two
- folder_one
- folder_two
- documents
- andreyex
Вы можете использовать следующую команду:
cp -r /home/andreyex/documents/folder_one /home/andreyex/documents/folder_two
Кроме того, можно использовать следующую команду:
cp -R /home/andreyex/documents/folder_one /home/andreyex/documents/folder_two
Это копирует содержимое folder_one, а также любые суб-каталоги и файлы в пределах подкаталогов.
Копирование файлов и каталогов
В Bash для копирования файлов используется команда cp (от “copy”), которой обычно передаются два аргумента:
-
адрес с именем исходного файла,
-
новый адрес с именем или просто адрес каталога, куда помещается копия.
Адрес может быть как абсолютным, так относительным. Если операции с файлами выполняются в текущем каталоге, то указывать адрес смысла нет. Пишется только имя исходного файла и имя копии. Поскольку файлов с одинаковыми именами и адресами быть не может, имя копии должно отличаться от имени исходного файла.
Рассмотрим примеры.
cp readme readme2
В данном случае создается копия файла readme, которая остается в той же директории под именем readme2.
cp readme Desktop/
В папку Desktop копируется файл readme. Здесь текущим является родительский Desktop’у каталог. Имена копии и файла оригинала будут совпадать, а вот полные адреса – нет.
cp/home/irina/tux.png /mnt/D/pingvin.png
Здесь копируется файл из одного каталога в другой, используются абсолютные адреса, имя копии изменяется.
Если надо скопировать несколько разных файлов в один и тот же каталог, то после команды cd сначала перечисляются все файлы-оригиналы, а последним указывается каталог, куда помещаются копии. Понятно, что при таком групповом действии имена файлов изменить нельзя.
Чтобы скопировать каталог со всем его содержимым, необходимо использовать ключ -r команды cp:
cp-r ./letters ./oldletters
Перемещение и переименование
В Bash-оболочке Linux для перемещения и переименования используется одна и та же команда – mv (от “move” – перемещать). Переименование можно рассматривать как частный случай перемещения, ведь по-сути изменяется полный адрес файла, что равносильно перемещению, даже если файл остается в том же каталоге.
Также как в случае cp, для mv необходимо указать пару аргументов. Выбор между перемещением и переименованием зависит от того, что это за аргументы. При перемещении файл меняет свой адрес, следовательно, если в первом и втором аргументах указаны разные адреса, то произойдет перемещение. Если адреса одинаковые, а различаются только имена, происходит переименование. Кроме того, перемещение может быть совмещено с переименованием.
В случае перемещения без переименования во втором аргументе указывается только каталог места назначения.
mv document.txt Work
mv document.txt Work/doc23.txt
Здесь в первом случае файл document.txt перемещается в каталог Work. Во-втором случае одновременно происходит перемещение файла и его переименование: файл document.txt перемещается в директорию Work и получает новое имя doc23.txt.
При использовании команды mv для переименования в качестве второго аргумента указывается новое имя:
mv order.txt orderNew.txt
mv Work/list.odt Work/names.odt
Каталоги перемещаются и переименовываются по тому же принципу, что и файлы. Групповое перемещение файлов работает также, как с командой cp.
Создание файлов и каталогов
Новые директории создаются командой mkdir. Например, чтобы создать каталог Work в текущей директории необходимо выполнить следующую команду:
mkdir Work
или
mkdir ./Work
Существует множество способов создания файлов, обычно они создаются какой-либо программой. Если все же возникает необходимость создать пустой файл, сделать это можно с помощью программы touch. В качестве аргумента ей передается имя создаваемого файла. Еще один способ – перенаправление вывода какой-либо команды в файл. Пример:
cal> ./Work/January
Здесь программа cal выводит календарь на текущий месяц, а поскольку стоит знак перенаправления вывода, то вывод команды будет записан в файл January, находящийся в папке Work.
Удаление файлов и каталогов
Для удаления файлов используется команда rm. Например:
rm ghost.png
Командой rmdir можно удалить пустой каталог. Если же каталог не пуст, следует использовать команду rm с ключом -r:
Вопросы
У вас в каталоге есть файлы с разными расширениями. Вам надо группу файлов, имеющих одно и тоже расширение, скопировать в другой каталог. Как это сделать одной командой?
Какой ключ надо использовать, чтобы при перемещении случайно не перезаписать уже имеющийся в каталоге файл с таким именем?
Курс с ответами к заданиям и дополнительными уроками:
android-приложение, pdf-версия.
- Добавить комментарий
6. Как скопировать несколько каталогов
Вы также можете скопировать несколько каталогов одновременно с помощью команды cp в Linux.
Просто используйте его так же, как и для одного каталога.
cp -r source_dir1 source_dir2 source_dir3 target_dir
Это всегда последний аргумент в команде, который принимается как целевой каталог.
Если вы хотите скопировать только содержимое нескольких каталогов одновременно, вы также можете это сделать:
cp -r source_dir1 /. source_dir2 /. source_dir3 /. target_dir
Фактически, вы можете смешивать каталоги, их содержимое и файлы в целом.
cp -r source_dir1 source_dir2 /. source_file target_dirСоветВы можете использовать подробный режим с опцией -v, чтобы посмотреть, какие файлы копируются.
7. Как сохранить атрибуты при копировании
Когда вы копируете файл в новое место, его атрибуты, такие как права доступа к файлам и временные метки файла, изменяются.
Если вы хотите сохранить атрибуты исходного файла, вы можете скопировать файлы с помощью опции -p.
Давайте посмотрим на пример.
ls -l /etc/services -rw-r – r– 1 root root 19183 12 Jan 2018 /etc/services
Если я попытаюсь скопировать этот файл, его атрибуты будут изменены:
ls -l /etc/services -rw-r–r– 1 root root 19183 Jan 12 2018 /etc/services
Но если мы используем параметр p, скопированный файл сохранит режим, право собственности и отметку времени.
cp /etc/services . ls -l services -rwxrwxrwx 1 andreyex andreyex 19183 Nov 27 23:16 services
Как вы можете видеть, вы сохранили режим доступа и временную метку исходного файла с опцией -p.
Но подождите! Разве это не должно было сохранить право собственности на исходные файлы? Но вот владелец (root) исходного файла был изменен на andreyex,
Это связано с тем, что только root имеет разрешение на изменение права собственности на файл, принадлежащий root. Если вы используете опцию -p с файлом, не принадлежащим root, он сохранит право собственности. Или вы можете запустить команду с помощью sudo, это сохранит право собственности на файл, принадлежащий root.
Вы также можете указать атрибуты, которые хотите сохранить. Но тогда вам придется использовать опцию -preserve.
cp –preserve=timestamp /etc/services . ls -l services -rw-r–r– 1 andreyex andreyex 19183 Jan 12 2018 services
Как видно из вышеприведенного вывода, команда сохранила только временную метку исходного файла.
Примеры, показанные здесь, являются наиболее распространенными, которые вы будете использовать в качестве пользователя Linux, сисадмина или разработчика программного обеспечения.
Если вам понравилась эта статья, пожалуйста, поделитесь этой статьей о социальных сетях и различных форумах.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Перекрёстные ссылки книги для Копирование, перемещение, создание и удаление файлов и каталогов
- Команда ls – просмотр каталога
- Вверх
- Жесткие и символьные ссылки
Linux
ПРИМЕРЫ КОПИРОВАНИЯ ФАЙЛОВ В LINUX
Теперь, когда вы знаете основные опции можно рассмотреть примеры.Например, мы хотим скопировать некую картинку из домашней папки в подкаталог pictures:
cp ~/pic.png ~/pictures/
Или можем явно указать имя новой картинки:
cp ~/pic.png ~/pictures/wallpaper.png
Копирование папок осуществляется с помощью ключа -r:
cp -R ~/папка ~/Документы/
После выполнения этой команды копирования ~/папка будет скопирована в папку ~/Документы. Главное, не забывайте поставить слэш в конце выражения или использовать опцию -t. Иначе папка ~/документы будет перезаписана.
По умолчанию команда cp linux перезаписывает существующие файлы или папки, но можно заставить утилиту спрашивать нужно ли перезаписывать каждый файл если вы неуверены в правильности составления команды:
cp -i ~/test ~/Documents/test
Есть и противоположная опция -n, означающая никогда не перезаписывать существующие файлы.
Опция -u позволяет копировать файл, только если уже существующий более старой версии, чем новый:
cp -u ~/test ~/Documents/test
cp также поддерживает специальные символы замены * и ?. Например, следующая команда скопирует все файлы, начинающиеся на test:
cp ~/test* ~/Документы/
Если нужно применить более сложные регулярные выражения, придется комбинировать утилиту cp с find или egrep.
В случае если важно сохранить права доступа к файлу и его владельца нужно использовать опцию -p:
cp -p ~/test* ~/Документы/
Для упрощения использования команды можно использовать синтаксис фигурных скобок. Например, чтобы создать резервную копию файла выполните:
$ cp test.conf{,.bak}
Будет создан файл с таким же именем и расширением .bak
По умолчанию в cp не отображается прогресс копирования файла, что очень неудобно при работе с большими файлами, но его можно легко посмотреть с помощью утилиты cv.
Скопировать файл в другую директорию
Скопируем файл myfile.txt в директорию mydir:
cp myfile.txt mydir
Скопируем файл myfile1.txt в новый файл myfile2.txt
cp myfile1.txt myfile2.txt
Скопировать несколько файлов
Для копирования нескольких файлов нужно перечислить их через пробел. Послений параметр определяет результирующую директорию, в которую будут скопированы файлы.
cp /etc/config/myfile1.txt /home/pupkin/myfile1.txt /mnt/some/myfile3.txt mydir
Скопировать файл с подтверждением
Выведем запрос на подтверждение перезаписи результирующего файла, если он существует:
cp -i myfile1.txt myfile2.txt cp: переписать ‘myfile2.txt’? y
Показать информацию о копируемых файлах
При использовании опции -v выводится информация о том, какие файлы и куда копируются.
cp -v myfile1.txt myfile2.txt mydir/ ‘myfile1.txt’ -> ‘mydir/myfile1.txt’ ‘myfile2.txt’ -> ‘mydir/myfile2.txt’
Скопировать директорию
Чтобы скопировать директорию и все ее содержимое нужно использовать опцию -r
cp -r /home/pupkin/mydir /mnt/usbflash
Скопировать только если файлы новее
Скопируем файлы вида myfile*.txt (например, это могут быть файлы myfile1.txtmyfile10.txtmyfile2.txt) в директорию mydir, но если результирующий файл существует, то копирование выполняется только в том случае, если исходный файл новее.
cp -u myfile*.txt mydir
Не перезаписывать существующие файлы
Чтобы существующие файлы не перезаписывались, используется опция -n
cp -n /home/pupkin/mydir /mnt/usbflash
Скопировать только атрибуты
Скопируем только атрибуты файла. Содержимое файла не копируется.
cp –attributes-only myfile1.txt myfile2.txt
Создать резервную копию для результирующих файлов, если они существуют
Скопируем файл myfile1.txt в файл myfile2.txt. Если файл myfile2.txt существует, то будет создана его резервная копия.
cp -b myfile1.txt myfile2.txt
Принудительно перезаписывать существующие файлы назначения
Если файл назначения существует и не может быть открыт и удален, то можно использовать опцию -f, чтобы принудительно перезаписать такой файл:
cp -f myfile1.txt myfile2.txt
[spoiler title=”Источники”]
- https://www.lcnt.ru/?p=213
- https://andreyex.ru/linux/komandy-linux-i-komandy-shell/kak-skopirovat-fajly-s-pomoshhyu-komandy-sr-v-linux/
- https://andreyex.ru/operacionnaya-sistema-linux/komanda-cp-v-linux-7-prakticheskih-primerov/
- https://younglinux.info/bash/cpmv.php
- https://pingvinus.ru/note/cmd-cp
[/spoiler]
Добавление пользователя в группу
Синтаксис:
useradd <имя пользователя=””> [опции]
* опции не являются обязательными при создании пользователя.
Пример:
useradd dmosk
* в данном примере создается учетная запись dmosk.
Для учетной записи стоит сразу создать пароль:
passwd dmosk
* после ввода, система попросит ввести пароль дважды.
Ключи (опции)
| -b | Задает базовый каталог для домашнего каталога useradd dmosk -b /var/home |
| -c | Создает комментарий для описания учетной записи useradd dmosk -c “Пользователя для управления системой” |
| -d | Полный путь к домашнему каталогу пользователя useradd dmosk -d /home/newuser |
| -D | Позволяет показать или изменить настройки по умолчанию, которые будут применяться при последующем создании пользователей useradd dmosk -Ds /bin/bash |
| -e | Дата, после которой учетная запись устареет. useradd dmosk -e 2017-12-31 |
| -f | Число дней, после которого учетная запись с устаревшим паролем будет заблокирована useradd dmosk -f 0 |
| -g | Задает основную группу useradd dmosk -g altternativegroup |
| -G | Задает дополнительные группы useradd dmosk -G wheel |
| -k | Путь к источнику скелета (файлы с шаблонами для нового пользователя) useradd dmosk -k /var/skel |
| -m | При создании пользователя создать домашний каталог useradd dmosk -m |
| -M | Не создавать домашний каталог useradd dmosk -M |
| -N | Не создавать основную группу с таким же именем, как у пользователя useradd dmosk -N |
| -o | Разрешает создание учетной записи с повторяющимся UID useradd dmosk -u 15 -o |
| -p | Задает пароль useradd dmosk -p pass |
| -r | Системная учетная запись (без домашнего каталога и с идентификаторами в диапазоне SYS_UID_MIN – SYS_UID_MAX из файла /etc/login.defs) useradd dmosk -r |
| -R | Каталог, в который выполняется chroot useradd dmosk -R /var/chroot/home |
| -s | Путь до оболочки командной строки useradd dmosk -s /bin/csh |
| -u | Задает UID useradd dmosk -u 666 |
| -U | Имя группы будет таким же, как у пользователя useradd dmosk -U |
Актуальный список ключей можно получить командой useradd -h.
Редактирование
Синтаксис:
usermod <имя пользователя=””> [опции]
Пример:
usermod dmosk -G wheel
* эта команда добавит пользователя dmosk в группу wheel
Удаление
Синтаксис:
userdel <имя пользователя=””> [опции]
Пример:
userdel dmosk
Блокировка
Можно заблокировать пользователя, не удаляя его из системы:
usermod -L <имя пользователя=””>
Пример:
usermod -L dmosk
Чтобы разблокировать пользователя, вводим:
usermod -U <имя пользователя=””>
Работа с группами
Добавление:
groupadd <группа> [опции]
Редактирование:
groupmod <группа> [опции]
Удаление:
groupdel <группа> [опции]
Как узнать, в какие группы входит пользователь
Чтобы просмотреть группы, которым назначена текущая учетная запись пользователя, выполните команду groups. Вы увидите список групп.
groups
Чтобы просмотреть числовые идентификаторы, связанные с каждой группой, выполните команду id:
id
Для просмотра групп в которые входит другая учетная запись пользователя, запустите команду groups и укажите имя учетной записи пользователя.
groups user_name
Вы также можете просмотреть числовые идентификаторы, связанные с каждой группой, запустив команду id и указав имя пользователя.
id user_name
Первой группой в списке групп или группой, показанной после «gid=» в списке идентификаторов, является первичная группа учетной записи пользователя. Другие группы – это вторичные группы. Итак, на скриншоте ниже основной группой учетной записи пользователя является mial.
Добавление существующего пользователя в существующую группу
Используйте usermod с опциями -a (append — добавить) и -G — group:
# useradd testuser4 # groups testuser4 testuser4 : testuser4
Создаем группу:
# groupadd testgr2
Добавляем в нее пользователя:
# usermod -a -G testgr2 testuser4
Проверяем:
# groups testuser4 testuser4 : testuser4 testgr2
Что бы изменить основную группу существующего пользователя — выполните:
# usermod -g testgr2 testuser4 # groups testuser4 testuser4 : testgr2
Добавление нового пользователя в дополнительную группу
Создадим группу:
# groupadd testgr1
С помощью useradd и параметра -G добавляем пользователя, которому добавляем новую группу, как дополнительную:
# useradd -G testgr1 testuser1
Проверяем:
# groups testuser1 testuser1 : testuser1 testgr1 # id testuser1 uid=1003(testuser1) gid=1004(testuser1) groups=1004(testuser1),1003(testgr1)
Что бы изменить основную группу при создании пользователя — используйте useradd с опцией -g:
# useradd -g sudo testuser2
Проверяем:
# groups testuser2 testuser2 : sudo
Можно комбинировать опции:
# useradd -g sudo -G testgr1 testuser3 # groups testuser3 testuser3 : sudo testgr1
Добавление пользователя в несколько групп
Вы можете добавить пользователя сразу в несколько вторичных групп, разделив список запятой:
usermod -a -G group1,group2,group3 user_name
Например, чтобы добавить пользователя с именем mial в группы ftp, sudo и example, вы должны запустить:
usermod -a -G ftp,sudo,example mial
Вы можете указать столько групп, сколько хотите – просто разделите их все запятой.
Удаление пользователя из группы
Удалим пользователя pingvinus из группы editorsgroup.
sudo gpasswd -d pingvinus editorsgroup
Чтобы изменения вступили в силу, нужно выйти и войти в систему.
Как просмотреть все группы в системе
Если вы хотите просмотреть список всех групп в вашей системе, вы можете использовать команду getent:
getent group
Этот вывод также покажет вам, какие учетные записи пользователей являются членами групп. Итак, на скриншоте ниже мы видим, что учетные записи пользователей syslog и mial являются членами группы adm.
Это должно охватывать все, что вам нужно знать о добавлении пользователей в группы в командной строке Linux.
Список всех групп
Выведем список всех групп в текущей системе Linux.
cut -d: -f1 /etc/group | sort
Список всех пользователей
Выведем список всех пользователей в текущей системе Linux.
cut -d: -f1 /etc/passwd
Обычно список довольно большой, так как содержит всех пользователей, включая пользователей, которые используются для запуска некоторых программ и служб.
root daemon bin sys sync games … nobody pingvinus
Можно ограничить вывод только теми пользователями, для которых домашняя директория расположена в директории /home.
cat /etc/passwd | grep ‘/home’ | cut -d: -f1
Результат значительно короче.
syslog ntp pingvinus Войдите, чтобы ставить лайкимне нравитсяЛайков: +2 войдите, чтобы ставить лайки
Пример добавления пользователя в группу в ОС Linux :
1. Первичная группа
- По умолчанию основная группа:
По умолчанию, когда пользователь создан, он принадлежит к той же группе.
[root@destroyer ~]# useradd andreyex_user
Подтвердить
[root@destroyer ~]# id andreyex_user uid=508(andreyex_user) gid=508(andreyex_user) groups=508(andreyex_user) [root@destroyer ~]#
В приведенном выше выводе, по умолчанию пользователь “andreyex_user” принадлежит к основной группе с тем же именем.
- ОС Linux добавить пользователя в группу при создании пользователя.
Допустим, вы хотите указать группу первичной не по умолчанию, при создании пользователя. Например: Вы хотите создать пользователя masterkey и вы хотите быть частью группы sales в качестве основной группы.
[root@destroyer ~]# useradd masterkey -g sales
Перепроверьте
[root@destroyer ~]# id masterkey uid=510(masterkey) gid=509(sales) groups=509(sales) [root@destroyer ~]#
Убедитесь, что указанная группа должна существовать в системе, иначе вы увидете ниже сообщений от системы.
useradd: group ‘sales’ does not exist
В случае ошибки выше, создать группу первой при помощи команды groupadd перед командой useradd.
[root@destroyer ~]# groupadd sales
- ОС Linux добавить пользователя в группу для существующего пользователя.
В случае, если вы уже создали пользователя и в дальнейшем вы хотите изменить первичную группу пользователя. То используйте команду usermod. Например, вы хотите изменить основную группу sales на accounts для пользователя masterkey. Используйте следующую команду для этого.
[root@destroyer ~]# usermod -g accounts masterkey
Перепроверьте:
[root@destroyer ~]# id masterkey uid=510(masterkey) gid=510(accounts) groups=510(accounts) [root@destroyer ~]#
2. Вторичная группа (дополнительная группа)
- Добавить пользователя в группу при создании пользователя в ОС Linux.
Можно указать вторичную группу при создании пользователя непосредственно с помощью опции “-g”.
[root@destroyer ~]# useradd -G sales delphi
Перепроверьте с помощью следующей команды:
[root@destroyer ~]# id delphi uid=511(delphi) gid=511(delphi) groups=511(delphi),509(sales) [root@destroyer ~]#
Приведенный выше вывод подтверждает, что sales является вторичной группой в то время как основная группа delphi.
- Linux добавить пользователя в группу при создании пользователя с несколькими вторичными группами.
Можно указать несколько вторичных групп с помощью запятой при создании самого пользователя в команде useradd.
[root@destroyer ~]# useradd -G sales,accounts,marketing bar
Подтвердите с помощью следующей команды:
[root@destroyer ~]# id bar uid=512(bar) gid=513(bar) groups=513(bar),509(sales),510(accounts),512(marketing) [root@destroyer ~]#
Кроме того, есть еще один способ подтверждения:
[root@destroyer ~]# cat /etc/group|grep bar sales:x:509:delphi,bar accounts:x:510:bar marketing:x:512:bar bar:x:513: [root@destroyer ~]#
- Добавить пользователя в группу для существующего пользователя в ОС Linux.
Можно также изменить вторичную группу для существующих пользователей, использующих опцию “-g” для команды usermod. Допустим, вы хотите изменить вторичную группу пользователя delphi на sales.
[root@destroyer ~]# usermod -G accounts delphi [root@destroyer ~]# id delphi uid=511(delphi) gid=511(delphi) groups=511(delphi),510(accounts) [root@destroyer ~]#
В случае, если вы хотите добавить еще одну вторичную группу вместо того, чтобы изменить ее, как описано выше, то вы должны использовать “-a” (добавить) вариант.
[root@destroyer ~]# usermod -a -G marketing delphi [root@destroyer ~]# id delphi uid=511(delphi) gid=511(delphi) groups=511(delphi),510(accounts),512(marketing) [root@destroyer ~]#
- Добавить пользователя в группу для существующего пользователя с несколькими вторичными группами в ОС Linux.
Можно указать несколько вторичных групп, используя запятую для существующего пользователя с помощью команды usermod.
[root@destroyer ~]# usermod -a -G sales,hr delphi [root@destroyer ~]# id delphi uid=511(delphi) gid=511(delphi) groups=511(delphi),509(sales),510(accounts),512(marketing),514(hr) [root@destroyer ~]#
В случае, если вы не указали опцию -a, то текущие вторичные группы будут сброшены и заменены указанными именами групп.
[root@destroyer ~]# id delphi uid=511(delphi) gid=511(delphi) groups=511(delphi),509(sales),510(accounts),512(marketing),514(hr) [root@destroyer ~]# usermod -G sales,hr delphi [root@destroyer ~]# id delphi uid=511(delphi) gid=511(delphi) groups=511(delphi),509(sales),514(hr) [root@destroyer ~]#
ПРИМЕЧАНИЕ: Поэтому убедитесь, что вы используете опцию -a если вы хотите добавить к существующей группе вместо изменения существующих вторичных групп.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Просмотр пользователей
Учётные записи в системах Linux – это универсальные компоненты. Которые представляют собой как реальных пользователей, так и виртуальных. Последние предназначены для функционирования системных сервисов Linux, являющихся неотъемлемыми составляющими системы. Или же это могут быть служебные, дополнительно добавленные в систему сервисы, предназначенные для расширения её функционала.
Независимо от того, каким пользователям (реальным или виртуальным) принадлежат учётные записи, вся основная информация о них хранится в файле /etc/passwd. Каждая учётная запись в этом файле представлена одной строкой, разделённой на поля символами двоеточия. Например, просмотреть этот файл можно командой less:
$ less /etc/passwd root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync . . . games:x:5:60:games:/usr/games:/bin/sh
Имя пользователя (учётной записи) содержится в первом поле. Поэтому, чтобы упростить восприятие вывода, когда нужно получить например, только список имён пользователей, можно использовать соответствующие инструменты, например команду cut (или аналогичные sed или awk):
$ cut -d : -f 1 /etc/passwd root daemon bin sys sync . . . games
Конечно, для того, чтобы различать принадлежность некоторых учётных записей к реальным или виртуальным пользователям, необходим некоторый опыт администрирования Linux или UNIX. Например, в приведённом выводе пользователь root – это суперпользователь. А пользователи daemon, bin, sys и sync – учётные записи, от имени которых работают системные сервисы.
Вообще, изначально по устоявшимся соглашениям, по-умолчанию в системах Linux принято придерживаться определённых правил для наименования учётных записей, обслуживающих системные или служебные процессы и/или сервисы. Так, например, для работы веб-сервера Apache обычно используется учётная запись www-data. Это очень важно для обеспечения и контроля безопасности системы. Таким образом легко разделять привилегии по функциональному признаку для пользователей. Такие же соглашения действуют и для наименования системных или служебных процессов. Тот же Apache обычно представляется процессами httpd или apache.
Просмотр пользовательских групп
Аналогично учётным записям, информация о всех группах пользователей хранится в одном файле /etc/group:
$ less /etc/group root:x:0: daemon:x:1: bin:x:2: sys:x:3: adm:x:4: tty:x:5: disk:x:6:
Первое, на что нужно обратить внимание, это то, что имена многих групп идентичны именам некоторых имеющихся в системе пользователей. И это не просто совпадение. Дело в том, что таким образом реализуется механизм частных пользовательских групп (UPG) в системе. Он заключается в том, что для пользователя создаётся одноимённая закрытая группа. Которая назначается этому пользователю как основная. Этот механизм позволяет использовать в системе общие каталоги (и вообще ресурсы) без вреда для безопасности. Для этого существует такой полезный инструмент в системе прав доступа как бит setgid. Смысл этого бита в том, что в каталоге, для которого он установлен, можно создавать файлы, принадлежащие тому же владельцу, что и сам каталог с битом setgid.
Просмотр активных пользователей
Информацию о том, какие пользователи активны в данный момент времени в системе позволяют команды «w» и «who». Первая по-умолчанию выводит более подробные данные о пользователях, например:
$ w 11:45:24 up 6:34, 2 users, load average: 0.33, 0.10, 0.07 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 rrcs-72-43-115-1 19:15 38.00s 0.33s 0.33s -bash demoer pts/1 rrcs-72-43-115-1 19:37 0.00s 0.47s 0.00s w
В первой строке указаны время старта системы, продолжительность её работы, количество активных пользователей, а также данные о средней загруженности системы за прошедшие 1, 5 и 15 минут. Далее следует список активных пользователей и используемых ими командах/процессах. Более подробно о работе команды «w» можно узнать на страницах интерактивного руководства, используя команду man w.
Способы проверки списка пользователей
Люди, которые постоянно используют данную систему, могут это сделать с помощью целого ряда методов, а для новичков это весьма проблематично. Поэтому инструкция, которая будет расписана ниже, поможет неопытному пользователю справиться с поставленной задачей. Сделать это можно при помощи встроенного Терминала или же ряда программ с графическим интерфейсом.
Способ 1: Программы
В Linux/Ubuntu управлять зарегистрированными в системе пользователями можно при помощи параметров, работа которых обеспечивается специальной программой.
К сожалению, для графической оболочки рабочего стола Gnome и Unity программы разные. Однако они обе способны предоставить набор опций и инструментов для проверки и редактирования групп пользователей в дистрибутивах Linux.
«Учетные записи» в Gnome
Сначала следует открыть параметры системы и выбрать раздел под названием «Учетные записи». Обратите внимание на то, что системные пользователи здесь уже отображаться не будут. Список зарегистрированных пользователей находится в панели слева, правее есть раздел настроек и изменения данных каждого из них.
Программа «Пользователи и группы» в дистрибутиве с графической оболочкой Gnome установлена всегда по умолчанию, однако если вы ее не находите в системе, то можно провести автоматическую загрузку и установку с помощью выполнения команды в «Терминале»:
sudo apt-get install unity-control-center
KUser в KDE
Для платформы KDE существует одна утилита, пользоваться которой даже гораздо удобнее. Она называется KUser.
В интерфейсе программы отображаются все зарегистрированные юзеры, при необходимости можно увидеть и системных. Эта программа может изменять пароли пользователей, переносить их из одной группы в другую, удалять их в случае необходимости и тому подобное.
Как и в случае с Gnome, в KDE программа KUser установлена по умолчанию, но ее можно удалить. Чтобы произвести установку приложения, выполните команду в «Терминале»:
sudo apt-get install kuser
Способ 2: Терминал
Данный способ является универсальным для большинства дистрибутивов, разработанных на основе операционной системы Linux. Дело в том, что она имеет в своем программном обеспечении специальный файл, где располагается информация относительно каждого пользователя. Такой документ находится по адресу:
/etc/passwd
Все записи в нем представлены в следующем виде:
- имя каждого из юзеров;
- уникальный идентификационный номер;
- пароль ИД;
- ИД группы;
- название группы;
- оболочка домашнего каталога;
- номер домашнего каталога.
Читайте также: Часто используемые команды в «Терминале» Linux
Для повышения уровня безопасности в документе сохраняется пароль каждого из пользователей, но он не отображается. В других модификациях этой операционной системы пароли и вовсе хранятся в отдельных документах.
Полный список пользователей
Вызвать переадресацию в файл с сохраненными данными юзеров можно с помощью «Терминала», введя в него следующую команду:
cat /etc/passwd
Пример:
Если ИД у пользователя имеет меньше четырех цифр, то это системные данные, в которые вносить изменения крайне нежелательно. Дело в том, что они создаются самой ОС в процессе установки для обеспечения наиболее безопасной работы большинства сервисов.
Имена в списке пользователей
Стоит отметить, что в данном файле может быть довольно много данных, которые вам не интересны. Если имеется необходимость узнать только имена и основные сведения, касающиеся пользователей, есть возможность отфильтровать приведенные в документе данные при помощи введения следующей команды:
sed ‘s/:.*//’ /etc/passwd
Пример:
Просмотр активных пользователей
В ОС, работающей на базе Linux, можно посмотреть не только пользователей, которые были зарегистрированы, но и тех, кто в настоящее время активны в ОС, заодно просмотрев то, какие процессы они используют. Для такой операции применяется специальная утилита, вызываемая командой:
w
Пример:
Данная утилита будет выдавать все команды, которые выполняются пользователями. Если он одновременно задействует две и более команд, то они также найдут отображение в выдаваемом списке.
Истории посещений
При необходимости, есть возможность проанализировать активность пользователей: узнать дату последнего их входа в систему. Ей можно воспользоваться на базе лога /var/wtmp. Вызывается он вводом в командной строке следующей команды:
last -a
Пример:
Дата последней активности
Кроме того, в операционной системе Linux можно узнать, когда каждый из зарегистрированных пользователей был последний раз активен – это делает команда lastlog, выполняемая при помощи одноименного запроса:
lastlog
Пример:
В этом логе также отображается информация о пользователях, которые никогда не были активными.
Заключение
Как можно заметить, в «Терминале» представлены более детальные сведения, касающиеся каждого пользователя. В нем есть возможность узнать кто и когда входил в систему, определить, пользовались ли ей посторонние люди, и многое другое. Однако для рядового пользователя будет лучшим вариантом воспользоваться программой с графическим интерфейсом, чтобы не вникать в суть команд Linux.
Список пользователей просмотреть достаточно легко, главное понять, на основе чего работает данная функция операционной системы и для каких целей она используется.
Кого считать пользователем системы
Любого человека, который использует компьютер и средства ОС, можно считать пользователем. Ему назначается определенное уникальное имя (иное не допускается), которое может включать латинские буквы, арабские числа, символы «_» и «.». Любой пользователь имеет отдельный каталог. В него он попадает после авторизации. Там содержится ряд персональных файлов и папок. Обычно пользовательские каталоги находятся в директории /home. Администратор ОС может настраивать учетные записи для разграничения доступа к файлам, каталогам и периферийным устройствам.
Как вывести в Linux список пользователей
Каким же образом решить задачу вывода существующих учетных записей? В системе Linux список пользователей выводится командой (допускается использовать различные параметры):
# cat /etc/passwd
Почему это работает? Дело в том, что все необходимые данные содержит файл /etc/passwd. К нему непосредственно и обращается интересующийся учетными записями человек. После задания команды выводится перечень аккаунтов Linux. Список пользователей в системе может быть довольно обширным. Данные об имеющихся аккаунтах выводятся построчно.
Как это может выглядеть на экране? Каждая строка будет являть собой примерно следующее:
root:xD634Jhs5jH32:0:0:root:/root:/bin/bashnewuser:Xv7Q641g89oKK:1000:100:Ivan Fedorov:/home/newuser:/bin/bash
Расшифровка:
account (пользовательское имя):password (пароль, хранящийся в зашифрованном виде):UID (уникальный ID):GID (ID главной группы юзера):GECOS (дополнительные сведения):directory (пользовательский каталог):shell (используемый интерпретатор команд).
Как просмотреть активные аккаунты
Вышеприведенная команда позволяет вывести перечень всех юзеров, зарегистрированных в системе. Но что делать, если нужно вывести в Linux список пользователей, которые активны прямо сейчас? Для этого можно воспользоваться следующей командой:
# who
Напечатав данную инструкцию, человек сможет просмотреть перечень активных в системе аккаунтов. В данном случае в Linux список пользователейтакже выполняется построчно. Располагая администраторскими полномочиями, можно производить с активными учетными записями различные манипуляции. Так, можно дать людям доступ к определенным файлам либо папкам, ограничить использование определенных программ.
[spoiler title=”Источники”]
- https://www.dmosk.ru/miniinstruktions.php?mini=linux-users
- https://ZaLinux.ru/?p=1407
- https://rtfm.co.ua/linux-dobavit-polzovatelya-v-gruppu/
- https://pingvinus.ru/note/user-groups-add
- https://andreyex.ru/operacionnaya-sistema-linux/kak-dobavit-polzovatelya-v-gruppu-v-linux/
- https://ITProffi.ru/kak-prosmotret-spisok-polzovatelej-i-grupp-v-linux/
- https://lumpics.ru/how-see-list-of-users-in-linux/
- https://FB.ru/article/300639/kak-vyivesti-v-linux-spisok-polzovateley
[/spoiler]
Как использовать BleachBit в Linux
Хотите безопасно удалить ненужные файлы из операционной системы Linux, освободить место на жестком диске и защитить свою конфиденциальность? BleachBit делает все это для вас!
Почему бы не использовать RM?
Конечно, вы также можете использовать rm для удаления всех нежелательных или ненужных файлов из вашей системы. Однако преимущество использования BleachBit заключается в том, что он сканирует ваш жесткий диск на предмет определенных типов файлов, а затем удаляет только эти типы. Это означает, что вам не нужно искать их, а также не нужно проверять все места в вашей файловой системе, как вы это делаете rm. Любая кратковременная потеря концентрации во время использования rmможет привести к катастрофическим последствиям.
BleachBit, с другой стороны, ограничивается удалением только тех файлов, которые можно безопасно удалить, и знает, где они находятся в файловой системе. Он ищет подходящие места для вас и показывает предварительный просмотр того, что он собирается удалить, прежде чем это сделать.
Этот инструмент разделяет типы файлов на группы, и вы можете выбрать или отменить выбор записей в каждой категории. Это определяет типы файлов, которые будет искать BleachBit. Категории, которые вы видите, будут различаться в зависимости от приложений, установленных на вашем компьютере.
Например, избыточные файлы из менеджеров пакетов являются хорошими кандидатами на удаление из вашей системы. Тем не менее, вы увидите apt категорию, только когда BleachBit работает в Ubuntu и других дистрибутивах, основанных на Debian. Это потому, что не имеет смысла показывать эту категорию на чем-то вроде Fedora.
Скорее, dnf и yum категории будут отображаться. Аналогично, вы не увидите категорию для Chromium, если на вашем компьютере не установлен браузер Chromium.
Удаление этих файлов не только освобождает место на диске, но также помогает вам сохранять конфиденциальность, удаляя записи о ваших действиях.
Установка BleachBit
Чтобы установить BleachBit в Ubuntu, используйте эту команду:
sudo apt-get install bleachbit

Чтобы установить BleachBit на Manjaro, введите:
sudo pacman -Syu bleachbit

Чтобы установить BleachBit на Fedora, введите команду:
sudo dnf install bleachbit

На момент написания этой статьи версия BleachBit для Fedora 32 еще не была добавлена в репозиторий. Если вы используете Fedora 32, вы можете сделать следующее для установки BleachBit:
- Нажмите «Fedora 31» на веб-сайте BleachBit, чтобы загрузить файл.

- Дважды щелкните файл в папке «Загрузки».

- После того, как приложение откроет файл, нажмите «Установить».

Начиная BleachBit
Если вы используете sudo для запуска BleachBit, он сможет получить доступ к системным временным и журнальным файлам, а также к файлам, принадлежащим корневой учетной записи.
Если вы запускаете BleachBit без него sudo, он работает только с файлами, которые принадлежат вам и той учетной записи, в которую вы вошли. BleachBit отображает больше категорий файлов, когда вы запускаете его под учетной записью обычного пользователя. Это связано с тем, что в него войдут пользовательские файлы из приложений, которые вы, возможно, установили, например, Firefox и Thunderbird.
Введите следующую команду для sudo запуска BleachBit:
sudo bleachbit

Введите следующую команду, чтобы запустить BleachBit без sudo:
bleachbit

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

Вы увидите следующие варианты:
- «General»: здесь вы можете выбрать, хотите ли вы, чтобы BleachBit выполнял следующие действия:
- Проверьте наличие обновлений (включая бета-версии).
- Показать или скрыть категории файлов для всех поддерживаемых приложений, независимо от того, установлены они или нет.
- Выход после выполнения удалений.
- Требовать подтверждения перед удалением файлов.
- Используйте размеры ISO / IEC или SI для размеров файлов.
- Используйте темный режим.
- Показать отладочную информацию во время своих действий.
- «Пользовательский»: выберите, добавлять ли файлы или папки, а также какие из них можно выбрать, а какие можно включить или исключить из действий сканирования и удаления. Вы также можете включить местоположения, которые не предлагаются BleachBit по умолчанию.
- «Диски»: BleachBit может перезаписать свободное пространство и сделать данные там невосстановимыми. Для каждого раздела в вашей файловой системе вы должны создать доступную для записи папку и добавить ее путь к этой вкладке. Если ваша файловая система имеет только один раздел, значения по умолчанию будут хорошими.
- «Языки»: все языки, доступные в вашем дистрибутиве Linux, будут перечислены на этой вкладке, поэтому просто выберите те, которые вы хотите включить. Ваш язык по умолчанию уже будет выбран. BleachBit также предложит удалить все, что не выбрано.
- «Белый список»: на этой вкладке вы можете указать места, которые BleachBit должен игнорировать, и они останутся нетронутыми.
Использование BleachBit
Главное окно BleachBit имеет две панели: список категорий файлов слева и параметры в каждой категории справа. Вы можете установить флажок рядом с любым параметром, чтобы выбрать его, или щелкнуть название категории, чтобы выбрать все ее параметры.
Если вы выберете вариант, который займет много времени, или тот, который может повлиять на сохраненные пароли, вы увидите уведомление. Вы все еще можете выбрать эти опции, но BleachBit просто следит за тем, чтобы вы знали, что они делают.

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

Мы выбрали варианты удаления файлов для Firefox, но оставим настройки пароля такими же. Мы сделали то же самое для Thunderbird.

После того, как вы сделаете свой выбор, нажмите «Предварительный просмотр», и BleachBit выполнит пробный прогон.
Он будет сканировать файловую систему в соответствии с выбранной конфигурацией и параметрами. Затем вы увидите отчет, который включает в себя количество файлов, которые он ожидает удалить, и количество места на жестком диске, которое будет освобождено в результате. Значения отображаются в виде свободного места на жестком диске для выбранной опции и в виде общего количества на панели справа.

Если вы довольны информацией и хотите продолжить, нажмите «Очистить». Если вы ранее выбрали опцию конфигурации «Подтвердить перед удалением», BleachBit спросит, уверены ли вы, что хотите продолжить.
Нажмите «Удалить», чтобы удалить файлы, или «Отмена», чтобы вернуться в главное окно BleachBit.

Если вы нажмете «Удалить», BleachBit выполнит очистку и удалит файлы из вашей системы. Если вы ранее выбрали какой-либо из параметров безопасного стирания или перезаписи, это может занять некоторое время. Однако имейте в виду, что в большинстве современных файловых систем журналирования очень сложно гарантировать, что удаленные файлы будут перезаписаны.
После того, как BleachBit завершит свои действия по сканированию и удалению, он сообщит, сколько файлов он удалил и сколько свободного места на жестком диске теперь свободно.

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


