Команда dir в linux
Если вы новичок в Linux, тогда с большой вероятностью вы начали использовать командную строку. Если знать команды Linux, то с терминалом довольно легко работать. Именно поэтому большинство системных администраторов Linux предпочитают работу в терминале. Так как сделать что-то через терминал гораздо быстрее чем через GUI.
В этой статье мы покажем и расскажем наиболее часто используемые и важные команды Linux, которые вы должны знать и помнить. Надеемся что данная статья про команды Linux станет для вас хорошей шпаргалкой.
Системные команды Linux
Эти команды используются для просмотра информации и управления, связанной с системой Linux.
1. uname
Команда Uname используется в Linux для поиска информации об операционных системах. В Uname существует много опций, которые могут указывать имя ядра, версию ядра, тип процессора и имя хоста.
Следующая команда uname с опцией a отображает всю информацию об операционной системе.
2. uptime
Из следующей команды мы можем понять, что система работает в течение последних 36 минут.
$ uptime
15:52:37 up 36 min, 1 user, load average: 0.03, 0.07, 0.04
Полное руководство команды Uptime
3. hostname
Вы можете отобразить имя хоста вашей машины, введя hostname в своем терминале. С помощью опции -i вы можете просмотреть ip-адрес компьютера. А с помощью параметра -d вы можете просмотреть доменное имя.
4. last
$ last
leni pts/0 10.0.76.162 Mon Dec 2 12:32 - 13:25 (00:53)
setiwik tty1 Mon Dec 2 09:31 still logged in
reboot system boot 2.6.32-358.23.2 Mon Dec 2 09:20 - 13:25 (04:05)
5. date
В Linux команда date используется для проверки текущей даты и времени системы. Эта команда позволяет задать пользовательские форматы для дат.
6. cal
По умолчанию команда cal отображает календарь текущего месяца. С помощью опции -y вы можете просмотреть календарь на весь год.
7. w
По умолчанию команда w отображает, кто в данный момент вошел в систему на вашем компьютере и что они делают.
$ w
01:36:19 up 2:08, 2 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 39.177.9.194 23:29 3.00s 0.02s 0.00s w
setiwik pts/1 59.177.9.193 01:35 11.00s 0.00s 0.00s -bash
8. whoami
Команда Whoami выводит имя пользователя, вошедшего в систему в данный момент. Это похоже на команду id -un .
9. reboot
Команда reboot используется для перезагрузки системы Linux. Вы должны запустить эту команду из терминала с правами суперпользователя sudo.
10. shutdown
По умолчанию компьютер (сервер) выключится через 1 минуту. Вы можете отменить расписание, выполнив команду: shutdown -c
$sudo shutdown
Shutdown scheduled for Fri 2021-04-09 13:45:51 UTC, use 'shutdown -c' to cancel.
$
Команды Linux, взаимодействующие с оборудованием
Эти команды используются для просмотра аппаратных аспектов операционной системы Linux и управления ими.
11. dmesg
Команда Dmesg печатает свои данные, считывая кольцевой буфер ядра. Данные могут представлять собой информацию о процессоре, жестком диске, принтере, клавиатуре, памяти и драйверах.
Ответ в терминале :
12. lshw
Отображает информацию о конфигурации оборудования системы. Команда Lshw должна выполняться от имени привилегированного пользователя root или sudo, в противном случае она будет сообщать только частичную информацию.
13. lsblk
Отображает информацию о блочном устройстве машины, связанную с устройством. Команда Lsblk с помощью опции -a вы можете просматривать все блочные устройства.
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 28.5G 0 disk /
sdb 8:16 0 1024M 0 disk [SWAP]
14. free
Команда free используется в Linux для проверки объема свободной оперативной памяти в системе. Так же команда free показывает пространство подкачки, буферное и кэш-пространство.
$ free
total used free shared buff/cache available
Mem: 4022216 723872 1359820 157988 1938524 2661636
Swap: 524284 247820 276464
15. lspci
16. lsusb
Команда Lsusb используется для отображения информации о шинах USB и подключенных к ним устройствах.Вы можете найти утилиту lsusb в пакете usbutils.
17. dmidecode
Команда Dmidecode считывает системную таблицу DMI (Интерфейс управления рабочим столом). Используется для отображения информации об оборудовании и BIOS. Выходные данные dmidecode содержат несколько записей из таблицы DMI. Эта таблица содержит описание аппаратных компонентов систем, а также другую полезную информацию, такую как серийный номер, версия BIOS и т. д.
Для использования требуется привилегия root или sudo.
В следующем примере показаны сведения о bios.
18. hdparm
Следующая команда выполнит проверку скорости чтения на диске sda:
Команды Linux, связанные со статистикой
Этот набор команд используется для просмотра различных видов статистики системы Linux.
19. mpstat
Команда Mpstat используется для показа статистики процессора и помогает отслеживать загрузку процессора в вашей системе. Это будет более полезно, если ваша система имеет несколько процессоров.
$ mpstat -P 0
Linux 3.2.0-57-generic (USERNB01) 12/12/2013 _x86_64_ (2 CPU)
03:54:00 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
03:54:00 PM 0 3.82 0.01 1.16 3.88 0.00 0.06 0.00 0.00 91.06
20. vmstat
По умолчанию vmstat работает следующим образом:
Команда Linux vmstat
21. iostat
22. tcpdump
Когда вы используете tcpdump без какой-либо опции, он будет анализировать трафик на всех интерфейсах.
23. lsof
Чтобы просмотреть список файлов открытых определенным пользователем, используйте опцию -u .
Команда Lsof в системе Linux
24. watch
Команда Linux watch может использоваться для регулярного повторения команды.
Команды Linux для работы с пользователями
Эти команды используются для управления пользователями Linux.
25. id
26. last
Команда last в Linux используется для проверки ранее вошедшего пользователя на вашем сервере. О ней мы писали выше.
27. who
28. groupadd
Команда Groupadd используется для создания группы в Linux.
29. useradd
30. userdel
31. usermod
Команда Linux usermod используется для изменения атрибутов существующего пользователя. Атрибутами пользователя являются домашний каталог, оболочка, дата истечения срока действия пароля, группы, UID и т.д.
32. passwd
Команды Linux, для работы с файлами
Эти команды используются для обработки файлов и каталогов.
33. ls
Очень простая, но мощная команда, используемая для отображения файлов и каталогов. По умолчанию команда ls отобразит содержимое текущего каталога.
34. pwd
Пример ример ниже:
[setiwik@li53-41 fsfreeze-hook.d]$ pwd
/usr/share/qemu-kvm/qemu-ga/fsfreeze-hook.d
35. mkdir
В Linux мы можем использовать команду mkdir для создания каталога.
По умолчанию, запустив mkdir без какой-либо опции, он создаст каталог в текущем каталоге.
$ mkdir account
$ ls -l
total 4
drwxrwxr-x. 2 linoxide linoxide 4096 Feb 8 08:04 account
$
36. cat
В следующих примерах команды cat отобразится имя дистрибутива Linux и версия, которая в настоящее время установлена на сервере.
$sudo cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core)
37. rm
Когда файл больше не нужен, мы можем удалить его, чтобы сэкономить место. В системе Linux мы можем использовать для этого команду rm.
38. cp
Команда Cp используется в Linux для создания копий файлов и каталогов.
39. mv
Когда вы хотите переместить файлы из одного места в другое и не хотите их дублировать, требуется использовать команду mv. Подробнее можно прочитать ЗДЕСЬ.
40.cd
Команда Cd используется для изменения текущего рабочего каталога пользователя в Linux и других Unix-подобных операционных системах.
41. Ln
Команда Ln использует следующий синтаксис:
ln -s [target directory or file] [symlink shortcut]
42. touch
Команда Touch используется в Linux для изменения времени доступа к файлам и их модификации. Мы можем использовать команду touch для создания пустого файла.
43. more
44. head
Команда head используется для печати первых нескольких строк текстового файла. По умолчанию команда head выводит первые 10 строк каждого файла.
45. tail
Как вы, возможно, знаете, команда cat используется для отображения всего содержимого файла с помощью стандартного ввода. Но в некоторых случаях нам приходится отображать часть файла. По умолчанию команда tail отображает последние десять строк.
46. gpg
47. cksum
Команда Cksum используется в Linux для показа контрольной суммы CRC и количества байтов, содержащихся в этом файле.
48. diff
Команда Diff используется для сравнения двух файлов строка за строкой в терминале.
49. sort
Команда sort используется в Linux для сортировки содержимого текстового файла строка за строкой.
50. uniq
51. wc
Команда Linux wc подсчитывает количество байтов, символов, слов и строк в файле.
52. dir
Команда Dir используется для вывода списка содержимого каталога.
53. tee
54. tr
Команда tr (translate) используется в Linux в основном для перевода и удаления символов. Его можно использовать для преобразования прописных букв в строчные, сжатия повторяющихся символов и удаления символов.
Команды Linux, связанные с процессом
Эти команды используются для обработки процессов Linux
55. ps
56. pmap
Команда pmap отображает карту использования памяти процесса или нескольких процессов. Pmap сообщает информацию об адресном пространстве или карте использования памяти процесса.
57. top
Команда top в Linux отображает запущенные процессы в системе. Эта команда широко используется для мониторинга нагрузки на сервер.
58. kill
Команда kill используется в Linux и других Unix-подобных операционных системах для завершения процессов без необходимости выхода из системы или перезагрузки компьютера.
59. killall
Команда killall может использоваться для отправки сигнала определенному процессу, используя его имя. Это означает, что если у вас запущено пять версий одной и той же программы, команда killall уничтожит все пять.
60. pkill
Аналогично команде killall, pkill посылает сигнал для завершения процесса с его именем. Начиная с Centos 7 рекомендуется использовать pkill.
61. fg и bg
Мы можем запускать задания в фоновом режиме без какого-либо вмешательства пользователя. Процессы, которые были остановлены каким-либо сигналом прерывания, могут быть продолжены в фоновом режиме с помощью команды bg. Команда fg похожа на команду bg, за исключением того, что вместо отправки команды в фоновом режиме она запускает их на переднем плане, занимает текущий терминал и ожидает завершения процесса.
Команды Linux, связанные с правами доступа к файлам
Эти команды используются для изменения разрешений файлов
62. chmod
Права доступа к файлам применяются на трех уровнях: владелец, члены группы и другие. Команда chmod используется для изменения этих разрешений.
63. chown
Команда chown в Linux используется для изменения владельца и группового владения файлами и каталогами.
64. chgrp
Команда Chgrp используется для изменения групповой принадлежности файла, в отличие от команды chown, которая позволяет изменять права собственности пользователя и группы.
Команды Linux для работы с сетью
Эти команды используются для просмотра и редактирования сетевых конфигураций, связанных с аспектами системы
65. ifconfig
Команда ifconfig используется для отображения и установки IP-адреса для сетевых интерфейсов в Linux. На данный момент ifconfig устарел в пользу iproute2.
Шпаргалка и сравнение команды iproute2 ЗДЕСЬ.
66. ip
67. ethtool
Команда ethtool используется для отображения/изменения настроек адаптера Ethernet. Вы можете изменить скорость сетевой карты, автоматическое согласование, настройку пробуждения по локальной сети, дуплексный режим с помощью этого инструмента в Linux.
68. mii-tool
Команда mii-tool позволяет системным администраторам Linux изменять или проверять сетевую карту.
69. ping и ping6
Команды ping и ping6 используются для отправки эхо-запросов хосту и для проверки соединения ipv4 и ipv6.
70. whois
В Linux команда whois используется для получения информации о домене, такой как владелец домена, контактная информация владельца и серверы имен.
71. dig
Dig выполняет поиск DNS и отображает ответы, возвращенные с запрошенных серверов имен.
72. host
73. wget
74. netstat
75. nslookup
Команды связанные с сжатием и архивированием
Эти команды используются для сжатия и распаковки файлов.
76. tar
77. gzip
Команда Gzip сжимает файлы в один файл с расширением .gz.
Команды Linux связанные с установкой пакета
Эти команды используются для управления пакетами Linux.
78. rpm
79. make
Команда Make используется для создания исполняемых программ и библиотек из исходного кода.
80. yum
81. Apt
Поиск Связанных Команд Linux
Эти команды используются для поиска файлов и шаблонов
82. grep
Команда grep позволяет выполнять поиск текста или строки в файле или в консоли.
83. locate
84. find
85. ssh
SSH используется для входа на удаленную машину и для выполнения команд на удаленной машине. Всякий раз когда данные отправляются на сервер через ssh, информация автоматически шифруется.
86. telnet
Команды Linux, Связанные С Передачей Файлов
Эти команды используются для копирования файлов из одной системы в другую систему
87. scp
$ scp examples.txt [email protected]:/home/user/account
88. rsync
Rsync синхронизирует файлы и каталоги между локальными и удаленными машинами. Он может рекурсивно копировать файлы и каталоги, копировать символические ссылки, сохранять (разрешения, группу, время изменения и принадлежность) идентификатор файла.
Команды Linux для работы с локальными дисками
Эти команды используются для просмотра статистики диска.
89. df
Команда df отображает использование дискового пространства для файловых систем Linux. Она так же отображает общий объем и свободное дисковое пространство, доступное в смонтированных файловых системах.
90. fdisk
Команда Fdisk используется в Linux для просмотра существующих разделов, создания нового раздела, удаления или изменения существующих разделов.
91. du
92. findmnt
Команда findmnt используется для перечисления смонтированных файловых систем в Linux. Эта команда будет искать конкретную файловую систему в /etc/fstab, /etc/mtab или /proc/self/mountinfo.
93. mount
Заключение
В этой статье мы провели обзор большинства команд Linux. Вы так же можете положиться на справочные материалы Linux, для получения дополнительной информации. Я надеюсь, что эта статья была полезна для вас.
В этой статье показано несколько примеров использования команды dir для вывода списка содержимого каталога. Команда dir не часто используется в Linux. Хотя он работает меньше, чем команда ls, которую предпочитает использовать большинство пользователей Linux. Мы обсудим команду dir, где мы рассмотрим, как использовать различные параметры и аргументы.
Общий синтаксис команды dir следующий.
dir Использование команды с примерами
Вывод команды dir с файлом каталога /etc выглядит следующим образом. Как видно из вывода, перечислены не все файлы в каталоге/etc.
Чтобы перечислить один файл в строке, используйте параметр -1 следующим образом.
Чтобы вывести список всех файлов в каталоге, включая . (скрытые) файлы, используйте параметр -a. Вы можете включить опцию -l для форматирования вывода в виде списка.
Если вам нужно указать только записи каталога, а не содержимое каталога, вы можете использовать параметр -d. В выводе ниже опция -d перечисляет записи для каталога/etc.
Когда вы используете -dl, он показывает длинный список каталога, включая владельца, владельца группы и разрешения.
Если вы хотите просмотреть порядковый номер каждого файла, используйте параметр -i. Из выходных данных ниже вы можете видеть, что в первом столбце показаны числа. Эти числа называются индексными узлами, которые иногда называют индексными узлами или индексными номерами.
Inode в системах Linux - это хранилище данных в файловой системе, в котором хранится информация о файле, кроме имени файла и его фактических данных.
Вы можете просмотреть размеры файлов, используя параметр -s. Если вам нужно отсортировать файлы по размеру, используйте параметр -S.
В этом случае вам также необходимо использовать параметр -h для просмотра размеров файлов в удобочитаемом формате.
В выходных данных выше первый столбец показывает размер файлов в килобайтах. В выходных данных ниже показан отсортированный список файлов в соответствии с их размерами с использованием параметра -S.
Вы также можете отсортировать по времени модификации, при этом файл, который недавно был изменен, отображается первым в списке. Это можно сделать с помощью опции -t.
Чтобы перечислить файлы без их владельцев, вы должны использовать опцию -g, которая работает как опция -l, только она не распечатывает владельца файла. А чтобы вывести список файлов без владельца группы, используйте параметр -G следующим образом.
Как вы можете заметить из выходных данных выше, имена владельца файла и владельца группы не печатаются. Вы также можете просмотреть автора файла, используя флаг –author следующим образом.
В выходных данных выше пятый столбец показывает имя автора файла. Файлы examples.desktop принадлежат пользователю kone, принадлежат группе kili и созданы пользователем kone.
Вы можете просматривать каталоги раньше всех других файлов, и это можно сделать с помощью флага –group-directoryies-first следующим образом.
Когда вы посмотрите на вывод выше, вы увидите, что все каталоги перечислены перед обычными файлами. Буква d перед разрешениями указывает на каталог, а a указывает на обычный файл.
Вы также можете просматривать подкаталоги рекурсивно, что означает, что вы можете перечислить все другие подкаталоги в каталоге, используя параметр -R следующим образом.
В приведенных выше выходных данных знак (.) означает, что текущий каталог и домашний каталог пользователя Kone имеет три подкаталога: Backup, dir и Docs.
В подкаталоге Backup есть еще два подкаталога: mariadb и mysql, у которых нет подкаталогов.
Подкаталог dir не имеет подкаталога. В подкаталоге Docs есть два подкаталога, а именно Books и Tuts, у которых нет подкаталогов.
Чтобы просмотреть идентификаторы пользователей и групп, вам нужно использовать опцию -n. Давайте посмотрим на разницу между двумя следующими выходами.
Вывод без опции -n.
Вывод с параметром -n.
Его можно заархивировать с помощью опции -m.
Чтобы найти справку по использованию команды dir, используйте флаг –help, а для просмотра сведений о версии dir используйте –version.
Заключение
Это всего лишь примеры базового использования команды dir, чтобы использовать многие другие параметры, см. Ручной ввод команды dir в вашей системе. Если вы найдете какие-либо другие интересные варианты или способы использования команды dir, сообщите нам об этом, написав комментарий. Надеюсь, эта статья окажется для вас полезной.
Опции POSIX: [-CFRacdilqrtu1] [--]
ОПИСАНИЕ
Программа ls сначала выводит список всех файлов (не каталогов), перечисленных в командной строке, а затем выводит список всех файлов, находящихся в каталогах, перечисленных в командной строке. Если не указано ни одного файла, то по умолчанию аргументом назначается `.' (текущий каталог). Опция -d заставляет ls не считать аргументы-каталоги каталогами. Будут отображаться только файлы, которые не начинаются с `.' или все файлы, если задана опция -a.Каждый список файлов (для файлов, которые не являются каталогами и для каждого каталога, содержащего список файлов) сортируется отдельно в алфавитной последовательности текущих региональных настроек (locale). Когда указана опция -l, то перед каждым списком выводится итоговая строка с общим размером всех файлов в списке, который измеряется в полу-килобайтах (512 байт).
Результаты печатаются на стандартный вывод, по одному файлу на строку, если с помощью опции -C не задан многоколоночный вывод. Однако при выводе на терминал не определено, будет ли вывод осуществляться в одну колонку или в несколько. Для задания одноколоночного или многоколоночного режима вывода могут использоваться опции -1 и -C, соответственно.
ОПЦИИ POSIX
-C Напечатать список файлов в колонках с вертикальной сортировкой. -F Для каждого имени каталога добавлять суффикс `/', для каждого имени FIFO - `|' и для каждого имени исполняемого файла `*'. -R Включить рекурсивную выдачу списка каталогов. -a Включать в список файлы с именем, начинающимся с `.'. -c Использовать при сортировке (при задании опции -t или -l) время изменения состояния файла вместо времени последней модификации файла. -d Выдавать имена каталогов, как будто они обычные файлы, вместо того, чтобы показывать их содержимое. -i Предварять вывод для каждого файла его серийным номером (номером inode). -l Выдавать (в одноколоночном формате) тип файла, права доступа к файлу, количество ссылок на файл, имя владельца, имя группы, размер файла (в байтах), временной штамп и имя файла.Типы файлов могут принимать следующие значения: - для обычного файла, d для каталога, b для блочного устройства, c для символьного устройства, l для символической ссылки, p для FIFO и s для гнезда (socket).
По умолчанию, временной штамп является временем последней модификации; опции -c и -u позволяют выбрать два других временных штампа. Для файлов устройств, поле размера обычно заменяется на старший и младший номера устройства. -q Вместо непечатаемых символов в имени файла при выводе будут ставиться знаки вопроса. (Эта опция включена по умолчанию при выводе на терминал.) -r Производить сортировку в обратном порядке. -t Сортировать по показываемому временному штампу. -u Использовать при сортировке (опция -t) или перечислении (опция -l) время последнего доступа к файлу вместо времени последней модификации файла. -1 Выдавать в одноколоночном формате. -- Завершает список опций.
ПОДРОБНОСТИ ВЕРСИИ GNU
Если стандартный вывод является терминалом, то вывод производится в многоколоночном формате (с вертикальной сортировкой).Программа dir (также установленная под именем d ) является эквивалентом `ls -C -b'; таким образом, файлы по умолчанию выдаются в многоколоночном формате (с вертикальной сортировкой). Программа vdir (также установленная под именем v ) эквивалентна `ls -l -b'; таким образом, файлы по умолчанию выдаются в длинном формате.
ОПЦИИ GNU
-1, --format=single-column Выдавать один файл на строку. Эта опция включается по умолчанию, если стандартный вывод не является терминалом. -a, --all Выдавать все файлы в каталогах, включая все файлы, начинающиеся с `.'. -b, --escape, --quoting-style=escape Заменять неграфические символы в именах файлов, используя алфавитно-цифровые последовательности, а также последовательности вида \ 000' с восьмеричными цифрами, как в языке C. Данная опция аналогична -Q , за исключением того, что имена файлов не заключаются в двойные кавычки. -c, --time=ctime, --time=status Сортировать содержимое каталога в соответствии с временем изменения состояния файла (поле `ctime' в inode). Если с помощью опции -l задан длинный формат, то выдавать время изменения состояния файла вместо времени его модификации. -d, --directory Выдавать имена каталогов, как будто они обычные файлы, вместо того, чтобы показывать их содержимое. -f Не сортировать содержимое каталога; выдавать файлы в том порядке, в котором они записаны на диск. Эта опция также разрешает -a и -U и запрещает -l , --color , -s , и -t , если они были заданы перед -f . -g Игнорируется; нужна для совместимости с Unix. -h, --human-readable Добавлять к каждому размеру файла букву размера, например, M для двоичных мегабайт (`мебибайт'). (Новое в fileutils-4.0.) -i, --inode Выдавать номер inode (также называемый серийным номером файла и номером индекса) каждого файла, слева от его имени. (Этот номер однозначно идентифицирует каждый файл в каждой файловой системе) -k, --kilobytes Если выдаются размеры файлов, то выдавать их в килобайтах. -l, --format=long, --format=verbose В дополнении к имени каждого файла, выводятся тип файла, права доступа к файлу, количество ссылок на файл, имя владельца, имя группы, размер файла в байтах и временной штамп (время последней модификации файла, если не задано другое). Для файлов с временем больше чем 6 месяцев назад или больше, чем 1 час в будущее, временной штамп содержит год вместо времени дня.Каждый каталог со списком содержимого предваряется строкой `total blocks ', где blocks -- это общее дисковое пространство, используемое всеми файлами в данном каталоге. По умолчанию, размер блока составляет 1024 байта; если установлена переменная окружения POSIXLY_CORRECT , то используется размер блока 512 байт (если не задана опция -k ). blocks считает каждую жесткую ссылку отдельно; задать по другому через аргументы невозможно.
Права доступа отображаются в практически обычном символьном виде, но ls комбинирует несколько битов в третий символ каждого набора прав доступа: s Если setuid или setgid бит установлены вместе с соответствующим битом прав на выполнение. S Если setuid или setgid бит установлены, но соответствующий бит прав на выполнение не установлен. t Если sticky-бит установлен вместе с битом прав на выполнение остальными. T Если sticky-бит установлен, но бит прав на выполнение остальными нет. x Если бит прав на выполнение установлен, и не выполняется ни одно из вышеуказанных условий. - Во всех остальных случаях. -m, --format=commas Выдавать список файлов в строчку с максимально возможным количеством имен файлов на строку, разделяя имена запятой и пробелом. -n, --numeric-uid-gid Выдавать числовые UID и GID вместо имен владельца и группы. -o Применять длинный формат, но не показывать информацию о группе. Данная опция эквивалентна --format=long --no-group . Данная опция предоставляется для совместимости с другими версиями ls . -p, --file-type, --indicator-style=file-type Добавлять символ, показывающий тип файла, к каждому имени файла. Данная опция похожа на -F , за исключением того, что исполняемые файлы не помечаются. (Фактически в fileutils-4.0 опция --file-type эквивалентна --classify.) -q, --hide-control-chars Выдавать знаки вопроса вместо неграфических символов в имени файла. Эта опция включена по умолчанию. -r, --reverse Сортировать содержимое каталога в обратном порядке. -s, --size Выдавать размер каждого файла в блоках по 1024 байта слева от имени файла. Если установлена переменная окружения POSIXLY_CORRECT , то применяется размер блока 512, если не задана опция -k . -t, --sort=time Сортировать по времени последней модификации (поле `mtime' в inode) вместо того, чтобы производить сортировку по алфавиту. Самые свежие файлы будут отображаться первыми. -u, --time=atime, --time=access, --time=use Сортировать по времени последнего доступа к файлу, вместо времени последней модификации (поле `atime' в inode). Если задан длинный формат вывода, выдавать время последнего доступа вместо времени последней модификации. -v Производить сортировку в соответствии с номером версии файлов. При этом учитывается, что имена файлов часто содержат номера версий или порядковые номера. Стандартные функции сортировки обычно не обеспечивают сортировку, которую мог бы ожидать человек, так как сортировка производится на основе посимвольного сравнения. Сортировка по версиям решает эту проблему и особенно полезна, когда производится просмотр каталогов, содержащих много файлов, у которых в имени есть номер версии. Например:
Заметим, что цифровые части с лидирующими нулями определяются как более маленькие:
(Новое в fileutils-4.0.) -w, --width cols Назначает вывод на экран в cols колонок. По умолчанию, если это возможно, данное значение узнается от драйвера терминала; в противном случае используется значение переменной окружения COLUMNS , если она установлена; в противном случае, по умолчанию, устанавливается 80. -x, --format=across, --format=horizontal Выдавать список файлов в многоколоночном режиме, с сортировкой по горизонтали. -A, --almost-all Выдавать все файлы, кроме `.' и `..'. -B, --ignore-backups Не показывать файлы, которые заканчиваются на `
', если они не заданы в командной строке. -C, --format=vertical Выдавать файлы в многоколоночном режиме, с сортировкой по вертикали. Опция устанавливается по умолчанию, если стандартный вывод является терминалом. Данная опция всегда устанавливается по умолчанию для программ dir и d . -D, --dired При длинном формате ( -l ) , после основного вывода, выдавать дополнительную строку вида:
//DIRED// BEG1 END1 BEG2 END2 .
Здесь BEGn и ENDn -- это целые беззнаковые числа, которые для каждой записи показывают байтовую позицию начала и конца каждого имени файла. Таким образом, Emacs может легко найти имена, даже когда они содержат необычные символы, такие как пробелы или символы новой строки.
Если каталоги отображаются рекурсивно ( -R ), то похожая строка выводится после каждого подкаталога:
//SUBDIRED// BEG1 END1 . -F, --classify, --indicator-style=classify Добавлять к каждому имени файла символ, показывающий его тип. Для обычных исполняемых файлов это `*'. Для каталога добавляется `/', для FIFO - `|', для символических ссылок `@', для гнезд `=', для обычных файлов ничего не добавляется. -G, --no-group Не отображать информацию о группе в длинном формате вывода. -H, --si Делает то же, что и опция -h , но использует официальные единицы измерения SI (где для расчетов используется 1000 вместо 1024 и, таким образом, M -- это 1000000 вместо 10485576). (Новое в fileutils-4.0.) -I, --ignore= шаблон Не показывать файлы, имена которых совпадают с заданным шаблоном (шаблон - это не регулярное выражение), если только они не заданы в командной строке. Как и в shell, начальная `.' в имени файла не совпадает с символом `*', заданным в начале шаблона . Чтобы спрятать ваши каталоги, вы можете просто добавить LS_OPTIONS="$LS_OPTIONS -I mystuff" в /etc/profile. -L, --dereference Выдавать информацию о файлах, на которые указывают символические ссылки, вместо информации о самих символических ссылках. -N, --literal Не заключать в кавычки имена файлов. -Q, --quote-name, --quoting-style=c Заключать имена файлов в двойные кавычки и показывать неграфические символы как в языке С. -R, --recursive Рекурсивно выдавать список содержимого всех каталогов. -S, --sort=size Производить сортировку по размеру файла, вместо сортировки по алфавиту. Таким образом, наибольшие файлы будут показаны сначала. -T, --tabsize cols Назначить ширину табуляции в cols колонок. По умолчанию 8, может быть также задано с помощью переменной окружения TABSIZE, если при этом не установлена переменная окружения POSIXLY_CORRECT. ls использует табуляцию для выравнивания вывода, когда это возможно. Если cols равно нулю, то табуляция не используется. -U, --sort=none Не производить сортировку; список файлов будет выдаваться в том порядке, в каком файлы записаны на диск. (отличие между опциями -U и -f состоит в том, что данная опция не запрещает и не разрешает другие опции). Эта опция может быть особенно полезна, когда выдаются списки содержимого очень больших каталогов, при этом сортировка не выполняется и весь процесс происходит быстрее). -X, --sort=extension Производить сортировку в алфавитном порядке по расширениям файлов (символы после последней `.'); файлы без расширений будут показаны первыми. --block-size= size Выдает размеры в блоках по size байт. (Новое в fileutils-4.0.) --color[= when ] Задает цвет для различения типов файлов. Цвета задаются с использованием переменной окружения LS_COLORS . Информацию о том, как нужно задавать значение этой переменной, можно найти в странице руководства dircolors (1). Параметр when может быть опущен или принимать одно из следующих значений: none Вообще не использовать цвет. Установлено по умолчанию. auto Использовать цвет, только если стандартный вывод является терминалом. always Всегда использовать цвет. Задание --color без параметра when эквивалентно --color=always . --full-time Выдавать время в полном, а не в стандартном сокращенном варианте. Данный формат выглядит так же, как и в команде date (1) по умолчанию; его невозможно изменить, но вы можете извлечь строку с датой через команду cut (1) и пропустить результат через `date -d'.
Это может быть очень полезно, потому что время в таком формате включает секунды. (Файловые системы Unix записывают временной штамп файла с округлением до секунды, так что данная опция показывает полную информацию о временном штампе). Например, это может помочь, если вы разбираетесь, почему некий Makefile неправильно перегенерирует файлы. --quoting-style= word Используйте стиль word для выбора режима квотинга имен файлов. Стиль word может принимать следующие значения: literal Вывод имен файлов как есть. Это поведение ls по умолчанию. shell Заключает имена файлов в одиночные кавычки для shell, если они содержат метасимволы или могут привести к неоднозначной выдаче. shell-always Заключает имена файлов в одиночные кавычки для shell, даже если этого не требуется. c Заключает имена файлов в двойные кавычки, как в языке C; это равносильно опции -Q . escape Как и для c , за исключением того, что имя не заключается в двойные кавычки; эквивалентно опции -b.
Значение по умолчанию для данной опции может быть задано в переменной окружения QUOTING_STYLE. (См. ниже главу ОКРУЖЕНИЕ ). --show-control-chars Выдавать неграфические символы в именах файлов как есть. Так задано по умолчанию, если вывод осуществляется на терминал, а программа называется ls .
СТАНДАРТНЫЕ ОПЦИИ GNU
--help Выдать подсказку на стандартный вывод и успешно завершиться. --version Выдать информацию о версии на стандартный вывод и успешно завершиться. -- Служит для обозначения конца списка опций.ОКРУЖЕНИЕ
Переменная POSIXLY_CORRECT определяет размер блока. Переменная TABSIZE задает ширину табуляции, если не установлена переменная POSIXLY_CORRECT. Переменная COLUMNS (когда она содержит целое число) определяет ширину вывода в колонках (для использования с опцией -C). Имена файлов не должны обрезаться, чтобы уместить их в многоколоночном выводе.При работе обычным образом используются значения переменных LANG, LC_ALL, LC_CTYPE и LC_MESSAGES. Переменная TZ задает временную зону для временных меток, которые выдает ls . Переменная LS_COLORS используется для задания цветов. Переменная LS_OPTIONS хранит опции по умолчанию.
Переменная QUOTING_STYLE используется для задания значения по умолчанию для опции --quoting-style . Данная опция по умолчанию установлена в literal , но авторы предупреждают, что это умолчание может когда-нибудь в следующей версии измениться на shell .
Подробное объяснение DIR, dirent, stat и других структур под Linux
Ниже приводится определение структуры DIR:
Структура DIR аналогична FILE, который является внутренней структурой. Следующие функции используют эту внутреннюю структуру для сохранения соответствующей информации о каталоге, который в настоящее время читается (из«Расширенное программирование в среде UNIX (второе издание)»). Функция DIR * opendir (const char * pathname), открывающая файловый каталог, возвращает указатель на структуру DIR, которая используется следующими функциями:
За ним следует директивная структура. Во-первых, мы должны выяснить концепцию файла каталога: этот файл содержит имена других файлов и указатели на информацию, относящуюся к этим файлам (взятые из«Расширенное программирование в среде UNIX (второе издание)»). Из определения видно, что dirent не только указывает на каталог, но также указывает на конкретные файлы в каталоге.Функция readdir также считывает файлы в каталоге. Это свидетельство. Ниже приводится определение прямой структуры:
Из приведенного выше определения также видно, что структура dirent хранит очень мало информации о файлах, поэтому dirent также действует как индекс. Если вы хотите получить информацию о файле, аналогичную эффекту ls -l, вы должны положиться на функцию stat Вверх.
Имя файла, считываемое функцией readdir, сохраняется в члене d_name структуры dirent, а функция
int stat(const char *file_name, struct stat *buf);
Функция состоит в том, чтобы получить подробную информацию о файле с именем d_name и сохранить ее в структуре stat. Ниже приводится определение структуры статистики:
Наконец, чтобы подвести итог, что нам делать, если мы хотим получить подробную информацию о файлах b в определенном каталоге (например, под заголовком)?
Сначала мы используем функцию opendir, чтобы открыть каталог a и вернуть структуру DIR c, которая указывает на каталог a.
Затем мы вызываем функцию readdir (c) для чтения всех файлов (включая каталоги) в каталоге a и возвращаем структуру dirent d, которая указывает на все файлы в каталоге a.
Затем мы проходим d и вызываем stat (d-> name, stat * e), чтобы получить подробную информацию о каждом файле, которая хранится в структуре stat e.
В целом это такой постепенный процесс усовершенствования, в котором три структуры играют разные роли.
"Структура файла структуры определена в include / linux / fs.h. Структура файла представляет собой открытый файл. Каждый открытый файл в системе имеет связанный файл структуры в пространстве ядра. Он открывается ядром. Файл создается при его создании и передается в любую функцию, которая работает с файлом. После закрытия всех экземпляров файла ядро освобождает эту структуру данных. При создании ядра и исходном коде драйвера указатель на файл структуры обычно называется файлом или filp. . "
Здесь говорится, что структура FILE создается, когда ядро открывает файл. Обратитесь к предыдущему коду операции FILE, мы можем обнаружить, что, когда мы используем структуру FILE, мы напрямую объявляем указатель на структуру FILE, например:
Затем используйте функцию fopen, чтобы вернуть указатель на структуру FILE на fp. Мы не объявляли структуру, а просто указатель на структуру.
Итак, я предполагаю, что выделение памяти конкретной структуры было выполнено ядром за нас.
Структура DIR похожа на FILE. В P104 "Linux Programming Fourth Edition" есть программа для печати всех файлов и каталогов в каталоге. Код выглядит следующим образом:
Читайте также: