Время на прочтение
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 может сильно облегчить жизнь системному администратору, а лучший способ овладеть ей – больше практиковаться.
Получил легаси проект, в котором не особо следили за соглашениями об именовании и расположении папок.
Могу только предполагать как должны называться папки и файлы.
Отсюда вопросы:
1) Как найти папку по имени?
Например, find workers -type d
не особо помогает. Ищет только в текущем каталоге, а нужно по всей системе.
2) Как найти файл по части имени?
Т.е. часть имени должна быть _workers.rb
, по ней нужно осуществить поиск
Поиск по всей системе.
задан 3 мая 2018 в 9:39
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
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» — {} ;
23 сентября
3751
Для нахождения какого-либо каталога или файла через 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.
Также рекомендуем почитать: