Использование символических ссылок в Windows

Символическая ссылка (симлинк, символьная ссылка, Symbolic link) это специальный файл на файловой системе, которые сам не содержит данных, а является по сути ярлыком, указывающим на какой-то другой объект (файл или папку). При обращении к симлику операционная система считает, что это оригинальный файл (папка) и работает с ними совершенно прозрачно.

Интерфейсы взаимодействия с EFS [ править | править код ]

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

Использование графического интерфейса

Для того, чтобы зашифровать файл или папку, содержащую файл, пользователь может воспользоваться соответствующим окном диалога свойства файла или папки, установив или сняв флажок «шифровать содержимое для защиты данных», при этом для файлов начиная с Windows XP можно добавить открытые ключи других пользователей, которые тоже будут иметь возможность расшифровать данный файл и работать с его содержимым (при наличии соответствующих разрешений). При шифровании папки шифруются все файлы, находящиеся в ней, а также те, которые будут помещены в неё позднее.

При работе с проводником Windows возможно (по умолчанию) отображение зашифрованных папок и файлов другим (по умолчанию зелёным) цветом, позволяющим визуально отличить защищённое таким образом содержимое. При копировании зашифрованных файлов на раздел, где шифрование не поддерживается (например, с файловой системой FAT32 и т. д.) будет выдано предупреждение о том, что файл будет расшифрован.

Методом редактирования реестра возможно добавить в контекстное меню проводника (и других, поддерживающих эту функциональность файловых менеджеров) пунктов «зашифровать» и «расшифровать», что повышает удобство работы при частом использовании этих функций, для чего необходимо создать (или изменить существующий) параметр реестра типа DWORD EncryptionContextMenu на 00000001 , находящийся в ветке HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerAdvanced .

Интерфейс командной строки

Для работы с EFS пользователем имеется также возможность использовать интерфейс командной строки — команда cipher. При выполнении данной команды без параметров будет выведено содержимое текущей папки с меткой U перед файлом, если он не зашифрован, и E, если зашифрован.

Команда зашифрования файла/папки имеет вид:

Команда расшифрования файла/папки имеет вид:

Данная утилита имеет ряд других возможностей, список которых может быть получен при помощи команды cipher /? , среди которых перешифрование файлов с новым ключом, генерация нового ключа шифрования, добавление агента восстановления и т. д.

Очистка неиспользуемого места

При удалении файла или папки не происходит полного физического удаления информации, очищается лишь только «оглавление» файловой системы. С помощью утилиты cipher возможно частичное решение этой проблемы, так как существует возможность выполнить очистку свободного места на диске затиранием её. Для этого необходимо использовать синтаксис

Читайте также:  10 крутых фишек iOS 14, о которых не рассказали на WWDC

Для работы с EFS прикладных и системных программ возможно использование документированных и недокументированных функций API Windows.

Как найти и вывести все символические ссылки на диске?

В Windows нет простых инструментов для просмотра и управления всеми симлинками на диске.

Вы можете вывести список всех символических ссылок на диске с помощью команды:

dir /AL /S C:\ | find «SYMLINK»

  • /A – вывести файлы с атрибутом L (симлинк);
  • /S –выполнить команду рекурсивно для всех вложенных каталогов;
  • C:\ — укажите имя диска, на котором нужно найти все символические ссылки (если вы не хотите сканировать весь диск, укажите путь к нужному каталогу)

Также можно вывести список всех символических ссылок на диске с помощью PowerShell. Для этого нужно просканировать все каталоги и найти NTFS объекты с атрибутом ReparsePoint:

Get-ChildItem -Path C:\ -Force -Recurse -ErrorAction ‘silentlycontinue’ | Where { $_.Attributes -match «ReparsePoint»}

Вы можете создавать символические ссылки, используя команду mklink в окне командной строки в качестве администратора. Чтобы открыть её, найдите ярлык «Командная строка» в меню «Пуск», щелкните его правой кнопкой мыши и выберите «Запуск от имени администратора».

В Windows Creators Update вы можете использовать обычное окно командной строки, не запуская его как администратор. Однако, чтобы сделать это без окна командной строки администратора, вы должны сначала включить режим разработчика в Параметры → Обновление и безопасность → Разработчики.

Без каких-либо дополнительных опций mklink создает символическую ссылку на файл. Команда ниже создает символическую или «мягкую» ссылку (Link) на объект Target:

mklink Link Target

Используйте /D, если вы хотите создать символическую ссылку, указывающую на каталог:

mklink /D Link Target

Используйте /H, если вы хотите создать жесткую ссылку, указывающую на файл:

mklink /H Link Target

Используйте /J для создания жесткой ссылки, указывающую на каталог:

mklink /J Link Target

Так, например, если вы хотите создать жесткую ссылку в C:\LinkToFolder, которая указывала бы на C:\Users\Name\OriginalFolder, вы должны выполнить следующую команду:

mklink /J C:\LinkToFolder C:\Users\Name\OriginalFolder

Вам нужно будет помещать в кавычки пути с пробелами. Например, если папка называется C:\Link To Folder и C:\Users\Name\Original Folder, вы должны использовать следующую команду:

mklink /J «C:\Link To Folder» «C:\Users\Name\Original Folder»

Если вы увидите сообщение «У вас недостаточно прав для выполнения этой операции», Вам следует запустить Командную строку как Администратор.

Типы файлов в Linux

Ниже представлено краткое описание 7 различных типов файлов в Linux:

   — — обычный файл;

   d — каталог;

   c — символьное устройство;

   b — блочное устройство;

Читайте также:  21 программ и приложений для рисования мультиков

   s — (локальный) сокет;

   p — именованный канал;

   l — символьная ссылка.

Обычный файл

Обозначается как —

Обычный файл — это наиболее распространенный тип файлов в Linux. Текстовые файлы, изображения, двоичные файлы, общие библиотеки и т.д. — все они относятся к обычному типу файлов. Вы можете создать обычный файл с помощью команды touch:

[email protected]:~$ touch [email protected]:~$ ls -ld rw-r—r— 1 diego diego 0 фев 20 11:14

Первый символ вывода команды ls, в данном случае -, обозначает, что перед нами обычный файл. Для удаления обычного файла используется команда rm (сокр. от «remove»):

[email protected]:~$ rm [email protected]:~$ ls -ld ls: невозможно получить доступ к »: Нет такого файла или каталога

Каталог

Обозначается как d

Каталог — это второй по распространенности тип файлов в Linux. Каталог можно создать с помощью команды mkdir (сокр. от «make directory»):

[email protected]:~$ mkdir ravesli [email protected]:~$ ls -ld ravesli drwxr-xr-x 2 diego diego 4096 фев 20 12:14 ravesli

Как объяснялось ранее, каталогу соответствует символ d (от «directory») выходных данных команды ls. Для удаления пустого каталога используется команда rmdir (сокр. от «remove directory»):

[email protected]:~$ rmdir ravesli [email protected]:~$ ls -ld ravesli ls: невозможно получить доступ к ‘ravesli’: Нет такого файла или каталога

При попытке удалить каталог, содержащий внутри себя файлы, вы получите сообщение об ошибке:

[email protected]:~$ mkdir ravesli [email protected]:~$ touch /home/diego/ravesli/ [email protected]:~$ rmdir ravesli rmdir: не удалось удалить ‘ravesli’: Каталог не пуст

В этом случае вам нужно использовать команду rm -r:

[email protected]:~$ rm -r ravesli/ [email protected]:~$ ls -ld ravesli ls: невозможно получить доступ к ‘ravesli’: Нет такого файла или каталога [email protected]:~$

Символьное устройство

Обозначается как c

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

[email protected]:~$ sudo ls -ld /dev/urandom crw-rw-rw- 1 root root 1, 9 фев 20 12:49 /dev/urandom

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

Блочное устройство

Обозначается как b

Блочные устройства похожи на символьные. Чаще всего они управляют аппаратными устройствами, такими как: жесткие диски, память и т.д. Большинство из них располагаются в каталоге /dev:

[email protected]:~$ ls -ld /dev/sda brw-rw—- 1 root disk 8, 0 фев 20 12:49 /dev/sda

Локальные сокеты

Обозначаются как s

Как правило, локальные сокеты используются для связи между такими службами, как: X Window, syslog и т.д.

$ ls -ld /dev/log srw-rw-rw- 1 root root 0 Jan  4 10:13 /dev/log

Именованные каналы

Обозначаются как p

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

Читайте также:  Как получить бесплатно 50 ГБ в iCloud на 4 месяца

Символьные ссылки

Обозначаются как l

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

Существует два типа символьных ссылок в Linux:

   Мягкая ссылка является указателем на некоторый файл или каталог (сродни ярлыкам в Windows). Если вы переместите файл, связь с символьной ссылкой разорвётся (но сама ссылка все еще будет существовать, указывая на файл, которого нет). Если вы замените файл другим, сохранив имя, символьная ссылка будет указывать на новый файл. Символьные ссылки могут охватывать различные разделы файловой системы.

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

Для создания символьной мягкой ссылки используется команда ln -s:

[email protected]:~$ echo file1 > file1 [email protected]:~$ ln -s file1 file2 [email protected]:~$ cat file2 file1 [email protected]:~$ ls -ld file2 lrwxrwxrwx 1 diego diego 5 фев 20 14:11 file2 -> file1

Чтобы удалить символьную ссылку, мы можем использовать команду unlink или rm.

Управление печатью (CUPS)

  • lpstat – отображение статуса заданий, классов и принтеров
    • -a printer — отображение текущего статуса принтера printer
    • -c class — отображение текущего статуса класса class
    • -p printer — отображение текущего статуса принтера/очереди (включен или выключен) printer. Если не указан принтер, то отображается информация о всех принтерах.
    • -d — отображение текущих очередей печати.
  • lpr file — печать файла file на принтер по умолчанию (в новых версиях CUPS заменена на lp)
  • lpinfo — отображение доступных устройств принтеров и драйверов
  • lppasswd username — изменение пароля пользователя username в CUPS в файл /etc/cups/
    • -a username — добавление нового пользователя username
    • -x username — удаление пользователя username
  • lpoptions — управление настройками принтера и отображение настроек.
  • lpadmin — настройка CUPS принтеров и класссов
  • accept очередь — включение возможности принятия в очередь заданий
  • reject очередь — отключение возможности приема новых заданий в очередь
  • enable очередь — запуск очереди очередь
  • disable очередь — остановка очереди печати очередь
    • -с очередь — отмена обработки печати всех документов в очереди (аналог «очистить очередь»)
    • -r причина — указание причины очистки

Заключение

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

У каждого пользователя Linux есть свой список must have команд. Наверняка и вам есть чем дополнить данный обзор? Делитесь своими любимыми командами Linux в комментариях!

Хотите, чтобы операционка работала как швейцарские часы? Надёжная и мощная платформа для развёртывания любых дистрибутивов Linux — VDS от Eternalhost!

Оцените материал: [Всего голосов: 8 Средний: 4.5/5]