[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-linux-kakie-komandy-dlya-poiska-faylov-i-teksta-sushchestvuyut-v-linux":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":15,"progress":16,"seo":17},1013,"kakie-komandy-dlya-poiska-faylov-i-teksta-sushchestvuyut-v-linux",18,"linux","Linux","🐧","Какие команды для поиска файлов и текста существуют в Linux?","Поиск файлов и текста — одна из самых частых операций при работе на сервере.\n\n### find — поиск файлов по критериям\n\n```bash\n# По имени\nfind \u002Fvar\u002Flog -name \"*.log\"\nfind \u002F -iname \"readme*\"               # Без учёта регистра\n\n# По типу\nfind \u002Fetc -type f                      # Только файлы\nfind \u002Fopt -type d                      # Только каталоги\n\n# По размеру\nfind \u002Fvar\u002Flog -size +100M              # Больше 100 МБ\nfind \u002Ftmp -size +1G                    # Больше 1 ГБ\n\n# По времени модификации\nfind \u002Fvar\u002Flog -mtime -1                # Изменённые за последние сутки\nfind \u002Ftmp -mtime +30                   # Старше 30 дней\n\n# Действия с найденными файлами\nfind \u002Ftmp -name \"*.tmp\" -delete\nfind \u002Fopt -name \"*.sh\" -exec chmod +x {} \\;\n```\n\n### grep — поиск текста в файлах\n\n```bash\n# Поиск строки в файле\ngrep \"ERROR\" \u002Fvar\u002Flog\u002Fsyslog\n\n# Рекурсивный поиск\ngrep -r \"datasource.url\" \u002Fopt\u002Fmyapp\u002F\n\n# Без учёта регистра\ngrep -i \"exception\" application.log\n\n# С номерами строк и контекстом\ngrep -n \"ERROR\" application.log\ngrep -C 3 \"OutOfMemoryError\" application.log\n\n# Инвертированный поиск\ngrep -v \"DEBUG\" application.log\n\n# Только имена файлов с совпадениями\ngrep -rl \"password\" \u002Fetc\u002F\n```\n\n### which \u002F whereis \u002F locate\n\n```bash\nwhich java                 # Путь к исполняемому файлу\nwhereis java               # Исполняемый файл, исходники, man-страница\n\n# Быстрый поиск по индексной базе\nsudo apt install plocate\nsudo updatedb\nlocate application.jar\n```\n\n### Комбинирование команд\n\n```bash\n# Найти Java-файлы с аннотацией\nfind \u002Fopt\u002Fproject -name \"*.java\" | xargs grep \"@Transactional\"\n\n# Найти самые большие файлы\nfind \u002F -type f -size +100M 2>\u002Fdev\u002Fnull | head -20\n\n# Подсчитать строки кода\nfind . -name \"*.java\" | xargs wc -l\n```\n\n> **На собеседовании:** ключевые команды — `find` и `grep`. Интервьюер может попросить найти все файлы больше 100 МБ или все строки с ошибкой в логах. Частая ошибка — не знать флаг `-r` у `grep` для рекурсивного поиска или забывать `2>\u002Fdev\u002Fnull` для подавления ошибок доступа в `find`.","","junior",[7],[],null,{"title":18,"description":19,"ogTitle":18,"ogDescription":19,"keywords":20,"schemaAnswer":19,"featuredSnippetReady":21},"Какие команды для поиска файлов и текста существуют в Linux? — Gymterview","Поиск файлов и текста — одна из самых частых операций при работе на сервере.",[7,13],true]