Linux - файловое дерево
На этом занятии мы рассмотрели наиболее распространенные каталоги в дереве файлов Linux. Это также показывает, что в Unix все является файлом.
стандарт иерархии файловой системы
Многие дистрибутивы Linux частично соответствуют стандарту иерархии файловых систем. FHS (Стандарт Иерархии Файловых Систем) может помочь в будущем улучшить соответствие деревьев файловой системы Unix / Linux. Из FHS известно, что стандарт иерархии файловых систем был разработан для использования разработчиками дистрибутивов Unix, разработчиками пакетов и разработчиками систем. Тем не менее, он в первую очередь предназначен для справки и не является руководством по управлению файловой системой Unix или иерархией каталогов.
человек выше
Есть некоторые различия в файловых системах между дистрибутивами Linux. Чтобы получить справку о вашем компьютере, введите man hier, чтобы найти информацию об иерархии файловой системы. Это руководство объяснит структуру каталогов на вашем компьютере.
корневой каталог /
Все системы Linux имеют структуру каталогов, которая начинается в корневом каталоге (домашний каталог корневого каталога). Корневой каталог представлен косой чертой, например: /. Все, что существует в вашей системе Linux, можно найти под этим корневым каталогом. Давайте кратко рассмотрим содержимое корневого каталога.
[email protected]:~$ ls /
bin cdrom etc initrd.img lost+found mnt proc run srv tmp var
boot dev home lib media opt root sbin sys usr vmlinuz
двоичные каталоги
Двоичные файлы - это файлы, которые содержат скомпилированный исходный код (или машинный код). Двоичные файлы могут быть выполнены на компьютере. Иногда двоичные файлы называются исполняемыми файлами.
/ бен
Каталог / bin содержит стандартные системные утилиты. Согласно FHS каталог / bin должен содержать / bin / cat и / bin / date (среди прочих).
Следующая информация показывает общие команды Unix / Linux, такие как cat, cp, cpio, date, dd, echo, grep и так далее.
[email protected]:~$ ls /bin
bash fgconsole nc sed
bunzip2 fgrep nc.openbsd setfacl
busybox findmnt netcat setfont
bzcat fuser netstat setupcon
bzcmp fusermount nisdomainname sh
bzdiff getfacl ntfs-3g sh.distrib
bzegrep grep ntfs-3g.probe sleep
bzexe gunzip ntfs-3g.secaudit ss
bzfgrep gzexe ntfs-3g.usermap static-sh
bzgrep gzip ntfscat stty
bzip2 hostname ntfsck su
bzip2recover ip ntfscluster sync
bzless kbd_mode ntfscmp tailf
bzmore kill ntfsdump_logfile tar
cat kmod ntfsfix tempfile
chacl less ntfsinfo touch
...
другие каталоги / bin
Вы можете найти подкаталог / bin во многих других каталогах. Пользователь с именем serena может поместить свои собственные программы в / home / serena / bin.
Некоторые приложения, часто при установке непосредственно из исходного кода, помещают себя в / opt. При установке сервера samba можно использовать / opt / samba / bin для хранения своих двоичных файлов.
/ SBIN
T / sbin содержит двоичные файлы для настройки операционной системы. Многие из двоичных файлов системы требуют привилегий root для выполнения определенных задач.
Ниже снимок экрана, содержащий системные двоичные файлы для изменения IP-адреса, разбиения диска и создания файловой системы ext4.
[email protected]:~$ ls -l /sbin/ifconfig /sbin/fdisk /sbin/mkfs.ext4
-rwxr-xr-x 1 root root 105444 Apr 16 21:37 /sbin/fdisk
-rwxr-xr-x 1 root root 69484 Dec 8 2013 /sbin/ifconfig
lrwxrwxrwx 1 root root 6 Jun 20 11:30 /sbin/mkfs.ext4 -> mke2fs
/ Lib
Двоичные файлы из / bin и / sbin часто используют общие библиотеки, расположенные в / lib. Ниже приведен скриншот с частичным содержимым / lib.
[email protected]:/$ cd lib
[email protected]:/lib$ ls
apparmor libip4tc.so.0 modules
brltty libip4tc.so.0.1.0 modules-load.d
cpp libip6tc.so.0 plymouth
crda libip6tc.so.0.1.0 recovery-mode
firmware libiptc.so.0 resolvconf
hdparm libiptc.so.0.0.0 systemd
i386-linux-gnu libxtables.so.10 terminfo
ifupdown libxtables.so.10.0.0 udev
init linux-sound-base ufw
klibc-SDKhWJaiUdo4OxxZ-mvprY1CZus.so lsb xtables
ld-linux.so.2 modprobe.d
/ Библиотека / модули
Обычно ядро Linux загружает модули ядра из / lib / modules / $ kernel-version /. Этот каталог подробно обсуждается в главе о ядре Linux.
/ lib32 и / lib64
В настоящее время мы находимся в переходе между 32-битными и 64-битными системами. Следовательно, вы можете встретить каталоги с именами / lib32 и / lib64, которые уточняют размер регистра, используемого во время компиляции библиотек. 64-разрядный компьютер может иметь 32-разрядные двоичные файлы и библиотеки для совместимости с устаревшими приложениями. Этот снимок экрана использует файловую утилиту, чтобы продемонстрировать разницу.
ELF (Исполняемый и Linkable Format) используется практически во всех Unix-подобных операционных системах начиная с System V.
/ неавтоматического
Цель / opt - хранить дополнительное программное обеспечение. Во многих случаях это программное обеспечение из-за пределов дистрибутива. Вы можете найти пустой каталог / opt во многих системах.
Большой пакет может установить все свои файлы в подкаталогах / bin, / lib, / etc в / opt / $ packagename /. Например, если пакет называется wp, он устанавливается в / opt / wp, помещая двоичные файлы в / opt / wp / bin, а manpages - в / opt / wp / man.
каталоги конфигурации
/ загрузки
Каталог / boot содержит все файлы, необходимые для загрузки компьютера. Эти файлы меняются не очень часто. В системах Linux вы обычно найдете каталог / boot / grub здесь. / boot / grub содержит /boot/grub/grub.cfg (в старых системах может быть файл /boot/grub/grub.conf), который определяет меню загрузки, которое отображается до запуска ядра.
/так далее
Все административные файлы и файлы конфигурации должны находиться в / etc. Много раз имя файлов конфигурации совпадает с именем приложения, демона или протокола с добавлением .conf в качестве расширения.
[email protected]:/$ ls /etc/*.conf
/etc/adduser.conf /etc/insserv.conf /etc/pnm2ppa.conf
/etc/apg.conf /etc/kernel-img.conf /etc/popularity-contest.conf
/etc/blkid.conf /etc/kerneloops.conf /etc/resolv.conf
/etc/brltty.conf /etc/ld.so.conf /etc/rsyslog.conf
/etc/ca-certificates.conf /etc/libaudit.conf /etc/sensors3.conf
/etc/colord.conf /etc/logrotate.conf /etc/signond.conf
/etc/debconf.conf /etc/ltrace.conf /etc/sysctl.conf
/etc/deluser.conf /etc/mke2fs.conf /etc/ts.conf
/etc/fuse.conf /etc/mtools.conf /etc/ucf.conf
/etc/gai.conf /etc/netscsid.conf /etc/updatedb.conf
/etc/hdparm.conf /etc/nsswitch.conf /etc/usb_modeswitch.conf
/etc/host.conf /etc/pam.conf /etc/wodim.conf
[email protected]:/$
В / etc можно найти гораздо больше.
/etc/init.d/
Многие дистрибутивы Unix / Linux имеют каталог /etc/init.d, который содержит сценарии для запуска и остановки демонов. Этот каталог может исчезнуть при переходе Linux на системы, которые заменяют старый способ инициализации запуска всех демонов.
/ и т.д. / X11 /
Графический дисплей (он же X Window System или просто X) управляется программным обеспечением из фонда X.org. Файл конфигурации для вашего графического отображения - /etc/X11/xorg.conf.
/ и т.д. / Skel /
Каталог скелета / etc / skel копируется в домашний каталог вновь созданного пользователя. Обычно он содержит скрытые файлы, такие как скрипт .bashrc.
/ и т.д. / sysconfig /
Этот каталог, который не упомянут в FHS, содержит множество файлов конфигурации Red Hat Enterprise Linux. Мы обсудим некоторые из них более подробно. На приведенном ниже снимке экрана показан каталог / etc / sysconfig из RHELv4u4 со всем установленным.
[email protected]:/etc$ ls /etc | more
acpi
adduser.conf
alternatives
anacrontab
apg.conf
apm
apparmor
apparmor.d
apport
apt
aptdaemon
at-spi2
avahi
bash.bashrc
bash_completion
bash_completion.d
bindresvport.blacklist
blkid.conf
blkid.tab
bluetooth
brlapi.key
brltty
brltty.conf
--More--
Файл / etc / sysconfig / firstboot указывает агенту установки Red Hat не запускаться во время загрузки. Если вы хотите запустить агент установки Red Hat при следующей перезагрузке, просто удалите этот файл и запустите chkconfig --level 5 firstboot on. Агент установки Red Hat позволяет устанавливать последние обновления, создавать учетную запись пользователя, подключаться к сети Red Hat Network и многое другое. Затем он снова создаст файл / etc / sysconfig / firstboot.
Файл / etc / sysconfig / harddisks содержит некоторые параметры для настройки жестких дисков. Файл объясняет сам себя.
Вы можете увидеть аппаратное обеспечение, обнаруженное kudzu в / etc / sysconfig / hwconf. Kudzu - это программное обеспечение от Red Hat для автоматического обнаружения и настройки оборудования.
Тип клавиатуры и таблица раскладок задаются в файле / etc / sysconfig / keyboard. Для получения дополнительной информации о клавиатуре консоли обратитесь к страницам справочника раскладок клавиш (5), dumpkeys (1), loadkeys (1) и каталога / lib / kbd / keymaps /.
Мы обсудим сетевые файлы в этом каталоге в главе, посвященной сети.
каталоги данных
/Главная
Здесь хранятся домашние каталоги пользователей, пользователи могут хранить личные данные или данные проекта в / home. Распространенной (но не обязательной для fhs) практикой является указание имени домашнего каталога пользователей после имени пользователя в формате / home / $ USERNAME. Например:
[email protected]:/$ ls /home
datasoft
Помимо предоставления каждому пользователю (или каждому проекту или группе) места для хранения личных файлов, домашний каталог пользователя также служит местом для хранения профиля пользователя. Типичный профиль пользователя Unix содержит много скрытых файлов (файлов, имя файла которых начинается с точки). Скрытые файлы пользовательских профилей Unix содержат настройки, специфичные для этого пользователя.
/ корень
Во многих системах / root является местоположением по умолчанию для личных данных и профиля пользователя root. Если он не существует по умолчанию, его создают некоторые администраторы.
/ SRV
Вы можете использовать / srv для данных, которые обслуживаются вашей системой. FHS позволяет найти данные cvs, rsync, ftp и www в этом месте. FHS также утверждает административное именование в / srv, например / srv / project55 / ftp и / srv / sales / www.
На Sun Solaris (или Oracle Solaris) / экспорт используется для этой цели.
/средства массовой информации
Каталог / media служит точкой монтирования для съемных носителей, таких как CDROM, цифровые камеры и различные USB-устройства. Поскольку / media является довольно новым в мире Unix, вы вполне можете столкнуться с системами, работающими без этого каталога. У Solaris 9 его нет, у Solaris 10 он есть. Большинство дистрибутивов Linux сегодня монтируют все съемные носители в / media.
[email protected]:/$ ls /home
datasoft
/ мнт
Каталог / mnt должен быть пустым и использоваться только для временных точек монтирования (в соответствии с FHS).
Администраторы Unix и Linux использовали здесь для создания многих каталогов, например / mnt / кое-что /. Скорее всего, вы столкнетесь со многими системами с несколькими каталогами, созданными и / или смонтированными внутри / mnt для использования в различных локальных и удаленных файловых системах.
/ TMP
Приложения и пользователи должны использовать / tmp для хранения временных данных, когда это необходимо. Данные, хранящиеся в / tmp, могут использовать либо дисковое пространство, либо RAM. Оба из которых управляются операционной системой. Никогда не используйте / tmp для хранения важных данных, которые вы хотите заархивировать.
в каталогах памяти
/ DEV
Файлы устройств в / dev выглядят как обычные файлы, но на самом деле они не находятся на жестком диске. Каталог / dev заполняется файлами, поскольку ядро распознает оборудование.
общие физические устройства
Обычное оборудование, такое как устройства на жестком диске, представлено файлами устройств в / dev. Ниже приведен снимок экрана файлов устройств SATA на ноутбуке и затем подключенных дисков IDE на рабочем столе. (Подробное значение этих устройств будет обсуждаться позже.)
[email protected]:/$ ls /dev/sd*
/dev/sda /dev/sda10 /dev/sda5 /dev/sda7 /dev/sda9
/dev/sda1 /dev/sda2 /dev/sda6 /dev/sda8
Помимо представления физического оборудования, некоторые файлы устройств являются специальными. Эти специальные устройства могут быть очень полезны.
/ dev / tty и / dev / pts
Например, / dev / tty1 представляет терминал или консоль, подключенную к системе. (Не ломайте голову над точной терминологией «терминал» или «консоль», мы имеем в виду интерфейс командной строки.) Когда вы вводите команды в терминале, который является частью графического интерфейса, такого как Gnome или KDE, тогда ваш терминал будет представлен как / dev / pts / 1 (1 может быть другим числом).
/ DEV / нуль
В Linux вы найдете другие специальные устройства, такие как / dev / null, которые можно считать черной дырой; у него неограниченное хранилище, но из него ничего не достанется. Технически говоря, все, что записано в / dev / null, будет отброшено. / dev / null может быть полезен для удаления нежелательных выводов команд. / dev / null не подходит для хранения ваших резервных копий ;-).
/ proc разговор с ядром
/ proc - это еще один специальный каталог, который выглядит как обычные файлы, но не занимает места на диске. На самом деле это представление о ядре, или, что лучше, о том, чем управляет ядро, и средство непосредственного взаимодействия с ним. / proc - это файловая система proc.
[email protected]:/$ mount -t proc
proc on /proc type proc (rw,noexec,nosuid,nodev)
При выводе каталога / proc вы увидите много чисел (на любом Unix) и некоторые интересные файлы (на Linux)
[email protected]:/$ ls /proc
1 1632 19 2195 34 751 cpuinfo mounts
10 1635 1901 22 346 754 crypto mtrr
1014 1643 1904 2201 35 761 devices net
1063 1647 1909 2202 36 78 diskstats pagetypeinfo
11 1656 1927 2261 37 79 dma partitions
1107 1660 1931 2272 417 8 driver sched_debug
1130 1664 1935 23 481 80 execdomains schedstat
12 1667 1949 2302 49 802 fb scsi
13 1686 1954 2308 495 846 filesystems self
1323 1695 1958 2315 5 885 fs slabinfo
136 17 1962 2324 50 888 interrupts softirqs
137 1709 1977 24 52 889 iomem stat
1498 1710 2 2481 53 896 ioports swaps
15 1712 20 25 54 9 ipmi sys
1500 1714 2012 2503 55 949 irq sysrq-trigger
1563 1723 2057 2551 565 954 kallsyms sysvipc
1571 1724 2067 26 577 957 kcore timer_list
1580 1725 2082 27 592 975 key-users timer_stats
1586 1730 2090 2726 596 984 kmsg tty
1598 1744 21 276 597 986 kpagecount uptime
16 1760 2105 28 618 995 kpageflags version
1614 1772 2110 282 638 acpi latency_stats version_signature
1618 1794 2117 29 671 asound loadavg vmallocinfo
1622 18 2129 3 679 buddyinfo locks vmstat
1623 1804 2143 31 7 bus mdstat zoneinfo
1625 1813 2152 319 740 cgroups meminfo
1626 1818 2159 32 744 cmdline misc
1631 1898 2182 33 750 consoles modules
Давайте исследуем свойства файла внутри / proc. Просмотр даты и времени покажет текущую дату и время, показывая, что файлы постоянно обновляются (взгляд на ядро).
[email protected]:/$ date
Wed Jul 30 16:13:52 IST 2014
[email protected]:/$ ls -al /proc/cpuinfo
-r--r--r-- 1 root root 0 Jul 30 16:14 /proc/cpuinfo
[email protected]:/$
[email protected]:~$ date
Wed Jul 30 17:28:27 IST 2014
[email protected]:~$ ls -al /proc/cpuinfo
-r--r--r-- 1 root root 0 Jul 30 17:28 /proc/cpuinfo
Большинство файлов в / proc имеют размер 0 байт, но они содержат данные - иногда много данных. Вы можете убедиться в этом, выполнив команду cat для таких файлов, как / proc / cpuinfo, в которой содержится информация о процессоре.
[email protected]:~$ file /proc/cpuinfo
/proc/cpuinfo: empty
[email protected]:~$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 42
model name : Intel(R) Pentium(R) CPU G620 @ 2.60GHz
stepping : 7
microcode : 0x25
cpu MHz : 1600.000
cache size : 3072 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fdiv_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx rdtscp lm constant_tsc arch_perfmon pebs bts xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt tsc_deadline_timer xsave lahf_lm arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid
bogomips : 5188.25
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 42
model name : Intel(R) Pentium(R) CPU G620 @ 2.60GHz
stepping : 7
microcode : 0x25
cpu MHz : 1600.000
cache size : 3072 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
apicid : 2
initial apicid : 2
fdiv_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx rdtscp lm constant_tsc arch_perfmon pebs bts xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt tsc_deadline_timer xsave lahf_lm arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid
bogomips : 5188.25
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
[email protected]:~$
Просто для удовольствия, вот / proc / cpuinfo о Sunblade Sun ...
[email protected]:~$ cat /proc/cpuinfo | more
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 42
model name : Intel(R) Pentium(R) CPU G620 @ 2.60GHz
stepping : 7
microcode : 0x25
cpu MHz : 1600.000
cache size : 3072 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fdiv_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
--More--
Большинство файлов в / proc доступны только для чтения, некоторые требуют прав суперпользователя, некоторые файлы доступны для записи, а многие файлы в / proc / sys доступны для записи. Давайте обсудим некоторые файлы в / proc.
/ Proc / Прерывание
В архитектуре x86 / proc / interrupts отображает прерывания.
[email protected]:~$ cat /proc/interrupts
CPU0 CPU1
0: 16 0 IO-APIC-edge timer
1: 2 0 IO-APIC-edge i8042
7: 0 0 IO-APIC-edge parport0
8: 1 0 IO-APIC-edge rtc0
9: 3 0 IO-APIC-fasteoi acpi
12: 4 0 IO-APIC-edge i8042
16: 29 0 IO-APIC-fasteoi ehci_hcd:usb1
19: 17283 26337 IO-APIC-fasteoi ata_piix, ata_piix
23: 55734 64589 IO-APIC-fasteoi ehci_hcd:usb2
40: 13 0 PCI-MSI-edge mei_me
41: 500032 0 PCI-MSI-edge i915
42: 470 0 PCI-MSI-edge snd_hda_intel
43: 43010 0 PCI-MSI-edge eth0
NMI: 24 26 Non-maskable interrupts
LOC: 359598 369234 Local timer interrupts
SPU: 0 0 Spurious interrupts
PMI: 24 26 Performance monitoring interrupts
IWI: 9565 11827 IRQ work interrupts
RTR: 0 0 APIC ICR read retries
RES: 101165 71652 Rescheduling interrupts
CAL: 202 596 Function call interrupts
TLB: 3370 6154 TLB shootdowns
TRM: 0 0 Thermal event interrupts
THR: 0 0 Threshold APIC interrupts
MCE: 0 0 Machine check exceptions
MCP: 42 42 Machine check polls
ERR: 0
MIS: 0
На машине с двумя процессорами файл выглядит следующим образом.
[email protected]:~$ cat /proc/interrupts
CPU0 CPU1
0: 16 0 IO-APIC-edge timer
1: 2 0 IO-APIC-edge i8042
7: 0 0 IO-APIC-edge parport0
8: 1 0 IO-APIC-edge rtc0
9: 3 0 IO-APIC-fasteoi acpi
12: 4 0 IO-APIC-edge i8042
16: 29 0 IO-APIC-fasteoi ehci_hcd:usb1
19: 17283 26337 IO-APIC-fasteoi ata_piix, ata_piix
23: 55734 64589 IO-APIC-fasteoi ehci_hcd:usb2
40: 13 0 PCI-MSI-edge mei_me
41: 500032 0 PCI-MSI-edge i915
42: 470 0 PCI-MSI-edge snd_hda_intel
43: 43010 0 PCI-MSI-edge eth0
NMI: 24 26 Non-maskable interrupts
LOC: 359598 369234 Local timer interrupts
SPU: 0 0 Spurious interrupts
PMI: 24 26 Performance monitoring interrupts
IWI: 9565 11827 IRQ work interrupts
RTR: 0 0 APIC ICR read retries
RES: 101165 71652 Rescheduling interrupts
CAL: 202 596 Function call interrupts
TLB: 3370 6154 TLB shootdowns
TRM: 0 0 Thermal event interrupts
THR: 0 0 Threshold APIC interrupts
MCE: 0 0 Machine check exceptions
MCP: 42 42 Machine check polls
ERR: 0
/ Proc / kcore
Физическая память представлена в / proc / kcore. Не пытайтесь отследить этот файл, вместо этого используйте отладчик. Размер / proc / kcore такой же, как у вашей физической памяти, плюс четыре байта.
[email protected]:~$ ls -lh /proc/kcore
-r-------- 1 root root 1020M Jul 30 17:41 /proc/kcore
[email protected]:~$
/ sys Linux 2.6 горячее подключение
Каталог / sys был создан для ядра Linux 2.6. Начиная с версии 2.6 Linux использует sysfs для поддержки устройств с горячей заменой USB и IEEE 1394 (FireWire). См. Справочные страницы udev (8) (преемник devfs) и hotplug (8) для получения дополнительной информации (или посетите http: // linuxhotplug. Sourceforge.net/).
В основном, каталог / sys содержит информацию об оборудовании для ядра.
/ usr Системные ресурсы Unix
Хотя / usr произносится как пользователь, помните, что он обозначает системные ресурсы Unix. Иерархия / usr должна содержать разделяемые данные только для чтения. Некоторые люди предпочитают монтировать / usr только для чтения. Это можно сделать из собственного раздела или из общего ресурса NFS только для чтения.
/ USR / бен
Каталог / usr / bin содержит много команд.
[email protected]:~$ ls /usr/bin | wc -l
1421
/ USR / включать в себя
Каталог / usr / include содержит включаемые файлы общего назначения для C.
[email protected]:~$ ls /usr/include/
aio.h fcntl.h math.h pwd.h sysexits.h
aliases.h features.h mcheck.h python2.7 syslog.h
alloca.h fenv.h memory.h rdma tar.h
argp.h fmtmsg.h mntent.h re_comp.h termio.h
argz.h fnmatch.h monetary.h regex.h termios.h
ar.h fstab.h mqueue.h regexp.h tgmath.h
arpa fts.h mtd resolv.h thread_db.h
asm-generic ftw.h nautilus-sendto rpc time.h
assert.h _G_config.h net rpcsvc ttyent.h
...
/ USR / Lib
Каталог / usr / lib содержит библиотеки, которые не выполняются напрямую пользователями или сценариями.
[email protected]:~$ ls /usr/lib | head -7
2013.com.canonical.certification:checkbox
2013.com.canonical.certification:plainbox-resources
accountsservice
aisleriot
apg
apt
aspell
/ USR / местные
Каталог / usr / local может использоваться администратором для локальной установки программного обеспечения.
[email protected]:~$ ls /usr/local/
bin etc games include lib man sbin share src
[email protected]:~$ du -sh /usr/local
11M /usr/local
/ USR / доли
Каталог / usr / share содержит независимые от архитектуры данные. Как видите, это довольно большой каталог.
[email protected]:~$ ls /usr/share/ | wc -l
283
[email protected]:~$ du -sh /usr/share/
1.1G /usr/share/
Этот каталог обычно содержит / usr / share / man для справочных страниц.
[email protected]:~$ ls /usr/share/man
ar [email protected] en_GB fr hr ko man5 nb pt_BR sq uk
ast cs eo fr.ISO8859-1 hu ku man6 nl ro sr uz
be cy es fr.UTF-8 id lt man7 nn ru sv vi
bg da et fy io lv man8 oc se ta zh_CN
bn de eu gd it man1 mhr pa shn te zh_HK
bo el fa gl ja man2 ml pl si th zh_TW
bs en_AU fi he kk man3 ms ps sk tr
ca en_CA fo hi km man4 my pt sl ug
И он содержит / usr / share / games для всех статических игровых данных (так что никаких рекордов и игровых журналов).
[email protected]:~$ ls /usr/share/games/
ls: cannot access /usr/share/games/: No such file or directory
/ USR / SRC
Каталог / usr / src является рекомендуемым местом для исходных файлов ядра.
[email protected]:~$ ls -l /usr/src/
total 8
drwxr-xr-x 24 root root 4096 Apr 17 06:54 linux-headers-3.13.0-24
drwxr-xr-x 7 root root 4096 Apr 17 06:55 linux-headers-3.13.0-24-generic
/ var переменные данные
Файлы непредсказуемого размера, такие как файлы журналов, кэша и спула, должны находиться в / var.
/ вар / журнал
Каталог / var / log служит центральной точкой для хранения всех файлов журнала.
[email protected]:~$ ls /var/log
alternatives.log dist-upgrade fsck syslog
apport.log dmesg gpu-manager.log syslog.1
apport.log.1 dmesg.0 hp syslog.2.gz
apport.log.2.gz dmesg.1.gz installer udev
apt dmesg.2.gz kern.log unattended-upgrades
auth.log dmesg.3.gz lastlog upstart
boot.log dmesg.4.gz lightdm wtmp
bootstrap.log dpkg.log pm-powersave.log Xorg.0.log
btmp faillog samba Xorg.0.log.old
cups fontconfig.log speech-dispatcher
/ вар / Журнал / сообщения
Типичным первым файлом, который нужно проверить при устранении неполадок в Red Hat (и его производных), является файл / var / log / messages. По умолчанию этот файл будет содержать информацию о том, что только что произошло с системой. Файл называется / var / log / syslog в Debian и Ubuntu.
/ вар / кэш
Каталог / var / cache может содержать данные кеша для нескольких приложений.
[email protected]:/$ ls /var/cache/
apparmor cups fontconfig pm-utils
apt debconf ldconfig pppconfig
apt-xapian-index dictionaries-common lightdm samba
cracklib flashplugin-installer man software-center
/ вар / золотник
Каталог / var / spool обычно содержит каталоги спула для mail и cron, но также служит родительским каталогом для других файлов спула (например, файлов печати спула).
/ вар / Библиотека
Каталог / var / lib содержит информацию о состоянии приложения.
Например, Red Hat Enterprise Linux хранит файлы, относящиеся к rpm, в / var / lib / rpm /.
/ вар / ...
/ var также содержит файлы идентификаторов процессов в / var / run (скоро будут заменены на / run) и временные файлы, которые переживают перезагрузку в / var / tmp, и информацию о блокировках файлов в / var / lock. В этом уроке будет больше примеров использования / var.
Упражнение, практика и решение:
1. Существует ли файл / bin / cat? Как насчет / bin / dd и / bin / echo. Какой тип этих файлов?
Код:
ls /bin/cat ; file /bin/cat
ls /bin/dd ; file /bin/dd
ls /bin/echo ; file /bin/echo
2. Каков размер файла (ов) ядра Linux (vmlinu *) в / boot?
Код:
ls -lh /boot/vm*
3. Создайте каталог ~ / test. Затем выполните следующие команды:
CD ~ / тест
dd if = / dev / zero of = zeroes.txt count = 1 bs = 100
od zeroes.txt
dd будет копировать один раз (count = 1) блок размером 100 байт (bs = 100) из файла / dev / zero в ~ / test / zeroes.txt. Можете ли вы описать функциональность / dev / zero?
Код:
cd ~/test
dd if=/dev/zero of=zeroes.txt count=1 bs=100
od zeroes.txt
dd скопирует один раз (count = 1) блок размером 100 байт (bs = 100) из файла / dev / zero
в ~ / test / zeroes.txt. Можете ли вы описать функциональность / dev / zero?
/ dev / zero - это специальное устройство Linux. Это можно считать источником нулей. Вы не можете отправить
что-то в / dev / zero, но вы можете прочитать нули из него.
4. Теперь введите следующую команду:
dd if = / dev / random of = random.txt count = 1 bs = 100; od random.txt
dd будет копировать один раз (количество = 1) блок размером 100 байт (bs = 100) из файла / dev / random в ~ / test / random.txt. Можете ли вы описать функциональность / dev / random?
Код:
dd if=/dev/random of=random.txt count=1 bs=100 ; od random.txt
dd скопирует один раз (count = 1) блок размером 100 байт (bs = 100) из файла / dev /
случайно до ~ / test / random.txt. Можете ли вы описать функциональность / dev / random?
/ dev / random действует как генератор случайных чисел на вашем компьютере с Linux.
5. Введите следующие две команды и посмотрите на первый символ каждой строки вывода.
ls -l / dev / sd * / dev / hd *
ls -l / dev / tty * / dev / input / mou *
Первый ls покажет устройства (b), второй ls покажет символы (c) устройств. Можете ли вы определить разницу между блочными и символьными устройствами?
Код:
ls -l /dev/sd* /dev/hd*
ls -l /dev/tty* /dev/input/mou*
Первый ls покажет устройства (b), второй ls покажет символы (c) устройств. Ты можешь
скажите разницу между блочными и символьными устройствами?
Блочные устройства всегда записываются (или читаются) в блоки. Для жестких дисков, блоки 512
байты являются общими. Символьные устройства действуют как поток символов (или байтов). Мышь и
клавиатура - типичные символьные устройства.
6. Используйте cat для отображения / etc / hosts и /etc/resolv.conf. Что вы думаете о назначении этих файлов?
Код:
/etc/hosts contains hostnames with their ip address
/etc/resolv.conf should contain the ip address of a DNS name server.
7. Есть ли файлы в / etc / skel /? Проверьте также наличие скрытых файлов.
Код:
Issue "ls -al /etc/skel/". Yes, there should be hidden files there.
8. Показать / proc / cpuinfo. На какой архитектуре работает ваш Linux?
Код:
The file should contain at least one line with Intel or other cpu.
9. Показать / proc / interrupts. Каков размер этого файла? Где хранится этот файл?
Код:
The size is zero, yet the file contains data. It is not stored anywhere because /proc is a
virtual file system that allows you to talk with the kernel. (If you answered "stored in RAMmemory,
that is also correct...).
10. Можете ли вы войти в каталог / root? Есть (скрытые) файлы?
Код:
Try "cd /root". Yes there are (hidden) files there.
11. Есть ли в / sbin ifconfig, fdisk, parted, shutdown и grub-install? Почему эти двоичные файлы находятся в / sbin, а не в / bin?
Код:
Because those files are only meant for system administrators.
12. Является ли / var / log файлом или каталогом? А как насчет / var / spool?
Код:
Both are directories.
13. Откройте две командные строки (Ctrl-Shift-T в gnome-терминал) или терминалы (Ctrl-Alt-F1, Ctrl-Alt-F2, ...) и введите «Кто я» в обоих. Затем попробуйте передать слово из одного терминала в другой.
Код:
tty-terminal: echo Hello > /dev/tty1
pts-terminal: echo Hello > /dev/pts/1
14. Прочтите man-страницу random и объясните разницу между / dev / random и / dev / urandom.
Код:
man 4 random
Предыдущая: Linux - Работа с содержимым файлов
Далее: Linux команды и аргументы
Новый контент: Composer: менеджер зависимостей для PHP , R программирования