создал папку без имени и не могу ее найти
Женя Минеев
Гуру
(2819),
закрыт
9 лет назад
создал папку без имени добавил к ней невидимый значок и теперь понятия не имею как в нее зайти в папке в которой эта папка лежит показывает вес этой самой папки захожу в нее там ниче нет и че мне делать
Дополнен 12 лет назад
создал с помощью альт кода
Дополнен 12 лет назад
папка не скрытая а без имени и с невидимым значком
Андрей
Профи
(977)
12 лет назад
без имени папки нельзя создать, они не создаются, или имеется папка “Новая папка” )
Женя МинеевГуру (2819)
12 лет назад
ты че читать не умеешь или ты один особо одаренный сказал я создал с помощью альт кодов не знаешь не лезь ламер
Андрей
Профи
(977)
тогда и удали её так же, если разбираешься в языках программирования то тебе не составит труда использую такой же альт код вызвать процедуру на удаления, есть программа Unloker для удаления подобных папок. Может быть папка скрытая?
Здравствуйте, дорогие читатели сайта itswat.ru. На днях ко мне обратился за помощью мой друг. Ему необходимо было отыскать в недрах ноутбука один важный текстовый документ. В силу профессии таких файлов на его компьютере сотни, если не тысячи. Проблема заключалась в том, что он совершенно не помнил названия, только несколько фраз из содержимого. А ещё он сетовал на то, что в Windows XP всё было гораздо проще – открыл окно поиска, настроил параметры, чуточку подождал и готово. А в его нынешней 8.1 версии винды такой функции нет, а поиск осуществляется лишь по названию. Это утверждение верно, но только отчасти – об этом чуть позже. Документ мы нашли и довольно быстро. Этот случай натолкнул меня на мысль, что такая проблема могла возникнуть у многих из вас. Поэтому я и решился написать данную статью, в которой подробненько рассказываю, как найти текстовый документ на компьютере с разными исходными данными и во всех версиях ОС.
Содержание
Эволюция функции «Поиск»
Первоначально поговорим об эволюции поисковой функции с появлением новых версий Windows. Помните XP? Окно поиска было отдельным. Ещё там сидел симпатичный помощник – собачка или кто-то другой. Попасть в него можно было через «Пуск».
В левую часть окна были вынесены настройки поиска:
- По имени (полностью или частично).
- По фразе или одному слову в тексте.
- По дате последних изменений.
- По размеру документа.
- Можно было искать на всём компьютере или в конкретной директории.
Результаты отображались в правой части окна. На мой взгляд, очень удобно всё было устроено.
В новых версиях Windows – 7, 8 и 10 функция претерпела косметические изменения. Почему косметические? Да потому что её действие осталось прежним, но только параметры поиска задаются автоматически, когда в строку, расположенную и сразу в меню Пуск, и в каждой папке, вы вписываете значение для поиска. Либо их можно также настроить, но совершенно в другом месте. Исключение – только поиск по содержанию документа, но и это легко решаемо. Пока непонятно? Рассмотрим подробнее по каждому параметру чуть ниже. Зачем разработчики всё усложнили, точнее, упростили? Видимо, они заботились о нас вечно занятых пользователях.
Вот как выглядит поисковая строка в Windows 10.
А вот так в восьмой точка один версия ОС.
Поскольку с XP всё понятно, я буду рассказывать о различных возможностях поиска на примере «восьмёрки», тем более «семёрка» и «десятка» от неё в этом вопросе практически не отличаются.
Начинаем искать
Друзья, хватит разглагольствовать, приступим к основному вопросу — как можно найти потерявшийся документ Word на компьютере по разным его характеристикам.
Все текстовые документы
Сначала давайте попробуем найти на компьютере абсолютно все текстовые документы, не оглядываясь на такие параметры, как их название, содержимое и дата создания. Для этого откройте «Мой…», «Этот…» или просто «Компьютер». В правом верхнем его углу, рядом со строкой пути, найдётся и поисковая строка. А по соседству с основными разделами меню («Файл», «Вид» и другими) найдётся раздел «Поиск». Забегая вперёд, скажу, что именно там находятся настройки основных параметров.
Друзья, если вы хотя бы знаете, в какой папке находятся ваши текстовые документы, то перейдите в неё – это значительно облегчит работу вашей машине. Для поиска всех текстовых документов в строке необходимо вписать значение *.doc, *.docx или *.txt (зависит от того, что вы планируете найти).
По имени
Если вы знаете имя документа, то отыскать его не составит труда. Просто введите имя в строку поиска, и «вкушайте плоды». Но что делать, если название нужного файла в голове не сохранилось? В таком случае у вас остаётся ещё несколько вариантов – найти нужный документ, отсортировав имеющиеся по дате его рождения на свет (или изменения), по размеру (от пустых и крошечных до огромных и гигантских), по типу (выбрав «документ») или по внутреннему тексту.
По дате
Зайдите в любую папку, поставьте курсор в поисковую строку. В этот же момент отобразится новый раздел меню «Поиск». Раскройте его содержимое. Среди прочих настроек вы увидите параметр «по дате создания» (или последнего изменения). Среди возможных вариантов диапазоны времени от «сегодня» до «в прошлом году». Или просто попробуйте в строку ввести значение в виде точной даты. В результатах должны отобразиться все документы, созданные или изменённые указанного числа.
По типу
Среди тех же настроек имеется параметр «по типу». Перечень возможных вариантов включает файлы всех возможных типов – от календаря и контакта до музыки и фильма. В нашем случае требуется выбрать значение «документ».
По размеру
Тут же можно выбрать и размер. Машина будет искать даже пустые документы. Максимальный размер для поиска – 128 мегабайт.
По содержанию
Друзья, вот и подошли к тому, с чего начали – поиск текстового файла по его содержимому. Есть два варианта. Первый – это отметить галочкой нужный параметр всё в тех же настройках. Там есть раздел «Дополнительные параметры», в котором следует пометить галочкой пунктик «Содержимое файлов». Затем вводите нужную фразу в строке и запускайте поисковый процесс.
Второй вариант:
- Откройте любую папку.
- Перейдите во вкладку «Вид» (находится в ряду с «Файлом» и остальными разделами меню).
- Раскройте перечень команд в разделе «Параметры».
- Выберите пункт «Изменить параметры поиска и папок».
- В появившемся окошке перейдите во вкладку, отвечающую за поисковые настройки.
- Отметьте галочкой пункт, отвечающий за «искать по-содержимому».
В то же окно настроек можно попасть и по-другому (актуально для «семёрки»):
- Запустите проводник.
- Раскройте перечень команд раздела «Упорядочить».
- Посредством выбора соответствующего пункта перейдите к параметрам поиска и папок.
Друзья, настроив поисковую функцию, вам останется только написать фразу из текста содержимого в строке и подождать результатов. Стоит заметить, что в этом случае поиск займёт более длительное время, за которое я успел налить себе чай и выпить его. На сегодня всё. До новых тем.
По данной инструкции вы за несколько минут научитесь создавать папки без названия в любой версии Windows, а заодно сделать их полностью невидимыми в системе, чтобы ни один пользователь не смог ее легко обнаружить. Это касается даже простых файлов и ярлыков.
Причем я покажу варианты, не зависящие от того, какой у вас компьютер, стационарный ПК или ноутбук, и есть ли цифровая клавиатура. Вижу, что многие специалисты, рассказывая о папках без имени, не учитывают, что не у всех есть специальный блок цифр (Num Lk) и не дают альтернативных способов решения 🤷♂️
Поэтому, рекомендую прочитать статью до конца, чтобы сразу узнать ряд интересных фишек про каталоги “невидимки” и не только.
Делаем название любой папки Windows “пустым”
Начинаем с главного. Предположим у нас уже есть папка. Она может находиться где угодно, хоть на рабочем столе. Это не имеет значения. Либо создайте новую папку, у которой уберем имя.
Кстати, чтобы быстро создать папку, зажмите сочетание Shift + Ctrl + N
.
Сначала пойдем самым простым путем, который доступен каждому пользователю вне зависимости от наличия специальных цифровых клавиш на клавиатуре:
- Зажмите комбинацию клавиш
Win+R
. Win имеет значок Windows и расположена всегда слева внизу, рядом с Ctrl и Alt. В открывшемся маленьком окне “Выполнить” введите командуcharmap
и переходите по кнопке “ОК”. - В таблице символов кликните левой кнопкой мыши по любому “пустому”, нажмите кнопку “Выбрать”, а затем скопируйте “пустоту” (как будто пробел) из строки “Для копирования”.
Копирование пустого символа для названия папки
Осталось вставить прозрачный символ в имя нашей папки.
Для этого выделите папку одним кликом левой кнопкой мыши и нажмите клавишу F2
, чтобы сменить имя. Либо можете щелкнуть по ней правой кнопкой (пкм), затем выбираем пункт “Переименовать”.
Переименование директории через контекстное меню
Теперь вначале удалите старое название, затем горячими клавишами Ctrl + V
вы вставите скопированный ранее невидимый символ. И, нажав Enter или просто кликнув мышью в сторону от папки, ее имя полностью пропадет.
Убираем название каталога
Готово! 😊
Кстати, таким образом вы можете создать сколько угодно папок. Только в название каждой нужно вставлять на 1 пустой символ больше. Например: в 1-й каталог вставили один, во второй вставляете два и т.д. Потому что Windows не поддерживает возможность создавать директории, находящиеся в одном месте и при этом с одинаковыми именами.
4 папки без названия находятся на рабочем столе
На всякий случай даю еще один вариант, как сделать тоже самое, но без копирования символа из специальной таблицы. Использовать его имеет смысл, если у вас по шагам выше что-то не получилось.
Данный метод подразумевает обязательное наличие на клавиатуре ПК или ноутбука специального блока из цифр, который активируется либо кнопкой Num Lock
, либо сочетанием Fn + Num Lk
.
Стандартные цифры вверху под кнопками F1, F2 … не сработают!
Последовательность действий:
- Также как в прошлый раз нажмите
F2
для переименования папки, а затем удалите старое название. - Зажмите и удерживайте нажатой клавишу
Alt
(всегда находится слева внизу), наберите на цифровой клавиатуре по очереди255
. ЛибоAlt + 0160
. А потом кликните мышкой в любое место в сторону, чтобы зафиксировать изменения. Имя исчезнет.
Обратите внимание, что если у вас ноутбук и отдельные цифры расположены на самих буквах (I (ш), K (л) L (д)) и т.д., то для их активации нужно зажать комбинацию кнопок Fn + Num Lk
.
Клавиатура с цифрами на буквенных клавишах
Этот способ вроде и быстрее, но не всем подходит. И не все понимают как набирать эти заветные циферки с удержанием альта 🙂
Как убрать значок (иконку) папки
В дополнение к удалению названия, можно легко сделать папку невидимой при помощи установки для нее прозрачного значка.
Последовательность действий:
- Скачайте по ссылке подготовленный прозрачный значок в формате ICO.
- Откройте свойства папки и на вкладке “Настройка” кликните “Сменить значок”.
- В следующем окне нажмите “Обзор”, выберите в проводнике загруженный файл значка и сохраните, щелкнув “ОК”.
- А чтобы папку нельзя было найти случайно по поиску Windows, на вкладке “Общие” нажимаем “Другие” и отключаем опцию “Разрешить индексировать содержимое …”.
- Теперь закройте последовательно все окна, нажимая “ОК” и “Применить”.
Создание папки невидимки в Windows
Еще более подробно описал процедуру в отдельной статье, здесь » И там же узнаете дополнительную возможность проделать аналогичное при помощи архива.
Теперь каталог не будет видно, где бы он не располагался. Например, можно спрятать в углу рабочего стола.
Но обнаружить его можно будет, если обвести курсором мыши ту область, где он расположен. Или, зажав, Ctrl+A
(выделяет все элементы в текущей папке). Тогда папка подсветится, будет видно что она существует.
Как полностью спрятать любой каталог на диске
Если требуется, вы можете еще более надежно спрятать папку, установив соответствующий атрибут.
Делается очень просто:
- Щелкните по ней правой кнопкой мыши, выберите “Свойства”.
- Поставьте галочку в чекбоксе “Скрытый”, нажмите “Применить”, а потом “ОК”.
- Система спросит, хотите ли вы чтобы данные изменения распространялись только к этой конкретной папке или ко всем вложенным в нее подпапкам и файлам. Жмем “ОК”.
3 шага для создания каталога в Виндовс, который не видно
Такие скрытые директории нигде не отображаются и ее не найти даже если выделить случайно мышкой область, где она располагается.
Однако попасть в нее сможете двумя путями:
- Перейдите в нее напрямую, набрав полный путь вида в адресной строке проводника, например: С:UsersВладимирРабочий стол
- Включив отображение скрытых и системных папок через настройки каталогов. Подробнее обо всем, в том числе, как сделать каталог снова видимым, рассказал тут »
Так себе метод надежно спрятать папку, на самом деле… Для неопытных юзеров, работающих вместе с вами в ОС Windows на одном компе, сойдет. А если более пользователь опытный, заподозрит, что вы прячете какую-то папку и возникнет непреодолимое любопытство найти ее, то он получит к ней доступ без труда.
По ссылке выше опубликован отдельный материал, где рассказал, как можно более надежно защитить секретные директории, например, при применяя специально разработанные для этого программы типа “Hide Folders” с защитой по паролю. Ну или можно создавать обычные виртуальные разделы VHD, VHDX.
Вообще, обычно, скрывают свои личные документы, работаю под отдельными учетными записями на ПК.
Основные выводы
Надеюсь, данная инструкция помогла вам создать папку без названия, а заодно научились при необходимости делать ее полностью скрытой в операционной системе Windows любой версии (10, 8, 7, Vista, XP). Причем безо всяких посторонних приложений.
По сути, для этого нужно лишь воспользоваться комбинацией ALT+255
(на цифровой клавиатуре), либо вставить пустой символ, найдя его через параметры. Все, одна минута!
Помните, что я всегда готов разобрать ваши вопросы если что-то не получается или непонятно объяснил. Не стесняйтесь, пишите в комментариях сразу под этим материалом. Рад помочь каждому с решением и дать дельный совет 😉
Практические примеры, которые приведены в этой статье, помогут вам освоить очень эффективную и крайне полезную команду find.
Она используется для поиска файлов и папок через командную строку Linux.
Команда find — одна из самых мощных и широко применимых команд. При этом она крайне объёмная и насчитывает более 50 опций, в которых легко запутаться, особенно в сочетании с командами exec или xargs.
Если вы сисадмин или разработчик, избежать команды find
при работе с командной строкой не получится. Так что давайте научимся её не бояться и пользоваться её возможностями в полной мере.
Для этого разберём самые распространённые случаи практического применения команды find. Но для начала покажу вам синтаксис и принцип работы с командой.
Команда find в Linux
Общий синтаксис команды find выглядит так:
find [directory to search] [options] [expression]
Всё, что в квадратных скобках, указывать необязательно. А значит, выполнить команду find можно вообще без опций и параметров. Она выдаст список всех файлов и папок в текущем расположении. Мало полезного, да?
Так что давайте взглянем на параметры подробнее:
-
directory to search
(папка поиска) — это расположение, с которого вы хотите начать поиск. Поиск по умолчанию рекурсивный и начинается с текущего расположения. -
options
(опции) содержит указание типа поиска: по имени, типу файла, времени изменения и так далее — тут может быть более 50 вариантов. -
expression
(выражение) содержит поисковый запрос. Если вы ищете файл по имени, параметр expression должен содержать имя файла. Если ищете файлы с именем, соответствующим заданному шаблону, поисковое выражение — это шаблон.
Приведу простой пример:
find . -type f -name myfile
Такая команда выполнит поиск файла (именно файла, не папки) с именем myfile
в текущей папке и подпапках. Опция -type f
сужает поиск до файлов. Точка (.
) указывает на текущую папку.
Рассмотрим несколько примеров применения команды find.
Поиск файлов и папок по имени
Так выполняется поиск файлов и папок по имени:
find . -name SEARCH_NAME
Поскольку тип объекта не указан, команда выполняет поиск и файлов, и папок.
Пример ниже — поиск файлов и папок с именем «mystuff»:
abhishek@LHB:~/Examples$ find -name mystuff
./new/mystuff
./mystuff
Поиск только файлов или только папок
Если нужно искать только файлы, на помощь придёт опция type -f:
find . -type f -name SEARCH_NAME
Тип и имя можно указывать в любом порядке. Возьмём пример выше и ограничим круг поиска файлами:
abhishek@LHB:~/Examples$ find -type f -name mystuff
./mystuff
Если нужно найти папку, укажите тип type -d:
find . -type d -name SEARCH_NAME
Вот пример нашего поиска уже по папкам:
abhishek@LHB:~/Examples$ find -type d -name mystuff
./new/mystuff
Поиск без учёта регистра
Команда find по умолчанию учитывает регистр. Чтобы выполнить поиск по имени файла без учёта регистра, надо ввести опцию -iname
вместо -name
.
find . -type f -iname SEARCH_NAME
С поиском по папкам (type -d
) это тоже работает.
abhishek@LHB:~/Examples$ find -iname mystuff
./new/mystuff
./MyStuff
./mystuff
Скриншот последних трёх примеров:
Поиск файлов по расширению (важно)
Одно из самых популярных применений команды find — поиск файлов определённого типа, то есть по заданному расширению.
Скажем, вы хотите найти все файлы С++ в текущих папках. Файлы С++ имеют расширение .cpp, и вот как их можно найти:
find . -type f -name "*.cpp"
С такими опциями команда find найдёт только файлы (-type f
) с именами, оканчивающимися на .cpp
.
abhishek@LHB:~$ find . -type f -name "*.cpp"
./file.cpp
./.cargo/registry/src/github.com-1ecc6299db9ec823/libz-sys-1.1.3/src/zlib/contrib/iostream2/zstream_test.cpp
./.cargo/registry/src/github.com-1ecc6299db9ec823/libz-sys-1.1.3/src/zlib/contrib/iostream/test.cpp
./.cargo/registry/src/github.com-1ecc6299db9ec823/libz-sys-1.1.3/src/zlib/contrib/iostream/zfstream.cpp
При работе с командой find всегда заключайте поисковое выражение в двойные кавычки.
С чем связана рекомендация заключать поисковый запрос в двойные или одинарные кавычки? Дело в том, что без кавычек оболочка будет работать с символом * как с джокером и выполнит подстановку.
Вот что будет, если ввести запрос без кавычек:
find . -type f -name *.cpp
Оболочка распознает подстановочный знак * и заменит его всеми файлами в текущей папке, чьи имена заканчиваются на .cpp.
Это сработает, если такой файл всего один, но если их несколько, оболочка пожалуется на некорректный синтаксис.
В нашем случае файл .cpp всего один, и после подстановки команда выглядит так: find . -type f -name file.cpp
. Она работает, поскольку file.cpp
— корректный поисковый запрос.
А вот файлов .txt в той же папке два, и когда команда расширяется до find . -type f -name another.txt new.txt
, выводится предупреждение, потому что поисковых запросов больше одного.
Именно поэтому сам поисковый запрос всегда следует заключать в двойные кавычки.
Поиск нескольких файлов с несколькими расширениями (или условием)
Команда, рассмотренная выше, нужна для поиска файлов по расширению. А что если нужно найти файлы с несколькими разными расширениями?
Вместо того чтобы прогонять команду find несколько раз, введите её один раз с опцией -o, которая работает как логическое условие «или»:
find . -type f -name "*.cpp" -o -name "*.txt"
Например:
abhishek@LHB:~/Examples$ find . -type f -name "*.txt" -o -name "*.cpp"
./new.txt
./file.cpp
./new/new.txt
./new/dir2/another.txt
./new/dir1/new.txt
./another.txt
Поиск файлов в заданной папке
Все приведённые примеры иллюстрируют поиск в текущей папке, потому что команда включает в себя точку (.
).
Чтобы выполнить поиск в заданной папке, не покидая текущего расположения, можно заменить точку абсолютным или относительным путём к нужной папке.
abhishek@LHB:~/Examples$ find ./new -name mystuff
./new/mystuff
Поиск файлов в нескольких папках
Если нужные вам файлы могут находиться в нескольких папках, можно выполнить поиск во всех этих расположениях за один раз. Просто укажите все пути к папкам при введении команды find:
find ./location1 /second/location -type f -name "pattern"
Поиск пустых файлов и папок
Опция -empty
позволяет использовать команду find для поиска пустых файлов и папок.
Найти таковые в текущей папке можно следующим образом:
find . -empty
Можно указать тип объектов, чтобы искать только файлы или только папки:
find . -empty -type f
Кроме того, можно в таком режиме искать файлы по имени:
find . -empty -type f -name "*.cpp"
Поиск крупных и мелких файлов (поиск по размеру файла)
Команда find поможет найти крупные или мелкие файлы, если выполнить поиск по размеру. Но это работает только для файлов, не для папок.
Используется опция -size
с аргументом +N для файлов размером более N и -N для файлов размером менее N.
А вот как можно найти файлы точного заданного размера (50 КБ):
find . -size 50k
Так выполняется поиск файлов размером более 1 ГБ в текущей папке:
find . -size +1G
А так — файлов, не превышающих 20 байт:
find . -size -20c
Для поиска файлов размером более 100 МБ, но менее 2ГБ, введите:
find . -size +100M -size -2G
Поиск по размеру тоже можно сочетать с поиском по имени файла. Таким образом, найти в корневом каталоге все файлы размером более 500 МБ с именем, оканчивающимся на .log, можно так:
find / -size +500M -name "*.log"
Для справки:
-
c
– байты -
k
– килобайты -
M
– мегабайты -
G
– гигабайты
Поиск недавно изменённых файлов (поиск по времени изменения или создания)
Вы ведь знакомы с параметрами mtime, atime и ctime?
- Mtime – время последнего изменения файла
- Ctime – время создания файла
- Atime – время последнего доступа к файлу
Вы не раз столкнётесь с ситуацией, когда нужен список всех недавно изменённых файлов. В таких случаях на помощь приходит поиск по времени изменения.
Найти все файлы, претерпевшие изменения за последние трое суток (3*24ч), можно так:
find . -type f -mtime -3
А все файлы, созданные пять и более дней назад, ищутся так:
find . -type f -ctime +5
Понимаю, что 24 часа — большой срок. Что если нужно выявить файлы, изменённые всего пару минут назад? Для этого предусмотрены опции mmin
, amin
и cmin
.
Так выглядит команда поиска всех файлов, изменённых за последние пять минут:
find . -type f -mmin -5
Можно не только указать имя файла, но и ограничить временной промежуток с двух сторон. Команда ниже выполнит поиск всех файлов .java, изменённых не ранее 30 и не позднее 20 минут назад.
find . -type f -mmin +20 -mmin -30 -name "*.java"
Поиск файлов с определёнными настройками доступа
Надеюсь, вы имеете представление о разрешениях файлов в Linux.
Команда find позволяет выполнить поиск файлов по разрешению и режиму доступа.
find -perm mode
Поищем в текущей папке, к примеру, все файлы с режимом доступа 777:
find . -perm 777
А так можно найти все файлы с правами на чтение и запись для всех типов пользователей (только точное совпадение; файлы с правами на выполнение для всех не отобразятся):
find . -perm a=r+w
Поиск файлов по владельцу
Можно также найти файлы, принадлежащие определённому пользователю.
Вот как обнаружить в текущей папке все файлы пользователя Джона:
find . -type f -user John
Эта опция сочетается с другими, будь то размер или время и имя файла:
find . -type f -user John -name "*.cpp"
Отключение рекурсивного поиска для поиска только в текущей папке
По умолчанию команда find выполняет поиск во всех подпапках текущего расположения. Если это не требуется, можно ограничить глубину поиска значением «1». Так вы ограничитесь поиском в текущей папке, не залезая в подпапки.
find . -maxdepth 1 -type f -name "*.txt"
Исключение папки из поиска
Если нет необходимости производить поиск в той или иной папке, можно исключить её с помощью опций path, prune и логического «или».
find . -path "./directory_exclude/*" -prune -o -name SEARCH_NAME
Будьте внимательны: путь к папке должен оканчиваться на *, затем идёт -prune
и только потом -o
.
Попросту говоря, при поиске с опцией prune папка, указанная с помощью path, игнорируется. Prune всегда сопровождается флагом -o
(логическое «или»), чтобы папки, которые не были исключены, просматривались на наличие искомого объекта.
Дальнейшая работа с результатами команды find: exec и xargs
Итак, мы изучили различные способы поиска файлов по заданным параметрам. Это хорошо. А теперь следующий шаг: рассмотрим, какие действия можно выполнять с результатами команды find.
Например, как найти файлы с именем, соответствующим определённому шаблону, и переименовать их за одно действие? Или выявить и удалить пустые файлы?
Вам уже известно, что в Linux можно использовать перенаправление ввода-вывода, чтобы объединить результаты одной команды с вводом другой. Но с результатами команды find это не сработает — по крайней мере, не напрямую.
Чтобы выполнить действия над результатом команды find, есть два варианта:
- Применить exec
- Применить xargs
Использование find и exec
Допустим, вам нужен подробный список (ls -l) файлов, найденных командой find. Вот как его получить:
find . -type f -name "*.txt" -exec ls -l {} +
Результат будет таким:
abhishek@LHB:~/Examples$ find . -type f -name "*.txt" -exec ls -l {} +
-rw-rw-r-- 1 abhishek abhishek 39 Oct 13 19:30 ./another.txt
-rw-rw-r-- 1 abhishek abhishek 35 Oct 13 15:36 ./new/dir1/new.txt
-rw-rw-r-- 1 abhishek abhishek 35 Oct 13 15:36 ./new/dir2/another.txt
-rw-rw-r-- 1 abhishek abhishek 35 Oct 13 18:51 ./new/mystuff/new.txt
-rwxrwxrwx 1 abhishek abhishek 35 Oct 13 15:37 ./new/new.txt
-rw-rw-r-- 1 abhishek abhishek 35 Oct 13 18:16 ./new.txt
Многие забывают ввести {} +
в конце команды exec. Но это необходимо — как и пробел между скобками {} и плюсом +.
Фигурные скобки ссылаются на результат выполнения команды find. Их содержимое может иметь следующий вид: {файл 1, файл 2, файл 3}. Символ +
используется как конец команды exec.
Есть ещё один вариант оформления exec:
find . -type f -name "*.txt" -exec ls -l {} ;
В данном случае плюс заменён на точку с запятой. Дополнительная косая черта означает, что точка с запятой не является специальным символом.
Преимущество сочетания {} +
заключается в меньшем количестве команд ( ls -l file1 file2 file3
), тогда как комбинация {} ;
запустит цепочку ls -l file1
, ls -l file2
и так далее.
Однако сочетание {} ;
даёт возможность использовать {}
несколько раз в одном и том же выражении exec. Так, приведённая ниже команда переименует все обнаруженные файлы с расширением .old.
find . -type f -name "*.txt" -exec mv {} {}.old ;
Использование команды xargs
Многие пользователи Linux сталкиваются с необходимостью перенаправления ввода-вывода довольно часто. Но команда exec с цепочкой символов {} +
кажется им слишком сложной.
И тут на помощь приходит xargs. Нужно просто перенаправить вывод команды find в команду xargs через конвейер.
find . -type f -name "*.txt" | xargs ls -l
Синтаксис куда проще, верно? К тому же команда xargs тоже весьма эффективна. Подробнее о ней — в статье по ссылке.
Сочетание команд find и grep
Теперь вы умеете совмещать команду find с xargs и exec, и пора перейти на следующий уровень — объединить find и grep.
Для сисадминов и разработчиков комбинация команд find и grep — одна из самых распространённых и вместе с тем самых полезных.
Команда find находит файлы с именем, соответствующим шаблону, а затем команда grep выполняет поиск по их содержимому.
Например, вам нужно найти все файлы .txt, в которых есть имя «Alice». Объединить команды find и grep можно так:
find . -type f -name "*.txt" -exec grep -i alice {} +
А можно с помощью xargs:
find . -type f -name "*.txt" | xargs grep -i alice
Конечно, пример элементарный, но если команда grep вам знакома, можете использовать её на своё усмотрение.
И это далеко не все возможности команды find…
Перечислить все опции и примеры использования команды find практически невозможно. Её возможностям нет границ, но если вы освоите её принципы, она окажется очень кстати во многих ситуациях. Решающий фактор — как сочетается логика действия разных опций и команд.
Надеюсь, моя подборка примеров использования find была для вас полезна. Если у вас есть вопросы или предложения, как сделать эту статью лучше, добро пожаловать в комментарии.
НЛО прилетело и оставило здесь промокоды для читателей нашего блога:
— 15% на все тарифы VDS (кроме тарифа Прогрев) — HABRFIRSTVDS.
— 20% на выделенные серверы AMD Ryzen и Intel Core — HABRFIRSTDEDIC.
Доступно до 31 декабря 2021 г.
Как найти папку на компьютере, если не помню, где она хранится? Во всех версиях WINDOWS есть встроенная система поиска через меню “Пуск” – “Поиск” – открывается окно “Результаты поиска”, куда заносим все, что нам известно и нажимаем кнопку “найти”. Через некоторое время появится список, найденного. Чтобы в меню “Пуск” отображался “Поиск” необходимо выполнить следующие настройки: “Пуск” (правой кнопкой) – Свойства – Меню “Пуск” – Настроить – Дополнительно – в окне Элементы меню “Пуск” поставить галочку перед словом “Поиск” (почти в самом низу списка)- ок. автор вопроса выбрал этот ответ лучшим lemon4ek 8 лет назад Для того, чтобы найти абсолютно любую папку или файл, вы должны зайти в “Мой компьютер” и посмотреть на панель, где отображается теперешнее ваше местонахождение среди файлов и папок. Далее посмотрите в правый верхний угол, там под иконками свернуть/расширить/закрыть есть поисковая строка, куда вы и должны будете ввести искомое имя папки либо файла, далее для подтверждения нажмите клавишу “Enter” теперь система начнет искать нужный вам файл или папку по всему компьютеру, так же вы можете выбирать отдельную деректорию для поиска, чтобы не искать среди всех папок нужный файл. jn8181 8 лет назад В меню “Пуск” – в нижнем левом углу экрана есть строка поиска (в ней по умолчанию так и написано “Найти программы и файлы”). Достаточно ввести одно слово из названия папки и нажать энтер и на экране появятся все файлы, папки и программы, в названии которых это слово присутствует Александр 1988 8 лет назад Если не помните, где храниться, но знаете название папки, то воспользуйтесь поиском. Откройте проводник, выберите “мой компьютер”, нажмите ctrl+f, введите название папки и ждите, когда поиск выдаст нужный результат. Это пример для windows 8, но и в других операционных системах примерно также. Above-zero 3 года назад Это сделать очень просто. Нужно открыть “Мой компьютер” и в окне поиска ввести название папки или можно даже часть названия. Если помните название диска, на котором она хранится, то для ускорения поиска зайдите на этот диск и ищите конкретно на нём. Лишняя хромосома 7 лет назад Все просто, идем в меню “пуск”, ищем там: “найти программы и файлы”. вбиваем название папки или файла, можно не полные или просто ключевые слова из содержимого папки и жмем на лупу или энтер. Очень выручает, когда что-то забыл. Знаете ответ? |