Показать все папки линукс

15 примеров команды ls

Команда ls — одна из наиболее часто используемых команд в Linux. Я считаю, что команда ls — это первая команда, которую вы используете, когда попадаете в командную строку.

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

1. ls без параметров

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

# ls 001.pcap Desktop Downloads index.html install.log.syslog Pictures Template anaconda-ks.cfg Documents fbcmd_update.php install.log Music Public Videos

2. ls с параметром -l

Здесь, ls -l (l — символ, а не единица) показывает файл или каталог вместе с его размером, а также дату и время изменения, права и владельца.

# ls -l total 176 -rw-r--r--. 1 root root 683 Aug 19 09:59 0001.pcap -rw-------. 1 root root 1586 Jul 31 02:17 anaconda-ks.cfg drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Desktop drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Documents drwxr-xr-x. 4 root root 4096 Aug 16 02:55 Downloads -rw-r--r--. 1 root root 21262 Aug 12 12:42 fbcmd_update.php -rw-r--r--. 1 root root 46701 Jul 31 09:58 index.html -rw-r--r--. 1 root root 48867 Jul 31 02:17 install.log -rw-r--r--. 1 root root 11439 Jul 31 02:13 install.log.syslog drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Music drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Pictures drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Public drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Templates drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Videos

3. Просмотр скрытых файлов

Показ всех файлов, включая скрытые, которые начинаются с «.»

# ls -a . .bashrc Documents .gconfd install.log .nautilus .. .cache Downloads .gnome2 install.log.syslog .netstat.swp 0001.pcap .config .elinks .gnome2_private .kde .opera anaconda-ks.cfg .cshrc .esd_auth .gtk-bookmarks .libreoffice Pictures .bash_history .dbus .fbcmd .gvfs .local .pki .bash_logout Desktop fbcmd_update.php .ICEauthority .mozilla Public .bash_profile .digrc .gconf index.html Music .pulse 

4. Перечисление файлов с удобным отображением размера

С опцией -lh, ls показывает размеры в удобном формате.

# ls -lh total 176K -rw-r--r--. 1 root root 683 Aug 19 09:59 0001.pcap -rw-------. 1 root root 1.6K Jul 31 02:17 anaconda-ks.cfg drwxr-xr-x. 2 root root 4.0K Jul 31 02:48 Desktop drwxr-xr-x. 2 root root 4.0K Jul 31 02:48 Documents drwxr-xr-x. 4 root root 4.0K Aug 16 02:55 Downloads -rw-r--r--. 1 root root 21K Aug 12 12:42 fbcmd_update.php -rw-r--r--. 1 root root 46K Jul 31 09:58 index.html -rw-r--r--. 1 root root 48K Jul 31 02:17 install.log -rw-r--r--. 1 root root 12K Jul 31 02:13 install.log.syslog drwxr-xr-x. 2 root root 4.0K Jul 31 02:48 Music drwxr-xr-x. 2 root root 4.0K Jul 31 02:48 Pictures drwxr-xr-x. 2 root root 4.0K Jul 31 02:48 Public drwxr-xr-x. 2 root root 4.0K Jul 31 02:48 Templates drwxr-xr-x. 2 root root 4.0K Jul 31 02:48 Videos

5. Перечисление файлов и директорий с символом «/» в конце

Использование опции -F с командой ls добавит символ «/» в конце каждого каталога.

# ls -F 0001.pcap Desktop/ Downloads/ index.html install.log.syslog Pictures/ anaconda-ks.cfg Documents/ fbcmd_update.php install.log Music/ Public/ 

6. Перечисление файлов в обратном порядке

Следующая команда ls с опцией -r выводит файлы и каталоги в обратном порядке.

# ls -r Videos Public Music install.log fbcmd_update.php Documents 0001.pcap Templates Pictures install.log.syslog index.html Downloads Desktop 

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

ls с опцией -R выведет очень длинный список деревьев каталогов. Смотрите пример вывода команды.

# ls -R total 1384 -rw-------. 1 root root 33408 Aug 8 17:25 anaconda.log -rw-------. 1 root root 30508 Aug 8 17:25 anaconda.program.log ./httpd: total 132 -rw-r--r-- 1 root root 0 Aug 19 03:14 access_log -rw-r--r--. 1 root root 61916 Aug 10 17:55 access_log-20120812 ./lighttpd: total 68 -rw-r--r-- 1 lighttpd lighttpd 7858 Aug 21 15:26 access.log -rw-r--r--. 1 lighttpd lighttpd 37531 Aug 17 18:21 access.log-20120819 ./nginx: total 12 -rw-r--r--. 1 root root 0 Aug 12 03:17 access.log -rw-r--r--. 1 root root 390 Aug 12 03:17 access.log-20120812.gz

8. Обратный порядок вывода

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

# ls -ltr total 176 -rw-r--r--. 1 root root 11439 Jul 31 02:13 install.log.syslog -rw-r--r--. 1 root root 48867 Jul 31 02:17 install.log -rw-------. 1 root root 1586 Jul 31 02:17 anaconda-ks.cfg drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Desktop drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Videos drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Templates drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Public drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Pictures drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Music drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Documents -rw-r--r--. 1 root root 46701 Jul 31 09:58 index.html -rw-r--r--. 1 root root 21262 Aug 12 12:42 fbcmd_update.php drwxr-xr-x. 4 root root 4096 Aug 16 02:55 Downloads -rw-r--r--. 1 root root 683 Aug 19 09:59 0001.pcap

9. Сортировка файлов по размеру

При комбинации -lS перечисляет файлы и папки по размеру, начиная с большого.

# ls -lS total 176 -rw-r--r--. 1 root root 48867 Jul 31 02:17 install.log -rw-r--r--. 1 root root 46701 Jul 31 09:58 index.html -rw-r--r--. 1 root root 21262 Aug 12 12:42 fbcmd_update.php -rw-r--r--. 1 root root 11439 Jul 31 02:13 install.log.syslog drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Desktop drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Documents drwxr-xr-x. 4 root root 4096 Aug 16 02:55 Downloads drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Music drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Pictures drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Public drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Templates drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Videos -rw-------. 1 root root 1586 Jul 31 02:17 anaconda-ks.cfg -rw-r--r--. 1 root root 683 Aug 19 09:59 0001.pcap

10. Отображение inode файла или каталога

Мы можем увидеть некоторое число перед именем файла/каталога. С опцией -i файл/каталог отображается с номером inode (индексный дескриптор).

# ls -i 20112 0001.pcap 23610 Documents 23793 index.html 23611 Music 23564 anaconda-ks.cfg 23595 Downloads 22 install.log 23612 Pictures 23594 Desktop 23585 fbcmd_update.php 35 install.log.syslog 23601 Public

11. Версия утилиты ls

# ls --version ls (GNU coreutils) 8.4 Copyright (C) 2010 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by Richard M. Stallman and David MacKenzie.

12. Страница помощи

Вывести справочную страницу команды ls с опциями.

# ls --help Usage: ls [OPTION]. [FILE]. 

13. Просмотр файлов в каталоге

С помощью команды ls -l выведите список файлов в каталоге /tmp. Команда с параметром -ld выводит информацию о каталоге /tmp.

# ls -l /tmp total 408 drwx------. 2 narad narad 4096 Aug 2 02:00 CRX_75DAF8CB7768 -r--------. 1 root root 384683 Aug 4 12:28 htop-1.0.1.tar.gz drwx------. 2 root root 4096 Aug 4 11:20 keyring-6Mfjnk drwx------. 2 root root 4096 Aug 16 01:33 keyring-pioZJr drwx------. 2 gdm gdm 4096 Aug 21 11:26 orbit-gdm drwx------. 2 root root 4096 Aug 19 08:41 pulse-gl6o4ZdxQVrX drwx------. 2 narad narad 4096 Aug 4 08:16 pulse-UDH76ExwUVoU drwx------. 2 gdm gdm 4096 Aug 21 11:26 pulse-wJtcweUCtvhn -rw-------. 1 root root 300 Aug 16 03:34 yum_save_tx-2012-08-16-03-34LJTAa1.yumtx
# ls -ld /tmp/ drwxrwxrwt. 13 root root 4096 Aug 21 12:48 /tmp/

14. Отображение UID и GID файлов

Для просмотра UID и GID файлов и каталогов используйте опцию -n с командой ls.

# ls -n total 36 drwxr-xr-x. 2 500 500 4096 Aug 2 01:52 Downloads drwxr-xr-x. 2 500 500 4096 Aug 2 01:52 Music drwxr-xr-x. 2 500 500 4096 Aug 2 01:52 Pictures -rw-rw-r--. 1 500 500 12 Aug 21 13:06 tmp.txt drwxr-xr-x. 2 500 500 4096 Aug 2 01:52 Videos

15. Команда ls и ее alias

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

Читайте также:  Vulkan dota 2 linux

Примечание. Мы можем посмотреть уже созданные ранее псевдонимы, а также удалить alias, как показано на примере ниже.

# alias alias cp='cp -i' alias l.='ls -d .* --color=auto' alias ll='ls -l --color=auto' alias ls='ls --color=auto' alias mv='mv -i' alias rm='rm -i' alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

Чтобы удалить ранее определенный псевдоним, просто используйте команду unalias.

Источник

Как вывести список только директорий используя ls в Bash

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

1. С помощью ls увидеть все папки кроме скрытых

*/ — это шаблон, который соответствует всем подкаталогам в текущем каталоге (* будет соответствовать всем файлам и подкаталогам; / ограничивает его каталогами). Точно так же, чтобы вывести список всех подкаталогов в /home/mial/bin/aur, используйте:

Чтобы вывести только каталоги в текущей папке:

Чтобы вывести данные в столбик:

2. С помощью ls увидеть все папки вместе со скрытыми

Обратите внимание, что */ не найдёт любые скрытые папки. Чтобы включить и их, укажите их явно:

Обратите внимание, что в примере выше используется два шаблона. Чтобы это стало очевидным, рассмотрим следующий пример: нужно показать только каталоги, в том числе и скрытые в директории /home/mial/bin/aur/:

ls -d /home/mial/bin/aur/.*/ /home/mial/bin/aur/*/

3. С помощью ls и cut

Следующий способ показывает каталоги только в текущей папке, но делает это в виде столбика:

Чтобы показать вместе со скрытыми каталогами:

Чтобы показать только директории в папке /home/mial/bin/aur:

ls -d /home/mial/bin/aur/*/ | cut -f1 -d'/'

4. Используя echo

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

Читайте также:  What is proc directory in linux

Пример показа всех папок кроме скрытых:

Показ всех скрытых и обычных директорий:

Показ всех скрытых и обычных папок в директории /home/mial/bin/aur/:

echo /home/mial/bin/aur/.*/ /home/mial/bin/aur/*/

5. Используя ls и grep

В этом варианте применяется фильтрация вывода с помощью grep. Этот способ имеет ограничение — папки должны выводиться в виде подробного списка:

Чтобы показать вместе со скрытыми папками:

Для вывода только имён директорий (возможны проблемы с директориями, имеющими пробелы в названиях):

6. С помощью find

Команда find имеет очень гибкие критерии поиска.

Чтобы вывести все папки без подпапок (замените /home/mial/bin/aur/ на интересующую папку):

find /home/mial/bin/aur/ -maxdepth 1 -type d

Чтобы вывести все папки с подбапками:

find /home/mial/bin/aur/ -type d

7. printf

Чтобы вывести все директории на отдельных строках (аналогично -1)

Предыдущий пример работает правильно с именами «-«, пробелами и переводами строк (newline).

Улучшенный пример, удаляет последний слэш (/), правильно работает с именами, содержащими пробелы и переводы строк:

Пример с функцией. Наконец, использование списка аргументов внутри функции не повлияет на список аргументов текущей запущенной оболочки:

8. tree

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

Но если мы хотим получить только каталоги, без дерева ascii и с полным путём из текущего каталога, вы можете сделать:

-d Список только каталогов. -f Печатает префикс полного пути для каждого файла. -i Делает так, что tree не печатать строки отступа, полезно, когда используется вместе с опцией -f.

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

Читайте также:  Vulkan dota 2 linux

А чтобы ограничить количество подкаталогов, вы можете установить максимальный уровень подкаталогов с уровнем -L, например:

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

Следующий скрипт показывает, как можно выполнить действие с каждой папкой в директории — имя каждой папки будет присваиваться переменной $line:

while read -r line ; do # echo $line # КОД # КОД # КОД done < <(ls -d */)

Чтобы выполнить действие с каждой папкой в директории /home/mial/bin/aur:

while read -r line ; do # echo $line # КОД # КОД # КОД done < <(ls -d /home/mial/bin/aur/*/)

Источник

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