OCD во мне хочет каталоги Мне не нравится, что имя скрыто, так как я не взаимодействую с ними напрямую.
Как скрыть каталоги без использования точечной нотации?
OCD во мне хочет каталоги Мне не нравится, что имя скрыто, так как я не взаимодействую с ними напрямую.
Как скрыть каталоги без использования точечной нотации?
Предполагая, что вам нужно только скрывать файлы от появления в nautilus, есть ошибка на GNOME Bugzilla об этом. Однако в настоящее время эта ошибка не была решена.
Существует еще один способ скрыть файлы из nautilus. Если вы создаете файл с именем .hidden
внутри каталога, любое имя файла, указанное в файле, не будет отображаться.
Например, ниже находится файл .hidden, который я создал. Этот файл скроет любые файлы или папки с именем b
или e
, расположенные в том же каталоге, что и файл .hidden.
Ниже приведен снимок экрана папки, содержащей файл .hidden. Обратите внимание, что вы видите только три файла: a
, c
и f
. Вы не видите файл .hidden из-за '.' в начале его названия.
Снимок экрана ниже той же папки, что и раньше. Однако на этот раз я нажал Ctrl + H , чтобы вызвать nautilus для отображения скрытых файлов и папок. Обратите внимание, как появляется несколько дополнительных файлов. Теперь вы видите несколько файлов, которые ранее были скрыты из-за наличия имен, которые начинались с символа '.'. Существуют также файлы с именем «b» и «e», которые, хотя и не имеют имен, начинающихся с символа «.», Были скрыты из-за того, что они перечислены в скрытом файле.
Файлы, указанные в файле .hidden, будут скрыты только в nautilus. Такие инструменты, как ls
, будут отображать их. Файл .hidden также не является рекурсивным. Он влияет только на файлы в том же каталоге, в котором находится файл .hidden.
Некоторые люди на форуме пошли вперед и создали скрипты для nautilus, которые упрощают добавление файлов в файл .hidden. первый скрипт содержит хорошее объяснение того, как устанавливать и использовать скрипты, но второй скрипт немного чище и короче. Не стесняйтесь использовать любой скрипт, чтобы сделать вашу жизнь немного легче.
Unix и Linux поддерживают только скрытые папки с .
. Р>
Если вы действительно хотите убрать их с дороги, но хотите, чтобы у них не было .
s, поместите их в .hidden
в тот же каталог, что и файл или папка, которые вы хотите скрыть. .hidden
не будет отображаться файловым менеджером, и ваши файлы не будут иметь изменения имени. Р>
Из командной строки вы можете попробовать что-то подобное в файле .bash_aliases
:
lsh() {
[ -s .hidden ] && echo "lsh: hiding $(wc -l .hidden) patterns" && ls [email protected] | grep -v -F "$(cat .hidden)";
[ ! -f .hidden ] && ls [email protected]
}
Это добавляет новую команду lsh
, которая ведет себя как ls
, но скрывает файлы, перечисленные в каталоге .hidden
. (В нем также отсутствуют некоторые его функции, такие как раскрашенный вывод и списки столбцов.)
Если вы хотите спрятать файлы, вы оставите их только с переименованием с предыдущим .
, как и в случае с соглашением # NIX. Извините, но все.
Однако, если вы хотите скрыть контент файлов / каталогов, вы можете сделать это с разрешениями на файлы.
Итак, скажите, что у вас есть куча файлов в папке с именем secret_stash
, вы можете ее изменить, так что только у вас (владельца) есть r-x
(read, execute), а у всех остальных ничего нет ---
(нет доступ). Поскольку r-x
- это минимальные perms, необходимые для просмотра каталога (читайте, чтобы получить доступ к его содержимому и выполнить, чтобы иметь возможность их видеть), все внутри этой папки эффективно скрыто от всех, кроме root
. Р>
ПРИМЕЧАНИЕ . Я запускаю это демо как root
и пытаюсь получить доступ к папке как myuser
Для этого вы запускаете chmod 700 dirname
(700 означает rwx------
):
% mkdir secret_stash
% chmod 700 secret_stash
И вот он:
% whoami
root
% ls -ld secret_stash
drwx------ 2 root root 4.0K 2010-08-12 07:59 secret_stash/
% ls secret_stash
./ ../ secret.txt
% cat secret_stash/secret.txt
TOP SECRET DATA
Теперь, и если я попытаюсь получить доступ к нему из myuser
, попытки доступа к папке или ее содержимому не будут выполняться:
% whoami
myuser
% ls -ld secret_stash
drwx------ 2 root root 4.0K 2010-08-12 07:59 secret_stash/
% ls secret_stash
ls: cannot open directory secret_stash: Permission denied
% cat secret_stash/secret.txt
cat: secret_stash/secret.txt: Permission denied
И теперь я сказал слово «секрет» столько раз, что он потерял всякий смысл!
1st off: если вы хотите скрыть файл от кого-либо: установите систему обнаружения вторжений linux . ( Snort - пример). Вы даже можете скрыть файл от «root», но «root» также сможет вернуть эти настройки. Р>
Но было бы проще просто установить разрешения каталога, содержащего файл, в «root». Пример: р>
$ sudo su
# mkdir tmp/
# touch tmp/1
# chown root:root tmp
# chmod 000 tmp
# ls -l
total 4
d--------- 2 root root 4096 2015-08-07 06:36 tmp
# exit
exit
$ ls
tmp
$ cd tmp/
bash: cd: tmp/: Permission denied
И файл 1
эффективно скрыт от представления.
Каталог будет виден; файл не будет виден. Разум: «root» будет ВСЕГДА иметь доступ к любому файлу.
Вместе с chattr
вы даже можете сделать файл неизменным. Р>
sudo su
chattr + i {file}
, и даже «root» не может изменить файл - без возврата chattr
(и да «root» может это сделать). Р>
Любые сочетания клавиш для этого?
Нет, это то, что вам нужно сделать вручную.
Существует также расширение для Nautilus, называемое nautilus-hide , которое позволит вам скрыть любой файл или папку простым щелчком правой кнопки мыши по ним.
Чтобы установить это расширение:
sudo apt-get install nautilus-hide
в терминале,
или найдите «nautilus hide» в программном центре Ubuntu.
Не забудьте выйти из Nautilus после установки: Alt + F2 и введите nautilus -q
.