Find command arch linux

Core utilities (Русский)

Основные утилиты (core utilities) — набор базовых, фундаментальных инструментов операционной системы GNU/Linux. В статье дан неполный обзор этих утилит, приведены ссылки на документацию и перечислены полезные альтернативы. В основном (но не только) в статье рассматривается набор GNU coreutils. Большинство основных утилит являются традиционными инструментами Unix (см. Heirloom); многие из них были стандартизированы POSIX, но продолжили развиваться, расширяя свою функциональность.

Большинство интерфейсов командной строки задокументировано в man-страницах. Утилиты GNU Project используют для этой цели Info-мануалы, а в некоторых оболочках для справки по встроенным командам предусмотрена команда help . Кроме того, большинство утилит выводит краткую справочную информацию о себе при запуске с флагом —help .

Contents

Основные

Некоторые важные утилиты, с которыми должен быть знаком пользователь Arch Linux. См. также intro(1) .

Пакет Утилита Описание Документация Альтернативы
встроенные команды cd смена каталога cd(1p) #Альтернативы cd
GNU coreutils ls вывод содержимого каталога ls(1) , info tree , #Альтернативы ls
cat вывод содержимого файлов в stdout cat(1) , info tac(1) , bat
mkdir создание каталога mkdir(1) , info
rmdir удаление пустого каталога rmdir(1) , info
rm удаление файлов и каталогов rm(1) , info shred
cp копирование файлов и каталогов cp(1) , info #Альтернативы cp
mv перемещение файлов и каталогов mv(1) , info
ln создание жёстких и символических ссылок ln(1) , info
chown изменение владельца и группы файла chown(1) , info chgrp(1)
chmod изменение прав доступа к файлу chmod(1) , info
dd преобразование и копирование файла dd(1) , info
df вывод информации об использовании файловой системой дискового пространства df(1) , info
GNU tar tar архиватор tar tar(1) , info архиваторы
GNU less less постраничный просмотр в терминале less(1) программы постраничного просмотра
GNU findutils find поиск файлов и каталогов find(1) , info, GregsWiki #Альтернативы find
GNU diffutils diff построчное сравнение файлов diff(1) , info #Альтернативы diff
GNU grep grep вывод строк, совпадающих с шаблоном grep(1) , info #Альтернативы grep
GNU sed sed потоковый редактор sed(1) , info, one-liners
GNU gawk awk язык поиска и обработки шаблонов gawk(1) , info nawk , mawk AUR
util-linux dmesg вывод содержимого буфера ядра и управление им dmesg(1) журнал systemd
lsblk вывод информации о блочных устройствах lsblk(8)
mount монтирование файловой системы mount(8)
umount размонтирование файловой системы umount(8)
su замена пользователя su(1) sudo, opendoas
kill завершение процесса kill(1) pkill(1) , killall(1)
procps-ng pgrep поиск процесса по имени или атрибутам pgrep(1) pidof(1)
ps вывод информации о процессах ps(1) top(1) , htop
free вывод информации о свободной/используемой памяти free(1)

Предотвращение потери данных

rm , mv , cp и перенаправления ввода/вывода в оболочке удаляют или перезаписывают файлы молча, не уведомляя пользователя. С флагом -i команды rm , mv и cp будут запрашивать разрешение перед каждым удалением/перезаписью. Некоторые предпочитают использовать этот флаг по умолчанию, создав соответствующий псевдоним. Тем не менее, такой подход чреват потенциальными проблемами, если в какой-то момент вы будете работать на другой системе или от другого пользователя, в которых подобный псевдоним отсутствует. Лучший способ защитить данные от случайного удаления — регулярно создавать резервные копии.

Читайте также:  Linux how to send mail

Второстепенные

Утилиты, которые также могут быть полезны.

Пакет Утилита Описание Документация Альтернативы
встроенные команды alias создание или вывод списка псевдонимов alias(1p)
type определение типа команды type(1p) which(1)
time вывод времени выполнения команды time(1p)
GNU coreutils tee считывание stdin и запись в stdout и файлы tee(1) , info
mktemp создание временного файла или каталога mktemp(1) , info
cut вывод отдельных частей строк cut(1) , info
tr замена или удаление символов tr(1) , info
od отображение файлов в восьмеричном и других форматах od(1) , info hexdump(1) , xxd(1) в vim
sort сортировка строк sort(1) , info
uniq поиск или исключение повторяющихся строк uniq(1) , info
comm построчное сравнение двух отсортированных файлов comm(1) , info
head вывод первых строк файла head(1) , info
tail вывод последних строк файла или отслеживание изменений в файле tail(1) , info
wc вывод количества строк, слов и байтов wc(1) , info
GNU binutils strings вывод содержащихся в двоичном файле текстовых строк strings(1) , info
GNU glibc iconv конвертация кодировок символов iconv(1) recode
file file определение типа файла file(1)

Пакет moreutils содержит другие полезные инструменты вроде sponge(1) , которые не вошли в GNU coreutils.

Альтернативы

Альтернативные основные утилиты предоставляются следующими пакетами: BusyBox, Heirloom Toolchest, 9base , sbase-git AUR и ubase-git AUR .

Альтернативы cd

  • zoxide — Умная команда cd, которая изучает ваши привычки и позволяет перемещаться повсюду буквально несколькими нажатиями клавиш.

https://github.com/ajeetdsouza/zoxide || zoxide

Альтернативы cp

rsync#Как альтернатива cp/mv позволяет продолжить прерванную передачу файла, выводить состояние передачи, пропускать уже существующие файлы и проверять целостность итоговых файлов по контрольным суммам.

Альтернативы ls

  • broot — Новый способ просмотра дерева каталогов и перемещения по нему.

https://github.com/Canop/broot || broot

  • exa — Замена ls с поддержкой цветности, отображением дерева каталогов, интеграцией с git и другими возможностями.

https://github.com/ogham/exa || exa

  • lsd — Современный ls с большим набором цветов и замечательными иконками.

https://github.com/Peltoche/lsd || lsd

Альтернативы find

  • fd — Простая, быстрая и удобная альтернатива find. По умолчанию игнорирует скрытые файлы и файлы, указанные в .gitignore .

https://github.com/sharkdp/fd || fd

  • fuzzy-find — Fuzzy-завершение имён файлов при поиске.

https://github.com/silentbicycle/ff || ff-gitAUR

  • mlocate — Объединение locate и updatedb.

https://pagure.io/mlocate || mlocate

  • plocate — Намного более быстрый locate.

https://plocate.sesse.net/ || plocate

Графические программы для поиска файлов перечислены в List of applications/Utilities#File searching.

Альтернативы diff

Некоторые программы предоставляют сравнение по словам, которого нет в diffutils :

  • git diff выполняет сравнение по словам с флагом —color-words ; с флагом —no-index работает также и с файлами вне рабочего дерева Git.
  • dwdiff — Фронт-енд для diff со сравнением по словам; поддержка цветности.

https://os.ghalkes.nl/dwdiff.html || dwdiff

  • GNU wdiff — Реализация GNU diff со сравнением по словам; нет поддержки цветности.

https://www.gnu.org/software/wdiff/ || wdiff

  • cwdiff — Обёртка для GNU wdiff с поддержкой цветности.

https://github.com/junghans/cwdiff || cwdiffAUR , cwdiff-gitAUR

  • icdiff — diff с поддержкой цветности, написанный на Python. Название расшифровывается как «Improved color diff»; обычный режим работы diff также доступен.

https://github.com/jeffkaufman/icdiff || icdiffAUR , icdiff-gitAUR

Альтернативы grep

  • mgrep — grep с многострочным поиском.

https://sourceforge.net/projects/multiline-grep/ || mgrepAUR

  • pdfgrep — Инструмент для поиска текста в PDF-файлах.

https://pdfgrep.org/ || pdfgrep

  • ripgrep-all — Поиск в текстовых файлах, а также в PDF, E-Book, документах Office, архивах zip и tar.gz.
Читайте также:  Как установить cisco anyconnect linux

https://github.com/phiresky/ripgrep-all || ripgrep-allAUR

Поиск кода

Следующие три инструмента предназначены для замены grep при поиске кода. По умолчанию используют рекурсивный поиск, пропускают двоичные файлы и учитывают .gitignore .

Источник

find command in Linux with examples

The find command in UNIX is a command line utility for walking a file hierarchy. It can be used to find files and directories and perform subsequent operations on them. It supports searching by file, folder, name, creation date, modification date, owner and permissions. By using the ‘-exec’ other UNIX commands can be executed on files or folders found.

Syntax :

Options :

  • -exec CMD: The file being searched which meets the above criteria and returns 0 for as its exit status for successful command execution.
  • -ok CMD : It works same as -exec except the user is prompted first.
  • -inum N : Search for files with inode number ‘N’.
  • -links N : Search for files with ‘N’ links.
  • -name demo : Search for files that are specified by ‘demo’.
  • -newer file : Search for files that were modified/created after ‘file’.
  • -perm octal : Search for the file if permission is ‘octal’.
  • -print : Display the path name of the files found by using the rest of the criteria.
  • -empty : Search for empty files and directories.
  • -size +N/-N : Search for files of ‘N’ blocks; ‘N’ followed by ‘c’can be used to measure size in characters; ‘+N’ means size > ‘N’ blocks and ‘-N’ means size My Personal Notes arrow_drop_up

Источник

Команда find в Linux – мощный инструмент сисадмина

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Операторы

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

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

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

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

Действия

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

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

-delete

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

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

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

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

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

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

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

Заключение

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

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

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

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

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

Источник

Читайте также:  Трей для windows 10
Оцените статью