Можно использовать find
. В Вашем случае:
find /dev/ -name log4j.jar
Можно также использовать подстановочные знаки, например
find /dev/ -name \*.jar
нашел бы все .jar
файлы под /dev
.
Обратите внимание, что находят, делает поиск resursively, т.е. ищет все подпапки /dev
, также. Можно скорректировать максимальную глубину поиска с помощью -maxdepth
параметр, посмотрите man find
для получения дополнительной информации.
Обратите внимание также, что в Вашем случае Вы должны, возможно, иметь root
полномочия, потому что не все подпапки в /dev
читаемы всеми пользователями. В debian/ubuntu системе Вы могли просто добавить a sudo
перед find
команда.
Если Вы не хотите искать resursively, Вы могли бы просто использовать ls
например,
ls /dev/*jar
перечислит все jar
файлы под /dev
.
Это зависит от того, что Вы делаете.
install
команда обычно используется в сценариях установки, которые идут с пакетами и исходным кодом для установки двоичного файла к Вашей системе. Это может также использоваться для установки любого другого файла или каталога. В дополнение к -d
и -c
опции Вы имеете -m
для определения новых полномочий файла, который будет установлен, таким образом, Вы не должны делать a cp
и a chmod
получить тот же результат. Например:
install -m644 "$srcdir/$pkgname-$pkgver-linux64" "$pkgdir/opt/$pkgname"
У Вас также есть опции -g
и -o
для установки целевой группы и владельца, соответственно. Это избегает отдельных вызовов к chown
. В целом, использование install
сокращает Ваш сценарий и делает это более кратким путем выполнения создания файла, копирования, установки режима и связанного материала в одной команде вместо многих.
Для ссылки посмотрите man install
. Для использования просто смотрите на любой сценарий установки, поставленный с некоторым исходным кодом пакета.
"установите" обычно комбинирует следующие действия:
Так, это следует за подходом Unix, которым инструмент должен быть сделан для единственного, но полного действия установки файла, сделанного некоторым инструментом разработки к его рабочему местоположению.
Полное понятие, как я описал, реализовано в системах BSD (в так называемой "xinstall" версии); я рассматриваю здесь "безопасную копию" режим (новая версия с атомарным переименованием) как жизненно важную для этого. Системы Linux (от coreutils) пропускают эту важную часть и подвержены гонкам между удалением и повторным открытием процессом свидетеля; но это, возможно, было покрыто диспетчерами пакетов.
install
или $(INSTALL)
в make-файлах также отмечает те шаги, как являющиеся шагами копирования установки и не некоторыми обычными шагами копирования. Это могло быть полезно.
– Kaz
17.07.2017, 19:01
Если рассматриваемый каталог уже существует:
mkdir -p
попытается установить биты владения и режима файла установить - d
не будет пытаться установить биты владения и режима файла Это для mkdir
и установки
из GNU coreutils . Оба они используют одну и ту же функцию make_dir_parents
, но с параметром preserve_existing
устанавливается значение false
или true
, соответственно.