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 и отображает длинный список, как упоминалось ранее.
# alias ls="ls -l"
Примечание. Мы можем посмотреть уже созданные ранее псевдонимы, а также удалить 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.
# unalias ls