Linux вывести только имена файлов

Команда Ls в Linux (список файлов и каталогов)

ls — одна из основных команд, которую должен знать любой пользователь Linux.

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

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

Как использовать команду ls

Синтаксис команды ls следующий:

При использовании без параметров и аргументов ls отображает список имен всех файлов в текущем рабочем каталоге :

Файлы перечислены в алфавитном порядке в столько столбцов, сколько может поместиться на вашем терминале:

cache db empty games lib local lock log mail opt run spool tmp 

Чтобы вывести список файлов в определенном каталоге, передайте путь к каталогу в качестве аргумента команде ls . Например, чтобы отобразить содержимое каталога /etc , введите:

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

Если пользователь, с которым вы вошли в систему, не имеет прав на чтение каталога, вы получите сообщение о том, что ls не может открыть каталог:

ls: cannot open directory '/root': Permission denied 

У команды ls есть несколько опций. В следующих разделах мы рассмотрим наиболее часто используемые варианты.

Формат длинных списков

По умолчанию вывод команды ls показывает только имена файлов и каталогов, что не очень информативно.

Параметр -l (нижний регистр L) указывает ls печатать файлы в формате длинного списка.

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

  • Тип файла.
  • Права доступа к файлу.
  • Количество жестких ссылок на файл.
  • Владелец файла.
  • Файловая группа.
  • Размер файла.
  • Дата и время.
  • Имя файла.
-rw-r--r-- 1 root root 337 Oct 4 11:31 /etc/hosts 

Давайте объясним самые важные столбцы вывода.

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

  • — — Обычный файл.
  • b — Заблокировать специальный файл.
  • c — Символьный специальный файл.
  • d — Справочник.
  • l — символическая ссылка.
  • n — Сетевой файл.
  • p — ФИФО.
  • s — Розетка.

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

  • r — Разрешение на чтение файла.
  • w — Разрешение на запись в файл.
  • x — Разрешение на выполнение файла.
  • s — бит setgid .
  • t — sticky бит.
Читайте также:  Linux размер текущей папки

В нашем примере rw-r—r— означает, что пользователь может читать и записывать файл, а группа и другие пользователи могут только читать файл. Цифра 1 после символов разрешения — это количество жестких ссылок на этот файл.

Следующие два поля root root показывают владельца файла и группу, за которыми следует размер файла ( 337 ), показанный в байтах. Используйте параметр -h если вы хотите печатать размеры в удобочитаемом формате. Вы можете изменить владельца файла с помощью команды chown .

Oct 4 11:31 — дата и время последнего изменения файла.

Последний столбец — это имя файла.

Показать скрытые файлы

По умолчанию команда ls не отображает скрытые файлы. В Linux скрытый файл — это любой файл, который начинается с точки ( . ).

Чтобы отобразить все файлы, включая скрытые, используйте параметр -a :

drwxr-x--- 10 linuxize linuxize 4096 Feb 12 16:28 . drwxr-xr-x 18 linuxize linuxize 4096 Dec 26 09:21 .. -rw------- 1 linuxize linuxize 1630 Nov 18 2017 .bash_history drwxr-xr-x 2 linuxize linuxize 4096 Jul 20 2018 bin drwxr-xr-x 2 linuxize linuxize 4096 Jul 20 2018 Desktop drwxr-xr-x 4 linuxize linuxize 4096 Dec 12 2017 .npm drwx------ 2 linuxize linuxize 4096 Mar 4 2018 .ssh 

Сортировка вывода

Как мы уже упоминали, по умолчанию команда ls перечисляет файлы в алфавитном порядке.

Параметр —sort позволяет сортировать вывод по расширению, размеру, времени и версии:

  • —sort=extension (или -X ) — отсортировать в алфавитном порядке по расширению.
  • —sort=size (или -S ) — сортировать по размеру файла.
  • —sort=time (или -t ) — сортировать по времени модификации.
  • —sort=version (или -v ) — естественный вид номеров версий.

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

Например, чтобы отсортировать файлы в каталоге /var по времени модификации в обратном порядке, вы должны использовать:

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

Рекурсивный список подкаталогов

Параметр -R указывает команде ls рекурсивно отображать содержимое подкаталогов:

Выводы

Команда ls отображает информацию о файлах и каталогах.

Для получения дополнительной информации о ls посетите страницу GNU Coreutils или введите man ls в свой терминал.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Источник

Как вывести имена файлов из директории без путей?

просто вывести имена файлов из директории в файл ,чисто имена.

А что ls выводит с путями? Что ты имеешь в виду?

или только файлов? find -maxdepth 1 -type f

Я не понимаю, что тебе нужно, уточни.

Читайте также:  Mark mitchell jeffrey oldham and alex samuel advanced linux programming

2ТС: если мешают ./ вначале имён файлов (при использовании find):

find -maxdepth 1 -type f -exec basename <> \; 2> /dev/null

find . -printf ‘%f\n’
вместо -exec .

ls же. А чтобы без каталогов выше писали с find или grep.

serge@delldebian:~$ ls -p / > /tmp/file.txt serge@delldebian:~$ cat /tmp/file.txt bin/ boot/ dev/ etc/ home/ initrd.img lib/ lib32/ lib64/ lost+found/ media/ mnt/ opt/ proc/ root/ run/ sbin/ selinux/ srv/ sys/ tmp/ usr/ var/ vmlinuz webmin-setup.out 

эм.. быть может ls -p | grep -v /?

Я думал, что можно создавать файлы со /.. Но

 /tmp $ touch a\/b touch: невозможно выполнить touch для «a/b»: Нет такого файла или каталога 

Кроме алеша и аски-нуля всё можно. Остальное зависит от ФС .

Источник

Команда ls

Команда ls

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

Если директория не указана, то выводится содержимое текущей директории.

Опции

Если имя файла содержит непечатаемые символы, то выводить их как Esc-последовательность в стиле языка C (например, \n \t )

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

SIZE может принимать значения K, M, G, T, P, E, Z, Y (используется множитель 1024) или KB, MB, GB. (используется множитель 1000).

Не выводить файлы, имя которых оканчивается на знак тильды ~ (такие файлы обычно создаются текстовыми редакторами в качестве резервной копии исходного файла).

Сортировать файлы по времени последнего изменения. Новые файлы располагаются сверху.
При использовании с опциями -lt : выводить время последнего изменения и сортировать по этому времени.
При использовании с опцией -l : выводить время последнего изменения и сортировать по имени.

Добавить специальные символы к именам файлов, которые показывают, что это за файл. Возможные символы:

  • / — директория
  • * — исполняемый файл.
  • @ — символическая ссылка.
  • = — сокет.
  • > — door.
  • | — именованная очередь FIFO (pipe).

Формат вывода. Определяет как выводить список файлов. Вместо длинной записи —format=WORD можно использовать короткие опции, например, -x . Возможные значения WORD (в скобках) и соответсвующие короткие опции:

  • -x (across)
  • -m (commas) — через запятую.
  • -x (horizontal)
  • -l (long) — подробная информация о файлах.
  • -1 (single-column) — в одну колонку.
  • -l (verbose)
  • -C (vertical)

При использовании совместно с опцией -l или -ls выводить размер файлов в понятном формате (например, 105K, 12M).

То же, что и опция -h (см. предыдущую опцию), но при расчете размера использовать множитель 1000 вместо 1024.

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

Скрывать файлы, имена которых соответствуют шаблону. Шаблон может быть вида: *.txt , abcd* , и так далее.

Добавлять к именам файлов символ, который обозначает тип файла (см. также опцию -F ).
WORD может принимать значения: none (ничего не добавлять), slash ( -p ), file-type ( —file-type ), classify ( -F )

Читайте также:  Efi boot install linux

Не выводить файлы, имена которых соответствуют шаблону. Например, скрыть файлы, начинающиеся на букву A: ls -I ’A*’

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

Заключить имена файлов в кавычки. WORD определяет стиль кавычек. Может принимать значения: literal , locale , shell , shell-always , shell-escape , shell-escape-always , c , escape

Если указана опция —sort=time , то выполняется сортировка по соответствующему времени (новые файлы располагаются сверху).

Определяет формат вывода времени.
При использовании с опцией -l : STYLE может принимать значения full-iso , long-iso , iso , locale , или +FORMAT.
FORMAT задается в формате ’date’.
Если FORMAT задан в виде FORMAT1 FORMAT2 , тогда FORMAT1 применяется к старым файлам, а FORMAT2 к более новым.

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

Сортировать по номеру версии файлов. Например, если файлы имеют имена myfile-1.txt, myfile-2.txt и так далее. В данном случае в именах файлов автоматически определяется версия и по ней осуществляется сортировка.

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

Рассмотрим несколько примеров использования команды ls.

Подробный список файлов

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

Команда ls. Список файлов

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

Команда ls. Список файлов в директории

Показать скрытые файлы

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

Понятный размер файлов

Вывести размер файлов в понятном формате (опция -h ):

Обозначить директории

У команды ls есть очень полезная опция -F , про которую не все знают. Она добавляет к именам файлов дополнительные обозначения, по которым сразу понятно что это за файл. Например, для директорий она добавляет символ /, и в списке файлов сразу видно где директории а где обычные файлы.

Команда ls

Список файлов в одну колонку

Вывести список в одну колонку:

Команда ls

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

Выведем файлы только с расширением .txt :

Выведем файлы с определенными расширениями ( .html , .php и .txt ):

Команда ls

Файлы, начинающиеся на определенную букву

Показать только файлы, имена которых начинаются на одну из букв указанного множества (a, d, u и x):

Список файлов с сортировкой по времени

Выведем список файлов с сортировкой по времени последнего изменения файла. Более свежие файлы располагаются сверху.

Сортировка по времени, но в обратном порядке:

Сортировка по размеру

Отсортируем файлы по размеру. Большие файлы располагаются первыми.

Список файлов, включая вложенные директории

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

Источник

Оцените статью
Adblock
detector