Изучение 26 методов анализа больших данных: часть 1
Изучение 26 методов анализа больших данных: часть 1
Есть пять команд поиска файлов на Linux: whereis
, locate
, which
, type
, и find
. Каждый из них имеет свои особенности и предназначен для определенных поисковых сценариев. Это руководство познакомит вас с каждой командой и покажет примеры использования. Для дальнейшего чтения любой из этих команд лучше всего просмотреть соответствующую страницу руководства.
whereis
Команда whereis
используется для поиска двоичных файлов, исходного кода и онлайн-страниц справочника в нескольких стандартных каталогах установки для любого указанного имени программы.
Поскольку whereis
не выполняется поиск в каждом месте вашей системы, любые файлы из этих конкретных каталогов не будут найдены. По той же причине вы быстро получите результаты поиска, независимо от того, найдены они или нет.
Кроме того, он не будет искать те команды, которые встроены непосредственно в оболочку.
Например, если вы хотите найти информацию о ls
команде, выполните следующую команду на своем терминале:
whereis ls
Вы получите некоторые отзывы, такие как:
ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
В результате, /bin/ls
это бинарный файл, который вы хотите найти, два других - man-страницы для ls
программы, исходный код для ls
программы не найден.
Скопируйте /bin/ls
файл в свой домашний каталог и в /usr/bin
каталог, а затем whereis
снова введите команду:
cp /bin/ls ~
cp /bin/ls /usr/bin/ls
whereis ls
Как видите, только /bin/ls
и /usr/bin/ls
были найдены в результате поиска. ls
Программа в домашнем каталоге не найден, потому что ваш домашний каталог не один из тех , стандартной установки каталогов.
ls: /bin/ls /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
Если вы запустите следующую команду:
whereis cd
Вы увидите вывод, похожий на строку ниже. Не было обнаружено двоичного файла, потому что cd
это встроенная команда оболочки.
cd: /usr/share/man/man1/cd.1.gz /usr/share/man/man1p/cd.1p.gz
locate
Команда locate
используется для поиска файлов по имени с помощью базы данных ( /var/lib/mlocate/mlocate.db
). Эта база данных является в основном снимком структуры вашей файловой системы. Любые записи в этой базе данных, которые соответствуют вашему запросу, будут перечислены в результатах поиска. По умолчанию locate
команда будет использовать ваш запрос для сопоставления любой части полного имени каждой записи, включая имя пути. Следовательно, количество найденных файлов в результате поиска может оказаться больше, чем вы ожидаете.
Поскольку база данных устаревает, результат поиска locate
команды становится менее точным. Вы можете заметить файлы, которые больше не существуют, или вы не увидите совпадений для вновь созданных файлов. По умолчанию mlocate.db
база данных автоматически обновляется один раз в день. Вы можете использовать updatedb
команду, чтобы обновить ее вручную.
Поскольку поиск выполняется по базе данных, а не по файловой системе, скорость поиска очень высокая.
Если вы запустите следующую команду:
locate ls
Вы получите много записей вместо ожидаемого результата.
Чтобы сделать результаты поиска более точными, вы можете использовать -b
флаг, чтобы ограничить диапазон поиска, используя свой запрос, чтобы соответствовать только базовому имени каждой записи:
locate -b "\ls"
На этот раз вы получите местоположение каждого файла, точно вызванного ls
в вашей файловой системе:
/bin/ls
which
Команда which
будет искать команду, указанную вами в значении переменной среды, PATH
и по умолчанию выдаст первый результат. Если вы запрашиваете псевдоним, which
команда определит фактическую команду для псевдонима перед выполнением поиска.
Команда which
также очень быстрая из-за своей простоты.
Использование which
команды просто:
which your_command
Если вы хотите показать все совпавшие команды вместо первой, используйте -a
флаг:
which -a your_command
Вот пример для поиска команды, которая была псевдонимом:
which ll
Результат поиска будет:
alias ll='ls -l --color=auto'
/bin/ls
type
По умолчанию type
команда указывает, как будет интерпретироваться имя команды. Возможные результаты включают псевдоним, ключевое слово, функцию, встроенную функцию или файл. Как и whereis
команда, type
команда будет искать только в нескольких стандартных каталогах установки, чтобы ответить на ваш запрос.
Несколько примеров ввода разных команд:
Встроенная команда оболочки:
type cd
cd is a shell builtin
Бинарный файл в файловой системе:
type sudo
sudo is /usr/bin/sudo
Псевдоним:
type ls
ls is aliased to `ls --color=auto'
find
Среди пяти команд поиска файлов, представленных в этом руководстве, эта find
команда является самой мощной. Это также самый медленный. В отличие от других четырех команд, find
команда фактически будет искать ваш файл во всей файловой системе, один i-узел за одним i-узлом. С помощью find
команды вы можете использовать сложные критерии запроса, чтобы найти каждый файл, который вам нужен, даже дополнительно выполнить действия с найденными файлами.
Критерии поиска для find
команды слишком сложны, чтобы их можно было объяснить в такой короткой статье, а здесь несколько примеров.
Базовый формат find
команды:
find [path] [option] [action]
Чтобы найти все файлы в рабочем каталоге и всех его подкаталогах:
find
Чтобы найти файл с именем aaa
в вашем домашнем каталоге и во всех его подкаталогах:
find ~ -name 'aaa'
Чтобы найти все файлы в файловой системе, которые были изменены за последние 24 часа:
find / -mtime 0
Чтобы найти все файлы в веб-каталоге и все его подкаталоги, принадлежащие пользователю nginx
:
find /usr/share/nginx/html/ -user nginx
Чтобы найти все файлы в рабочем каталоге с правами доступа 0744
:
find -perm -0744
Чтобы найти файл с именем aaa
в рабочем каталоге и вывести его подробную информацию:
find -name 'aaa' -exec ls -l {} \;
Изучение 26 методов анализа больших данных: часть 1
Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.
Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.
Прочтите блог, чтобы узнать о различных уровнях архитектуры больших данных и их функциях самым простым способом.
Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.
CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?
По мере того, как наука развивается быстрыми темпами, принимая на себя большую часть наших усилий, также возрастает риск подвергнуться необъяснимой сингулярности. Прочтите, что может значить для нас необычность.
Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!
Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.
Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше