Как найти папку shell

Время на прочтение
5 мин

Количество просмотров 125K

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

Команда find – это невероятно мощный инструмент, позволяющий искать файлы не только по названию, но и по:

  • Дате добавления.
  • Содержимому.
  • Регулярным выражениям.

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

  • Управления дисковым пространством.
  • Бэкапа.
  • Различных операций с файлами.

Команда find в Linux производит поиск файлов и папок на основе заданных вами критериев и позволяет выполнять действия с результатами поиска.

Синтаксис команды find:

$ find directory-to-search criteria action

Где:

  • directory-to-search (каталог поиска) – это отправной каталог, с которой find начинает поиск файлов по всем подкаталогам, которые находятся внутри. Если не указать путь, тогда поиск начнется в текущем каталоге;
  • criteria (критерий) – критерий, по которым нужно искать файлы;
  • action (действие) – что делать с каждым найденным файлом, соответствующим критериям.

Поиск по имени

Следующая команда ищет файл s.txt в текущем каталоге:

$ find . -name "s.txt"
./s.txt

Где:

  • . (точка) – файл относится к нынешнему каталогу
  • -name – критерии по которым осуществляется поиск. В данном случае поиск по названию файла.

В данном случае критерий -name учитывает только символы нижнего регистра и файл S.txt не появиться в результатах поиска. Чтобы убрать чувствительность к регистру необходимо использовать –iname.

$ find . -iname "s.txt"
./s.txt
./S.txt

Для поиска всех изображений c расширением .png нужно использовать шаблон подстановки *.png:

$ find . -name "*.png"
./babutafb.png
./babutafacebook.png
./Moodle2.png
./moodle.png
./moodle/moodle1.png
./genxfacebook.png

Можно использовать название каталога для поиска. Например, чтобы с помощью команды find найти все png изображения в каталоге home:

$ find /home -name "*.png"
find: `/home/babuta/.ssh': Permission denied
/home/vagrant/Moodle2.png
/home/vagrant/moodle.png
/home/tisha/hello.png
find: `/home/tisha/testfiles': Permission denied
find: `/home/tisha/data': Permission denied
/home/tisha/water.png
find: `/home/tisha/.cache': Permission denied

Если выдает слишком много ошибок в отказе разрешения, тогда можно добавить в конец команды – 2> /dev/null. Таким образом сообщения об ошибках будут перенаправляться по пути dev/null, что обеспечит более чистую выдачу.

find /home -name "*.jpg" 2>/dev/null
/home/vagrant/Moodle2.jpg
/home/vagrant/moodle.jpg
/home/tisha/hello.jpg
/home/tisha/water.jpg

Поиск по типу файла

Критерий -type позволяет искать файлы по типу, которые бывают следующих видов:

  • f – простые файлы;
  • d – каталоги;
  • l – символические ссылки;
  • b – блочные устройства (dev);
  • c – символьные устройства (dev);
  • p – именованные каналы;
  • s – сокеты;

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

$ find . -type d
.
./.ssh
./.cache
./moodle

Поиск по размеру файла

Допустим, что вам необходимо найти все большие файлы. Для таких ситуаций подойдет критерий -size.

  • «+» — Поиск файлов больше заданного размера
  • «-» — Поиск файлов меньше заданного размера
  • Отсутствие знака означает, что размер файлов в поиске должен полностью совпадать.

В данном случае поиск выведет все файлы более 1 Гб (+1G).

$ find . -size +1G
./Microsoft_Office_16.29.19090802_Installer.pkg
./android-studio-ide-183.5692245-mac.dmg

Единицы измерения файлов:

  • c — Байт
  • k — Кбайт
  • M — Мбайт
  • G — Гбайт

Поиск пустых файлов и каталогов

Критерий -empty позволяет найти пустые файлы и каталоги.

$ find . -empty
./.cloud-locale-test.skip
./datafiles
./b.txt
...
./.cache/motd.legal-displayed

Поиск времени изменения

Критерий -cmin позволяет искать файлы и каталоги по времени изменения. Для поиска всех файлов, измененных за последний час (менее 60 мин), нужно использовать -60:

$ find . -cmin -60
.
./a.txt
./datafiles

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

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

$ find . -cmin +60

Поиск по времени доступа

Критерий -atime позволяет искать файлы по времени последнего доступа.

$ find . -atime +180

Таким образом можно найти файлы, к которым не обращались последние полгода (180 дней).

Поиск по имени пользователя

Опция –user username дает возможность поиска всех файлов и каталогов, принадлежащих конкретному пользователю:

$ find /home -user tisha 2>/dev/null

Таким образом можно найти все файлы пользователя tisha в каталоге home, а 2>/dev/null сделает выдачу чистой без ошибок в отказе доступа.

Поиск по набору разрешений

Критерий -perm – ищет файлы по определенному набору разрешений.

$ find /home -perm 777

Поиск файлов с разрешениями 777.

Операторы

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

  • -and
  • -or
  • -not

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

$ find /home  -user tisha  -and  -size +1G  2>/dev/null

Если файлы могут принадлежать не только пользователю tisha, но и пользователю pokeristo, а также быть размером более 1 Гбайта.

$ find /home ( -user pokeristo -or -user tisha )  -and  -size +1G  2>/dev/null

Перед скобками нужно поставить обратный слеш «».

Действия

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

  • -delete — Удаляет соответствующие результатам поиска файлы
  • -ls — Вывод более подробных результатов поиска с:
    • Размерами файлов.
    • Количеством inode.
  • -print Стоит по умолчанию, если не указать другое действие. Показывает полный путь к найденным файлам.
  • -exec Выполняет указанную команду в каждой строке результатов поиска.

-delete

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

$ find . -empty -delete

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

-exec:

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

-exec command {} ;

Где:

  • command – это команда, которую вы желаете выполнить для результатов поиска. Например:
    • rm
    • mv
    • cp
  • {} – является результатами поиска.
  • ; — Команда заканчивается точкой с запятой после обратного слеша.

С помощью –exec можно написать альтернативу команде –delete и применить ее к результатам поиска:

$ find . -empty -exec rm {} ;

Другой пример использования действия -exec:

$ find . -name "*.jpg" -exec cp {} /backups/fotos ;

Таким образом можно скопировать все .jpg изображения в каталог backups/fotos

Заключение

Команду find можно использовать для поиска:

  • Файлов по имени.
  • Дате последнего доступа.
  • Дате последнего изменения.
  • Имени пользователя (владельца файла).
  • Имени группы.
  • Размеру.
  • Разрешению.
  • Другим критериям.

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

  • Удаление.
  • Копирование.
  • Перемещение в другой каталог.

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

image

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

Отсюда вопросы:
1) Как найти папку по имени?
Например, find workers -type d не особо помогает. Ищет только в текущем каталоге, а нужно по всей системе.

2) Как найти файл по части имени?
Т.е. часть имени должна быть _workers.rb, по ней нужно осуществить поиск

Поиск по всей системе.

задан 3 мая 2018 в 9:39

evans's user avatar

5

1) Как найти папку по имени?

find / -type d -name 'workers'

/ — искать по всей системе, то есть начинать с точки монтирования «/»

-type d — искать только папки

-name 'workers' — в данном случае точное совпадение с workers

2) Как найти файл по части имени?

find / -type f -name '*_workers.rb'

/ — искать по всей системе, то есть начинать с точки монтирования «/»

-type f — искать только файлы

-name '*_workers.rb' — в данном случае все, что заканчивается на «_workers.rb»

ответ дан 23 мая 2018 в 13:55

Vitaliy Kalyuzhnyak's user avatar

Shell это интерпретатор команд операционной системы, с помощью команд Shell ::: {GUID}  из диалогового окна «Выполнить» , вы можете получить доступ к расположению: Элементов Панели управления, Параметрам, системным папкам, программам и  другим системным настройкам Windows 10.

С каждой версией Windows, добавляются множество новых локаций Shell. Ниже вы найдете список местоположений Shell CLSID (GUID), доступных в Windows 10.

Сегодня я хотел бы поделиться с вами наиболее полным списком местоположений Shell в Windows 10.

Shell Folders

Папки Shell являются объектами ActiveX, которые отображают специальную виртуальную папку или виртуальный апплет. В некоторых случаях они обеспечивают доступ к физическим папкам на жестком диске или даже к функциональности ОС, как «Свернуть все окна» или переключатель     Alt + Tab.

Ниже вы узнаете, как выполнять команды CLSID-апплетов, использовать аплет в качестве ярлыка рабочего стола. CLSID является глобально уникальным идентификатором, который идентифицирует объект класса COM. 

Что вы можете сделать с Shell Folders

Вы можете использовать их в различных сценариях, но в общем случае Вы можете использовать их, чтобы создать ярлык для конкретного апплета панели управления или функции Windows. Например, следующая команда откроет папку» Все элементы Панели управления«: Shell:::{21EC2020-3AEA-1069-A2DD-08002B30309D}

Команды апплета CLSID — Диалоговое окно Выполнить:

Примечание: Нажмите клавиши Win + R на клавиатуре, скопируйте команду ниже и вставьте ее в диалоговое окно «Выполнить«.

Shell:::{21EC2020-3AEA-1069-A2DD-08002B30309D} 

Эта команда откроет окно: Все элементы панели управления.

Следующая команда откроет окно Сетевые подключения:

Shell:::{7007ACC7-3202-11D1-AAD2-00805FC1270E}

И следующая команда откроет папку «Applications», где вы найдете все установленные программы и приложения на вашем компьютере под управлением Windows 10.

Shell:::{4234d49b-0245-4df3-b780-3893943456e1}

Команды CLSID-апплетов, это множество интересных вещей.

Список расположения Shell CLSID (GUID) в Windows 10.

Shell расположение Команда
Папка кэша ActiveX Shell:::{88C6C381-2E85-11D0-94DE-444553540000}
Добавить в сетевое окружение Shell:::{D4480A50-BA28-11d1-8E75-00C04FA31A86}
Администрирование Shell:::{D20EA4E1-3957-11d2-A40B-0C5020524153}
Все элементы панели управления Shell:::{21EC2020-3AEA-1069-A2DD-08002B30309D}
Все настройки Shell:::{5ED4F38C-D3FF-4D61-B506-6820320AEBFE}
Все задачи Shell:::{ED7BA470-8E54-465E-825C-99712043E01C}
Все Приложения Shell:::{4234d49b-0245-4df3-b780-3893943456e1}
Проводник Shell:::{c57a6066-66a3-4d91-9eb9-41532179f0a5}
Автозапуск Shell:::{9C60DE1E-E5FC-40f4-A487-460851A8D915}
Резервное копирование и восстановление (Windows 7) Shell:::{B98A2BEA-7D42-4558-8BD1-832F41BAC6FD}
Шифрование диска BitLocker Shell:::{D9EF8727-CAC2-4e60-809E-86F80A666C91}
Устройства Bluetooth Shell:::{28803F59-3A75-4058-995F-4EE5503B023C}
Портфель Shell:::{85BBD920-42A0-1069-A2E4-08002B30309D}
Cabinet Shell Folder Shell:::{0CD7A5C0-9F37-11CE-AE65-08002B2E1262}
CLSID_AppInstanceFolder Shell:::{64693913-1c21-4f30-a98f-4e52906d3b56}
CLSID_DBFolder Shell:::{b2952b16-0e07-4e5a-b993-58c52cb94cae}
CLSID_DBFolderBoth Shell:::{1bef2128-2f96-4500-ba7c-098dc0049cb2}
CLSID_Поиск Shell:::{9343812e-1c37-4a49-a12e-4b2d810d956b}
CLSID_StartMenuCommandingProviderFolder Shell:::{a00ee528-ebd9-48b8-944a-8942113d46ac}
CLSID_StartMenuLauncherProviderFolder Shell:::{98F275B4-4FFF-11E0-89E2-7B86DFD72085}
CLSID_StartMenuPathCompleteProviderFolder Shell:::{e345f35f-9397-435c-8f95-4e922c26259e}
CLSID_StartMenuProviderFolder Shell:::{daf95313-e44d-46af-be1b-cbacea2c3065}
Command Folder Shell:::{437ff9c0-a07f-4fa0-af80-84b6c6440a16}
Общие папки ФС места Shell:::{d34a6ca6-62c2-4c34-8a7c-14709c1ad938}
CompressedFolder Shell:::{E88DCCE0-B7B3-11d1-A9F0-00AA0060FA31}
Подключение к Shell:::{38A98528-6CBF-4CA9-8DC0-B1E1D10F7B1B}
Панель управления Shell:::{26EE0668-A00A-44D7-9371-BEB064C98683}
Панель управления Shell:::{5399E694-6CE5-4D6C-8FCE-1D8870FDCBA0}
Диспетчер учетных данных Shell:::{1206F5F1-0569-412C-8FEC-3204630DFB70}
Программы по умолчанию Shell:::{17cd9488-1228-4b2f-88ce-4298e93e0966}
Папка делегата, которая появляется в компьютере Shell:::{b155bdf8-02f0-451e-9a26-ae317cfd7779}
Папка delegate, которая появляется в папке файлов пользователей Shell:::{DFFACDC5-679F-4156-8947-C5C76BC0B67F}
Рабочий стол Shell:::{00021400-0000-0000-C000-000000000046}
DeviceCenter  инициализация Shell:::{C2B136E2-D50E-405C-8784-363C582BF43E}
DevicePairingFolder  инициализация Shell:::{AEE2420F-D50E-405C-8784-363C582BF45A}
Устройства и принтеры Shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}
Дисплей Shell:::{C555438B-3C23-4769-A71F-B6D3D9B6053A}
Источник данных каталога содержимого DLNA Shell:::{D2035EDF-75CB-4EF1-95A7-410D9EE17170}
DXP Shell:::{8FD8B88D-30E1-4F25-AC2B-553D3D65F0EA}
Центр специальных возможностей  Shell:::{D555645E-D4F8-4c29-A827-D93C859C4F2A}
Электронная почта Shell:::{2559a1f5-21d7-11d4-bdaf-00c04f60b9f0}
Расширение хранения данных источника Shell:::{9113A02D-00A3-46B9-BC5F-9C04DADDD5D7}
Результаты папки проводника браузера Shell:::{418c8b64-5463-461d-88e0-75e2afa3c6fa}
Избранное Shell:::{323CA680-C24D-4099-B94D-446DD2D7249E}
Индекс резервного копирования файлов Shell:::{877ca5ac-cb41-4842-9c69-9136e42d47e2}
Параметры обозревателя файлов Shell:::{6DFD7C5C-2451-11d3-A299-00C04F8EF6AF}
История файлов Shell:::{F6B6E965-E9B2-444B-9286-10C9152EDBC5}
FileHistoryDataSource Shell:::{2F6CE85C-F9EE-43CA-90C7-8A9BD53A2467}
Ярлык папки Shell:::{0AFACED1-E828-11D1-9187-B532F1E9575D}
Параметры шрифта Shell:::{93412589-74D4-4E4E-AD0E-E0CB621440FD}
Шрифты Shell:::{BD84B380-8CA2-1069-AB1D-08000948F534}
Часто используемые папки Shell:::{3936E9E4-D92C-4EEE-A85A-BC16D5EA0819}
Кэш Fusion Shell:::{1D2680C9-0E2A-469d-B787-065558BC7D43}
Игры Shell:::{ED228FDF-9EA8-4870-83b1-96b02CFE0D52}
Установка программ Shell:::{15eae92e-f17a-4431-9f28-805e482dafd4}
История Shell:::{FF393560-C2A7-11CF-BFF4-444553540000}
Домашняя группа Shell:::{6785BFAC-9D2D-4be5-B7E2-59937E8FB80A}
Домашняя группа Shell:::{67CA7650-96E6-4FDD-BB43-A8E774F73A57}
Домашняя группа Shell:::{B4FB3F98-C1EA-428d-A78A-D1F5659CBA93}
История IE и источник данных оболочки каналы для поиска Windows Shell:::{11016101-E366-4D22-BC06-4ADA335C892B}
IE RSS-каналы папки Shell:::{9a096bb5-9dc3-4d1c-8526-c3cbf991ea4e}
Установленные обновления Shell:::{d450a8a1-9568-45c7-9c0e-b4f9fb4537bd}
Язык Shell:::{BF782CC9-5A52-4A17-806C-2A894FFEEAC5}
LayoutFolder Shell:::{328B0346-7EAF-4BBE-A479-7CB88A095F5B}
Библиотеки Shell:::{031E4825-7B94-4dc3-B131-E946B44C8DD5}
Папка библиотеки делегата, которая появляется в папке файлов пользователей Shell:::{896664F7-12E1-490f-8782-C0835AFD98FC}
Папка библиотеки Shell:::{a5a3563a-5755-4a6f-854e-afa3230b199f}
Расположение папки Shell:::{267cf8a9-f4e3-41e6-95b1-af881be130ff}
Управление беспроводными сетями Shell:::{1FA9085F-25A2-489B-85D4-86326EEDCD87}
Медиа-серверы Shell:::{289AF617-1CC3-42A6-926C-E6A863F0E3BA}
Microsoft FTP-папка Shell:::{63da6ec0-2e98-11cf-8d82-444553540000}
Microsoft Office Outlook Shell:::{89D83576-6BD1-4c86-9454-BEB04E94C819}
Мои документы Shell:::{450D8FBA-AD25-11D0-98A8-0800361B1103}
Сеть Shell:::{208D2C60-3AEA-1069-A2D7-08002B30309D}
Сеть Shell:::{F02C1A0D-BE21-4350-88B0-7367FC96EF3C}
Сеть и коммутационный центр Shell:::{8E908FC9-BECC-40f6-915B-F4CA0E70D03D}
Сетевые подключения Shell:::{7007ACC7-3202-11D1-AAD2-00805FC1270E}
Сетевые подключения Shell:::{992CFFA0-F557-101A-88EC-00DD010CCC48}
Значки в области уведомлений Shell:::{05d7b0f4-2121-4eff-bf6b-ed3f69b894d9}
Автономные файлы Shell:::{BD7A2E7B-21CB-41b2-A086-B309680C6B7E}
Автономные файлы папки Shell:::{AFDB1F70-2A4C-11d2-9039-00C04F8EEB3E}
OneDrive Shell:::{018D5C66-4533-4307-9B53-224DE2ED1FE6}
Персонализация Shell:::{ED834ED6-4B5A-4bfe-8F11-A626DCB6A921}
Фотографии Shell:::{45e8e0e8-7ae9-41ad-a9e8-594972716684}
Портативные устройства Shell:::{35786D3C-B075-49b9-88DD-029876E11C01}
Параметры электропитания Shell:::{025A5937-A6BE-4686-A844-36FE4BEC8B6D}
Предыдущие версии Shell:::{9DB7A13C-F208-4981-8353-73CC61AE2783}
Папка делегата результаты предыдущих версий Shell:::{a3c3d402-e56c-4033-95f7-4885e80b0111}
Папка результатов предыдущих версий Shell:::{f8c2ab3b-17bc-41da-9758-339d7dbf2d88}
Принтеры Shell:::{2227A280-3AEA-1069-A2DE-08002B30309D}
Принтеры Shell:::{863aa9fd-42df-457b-8e4d-0de1b8015c60}
Папка printhood делегата Shell:::{ed50fc29-b964-48a9-afb3-15ebb9b97f36}
Программы и компоненты Shell:::{7b81be6a-ce2b-4676-a29e-eb907a5126c5}
Общие папки Shell:::{4336a54d-038b-4685-ab02-99bb52d3fb8b}
Последние папки Shell:::{22877a6d-37a1-461a-91b0-dbda5aaebc99}
Recent Items Instance Folder Shell:::{4564b25e-30cd-4787-82ba-39e73a750b14}
Восстановление Shell:::{9FE63AFD-59CF-4419-9775-ABCC3849F861}
Корзина Shell:::{645FF040-5081-101B-9F08-00AA002F954E}
Подключения к рабочим столам и приложениям RemoteApp Shell:::{241D7C96-F8BF-4F85-B01F-E2B043341A4B}
Съемные диски Shell:::{F5FB2C77-0E2F-4A16-A381-3E560C68BC83}
Съемные устройства хранения Shell:::{a6482830-08eb-41e2-84c1-73920c2badb9}
Папка результатов Shell:::{2965e715-eb66-4719-b53f-1672673bbefa}
Выполнить Shell:::{2559a1f3-21d7-11d4-bdaf-00c04f60b9f0}
Поиск Shell:::{04731B67-D933-450a-90E6-4ACD2E9408FE}
Поиск Shell:::{2559a1f0-21d7-11d4-bdaf-00c04f60b9f0}
Папка поиска Shell:::{72b36e70-8700-42d6-a7f7-c9ab3323ee51}
Безопасность и обслуживание Shell:::{BB64F8A7-BEE7-4E1A-AB8D-7D8273F7FDB6}
Настройка доступа к программам и умолчаний Shell:::{2559a1f7-21d7-11d4-bdaf-00c04f60b9f0}
Просмотр DocObject Shell Shell:::{E7E4BC40-E76A-11CE-A9BB-00AA004AE837}
Папка файловой системы оболочки Shell:::{0E5AAE11-A475-4c5b-AB00-C66DE400274E}
Папка файловой системы оболочки Shell:::{F3364BA0-65B9-11CE-A9BA-00AA004AE837}
Показать Рабочий стол Shell:::{3080F90D-D7AD-11D9-BD98-0000947B0257}
Распознавание речи Shell:::{58E3C745-D971-4081-9034-86E34B30836A}
Меню «Пуск» Shell:::{48e7caab-b918-4e58-a94d-505519c795dc}
Дисковые пространства Shell:::{F942C606-0914-47AB-BE56-1321B8035096}
StreamBackedFolder Shell:::{EDC978D6-4D53-4b2f-A265-5805674BE568}
Папка подписки Shell:::{F5175861-2688-11d0-9C5E-00AA00A45957}
Представление задач, TaskView или Временная шкала Shell:::{3080F90E-D7AD-11D9-BD98-0000947B0257}
Центр синхронизации Shell:::{9C73F5E5-7AE7-4E32-A8E8-8D23B85255BF}
Папка конфликтов центра синхронизации Shell:::{289978AC-A101-4341-A817-21EBA7FD046D}
Папки синхронизации результатов делегата Shell:::{BC48B32F-5910-47F5-8570-5074A8A5636A}
Папка результатов синхронизации Shell:::{71D99464-3B6B-475C-B241-E15883207529}
Синхронизация папки установки делегата Shell:::{F1390A9A-A3F4-4E5D-9C5F-98F3BD8D935C}
Синхронизация папки установки Shell:::{2E9E59C0-B437-4981-A647-9C34B9B90891}
Система Shell:::{BB06C0E4-D293-4f75-8A90-CB05B6477EEE}
Восстановление системы Shell:::{3f6bc534-dfa1-4ab4-ae54-ef25a74e0107}
Панель задач и Навигация Shell:::{0DF44EAA-FF21-4412-828E-260A8728E7F1}
Временные файлы Интернета Shell:::{7BD29E00-76C1-11CF-9DD0-00A0C9034933}
Временные файлы Интернета Shell:::{7BD29E01-76C1-11CF-9DD0-00A0C9034933}
Интернет Shell:::{871C5380-42A0-1069-A2EA-08002B30309D}
Это устройство Shell:::{5b934b42-522b-4c34-bbfe-37a3ef7b9c90}
Этот компьютер Shell:::{20D04FE0-3AEA-1069-A2D8-08002B30309D}
Этот компьютер Shell:::{5E5F29CE-E0A8-49D3-AF32-7A7BDC173478}
Устранение неполадок Shell:::{C58C4893-3BE0-4B45-ABB5-A63E4B8C8651}
Учетные записи пользователей Shell:::{60632754-c523-4b62-b45c-4172da012619}
Учетные записи пользователей Shell:::{7A9D77BD-5403-11d2-8785-2E0420524153}
User Pinned Shell:::{1f3427c8-5c10-4210-aa03-2ee45287d668}
Файлы пользователя Shell:::{59031a47-3f72-44a7-89c5-5595fe6b30ee}
Защитник Windows Shell:::{D8559EB9-20C0-410E-BEDA-7ED416AECC2A}
Компоненты Windows Shell:::{67718415-c450-4f3c-bf8a-b487642dc39b}
Брандмауэр Windows Shell:::{4026492F-2F69-46B8-B9BF-5654FC07E423}
Центр мобильности Windows Shell:::{5ea4f148-308c-46d7-98a9-49041b1dd468}
Безопасность Windows Shell:::{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}
Рабочие папки Shell:::{ECDB0924-4208-451E-8EE0-373C0956DE16}
Папка оболочки WWan Shell:::{87630419-6216-4ff8-a1f0-143562d16d5c}

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

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

Вы должны использовать Explorer.exe Shell::: {GUID} в качестве целевого ярлыка, чтобы создать ярлык к определенному местоположению Shell. В качестве альтернативы, вы можете использовать следующий синтаксис:

explorer /e,::{CLSID}

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

Список ключей CLSID можно найти в реестре — HKLMSOFTWAREClassesCLSID.
Обратите внимание: некоторые из апплетов являются новыми для Windows 10, поэтому не все будут работать в Windows 7, 8.

Найти определенный файл или каталог через shell всегда можно при помощи известной команды find. Однако использовать ее можно по-разному, а всяческие опции во время поиска открывают массу дополнительных возможностей. Рассмотрим их подробнее.

Примитивный поиск файла по названию через find выглядит так:

find . -name test

После самой команды find пишется точный путь каталога, в котором нужно что-то найти. В примере указана точка, что говорит о поиске в текущей папке. Параметр -name указывает на поиск по наименованию. В конце обязательно указывается непосредственно имя. Т.е. мы ищем нечто под названием test в текущей папке.

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

find . -iname test

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

find . -type f -name test

Применение ключа type f ограничит выдачу только файлами (f). Аналогично можно сделать и для папок, только использовать нужно уже ключ type d:

find . -type d -name test

Еще больше сузить область поиска можно, если указать конкретное расширение файлов. К примеру, нам нужно найти все файлы с расширением .db в папке /var/docs:

find /var/docs -type f -name *.db

Как видите, поиск теперь будет не в текущем каталоге, а в заданном нами.

Если же ситуация сложилась так, что имени файла или папки не знаешь, то можно попробовать поискать по времени доступа или по дате создания. Для этого существует ключ -atime:

find . -type f -atime 1

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

Можно также отсортировать все, что было задействовано больше суток тому:

find . -type f -atime +1

По той же логике ограничить можно истечением двух суток:

find . -type f -atime +2

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

find . -type f -atime -1

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

«-mtime n» –  ищем файлы, с которыми были проведены любые действия определенное время назад. Само время устанавливается по формуле n=n*24;

«-ctime n» – ищем по времени смены статуса или созданию конкретного файла или папки;

«-amin n» – папки/файлы, которые были использованы определенное время (n) назад (в минутах);

«cmin n» – папки/файлы с измененным статусом (создание, использование и т.п.) за определенное количество минут назад (параметр n);

«mmin n» – папки/файлы с измененным статусом (создание, использование и т.п.) за определенное количество секунд назад (параметр n).

Также, поиск легко ограничивается владельцем директории или файла. Для этого существует ключ -user:

find . -name *.jpg -user Ivan

Данная конструкция позволяет найти все JPG изображения пользователя с именем Ivan.

Однако просто искать чаще всего недостаточно. Над найденными файлами или папками можно сразу проводить определенные операции. Давайте познакомимся с примером, в котором все найденные по маске файлы будут удалены. Для этого будем работать с ключом exec. Он предназначен для повторения определенного действия над каждым результатом выдачи:

find /aaa -type f -name tmp* -exec rm -f {} ;

Пояснения по конструкции:

«/aaa» – директория поиска /aaa;

«-type f» – ограничиваемся файлами, папки нам не нужны;

«-name tmp*» – имя файла должно начинаться на tmp, на месте звездочки могут быть любые символы;

«-exec rm -f {}» – удаляем каждый найденный по маске файл;

«{}» – список аргументов заменяется;

«;» – логичный конец конструкции.

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

find /home/nobody/public_html -type f -exec chmod 644 {} ;

Аналогично и для найденных папок:

find /home/nobody/public_html -type d -exec chmod 755 {} ;

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

chmod 750 public_html

Наконец, предлагаем пример более «продвинутой» работы с find. Тут мы ищем .htaccess и закрываем комментариями определенные php-переменные:

find /home/nobody/public_html -type f -name .htaccess -exec replace «php_admin_flag» «#php_admin_flag» — {} ;

find /home/nobody/public_html -type f -name .htaccess -exec replace «php_flag» «#php_flag» — {} ;

find /home/nobody/public_html -type f -name .htaccess -exec replace «php_admin_value» «#php_admin_value» — {} ;

find /home/nobody/public_html -type f -name .htaccess -exec replace «php_value» «#php_value» — {} ;

calendar
23 сентября

heart
3751

question

Для нахождения какого-либо каталога или файла через shеll можно воспользоваться командой find. У нее много различных опций, что открывает, много возможностей используя ее. Подробнее о ее опциях рассмотрим ниже.

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

find . -nаme tеst

Точный путь файла пишется после самой команды find, то есть точка означает, что поиск идет в текущей папке. Дальше идет nаme , здесь указывается название того, что ищут. В конце tеst означает имя, которое ищут в текущей папке.

Аналогичный поиск, не смотря на регистр символов: 

find . -inаme tеst

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

find. -Typе f -nаme tеst 

использование -typе f означает ограничение выдачи только файлами (f), такое же можно проделать и с папками, но уже с ключом -typе d: 

find. -typе d -name tеst

Для того чтобы уменьшить область поиска, указывается конкретное расширение файлов, к примеру с расширение .db в папке /vаr/dоcs

find /vаr/dоcs -typе f -namе *.db

После всех этих операций производить поиск будет куда легче
Бывает такое, что не помнишь, не как называется файл, негде его искать, в таких случаях используют 
специальный ключ -atimе, при этом нужно помнить дату создания файла:

find . -tуpe f -аtime 1 

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

find . -tуpe f -аtime +1
find . -tуpe f -аtime +2

а если надо найти файлы, созданные только за последние 24 часа

find . -typе f -atimе -1

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

«-mtimе n» 
«-сtimе n» 
«-аmin n» 
«сmin n» 
«mmin n»

еще поиск легко может, ограничиваться владельцем файла, для этого был специально создан ключ -usеr: 

find . -nаme *.jpg -usеr Ivаn 

То есть эта команда дает возможность найти все JРG изображения пользователя с именем Ivаn.
Мы рассмотрели основные операции с командой find для поиска файлов и папок. Есть еще более углубленные, сложные операции выполняемые данной командой в shеll.

soc-1

Также рекомендуем почитать:

Понравилась статья? Поделить с друзьями:
  • No system disk booting from hard disk start booting from usb device как исправить
  • Как найти долю за год
  • Как исправить верхнюю часть спины
  • Как составить схему мозаичного вязания крючком
  • Как найти косинус второго угла