Основная информация о Find
Команда find — это одна из наиболее важных и часто используемых утилит системы Linux. Это команда для поиска файлов и каталогов на основе специальных условий. Ее можно использовать в различных обстоятельствах, например, для поиска файлов по разрешениям, владельцам, группам, типу, размеру и другим подобным критериям.
Утилита find предустановлена по умолчанию во всех Linux дистрибутивах, поэтому вам не нужно будет устанавливать никаких дополнительных пакетов. Это очень важная находка для тех, кто хочет использовать командную строку наиболее эффективно.
Команда find имеет такой синтаксис:
find критерий шаблон
Папка — каталог в котором будем искать
Параметры — дополнительные параметры, например, глубина поиска, и т д
Критерий — по какому критерию будем искать: имя, дата создания, права, владелец и т д.
Шаблон — непосредственно значение по которому будем отбирать файлы.
Сохранение параметров mount после перезагрузки
Для того, что бы устройства при перезагрузки системы монтировались автоматически, необходимо прописать инструкции монтирования в файл /etc/fstab. Файл /etc/fstab содержит список записей в следующем формате:
Например:
/dev/sdb1 /home ext4 defaults 0 0
Подключит устройство /dev/sdb1 (например жесткий диск) в директорию /home
После того как инструкция для mount прописаны в /etc/fstab, что бы проверить правильность написания дайте команду
mount -a
Если команда отработает без ошибок, то все устройства прописанные в /etc/fstab будут подключены, а также изменения не потеряются после перезагрузки.
Монтирование файловой системы
Для подключения файловой системы к конкретному местоположению (точке монтирования) команда mount используется в следующей форме:
mount имя_устройства директория
После подключения точка монтирования становится корневой директорией смонтированной ФС. Например, смонтировать жесткий диск /dev/sdb1 в директорию /mnt/media можно следующим образом:
$ sudo mount /dev/sdb1 /mnt/media
Обычно при монтировании устройства с распространенной ФС, например, ext4 или xfs, команда mount автоматически определяет ее тип. Однако, некоторые ФС не распознаются. Их тип нужно указывать в явном виде. Для этого используется опция -t:
mount -t тип имя_устройства директория
Чтобы указать дополнительные опции монтирования, используется флаг -o:
mount -o опции_монтирования имя_устройства директория
Можно указать несколько опций, разделенных запятыми (после запятых не должно быть пробелов). Ниже предоставлены основные опции команды
-V — вывести версию утилиты;-h — вывести справку;-v — подробный режим;-a, —all — примонтировать все устройства, описанные в fstab;-F, —fork — создавать отдельный экземпляр mount для каждого отдельного раздела;-f, —fake — не выполнять никаких действий, а только посмотреть что собирается делать утилита;-n, —no-mtab — не записывать данные о монтировании в /etc/mtab;-l, —show-labels — добавить метку диска к точке монтирования;-c — использовать только абсолютные пути;-r, —read-only — монтировать раздел только для чтения;-w, —rw — монтировать для чтения и записи;-L, —label — монтировать раздел по метке;-U, —uuid — монтировать раздел по UUID;-T, —fstab — использовать альтернативный fstab;-B, —bind — монтировать локальную папку;-R, —rbind — перемонтировать локальную папку.
Полный список опций можно получить, выполнив команду man mount.
Монтирование разделов с помощью mount
Монтирование разделов с помощью mount выполняется очень просто. Фактически в большинстве случаев будет достаточно упрощенной версии команды. Например, смонтируем раздел /dev/sdb6 в папку /mnt:
sudo mount /dev/sdb6 /mnt/
В большинстве случаев вы будете вынуждены выполнять команду mount с правами суперпользователя, если обратное не указано в fstab (опция монтирования users). Вы можете посмотреть информацию о процессе монтирования добавив опцию -v:
sudo mount -v /dev/sdb6 /mnt/
Если нужно, вы можете указать файловую систему с помощью опции -t:
sudo mount -v -t ext4 /dev/sdb6 /mnt
Если необходимо примонтировать файловую систему только для чтения, то вы можете использовать опцию -r или опцию монтирования -o ro, результат будет одинаковым:
sudo mount -t ext4 -r /dev/sdb6 /mnt$ sudo mount -t ext4 -o ro /dev/sdb6 /mnt
Вы можете использовать и другие опции чтобы выполнить монтирование разделов linux, например, указать, что на этом разделе нельзя выполнять программы:
sudo mount -t ext4 -o noexec /dev/sdb6 /mnt
Обратите внимание, что вы не можете использовать опции uid, gid, fmask для файловых систем ext. Они поддерживаются только в FAT, vFAT, exFAT
Вы можете использовать не только имена устройств чтобы выполнить монтирование диска в linux. Для этого можно применять UUID или метки, например, монтирование с помощью UUID:
sudo mount –uuid=”b386d309-05c1-42c8-8364-8d37270b69e0″ /mnt
Посмотреть uuid для ваших разделов можно с помощью команды:
sudu blkid
Точно так же вы можете использовать метки. Команда монтирования диска linux будет выглядеть так:
sudo mount –label=”home” /mnt/
Вы можете примонтировать одну папку в другую, для этого используйте опцию –bind
sudo mount –bind /mnt/ /media/
Возможно, не только монтирование разделов linux, но и монтирование файлов, если они содержат файловую систему, например, образов дисков. Монтирование образа диска linux работает точно так же:
sudo mount ~/file.iso /mnt
Посмотреть список всех примонтированных устройств можно просто выполнив mount без параметров:
mount
3 ответа
О текущем выводе
Ясно указывает, что ваш компьютер добавляет к запросам, не относящимся к полному доменному имени. Это что-то настроенное неправильно или, по крайней мере, неправильно в вашей настройке. (если вы не используете суффикс специально)
Разрешение имен и периоды
Одна важная вещь, о которой многие люди не знают, — это то, что полное имя всегда должно заканчиваются точкой (). Если вы его не укажете, машина попытается разрешить его в локальном поисковом домене (например, mydomain.tld). Таким образом, в этом случае запрос для станет . Чтобы предотвратить это, запросите с периодом.
Конфигурация резолвера
Конфигурация резолвера здесь имеет большое значение. В Ubuntu (и Debian) это настраивается в файле (при условии, что вы не используете NetworkManager):
Разрешение имен в Linux также может быть выполнено другими способами. Дело не только в том, что для всего этого запрашивается локальный DNS-сервер. Взгляните на ваш файл для конфигурации разрешения :
Это означает, что сначала проверяются файлы (это файл), затем mDNS и только позже запрашивается реальный DNS-сервер. mDNS реализован с использованием Avahi в Linux и называется Bonjour на устройствах Apple. По умолчанию он использует суффикс и работает через широковещательные сообщения. Во многом работает ARP, но только для DNS.
Все эти системы могут сбивать с толку и даже больше при использовании в обычной настройке DNS, смешанной с устройствами mDNS. Я думаю, именно поэтому вы сейчас не понимаете, почему одно устройство работает, а другое — нет: они не все используют один и тот же метод разрешения.
Чтобы разобраться во всем
- Избегайте использования if , если вы не хотите полностью полагаться на mDNS. Из вашего вопроса я понимаю, что вы хотели бы, чтобы все настраивалось самостоятельно в одном месте, поэтому мой подход состоит в том, чтобы этого избежать.
- Настройте локальный DNS-сервер (устройство DD-WRT в вашем случае) для использования специального доменное имя, например . Для dnsmasq это единственная настройка, но при обычных настройках ее следует настраивать как на DNS-сервере, так и на DHCP-сервере (поскольку он объявляется через DHCP).
- Настройте все ПК так, чтобы они имели простое и уникальное имя хоста . Они используют это в своем запросе на DHCP, и это используется в dnsmasq, запущенном на вашем маршрутизаторе, для их разрешения. Или настройте их вручную, чтобы не полагаться на DHCP.
- Удалите все оставшиеся конфигурации в на тот случай, если вы возились с ним в прошлом.
-
Настройте ПК в вашей сети, чтобы использовать в качестве локального поискового домена. Это можно сделать через DHCP автоматически или, если используются статические адреса, через файл или в Network Manager:
- Теперь и простое разрешение имен ( ), а также полное имя () должны работать.
ответ дан
20 January 2013 в 01:10
На основании ответа gertvdijk я просто закомментировал строку в nsswitch.conf
ответ дан
20 January 2013 в 01:10
У меня были похожие проблемы с / etc / hosts, содержащий несколько пробелов между IP и именем хоста, вместо использования TAB. После изменения на TAB имя хоста может быть разрешено с помощью ping.
см. Также на https://superuser.com/a/938366/467479
ответ дан
20 January 2013 в 01:10
Samba — это SMB для Linux
SMB — это протокол, технология, которая позволяет создать файловые сервер. В первой части я говорил, что в Linux функции сервера и клиента SMB выполняет Samba. Это не совсем так, на самом деле, в настоящее время Samba не только реализует возможности SMB, но и дублирует функционал сервера Доменов Active Directory (технология Windows, позволяющая управлять множеством компьютеров — кстати, про Active Directory скоро будет большой материал на HackWare.ru).
Далее мы будем говорить про Samba, но мы затронем только вопросы SMB.
Начните с установки пакетов samba и smbclient.
В Debian, Linux Mint, Ubuntu, Kali Linux и их производных для установки samba выполните команду:
sudo apt install samba smbclient
В Arch Linux, BlackArch и их производных выполните команду:
sudo pacman -S samba smbclient
Справочная информация
- 10.09.2007: Autofs: Замечание: при стандартной установке debian etch пакет autofs оказался не установлен, для использования доустанавливаем
- 09.05.2009: Autofs: создания описания autofs, описание автомонтирования samba ресурсов
- 04.09.2009: Autofs: создание статьи в википедии на примере для debian lenny 5.0 amd64
- 15.01.2010: Autofs: описание автомонтирования ssh ресурсов
- 29.12.2010: Autofs: правка внешнего вида, актуализация описания подключения cifs ресурсов
- 14.01.2011: Autofs: правка внешнего вида, добавлен пример подключения floppy дисков
- 04.08.2011: Autofs: правка внешнего вида, добавлен пример подключения ram-диска
- 06.05.2012: Autofs: добавлено описание автомонтирования ssh-ресурсов через собственный скрипт auto.sshfs
- 16.01.2013: Autofs: добавлено описание автомонтирования bind-ресурсов
3 ответа
13
способен искать имена хостов
Невозможно найти имена хостов
Чтобы подключиться по имени, вы должны использовать локальную службу DNS, такую как Avahi. Без локального DNS вы должны указать IP-адрес при подключении. Вы можете использовать , чтобы узнать IP-адрес.
Обычно лучшим способом доступа к общим ресурсам является использование . Это позволит вам установить много общих ресурсов без разрешения root.
Маска для smbnetfs расскажет вам больше.
Если для общего ресурса требуется логин и пароль, выполните следующие действия.
Отредактируйте файл , чтобы вставить учетные данные. Формат файла
Была ли та же проблема, которая пыталась установить NAS. Оказывается, нужны разные команды для (я думаю, это было) разных форматов, например, ext 4, NTFS и т. Д. Когда я в конце концов нашел правильную версию, я смог смонтировать через и терминал.
Мы используем Iomega NAS
Этот работает
Сначала я использовал формат номера вместо имени, но числа менялись. Неудачно, чтобы дать постоянные IP-адреса, где это необходимо, дало машине имя и теперь оно работает.
Однако это перестало работать над версиями nadia и майя (2 разных ПК). Надя начала работать, возможно, из-за обновления? (не знаю, что делать, чтобы исправить это, несмотря на попытки). Майя все еще не работает. Насколько я знаю, я ничего не менял. Так что, похоже, там могут быть какие-то проблемы.
У меня были такие же симптомы, и мне пришлось подтолкнуть Avahi, чтобы начать новую установку 18.04.1 (которая уже была перезагружена много раз). Потом все сработало. Я подозреваю, что многие люди в конечном итоге задают эти вопросы, возможно, не понимают, что они не запускались на их VM по какой-либо причине и т. Д.
Пожалуйста, см. , прежде чем читать больше моих, что было одним из самых полезных сообщений для этот вопрос, и вопрос был большим кратким вопросом.
Благодаря новым установкам от 18.04.1 на VMware он работал из коробки. В VirtualBox мне пришлось настроить сеть на VirtualBox на «Bridged Adapter», а затем включить Avahi и добавить к имени хоста. Я установил VMware много раз и никогда не испытывал проблем, пока не попробовал VirtualBox несколько дней назад.
В моем двухдневном приключении я обнаружил, что Avahi не запускался правильно на свежих 18.04.1 в настройках VirtualBox, где, казалось, все начиналось нормально на новых установках VMware. Кроме того, в VMware происходит еще одна магия, так как мне не нужно добавлять , для имени машины XXX и установки VMware I может просто использовать простое имя хоста Windows.
В VirtualBox, если бы я сделал:
до этого, с добавленным :
, тогда он работает.
Некоторые люди утверждают, что изменение должно исправить разрешение имени. Но после настройки и добавления в список по-разному, это не сработало и добавление или удаление кажется, фактически не влияет на . Возможно, файл не использовался.
См. также https://ubuntuforums.org/showthread.php?t=2099537, который является очень кратким примером того, кто имеет проблему, и кто-то показывает синтаксис для исправления его команды, если вы просто не заметили различий при использовании разрешения Avahi.
Команды SMB в Linux
Доступны следующие интерактивные команды:
help
Для показа справки по определённой команде, выполните
help КОМАНДА
cd ПАПКА
Переход в другую директорию на локальной системе:
lcd
Удаление файла в шаре:
del ИМЯ_ФАЙЛА
Имеется псевдоним этой команды:
rm ИМЯ_ФАЙЛА
И ещё одна команда со схожей функцией:
deltree ШАБЛОН_ИМЕНИ
Эта команда рекурсивно удалить все совпавшие с шаблоном имени файлы и директории.
dir
Имеется псевдоним этой команды:
ls
И ещё один, даже более короткий псевдоним:
l
Скачать файлы с общей папки:
get <ИМЯ_УДАЛЁННОГО_ФАЙЛА>
Для повторного скачивания файла:
reget <ИМЯ_УДАЛЁННОГО_ФАЙЛА>
Для скачивания всех файлов, чьём имя совпадает с шаблоном:
mget ШАБЛОН_ИМЕНИ
Например, чтобы скачать все файлы с файловым расширением .exe нужно запустить такую команду:
mget "*.exe"
Для каждого файла, совпавшего с шаблоном, будет выполнен запрос на скачивание. Если вы действительно хотите его скачать, то нажмите клавишу «y»:
Get file ChromeSetup.exe? y
Также имеется команда newer, которая скачивает файлы (mget), которые новее, чем указанный локальный файл. Используется она так:
newer ФАЙЛ
Выгрузка файла на общую папку:
put <ЛОКАЛЬНОЕ_ИМЯ>
Следующая команда скопирует локальный файл в шару:
print ИМЯ_ФАЙЛА
Повторная закачка файла:
reput <ЛОКАЛЬНОЕ_ИМЯ>
Для закачки всех файлов, чьём имя совпадает с шаблоном:
mput ШАБЛОН_ИМЕНИ
К примеру, чтобы закачать в шару все файлы (из локальной текущей рабочей директории), которые имеют расширение *.cap, нужно запустить команду:
mput "*.cap"
Для каждого файла, совпавшего с шаблоном, будет выполнен запрос подтверждения, если вы действительно хотите его закачать, то нажмите клавишу «y»:
Put file wpa.cap? y putting file wpa.cap as \wpa.cap (335,2 kb/s) (average 277,8 kb/s) Put file wep.cap? y putting file wep.cap as \wep.cap (0,6 kb/s) (average 169,1 kb/s)
Используя команду:
recurse
Можно включать и отключать рекурсивный режим для mget и mput.
Показ всей возможной информации о файле:
allinfo ФАЙЛ
Пример:
allinfo all-databases.sql altname: ALL-DA~1.SQL create_time: Чт авг 29 12:29:51 2019 MSK access_time: Вс янв 5 23:31:47 2020 MSK write_time: Ср авг 1 09:51:25 2018 MSK change_time: Вс янв 5 19:48:36 2020 MSK attributes: A (20) stream: , 381945262 bytes
В выводимой информации можно увидеть альтернативное (DOS) имя, временные метки (дата создания, доступа, записи и изменения файла), атрибуты.
md ДИРЕКТОРИЯ
Псевдоним:
mkdir ДИРЕКТОРИЯ
rd ДИРЕКТОРИЯ
Псевдоним команды:
rmdir ДИРЕКТОРИЯ
Удаление файлов
Следующая команда удалит все совпавшие с МАСКОЙ файлы:
rm МАСКА
Псевдоним команды для удаления файлов:
del МАСКА
С помощью команды wdel можно удалить все совпавшие файлы по подстановочным символам:
wdel АТРИБУТЫ МАСКА
Ссылки
Создание жёсткой ссылки Windows:
hardlink ИСТОЧНИК НАЗНАЧЕНИЕ
Создание жёсткой ссылки UNIX:
link СТАРОЕ_ИМЯ НОВОЕ_ИМЯ
Создание символьной ссылки UNIX:
symlink СТАРОЕ_ИМЯ НОВОЕ_ИМЯ
q
Псевдоним:
quit
Второй псевдоним:
exit
Показ текущей рабочей директории:
pwd
Пример вывода:
Current directory is \\HACKWARE-MIAL\Share\
Другой вариант показа текущей рабочей директории — это команда cd без аргументов:
cd
Пример вывода:
Current directory is \
Создание и извлечение архивов tar
Программа tar используется для объединения нескольких файлов в один файл. Объединение происходит без сжатия. Для того, чтобы несколько файлов из сетевой папки объединить в архив и скачать на локальную систему запустите команду вида:
tar c АРХИВ.tar ФАЙЛ1 ФАЙЛ2 ФАЙЛ3
К примеру, я хочу скачать файлы all-databases.sql besside.log ChromeSetup.exe из совместной папки и объединить их в архив all.tar, тогда моя команда следующая:
tar c all.tar all-databases.sql besside.log ChromeSetup.exe
Если нужно разархивировать файл на локальной системе и всё его содержимое отправить на удалённую общую папку, то запустите команду вида:
tar x АРХИВ.tar
К примеру, я хочу отправить содержимое архива all.tar в общую папку:
tar x all.tar
Для установления режимов tar используется команда
tarmode <full|inc|reset|noreset>
timeout <ЧИСЛО>
Таймаут устанавливается в секундах и по умолчанию равен 20.
Выполнение команд в локальной системе:
!КОМАНДА
Чтобы команда выполнялась не на удалённой системе, а на локальной, поставьте перед ней ! (восклицательный знак), например^
!ls -l
Иерархия DNS и доменное имя
DNS использует систему распределенных баз данных и иерархическую схему для управления ими. Иерархия DNS на самом деле представляет собой перевернутую древовидную структуру, вершина которой называется корневым доменом. Корневой домен далее делится на домены верхнего уровня, такие как .com, .net, .edu, .org и т. д. Домен верхнего уровня может быть дополнительно разделен на категории стран и универсальных доменов.
Домены страны – это двухбитовые коды, которые представляют каждую страну в мире. Например, .jp используется для обозначения Японии, .uk для Соединенного Королевства и т. д. Общие домены в основном представляют собой трех или более символьные TLD. Кроме того, TLD может содержать много доменов второго уровня, затем домены второго уровня могут включать больше доменов третьего уровня и так далее. Эти домены разделены точкой или точкой. Например, contact.amazon.com, support.amazon.com имеют «.com» в качестве TLD, «amazon» – это домен второго уровня, «contact» и «support» – это домены третьего уровня.
Иерархия DNS
Управление доменами верхнего уровня, такими как присвоение имен, регулируется ICANN (Интернет-корпорация по присвоению имен и номеров). Домены второго уровня распределяются регистраторами, назначенными ICANN. Чтобы получить новое доменное имя, например, с TLD .com, перейдите к соответствующему регистратору «.com» и проверьте, доступен ли домен второго уровня или просто доменное имя. Вы можете зарегистрировать новый и уникальный домен, заплатив небольшую плату или бесплатно в случае некоторых TLD (.tk, .ml и т. д.).
Есть два типа доменных имен: абсолютные и относительные. Абсолютные домены – это те, которые заканчиваются обозначением точки, например «cs.mit.edu.». Относительные домены не заканчиваются точкой.
Домены именуются снизу вверх, охватывая все объекты от самого домена до корня. Обычно они интерпретируются слева направо, причем левая сущность является наиболее конкретной, а правая – наименее конкретной.
Доменные имена можно использовать с любым регистром, поскольку они нечувствительны к регистру. Переход на GOOGLE.COM эквивалентен переходу на google.com. Доменные имена должны начинаться с буквенной буквы, но могут заканчиваться символом или цифрой. Между этими двумя концами он может содержать дефисы. Длина доменного имени не должна превышать 63 символа.
Как создать общую сетевую папку в Samba
Если в этой статье вы пропустили предыдущие части, так как вам нужно только настроить файловый сервер на Linux, то начните с установки пакета samba.
Следующая команда не сработает, если отсутствует файл /etc/samba/smb.conf. Если у вас тоже нет этого файла, то создаёте его заглушку — к настройке самого файла smb.conf мы вернёмся позже:
sudo touch /etc/samba/smb.conf
Теперь нужно добавить пароль для пользователя Samba. Действует следующее правило: имя пользователя должно быть таким же, как у вашего текущего пользователя, а пароль можно установить иной, отличный от вашего системного пароля.
Для установки пароля Samba, выполните следующую команду:
sudo smbpasswd -a $USER
Если вы хотите, чтобы у пользователя не было пароля, то укажите опцию -n.
Создайте папку, которая станет совместно используемой:
mkdir ~/linuxshare
Узнаем абсолютный путь до папки ~/linuxshare:
realpath ~/linuxshare
У меня это:
/home/mial/linuxshare
Откройте для редактирования файл /etc/samba/smb.conf:
sudo gedit /etc/samba/smb.conf
Добавьте туда строки вида:
comment = Samba на Linux path = /home/ИМЯ_ПОЛЬЗОВАТЕЛЯ/ИМЯ_ПАПКИ valid users = ИМЯ_ПОЛЬЗОВАТЕЛЯ read only = no browsable = yes
Обратите внимание, что все пробелы в строках выше являются обязательными.
Для моих данных это строки:
comment = Samba на Linux path = /home/mial/linuxshare valid users = mial read only = no browsable = yes
Теперь запустим службу SMB:
sudo systemctl start smb.service
Для добавления службы в автозагрузку выполните:
sudo systemctl enable smb.service
На самом деле, мы настроили не полноценную Samba, а только файловый сервер SMB. Одно из следствий этого — показанные выше способы обнаружения сетевых папок, такие как команда smbtree в Linux или переход во вкладку «Сеть» в проводнике Windows, не обнаружат нашу шару.
Для подключения к этой общей сетевой папке на Linux нужно использовать IP адреса компьютера Linux вместо имени компьютера, как это мы делали раньше. Кстати, поэтому нужно настроить статичный IP (смотрите статью «Как настроить Linux на использование статичного IP адреса»).
Создадим файл, чтобы сетевая папка не была пустой:
echo "Документ на Linux" > ~/linuxshare/document.txt
Посмотрите локальный IP адрес компьютера, на котором запущена Linux:
ip a
У меня этим IP является 192.168.0.89, а папку, как мы помним, я создал с именем linuxshare, тогда в Windows я перехожу в проводнике во вкладку «Сеть» и подключаюсь к этой папке следующим образом:
\\192.168.0.89\linuxshare
Вводим учётные данные (которые мы установили командой smbpasswd):
Видим содержимое совместно используемой папки, размещённой на Linux с помощью SMB:
Для подключения к сетевой папке из консоли Linux, запустите команду вида:
sudo smbclient //IP_АДРЕС/Папка -U ПОЛЬЗОВАТЕЛЬ
Для моего примера это:
sudo smbclient //192.168.0.89/linuxshare -U mial
После ввода пароля нам становится доступным содержимое сетевой папки.
Эту папку можно смонтировать как это было показано в предыдущем разделе, либо подключать в Windows как , как это было показано в первой части.
Монтирование что это?
Монтирование — это подключение диска, раздела, каталога или файла в корневую систему Linux.
Как уже сказано было выше, в ОС «Линукс» имеется общая корневая система. Именно к ней подключаются все устройства и ресурсы, которыми пользуется владелец ПК. Если углубиться в эту сферу более подробно, Windows выполняет процедуры аналогично, но все процесс скрыты от пользователя.
После монтирования определённый раздел становится частью корневой системы, которая всяческими способами пытается сделать свою работу максимально прозрачной. К примеру, после монтирования оперативной памяти или удаленной системной папки пользователь может изучить ее в файловом менеджере. Допускается работа с такими разделами. Она будет аналогична работе, которая касается локального диска.
2 ответа
Найденный этот вопрос , который отвечает на это для меня. В основном Samba может сделать поиски имени хоста, в то время как монтирование не может. Я установил IP-адрес вместо имени хоста в , и это работало как очарование.
ответ дан
1 December 2019 в 17:01
Различием является клиент самбы, делает поиски имени netbios, в то время как mount.cifs делает поиски имени хоста, который требует некоторой стороны локальной сети механизм DNS. CIFS понятия не имеет, каково имя netbios.
Существуют некоторые решения:
Некоторые маршрутизаторы предоставляют той стороне локальной сети механизм DNS автоматически. Вот почему только подмножество пользователей CIFS испытывает эту проблему определения имен. Возможно, Ваш маршрутизатор делает это, но он не включен — это стоит исследовать.
Вы могли дать Вашему nas статический IP-адрес. Это может также быть сделано на маршрутизаторе, если Вы не хотите делать это на самом nas. Затем просто получите доступ к серверу тем IP-адресом.
Вы могли использовать квалифицированное имя хоста mDNS (hostname.local), если Ваш nas имеет тот. В настоящее время Linux, Win10 (необходимо включить его), Apple Mac и эти сетевые устройства, разработанные для работы с Mac, у всех есть эти имена хостов. Если Вы знаете текущий IP-адрес nas, можно использовать эту команду (с корректным IP-адресом), чтобы видеть, имеет ли это тот:
Используйте имя от того вывода и присоедините .local в конце, если это уже не имеет этого.
И наконец очень неправильно понятый и неправильно истолкованный winbind «трюк»:
Если приложение хочет разрешить IP-адрес имени хоста, это смотрит на/etc/nsswitch.conf файл, чтобы знать как. При рассмотрении файла, Вы будете видеть различные способы, которыми он делает это: «файлы» (/etc/hosts), «mdns4» (mDNS), и сам «DNS». Нигде там не ссылка на netbios. Поэтому добавьте его путем размещения побед параметра перед параметром DNS.
победам в свою очередь нужна libnss_wins.so библиотека, и Вы получаете это при установке следующего пакета:
Установка того пакета также устанавливает сам winbind.
Таким образом, Вы заканчиваете тем, что установили что-то (winbind), разработанный для чего-то совершенно другого, чтобы сделать netbios имя, появляются как имя хоста к вещам как CIFS и ping. Назад в день это «решение» имело последствия, поскольку оно иногда замедляло доступ в Интернет, но, учитывая увеличения относительной скорости за эти годы я предполагаю, что никто не заметил бы.
ответ дан
1 December 2019 в 17:01
Примеры использования
А теперь давайте рассмотрим примеры find, чтобы вы лучше поняли, как использовать эту утилиту.
1. Поиск всех файлов
Показать все файлы в текущей директории:
Все три команды покажут одинаковый результат. Точка здесь означает текущую папку. В место неё можно указать любую другую.
2. Поиск файлов в определенной папке
Показать все файлы в указанной директории:
Искать файлы по имени в текущей папке:
Поиск по имени в текущей папке:
Не учитывать регистр при поиске по имени:
5. Несколько критериев
Поиск командой find в Linux по нескольким критериям, с оператором исключения:
Найдет все файлы, начинающиеся на test, но без расширения php. А теперь рассмотрим оператор ИЛИ:
Эта команда найдёт как php, так и html файлы.
6. Тип файла
По умолчанию find ищет как каталоги, так и файлы. Если вам необходимо найти только каталоги используйте критерий type с параметром d. Например:
Для поиска только файлов необходимо использовать параметр f:
Найти скрытые файлы только в текущей папке. Имена скрытых файлов в Linux начинаются с точки:
8. Поиск по разрешениям
Найти файлы с определенной маской прав, например, 0664:
Права также можно задавать буквами для u (user) g (group) и o (other). Например, для того чтобы найти все файлы с установленным флагом Suid в каталоге /usr выполните:
Поиск файлов доступных владельцу только для чтения только в каталоге /etc:
Найти только исполняемые файлы:
Найти все файлы, принадлежащие пользователю:
Поиск файлов в Linux принадлежащих группе:
10. Поиск по дате модификации
Поиск файлов по дате в Linux осуществляется с помощью параметра mtime. Найти все файлы модифицированные 50 дней назад:
Поиск файлов в Linux открытых N дней назад:
Найти все файлы, модифицированные между 50 и 100 дней назад:
Найти файлы измененные в течении часа:
Найти все файлы размером 50 мегабайт:
От пятидесяти до ста мегабайт:
Найти самые маленькие файлы:
Самые большие:
13. Действия с найденными файлами
Для выполнения произвольных команд для найденных файлов используется опция -exec. Например, для того чтобы найти все пустые папки и файлы, а затем выполнить ls для получения подробной информации о каждом файле используйте:
Удалить все текстовые файлы в tmp
Удалить все файлы больше 100 мегабайт: