Список всех файлов с несколькими жесткими ссылками и связанным с ними способом

sudo apt-get install cryptkeeper

После установки перейдите в Приложения -> Системные инструменты -> Cryptkeeper.

Cryptkeeper автоматически присоединяется к верхней панели

Чтобы создать зашифрованную защищенную папку, нажмите апплет Cryptkeeper и выберите «Новая зашифрованная папка»

enter image description here

Затем введите папку имя и где сохранить папку и нажмите «Новая зашифрованная папка» .

Введите пароль и нажмите «Переслать».

enter image description here

Папка будет создана и готова к использованию.

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

enter image description here

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

Выполнено

enter image description here

Чтобы удалить папку или сменить пароль, щелкните правой кнопкой мыши папку в панели-апплете. [!d30 ]

Для получения дополнительной информации

3
задан 1 May 2017 в 11:04

8 ответов

ОК, в этом случае возможно

for i in /tmp/**; do 
  [[ -f "$i" ]] && 
  (( $(stat -c %h "$i") > 1 )) && 
  stat -c '%i %n' "$i"
done | sort -V

Заметки

for i in * для каждого файла в текущем каталоге [[ -f "$i" ]] &&, если он является обычным файлом и (( $(stat -c %h "$i") > 1 )) если у него есть более одной жесткой ссылки stat -c '%i %n', напечатайте свой номер inode и имя | sort -V и отсортируйте этот вывод «естественно»

Вы можете заменить * на путь к файлам, например [ f8], что приведет к печати полного пути. Если вы хотите искать рекурсивно, вы можете использовать shopt -s globstar, а затем ** в пути, например, /tmp/**

find имеет тест -links, но, похоже, он принимает только целое число, вам нужно будет прочитать ответ Равешины для решения, которое его использует.

1
ответ дан 22 May 2018 в 23:03
  • 1
    Спасибо, я не знал shopt, но ваша версия также перечисляет папки. Я сделал небольшую модификацию: shopt -s globstar;for i in /tmp/**; do [[ -f "$i" ]] && (( $(stat -c %h "$i") > 1 )) && stat -c '%i %n' "$i"; done | sort -V – 2IRN 1 May 2017 в 11:58
  • 2
    ah ok - отредактировал его :) для shopt см. на этой странице руководства – Zanna 1 May 2017 в 12:09

ОК, в этом случае возможно

for i in /tmp/**; do [[ -f "$i" ]] && (( $(stat -c %h "$i") > 1 )) && stat -c '%i %n' "$i" done | sort -V

Заметки

for i in * для каждого файла в текущем каталоге [[ -f "$i" ]] &&, если он является обычным файлом и (( $(stat -c %h "$i") > 1 )) если у него есть более одной жесткой ссылки stat -c '%i %n', напечатайте свой номер inode и имя | sort -V и отсортируйте этот вывод «естественно»

Вы можете заменить * на путь к файлам, например /tmp/*, что приведет к печати полного пути. Если вы хотите искать рекурсивно, вы можете использовать shopt -s globstar, а затем ** в пути, например, /tmp/**

find имеет тест -links, но, похоже, он принимает только целое число, вам нужно будет прочитать ответ Равешины для решения, которое его использует.

1
ответ дан 18 July 2018 в 14:01

ОК, в этом случае возможно

for i in /tmp/**; do [[ -f "$i" ]] && (( $(stat -c %h "$i") > 1 )) && stat -c '%i %n' "$i" done | sort -V

Заметки

for i in * для каждого файла в текущем каталоге [[ -f "$i" ]] &&, если он является обычным файлом и (( $(stat -c %h "$i") > 1 )) если у него есть более одной жесткой ссылки stat -c '%i %n', напечатайте свой номер inode и имя | sort -V и отсортируйте этот вывод «естественно»

Вы можете заменить * на путь к файлам, например /tmp/*, что приведет к печати полного пути. Если вы хотите искать рекурсивно, вы можете использовать shopt -s globstar, а затем ** в пути, например, /tmp/**

find имеет тест -links, но, похоже, он принимает только целое число, вам нужно будет прочитать ответ Равешины для решения, которое его использует.

1
ответ дан 24 July 2018 в 20:18

ОК, в этом случае возможно

for i in /tmp/**; do [[ -f "$i" ]] && (( $(stat -c %h "$i") > 1 )) && stat -c '%i %n' "$i" done | sort -V

Заметки

for i in * для каждого файла в текущем каталоге [[ -f "$i" ]] &&, если он является обычным файлом и (( $(stat -c %h "$i") > 1 )) если у него есть более одной жесткой ссылки stat -c '%i %n', напечатайте свой номер inode и имя | sort -V и отсортируйте этот вывод «естественно»

Вы можете заменить * на путь к файлам, например /tmp/*, что приведет к печати полного пути. Если вы хотите искать рекурсивно, вы можете использовать shopt -s globstar, а затем ** в пути, например, /tmp/**

find имеет тест -links, но, похоже, он принимает только целое число, вам нужно будет прочитать ответ Равешины для решения, которое его использует.

1
ответ дан 31 July 2018 в 13:18

Вот мое решение с find:

find . -links +1 -type f -name '*' -printf '%i %p\n' | sort
.: поиск в текущем каталоге, вы можете изменить его на что-нибудь еще, например: /, ~/ravexina и т. д. . -links +1: только файлы с более чем 1 ссылкой (> = 2). -type f: только файлы (не каталоги, сим-ссылки, файлы труб и т. д.). -name '*': все файлы с чем-либо в их именах не имеют значения. -printf '%i %p\n': напечатать только inode, file path и новую строку \n. sort: сортировать строки на основе inodes.
4
ответ дан 22 May 2018 в 23:03
  • 1
    о, хорошо, я не мог понять, как получить тест -links, чтобы принять «более 1». (очевидно, я не очень старался). Я не думаю, что вам нужно указать -k1 на sort, так как он будет сортировать по первому столбцу в любом случае – Zanna 1 May 2017 в 13:03
  • 2
    Да, я понимаю это из -size использования;) – Ravexina 1 May 2017 в 13:06

Вот мое решение с find:

find . -links +1 -type f -name '*' -printf '%i %p\n' | sort .: поиск в текущем каталоге, вы можете изменить его на что-нибудь еще, например: /, ~/ravexina и т. д. . -links +1: только файлы с более чем 1 ссылкой (> = 2). -type f: только файлы (не каталоги, сим-ссылки, файлы труб и т. д.). -name '*': все файлы с чем-либо в их именах не имеют значения. -printf '%i %p\n': напечатать только inode, file path и новую строку \n. sort: сортировать строки на основе inodes.
4
ответ дан 18 July 2018 в 14:01

Вот мое решение с find:

find . -links +1 -type f -name '*' -printf '%i %p\n' | sort .: поиск в текущем каталоге, вы можете изменить его на что-нибудь еще, например: /, ~/ravexina и т. д. . -links +1: только файлы с более чем 1 ссылкой (> = 2). -type f: только файлы (не каталоги, сим-ссылки, файлы труб и т. д.). -name '*': все файлы с чем-либо в их именах не имеют значения. -printf '%i %p\n': напечатать только inode, file path и новую строку \n. sort: сортировать строки на основе inodes.
4
ответ дан 24 July 2018 в 20:18
  • 1
    о, хорошо, я не мог понять, как получить тест -links, чтобы принять «более 1». (очевидно, я не очень старался). Я не думаю, что вам нужно указать -k1 на sort, так как он будет сортировать по первому столбцу в любом случае – Zanna 1 May 2017 в 13:03
  • 2
    Да, я понимаю это из -size использования;) – Ravexina 1 May 2017 в 13:06

Вот мое решение с find:

find . -links +1 -type f -name '*' -printf '%i %p\n' | sort .: поиск в текущем каталоге, вы можете изменить его на что-нибудь еще, например: /, ~/ravexina и т. д. . -links +1: только файлы с более чем 1 ссылкой (> = 2). -type f: только файлы (не каталоги, сим-ссылки, файлы труб и т. д.). -name '*': все файлы с чем-либо в их именах не имеют значения. -printf '%i %p\n': напечатать только inode, file path и новую строку \n. sort: сортировать строки на основе inodes.
4
ответ дан 31 July 2018 в 13:18
  • 1
    о, хорошо, я не мог понять, как получить тест -links, чтобы принять «более 1». (очевидно, я не очень старался). Я не думаю, что вам нужно указать -k1 на sort, так как он будет сортировать по первому столбцу в любом случае – Zanna 1 May 2017 в 13:03
  • 2
    Да, я понимаю это из -size использования;) – Ravexina 1 May 2017 в 13:06

Другие вопросы по тегам:

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