Навигация и манипулирование файлами в Linux — это основная концепция для свободного управления системой. Терминал действует как ваш мощный центр управления, позволяя вам перемещаться по каталогам, извлекать файлы и выполнять модификации. Независимо от того, работаете ли вы с локальной установкой Linux или получаете доступ к удаленной системе через защищенный сеанс SSH, вы можете положиться на базовые команды для оптимизации своих задач.
В этой статье с помощью практических примеров и подробных инструкций будет показана навигация по файлам Linux и работа с ними.
Linux структурирует свои файлы и каталоги в иерархической системе, напоминающей дерево, где корневой каталог (/
) служит основой. Всё, включая папки и файлы, ответвляется от этого корня. Ниже приведён краткий обзор некоторых ключевых каталогов:
Это основная папка, с которой всё начинается. Все остальные папки и файлы хранятся внутри неё.
Эта папка содержит личные файлы каждого пользователя. Например, если ваше имя пользователя — destroyer
, файлы будут храниться в /home/destroyer
.
В этой папке хранятся часто обновляемые файлы, в том числе системные журналы и временные данные. Журналы можно найти в /var/log
.
Linux сохраняет файлы конфигурации и системные настройки, в том числе настройки сети и учётных записей, в каталоге /etc.
Для навигации по файлам и их систематизации необходимо перемещаться по файловой системе для работы с файлами и каталогами. Команды Linux делают эти задачи эффективными, позволяют автоматизировать их и обеспечивают точный контроль, особенно в неграфических средах.
Команда pwd возвращает ваш текущий адрес в файловой системе. Это полезно для определения вашего местоположения при навигации по сложным структурам каталогов:
pwd
Результат указывает на то, что активный каталог anees
находится в домашнем каталоге системы:
/home/andreyex
Команда cd позволяет нам перемещаться по разным каталогам. Введя приведенную ниже команду, мы перейдем в корневой каталог:
cd /
Результат:
andreyex@destroyer:/$
Давайте воспользуемся cd
с символом тильды ~
или cd
без какой-либо опции, чтобы вернуться в домашнюю папку:
cd ~
Результат:
andreyex@destroyer:~$
Выполните команду cd
со знаком -
для переключения между текущим и предыдущими каталогами:
cd -
Это переключает нас из destroyerExamples в предыдущую папку, то есть в destroyer:
andreyex@destroyer:~/Desktop/destroyer/destroyerExamples$ cd - /home/andreyex/Desktop/destroyer andreyex@destroyer:~/Desktop/destroyer$
Аналогичным образом, запуск cd
с точным указанием пути позволяет получить доступ к определённому файлу/каталогу:
cd Desktop/destroyer/destroyerExamples
Результат:
andreyex@destroyer:~$ andreyex@destroyer:~$ cd Desktop/destroyer/destroyerExamples andreyex@destroyer:~/Desktop/destroyer/destroyerExamples$ andreyex@destroyer:~/Desktop/destroyer/destroyerExamples$
Команда ls — это утилита Linux, которая извлекает данные из папки, такие как файлы, ссылки и подпапки. С помощью ls
можно использовать различные флаги для отображения дополнительных сведений, таких как права доступа, размеры и даты последнего изменения.
Давайте воспользуемся ls
без каких-либо флагов, чтобы получить данные папки по последнему пути:
ls
Использование ls
с точным путем извлекает сведения об этом каталоге:
ls Desktop/destroyer/
Чтобы получить невидимые файлы, используйте флаг ls
with -a
:
ls -a
Чтобы продемонстрировать точную информацию, запустите команду ls, за которой следует флаг -l
:
ls -l
Команда tree
извлекает папки и файлы в формате иерархического дерева. Для этого используйте следующий синтаксис:
tree /directory_path
Давайте выведем структуру каталогов в виде дерева, где размер каждого файла будет представлен в понятной человеку структуре:
tree -h
Эти файлы или папки начинаются с точки (.
) и по умолчанию невидимы. Обычно в них хранятся настройки конфигурации или важные данные для приложений, например .bashrc
для настройки поведения терминала или .ssh
для управления безопасными ключами. Их можно просмотреть с помощью команды ls -a
или включив опцию «Показать скрытые файлы» в файловых менеджерах.
Давайте изучим перечисленные ниже разделы Linux, чтобы без труда работать с файлами и каталогами.
Файлы в Linux создаются с помощью команды touch. Она предлагает простой способ создания пустых файлов. Если файл уже существует, touch
обновляет DateTime
последнего изменения вместо создания нового файла:
touch destroyerExample.txt
Команда mkdir в Linux позволяет создать каталог по нужному пути:
mkdir destroyerFolder
Он создает hostmanFolder
в текущем каталоге.
Команда mv позволяет изменить название файлов или переместить их в другое место. Чтобы переименовать файл, напишите существующее название, а затем желаемое:
mv destroyerExample.txt destroyer1.txt
Это изменяет название destroyerExample.txt
на destroyer1.txt
.
Аналогичным образом пользователи могут передать файл, указав его название и целевой каталог:
mv destroyer1.txt /destroyerFolder
Чтобы продублировать файл/папку, выполните cp
с исходным файлом и путём назначения:
cp graphqlFile.txt destroyerFolder
Результат:
andreyex@destroyer: $ cp graphqlFile.txt destroyerFolder andreyex@destroyer: $ andreyex@destroyer: $ ls destroyerFolder graphqlFile.txt destroyer1.txt andreyex@destroyer:$
Чтобы продублировать каталог вместе с его содержимым, используйте флаг -r
(рекурсивный) с cp
:
cp -r graphql-examples destroyerFolder
Он клонирует полную graphql-examples
папку со всеми ее данными в hostmanFolder
:
andreyex@destroyer: $ cp -r graphql-examples destroyerFolder andreyex@destroyer: andreyex@destroyer: $ ls destroyerFolder graphqlFile. txt destroyer1.txt andreyextdestroyer:
Команда rm удаляет файлы и каталоги навсегда, не отправляя их в корзину, поэтому используйте её с осторожностью, указывая имя файла:
rm graphqlFile.txt
Аналогичным образом, чтобы удалить каталог и все его данные, используйте флаг -r
:
rm -r destroyerFolder
Для дополнительной безопасности используйте флаг -i
, который запрашивает подтверждение перед удалением любого элемента:
rm -ri graphql-examples
Введите y
(для «да») и нажмите Enter, чтобы подтвердить удаление каждого файла или каталога. Если вы введёте n
, файл или каталог не будут удалены.
Архивирование файлов необходимо для обмена данными, а также для организации файлов и хранения данных. Для этого в Linux используются такие инструменты, как gzip
и bzip2
.
gzip
— это широко используемый инструмент для сжатия файлов. Он уменьшает размер файла, сохраняя исходные данные. Давайте воспользуемся gzip
для сжатия файла destroyerExample.txt
:
gzip destroyerExample.txt
Команда сжимает исходный файл (переопределяет фактический файл).:
andreyex@destroyer:/destroyers ls destroyerExample.txt andreyex@destroyer: /hostris andreyex@destroyer:/destroyer$ gzip destroyerExample.txt andreyex@destroyer: /destroyer andreyex@destroyer: /hostrans ls destroyerExample txt.gz andreyex@hostran:-/hostians
Аналогичным образом пользователи могут выполнить gzip
с флагом -d
для распаковки сжатого файла:
gzip -d destroyerExample.txt.gz
Результат:
andreyex@destroyer: -/destroyerS gzip -d destroyerExample.txt.gz andreyex@destroyer:/hostranS andreyex@destroyer: -/destroyers ls destroyerExample.txt andreyex@destroyer: /destroyer$
Пользователи могут использовать флаг -k
для сжатия файла без перезаписи исходного файла:
gzip -k destroyerExample.txt
Результат:
andreyex@destroyer:-/destroyers gzip -k destroyerExample.txt andreyex@destroyer: /destroyerS andreyex@destroyer: /destroyerS ls destroyerExample.txt destroyerExample.txt.gz andreyex@destroyer:destroyer
Архивирование файлов — это метод объединения нескольких файлов и каталогов в один единый архивный файл. Эта практика упрощает обмен, сжатие и управление большими объёмами данных за счёт объединения различных элементов в единый упорядоченный пакет. Для этого мы можем использовать команду tar
:
tar -cvf destroyer.tar destroyerExample.txt destroyer1.txt destroyerDir/
По умолчанию создаётся архив без сжатия, который содержит файлы destroyerExample.txt
и destroyer1.txt
и каталог hostmanDir
:
andreyex@destroyer:~/destroyer tar -cvf destroyer.tar destroyerExample.txt destroyer1.txt destroyerDir/ destroyerExample. txt destroyer1.txt destroyerDir/ andreyex@destroyer:~/destroyer$ andreyex@destroyer:~/destroyer$ ls destroyer1.txt destroyerDir destroyerExample.txt destroyerExample.txt.gz destroyer.tar andreyex@destroyer:~/destroyer$
Чтобы создать сжатый архив, мы можем определить формат сжатия, например z
для gzip
и j
для bzip2
:
tar -czvf destroyer1.tar.gz destroyerExample.txt destroyer1.txt destroyerDir/
Результат:
andreyex@destroyer:~/destroyer$ tar -czvf destroyer.tar.gz destroyerExample.txt destroyer1.txt destroyerDir/ destroyerExample.txt destroyer1.txt destroyerDir/ andreyex@destroyer: /hostnans ls destroyer.tar destroyer1.txt destroyerExample.txt destroyer.tar destroyer.tar.gz destroyerDir destroyerExample.txt.gz andreyex@destroyer:~/destroyer$
Аналогичным образом пользователи могут извлечь архивные данные, выполнив команду tar
с флагом -x
:
tar -xvf destroyer.tar
Чтобы извлечь архивы, сжатые с помощью gzip
или bzip2
, используйте флаги -z
или -j
соответственно:
tar -xzvf destroyer1.tar.gz
Сочетания клавиш могут сэкономить время и повысить эффективность навигации по командной строке:
cd -
для перехода к предыдущему каталогу.cd ..
, чтобы поднять один каталог вверх.cd ~
, чтобы вернуться в домашнюю папку.
Освоение этих основных сочетаний клавиш упростит и улучшит работу с файлами в Linux.
В этой статье мы рассмотрели основные методы навигации и работы с файлами в Linux. Мы изучили, как переключаться между каталогами и отображать их данные. Мы также рассмотрели создание, удаление, переименование и перемещение файлов и каталогов. Кроме того, мы изучили невидимые файлы, их функции и способы работы с ними. Освоение этих основных навыков сделает работу с Linux более простой и эффективной.