Создать директорию ubuntu


Как создать каталог в Linux с помощью команды mkdir

Введение

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

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

Как создать новый каталог

Самый простой способ создать новый каталог выглядит следующим образом:

mkdir <foldername>

 

Например , если вы хотите создать каталог в вашей домашней папке под названием тест, откройте окно терминала и убедитесь, что вы находитесь в вашей домашней папке (используйте команду cd ~ ).

mkdir test

 

Изменение права доступа на новый каталог

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

В последнем разделе я показал вам, как создать каталог под названием тест. Выполнение команды ls покажет вам разрешения для этого каталога:

ls -lt

 

Скорее всего вы будете иметь что-то вроде этого:

drwxr-xr-x 2 owner group 4096 Mar 9 19:34 test

 

Биты , которые интересуют нас являются  drwxr-xr-x owner и group

d говорит нам, что тест является каталогом.

Первые три символа после d разрешения для владельца каталога, указанного по имени владельца.

  • г — для чтения
  • w — обозначает запись
  • х означает выполнение (которое в данном случае означает, что вы можете получить доступ к папке)

Следующие три символа являются правами доступа группы для файла, указанного в названии группы. Опять же варианты r,w и x — означает, что разрешение отсутствует. В приведенном выше примере кто-нибудь, принадлежащий к группе может получить доступ к папке и читать файлы, но не может записать в папку.

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

Чтобы изменить разрешения для файла или папки можно использовать  chmod  команду.Команда chmod позволяет определить 3 номера, которые устанавливают права доступа.

  • права на чтение = 4
  • написать разрешения = 2
  • разрешения на выполнение = 1

Для того, чтобы получить смесь разрешений вы добавляете числа вместе. Например,

  • чтобы получить чтение и выполнение номер вам нужно 5,
  • чтобы получить разрешение на чтение и запись их — число 6
  • получить запись и выполнение их — число 3.

Помните, вам нужно указать 3 номера в составе команды chmod. Первое число для владельца разрешений, второй номер для группы разрешений и последний номер для всех остальных.

Например, чтобы получить полные права на владельца, чтение и выполнение разрешения на группы и никаких разрешений для кого-либо еще, введите следующую команду:

chmod 750 test

 

Если вы хотите изменить имя группы, владеющей папкой, то это делается с помощью командыchgrp.

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

Прежде всего надо создать учетные записи групп, введя следующее:

groupadd accounts

 

Если у вас нет правильного разрешения на создание группы вам может понадобиться использовать sudo, чтобы получить дополнительные привилегии или переключиться на счет с действительными разрешениями при помощи команды su.

Теперь вы можете изменить группу для папки, введя следующее:

chgrp accounts <foldername>

 

Например:

chgrp accounts test

 

Если никому в группе чтение, записи и выполнения доступа, а также владельца, а только для чтения для всех остальных, вы можете использовать следующую команду:

chmod 770 test

 

Для добавления пользователя в группу вы, вероятно, захотите использовать следующую команду:

usermod -a -G accounts <username>

 

 

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

Как создать каталог и установить разрешения

Вы можете создать каталог и установить разрешения для этого каталога в то же время, используя следующую команду:

mkdir -m777 <foldername>

 

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

Создать папку и указать родителя

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

Например, вы можете создавать папки для вашей музыки следующим образом:

  • / Главная / музыка / рок / Элис Купер
  • / Главная / музыка / рок / Кипелов
  • / Главная / музыка / рэп / Децл
  • / Главная / музыка / джаз / Луи Джордан

Было бы неудобно создать папку рок, затем Элиса Купера, а затем создать папку рэпа и папку Децл, а затем папку джаз, а затем папку Луи Джордан.

Задавая следующий переключатель вы можете создать все родительские папки на лету, если они уже не существуют.

mkdir -p <foldername>

Например, чтобы создать одну из папок, перечисленных выше, попробуйте выполнить следующую команду:

mkdir -p ~/music/rock/alicecooper

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

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

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

mkdir -v <foldername>

 

Выходной сигнал будет такой   mkdir: created directory /path/to/directoryname.

 

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Команды Linux для работы с файлами и каталогами (директориями) через терминал

Введение

В этом руководстве для начинающих пользователей мы ознакомимся с основными командами для работы с файлами и каталогами (иногда их еще называют директориями) в Linux-системах.

Требования

Cервер с Ubuntu 20.04

Все команды, описанные ниже, будут работать и в других дистрибутивах Linux.

Расположение каталогов в файловой системе

При входе на сервер, вы, как правило, попадаете в домашний каталог вашей учетной записи, отведенный для хранения файлов и создания директорий.

Для того чтобы узнать, где располагается каталог, в котором мы сейчас находимся, используется команда:

pwd

Результат выполнения команды выглядит следующим образом:

/home/demo

Домашний каталог располагается после имени учетной записи пользователя, в приведенном примере он называется /demo. Этот каталог находится в каталоге с именем  /home и в каталоге верхнего уровня, который называется root или корневой каталог, поэтому представлен одной косой чертой /.

Просмотр содержимого каталогов

Для просмотра содержимого каталога используется команда ls. Название этой команды является сокращением слов list files.

Просмотреть содержимое любой директории можно следующими способами:

ls имя_директории

Либо введя команду:

ls /путь _к _директории

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

dir1 file1 file2 file3

К команде ls можно добавлять дополнительные флаги, например, чтобы показать детализированное представление (права, список владельцев файлов или папок, размер, дату последнего модифицирования) файлов и директорий в текущей директории, можно использовать флаг -l:

ls -l

Результат выполнения команды:

total 16 drwxr-xr-x 2 home demo 4096 Nov 3 17:40 dir1 -rw-r--r-- 1 home demo 13 Nov 8 17:17 file1 -rw-r--r-- 1 home demo 42 Nov 9 13:04 file2 -rw-r--r-- 1 home demo 42 Nov 10 13:04 file3

Для просмотра списка всех файлов, включая скрытые файлы и каталоги, вы можете добавить флаг -a:

ls -a

Результат выполнения команды:

. dir1 file1 .mysql_history .ssh .. .bash_history file2 file3 .nan

Отобразить содержимое текущей директории с добавлением к именам символов, характеризующих тип, можно с помощью команды:

ls -F

Результат выполнения команды:

dir1/ file1 file2 file3

Перемещение между каталогами

Для перехода в домашний каталог используется команда cd. Название этой команды является сокращением слов change directory.

Для перехода в домашний каталог пользователя user используется команда:

cd ~user

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

В Linux-системах каждый файл и каталог находятся в самой верхней директории, которая называется «корневой» и обозначается одним символом слэш /.

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

Каждый абсолютный путь должен начинаться с косой черты — символа слэш /.

Для перехода в директорию уровнем выше используется команда:

cd ..

Для перехода в директорию двумя уровнями выше:

cd ../..

Операции с файлами и каталогами

У каждой команды имеется множество параметров, чтобы узнать их, наберите команду и параметр —help, например:

ls --help

Далее приведен список основных команд навигации в консоли Linux.

Создание

Создание файлов производится с помощью команды:

touch имя_файла

Создание каталогов выполняется с помощью команды вида:

mkdir имя_директории

Название этой команды является сокращением слов make directory.

Создание двух каталогов одновременно выполняется с помощью команды:

mkdir имя_директории_1 имя_директории_2

Для создания дерева каталогов используется команда следующего вида:

mkdir -p /имя_директории_1/имя_директории_2

Удаление

Для удаления директорий используется команда rmdir имя_директории. Название этой команды является сокращением слов remove directory.

Для удаления файлов используется команда rm. Например, для удаления файла с именем file1 используется команда:

rm file1

Команда rm также позволяет удалять не только файлы, но и каталоги.

Для удаления директории с именем dir1 со всеми подкаталогами и файлами используется опция -r (от слова recursive):

rm -r dir1 

Можно удалить одновременно две директории со всем их содержимым:

rm -r имя_директории_1 имя_директории_2

Также можно использовать параметр -f, который означает, что при удалении не будет запрашиваться подтверждение.

Команда для удаления файла будет выглядеть так:

rm -f file1

Команда для удаления каталога:

rm -rf dir1

Перемещение

Для перемещения и переименования файлов и каталогов используется команда mv. Название этой команды является сокращением слова move.

Переименовать файл можно с помощью команды:

mv имя_файла новое_имя

Для того чтобы переместить файл, используется команда:

mv имя_файла путь/

Копирование

Для копирования используется команда cp. Название этой команды является сокращением слова copy.

Чтобы скопировать файл file1 и назвать его file2, используется команда:

cp file1 file2

Для того чтобы копировать директорию dir1 в директорию dir2, используется команда:

cp -a dir1/ dir2/

Скопировать файл с именем file1 в директорию с именем dir1, можно с помощью команды:

cp file1 dir1/ 

Редактирование файлов

Мы ознакомились с основными командами для работы с каталогами и файлами.

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

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

В результате ввода в терминал команды nano будет открыт чистый файл.

Интерфейс выглядит следующим образом:

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

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

В нижней части интерфейса расположен ряд комбинаций клавиш, которые указывают с основными элементами управления текстового редактора. Для каждого из них символ ^ означает клавишу CTRL.

Для того чтобы открыть справку используйте сочетание клавиш CTRL-G.

Закрывается справка с помощью сочетания клавиш CTRL-X. После закрытия справки мы возвращаемся к редактированию.

Вводить и редактировать можно любой текст, например, можно ввести: “Hello World!”

Для сохранения внесенных изменений следует нажать сочетание клавиш CTRL-O. Внимание! Это буква О, а не ноль.

Далее система попросит вас ввести либо подтвердить имя файла, который вы хотите сохранить:

File Name to Write: ^G Get Help M-D DOS Format M-A Append M-B Backup File ^C Cancel M-M Mac Format M-P Prepend

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

После ввода имени файла нажмите клавишу ENTER.

Для того чтобы выйти из тестового редактора нажмите сочетание клавиш CTRL-X.

Если вы внесли изменения и не сохранили файл, вам будет предложено сохранить сделанные вами изменения:

Save modified buffer (ANSWERING "No" WILL DESTROY CHANGES) ? Y Yes N No ^C Cancel

Вы можете нажать клавишу Y, чтобы сохранить изменения, клавишу N для отмены изменений и выхода, или сочетание клавиш CTRL-C, чтобы отменить операцию выхода из режима редактирования файла.

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

Нажмите клавишу ENTER, чтобы сохранить файл и выйти из редактора.

Заключение

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

Права доступа к файлам и папкам

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

Первые 10 символов содержат информацию о правах к файлу или каталогу. 

rw-

права пользователя-владельца

r--

права пользователей группы-владельца

r--

права всех остальных пользователей

Далее идёт имя пользователя-владельца и группы -владельца.

root

файл принадлежит пользователю root

root

файл принадлежит группе root

Исходя из этого, иерархия доступа на уровне пользователей разбивается следующим образом: права пользователя-владельца, права участников группы-владельца и права всех остальных. 

Соответственно, для каждой категории указывается, какие операции с файлом ей доступны: чтение (r), запись (w) или выполнение (x) — для исполняемых файлов. Для директорий параметры те же, но обозначают немного другое: просмотр директории (r), создание папок / файлов (w) внутри директории, переход в директорию (x).

Каждый из этих уровней доступа можно выразить в восьмеричной системе с помощью числового значения: 4 (r), 2 (w), 1 (x). Вот так мы и получаем общую схему прав:

a — любые пользователи
u — права пользователя g — права группы o — права всех остальных
r w x r w x r w x
4 2 1 4 2 1 4 2 1

 

Для отображения уровня прав помимо формата rwxrwxrwx используется упомянутый восьмеричный формат. Для этого достаточно сложить все уровни прав по категориям: 

 rwxrwxrwx = (4+2+1), (4+2+1), (4+2+1) = 777

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

Смена владельца файла или директории

Для смены владельца доступны два инструмента. Первый — chown, позволяет изменить пользователя и группу файла или папки:

 chown [новый пользователь]:[новая группа] [файл или папка]

Если не указывать группу, изменится только пользователь-владелец. Если не указывать пользователя (:[новая группа]), изменится только группа-владелец. 

При изменении прав на директории можно использовать параметр -R. Он рекурсивно изменит владельца всех вложенных директорий и файлов. Представим, что нам нужно предоставить права на папку new-user для одноимённого пользователя и его группы. Команда для этого будет выглядеть так:

 chown -R new-user:new-group /home/users/new-user

Второй инструмент — chgrp. В отличие от первого, меняет только группу-владельца:

 chgrp [группа] [файл или папка]

Как и chown, может работать рекурсивно с помощью ключа -R.

Смена прав доступа к файлу или директории

Для работы непосредственно с правами используется команда chmod:

 chmod [настройки прав] [файл или папка]

При работе с директориями опция -R позволит изменить права на все вложенные файлы и папки.

Настройки прав в chmod можно определять двумя способами:

  1. Указав категорию (u — пользователь-владелец, g — группа-владелец, o — другие пользователи, a — все пользователи), модификатор (+, - , =) и, соответственно, нужные права (r, w, x). 

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

    Допустим, мы не хотим, чтобы кто-то в принципе мог запускать этот файл на выполнение. В таком случае нам нужно убрать параметр «x» из прав всех категорий пользователей сразу. Это можно сделать так: 

     chmod a-x example.txt

    Представим, что потом мы решили вернуть владельцу права на запуск файла. То есть нам нужно добавить параметр «x» в категорию пользователя-владельца:

     chmod u+x example.txt

    Если вдруг мы захотим изменить весь набор параметров для отдельной категории разом, это будет выглядеть следующим образом:

     chmod u=rwx example.txt
  2. Указав права в виде числового значения. Возможно, это не так прозрачно, но зато быстрее. В качестве параметра нам нужно передать это самое цифровое выражение уровня прав:

     chmod 777 example.txt 

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

    Соответственно, для изменения уровня прав отдельной категории пользователей нужно изменить только это числовое значение. Например, запретим исполнение файла для всех пользователей:

     chmod 666 example.txt

    А потом вернём, но только пользователю-владельцу:

     chmod 766 example.txt

Бывает, что нам нужно изменить права только на все папки или только на все файлы в определённой директории. Часто с этим можно столкнуться при настройке прав на файлы сайтов. Вот вам пара однострочников на этот случай: 

  • Смена прав на 755 для всех папок внутри /var/www/sites/example.com:

     find /var/www/sites/example.com/ -type d -exec chmod 755 {} \;
  • Смена прав на 644 для всех файлов внутри /var/www/sites/example.com:

     find /var/www/sites/example.com/ -type f -exec chmod 644 {} \;

Изменение атрибутов файлов

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

Посмотреть атрибуты файлов в текущей директории можно с помощью команды lsattr. Если запустить её без аргументов, она выведет атрибуты всех файлов в текущей директории. Если указать путь к файлу или папке, она перечислит свойства указанного файла или списка файлов в указанной папке соответственно:

 lsattr example.txt

Первые 20 символов в строке предназначены для отображения атрибутов файла.

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

i

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

a

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

s

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

u

активирует «обратимое» удаление файлов. Это значит, что при удалении файла с этим атрибутом его содержимое можно восстановить.

с

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

d

настраивает для файла исключение при использовании утилиты dump. То есть файл не будет включен в архив при создании резервной копии этим способом.

e

показывает, что файл в качестве указателей использует экстенты.

j

в журналируемых файловых системах (ext3, ext4) указывает на то, что при сохранении файла он сначала будет записан в журнал ФС, и только потом — на диск.

A

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

D

атрибут для директорий. Указывает, что все изменения в папке синхронно записываются на диск, минуя кэш.

S

указывает, что все изменения в файле с этим атрибутом записываются синхронно на диск, минуя кэш.

 

Изменить атрибуты файла позволяет команда chattr:

 chattr [модификатор][изменяемые атрибуты] [целевой файл или папка]

То есть, если нам нужно защитить какой-то важный файл от посягательств, можно использовать такую команду:

 chattr +i example.txt

Проверяем — посягательства не работают.

Если же нам нужно вернуть файл в нормальное состояние, нужно выполнить обратную операцию: 

 chattr -i example.txt

Для просмотра более подробной информации о файловых атрибутах, их ограничениях и правилах применения используйте команду:

 man chattr 

Можно ли создать домашнюю папку для существующего пользователя Linux

В этом кратком руководстве объясняется, как создать домашний каталог для существующего пользователя в Linux и Unix-подобных операционных системах с помощью команды mkhomedir_helper.

Как вы уже знаете, мы можем создать нового пользователя в Linux и Unix-подобных системах с помощью команды adduser, верно? Да все верно! Когда мы добавляем нового пользователя, по умолчанию автоматически создается домашний каталог для соответствующего пользователя.

Есть еще одна команда для создания пользователей в Linux. Это так useradd. После того, как я создал несколько пользователей с помощью команды useradd в Alpine Linux, я заметил, что каталоги $HOME для пользователей не создаются. Я не знал этого раньше. Прочитав справочные страницы команды useradd, я понял, что мне следовало включить -m (или --create-home) опцию для создания новых пользователей в каталоге $HOME, как показано ниже:

$ sudo useradd -m user_name

Или же

$ sudo useradd --create-home user_name

Но я забыл включить эту опцию и создал несколько новых пользователей. Если вы похожи на меня, не удаляйте существующих пользователей и создавайте их заново с помощью опции -m. Вы можете легко создать домашний каталог для существующего пользователя в Linux с помощью команды mkhomedir_helper, не удаляя и не воссоздавая пользователя.

mkhomedir_helper вспомогательная программа для модуля pam_mkhomedir. Модуль pam_mkhomedir PAM создаст домашний каталог пользователя, если он не существует в начале сеанса. Сначала этот модуль создает домашние каталоги, а затем заполняет их содержимым указанного каталога skel. Значение по умолчанию umask — это 0022, а значение по умолчанию для пути к skel — /etc/skel.

Позвольте мне показать вам пример, чтобы объяснить, как создать домашний каталог для существующего пользователя с помощью mkhomedir_helper.

Во-первых, давайте создадим нового пользователя с именем ostechnix, используя команду useradd:

$ useradd ostechnix

Установите пароль для пользователя:

$ passwd ostechnix

Теперь переключитесь на нового пользователя:

$ su - ostechnix

Вы увидите следующее сообщение об ошибке:

su: warning: cannot change directory to /home/ostechnix: No such file or directory

Как видно из вышеприведенного вывода, домашний каталог для пользователя ostechnix не существует, отсюда и эта ошибка.

Давайте проверим это, заглянув в /homeкаталог:

$ ls -l /home/ total 0 drwx------ 1 vagrant vagrant 72 Dec 15 13:19 vagrant

Что ж, это правда, что у пользователя ostechnix нет домашнего каталога.

Итак, давайте создадим домашний каталог для существующего пользователя (то есть ostechnix в нашем случае) с помощью команды mkhomedir_helper.

Для этого сначала выйдите из системы пользователя ostechnix, если вы уже вошли в систему:

$ exit

И выполните следующую команду, чтобы создать домашний каталог для пользователя с именем ostechnix :

$ sudo mkhomedir_helper ostechnix

Обратите внимание, что вы должны выполнить указанную выше команду как root пользователь или другой sudo пользователь.

Теперь переключитесь на пользователя ostechnix:

$ su - ostechnix

На этот раз вы не получите никакого предупреждающего сообщения, потому что домашний каталог для пользователя с именем ostechnix был создан с помощью команды mkhomedir_helper.

[[email protected] ~]$ pwd /home/ostechnix

Для получения дополнительных сведений см. справочные страницы:

$ man mkhomedir_helper

Теперь вы знаете, как создавать домашние каталоги после создания пользователей. Это может быть полезно, если вы забыли включить -m параметр при создании пользователей с помощью команды useradd.

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

Статьи по теме:

Работа в файловых системах | Microsoft Docs

  • Статья
  • Чтение занимает 6 мин
  • Участники: 3

Были ли сведения на этой странице полезными?

Да Нет

Хотите оставить дополнительный отзыв?

Отзывы будут отправляться в корпорацию Майкрософт. Нажав кнопку "Отправить", вы разрешаете использовать свой отзыв для улучшения продуктов и служб Майкрософт. Политика конфиденциальности.

Отправить

В этой статье

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

Хранение файлов и производительность в файловых системах

Мы не рекомендуем работать с разными операционными системами, если на это нет особой причины. Для ускорения производительности сохраняйте файлы в файловой системе WSL, если используете командную строку Linux (Ubuntu, OpenSUSE и т. д.). Если вы работаете в командной строке Windows (PowerShell, командной строке), сохраняйте файлы в файловой системе Windows.

Например, при хранении файлов проекта WSL:

  • Используйте корневой каталог файловой системы Linux: \\wsl$\Ubuntu\home\<user name>\Project
  • Используйте корневой каталог файловой системы Windows: /mnt/c/Users/<user name>/Project$ или C:\Users\<user name>\Project.

Если вы видите /mnt/ в пути к файлу в командной строке WSL, это означает, что вы работаете с подключенного диска. Поэтому диск C:/ (C:\Users\<user name>\Project) в файловой системе Windows при подключении в командной строке WSL будет выглядеть следующим образом: /mnt/c/Users/<user name>/Project$. Файлы проекта можно хранить на подключенном диске, но производительность может повыситься, если вы будете хранить их непосредственно на диске \\wsl$.

Просмотр текущего каталога в проводнике Windows

Вы можете просмотреть каталог, в котором хранятся файлы, открыв проводник Windows из командной строки:

explorer.exe . 

Также можно использовать команду powershell.exe /c start .. Обязательно добавьте точку в конце команды, чтобы открыть текущий каталог.

Чтобы просмотреть все доступные дистрибутивы Linux и их корневые файловые системы в Windows проводнике, введите \\wsl$ в адресной строке.

Учет регистра в именах файлов и каталогов

Чувствительность к регистру определяет, обрабатываются ли прописные (FOO.txt) и строчные буквы (foo.txt) как уникальные (с учетом регистра) или эквивалентные (без учета регистра) в имени файла или каталога. В файловых системах Windows и Linux чувствительность к регистру разная: в Windows он учитывается, а в Linux — нет. Дополнительные сведения о том, как настроить чувствительность к регистру, особенно при подключении дисков с помощью WSL, см. в статье Настройка чувствительности к регистру.

Взаимодействие между командами Windows и Linux

Средства и команды Windows и Linux в WSL могут использоваться взаимозаменяемо.

  • Запустить средства Windows (например, notepad.exe) из командной строки Linux (например, Ubuntu).
  • Запустить средства Linux (например, grep) из командной строки Windows (например, PowerShell).
  • Совместное использование переменных среды между Linux и Windows. (сборка 17063+)

Запускайте двоичные файлы Linux из командной строки Windows (CMD или PowerShell), используя wsl <command> (или wsl.exe <command>).

Например:

C:\temp> wsl ls -la <- contents of C:\temp -> 

Двоичные файлы вызываются следующим образом.

  • Используется тот же рабочий каталог, что и для текущей командной строки или сеанса PowerShell.
  • Файл выполняется от имени пользователя WSL по умолчанию.
  • Требуются те же права администратора Windows, что и у вызывающего процесса и терминала.

Команда Linux после wsl (или wsl.exe) обрабатывается как любая команда, выполняемая в WSL. Можно выполнять sudo, конвейерную передачу и перенаправление файлов.

Пример использования sudo для обновления дистрибутива Linux по умолчанию:

C:\temp> wsl sudo apt-get update 

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

Смешивание команд Linux и Windows

Ниже приведено несколько примеров смешиваний команд Linux и Windows с помощью PowerShell.

Чтобы выполнить команду Linux ls -la для вывода списка файлов и команду PowerShell findstr для фильтрации результатов слов, содержащих git, объедините команды:

wsl ls -la | findstr "git" 

Чтобы выполнить команду PowerShell dir для вывода списка файлов и команду Linux grep для фильтрации результатов слов, содержащих git, объедините команды:

C:\temp> dir | wsl grep git 

Чтобы использовать команду Linux ls -la для вывода списка файлов и команду PowerShell > out.txt для вывода этого списка в текстовый файл с именем out.txt, объедините команды:

C:\temp> wsl ls -la > out.txt 

Команды, передаваемые в wsl.exe, перенаправляются в процесс WSL без изменения. Пути к файлам должны быть указаны в формате WSL.

Чтобы выполнить команду Linux ls -la для вывода списка файлов в пути файловой системы Linux /proc/cpuinfo с помощью PowerShell, сделайте следующее:

C:\temp> wsl ls -la /proc/cpuinfo 

Чтобы выполнить команду Linux ls -la для вывода списка файлов в пути файловой системы Windows C:\Program Files с помощью PowerShell, сделайте следующее:

C:\temp> wsl ls -la "/mnt/c/Program Files" 

WSL может запускать средства Windows непосредственно из командной строки WSL с помощью [tool-name].exe. Например, notepad.exe.

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

  • Рабочим каталогом остается каталог командной строки WSL (в большинстве случаев; исключения описаны ниже).
  • Они имеют те же разрешения, что и процесс WSL.
  • Они выполняются от имени активного пользователя Windows.
  • Они отображаются в диспетчере задач Windows так, как если бы они выполнялись непосредственно из командной строки.

Исполняемые файлы Windows, выполняемые в WSL, обрабатываются аналогично собственным исполняемым файлам Linux — конвейерной передаче, перенаправлению и даже фоновому режиму работы.

Чтобы запустить средство Windows ipconfig.exe, использовать средство Linux grep для фильтрации результатов IPv4, а также средство Linux cut для удаления полей столбцов из дистрибутива Linux (например, Ubuntu), введите:

ipconfig.exe | grep IPv4 | cut -d: -f2 

Давайте рассмотрим пример сочетания команд Windows и Linux. Откройте дистрибутив Linux (например, Ubuntu) и создайте текстовый файл: touch foo.txt. Теперь используйте команду Linux ls -la, чтобы отобразить список файлов прямого доступа и сведения об их создании, а также средство Windows PowerShell findstr.exe, чтобы отфильтровать результаты и отобразить только файл foo.txt:

ls -la | findstr.exe foo.txt 

Средства Windows должны иметь расширение файла, его регистр символов должен совпадать с регистром в имени файла и эти файлы должны быть исполняемыми. Неисполняемые файлы, в том числе сценарии пакетного выполнения и собственные команды командной строки, такие как dir, можно выполнять с помощью команды cmd.exe /C.

Например, отобразите список содержимого каталога C:\ файловой системы Windows, введя:

cmd.exe /C dir 

Или выполните команду ping, чтобы отправить запрос проверки связи на веб-сайт microsoft.com:

ping.exe www.microsoft.com 

Параметры передаются в двоичный файл Windows без изменений. Например, следующая команда откроет C:\temp\foo.txt в notepad.exe.

notepad.exe "C:\temp\foo.txt" 

Этот способ также будет работать:

notepad.exe C:\\temp\\foo.txt 

Совместное использование переменных среды между Windows и WSL с помощью WSLENV

Решение WSL и Windows совместно используют WSLENV — специальную переменную среды, созданную для взаимодействия Windows и дистрибутивов Linux, запущенных в WSL.

Свойства переменной WSLENV:

  • она используется совместно и существует в средах Windows и WSL;
  • это список переменных среды, которые совместно используют Windows и WSL;
  • она позволяет форматировать список переменных среды для корректного использования в Windows и WSL.
  • она может использоваться в потоке между WSL и Win32.

Примечание

До выпуска сборки 17063 единственной переменной среды Windows,, к которой могла получить доступ WSL, была PATH (это позволяло запускать исполняемые файлы Win32 из WSL). Начиная со сборки 17063, WSLENV поддерживается. WSLENV учитывает регистр.

Флаги WSLENV

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

Флаги WSLENV:

  • /p преобразовывает пути WSL и Linux в пути Win32 и наоборот;
  • /l указывает, что переменная среды представляет собой список путей;
  • /u указывает, что эту переменную среды следует добавлять только при запуске WSL из Win32;
  • /w указывает, что эту переменную среды следует добавлять только при запуске Win32 из WSL.

При необходимости флаги можно комбинировать.

Узнайте больше о WSLENV, ознакомившись с часто задаваемыми вопросами и примерами установки значения WSLENV для объединения других предварительно определенных переменных среды с суффиксом в виде косой чертой и флагами для указания способа перевода значения и передачи переменных скрипту. В этой статье также показано, как настроить среду разработки с помощью языка программирования Go для совместного использования GOPATH с WSL и Win32.

Отключение взаимодействия

Пользователи могут отключить возможность запуска средств Windows для отдельного сеанса WSL, выполнив следующую команду в качестве привилегированного пользователя.

echo 0 > /proc/sys/fs/binfmt_misc/WSLInterop 

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

echo 1 > /proc/sys/fs/binfmt_misc/WSLInterop 

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

Практическое занятие. Работа с файлами в UNIX

Практическое занятие. Работа с файлами в UNIX

Цель занятия: знакомство с командной строкой UNIX, командами по работе с файловой системой и командами обработки текстовых файлов.

Изучаемые команды: cat, cd, cp, cut, echo, find, grep, head, ln, ls, mkdir, mv, paste, pwd, sort, tail, tar, touch, uniq, wc

Сценарий: Знакомство с каталогами UNIX

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

Начальные условия: Командная строка после входа в систему.

  1. Получить имя текущего каталога с помощью команды pwd:

    user@desktop ~ $ pwd /home/user/
  2. Перейти в корневой каталог с помощью команды cd /:

    user@desktop ~ $ cd / user@desktop / $ pwd /

    Отметить, как изменилось строка приглашения.

  3. Посмотреть содержимое корневого каталога с помощью команды ls:

    user@desktop / $ ls bin dev home mnt proc sbin tmp var boot etc lib opt root sys usr
  4. Сравнить с использованием «раскарашенного» вывода команды ls -F --color:

    user@desktop / $ ls -F --color bin/ dev/ home/ mnt/ proc/ sbin/ tmp/ var/ boot/ etc/ lib/ opt/ root/ sys/ usr/

    Диретории отмечаются синим цветом и знаком «/» после имени.

  5. Посмотреть содержимое домашнего каталога с помощью команды ls -F --color ~:

    user@desktop / $ ls -F --color ~ user@desktop / $

    Возможно, домашний каталог пуст.

  6. Вернуться в домашний каталог с помощью cd без параметров:

    user@desktop / $ cd user@desktop ~ $
  7. Создать директорию test с помощью команды mkdir test:

    user@desktop ~ $ mkdir test
  8. Посмотреть обновлённое содержимое домашнего каталога ls -F --color:

    user@desktop ~ $ ls -F --color test/
  9. Создать поддиректорию subtest в директории test командой mkdir test/subtest:

    user@desktop ~ $ mkdir test/subtest
  10. Посмотреть содержимое домашнего каталога и его подкаталогов с помощью ключа рекурсивного просмотра -R в команде ls -F --color -R:

    user@desktop ~ $ ls -F --color -R .: test/ test: subtest/ test/subtest:

Сценарий: Изучение типов файлов в UNIX

В этом сценарии рассматриваются типы файлов в UNIX: простые файлы, директории, ссылки. Изучаются команды создания и копирования файлов. Показывается разница между жесткими и символическими ссылками, между копированием и переносом файла.

Начальные условия: Командная строка. Директория test после предыдущего сценария.

  1. Cоздать пустой файл с помощью команды touch test/first.txt:

    user@desktop ~ $ touch test/first.txt user@desktop ~ $ ls -F --color test/ first.txt subtest/
  2. Добавить строку текста в конец файла с помощью команды echo "Hello, world" >> test/first.txt и перенаправления вывода:

    user@desktop ~ $ echo "Hello, world" >> test/first.txt
  3. Посмотреть содержимое файла с помощью команды cat test/first.txt:

    user@desktop ~ $ cat test/first.txt Hello, world user@desktop ~ $
  4. Посмотреть расширенную информацию о каталоге, используя ключ -l команды ls. ls -F --color -l test:

    user@desktop ~ $ ls -F --color -l test итого 4 -rw-r--r-- 1 user users 13 Окт 15 20:48 first.txt drwxr-xr-x 2 user users 48 Окт 13 21:33 subtest/
  5. Добавить псевдоним командной оболочки, чтобы сократить размер команды, с помощью команды alias ls='ls -F --color -l':

    user@desktop ~ $ alias ls='ls -F --color -l' user@desktop ~ $ ls test итого 4 -rw-r--r-- 1 user users 13 Окт 15 20:48 first.txt drwxr-xr-x 2 user users 48 Окт 13 21:33 subtest/
  6. Посмотреть глубже на директорию test, используя ключи -a и -i. ls -a -i test

    user@desktop ~ $ ls -a -i test итого 7 drwxr-xr-x 3 user users 104 Окт 15 20:49 ./ drwx------ 67 user users 3352 Окт 15 20:42 ../ -rw-r--r-- 1 user users 13 Окт 15 20:48 first.txt drwxr-xr-x 2 user users 48 Окт 13 21:33 subtest/

    Первый столбец – номера индексных узлов файловой системы. Третий столбец – число жёстких ссылок файла.

  7. Перейти в каталог test с помощью команды cd test

  8. Скопировать файл с помощью команды cp first.txt copy1.txt:

    user@desktop test $ cp first.txt copy1.txt user@desktop test $ ls -a -i итого 11 5522107 drwxr-xr-x 3 user users 136 Окт 15 20:54 ./ 384269 drwx------ 67 user users 3352 Окт 15 20:42 ../ 5938127 -rw-r--r-- 1 user users 13 Окт 15 20:54 copy1.txt 5937954 -rw-r--r-- 1 user users 13 Окт 15 20:48 first.txt 6292625 drwxr-xr-x 2 user users 48 Окт 13 21:33 subtest/

    Новый файл имеет свой собственный индексный узел.

  9. Переименовать файл с помощью команды mv first.txt orig.txt. mv first.txt orig.txt:

    user@desktop test $ mv first.txt orig.txt user@desktop test $ ls -a -i итого 11 5522107 drwxr-xr-x 3 user users 128 Окт 15 20:59 ./ 384269 drwx------ 67 user users 3352 Окт 15 20:42 ../ 5938127 -rw-r--r-- 1 user users 13 Окт 15 20:54 copy1.txt 5937954 -rw-r--r-- 1 user users 13 Окт 15 20:48 orig.txt 6292625 drwxr-xr-x 2 user users 48 Окт 13 21:33 subtest/

    Отметим, что изменилось только имя файла, все остальные атрибуты остались прежними.

  10. Создать жёсткую ссылку командой ln orig.txt copy2.txt:

    user@desktop test $ ln orig.txt copy2.txt user@desktop test $ ls -a -i итого 15 5522107 drwxr-xr-x 3 user users 160 Окт 15 21:00 ./ 384269 drwx------ 67 user users 3352 Окт 15 20:42 ../ 5938127 -rw-r--r-- 1 user users 13 Окт 15 20:54 copy1.txt 5937954 -rw-r--r-- 2 user users 13 Окт 15 20:48 copy2.txt 5937954 -rw-r--r-- 2 user users 13 Окт 15 20:48 orig.txt 6292625 drwxr-xr-x 2 user users 48 Окт 13 21:33 subtest/

    Добавилась ещё одна ссылка на тот же файл, число ссылок увеличилось на 1.

  11. Создать символическую ссылку командой ln -s orig.txt orig.lnk:

    user@desktop test $ ln -s orig.txt orig.lnk user@desktop test $ ls -a -i итого 15 5522107 drwxr-xr-x 3 user users 184 Окт 15 21:18 ./ 384269 drwx------ 67 user users 3352 Окт 15 21:02 ../ 5938127 -rw-r--r-- 1 user users 13 Окт 15 20:54 copy1.txt 5937954 -rw-r--r-- 2 user users 13 Окт 15 20:48 copy2.txt 5938189 lrwxrwxrwx 1 user users 8 Окт 15 21:18 orig.lnk -> orig.txt 5937954 -rw-r--r-- 2 user users 13 Окт 15 20:48 orig.txt 6292625 drwxr-xr-x 2 user users 48 Окт 13 21:33 subtest/

    Новый файл имеет новый индексный узел и размер, равный имени файла orig.txt.

  12. Сравним содержимое файлов при обращении к ним по имени:

    user@desktop test $ cat orig.txt Hello, world user@desktop test $ cat copy2.txt Hello, world user@desktop test $ cat orig.lnk Hello, world
    К одним и тем же данным можно обратиться через жесткую или символическую ссылку.

Сценарий: Поиск системных журналов

В этом сценарии изучается команда поиска файлов и директорий.

Начальные условия: Командная строка, директория test после прошлого сценария.

  1. Перейти в каталог test с помощью команды cd test:

  2. Вывести список всех файлов и директорий в текущей директории, включая содержимое поддиректорий с помощью команды find:

    user@desktop ~ $ find . ./orig.lnk ./orig.txt ./subtest ./copy1.txt ./copy2.txt
  3. Найти все файлы и дериктории в текущей директории и ее поддиректориях, которые начиняются на «o» с помощью команды find -name "o*":

    user@desktop ~ $ find -name "o*" ./orig.lnk ./orig.txt
  4. Найти все файлы и дериктории в директории /etc и ее поддиректориях, которые начиняются на «o» с помощью команды find /etc -name "o*":

    user@desktop ~ $ find /etc -name "o*" /etc/apm/other.d /etc/joe/syntax/ocaml.jsf /etc/opt /etc/ppp/options-pptp /etc/ppp/options-pppoe /etc/ppp/options /etc/ssl/openssl.cnf /etc/dpkg/origins /etc/pam.d/other /etc/texmf/tex/plain/config/omega.ini
  5. Найти все обычные файлы в директории /etc и ее поддиректориях, которые начинаются на «o» с помощью команды find /etc -name "o*" -a -type f:

    user@desktop ~ $ find /etc -name "o*" -a -type f /etc/joe/syntax/ocaml.jsf /etc/ppp/options-pptp /etc/ppp/options-pppoe /etc/ppp/options /etc/ssl/openssl.cnf /etc/pam.d/other /etc/texmf/tex/plain/config/omega.ini
  6. Найти все обычные файлы в директории /var/ и ее поддиректориях, заканчивающиеся на «log»:

    user@desktop ~ $ find /var -name "*log" -a -type f find: /var/lib/mysql: Permission denied find: /var/lib/samba/private: Permission denied ... /var/log/emerge.log /var/log/lastlog /var/log/faillog /var/log/Xorg.0.log

    Список найденных файлов может быть слишком большим и для его просмотра можно воспользоваться «прокруткой» терминала с помощью клавиш Shift-PgUp и Shift-PgDn

  7. Исключить вывод сообщений об ошибках (например, «Permission denied») с помощью перенаправления вывода ошибок в специальное устройство /dev/null. Для этого ввести команду find /var -name "*log" -a -type f 2>/dev/null

    user@desktop ~ $ find /var -name "*log" -a -type f 2>/dev/null /var/log/emerge.log /var/log/lastlog /var/log/faillog /var/log/Xorg.0.log
  8. Создать директорию logs с помощью команды mkdir test/logs:

    user@desktop ~ $ mkdir test/logs
  9. Скопировать найденные файлы в локальную директорию с помощью параметра -exec команды find. Для этого ввести команду find /var -name "*log" -a -type f -exec cp {} test/logs/ 2>/dev/null:

    user@desktop ~ $ find /var -name "*log" -a -type f -exec cp {} test/logs/ 2>/dev/null user@desktop ~ $ ls test/logs итого 789 -rw-r----- 1 user users 601033 Окт 16 18:37 emerge.log -rw-r--r-- 1 user users 292292 Окт 16 18:37 lastlog -rw-r--r-- 1 user users 37383 Окт 16 18:37 Xorg.0.log

    Были скопированы все файлы, права на чтение которых у нас есть.

Сценарий: Архивирование и деархивирование файлов и директорий

В этом сценарии изучается команда архивирования файлов и директорий. Командная строка, директория test после прошлого сценария.

Начальные условия:

  1. Перейти в домашнюю директорию с помощью команды cd:

    user@desktop test $ cd user@desktop ~ $
  2. Создать архив с именем test.tar.gz с применением сжатия, содержащий директорию test с помощью команды tar -czf test.tar.gz test:

    user@desktop ~ $ tar -czf test.tar.gz test user@desktop ~ $ ls drwxr-xr-x 4 user users 208 Окт 16 18:36 test/ -rw-r--r-- 1 user users 79173 Окт 16 18:49 test.tar.gz
  3. Создать новую директорию для содержимого архива командой mkdir test2:

    user@desktop ~ $ mkdir test2
  4. Перейти в новую директорию с помощью команды cd test2:

    user@desktop ~ $ cd test2
  5. Развернуть содержимое архива в текущую директорию с помощью команды tar -xzf ../test.tar.gz:

    user@desktop test2 $ tar -xzf ../test.tar.gz
  6. Убедиться, что содержимое распакованного архива совпадает с оригинальной директорией. Ввести команду ls -l -F:

    user@desktop test2 $ ls -l -F итого 0 drwxr-xr-x 4 user users 208 Окт 16 18:36 test/ user@desktop test2 $ ls -l -F test итого 12 -rw-r--r-- 1 user users 13 Окт 15 20:54 copy1.txt -rw-r--r-- 2 user users 13 Окт 15 20:48 copy2.txt drwxr-xr-x 2 user users 136 Окт 16 18:37 logs/ lrwxrwxrwx 1 user users 8 Окт 16 18:54 orig.lnk -> orig.txt -rw-r--r-- 2 user users 13 Окт 15 20:48 orig.txt drwxr-xr-x 2 user users 48 Окт 13 21:33 subtest/

Сценарий: Cоздание новых текстовых файлов

В этом сценарии изучаются команды для создания и модифицирования текстовых файлов. Командная строка.

Начальные условия:

  1. Ввести команду echo "One line":

    user@desktop test $ echo "One line" One line

    Данная команда принимает строку в виде аргумента и выводит её на стандартный вывод.

  2. Ввести ту же команду, но перенаправить вывод в файл second.txt с помощью «>». Ввести команду echo "One line" > second.txt:

    user@desktop test $ echo "One line" > second.txt
  3. Добавить в конец файла second.txt строку «A line» с помощью другого перенаправления echo "A line" >> second.txt:

    user@desktop test $ echo "A line" >> second.txt
  4. Вывести содержимое файла с помощью команды cat second.txt:

    user@desktop test $ cat second.txt One line A line
  5. С помощью команды cat можно создавать многострочные файлы –, если переопределить вывод программы в файл и вводить текст до нажатия Ctrl-D (конец ввода). Ввести команду cat >multiline.txt и набрать текст

    user@desktop test $ cat >multiline.txt Simple text: blah-blah-blah 1 2 3 4 5 6 7 8 9 0 bye! (Ctrl+D) user@desktop test $
  6. Убедиться, что содержимое файла совпадает с введённым текстом, включая все переводы строки. Для этого ввести команду cat multiline.txt

    user@desktop test $ cat multiline.txt Simple text: blah-blah-blah 1 2 3 4 5 6 7 8 9 0 bye! 
  7. Основным назначением команды cat является объединение файлов, имена которых передаются как аргументы командной строки. Объединить файлы с помощью команды cat orig.txt second.txt multiline.txt > big.txt:

    user@desktop test $ cat orig.txt second.txt multiline.txt > big.txt
  8. Убедиться, что новый файл содержит строки из перечисленных файлов с помощью команды cat big.txt:

    user@desktop test $ cat big.txt Hello, world One line A line Simple text: blah-blah-blah 1 2 3 4 5 6 7 8 9 0 bye! 

Сценарий: Разрезание и склеивание файлов

В данном сценарии изучается, как выделять информацию, разбитую на части с помощью специального символа-разделителя (например, прообела или символа :), из файлов и создавать новые структурированные файлы.

Начальные условия: Командная строка.

  1. Посмотреть содержимое файла /etc/passwd, в котором содержится информация о пользователях системы, с помощью команды cat /etc/passwd:

    user@desktop test $ cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/bin/false daemon:x:2:2:daemon:/sbin:/bin/false adm:x:3:4:adm:/var/adm:/bin/false lp:x:4:7:lp:/var/spool/lpd:/bin/false sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown ...

    Каждая строка хранит запись об отдельном пользователе. Запись состоит из полей, разделённых символом «:».

  2. Выделить первый столбец в каждой записи, установив разделитель в «:», с потощью команды cat /etc/passwd | cut -f1 -d::

    user@desktop test $ cat /etc/passwd | cut -f1 -d: root bin daemon adm lp sync shutdown ...
  3. Отсортировать список пользователей по алфавиту с помощью команды cat /etc/passwd | cut -f1 -d: | sort:

    user@desktop test $ cat /etc/passwd | cut -f1 -d: | sort adm alias apache at bin cron cyrus ...
  4. Выделить седьмой столбец в каждой записи, соответствующий командной оболочке пользователя, с помощью команды cat /etc/passwd | cut -f7 -d:

    user@desktop test $ cat /etc/passwd | cut -f7 -d: /bin/bash /bin/false /bin/false /bin/false /bin/false /bin/sync ...

    Список содержит много повторяющихся строк.

  5. Удалить повторяющиеся строки командой cat /etc/passwd | cut -f7 -d: | uniq:

    user@desktop test $ cat /etc/passwd | cut -f7 -d: | uniq /bin/bash /bin/false /bin/sync /sbin/shutdown /sbin/halt /bin/false ...

    Некоторые повторяющиеся строки остались, так как сравниваются только последовательные строки.

  6. Добиться полной уникальности, предварительно отсортировав строки с помощью команды sort. Ввести команду cat /etc/passwd | cut -f7 -d: | sort | uniq:

    user@desktop test $ cat /etc/passwd | cut -f7 -d: | sort | uniq /bin/bash /bin/false /bin/sync /dev/null /sbin/halt /sbin/shutdown
  7. Выделить первый и седьмой столбец файла /etc/passwd в отдельные файлы. Для этого ввести команды cat /etc/passwd | cut -f1 -d: > users и cat /etc/passwd | cut -f7 -d: > shells:

    user@desktop test $ cat /etc/passwd | cut -f1 -d: > users user@desktop test $ cat /etc/passwd | cut -f7 -d: > shells
  8. Объединить результаты с помощью команды paste users shells:

    user@desktop test $ paste users shells root /bin/bash bin /bin/false daemon /bin/false adm /bin/false lp /bin/false sync /bin/sync ...

Сценарий: Быстрый анализ текстов

В данном сценарии изучаются команды, которые позволяют провести первичный анализ файла: с чего он начинается, как заканчивается и каков его размер.

Начальные условия: Командная строка.

  1. Получить число строк в файле /etc/passwd с пломощью команды wc -l /etc/passwd :

    user@desktop test $ wc -l /etc/passwd 44 /etc/passwd
  2. Или другим способом: посчитав число слов в созданном ранее файле users с помощью команды cat users | wc -w:

    user@desktop test $ cat users | wc -w 44
  3. Посмотеть первые несколько строк длинного файла с помощью команды head logs/Xorg.0.log:

    user@desktop test $ head logs/Xorg.0.log X Window System Version 6.8.2 Release Date: 9 February 2005 X Protocol Version 11, Revision 0, Release 6.8.2 Build Operating System: Linux 2.6.13-gentoo i686 [ELF] Current Operating System: Linux thinkpad 2.6.13-gentoo #1 Wed Sep 7 01:03:14 MSD 2005 i686 Build Date: 08 October 2005 Before reporting problems, check http://wiki.X.Org to make sure that you have the latest version. Module Loader present
  4. Аналогично, посмотеть последние несколько строк с помощью команды tail logs/Xorg.0.log:

    user@desktop test $ tail logs/Xorg.0.log (II) RADEON(0): [RESUME] Attempting to re-init Radeon hardware. (II) RADEON(0): [agp] Mode 0x1f000201 [AGP 0x8086/0x3340; Card 0x1002/0x4c66] (II) Mouse1: ps2EnableDataReporting: succeeded SetClientVersion: 0 8 SetGrabKeysState - disabled SetGrabKeysState - enabled (II) 3rd Button detected: disabling emulate3Button SetClientVersion: 0 8 SetGrabKeysState - disabled SetGrabKeysState - enabled

    Это бывает полезно при просмотре системных журналов – в них самые последние события содержатся в конце файлов.

Сценарий: Поиск строк по регулярным выражениям

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

Начальные условия: Командная строка. Директория test/log с найденными системными журналами.

  1. Среди найденных системных журналов посмотреть файл журнала загрузки графичской системы XFree86.0.log с помощью команды less test/log/XFree86.0.log:

    user@desktop ~ $ less test/log/XFree86.0.log

    Выйти из просмоторщика можно нажатием клавиши q.

  2. Найти все предупреждения в журнале: строка, начинающаяся с «(WW)». Для этого ввести команду grep "^(WW)" test/log/XFree86.0.log:

    user@desktop ~ $ grep "^(WW)" test/log/XFree86.0.log (WW) The directory "/usr/share/fonts/freefonts/" does not exist. (WW) The directory "/usr/share/fonts/unifont/" does not exist. (WW) The directory "/usr/share/fonts/artwiz/" does not exist. ...
  3. Получить все строки, содержащие следующий шаблон: последовательность из 1 или более цифры или буквы, затем символ собаки, затем еще одна последовательность 1 или более цифры или буквы или точки, затем символ точки, затем от двух до четырёх букв (имя домена первого уровня). Также служебный вывод ошибок удаляется (перенаправляется в нулевое устройство). Для этого ввести команду grep "[a-zA-z0-9]\+@[a-zA-z0-9\.]\+\.[a-z]\{2,4\}" /etc/* 2>/dev/null:

    user@desktop ~ $ grep "[a-zA-z0-9]\+@[a-zA-z0-9\.]\+\.[a-z]\{2,4\}" /etc/* 2>/dev/null /etc/devfsd.conf:# Richard Gooch <[email protected]> 3-JUL-2000 /etc/inittab:# Author: Miquel van Smoorenburg, <[email protected]> /etc/inittab:# Modified by: Patrick J. Volkerding, <[email protected]> ...

    При работе с несколькими файлами grep по умолчанию использует вывод имени файла перед найденной стокой.

  4. Избавиться от имени файла в начале строки с помощью ключа -h. Ввести команду grep -h "[a-zA-z0-9]\+@[a-zA-z0-9\.]\+\.[a-z]\{2,4\}" /etc/* 2>/dev/null:

    user@desktop ~ $ grep -h "[a-zA-z0-9]\+@[a-zA-z0-9\.]\+\.[a-z]\{2,4\}" /etc/* 2>/dev/null # Richard Gooch <[email protected]> 3-JUL-2000 # Author: Miquel van Smoorenburg, <[email protected]> # Modified by: Patrick J. Volkerding, <[email protected]> ...
  5. Для вывода только найденной подстроки используется ключ -o. Ввести команду grep -ho "[a-zA-Z0-9]\+@[a-zA-Z0-9\.]\+\.[a-z]\{2,4\}" /etc/* 2>/dev/null:

    user@desktop ~ $ grep -ho "[a-zA-Z0-9]\+@[a-zA-Z0-9\.]\+\.[a-z]\{2,4\}" /etc/* 2>/dev/null [email protected] [email protected] [email protected] ...
  6. Получить все файлы директории /etc/ с помощью команды find /etc -type f 2>/dev/null, игнорируя ошибки:

    user@desktop ~ $ find /etc -type f 2>/dev/null /etc/X11/xorg.conf.example /etc/X11/Sessions/kde-3.4 /etc/X11/Sessions/Xsession /etc/X11/chooser.sh ...
  7. Для каждого из найденных файлов произвести поиск подстроки «nameserver». Для этого ввести команду find /etc -type f -exec grep "nameserver" {} \; 2>/dev/null:

    user@desktop ~ $ find /etc -type f -exec grep "nameserver" {} \; 2>/dev/null # merge the new nameservers with the other options from the old ... grep --invert-match '^nameserver[[:space:]]' $REALRESOLVCONF nameserver 10.22.10.20 ...
  8. Для большего удобства добавить вывод имени файла (ключ -H) и номера строки (ключ -n), на которой было найдено совпадение, с помощью команды find /etc -type f -exec grep -Hn "nameserver" {} \; 2>/dev/null:

    user@desktop ~ $ find /etc -type f -exec grep -Hn "nameserver" {} \; 2>/dev/null /etc/ppp/ip-up:24: # merge the new nameservers with the other optio... /etc/ppp/ip-up:26: grep --invert-match '^nameserver[[:space... /etc/ppp/resolv.conf:1:nameserver 10.22.10.20 ...

    Таким образом, команда grep может эффективно использоваться вместе с командой find для нахождения информации в файлах.

Задания для самоподготовки

  1. Создайте каталог test1 в домашней директории. Сравните время создания системных каталогов /bin, /tmp с каталогом test1.
  2. Скопируйте файл /bin/ls в локальную директорию. Посмотрите атрибуты этого файла. Попробуйте запустить его.
  3. Создайте в локальной директории символическую ссылку tmplnk на директорию /tmp. Скопируйте несколько файлов в директрию tmplnk.
  4. Сравните файлы /dev/tty1 и /dev/hda1. Какой тип они имеют? Чем они отличаются?
  5. Найдите все файлы в системе, которые были модифицированы не более суток назад.
  6. С помощью одной команды найдите все файлы с расширением .html в директории /usr и скопируйте их в локальную папку htmls.
  7. Создайте архив директории /etc и узнайте его размер. Попробуйте создать сжатый архив той же папки. Сравните степень сжатия gzip и bzip2 на этом примере.
  8. Создайте текстовый файл a.txt из десяти строк. Узнайте его размер. Создайте новый файл, содержащий в себе файл a.txt четыре раза.
  9. С помощью одной команды найдите все файлы с расширением .txt в директории /usr и объедините их в один большой файл big.txt.
  10. Получите с помощью одной команды файл, содержащий все числовые идентификаторы пользователей, зарегистрированных в ситсеме.
  11. Получите с помощью одной команды строки с 5-ой по 8-ю в файле /proc/cpuinfo, содержащем информацию о процессоре.
  12. Придумайте регулярное выражение, соответствующее URL с использованием протокола http. Найдите все строки, содержащие такие URL в файлах директории /etc.
  13. С помощью одной команды найдите все файлы с расширениями .txt или .html в директории /usr, в которых содержится слово user.

Страница не найдена – Information Security Squad

  • 🎥 Как видеоаналитика и тепловизионные камеры повышают безопасность периметра 31.05.2022

    Cегмент видеонаблюдения – включая камеры безопасности, видеоаналитику и другие видеокомпоненты – занимает самую большую долю рынка систем обнаружения вторжений в периметр (PIDS). Это обусловлено спросом со стороны операторов систем безопасности на визуальную проверку и желанием получать изображения. При выборе камеры для охраны периметра рекомендуется выбирать производителя, который имеет проверенную репутацию в отношении обновлений прошивки и […]

  • 🌐 Обнаружение небезопасных зависимостей (SCA) 31.05.2022

    Ранее мы рассмотрели что такое SCA и разобрали его работу и важность применения. 🌐 Анализ состава программного обеспечения (SCA) что такое и на что обратить внимание Теперь давайте посмотрим его на практике в процесс CI/CD. Чтобы применить это на практике, мы добавим полное тестирование безопасности в Damn Vulnerable Python Web Application на протяжении всего руководства. DVPWA, […]

  • 🌐 Анализ состава программного обеспечения (SCA) что такое и на что обратить внимание 30.05.2022

    Анализ состава программного обеспечения (SCA) – это техника, которую современные ИБ-команды могут использовать для поиска всех компонентов с открытым исходным кодом и дальнейшим управлением. Компаниям необходимо знать все об используемом приложении и его составе, чтобы решить, является ли оно безопасным и соответствует ли нормативным требованиям. Если вы используете приложение со скомпрометированным или уязвимым компонентом с […]

  • ☁️ Частное облако: новые возможности для бизнеса 30.05.2022

    Частное облако — это тип решения, который характеризуется ограниченным доступом к ресурсам. Это означает, что только одна организация (компания) или выбранные пользователи используют облачные ресурсы. Частное облако, хотя и недоступное для широкой публики, имеет много преимуществ общедоступного облака, в том числе масштабируемость и гибкость. Однако, несмотря на общие черты с публичным облаком, эти понятия не […]

  • 🐧 Как изменить права на владение файлами и папками рекурсивно 30.05.2022

    Вы можете использовать команду chown в Linux для изменения прав собственности файлов и каталогов. Она довольно проста в использовании. chown owner_name file_or_folder Проблема возникает в тех кейсах, когда вы меняете владельца каталога, а его содержимое остается неизменным. Решение также не слишком сложное. Чтобы изменить право владения на все содержимое каталога, вы можете использовать рекурсивную опцию […]

  • Создать каталоги

    Дамиан Стельмах

    Не реже, чем изменение положения в структуре каталогов или перечисление содержимого, средства построения структуры каталогов полезны в нашей повседневной работе с системой. Одним из таких инструментов является программа mkdir , которая при всей своей простоте позволяет создавать отдельные каталоги, целые наборы каталогов, а также позволяет определять место, где будет создан каталог или файл.Выдача такой команды:

     mkdir named_dir_name 
    создает каталог с заданным именем в том месте, где мы находимся в данный момент.

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

     mkdir/home/bolek/directory123 
    создаст для нас каталог с именем directory123 , расположенный в домашнем каталоге пользователя с именем Bolt
    ВНИМАНИЕ!
    Если вам будет предложено отказаться от привилегий при создании ресурса, помните, что вы всегда можете исправить это, введя фразу sudo перед командой.

    Создание отдельных папок дело простое и очевидное, но работа mkdir не ограничивается созданием отдельных элементов этого типа. Благодаря ему мы также можем транслировать на этапе создания права доступа к ресурсам, создавать целые структуры каталогов с помощью одной строки кода или создавать несколько каталогов одновременно. Для выдачи разрешений на этапе создания каталога используем параметр м , а для создания целых структур параметр p .Например, выполнив такую ​​команду:

     mkdir -m 755 имя_каталога 

    создаст каталог с заданным именем и разрешениями.

    Такая команда по очереди:

     мкдир k1 k2 k2 
    создаст для нас три каталога (k1, k2, k3) одновременно.

    Если мы хотим создать всю структуру каталогов, мы используем параметр p , а также косые черты / и фигурные скобки {} , например:

     mkdir -p документы/{2018/{счета, договоры, файлы}, 2019/{счета, договоры, данные}, 2020/{счета, договоры}} 

    Создаст эту структуру каталогов:

    ЗАПОМНИТЬ!
    Косая черта (/) позволяет нам создавать каталоги следующего уровня, а имена каталогов данного уровня даются после запятой в фигурных скобках.

    Если мы хотим создать несколько имен для каталогов, мы берем их в кавычки или используем апострофы, например:

     мкдир "римский суп" 
    .

    Основные команды LINUX

    Основные команды LINUX

    Справка


    человек - отобразить справочную страницу для команды «программа»

    информация - как и man, отображать страницу справки для команды «программа».

    Если он не может найти информационную страницу, он ищет справочную страницу и отображает ее.

    • информационная программа, программа pinfo

    --помощь - у каждой программы есть опция --help или -h для отображения небольшой справки

    Логин


    выход из системы - команда выхода из терминала

    выезд - команда для завершения процесса оболочки: tcsh, bash и т. д.Д - (Ctrl-D) отправляет на терминал сообщение EOF (конец файла)

    Указывает на конец ввода данных. В оболочке «bash» это обычно приводит к отключению терминала

    .

    кто - отображает имя пользователя

    идентификатор - отображает текущее имя и группу пользователя и их номера (UID и GID)

    и - команда для повторного входа в качестве другого пользователя (su, для «переключить пользователя»)

    Позволяет в том же терминале временно изменить права на выполнение команд другому пользователю (изменить текущий UID и GID)

    • su имя пользователя — изменить пользователя на пользователя с именем «имя пользователя»
    • su - имя пользователя - изменить пользователя, очистить переменные среды и установить новые значения для HOME, SHELL, USER, LOGNAME, PATH

    палец - список всех пользователей, которые в настоящее время вошли в систему на машине (и их терминалы)
    • палец
    • finger @komputer — пользователи вошли в систему на компьютере с именем «computer;
    • имя пользователя finger - выводит информацию о пользователе 'username' и всех терминалах, на которых он зарегистрирован
    • finger Marek - выводит информацию обо всех пользователях с именем 'marek'

    в - точно так же, как списки пальцев зарегистрированных пользователей и их активных терминалов

    Основные команды


    компакт-диск - изменяет текущий каталог (из «изменить каталог»)
    • cd имя каталога - изменить текущий каталог на «имя каталога»
    • cd dir1 / dir2 / dir3 - идет в каталог 'dir3', который находится в каталоге 'dir2', который находится в 'dir1'
    • cd - откуда угодно, меняет каталог на домашний
    • продолжение. - Перемещается в каталог на один выше в дереве каталогов, чем текущий
    • cd /home/dir - откуда угодно, идет в директорию начиная с начала дерева: /
    • cd - - переход к предыдущему каталогу

    pwd - распечатать путь к текущему каталогу (из «распечатать рабочий каталог»)

    лс - перечисление каталога
    • ls - перечисляет каталог.(сл.)
    • ls файл1 файл2 файл3 - Список только перечисленных файлов
    • ls * .txt — список всех файлов с именами, заканчивающимися на «.txt»
    • ls catalog1 catalog2 - список перечисленных каталогов
    • ls -l — Подробный список
    • ls -a - также список скрытых файлов (т.е. тех, имя которых начинается с точки)
    • ls -R - рекурсивно перечисляет каталоги (т.е. также отображает содержимое подкаталогов)
    • ls -d - отображать только имена каталогов, как и обычные файлы, т.е. не отображать их содержимое

    кот - записывает все переданные ему файлы в стандартный вывод
    • cat файл - если мы не перенаправим стандартный вывод в другой файл (>, >>) или программу (|), она выведет файл на экран
    • cat файл1 файл2 файл3 - распечатать содержимое всех файлов
    • один за другим

    лотки - записывает все переданные ему файлы в стандартный вывод, но меняет порядок строк
    • tac file1 file2 - печатать оба файла вместе, с последней до первой строки

    эхо - повторяет слова, указанные в аргументе, на стандартном выходе
    • echo costam write if echo "costam write" - написать "costam write" и закончить новой строкой
    • echo -n "costam print" - после записи аргументов не будет печатать новую строку
    • echo $HOME - выводит содержимое переменной среды HOME

    туалет - подсчитывает строки, слова и символы в файле

    , если аргумент не задан, считывается из стандартного ввода

    .
    • cat файл1 файл2 | wc -l - будет считать все строки из объединенных файлов файл1 файл2
    • wc файл - печатать строки слов и символов и имя файла
    • wc -m - только символы (или --chars)
    • wc -l - только строки (или --lines)
    • wc -w - только слова (lib --words)

    меньше - удобный и быстрый просмотр текстовых файлов
    • меньше файла - отображает содержимое файла и разрешает прокрутку страницы (q-вывод)

    Файлы и каталоги


    сенсорный - изменяет время доступа и модификации файла или, если файл не существует, создает его.

    кп - копирует файл
    • cp file1 file2 - создаст ./file2 идентичный file1
    • cp file3 ../katalog/jakis/ — создаст файл ../katalog/jakis/plik3
    • cp pom.* Подкаталог / — будут скопированы все файлы, начинающиеся с 'pom.' в ./подкаталог/
    • cp file5 ~/directory/some/file - создать файл ~/directory/some/file

    мв - перемещает файл (таким образом, также служит для переименования)
    • mv file1 file2 - переименует файл из./файл1 в файл2
    • mv file3 ../katalog/jakis/ — переместит файл в ../katalog/jakis/file3
    • mv file4 подкаталог / - переместит файл ./subdirectory/file4
    • mv file5 ~/directory/some/file - переместить и переименовать ~/directory/some/file

    п.м. - удаляет файл
    • РМ файл -
    • rm -r каталог - удалить все в каталоге и всех его подкаталогах (--recursive)
    • rm -f файл - не просит удалить (--force)

    мкдир - создает каталог
    • mkdir my_new_directory
    • mkdir/home/users/ja/my_new_dir

    rmdir - удаляет пустой каталог

    чмод - изменяет права доступа к файлам

    группы пользователей: u - пользователь, g - группа, o - другие, a - все

    права доступа: r - чтение, w - запись, x - выполнение

    • chmod o + r файл - предоставить другим разрешение на чтение файла
    • chmod a-x file - лишить всех права на выполнение файла
    • chmod g=rw file - установить права на чтение и запись для вашей группы
    • chmod -R go + w directory - установить разрешения для всех файлов в каталоге и его подкаталогах (--recursive)

    найти - показывает, где последний файл с данным именем (или частью имени) был замечен на этом компьютере

    найти отчет.текст - найти pdf

    найти - просмотреть каталог для рассматриваемого файла
    • найти. -name report.txt
    • find/home/user-name "rap * xt"

    Перенаправления


    > - перенаправление вывода из программы в файл.

    Стандартным выводом любой программы является экран (текстовая консоль), а стандартным вводом — клавиатура. Вы можете свободно перенаправлять эти входы и выходы.

    • echo "ala ma cat">file.txt - выход из программы echo запишет в файл file.txt
    • ls -l> list.dat - перечислить файлы в файл list.dat

    >> - добавление выхода из программы в конец файла
    • эхо "у алы есть собака" >> файл.txt — добавит «у ала есть собака» в конец файла .txt
    • ls -l> list.dat - перечислить файлы в файл list.dat

    | - перенаправление вывода одной программы на ввод другой
    • файл кота.txt | wc -l — cat выведет на вывод файл .txt, который мы перенаправим в программу, считающую строки.
    • лс -л | lpr - Программа печати lpr будет получать данные из списка файлов
    • .
    • файл кота.txt | подносы | grep "что-то" | head> cosie.txt — запись файла .txt в программу «tac», которая меняет порядок строк, результат этого перенаправляется в «grep», который будет печатать только строки, содержащие слово «что-то», вывод этого отправлено в программу «голова», которая будет публиковать только первые 10 строк вывода, которые мы перенаправили в файл cosie.txt.

    >! - перенаправление в файл. Работает как >, но продолжается даже после того, как файл уже существует. Работает с "tcsh".
    • echo "у ала есть кот">file.txt - если файл.txt существует, эта команда может завершиться ошибкой.
    • эхо "а-ля кот">! file.txt - вам нужно будет использовать восклицательный знак>!
    • echo "аля есть кот"> | файл.txt — то же самое, только в «bash»

    - перенаправить файл как стандартный ввод.
    • шахматы - если шахматная программа принимает ходы на стандартный ввод, мы можем записать эти ходы в файл и отдать программе таким образом
    • кошка движется.txt | шахматы - тоже самое можно сделать да

    - вход в следующие строки.
    • шахматы E2-B4
      H5-A1
      C6-F5
      DO_KONCA
      - пройти т.н. документ на месте. Все следующие строки между метками 'TO_END' будут поданы на стандартный ввод программы 'chess'.
    • эхо "E2-B4
      H5-A1
      C6-F5" | шахматы
      - тоже самое можно сделать да
    • echo -e "E2-B4\nH5-A1\nC6-F5" | шахматы - тоже самое можно сделать да

    2> - перенаправить стандартный вывод ошибок в файл.В дополнение к стандартному выводу и вводу каждая программа также имеет стандартный вывод ошибок. Мы также можем перенаправить их, например, в другое место, чем обычный выход. Работает в «bash», а не в «tcsh».
    • find -name "file. *"> Found.log 2> errors.log - файлы, найденные с помощью 'find', попадут в found.log, сообщения об ошибках не будут скрывать результат и будут записаны в другой файл - ошибки.лог
    • cp -r data/backup/2> ошибка.log - если возникнут ошибки при копировании всего каталога, все сообщения будут записываться в error.log
    • (ls>file.log)>&file.err - в 'tcsh' нельзя перенаправить только вывод ошибок, отсюда и необходимость такой конструкции.

    &> или> & - перенаправление обоих выходов в файл.
    • лс> & файл.log — стандартный вывод и стандартная ошибка для ошибок перенаправляются в файл.log
    • ls> logfile 2> & 1 — то же самое, но работает только в «bash». Перенаправьте вывод, затем скопируйте его в вывод ошибок.
    • ls &> log.file — то же, что и> &, но в более «bash»-обозначении.

    человек ударить
    • Рекомендую для получения дополнительной информации

    человек ткш
    • Рекомендую для получения дополнительной информации

    Процессы


    пс - перечислить процессы, запущенные на компьютере
    • ps - Отображает запущенные пользователем процессы
    • ps a - также отображать процессы других пользователей
    • ps -l, ps -f, ps -F - дополнительная информация о процессах (от: long, full, extra full)
    • ps f - отображает дерево зависимостей процесса (из: леса)
    • 90 024 пс --help -: P

    бг - перезапускает приостановленную (Ctrl-Z) задачу, но в фоновом режиме, как если бы она была запущена с помощью &
    • bg - Запускает последнюю остановленную задачу
    • bg NUMBER - запускает задание с заданным номером в списке остановленных заданий (заданий)

    фг - перезапускает остановленную (Ctrl-Z) задачу на переднем плане
    • fg - Запускает последнее остановленное задание
    • фг НОМЕР - запускает задание с заданным номером в списке остановленных заданий (
    • )

    рабочих мест - отображает список остановленных заданий

    убить - убивает данный процесс

    PID - это номер идентификатора процесса, его можно прочитать, например.с помощью команды ps

    • kill PID - отправляет сигнал процессу с номером PID для прерывания процесса
    • kill -KILL PID - убить процесс без запроса

    и - модификатор, позволяющий сразу запустить фоновый процесс.
    • xcalc & - запускает программу xcalc в фоновом режиме, благодаря чему у нас есть бесплатная консоль

    топ - интерактивный инструмент мониторинга процесса

    Сортирует процессы по их текущему использованию ЦП, использованию памяти и т. д.

    Редакторы


    вим - расширенный текстовый редактор с текстовым режимом

    Vi iMproved - новая версия известного редактора Vi. Он имеет

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

    гвим - vim в графическом режиме

    емакс - расширенный текстовый редактор в графическом режиме

    Emacs, как и Vim, является универсальным многоязычным редактором с богатыми функциями.


    уемакс - текстовый редактор в текстовом режиме

    Micro Emacs — это текстовая версия Emacs

    .

    Джо - простой текстовый редактор

    Собственный редактор Джо.Подходит для написания простых документов


    mcedit - текстовый редактор в текстовом режиме

    mcedit — встроенный редактор для Midnight Commander.

    Имеет, среди прочего подсветка синтаксиса.

    Сеть


    сосна - программа электронной почты

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


    сш - программа для удаленного входа по зашифрованному соединению

    Самая важная онлайн-программа. Он позволяет войти на любой компьютер в мире, при этом соединение защищено благодаря алгоритмам шифрования, основанным на ключах RSA.

    • ssh anatres - регистрирует меня на 'antares'a
    • ssh ja @ anatres — регистрирует меня как пользователя 'ja' на 'antares'a
    • ssh ja @ antares command — войдет в систему только для выполнения команды
    • на «antares»

    SCP - программа для копирования файлов по зашифрованному SSH соединению

    scp подключается к указанному серверу и копирует указанные файлы между обоими компьютерами

    'scp' для подключения использует программу 'ssh'

    • scp файл ja@antares: ~/moje_fiki/ - скопирует файл в мою директорию на antaresie ~/moje_files/
    • scp ja@antares: /var/log/file. - скопирует данный файл из antares
    • в текущий каталог

    логин - простой протокол удаленного входа в систему
    • rlogin antares - войдет в систему на 'antares'a

    пинг - диагностическая программа, которая проверяет, есть ли сетевое подключение к данному компьютеру.
    • ping antares.astrouw.edu.pl - проверяем отвечает ли антарес (и как быстро)

    диски
    дф - перечисляет размеры и количество доступного места на смонтированных дисках (в килобайтах и ​​в процентах)
    • дф
    • df /dev/sda1 — ограничить результаты только одним разделом
    • df -h - размеры дисплея в удобных для пользователя единицах (удобочитаемых)
    • df -m - размеры в мегабайтах

    дю - количество размеров каталогов и файлов, содержащихся в данном каталоге
    • дю - размер текущего каталога
    • дю каталог - считать размер данного каталога
    • du -s - писать только сумму, а не размеры каждого подкаталога
    • du -sm - укажите только сумму для каждого каталога и введите размер в мегабайтах
    • du -sm каталог * | sort -n - сортировать результаты от наименьшего к наибольшему из заданных каталогов

    Окружающая среда


    который - перечисляет, где находится программный файл с заданным именем
    • which ls — найти файл, который будет запущен после вызова команды «ls»

    окр. - выводит текущие значения всех переменных окружения

    или - устанавливает и перечисляет определения команд быстрого доступа («псевдонимы»), которые в настоящее время установлены в среде.
    • псевдоним - печатать псевдонимы
    • псевдоним ls 'ls --color = auto' - определяет новый псевдоним 'ls' с заданным содержимым

    Системные устройства


    /dev/ноль - бездонный колодец.Устройство, на которое мы можем писать по желанию, и все, что мы печатаем, теряется.
    • find -name "file.*" 2>/dev/null - если не хотите видеть среди результатов поиска сообщения об ошибках
    • latex file.tex> /dev/null - программа сделает все активности, но не будет захламлять консоль логами
    • count>/dev/null 2>/dev/null& — если мы хотим запустить программу в фоновом режиме, а затем выйти из системы (закрыть консоль), мы должны перенаправить вывод программы, чтобы она не пыталась записать на устройство, которое больше не существует.«Нулевое» устройство всегда есть.

    /dev/ноль - нулевой магазин Это устройство для чтения, которое никогда не заканчивается. Из него можно прочитать любое количество байт, и все они будут нулевыми.
    • dd if=/dev/zero of=zeros.txt count=1000 - считывает тысячу нулей в файл 'zeros.txt'.
    • cat /dev/zero - советую не пробовать
    • head -c 10 /dev/zero > ноль.txt — вывести первые 10 байт из '/dev/zero' в файл 'zero.txt'. В результате получается файл с десятью нулями.

    /разработчик/случайный - набор случайных чисел. Это считывающее устройство, которое дает вам действительно случайные данные. При этом используется системный бак энтропии, который пополняется благодаря различным проявлениям активности пользователя. Этот набор может закончиться, поэтому не читайте сразу несколько чисел.
    • from -t x1 -N 100 /dev/random - записать на экран первые 100 случайных байт из /dev/random (в шестнадцатеричной системе)

    /dev/urandom - набор псевдослучайных чисел. Это считывающее устройство, которое сообщает псевдослучайные числа. В его распоряжении любое их количество.
    • from -t d1 -N 100 /dev/urandom - записать на экран первые 100 байт из /dev/urandom (в десятичной системе)

    /dev/стандартный - стандартный ввод текущего процесса.Любой процесс, который попытается прочитать данные с этого устройства, получит содержимое собственного ввода.
    • эхо "есть кот" | cat ala.txt/dev/stdin — программа cat объединит содержимое файла ala.txt с тем, что она получила на стандартном вводе

    / dev / стандартный вывод - стандартный вывод текущей программы. Когда процесс что-то записывает в /dev/stdout, это появится в его стандартном выводе.
    • a2ps --output file.ps file.txt - программа a2ps создаст документ PostScript в файле file.ps
    • a2ps --output /dev/stdout file.txt - программа a2ps выведет документ на экран (его стандартный вывод)

    /dev/stderr - стандартный вывод ошибок в текущей программе. Когда процесс что-то записывает в /dev/stderr, это отображается в его стандартном выводе ошибок.

    .

    Ubuntu Manpage: adduser, addgroup — добавить пользователя или группу в систему

    Предоставлено: adduser_3.113 + nmu3ubuntu4_all
     
    ИМЯ
     adduser, addgroup - добавить пользователя или группу в систему 
    СИНТАКСИС
      adduser  [опции] [--home DIR] [--shell SHELL] [--no-create-home] [--uid ID] [--firstuid ID] [--lastuid ID] [--ingroup GROUP | --gid ID] [--disabled-пароль] [--disabled-логин] [--gecos GECOS] [--add_extra_groups] [--encrypt-home] пользователь  adduser  --system [параметры] [--home КАТАЛОГ] [--shell SHELL] [--no-create-home] [--uid ID] [--группа | --ingroup ГРУППА | --gid ID] [--disabled-password] [--disabled-логин] [--gecos GECOS] пользователь  addgroup  [опции] [--gid ID] группа  addgroup  --system [опции] [--gid ID] группа  adduser  [параметры] группа пользователей  ОБЩИЙ   ОПЦИИ  [--quiet] [--debug] [--force-badname] [--help | -h] [--version] [--conf FILE] 
    ОПИСАНИЕ
      adduser  и  addgroup  добавляют пользователей и группы в систему в соответствии с параметрами, указанными в командной строки и конфигурации, содержащейся в файле  /etc/adduser.конф . Эти программы более удобный интерфейс для программ  useradd ,  groupadd  и  usermod  выбор совместимых с Debian значений идентификатора пользователя (UID) и идентификатор группы (GID), создание домашних каталогов, запуск локальных сценариев и наличие других дополнительных функций.  adduser  и  addgroup  могут использоваться в одном из пяти режимы:  Добавить   обычный   пользователей   adduser , вызывается с одним аргументом, не являющимся параметром, и без параметра  - система  или  --group , добавит обычного пользователя. adduser  выберет первый возможный UID из диапазона, предназначенного для обычных пользователей в конфигурационный файл. Этот UID можно перезаписать опцией  --uid . Диапазон, указанный в конфигурационном файле, также можно переопределить параметрами  --firstuid . и -ластуид . По умолчанию каждому пользователю в Debian GNU/Linux назначается группа с тем же именем и идентификатором, что и у пользователя.Помещение каждого пользователя в Группа с таким же именем позволяет легко управлять доступными для записи каталогами для группу, добавив соответствующих пользователей в новую группу, установив флаг set-group-ID в каталоге и установите для каждого пользователя значение umask 002. Если этот параметр отключен путем установки  USERGROUPS  на  без , тогда все остальные для создаваемых пользователей будет установлен идентификатор группы  USERS_GID .Базовый Группы пользователей также можно перезаписать, указав  --gid  в командной строке. или  --ingroup , которые устанавливают группу, указывая ее id или имя соответственно. Более того пользователи могут быть добавлены в одну или несколько групп, определенных в adduser.conf либо установив для ADD_EXTRA_GROUPS значение 1 в adduser.conf, либо указав параметр строки команды --add_extra_groups.  adduser  создаст домашний каталог пользователя в соответствии с настройками  DHOME ,  GROUPHOMES ,  LETTERHOMES  в файле конфигурации.Домашняя директория может быть перезаписана опцией командная строка  --home , а оболочка - через опцию  --shell . Если для  USERGROUPS  установлено значение  да , домашний каталог пользователя будет установлен на бит set-group-ID, что приведет к всем файлам, созданным в этом каталоге, будет назначена правильная группа.  adduser  скопирует файлы из  SKEL  в домашний каталог и запросит палец (gecos) информацию и пароль.Gecos также можно установить с помощью опции  --gecos . С  --disabled-login  опция, учетная запись будет создана, но будет отключена до ввода пароля установлен. Опция  --disabled-password  не установит пароль, но логин по-прежнему возможно (например, с ключами SSH RSA). Чтобы настроить зашифрованный домашний каталог для новый пользователь, добавьте параметр  --encrypt-home . Для получения дополнительной информации обратитесь к опции -b команды  ecryptfs-setup-private (1). После создания и настройки учетной записи пользователя, если есть  /usr/local/sbin/adduser.local , он будет запускаться для выполнения локального настройки. Аргументы, переданные в  adduser.local , следующие: имя пользователя uid gid домашний каталог Переменная среды VERBOSE имеет значение: 0, если указана опция --quiet 1, если не указан ни один из параметров --quiet и --debug 2, если была задана опция --debug (То же самое относится и к переменной DEBUG, но эта переменная устарела и останется удалено в будущей версии adduser). Добавить   пользователей   система   adduser  при запуске с одним аргументом, не опцией, а опцией  - система , добавит системного пользователя. Если такой пользователь с идентификатором пользователя (uid) в диапазоне идентификаторов пользователя системы (или если uid указан в командной строке, а этот uid уже существует, adduser отобразит предупреждение и выйдет.Это предупреждение можно отключить с помощью параметров "--тихо"  adduser  выберет первый возможный UID из диапазона системных идентификаторов, определенных в файл конфигурации (FIRST_SYSTEM_UID iLAST_SYSTEM_UID). Чтобы предоставить строго определенный UID, используйте параметр  --uid . По умолчанию системным пользователям назначается группа  без группы . Чтобы назначить новый пользователя системы в существующую группу, используйте опцию  --gid  или  --ingroup .К новому системному пользователю была назначена новая группа с тем же идентификатор, используйте опцию  --group . Домашняя директория создается по тем же правилам, что и для обычных пользователей. У нового системного пользователя будет оболочка /bin/false  (если это не будет перезаписано опция  --shell ) и пароль отключен. Файлы в каталоге  SKEL  копироваться не будут.  Добавить   обычные   группы  Если  adduser  запущен с опцией  --group , но без опции  - система , или как программа  addgroup , будет добавлена ​​группа для обычных пользователей.Группе будет присвоен идентификатор (GID) в диапазоне, указанном в конфигурационном файле для обычных идентификаторов групп (FIRST_GID, LAST_GID), однако его можно перезаписать опция  --gid . При создании группы к ней не добавляются пользователи.  Добавить   группы   система  Если  addgroup  вызывается с опцией  - система , будет создана новая группа система.Группе будет присвоен идентификатор (GID) в диапазоне, указанном в конфигурационном файле для идентификаторов пользователей системы (FIRST_SYSTEM_GID, LAST_SYSTEM_GID), однако может быть перезаписан опцией  --gid . При создании группы к ней не добавляются пользователи.  Распределить   Существующий   Пользователь   до   Существующий   Группы   adduser , вызванный с двумя аргументами, не являющимися параметрами, добавит существующего пользователя в существующая группа.
    ОПЦИИ
      --conf   ФАЙЛ  Он будет использовать ФАЙЛ вместо  /etc/adduser.conf .  --disabled-логин  Не запускает программу passwd для установки пароля. Пользователь не сможет использовать свою учетную запись, пока не будет предоставлен пароль.  --disabled-пароль  Аналогично --disabled-login, но пользователь по-прежнему сможет получить доступ к системе (на например, с использованием ключей SSH RSA), но без аутентификации по паролю. --force-плохое имя  По умолчанию имена пользователей и групп проверяются на соответствие настраиваемым обычным выражение  NAME_REGEX  (или  NAME_REGEX_SYSTEM , если указано  --system ), указанное в файл конфигурации. Эта опция заставляет  adduser  и  addgroup  применять только слабая проверка на валидность имени.  --gecos   gecos  Устанавливает поле с информацией GECOS для нового пользователя.Если этот вариант используется, то  adduser  не будет запрашивать эту информацию.  --gid   ID  При создании новой группы эта опция устанавливает идентификатор группы в заданное значение. При создании пользователя использование этой опции поместит пользователя в указанная группа.  - группа  При использовании с  - система  создаст группу с тем же именем и идентификатор, как только что созданный системный пользователь.Если не используется с опцией  - система  будет создана группа с заданным именем. Этот вариант по умолчанию, если программа была вызвана как  addgroup .  --help  Показывает краткую инструкцию по использованию программы.  --home   КАТАЛОГ  Использует каталог DIRECTORY в качестве домашнего каталога пользователя, перезаписывая тот же каталог. значение по умолчанию, указанное в файле конфигурации.Если этот каталог не существует, он будет создан, и файлы в каталоге  SKEL  будут скопированы.  --оболочка   ПОКРЫТИЕ  Установите SHELL в качестве оболочки входа пользователя, переопределив значение по умолчанию. указывается в файле конфигурации.  --ingroup   ГРУППА  Помещает нового пользователя в ГРУППУ ГРУППА вместо группы, указанной параметром  USERS_GID  в файле adduser.конф. Это относится только к основной группе пользователь. Чтобы добавить пользователя в дополнительные группы, см. описание опций.  add_extra_groups .  --не создать дом  Он не создает домашний каталог, даже если он не существует.  --тихий  Подавляет информацию, показывает только предупреждения и ошибки.  - отладка  Подробный режим, полезный при устранении неполадок adduser. - система  Создает системного пользователя или группу.  --uid   ID  Устанавливает новый идентификатор пользователя в заданное значение.  adduser  закончится ошибка, если такой идентификатор уже занят.  --firstuid   ID  Перезаписать значение первого доступного идентификатора пользователя (перезаписать  FIRST_UID , указанный в файле конфигурации). --lastuid   ID  Переопределяет значение первого и последнего идентификатора пользователя ( LAST_UID ).  --add_extra_groups  Добавляет нового пользователя в дополнительные группы, определенные в файле конфигурация.  --версия  Отображает версию и информацию об авторских правах. 
    ВОЗВРАТ ЗНАЧЕНИЯ ВОЗВРАТ
      0  Указанный пользователь существует, либо создан с помощью adduser, либо существовал в system перед вызовом adduder.Если adduser вернет 0, он запустится adduser вернет 0 во второй раз с теми же параметрами.  1  Не удалось создать пользователя или группу, поскольку пользователь или группа уже существовал с другим UID/GID, чем указанный. Имя пользователя или группа была отклонена, так как она не соответствовала настроенному выражению обычный, см. adduser.conf (5). Adduser был убит сигналом.Или по любому количеству других, пока недокументированных причин, которые имеют место. выводится на консоль — рассмотрите возможность не указывать  --quiet , чтобы избежать добавления пользователя выписал дополнительную информацию. 
    ФАЙЛЫ
     /etc/adduser.conf Файл конфигурации по умолчанию для adduser и addgroup. 
    СМ. ТАКЖЕ
     adduser.conf (5), deluser (8), useradd (8), groupadd (8), usermod (8), пункт 9.2.2 документа Политика Debian. 
    ПЕРЕВОД
     Роберт Луберда , октябрь 2005 г. 
    ПРАВА АВТОРСКИЕ ПРАВА
     Copyright (C) 1997, 1998, 1999 Гай Маор. Изменено Роландом Бауэршмидтом и Марком Хабер. Дополнительные патчи Йорга Хоха и Стивена Грана. Copyright (C) 1995 Ted Hajek, с большим вкладом исходного Debian  adduser .Copyright (C) 1994 Ян Мердок.  adduser  является бесплатным программным обеспечением, условия лицензии - см. Стандартную общественную лицензию GNU версии 2 или выше. Нет  никаких  гарантий. 
    .

    Как создавать каталоги и подкаталоги в Linux с помощью команды «mkdir»

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

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

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

    Следовательно, он характеризуется тем, что это система, которой можно управлять через командное окно, потому что предотвращает манипулирование информацией посетителями .

    Создание каталогов в папке также выполняется с помощью команды, известной как « mkdir », которая является аббревиатурой для создания подкаталога .

    Узнать, как реализовать эту команду в окне команд, очень просто, так как она даже чрезвычайно объективна в отношении ее функции.Итак, просто продолжайте читать, чтобы узнать об этом немного больше или узнать, как скрыть файлы и папки в Linux.

    Используйте команду mkdir для создания каталогов в Linux

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

    Однако, как упоминалось выше, как администратор GNU/Linux, пользователь должен убедиться, что у него есть разрешения в папках , где он будет изменять содержимое.

    Если нет, то после того, как вы закончите вводить команду, отобразит ошибку и вы не сможете создать запрошенную вами папку.

    Чтобы правильно использовать команду, следуйте процедуре, описанной выше: введите аббревиатуру, за которой следует аргумент, который вы будете использовать для именования создаваемых каталогов.

    Примером этого может быть « папка mkdir1 », поэтому новое содержимое будет создано в папке, в которой вы сейчас работаете.Если вы хотите, чтобы он был создан в каком-либо месте, просто укажите его следующим образом: « mkdir/folders/folder1 », где «Папки» — это библиотека, в которой вы хотите разместить содержимое.

    Другие полезные команды

    Пока заказ " mkdir " ожидает выполнения Для создания каталогов в системной памяти другие команды могут повысить производительность папки. Они могут помочь вам, если вам нужно выполнить определенные действия, такие как поиск файлов, Например.

    • Для начала можно использовать » Pwd », что позволит вам обнаружить файл, который еще активен, то есть с которым вы работаете в данный момент.
    • Если вы не хотите оставаться в этой папке, вы можете отредактировать и выбрать другую горячую папку с помощью « cd « .
    • La заказал " ls " отображает содержимое папки и проверяет ее существование
    • Наконец, и, возможно, один из самых важных, Usage " chmod " позволяет изменять права доступа к папке.

    Создание каталогов и подкаталогов с помощью mkdir

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

    Для этого указана команда " -p или -parents Которая, как упоминалось выше, при необходимости создаст корневую папку.

    Одна из замечательных особенностей этого кода заключается в том, что вы не увидите никаких ошибок при его использовании, если папка существует.Поэтому достаточно написать в командном окне: " mkdir -p /home/user/movies/christine ".

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

    Был продемонстрирован отличный инструмент, который может предоставить команду «Создать подкаталог», когда вам нужно создать каталоги и подкаталоги в папках, составляющих ваше хранилище. Если случится так, что папка скрыта, вы можете сделать так, чтобы она всплывала из Терминала.

    Благодаря простому синтаксису любой пользователь, который: получает привилегии суперпользователя в компьютерном пространстве , сможет генерировать этот тип контента с помощью командного окна Linux.

    .

    Как создавать пользователей в Linux (команда useradd) 2022

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

    В Linux вы можете создать учетную запись пользователя и назначить пользователя в разные группы с помощью команды useradd . useradd — инструмент низкого уровня, пользователи Debian и Ubuntu скорее будут использовать более удобную команду adduser.

    , мы поговорим о том, как использовать команду useradd и изучим ее опции.

    команда useradd

    Общий синтаксис команды useradd следующий:

    useradd USERNAME

    пользователь с доступом к sudo.

    При вызове useradd создает новую учетную запись пользователя, используя параметры, указанные в командной строке, и значения по умолчанию, указанные в /etc/default/useradd .

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

    Команда также считывает содержимое файла /etc/login.defs . Этот файл содержит конфигурацию пакета теневых паролей, такую ​​как политики истечения срока действия паролей, диапазоны идентификаторов пользователей, используемых при создании системы и обычных пользователей, и многое другое.

    Как создать нового пользователя в Linux

    Чтобы создать новую учетную запись пользователя, введите useradd , а затем имя пользователя.

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

    sudo useradd имя пользователя В простейшей форме, при использовании без каких-либо параметров, useradd создаст новую учетную запись пользователя с настройками по умолчанию, указанными в / etc. /по умолчанию/useradd .

    Команда добавляет запись в файлы /etc/passwd , /etc/shadow, /etc/group и /etc/gshadow .

    Чтобы войти в систему как вновь созданный пользователь, необходимо установить пароль пользователя. Для этого запустите команду passwd с последующим именем пользователя:

    sudo passwd username

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

    Изменение пароля для имени пользователя. Новый пароль: введите новый пароль еще раз: passwd: все токены аутентификации успешно обновлены.

    Как добавить нового пользователя и создать домашний каталог

    В большинстве дистрибутивов Linux при создании новой учетной записи пользователя с помощью команды useradd домашний каталог пользователя не создается.

    Используйте параметр -m ( --create-home ) для создания пользовательского каталога --create-home как /home/username :

    sudo useradd -m имя пользователя

    Приведенная выше команда создает домашний каталог нового пользователя и копирует файлы из каталога /etc/skel в домашний каталог пользователя.Если вы поместите список файлов в директорию /home/username , вы увидите файлы инициализации:

    ls -la /home/username/

    drwxr-xr-x 2 username username 4096 Dec 11 11:23. drwxr-xr-x 4 root root 4096 11 декабря 11:23 .. -rw-r - r-- 1 имя пользователя имя пользователя 220 4 апреля 2018 г. .bash_logout -rw-r - r-- 1 имя пользователя имя пользователя 3771 4 апреля 2018 г. .bashrc -rw-r - r-- 1 имя пользователя имя пользователя 807 4 апреля 2018 г. .profile

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

    Создать пользователя с указанным домашним каталогом

    Например, чтобы создать нового пользователя с именем имя пользователя с каталогом /opt/имя пользователя , необходимо выполнить следующую команду:

    sudo useradd -m -d / opt / username username

    Создать пользователя с указанным ID пользователя

    В операционных системах Linux и Unix пользователи идентифицируются по уникальному UID и имени пользователя.

    Идентификатор пользователя (UID) — это уникальное положительное целое число, которое Linux присваивает каждому пользователю. UID, наряду с другими политиками управления доступом, используется для определения видов действий, которые пользователь может выполнять с системными ресурсами.

    По умолчанию при создании нового пользователя система назначает следующий доступный UID из диапазона идентификаторов пользователей, указанных в файле login.defs .

    Используйте параметр -u ( --uid ), чтобы создать пользователя с указанным UID.Например, чтобы создать нового пользователя с именем username user with username UID 1500 , введите:

    sudo useradd -u 1500 username

    Вы можете проверить UID пользователя командой 0:0 905

    id -u имя пользователя

    1500

    Создать пользователя с определенным идентификатором группы

    Группы Linux — это организационные единицы, используемые для организации и управления учетными записями пользователей в Linux.Основная цель групп — определить набор разрешений, таких как разрешения на чтение, запись или выполнение для данного ресурса, которые могут совместно использоваться пользователями в группе.

    При создании нового пользователя поведение по умолчанию useradd заключается в создании группы с тем же именем, что и имя пользователя, и с тем же GID, что и UID.

    Используйте параметр -g ( --gid ), чтобы создать пользователя с указанной исходной группой входа в систему.Вы можете ввести имя группы или номер GID. Имя группы или GID уже должны существовать.

    Например, чтобы создать нового пользователя с именем , имя пользователя и установить группу входа в систему пользователей , введите:

    sudo useradd -g users имя пользователя

    Чтобы проверить GID пользователя, используйте команду

    5 id:

    5

    id -gn имя пользователя

    пользователей

    Создать пользователя и назначить несколько групп

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

    Опция -G ( --groups ) позволяет указать список дополнительных групп, членом которых будет являться пользователь.

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

    sudo useradd -g users -G wheel, developer username

    Вы можете проверить группы пользователей, написав

    id username

    uid = 1002 (username) gid = 100 (0users) gid = 100 (0users) ), 10 (колесо), 993 (докер)

    Создать пользователя с указанной оболочкой входа в систему

    По умолчанию для новой оболочки входа пользователя задана оболочка, указанная в /etc/default/useradd .В некоторых дистрибутивах Linux, таких как Ubuntu 18.04, для оболочки по умолчанию установлено значение /bin/sh , а в других – /bin/bash .

    Параметр -s ( --shell ) указывает оболочку входа для нового пользователя.

    Например, чтобы создать нового пользователя с именем , имя пользователя с / usr / bin / zsh в качестве оболочки для входа в систему, введите:

    sudo useradd -s / usr / bin / zsh имя пользователя

    Проверьте запись пользователя5 в

    2 /etc/passwd для проверки входа пользователя shell:

    имя пользователя grep / etc / passwd

    имя пользователя: x: 1001: 1001 :: / home / имя пользователя: / usr / bin / zsh

    Создать пользователя с пользовательский комментарий

    Параметр -c ( --comment ) добавляет краткое описание нового пользователя.Обычно полное имя пользователя или контактные данные добавляются в качестве комментария.

    В приведенном ниже примере мы создаем нового пользователя с именем имя пользователя с текстовой строкой Тестовая учетная запись пользователя в качестве комментария:

    sudo useradd -c "Тестовая учетная запись пользователя" имя пользователя

    Комментарий сохраняется в / etc / passwd :

    имя пользователя grep / etc / passwd

    имя пользователя: x: 1001: 1001: тестовая учетная запись пользователя: / home / имя пользователя: / bin / sh

    Также известно поле для комментариев как ГЕКОС .

    Создать пользователя с датой истечения срока действия

    Параметр -e ( --expiredate ) указывает время истечения срока действия новых учетных записей пользователей. Эта опция полезна для создания временных учетных записей. Дата должна быть указана в формате ГГГГ-ММ-ДД .

    Например, чтобы создать новую учетную запись имя пользователя с именем имя пользователя со сроком действия, установленным на 22 января 2019 года, вы должны выполнить:

    sudo useradd -e 2019-01-22 имя пользователя

    используйте команду chage , чтобы проверить срок действия учетной записи пользователя:

    sudo chage -l имя пользователя

    Вывод будет выглядеть примерно так:

    Последнее изменение пароля: 11 декабря 2018 г. Срок действия пароля: никогда Пароль неактивен: никогда Срок действия учетной записи: 22 января 2019 г. Минимальное количество дней между сменой пароля: 0 Максимальное количество дней между сменой пароля: 99999 Количество дней предупреждения до истечения срока действия пароля: 7

    Создать системного пользователя

    Нет реальная техническая разница между системой и обычными (обычными) пользователями.Обычно системные пользователи создаются при установке операционной системы и новых пакетов.

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

    Используйте опцию -r ( - система ) для создания системной учетной записи пользователя. Например, чтобы создать нового системного пользователя с именем , имя пользователя , введите:

    sudo useradd -r имя пользователя

    Системные пользователи создаются без ограничения срока действия.Их UID выбираются из диапазона идентификаторов системных пользователей, указанного в файле login.defs, который отличается от диапазона, используемого для обычных пользователей.

    Изменение добавленных пользователем значений по умолчанию

    Параметры useradd по умолчанию можно просмотреть и изменить с помощью -D , --defaults или вручную отредактировав значения в /etc/default /useradd .

    Чтобы просмотреть текущие параметры по умолчанию, введите:

    useradd -D

    Вывод будет выглядеть примерно так:

    GROUP = 100 HOME = / home INACTIVE = -1 EXPIRE = SHELL = / bin / sh SKEL=/etc/skel CREATE_MAIL_SPOOL=no

    Допустим, вы хотите изменить оболочку входа по умолчанию с /bin/sh на /bin/bash .Для этого укажите новую оболочку, как показано ниже:

    sudo useradd -D -s /bin/bash

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

    sudo useradd - Д | grep -i shell

    SHELL = /bin/bash

    Запрос

    В этом уроке мы показали вам, как создавать новые учетные записи пользователей с помощью команды useradd . Одни и те же инструкции применимы ко всем дистрибутивам Linux, включая Ubuntu, CentOS, RHEL, Debian, Fedora и Arch Linux.

    Если у вас есть вопросы, оставьте комментарий.

    группа конечных пользователей .

    Как создать или удалить папку в Ubuntu

    Опытные пользователи Windows, наверное, давно не задумывались, насколько легко работать с каталогами в этой операционной системе. Однако когда наступает переход на Linux, возникает много новых вопросов. В этой Ubuntu создайте папку, в которой вы можете использовать несколько методов. Как известно, профессионалы используют терминал даже для простых задач. Это оправдано — возможность настройки с его помощью отдельных функций системы просто потрясающая.Это позволяет выполнять большую работу с помощью простого набора текстовых команд.

    Алгоритм работы с файловой структурой в Ubuntu.

    Необходимые операции можно легко выполнить без помощи терминала - но при этом теряются некоторые функции. Так же есть вопрос удобства - некоторым некоторые операции проще выполнять мышкой. Кто-то, наоборот, облегчает работу с клавиатурой. В контексте Ubuntu права на папки также играют большую роль. И гораздо проще задать их в текстовом формате.Рассмотрим некоторые способы работы с каталогами.

    Контент

    • 1 С помощью файлового менеджера
    • 2 Через терминал
    • 3 Права на редактирование
    • 4 Наконец

    С помощью файлового менеджера

    1. Перейти в меню быстрого доступа Nautilus File Manager.
    2. Откройте каталог, в котором вы хотите создать новый элемент.
    3. Вызов контекстного меню. Для этого нажмите на пустое место в уже созданной папке.
    4. Нажмите «Создать папку».
    5. Пожалуйста, введите имя. Вы можете использовать для этого любой символ, кроме косой черты.
    6. Подтвердить изменения. Для этого вы можете нажать на любое пустое место в вашем файловом менеджере или нажать «Enter».

    Через терминал

    Способ работы с терминалом Ubuntu позволяет проще и быстрее создавать элементы каталога. Для новичков в Linux это предпочтительный метод. Это один из самых простых методов работы. Взаимодействие с Терминалом будет возможно в любом случае, поэтому лучше учиться на таких простых задачах.

    Весь процесс работы с каталогами в Ubuntu осуществляется одним инструментом — mkdir. У него не так много функций. Сначала нужно научиться называть его элементом.

    1. Откройте Терминал комбинацией клавиш «Ctrl + Alt + T».
    2. Введите:

    $ mkdir имя_папки

    В текущем каталоге (открытом в данный момент в файловом менеджере) будет создан новый каталог.

    Если вы хотите создать элемент в другом каталоге, имя должно выглядеть так:

    $ mkdir Parent / Generated

    Вы также можете указать так называемый абсолютный путь к папке:

    $ mkdir ~ / Parent/Generated

    Если вам нужно создать более одного элемента, вы можете сделать это:

    $ mkdir {First_Created_Folder, Second, Third}

    Если вы создаете каталог с вложенными элементами, эта команда поможет :

    $ mkdir -p ~ / Downloads / Прикрепленная_папка / ... / ...

    Удалить каталоги

    Если вы хотите удалить папку Ubuntu предлагает следующий вариант:

    $ rm -Rf /Имя_каталога/Вложенный_каталог

    ВАЖНО. Не забудьте указать полный путь, иначе исполняемый файл удалит все по указанному адресу.

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

    Редактирование прав

    Чтобы изменить права доступа к любому каталогу, вам необходимо использовать дополнительные команды.Изменить права доступа к папке Ubuntu позволяет использовать команду «chown».

    В структуре данных которые нужно ввести в терминал это будет выглядеть так:

    sudo chown -R user:group/home/user/dir/

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

    Обычно для рекурсивного редактирования прав доступа к папке в Ubuntu используйте команду «-R».

    Наконец

    В этой статье мы рассмотрели основные приемы работы со справочниками.Помимо изменения прав доступа к папкам, Ubuntu действительно упрощает эту задачу. Знакомство с удалением папки — Ubuntu позволяет быстро сделать это как через Терминал, так и стандартным способом — через графическую оболочку.

    Если у вас есть вопросы или вы хотите принять участие в обсуждении - смотрите комментарии и другие страницы нашего сайта!

    .

    Смотрите также

    Только новые статьи

    Введите свой e-mail

    Видео-курс

    Blender для новичков

    Ваше имя:Ваш E-Mail: