Цикличное выполнение файлы списка в UNIX

Да, он поддерживает генераторы энтропийных аппаратов из коробки. Это необходимо для SSL-серверов высокой нагрузки с большим количеством одновременного соединения, инициированных в секунду (Gmail, Facebook, Microsoft и т. Д.). Это действительно не нужно для домашних серверов или небольших организационных серверов. Имейте в виду, что генераторы энтропии аппаратного обеспечения обычно используют интерфейсы PCI, ничего не представляют себе, поэтому его можно легко поддерживать. Не уверен, есть ли пропитывающие аппаратные энтропии генераторы, которые требуют закрытых исходных драйверов, вероятно, нет, так как не очень сложно, а не очень прибыльная промышленность (в отличие от видеокартов иначе) в любом случае.

http://en.wikipedia.org/wiki/hardware_random_number_Generator

0
14.06.2014, 00:02
5 ответов

С помощью ls используйте команду ниже, чтобы вывести список только каталогов.

ls -d -- */

Чтобы вывести список обычных файлов с помощью самого ls (и при условии, что имена файлов не содержат символов новой строки), вы можете использовать следующую команду.

ls -p | grep -v /

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

find . -maxdepth 1 -type f

(обратите внимание, что, в отличие от предыдущего, он также включает скрытые файлы, и список не сортируется)

стандартный эквивалент:

find . ! -name . -prune -type f
2
28.01.2020, 02:37

Вам не понадобится цикл для поиска всех каталогов, вместо этого вы можете использовать команду find :

find . -maxdepth 1 -type d

Это будет перечислить все каталоги в текущем каталоге. Если вам нужен вывод ls -l , вы можете сделать:

find . -maxdepth 1 -type d | xargs ls -ld

Если вы действительно хотите использовать цикл, вы можете использовать следующую конструкцию:

for file in $(ls)
do
  if [[ -d $file ]]
  then
    ls -ld $file
  fi
done

for loop loops по всем записям, возвращаемым ls , то if проверяет, является ли запись каталогом.

0
28.01.2020, 02:37

Если вам дан только вывод ls -ltr , продолжайте читать этот пост. В противном случае посмотрите, что предлагали другие плакаты, такие как Рамеш или mtak .

Первая буква каждой строки в вашем выводе сообщает вам, каталог это или нет.

Итак, мое наивное решение было бы таким:

while read line; do
  [ "${line:0:1}" == "d" ] && echo "$line" | awk '{print $NF}' # it is a directory, echo the directory name
done < outputfilename
0
28.01.2020, 02:37

список имен каталогов

compgen -d

Не начиная с точки

compgen -d -X '.*' | xargs ls -dlrt
0
19.09.2020, 16:16

Если вы хотите иметь что-то вроде «шаблона сценария оболочки» для того, как перебирать содержимое каталога и выполнять действия в зависимости от типа файла, следующее может дать вам подсказку:

for f in *
do
   if [[ -d "$f" ]]
   then
     ... your processing of directories here, reference them as "$f"...
   fi
done

Это просмотрит все записи в текущем каталоге, проверит, являются ли они каталогами, и выполнит любую обработку, которую вы хотите.Обратите внимание, что синтаксис проверки каталога специфичен для BASH -; для общего случая используйте if [ -d "$f" ].

Другой подход ограничивал бы список только элементами каталога:

for d in */
do
   ... whatever you need to do on directory "$d"...
done
1
21.09.2020, 13:40

Теги

Похожие вопросы