отобразите только файлы, запускающиеся с. (скрытый)

У меня было небольшое недоразумение, которое делает недействительным мою точку 6 выше. Выполнение (иначе "поиск") обдумало каталог, требуется для получения inode чисел файлов, которые это содержит, но не его собственное inode число.

Кавычка:

Можно думать о чтении и выполнить на каталогах этот путь: каталоги являются файлами данных, которые содержат два сведения для каждого файла в, имя файла, и это - inode число. Читайте разрешение необходимо для доступа к названиям файлов в каталоге. Выполнитесь (иначе поиск), разрешение необходимо для доступа к inodes файлов в каталоге, если Вы уже знаете имя файла.

Ссылки:

  1. https://askubuntu.com/questions/83788/accessing-files-in-a-directory-without-x-permission
  2. http://content.hccfl.edu/pollock/aunix1/filepermissions.htm
  3. https://superuser.com/questions/442581/why-do-you-need-execute-permission-on-the-parent-directory-to-rename-a-file

11
30.04.2017, 22:16
8 ответов

ls -ld .*[1130603] будет делать то, что вы хотите.[1130226].

17
27.01.2020, 19:57

Должно работать, если вы хотите перечислить каждый скрытый файл в иерархии каталогов.[1130228]

4
27.01.2020, 19:57
[1130313] Если вы хотите разобрать вывод [1130678]ls[1130679], необходимо добавить [1130680]^[1130681] в начале регресса и не использовать опцию [1130682]-l[1130683]. Использование [1130684]-l[1130685] приводит к тому, что каждый вывод строки начинается с информации о правах доступа к файлу или папке, а не с имени файла или папки. Поэтому вы должны использовать следующим образом:

-l[1130686]-l[1130687] bash builtin:

Если вы используете [1130688]zsh[1130689], вы можете использовать:

2
27.01.2020, 19:57
[1130345] Улучшение в ответе [1130734] Flup[1130735]:

Здесь будут перечислены все файлы, имя которых начинается с точки, но которые не являются [1130736].[1130737] или [1130738]...[1130739].

Обратите внимание, что если вы хотите перевести вывод [1130740]ls[1130741] на [1130742] grep[1130743] (что, как указывает devnull [1130745], никогда не является хорошей идеей), убедитесь, что вы используете [1130746] \ls[1130747] или [1130748] команду ls[1130749], потому что если [1130750]ls[1130751] имеет псевдонимы, чтобы показать цветной вывод (как, например, в Debian), то его вывод содержит ANSI-экранирующие последовательности для создания цветного вывода, который будет срабатывать на вашем [1130752]grep[1130753], если его шаблон привязан к началу линии. [1130350]

1
27.01.2020, 19:57
[1130245]Вот еще два способа поиска только скрытых файлов.

md5sum --quiet -c checksum_file.md5

или

Используйте [1130634]-maxdepth[1130635], чтобы указать, как далеко вы хотите искать в дереве каталогов.[1130250].

1
27.01.2020, 19:57

Решение val0x00ff действительно хорошее, но оно забывает скрытые каталоги.

Если вы хотите скрытых файлов и скрытых каталогов , без. и ..:

find -maxdepth 1 -regex '\./\..+' -printf "%P\n"
0
27.01.2020, 19:57

Нижний намного компактнее и поддерживает множество вариантов

1 )Показать скрытые файлы, каталоги и подкаталоги -

find. | grep "^\./\."

2 )Отображение только скрытых каталогов и подкаталогов -

find. -type d | grep "^\./\."

3 )Отображать скрытые файлы только в текущем и подкаталогах -

find. -type f | grep "^\./\."

4 )Показать скрытые файлы и каталоги в текущей папке

find. -maxdepth 1 | grep "^\./\."

0
27.01.2020, 19:57

Вы можете попробовать:

find. -maxdepth 1 -type f -name '\.*' -print
find. -maxdepth 1 \( -type f -o -type d \) -name '\.*' -print

Конечно, вы можете использовать другие значения maxdepthили полностью удалить их. Очень полезно, если вы хотите исследовать между каталогами(-type d)или обычными файлами(type f)или обоими, и комбинировать с другими функциями, такими как:

(напр. время последнего изменения, основанное на @piroux примере -дополненном @jeroen -wiert -pluimers)

find. -maxdepth 1 \( -type f -o -type d \) -name '\.*' -exec stat -c %y {} \; -printf "%P\t"
0
27.01.2020, 19:57

Теги

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