Как скрывать файлы и директории в Linux
В Linux, чтобы скрыть файл или каталог, нужно в начале имени файла поставить точку.
Вот такой файл будет считаться скрытым:
.имя_файла
Файловый менеджер (англ. file manager) — компьютерная программа, предоставляющая интерфейс пользователя для работы с файловой системой и файлами.
В Ubuntu по умолчанию используется файловый менеджер Files (переименованный Nautilus), вот его официальная страница: https://wiki.gnome.org/Apps/Files.
Для примера, я создал файлы и директории:
Как видно на скриншоте, названия одного файла и одной директории начинаются с точки в начале. Следовательно, эти файлы являются скрытыми.
Чтобы отобразить скрытые файлы в файловом менеджере Files (Nautilus), нужно нажать сочетание горячих клавиш CTRL - H или через меню выбрать соответствующий пункт:
В данном случае, данные файлы и директории будут скрыты во всех файловых менеджерах и в консоле. К примеру, воспользуемся командой ls.
Выполним в терминале, и убедимся, что скрытые файл и директория не отображаются:
Если укажем ключ -a, то увидим скрытые файл и директорию:
Если вы не знаете, что это за команда, советую прочесть статью на данном сайте: Терминал Linux. Команды навигации в терминале..
Как скрывать файлы в файловом менеджере Ubuntu
Есть ещё интересный способ скрывать файлы, но исключительно в файловом менеджере Files (Nautilus). Также этот способ должен работать в форках данного файлового менеджера, к примеру в Nemo.
Иногда, есть директории и файлы, которые хочется скрыть, но переименовывать их не хочется, либо невозможно.
Например, в нашей домашней директории показываются системные каталоги, такие как Изображения, Шаблоны, Рабочий стол и тд. Также, присутствует каталог snap, в котором хранятся конфигурации установленных приложений посредством snap пакетов. Хотелось бы их скрыть, но переименовывать их категорически нельзя.
Нужно создать пустой файл и назвать его:
.hidden
Его нужно создать в той директории, в которой хотим что-то скрыть в файловом менеджере Files (Nautilus). То есть, в нашем случае, это домашняя директория. Открываем его любым текстовым редактором и вписываем в него названия тех файлов и директорий, которые хотим скрыть.
Я создал файл .hidden в нашей домашней директории и вписал туда следующие строки:
Каждое имя файла или директории нужно вписывать с новой строки. Экранировать пробелы не нужно, вписываем как есть.
Теперь перезаходим в нашу домашнюю директорию (или нажимаем клавишу F5, чтобы обновить) и видим, что все вписанные директории были скрыты:
Этот инструмент создан, чтобы навести порядок в файловом менеджере. Но напоминаю, что это работает только в данном файловом менеджере Files (Nautilus) или в файловых менеджерах, основанном на нём, к примеру, Nemo.
Если выполнить в консоле:
то все наши "скрытые" директории будут видны.
Расширение Nautilus Hide
Для файлового менеджера Files (Nautilus) в Ubuntu существует расширение, которое позволяет автоматизировать скрытие файлов и директорий.
В контекстное меню добавляется пункт "Hide File":
То есть, оно делает описанные действия в предыдущем пункте, автоматически создает или обновляет файл .hidden, вписывая названия выбранного или выбранных файлов и директорий.
Чтобы его установить, открываем терминал и выполняем следующую команду:
После этого нужно перезагрузить файловый менеджер Files (Nautilus), выполняем:
Эта команда закроет все процессы файлового менеджера. Теперь открываем и новый пункт из данного расширения будет доступен в контекстном меню.
Задать маску для скрытия файлов по расширению
Мне задавали вопрос, а можно ли скрыть кучу файлов сразу по расширению *.xml в папке. В сам файл .hidden нельзя вписать маску. Но можно воспользоваться командами в терминале.
Мы в этой статье уже использовали команду ls, она позволяет вывести список файлов в директории. Для примера, я создал файлы с расширением xml в перемешку с другими файлами:
Но в качестве аргумента мы можем задать маску, чтобы были выведены только определенные файлы. К примеру:
А теперь можно перенаправить вывод этой команды в текстовый файл .hidden. Более подробно об этом написано в статьей Терминал Linux. Как сохранить в файл вывод терминала..
Выполняем команду:
В итоге, все файлы с расширением .xml будут добавлены в файл .hidden, следовательно и скрыты в файловом менеджере.