Архив метки: Linux

Команда find в Linux

Команда find в Linux




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




В этой статье мы поговорим о поиске с помощью очень мощной команды find Linux, подробно разберем ее синтаксис, опции и рассмотрим несколько примеров.




Основная информация о FIND




Find — это одна из наиболее важных и часто используемых утилит системы Linux. Это команда для поиска файлов и каталогов на основе специальных условий. Ее можно использовать в различных обстоятельствах, например, для поиска файлов по разрешениям, владельцам, группам, типу, размеру и другим подобным критериям.




Утилита find предустановлена по умолчанию во всех Linux дистрибутивах, поэтому вам не нужно будет устанавливать никаких дополнительных пакетов. Это очень важная находка для тех, кто хочет использовать командную строку наиболее эффективно.




Команда find имеет такой синтаксис:




find [папка] [параметры] критерий шаблон [действие]




Папка — каталог в котором будем искать




Параметры — дополнительные параметры, например, глубина поиска, и т д




Критерий — по какому критерию будем искать: имя, дата создания, права, владелец и т д.




Шаблон — непосредственно значение по которому будем отбирать файлы.




Основные параметры команды find




Я не буду перечислять здесь все параметры, рассмотрим только самые полезные.




  • -P никогда не открывать символические ссылки
  • -L — получает информацию о файлах по символическим ссылкам. Важно для дальнейшей обработки, чтобы обрабатывалась не ссылка, а сам файл.
  • -maxdepth — максимальная глубина поиска по подкаталогам, для поиска только в текущем каталоге установите 1.
  • -depth — искать сначала в текущем каталоге, а потом в подкаталогах
  • -mount искать файлы только в этой файловой системе.
  • -version — показать версию утилиты find
  • -print — выводить полные имена файлов
  • -type f — искать только файлы
  • -type d — поиск папки в Linux




Критерии




Критериев у команды find в Linux очень много, и мы опять же рассмотрим только основные.




  • -name — поиск файлов по имени
  • -perm — поиск файлов в Linux по режиму доступа
  • -user — поиск файлов по владельцу
  • -group — поиск по группе
  • -mtime — поиск по времени модификации файла
  • -atime — поиск файлов по дате последнего чтения
  • -nogroup — поиск файлов, не принадлежащих ни одной группе
  • -nouser — поиск файлов без владельцев
  • -newer — найти файлы новее чем указанный
  • -size — поиск файлов в Linux по их размеру




Примеры использования




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




1. Поиск всех файлов




Показать все файлы в текущей директории:




find

find .

find . -print




2. Поиск файлов в определенной папке




Показать все файлы в указанной директории:




find ./test




Искать файлы по имени в текущей папке:




find . -name "*.jpg"




Не учитывать регистр при поиске по имени:




find . -iname "test*"




3. Ограничение глубины поиска




Поиска файлов по имени в Linux только в этой папке:




find . -maxdepth 1 -name "*.php"




4. Инвертирование шаблона




Найти файлы, которые не соответствуют шаблону:




find . -not -name "test*"




5. Несколько критериев




Поиск командой find в Linux по нескольким критериям, с оператором исключения:




 find . -name "test" -not -name "*.php"




Найдет все файлы, начинающиеся на test, но без расширения php. А теперь рассмотрим оператор ИЛИ:




find -name "*.html" -o -name "*.php"




6. Несколько каталогов




Искать в двух каталогах одновременно:




find ./test ./test2 -type f -name "*.c"




7. Поиск скрытых файлов




Найти скрытые файлы:




find ~ -type f -name ".*"




8. Поиск по разрешениям




Найти файлы с определенной маской прав, например, 0664:




find . type f -perm 0664




Найти файлы с установленным флагом suid/guid:




find / -perm 2644




Или так:




find / -maxdepth 2 -perm /u=s




Поиск файлов только для чтения:




find /etc -maxdepth 1 -perm /u=r




Найти только исполняемые файлы:




find /bin -maxdepth 2 -perm /a=x




9. Поиск файлов по группах и пользователях




Найти все файлы, принадлежащие пользователю:




find . -user sergiy




Поиск файлов в Linux принадлежащих группе:




find /var/www -group developer




10. Поиск по дате модификации




Поиск файлов по дате в Linux осуществляется с помощью параметра mtime. Найти все файлы модифицированные 50 дней назад:




find / -mtime 50




Поиск файлов в Linux открытых N дней назад:




find / -atime 50




Найти все файлы, модифицированные между 50 и 100 дней назад:




find / -mtime +50 –mtime -100




Найти файлы измененные в течении часа:




find . -cmin 60




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




Найти все файлы размером 50 мегабайт:




find / -size 50M




От пятидесяти до ста мегабайт:




find / -size +50M -size -100M




Найти самые маленькие файлы:




find . -type f -exec ls -s {} ; | sort -n -r | head -5




Самые большие:




find . -type f -exec ls -s {} ; | sort -n | head -5




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




Поиск файлов




find /tmp -type f -empty




Поиск папок




find ~/ -type d -empty




13. Действия с найденными файлами




Для выполнения произвольных команд для найденных файлов используется опция -exec. Например, выполнить ls для получения подробной информации о каждом файле:




find . -exec ls -ld {} ;




Удалить все текстовые файлы в tmp




find /tmp -type f -name "*.txt" -exec rm -f {} ;




Удалить все файлы больше 100 мегабайт:




find /home/bob/dir -type f -name *.log -size +10M -exec rm -f {} ;




Вывод




Вот и подошла к концу эта небольшая статья, в которой была рассмотрена команда find. Как видите, это одна из наиболее важных команд терминала Linux, позволяющая очень легко получить список нужных файлов. Ее желательно знать всем системным администраторам. Если вам нужно искать именно по содержимому файлов, то лучше использовать команду grep.




Источник: https://losst.ru/komanda-find-v-linux



2021-03-07T11:12:48
Утилиты командной строки

Как установить и настроить WireGuard в Kali Linux

WireGuard — это простой и быстрый сервис VPN-туннелирования с открытым исходным кодом, созданный с использованием передовых криптографических технологий. Его очень легко настроить и использовать, и многие считают его лучше, чем OpenVPN или IPSec. WireGuard также является кроссплатформенным и поддерживает встроенные устройства. Читать

Как настроить зеркало Kali Linux

Используя простые шаги, представленные в этой статье , вы можете настроить зеркало Kali Linux, на котором будут размещаться основные репозитории и образы Kali. Зеркало Kali Linux удобно.

 

Требования

Чтобы настроить полное зеркало Kali Linux, вам понадобится несколько ресурсов. К ним относятся:

  • Доступный веб-сервер с доступом HTTP и HTTP.
  • Большое дисковое пространство — на момент написания этой статьи, по словам специалистов по сопровождению Kali Linux, размер репозитория пакетов Kali Linux составлял 1,1 ТБ и быстро расширялся.
  • Установленные и запущенные в системе службы HTTP и RSYNC

 

Настройка пользователя для зеркала Kali Linux

Первым шагом является создание полной учетной записи, предназначенной только для зеркал Kali Linux. Используйте команду adduser:

$ adduser –disabled-password andreyex



Adding user `andreyex’...



Adding new group `andreyex’ (1001) ...



Adding new user `andreyex’ (1001) with group `andreyex’...



Creating home directory `/home/andreyex' ...



Copying files from `/etc/skel' ...



Changing the user information for andreyex



Enter the new value, or press ENTER for the default



Full Name []:



Room Number []:



Work Phone []:



Home Phone []:



Other []:



Is the information correct? [Y/n] y

Настроить зеркальные каталоги

Затем нам нужно настроить каталоги, содержащие зеркала, и назначить разрешения для созданного нами пользователя.

mkdir -p /srv/mirrors/kali{,-images}



chown andreyex:andreyex /srv/mirrors/kali{,-images}

 

Приведенные выше команды создадут каталоги kali и kali-images и установят право собственности на пользователя, которого мы создали ранее.

 

Настроить rsync

Следующий шаг включает запуск и настройку службы rsync. Экспортируйте каталоги с помощью команды:

sed -i -e "s/RSYNC_ENABLE=false/RSYNC_ENABLE=true/" /etc/default/rsync



# nano /etc/rsyncd.conf



# cat /etc/rsyncd.conf



uid = nobody



gid = nogroup



max connections = 25



socket options = SO_KEEPALIVE







[kali]



path = /srv/mirrors/kali



read only = true



[kali-images]



path = /srv/mirrors/kali-images



read only = true



# service rsync start



Starting rsync daemon: rsync.

Запуск демона rsync: rsync.

Настройка зеркал

Затем нам нужно экспортировать зеркала в http://domain.com/kali и http://domain.com/kali-images.

Начнем с загрузки и разархивирования архива http://archive.kali.org/ftpsync.tar.gz в каталоге пользователя, созданном ранее.

# su - archvsync



# wget http://archive.kali.org/ftpsync.tar.gz



# tar zxf ftpsync.tar.gz



Next set up the configuration file.



cp etc/ftpsync.conf.sample etc/ftpsync-kali.conf



nano etc/ftpsync-kali.conf



grep -E '^[^#]' etc/ftpsync-kali.conf



MIRRORNAME=`hostname -f`



TO="/srv/mirrors/kali/"



RSYNC_PATH="kali"



RSYNC_HOST=archive.kali.org

 Настройка доступа по SSH

Последний шаг — настроить авторизованные ключи SSH для archive.kali.org для запуска зеркала.

mkdir /home/andreyex/.ssh



chown 700 /home/andreyex/.ssh



wget –O- -q http://archive.kali.org/pushmirror.pub >> /home/andreyex/.ssh/authorized_keys



chown 644 /home/andreyex/authorized_keys

 Связь с Kali.org

После завершения настройки системы отправьте электронное письмо по адресу devel@kali.org, указав всю информацию о ваших зеркалах, включая пользователя, порт для доступа к службе SSH и общедоступное имя хоста. Вы также должны указать, к кому Kali следует обращаться в случае проблем и должны ли применяться какие-либо изменения в соответствии с настройками зеркала.

Оттуда все, что вам нужно сделать, это дождаться первого толчка от archive.kali.org.



2021-03-06T10:09:54
Kali Linux

Установка сертификата SSL в NGINX

При выпуске сертификата у любого CA клиент получает два файла — сертификат (.crt) и приватный ключ (.key). Первым делом их нужно поместить на веб-сервер, обычно для этого используется директория /etc/ssl, скорпируйте эти файлы в неё, либо в любое другое место (тогда нужно будет исправить пути в конфиге nginx).

Читать

Как пересобрать исходный код в Kali Linux

Несмотря на то, что Kali Linux специально настроен для тестирования на проникновение, это гибкий и настраиваемый дистрибутив Linux. Он позволяет вам настраивать такие вещи, как окружение рабочего стола, пакеты и даже ядро, если вы знаете, что делаете,

Давайте обсудим, как мы можем изменить установленные пакеты и пересобрать их из исходного кода.

Примечание
Прежде чем мы начнем, вам нужно будет включить URI исходного пакета deb-src в файл sources.list.

 

Добавление пакетов deb-src

Чтобы добавить пакет deb-src в файл sources.list Kali Linux, отредактируйте файл в /etc/apt/sources.list и раскомментируйте строку deb-src.

Затем обновите исходные пакеты, прежде чем продолжить.

Примечание
Убедитесь, что у вас установлен пакет dpkg-dev.

 

Скачивание исходных пакетов

Следующим шагом будет загрузка пакета с исходным кодом. В этом примере мы будем использовать vim. Выполните команды:

sudo apt-get update

sudo apt source vim

Затем перейдите в каталог исходного пакета vim.

cd vim-8.2.2434/

 Изменить исходный код пакета

Следующим шагом является внесение изменений в исходный код по своему усмотрению. Мы не будем вдаваться в подробности, потому что это будет зависеть от пакета, который вы изменяете, и ваших целевых потребностей.

sudo nano src/vimrun.c

 

После внесения необходимых изменений сохраните и закройте файл.

 

Проверить зависимости сборки

Перед пересборкой пакетов с исходным кодом вам необходимо установить зависимости пакетов. Проверить необходимые зависимости можно с помощью команды:

dpkg-checkbuilddeps

Выполнение этой команды отобразит все необходимые зависимости перед пересборкой пакета. Если зависимости не требуются, результат будет пустым. Для vim вы увидите результат, аналогичный показанному ниже:

dpkg-checkbuilddeps: error: Unmet build dependencies: autoconf cscope debhelper-compat (= 12) libacl1-dev libcanberra-dev libgpmg1-dev libgtk-3-dev liblua5.2-dev libperl-dev libselinux1-dev libncurses-dev libtool-bin libxaw7-dev libxpm-dev libxt-dev lua5.2 python3-dev ruby-dev tcl-dev docbook-utils docbook-xml ghostscript pdf2svg

Установка зависимостей сборки

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

sudo apt-get install autoconf cscope debhelper-compat libacl1-dev libcanberra-dev libgpmg1-dev libgtk-3-dev liblua5.2-dev libperl-dev libselinux1-dev libncurses-dev libtool-bin libxaw7-dev libxpm-dev libxt-dev lua5.2 python3-dev ruby-dev tcl-dev docbook-utils docbook-xml ghostscript pdf2svg -y

 Сборка исходного пакета

После выполнения необходимых зависимостей и сохранения изменений нового исходного пакета вы можете построить новый пакет.

Используйте команду ниже, чтобы создать новый пакет.

dpkg-buildpackage

 

Установка нового пакета

После успешного завершения сборки у вас должен быть пакет .deb, который можно установить с помощью dpkg.

sudo dpkg –i ../vim-???.deb

 Вывод

В этой краткой статье показано, как создавать, изменять и перестраивать пакеты в Kali Linux. Перестройка пакетов может быть очень полезной, если вам нужна настроенная версия инструмента.



2021-03-05T12:20:04
Kali Linux

Как установить заголовки Linux в Kali Linux

Добро пожаловать в эту краткую статью, в которой рассказывается, как установить заголовки Linux в Kali Linux.

Заголовочные файлы Linux используются при определении интерфейса между различными компонентами ядра. Они также используются для определения интерфейсов между ядром и пользовательским пространством. Типичный случай, когда требуются заголовки Linux, — это запуск гипервизора, поскольку для инструментов требуются модули, которые взаимодействуют с ядром.

По умолчанию Kali Linux не поставляется с установленными заголовками Linux, вам придется делать это вручную.

 

Установка заголовков Linux с помощью APT

Один из методов, который вы можете использовать для установки заголовков ядра, — это использование диспетчера пакетов Debian с репозиториями Kali Linux.

Перед успешной установкой заголовков ядра вам может потребоваться выполнить полное обновление системы.

Отредактируйте файл sources.list и добавьте правильные репозитории, представленные в следующем ресурсе,

https://www.kali.org/docs/general-use/kali-linux-sources-list-repositories/

 

Затем обновите репозитории и запустите полное обновление дистрибутива.

sudo apt-get update



sudo apt-get dist-upgrade

 

После завершения перезагрузите установку Kali Linux и установите заголовки.

Введите команду ниже, чтобы установить заголовки Linux для вашей версии ядра. Мы воспользуемся командой uname –r, чтобы напрямую получить версию ядра.

sudo apt-get install –y linux-headers- $ ( uname -r )

 

Эта команда должна успешно запуститься и установить необходимые заголовки для вашей версии ядра. Однако, если описанный выше метод не работает, вы можете установить их вручную.

 

Установка заголовков ядра вручную

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

sudo apt-get update



sudo apt-get dist-upgrade

 

Откройте свой браузер и перейдите к

https://http.kali.org/kali/pool/main/l/linux/

 

Загрузите необходимые заголовки ядра в виде пакета deb.

Как установить заголовки Linux в Kali Linux

Затем используйте команду dpkg для установки заголовков:

sudo dpkg –i -headers-5.5.0-kali2-all-amd64_5.5.17-1kali1_amd64.deb

 

Это должно установить необходимые заголовки ядра.

 

Вывод

В этой статье показано, как вручную установить заголовки ядра в Kali Linux и использовать диспетчер пакетов apt.

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

 

Спасибо за чтение.



2021-03-05T09:13:30
Kali Linux