Просмотр содержимого в Linux

LinuxLinuxBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

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

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing") linux/FileandDirectoryManagementGroup -.-> linux/wildcard("Wildcard Character") subgraph Lab Skills linux/ls -.-> lab-271327{{"Просмотр содержимого в Linux"}} linux/cd -.-> lab-271327{{"Просмотр содержимого в Linux"}} linux/wildcard -.-> lab-271327{{"Просмотр содержимого в Linux"}} end

Базовое использование команды ls

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

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

cd ~/project

Теперь вы находитесь в каталоге /home/labex/project. Выведем список содержимого этого каталога с помощью простой команды ls:

ls

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

file1.txt  file2.txt  folder1

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

Обратите внимание, что команда показывает только имена файлов и каталогов. Чтобы получить более подробную информацию, вы можете использовать параметр -l, который предоставляет "длинный формат вывода":

ls -l

Эта команда отобразит более подробную информацию о каждом файле и каталоге:

total 4
-rw-r--r-- 1 labex labex    0 Aug 15 10:30 file1.txt
-rw-r--r-- 1 labex labex    0 Aug 15 10:30 file2.txt
drwxr-xr-x 2 labex labex 4096 Aug 15 10:30 folder1

Постараемся понять этот вывод:

  • Первый столбец показывает права доступа к файлу.
  • Второй столбец показывает количество ссылок.
  • Третий и четвертый столбцы показывают владельца и группу файла.
  • Пятый столбец показывает размер файла в байтах.
  • Шестой, седьмой и восьмой столбцы показывают дату и время последнего изменения.
  • Последний столбец показывает имя файла или каталога.

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

Просмотр скрытых файлов с помощью команды ls

В Linux файлы, имена которых начинаются с точки (.), считаются скрытыми. Обычно это конфигурационные файлы или системные файлы, которые не предполагают частых изменений. Стандартная команда ls по умолчанию не отображает эти скрытые файлы.

Для просмотра скрытых файлов необходимо использовать параметр -a с командой ls. Параметр -a означает "все", что указывает команде ls показать все файлы, включая скрытые.

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

ls -a

Вы должны увидеть вывод, похожий на следующий:

.  ..  file1.txt  file2.txt  folder1  .hidden_file

Обратите внимание, что вывод теперь включает:

  • . - представляет текущий каталог
  • .. - представляет родительский каталог
  • .hidden_file - скрытый файл, созданный на этапе настройки

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

ls -la

Или эквивалентно:

ls -l -a

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

total 4
drwxr-xr-x 3 labex labex 4096 Aug 15 10:30 .
drwxr-x--- 1 labex labex 4096 Aug 15 10:30 ..
-rw-r--r-- 1 labex labex    0 Aug 15 10:30 file1.txt
-rw-r--r-- 1 labex labex    0 Aug 15 10:30 file2.txt
drwxr-xr-x 2 labex labex 4096 Aug 15 10:30 folder1
-rw-r--r-- 1 labex labex    0 Aug 15 10:30 .hidden_file

Это показывает все файлы, включая скрытые, с их подробной информацией.

Скрытые файлы широко используются в Linux для хранения конфигурационных настроек. Например, в вашем домашнем каталоге файлы, такие как .bashrc и .zshrc, содержат настройки оболочки, в то время как каталоги, такие как .config, хранят настройки приложений.

Сортировка и фильтрация с использованием команды ls

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

Сортировка файлов

По умолчанию команда ls сортирует файлы по имени в алфавитном порядке. Однако вы можете изменить это поведение, используя различные параметры:

  1. Сортировка по времени последнего изменения (сначала новые) с использованием параметра -t:
ls -lt

Это отобразит сначала наиболее недавно измененные файлы:

total 4
drwxr-xr-x 2 labex labex 4096 Aug 15 10:30 folder1
-rw-r--r-- 1 labex labex    0 Aug 15 10:30 file2.txt
-rw-r--r-- 1 labex labex    0 Aug 15 10:30 file1.txt
  1. Сортировка по размеру файла (сначала большие) с использованием параметра -S:
ls -lS

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

total 4
drwxr-xr-x 2 labex labex 4096 Aug 15 10:30 folder1
-rw-r--r-- 1 labex labex    0 Aug 15 10:30 file1.txt
-rw-r--r-- 1 labex labex    0 Aug 15 10:30 file2.txt
  1. Инвертирование порядка сортировки с использованием параметра -r:
ls -lr

Это отобразит файлы в обратном алфавитном порядке:

total 4
drwxr-xr-x 2 labex labex 4096 Aug 15 10:30 folder1
-rw-r--r-- 1 labex labex    0 Aug 15 10:30 file2.txt
-rw-r--r-- 1 labex labex    0 Aug 15 10:30 file1.txt

Фильтрация файлов

Вы также можете отфильтровать вывод команды ls, чтобы показать только определенные файлы:

  1. Используйте подстановочные знаки (wildcards), чтобы соответствовать шаблонам. Например, чтобы вывести только текстовые файлы:
ls -l *.txt

Это отобразит только файлы с расширением .txt:

-rw-r--r-- 1 labex labex 0 Aug 15 10:30 file1.txt
-rw-r--r-- 1 labex labex 0 Aug 15 10:30 file2.txt
  1. Чтобы отобразить только каталоги, используйте параметр -d с подстановочным знаком:
ls -ld */

Вывод будет показывать только каталоги:

drwxr-xr-x 2 labex labex 4096 Aug 15 10:30 folder1/

Эти параметры сортировки и фильтрации делают команду ls мощным инструментом для навигации и управления файлами в системе Linux.

Просмотр файлов в других каталогах

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

Вывод списка файлов в определенном каталоге

Вы можете вывести список содержимого определенного каталога, указав его путь в качестве аргумента команды ls:

ls -l ~/project/folder1

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

total 0

Создадим файл в каталоге folder1 и затем выведем его содержимое:

touch ~/project/folder1/example.txt

Теперь, когда вы выполните:

ls -l ~/project/folder1

Вы должны увидеть:

total 0
-rw-r--r-- 1 labex labex 0 Aug 15 10:45 example.txt

Вывод списка содержимого нескольких каталогов

Вы также можете вывести список содержимого нескольких каталогов в одной команде:

ls -l ~/project ~/project/folder1

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

/home/labex/project:
total 4
-rw-r--r-- 1 labex labex    0 Aug 15 10:30 file1.txt
-rw-r--r-- 1 labex labex    0 Aug 15 10:30 file2.txt
drwxr-xr-x 2 labex labex 4096 Aug 15 10:45 folder1
-rw-r--r-- 1 labex labex    0 Aug 15 10:30 .hidden_file

/home/labex/project/folder1:
total 0
-rw-r--r-- 1 labex labex 0 Aug 15 10:45 example.txt

Комбинирование параметров для разных каталогов

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

ls -la ~/project/folder1

Эта команда покажет все файлы (включая скрытые) в каталоге folder1 с подробной информацией:

total 8
drwxr-xr-x 2 labex labex 4096 Aug 15 10:45 .
drwxr-xr-x 3 labex labex 4096 Aug 15 10:30 ..
-rw-r--r-- 1 labex labex    0 Aug 15 10:45 example.txt

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

Резюме

В этом практическом занятии вы узнали, как использовать команду ls, один из самых фундаментальных инструментов в Linux для навигации по файловой системе. Вы изучили различные аспекты этой команды:

  1. Базовое использование: Вы узнали, как выводить список файлов в каталоге и как отображать подробную информацию с использованием параметра -l.

  2. Просмотр скрытых файлов: Вы обнаружили, как просматривать скрытые файлы с использованием параметра -a и как комбинировать его с -l для получения подробной информации.

  3. Сортировка и фильтрация: Вы практиковали сортировку файлов по различным критериям и фильтрацию вывода, чтобы показать только определенные файлы с использованием подстановочных знаков (wildcards).

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

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

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