Где хранится имя файла в linux

Обновлено: 07.07.2024

В этом руководстве для начинающих пользователей мы ознакомимся с основными командами для работы с файлами и каталогами (иногда их еще называют директориями) в Linux-системах.

Требования

Cервер с Ubuntu 20.04

Все команды, описанные ниже, будут работать и в других дистрибутивах Linux.

Расположение каталогов в файловой системе

При входе на сервер, вы, как правило, попадаете в домашний каталог вашей учетной записи, отведенный для хранения файлов и создания директорий.

Для того чтобы узнать, где располагается каталог, в котором мы сейчас находимся, используется команда:

Результат выполнения команды выглядит следующим образом:

Домашний каталог располагается после имени учетной записи пользователя, в приведенном примере он называется /demo. Этот каталог находится в каталоге с именем /home и в каталоге верхнего уровня, который называется root или корневой каталог, поэтому представлен одной косой чертой /.

Просмотр содержимого каталогов

Для просмотра содержимого каталога используется команда ls. Название этой команды является сокращением слов list files.

Просмотреть содержимое любой директории можно следующими способами:

Либо введя команду:

В результате выполнения команды отображаются файлы и каталоги, находящиеся внутри данного каталога:

К команде ls можно добавлять дополнительные флаги, например, чтобы показать детализированное представление (права, список владельцев файлов или папок, размер, дату последнего модифицирования) файлов и директорий в текущей директории, можно использовать флаг -l:

Результат выполнения команды:

Для просмотра списка всех файлов, включая скрытые файлы и каталоги, вы можете добавить флаг -a:

Результат выполнения команды:

Отобразить содержимое текущей директории с добавлением к именам символов, характеризующих тип, можно с помощью команды:

Результат выполнения команды:

Перемещение между каталогами

Для перехода в домашний каталог используется команда cd. Название этой команды является сокращением слов change directory.

Для перехода в домашний каталог пользователя user используется команда:

Для перехода в предыдущую директорию, в которой мы находились до перехода в текущую директорию также используется команда cd.

В Linux-системах каждый файл и каталог находятся в самой верхней директории, которая называется «корневой» и обозначается одним символом слэш /.

Абсолютный путь указывает на расположение каталога по отношению к этой директории верхнего уровня. Это позволяет обращаться к справочникам однозначным образом из любого места в файловой системе.

Каждый абсолютный путь должен начинаться с косой черты — символа слэш /.

Для перехода в директорию уровнем выше используется команда:

Для перехода в директорию двумя уровнями выше:

Операции с файлами и каталогами

Далее приведен список основных команд навигации в консоли Linux.

Создание

Создание файлов производится с помощью команды:

Создание каталогов выполняется с помощью команды вида:

Название этой команды является сокращением слов make directory.

Создание двух каталогов одновременно выполняется с помощью команды:

Для создания дерева каталогов используется команда следующего вида:

Удаление

Для удаления директорий используется команда rmdir имя_директории. Название этой команды является сокращением слов remove directory.

Для удаления файлов используется команда rm. Например, для удаления файла с именем file1 используется команда:

Команда rm также позволяет удалять не только файлы, но и каталоги.

Для удаления директории с именем dir1 со всеми подкаталогами и файлами используется опция -r (от слова recursive):

Можно удалить одновременно две директории со всем их содержимым:

Также можно использовать параметр -f, который означает, что при удалении не будет запрашиваться подтверждение.

Команда для удаления файла будет выглядеть так:

Команда для удаления каталога:

Перемещение

Для перемещения и переименования файлов и каталогов используется команда mv. Название этой команды является сокращением слова move.

Переименовать файл можно с помощью команды:

Для того чтобы переместить файл, используется команда:

Копирование

Для копирования используется команда cp. Название этой команды является сокращением слова copy.

Чтобы скопировать файл file1 и назвать его file2, используется команда:

Для того чтобы копировать директорию dir1 в директорию dir2, используется команда:

Скопировать файл с именем file1 в директорию с именем dir1, можно с помощью команды:

Редактирование файлов

Мы ознакомились с основными командами для работы с каталогами и файлами.

Далее мы изучим, как редактировать файлы и добавлять в них содержание.

Команда nano позволяет работать в одном из самых простых текстовых редакторов командной строки Linux, который занимает весь терминал в течение всего срока его использования.

В результате ввода в терминал команды nano будет открыт чистый файл.

Интерфейс выглядит следующим образом:


В верхней части открывшегося редактора отображается имя приложения и имя файла, который мы редактируем.

В середине должно располагаться содержимое файла, в настоящее время оно пустое.

В нижней части интерфейса расположен ряд комбинаций клавиш, которые указывают с основными элементами управления текстового редактора. Для каждого из них символ ^ означает клавишу CTRL.

Для того чтобы открыть справку используйте сочетание клавиш CTRL-G.

Закрывается справка с помощью сочетания клавиш CTRL-X. После закрытия справки мы возвращаемся к редактированию.

Вводить и редактировать можно любой текст, например, можно ввести: “Hello World!”

Для сохранения внесенных изменений следует нажать сочетание клавиш CTRL-O. Внимание! Это буква О, а не ноль.

Далее система попросит вас ввести либо подтвердить имя файла, который вы хотите сохранить:

Как вы можете видеть, параметры в нижней части окна редактирования также изменились. Они являются контекстными, то есть будут меняться в зависимости от того, что вы пытаетесь сделать.

После ввода имени файла нажмите клавишу ENTER.

Для того чтобы выйти из тестового редактора нажмите сочетание клавиш CTRL-X.

Если вы внесли изменения и не сохранили файл, вам будет предложено сохранить сделанные вами изменения:

Вы можете нажать клавишу Y, чтобы сохранить изменения, клавишу N для отмены изменений и выхода, или сочетание клавиш CTRL-C, чтобы отменить операцию выхода из режима редактирования файла.

Если вы решили сохранить изменения, вам будет предложено сохранить их в том же файле, который был отредактирован.

Нажмите клавишу ENTER, чтобы сохранить файл и выйти из редактора.

Заключение

Мы ознакомились с возможностями просмотра доступных файлов и каталогов, с основными командами для работы с файлами, которые позволяют просматривать, копировать, перемещать и удалять файлы, а также с основами редактирования в текстовом редакторе nano.

Данная статья будет полезна для начинающих пользователей и позволит работать с серверами быстрее и удобнее, даже если вы раньше не пользовались Linux.

  • создавать файлы и папки
  • перемещать и копировать файлы и папки
  • узнаете о ссылках
  • сможете легко переносить файлы на сервер, с него и между серверами.



Примеры продемонстрированы на VPS от Infobox и на облачных VPS.

Для работы с сервером подключитесь к нему по SSH.

Как узнать абсолютный путь к директории?

Для того, чтобы узнать абсолютный путь к папке, где вы находитесь, используйте команду:



Как перейти в нужную директорию?

Для того, чтобы перейти в нужную директорию, используется команда:
, где вместо <директория> нужно подставить путь к ней.
Путь может быть абсолютным или относительным.

Абсолютный путь

Абсолютный путь всегда начинается от корня файловой системы /.
Например, для того, чтобы перейти по абсолютному пути с помощью команды cd в папку /var/logs используйте команду:

Относительный путь
  • . — означает текущую директорию
  • .. — означает директорию выше этой по иерархии.

Мы сказали «перейди в директорию, лежащую выше этой по иерархии».

Давайте теперь перейдем в директорию root:

Это означает «перейди в директорию root, которая находится в директории, в которой мы сейчас находимся».
То же самое можно сделать, используя обозначение текущей директории:

Из любого места мы можем перейти в домашнюю директорию, используя команду:

Как просмотреть содержимое директории?

Для просмотра списка файлов и папок в директории воспользуйтесь командой:

  • ls -l – показать дополнительно список прав, размеры файлов, дату изменения и владельца;
  • ls -a – показать все, включая скрытые файлы;
  • ls -la – показать все, включая скрытые файлы, список прав, размеры файлов, дату изменения и владельцев;

Можно просмотреть дерево директорий с помощью команды:

В Debian и Ubuntu это можно сделать с помощью команды:

В CentOS и Oracle Linux:


Результат работы tree выглядит так:


Сколько свободного и занятого места?

Для того, чтобы узнать, сколько занятого и свободного места на диске, воспользуйтесь командой:



Как мы видим, объем диска 20 гигабайт, занято 2.9 гигабайта, свободно 16 гигабайт.

Для того, чтобы узнать размер директории или файла, воспользуйтесь командой:



Как найти файл или директорию

В этом вам поможет утилита find.

В самом простом случае использoвать ее можно так:

Будет осуществлен поиск файла или директории с именем file начиная от корневой директории /.



Опция -name чувствительна к регистру (различает заглавные и строчные буквы). Если вы не знаете, заглавные или строчные буквы используются в названии искомого файла, воспользуйтесь опцией -iname. С помощью опции -regex или -iregex можно найти что-то соответствующее регулярному выражению.

Команда find с параметром -exec позволяет выполнить команду для всего найденного.

Найдя любой файл с расширением .docx он будет скопирован в директорию /tmp.

Для того, чтобы найти, где располагается бинарный файл программы, исходные тексты и документация воспользуйтесь командой whereis:



Если вам необходимо найти только исполняемые файлы программ, которые указаны в путях переменных окружения, воспользуйтесь командой which:


Как создать директорию?

Для создания директории используйте команду mkdir.

Например, создадим в текущей директории директорию «foo»:

Для создания директорий и поддиректорий используйте команду mkdir -p:



Как удалить файл или директорию?

Для удаления воспользуйтесь командой rm:
rm file1.txt
Чтобы удалить и вложенные файлы и папки, добавьте параметр -r:

Если вы не хотите, чтобы вам был задан вопрос, спрашивающий разрешение на удаление, используйте параметр -f:


Если вы хотите удалить только пустую директорию, вам поможет команда rmdir:

Если директория не пустая, вы получите уведомление и удаление не будет выполнено.

Как переместить или переименовать файл или директорию?

Для перемещения файла или директории используйте команду mv:



Переименование можно представить, как перемещение в ту же директорию с другим именем.
Давайте переименуем директорию suda в tuda:



Заметьте, что вы можете переместить и переименовать файл или директорию в одну команду при необходимости. Для этого в правой части напишите уже новое имя:



В данном примере мы переместили директорию tuda в директорию /var/www и переименовали в site.

Как скопировать файл или директорию

Скопировать файл можно с помощью команды cp:



Можно скопировать сразу несколько файлов в директорию, указанную в последнем параметре:


Для копирования директорий используйте параметр -r:



Так же вам может пригодиться параметр -u для копирования больших файлов и директорий. С его помощью будет выполняться копирование только если копируемый файл новее, чем существующий.


Создаем ссылки

Есть два типа ссылок: жесткие ссылки и символические ссылки.

Жесткие ссылки

Жесткие ссылки — это указатели на файлы. Всегда существует минимум одна жесткая ссылка на файл. Сам файл находится где-то на жестком диске и у него есть уникальный номер. Имя файла хранится отдельно в файловом индексе (inode). Также в файловом индексе содержится тот же уникальный номер. Файловый индекс — жесткая ссылка на файл. При создании еще одной жесткой ссылки появляется еще одна запись в файловом индексе со ссылкой на файл и тем же номером. Сам файл удалится только если будут удалены все жесткие ссылки на него.
Жесткая ссылка создается командой:

Можно убедиться, что уникальные номера файлов с жесткими ссылками одинаковы командой:


Символические ссылки

Символическая ссылка — специальный файл, указывающий на документ в другом месте дисковой иерархии. При удалении такой ссылки файл останется на месте. При удалении исходного файла или перемещении исходного файла ссылка тоже останется на месте, но будет вести на несуществующий адрес.

Создать символическую ссылку можно командой:


Как создать пустой файл

Для этого используйте команду:


Как отредактировать текстовый файл

Редактировать текстовые файлы нужно часто при настройке серверов и не только. В данном разделе мы дадим только вводную информацию. В дальнейшем вы можете изучать редакторы более глубоко.

nano – это простой редактор с графическим интерфейсом.
Для установки на CentOS или Oracle Linux выполните команду:

Для установки на Ubuntu и Debian используйте команду:

Для редактирования файла введите:



Редактировать можно сразу же после открытия редактора. Для сохранения изменений и выхода нажмите ctrl + X (^ в подсказках редактора обозначается, как нажатие на кнопку ctrl).



Будет предложено записать изменения на диск, нажмите Y.



На этом шаге можно изменить имя сохраняемого файла. Если это не требуется, просто нажмите Enter.



Мы видим, что изменения успешно записались в файл.

Если вы захотите научиться работать с текстовыми файлами эффективнее, рекомендуем изучать редакторы vim и emacs, но на начальном этапе знакомства с Linux без них можно обойтись.

Как скопировать файл или директорию по SSH на сервер и обратно

Соединение по SFTP с помощью Filezilla

Вы можете воспользоваться Filezilla и настроить соединение по STFP.
Установите клиент, нажмите кнопку создания нового подключения, как показано на скриншоте ниже:



Создайте новый сайт, укажите ip–адрес сервера, тип подключения SFTP, логин и пароль доступа к серверу и нажмите «Connect» (Соединиться).



Разрешите подключение к серверу в следующем окне.



Теперь соединение успешно установлено, вы можете перемещать данные на сервер и с сервера.


Копирование данных с помощью scp

Этот способ особенно полезен, если вы хотите переносить данные между серверами.

На вашем компьютере запустите терминал или Cygwin в Windows (руководство по установке Cygwin есть в этой статье).

Для копирования файла используйте команду:

Для копирования папки используйте команду:


Встает вопрос, как же указать местоположение на удаленном сервере. Это делается в формате:

Например, давайте скопируем папку на удаленный сервер в папку пользователя (



Или давайте скопируем ее в папку /var/www:

Теперь давайте вернем папку temp из /var/www на наш компьютер:

– папка пользователя на нашем компьютере.

Данный способ удобно использовать и для переноса данных между серверами.

Примечание для тех, кто копирует сайт в директорию веб-сервера

Убедитесь с помощью команды ls -la, что папка с сайтом (например /var/www/html) и сами файлы сайта доступны от пользователя, под которым работает веб-сервер. Для apache чаще всего пользователь: www-data. Если у вас файлы в папке сайта принадлежат пользователю root – сайт скорее всего не будет открываться.



Для изменения прав воспользуйтесь командой:

Файловый менеджер для Linux

Спасибо, что дочитали статью до конца. Напоследок расскажем о графическом файловом менеджере для Linux Midnight Commander или просто mc.

Установка mc в CentOS или Oracle Linux:

Установка mc в Ubuntu или Debian:


Запустить файловый менеджер можно просто командой




Это классический двухпанельный файловый менеджер. Вы можете использовать функциональные кнопки компьютера f1… для операций согласно подсказкам на экране. С его помощью можно редактировать файлы, создавать папки, перемещать и копировать папки и файлы и многое многое другое. Этот менеджер может быть полезен на начальном этапе знакомства с Linux.

Для выхода из mc нажмите F10 и Enter.

Если вы нашли ошибку в статье, считаете, что нужно добавить что-то важное или просто у вас есть вопрос — напишите нам.

По сравнению с Windows в Linux несколько другие правила построения имен файлов, вам придется с этим смириться. Начнем с того, что в Linux нет такого понятия, как расширение имени файла. В Windows, например, для файла Document1.doc именем файла является фрагмент Document 1, а doc — это расширение. В Linux Document1.doc — это имя файла, никакого расширения нет.

Максимальная длина имени файла — 254 символа. Имя может содержать любые символы (в том числе и кириллицу), кроме / ? < > * " |. Но кириллицу в именах файлов я бы не рекомендовал вообще. Впрочем, если вы уверены, что не будете эти файлы передавать Windows-пользователям (на флешке, по электронной почте) — используйте на здоровье. А при обмене файлами по электронной почте (кодировка-то у всех разная, поэтому вместо русскоязычного имени пользователь может увидеть абракадабру) имя файла лучше писать латиницей.

Также вам придется привыкнуть к тому, что Linux чувствительна к регистру в имени файла: FILE.txt и FiLe.Txt — это два разных файла.

Разделение элементов пути осуществляется символом / (прямой слэш), а не (обратный слэш), как в Windows.

Данный текст является ознакомительным фрагментом.

Продолжение на ЛитРес

Полные имена файлов

Полные имена файлов Полное имя файла можно получить, используя функцию GetFullPathName. Функция GetShortPathName возвращает имя файла в формате DOS 8.3, в предположении, что данный том поддерживает короткие имена файлов.В NT 5.1 была введена функция SetFileShortName, позволяющая изменить

Имена файлов

Имена файлов Как мы уже видели, ни метаданные, ни тем более блоки хранения данных, не содержат имени файла. Имя файла хранится в файлах специального типа — каталогах. Такой подход позволяет любому файлу, т. е. фактическим данным, иметь теоретически неограниченное число

IPLabs Linux Team: начало русского Linux’а

IPLabs Linux Team: начало русского Linux’а Следующая веха на пути русского Linux’а – 1998 год, когда фирма IPLabs (точнее, ее подразделение – IPLabs Linux Team) совместно с Институтом логики (на самом деле это были одни и те же люди – Алексей Новодворский, Алексей Смирнов и Юрий Девяткин с

4.4. Стандартные имена устройств в Linux

4.4. Стандартные имена устройств в Linux Как уже отмечалось раньше, все устройства в Linux являются файлами. Файлы устройств находятся в специальном каталоге /dev. Для просмотра данного каталога удобнее всего использовать команду mc. Запустите mc и перейдите в каталог /dev. Если

1.1.2. Имена разделов в ОС Linux

1.1.2. Имена разделов в ОС Linux Linux представляет наименования разделов как имена файлов, в виде /dev/xxyN, где:? /dev — это каталог, в котором расположены все файлы, связанные с устройствами;? xx — две буквы названия раздела, указывающие тип устройства, на котором размещается раздел.

Длинные и короткие имена файлов

Длинные и короткие имена файлов Запрещение длинных имен файловВы можете запретить длинные имена файлов в Windows, заставив тем самым генерировать имена в формате 8.3 (DOS-овский формат). Для этого в разделе HKLMSystemCurrentControlSetcontrolFileSystemнадо изменить параметр °Win31FileSystem°, присвоив ему

2.2. Имена IPC

2.2. Имена IPC В табл. 1.2 мы отметили, что три типа IPC стандарта Posix имеют идентификаторы (имена), соответствующие этому стандарту. Имя IPC передается в качестве первого аргумента одной из трех функций: mq_open, sem_open и shm_open, причем оно не обязательно должно соответствовать реальному

Пример A-4. blank-rename: переименование файлов, чьи имена содержат пробелы

2.2 Имена

2.2 Имена Имя (идентификатор) состоит из последовательности букв и цифр. Первый символ должен быть буквой. Символ подчерка _ считается буквой. С++ не налагает ограничений на число символов в имени, но некоторые части реализации находятся вне ведения автора компилятора (в

У6.5 Имена

У6.5 Имена Разработайте абстрактный тип данных ИМЯ, в котором учитывались бы различные компоненты полного имени

Файловая система в ОС Linux, как и в ОС Windows, представляет собой иерархическую структуру каталогов и файлов (в виде дерева), но при этом имеет ряд кардинальных отличий.

Структура каталогов

В ОС Windows жесткие диски называются латинскими буквами (С:, D:, . ), и каждый из дисков представляет собой корневой каталог с собственным деревом папок. Подключение же нового устройства приведет к появлению нового корневого каталога со своей буквой (например, F:). В ОС Linux файловая система представлена единым корневым каталогом, обозначаемым как слэш (/). Соответственно, при данной файловой структуре не диски содержат каталоги, а каталог — диски.

Подключение внешних носителей

В ОС Linux имеется процедура монтирования: когда подключается съемный носитель или диск, файл устройства будет виден в каталоге /dev (devices). Чтобы увидеть содержимое этого устройства, его нужно смонтировать в отдельную директорию /mnt. Также файловая система позволяет примонтировать его и в любое другое место, например /home.

Понятие файла

Понятие «файл» в Linux имеет несколько другое значение, нежели в Windows. «Файлом» можно назвать обычный файл, содержащий данные, и интерпретируемый программой. Директория также является «файлом», содержащим в себе ссылки на другие директории или файлы с данными. Файлы устройства указывает на драйвер, благодаря которому система взаимодействует с физическими устройствами. Имеются и многие другие типы файлов.

Принцип установки программ

Если в Windows программы, зачастую, хранят все данные в одной папке, например в «C:Program FilesProgramName», то в Linux файлы программы разделяются по каталогам в зависимости от типа. Например, исполняемые файлы в /bin, библиотеки в /lib, файлы конфигураций в /etc, логи и кэш в /var.

Регистр имен

Также стоит отметить чувствительность файловой системы Linux к регистру. Файлы Temp.txt и temp.txt будут интерпретироваться как разные файлы и могут находиться в одной директории, в отличие от ОС Windows, который не различает регистр имен. То же правило действует и на каталоги — имена в разных регистрах указывают на разные каталоги.

Назначение каждой директории регламентирует «Стандарт иерархии файловой системы» FHS (Filesystem Hierarchy Standard). Ниже опишем основные директории согласно стандарту FHS:

Читайте также: